操作系统知识盘点(四)(内存技术)

爱宝8800盘点机驱动安装与维护指南 本文还有配套的精品资源,点击获取 简介:爱宝8800盘点机驱动程序是连接设备与计算机系统的关键软件,确保设备能被电脑正确识别并进行数据传输。本文将指导您如何下载、安装、测试及维护爱宝8800盘点机驱动,以实现高效的库存管理。 1. 爱宝8800盘点机驱动简介 简介 爱宝8800盘点机是众多仓库管理与物流跟踪场景中的重要设备,其高效的条码扫描与数据处理能... 阅读详情

  22、内存管理概述

(1)内存管理的功能

内存管理的主要任务是为多道程序的运行提供良好的环境,方便用户使用存储器,提高存储器的利用率以及从逻辑上扩充存储器。为此存储管理应具有以下功能:

  • 内存的分配与回收 由操作系统完成内存空间的分配和管理,是程序设计人员摆脱存储空间分配的麻烦,提高编程效率。为此,系统应记住内存空间的使用情况;实施内存的分配:回收系统或用户释放的内存空间
  • 地址变换 再多道程序环境下,程序中的逻辑地址与内存中的物理地址可能不一致,因此存储管理必须提供地址变换功能,将逻辑地址转换为物理地址
  • 扩充内存 借助于虚拟存储技术或其他自动覆盖技术,为用户提供比内存空间大的地址空间,从而实现从逻辑上扩充内存容量的目的。
  • 存储保护 保证进入内存的各道作业都在自己的存储空间内运行,互不干扰。既要防止一道作业由于发生错误而破坏其他作业,也要防止破坏系统程序。这种保护一般由硬件和软件配合完成

(2)应用程序的编译、链接与装入

应用程序从用户编写的源文件到内存中执行的进程,大致分为三个阶段:经过编译程序compiler将源代码编译为若干个目标模块,再通过连接程序将编译好的目标模块以及所需的库函数连接到一起,形成完整的装入模块,最后通过装入程序将这些装入模块装入内存并执行。简单来说,从源程序到执行的进程,经历了编译、链接、装入三个步骤

对程序设计者来说,数据的存放地址由数据名称决定,称为名地址或符号名地址,源程序的地址空间因此称为名空间或符号名空间,源程序经过编译之后得到目标代码,由于编译程序无法得知代码驻留在内存中的实际位置,故一般总是从0号单元开始编址,并顺序分配所有地址单元,这些都不是真实的内存地址,因此称为相对地址或者虚拟地址

一个完整的程序可以由多个模块构成,这些模块都是由0号单元开始编址。当链接程序将多个模块链接为装入模块时,连接程序会按照各个模块的相对地址将其地址构成统一的从0号单元开始编址的相对地址

当转入程序将可执行代码装入内存中时,程序的逻辑地址与程序在内存中的实际地址(物理地址)通常不同,这就需要通过地址转换将逻辑地址转换为物理地址,这个过程叫做定位。

程序的链接由三种方式:

  • 静态链接 在程序运行之前,先把各个目标模块及所需库链接为一个完整的可执行程序,以后不在拆开
  • 装入时动态链接 将应用程序编译后所得到的一组目标模块在装入内存时采用边装入边链接的链接方式
  • 运行时动态链接 直到程序运行过程中需要一些模块时,才对这些模块进行链接。这种链接方式将对某些模块的链接推迟到执行时才执行,也就是说,在执行过程中,当发现一个被调用模块尚未装入内存时,立即去找到该模块并将之装入内存,把它链接到调用者模块上。凡在执行过程中未被用到的目标模块,都不会被调入内存和被连接到装入模块上,这样不仅可加快程序的装入过程,而且可以提节省大量的内存空间,便于修改和更新,便于实现对目标模块的共享。

程序的装入同样也有三种方式。

  • 绝对装入 在编译时就知道程序将要驻留在内存的物理地址,编译程序产生含有物理地址的目标代码,不适合多道程序设计
  • 可重定位装入 根据内存当前情况,将装入模块装入到内存的适当位置,地址变换通常再装入时一次完成,之后不再改变,这种方式也成为静态重定位,静态重定位的实现很简单,当操作系统为程序分配了一个以某地址为起始地址的连续主存区域后,重定位时将程序中指令或操作数的逻辑地址加上这个起始地址就得到了物理地址
  • 动态运行装入 允许程序运行时在内存中移动位置,把装入模块装入到内存后的所有地址都是相对地址,在程序执行过程中每当访问到相应指令或数据时,才将要访问的程序或数据的相对地址转换为物理地址。由于重定位过程是在程序执行期间随着指令的执行逐步完成的因此也成为动态重定位。动态重定位的实现要依靠硬件地址的变换机构。最简单的实现方法是利用一个重定位寄存器。当某个作业开始执行时,操作系统负责把该作业在主存中的起始地址送入重定位寄存器中,之后在作业的整个执行过程中,每当访问内存时,系统自动将重定位寄存器的内容加到逻辑地址中区,从而得到了与该逻辑地址对应的物理地址

静态重定位的特点是容易实现,无需增加硬件地址变换机构。但他要求为每个程序分配一个连续的存储区,如果空间不足以放下整个程序就不能分配,而且在程序执行期间不能移动,不能再申请内存空间,难以做到程序与数据的共享

动态重定位的特点是可以将程序分配到不连续的存储区中;在程序运行之前装入它的部分代码即可投入运行,然后在程序运行期间根据需要动态申请分配内存;便于程序段的共享;可以像用户提供一个比主存的存储空间大得多的地址空间、但动态重定位需要附加硬件支持,且实现存储管理的软件算法比较复杂。

在重定位中通常会设置一个重定位寄存器,用来存放进程分配的内存空间的地址,该寄存器也成为基址寄存器。当CPU需要访问内存时,将逻辑地址转化为物理地址,转化公式为:

物理地址=基址寄存器内容+逻辑地址

(3)物理地址和逻辑地址

源代码在经过编译后,目标程序中所用的地址就是逻辑地址,而逻辑地址的范围内即使逻辑地址空间。在编译程序对源代码进行编译时,总是从0号单元开始编址,地址空间中的地址都是相对于0开始的,因此逻辑地址也叫做相对地址。在系统中运行的多个进程可能会有相同的逻辑地址,但这些逻辑地址映射到物理地址上就变成了不同的位置

物理地址空间是指内存中物理地址单元的集合,而物理地址是逻辑地址转换得到的最终地址。进程在运行过程中需要访问存取指令或数据时,都是根据物理地址从主存中获得。物理地址对于一般的用户来说是完全透明的,用户只需要关心程序的逻辑地址就可以了。从逻辑地址到物理地址的转化过程是由硬件自动完成,这个转换过程叫做地址重定位

(4)内存保护

内存保护是为了防止一个作业有意或无意地破坏操作系统或其他作业。常用的存储保护方法由界限寄存器方法和存储保护键方法

  • 界限寄存器方法 采用界限寄存器方法实现存储保护又有两种实现方式

上下界寄存器方法。采用上、下界寄存器分别存放作业的结束地址和开始地址。在作业运行过程中,将每一个访问内存的地址都同这两个寄存器内容进行比较。如超出范围便产生保护性中断

基址、限长寄存器方法 采用基址和限长寄存器分别存放作业的起始地址及作业的地址空间长度。当作业执行时,将每一个访问内存的相对地址和现场寄存器比较,如果超过了限长寄存器的值,则发出越界中断信号,并停止作业的运行

  • 存储保护键方法 存储保护键方法是给每个存储块分配一个单独的保护键,它相当于一把锁。存储块不同于分区,一个分区由若干存储块组成,每个存储块大小相同,一个分区的大小必须是存储块的整数倍。此外,进入系统的每个作业也赋予了一个保护键,相当于一把钥匙。当作业运行时,检查钥匙和锁是否匹配,如果二者不匹配,则系统发出保护性中断信号,停止作业运行

 

23、交换与覆盖

(1)覆盖(overlay)技术

覆盖技术主要用在早期的操作系统中,因为在早期的单用户系统中内存的容量一般很小,可用的存储空间收受到限制,某些大作业不能一次装入内存中,这就发生了大作业与小内存的矛盾,为此引入覆盖技术

所谓覆盖技术,就是把一个大的程序划分为一系列覆盖,每个覆盖是一个相对独立的程序单位,把程序执行时并不要求同时装入内存的覆盖组成一组,称为覆盖段,这个覆盖段分配到同一个存储区域,这个存储区域称为覆盖区,他与覆盖段一一对应。显然,为了使一个覆盖区能被相应覆盖段中的每个覆盖在不同时刻共享,其大小应由覆盖段中的最大覆盖来确定。覆盖技术对程序员的要求较高,必须把一个程序划分为不同的程序段,并规定好执行和覆盖顺序,操作系统根据程序员提供的覆盖结构来完成程序段之间的覆盖。

覆盖技术的特点时打破了必须将一个进程的全部信息装入内存后才能运行的限制。但当同时执行程序的代码两超过贮存时,仍然不能运行

(2)交换(Swapping)技术

交换技术就是把暂时不用的某个程序及数据部分(或全部)从内存移到外存中,一边腾出必要的内存空间;或把指定的程序或数据从外村督导相应的内存中,并将控制权转给她,让其在系统上运行的一种内存扩充技术。处理器三级调度就是采用了交换技术

交换技术最早在麻省理工大学的兼容分时系统CTSS中,任何时刻在该系统的内存中只有一个完整的用户作业,当其运行一段时间后,或由于需要其他资源而等待,系统就把他交换到外存上,同时把另一个作业调入内存运行。这样,可以在存储容量不大的小型机上实现分时运行,早期的一些分时系统大多采用这种交换技术

与覆盖即使相比,交换技术不要求程序员给出程序段之间的覆盖结构,而且交换主要是在进程或作业之间进行;而覆盖则主要在同一个作业或进程中进行。另外,覆盖技术只能覆盖与覆盖程序段无关的程序段。交换进程由换出和换入两个过程组成,由于覆盖技术要求给出程序段之间的覆盖结构,使得对用户不透明,所以对于贮存无法存放用户程序的矛盾,现代操作系统是通过虚拟内存技术解决的,覆盖技术已经成为历史;而交换技术在现代操作系统中仍然由较强的生命力。

 

24、连续分配管理方式

(1)单一连续分配

单一连续分配是一种简单的存储管理方式,通常只能用于单用户、单任务的操作系统中。这种存储管理方式将内存分为两个连续存储区域,其中的一个存储区域固定地分配给操作系统使用,通常放在内存低址部分,另一个存储区域给用户作业使用。通常,用户作业只占有所有分配空间的一部分,剩下的一部分实际上浪费掉了。

单一连续分配方式采用静态分配,适合单道程序,可采用覆盖技术。作业一旦进入内存,就要等到其结束后才能释放内存。因此,这种分配方式不支持虚拟存储器的实现,无法实现多道程序共享主存。

单一连续分配方式的优点时管理简单,只要很少的软件和硬件支持,且便于用户了解和使用。缺点是只能用于单用户、单任务的操作系统中,内存中只装入一道作业运行,从而导致各类资源的利用率都很低

单一连续分配会产生内部碎片

(2)固定分区分配

固定分区分配方法时最早使用的一种可运行多道程序的存储管理方法,他将内存空间划分为若干个固定分区大小的分区,每个分区中可以装入一道程序。分区的大小可以不等,但是先必须确定,在运行时不能改变。当有空闲分区时,便从后备队列中选择一个适当大小的作业装入运行

固定分区分配中,程序通常采用静态重定位方式装入内存。

为了实现固定分区分配,系统需要建立一张分区说明表,已记录可用于分配的分区号,分区的大小、分区的起始地址及状态,通常按照分区大小顺序排序

当某个用户程序要装入内存时,由内存分配程序检索分区说明表,从表中找出一个能满足要求的尚未分配的分区分配给该程序,然后修改分区说明表中相应分区表项的状态;若找不到大小足够的分区,管理程序只需将对应分区的状态置为未分配即可

固定分区分配的优点时可用于多道程序系统最简单的存储分配,缺点时不能实现多进程共享一个主存区,利用率较低,会产生内部碎片

(3)动态分区分配

动态分区分配是一种动态划分存储器的分区方法。这种分配方法并不事先将主存划分成一块块的分区,而是在作业进入主存时,根据作业的大小动态的建立分区,并使分区的大小正好满足作业的需要。因此,系统中分区的大小时可变的,分区的数目也是可变的

1)分区分配的数据结构

为了实现动态分区分配,系统中也必须设置相应的数据结构来记录内存的使用情况。常用的数据结构形式有:

空闲分区表:设置一个空闲分区表来登记系统中的空闲分区,每个空闲分区对应一个表项,每个表项包含分区号、起始地址、大小及状态

空闲分区链:用链头指针将内存中的空闲分区链接起来,构成空闲分区链

2)分区分配算法

为了将一个作业装入内存,应按照一定的分配算法从空闲分区表(或空闲分区链)中选出一个满足作业需求的分区分配给作业。如果这个空闲分区的容量比作业申请的空间容量要大,则该分区的一部分分配给作业,剩下的一部分仍然留在空闲分区表(或空闲分区链)中,同时需要对空闲分区表(或空闲分区链)中的有关信息进行修改。目前常用的分配算法有以下四种:
a)首次适应算法(FF)把空闲分区按照地址递增用链表传承一个队列,每次需要为一个进程分配内存的时候都从队首开始找,顺着链表直到找到足够大的空闲分区,绕后按照作业大小,从该分区划分出一块内存空间分配给请求者,余下的空闲分区仍然留在空闲分区(或空闲分区链)中。如果从头到尾都不存在符合条件的分区,则分配失败。

优点:优先利用内存低地址部分的空闲分区,从而保留了高地址部分的大的空闲分区,无内部碎片

缺点:由于低地址部分被不断划分,致使低地址端留下许多难以利用的很小的空闲分区(外部碎片),而每次查找又都是从低地址部分开始的,这无疑增加了查找可用空闲分区的开销

b)循环首次适应算法(NF):又称下次适应算法。在首次适应算法的基础上把队列改成循环队列(依然是将空闲分区按照地址递增的顺序排列、而且也不是每次从队首开始找空闲分区,而是从上次找到的空闲分区的下一个分区开始找)

优点:这样空闲分区的分布更加均匀,减少了查找空闲分区的开销

缺点:导致缺乏大的空闲分区

c)最佳适应算法(BF):要求空闲分区按照容量大小递增的次序排列。每次为作业分配内存空间时,总是将能满足空间大小需要最小的空闲分区给作业。可以产生最下的内存空闲分区

优点:这种方法总能分配给作业最恰当的分区,保留大的分区

缺点:导致产生很多难以利用的碎片空间

d)最差适应算法(WF):要求空闲分区按照容量大小递减的次序排列。每次为作业分配内存空间时,总是将满足要求且最大的内存空间分配给作业

优点:这样使分给作业后剩下的空闲分区比较大,可以装下其他作业

缺点:由于最大的空闲分区总是因首先分配而划分,当有大作业到来时,其存储空间的申请会得不到满足

3)分区的回收

当作业执行结束时,应回收已使用完毕的分区。系统根据回收分区的大小及首地址,在空闲分区表(或空闲分区链)中检查是否有相邻的空闲分区,如果有相邻空闲分区,则合并成一个大的空闲区,然后修改有关的分区状态信息。回收分区与已有空闲分区的相邻情况有以下四种:

回收区上邻接一个空闲分区:此时应将回收区与上邻接分区合并成一个连续的空闲分区,合并分区的首地址为空闲分区的首地址,其大小为二者之和

回收区下邻接一个空闲分区:此时应将回收区与下邻接分区合并成一个连续的空闲分区,合并分区的首地址为回收区的首地址,其大小为二者之和

回收区上、下邻接空闲分区:此时应将回收区与上、下邻接分区合并成一个连续的空闲分区,合并分区的首地址为上空闲分区的首地址,其大小为三者之和

回收区不与任何空闲分区相邻:这时单独建立表项,填写分区大小及地址等信息,加入空闲分区表(或空闲分区链)的适当位置

4)分区分配的动态管理

在分区存储管理方式中,必须把作业装入到一片连续的内存空间中,如果系统中有若干小的分区,其总容量大于要装入的作业,但由于它们不相邻接,只是作业不能装入内存。例如,内存中有四个空闲分区不相邻接,大小为20KB、30KB、15KB、25KB,总大小为90KB,但如果有一个40KB的作业到达,由于系统中所有空闲分区分配进行动态管理,目前主要有两种分区重定位技术

a)拼接技术。所谓碎片,是指内存中无法被利用的存储空间。在分区存储管理方式下,系统运行一段时间后,内存中的碎片会占据相当数量的空间。根据碎片出现的情况,可以将碎片分为内部碎片和外部碎片。内部碎片是指分配给作业的存储空间中的未被利用的部分,外部碎片是指系统中无法利用的小存储块。如固定分区分配中存在内部碎片,而动态分区分配中存在外部碎片

解决碎片的方法之一是将存储器中所有已分配分区移动到主存的一端,使本来分散的多个小空闲区连接成一个大的空闲区。这种通过移动把多个分散的小分区拼接成一个大分区的方法称为拼接或紧凑,也可称为紧缩

除了有怎样进行拼接的技术问题之外,拼接技术的实现还存在一个拼接时机的问题,这个问题有两种解决方案:

第一种方案是在某个分区回收时立即进行拼接,这样在主存中总是只有一个连续的空闲区,但拼接很费时间,拼接频率过高会使系统开销加大

第二种方案是当找不到足够大的空闲分区且总容量可以满足作业要求时进行拼接。这样拼接的频率比上一种方案要小得多,但空闲分区的管理稍微复杂一些

b)动态重定位分区分配技术。动态重定位分区分配算法与动态分区分配算法基本相同,差别仅在于:在这种分配算法中增加了拼接功能,通常是在找不到足够大的空闲分区来满足作业要求,而系统中空闲分区容量总和大于作业要求时,进行拼接

5)动态分配的优缺点

优点:实现了多道程序共用主存;管理方案相对简单、不需要更多开销;实现存储保护的手段比较简单

缺点:主存利用不够充分,存在外部碎片;无法实现多进程共享存储信息;无法实现主存额扩充。进程地址空间受实际存储空间的限制

(4)内部碎片与外部碎片

内存碎片分为内部碎片和外部碎片。前面也提到过,在分配给进程的分区中的未被利用的碎片称为内部碎片,而系统中剩余的无法利用的小块存储空间称为外部碎片

一个简单区分两种碎片的方法就是看分配过程中分区大小是否固定。在固定分区的情况下,产生的碎片称为内部碎片(例如在分页存储管理中,末尾页可能无法填满,造成剩余的空间叫做内部碎片;)在非固定分区的请款啊阁下,可能在分配的过程中伤愈的最后一点小空间无法满足任何分配需求,导致浪费,这种碎片就称为外部碎片(例如在分段存储管理中,如果内存为5K,程序需要4K,则分配之后会剩余1K的无法利用空间,这个就是外部碎片)

注意:固定分区即为内部碎片,非固定分区则为外部碎片,如果固定分区和布不固定分区同时存在(如段页式),则看成固定分区

 

【Bug已解决】codex: debug 模式无输出 — CodeX CLI 调试模式不工作解决方案 CodeX CLI 开启 debug 模式后无输出/日志不打印的解决方案,含 debug 开关、日志级别、stderr 重定向与 IDE 日志面板。 阅读详情

相关推荐

基于相位检测与锁相环的DIY超声波风速仪设计与实现

相位检测是信号处理中的一项基础技术,它通过测量两个周期信号之间的相位差来获取信息。其核心原理在于,当信号在介质中传播时,外部因素(如风速)会改变其传播速度,从而导致接收端信号的相位发生偏移。锁相环(PLL)是实现高精度相位检测的关键电路,它能动态调整本地振荡器的频率,以跟踪并锁定输入信号的相位,从而将微小的相位变化转换为易于测量的电压信号。这项技术的工程价值在于其对电路精度要求相对较低,鲁棒性好,非常适合低成本、高灵敏度的测量应用。在气象监测、工业传感和消费电子等领域,相位检测技术被广泛用于风速风向测量、位

weixin_29540599的博客 385

内存保护两种方式:上下限寄存器和基址、限长寄存器

操作系统

weixin_52634719的博客 2872

物理学建模及仿真平台Chrono安装

Chrono是一个基于物理学的建模和仿真基础设施,它是在C++中实现的独立于平台的开源设计。一个projectchrono库可以嵌入到一个软件项目中,例如在可变形地形上运行的轮式和履带式车辆、机器人、机械电子系统、顺应性机构和流体固体相互作用现象。系统可以由刚性和柔性/顺应性部件组成,并带有约束、电机和接触;部件可以具有三维形状,以便进行碰撞检测。然而安装还是出现了一些问题,所以在此总结。已经装好visual studio。

Already8888的博客 6500

《操作系统导论》 知识总结 第15章 机制:地址转换

实现 CPU 虚拟化时,我们遵循的一般准则被称为受限直接访问(Limited Direct Execution,LDE)。即让程序运行的大部分指令直接访问硬件,只在一些关键点(如进程发起系统调用或发生时钟中断)由操作系统介入来确保“在正确时间,正确的地点,做正确的事”。 高效和控制是现代操作系统的两个主要目标。 为了高效地实现内存虚拟化,并提供应用程序所需的灵活性,我们利用基于硬件的地址转换技术。通过该技术,硬件对每次内存访问进行处理(即指令获取、数据读取或写入),将指令中的虚拟地址转换为数据实际存储的物理

jzb的博客 1985

用STM32定时器PWM高级功能驱动步进电机:F103C8T6+TB6600实战教程

本文详细介绍了如何利用STM32F103C8T6微控制器的定时器PWM高级功能驱动TB6600步进电机驱动器,实现高效、灵活的运动控制方案。通过硬件配置、PWM参数计算、运动控制算法及TB6600高级功能应用的全面解析,为工业自动化和精密控制领域提供了实用的技术参考。

game4的博客 185

【VS Code+Verilog+Vivado使用】(1)常用插件

VS Code + Verilog + Vivado联合使用说明

XDUryan的博客 5635

操作系统第六章:内存管理

1 内存管理概述 1.1 存储器的层次结构 目前,计算机系统均采用层次结构的存储系统,以便在容量、速度和价格等因素中取得平衡点,获得较好的性能价格比。 计算机系统中的存储器可以分为寄存器、高速缓冲存储器、内存储器、磁盘缓冲存储器、固定磁盘、可移动存储介质等6层。 1.2 存储管理任务 操作系统须占用内存一部分存储空间存放自身的程序、数据、管理信息以及与硬件接口信息等,一般称这部分内存空间为系...

欢迎来到关关雎鸠儿的博客 1426

用Python玩转农业大数据:从Landsat遥感影像到作物产量预测实战教程

本文详细介绍了如何利用Python处理Landsat遥感影像数据,并结合土壤信息构建作物产量预测模型。从环境搭建、数据预处理到模型训练与可视化,提供了一套完整的农业大数据分析实战方案,帮助读者掌握遥感影像处理和机器学习在精准农业中的应用。

weixin_30832143的博客 397

内存管理测试题

1、设有3个起始地址都是0的目标模块A、B、C,长度依次为L、M、N,这3个模块按A、B、C顺序采用静连接方式连接在一起后,模块C的起始地址变为()。 A.L+M+N B.L+M C.L+M-1 D.L+M 2、在可变分区分配管理中,某一作业完成后,系统收回其内存空间,并与相邻空闲区合并,为此修改空闲区说明表,造成空闲分区数减l的情况是( )。 A.没有上邻接空闲分区,也没有下邻接空闲分区 B.有上邻接空闲分区,但没有下邻接空闲分区 C.有下邻接空闲分区,但没有上邻接空闲分区 D.有上邻接空闲分区,也有下

weixin_44040023的博客 2633

绿米Aqara S1【妙控开关 S1E】版本降级或升级自定义固件的方法

绿米Aqara S1【妙控开关 S1E】版本降级或升级自定义固件的方法

LeeKwen的专栏 2169

Echarts - 去掉图表上的横线和竖线

效果图 默认效果: 变为如下图所示效果: 实现方法 官方配置文档:https://echarts.apache.org/zh/option.html#radar.splitLine 在 xAxis yAxis 配置中分别加入以下代码: splitLine: { show:false }

🏆 前端领域优质创作者 1万+

连续分配方式 --(单一连续/固定分区)

1、连续分配方式 连续分配方式:为一个用户程序分配一个连续的内存空间。 连续分配方式进一步分为:单一连续分配、固定分区分配、动态分区分配以及动态重定位分区分配。 2、单一连续分配 最简单的一种存储管理方式,但只能用于单用户、单任务的操作系统中。 采用这种存储管理方式时,可把内存分为系统区和用户区两部分,系统区仅提供给OS使用,通常是放在内存的低址部分; 用户区是指除系统区以外的全部内存

dongyanxia1000的专栏 1万+

windows下宝塔安装教程

windows下宝塔安装教程 目录宝塔是什么?宝塔安装流程1.下载2.配置3.登录4.安装的环境套件小结 宝塔是什么? 宝塔是管理服务器的免费的软件,宝塔上面可以进行对你的服务器批量进行管理,对于运维人员来说还是必不可少的一个软件,值得使用。 宝塔安装流程 1.下载 链接: https://download.bt.cn/win/panel/BtSoft.zip 下载后安装买最好自定义目录,方便找 2.配置 下载完成后会出现这个页面,对着页面进行配置 点击默认密码复制进来,这里注意一点就是一定要查看

你在看屏幕的同时,屏幕也在注视着你 4421

操作系统面试知识大盘点

前言 这篇文章南国根据自己的理解 写一篇在互联网公司面试中操作系统常问的知识点。本篇博客许多内容都是在前人的基础上进行的总结和概括,所以这篇博客 南国还是那他归纳为转载。干货很多,马上到~ 1.基本概念 1.1 并行和并发 这个概念在之前的博客中,我也讲过多次了。之类再做个简单的概述。 并发是指宏观上在一段时间内能同时运行多个程序(按时间片交叉运行),而并行则指同一时刻能运行多个指令。 并行需要硬...

南国的技术栈 852

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

操作系统知识盘点(五)(内存管理方式以及其他)

25、非连续分配管理方式 (1)基本分页存储管理方式 在分区存储管理中,要把作业放在一个连续的存储区中,因而会产生碎片问题(外部碎片)。尽管通过拼接方式可以解决碎片问题,但代价较高。如果允许将一个作业存放到许多不相邻接的分区中,那么就可以避免拼接,,从而有效解决外部碎片问题。基于这一思想引入了分页存储管理(或称页式存储管理)技术 1)分页管理 在分页存储管理中,用户作业的地址空间被划分称若...

fa1lr4in的小博客 4999

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

一文带你快速过一遍操作系统的知识点 #yyds干货盘点#

前言 操作系统的作用不可言喻,几乎成为校招面试必问知识点之一。为什么呢?只要你在这个互联网世界,自然都离不开操作系统,Win、Mac、Linux、Android、IOS你应该都不陌生吧....操作系统在如今这个世界充当的就是基石的作用,连接计算机底层硬件与上层应用软件的桥梁,控制其他程序的运行,并且管理系统的相关资源,同...

宇宙之一粟的技术漂泊之旅 439

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

盘点面试必备知识点——操作系统

一. 页面置换算法 当缺页中断发生时,需要调入新的页面而内存已满时,此时就需要用到页面置换算法选择出一个合适的页面(不再使用的或短期内不会被使用的页面)进行置换,来尽可能的减少页面的换进换出次数。 1.最优页面置换算法(OPT) 当一个缺页中断发生时,对于保存在内存中的每一个逻辑页面,计算在它的下一次访问之前,还需等待多长时间,从中选择时间最长的那个,作为被置...

innocence的博客 823

2025年国产安全实时操作系统盘点

望获实时Linux是一款具有高实时性和高可靠性的操作系统,其基于Linux内核进行深度优化与定制,以满足特定工业场景的需求。望获实时Linux支持微秒级响应,这一特性使其在对时间精度要求极高的工业自动化生产线中能够精准控制设备的运行节奏,确保生产过程的高效与稳定。在功能安全认证方面,望获实时Linux已通过ISO 26262 ASIL B认证。ISO 26262 是国际认可的汽车功能安全标准,该标准涵盖汽车产品的全生命周期,从概念阶段到生产、运维等各个环节,对产品的功能安全性进行严格评估。

2401_84364741的博客 2589

操作系统是介于计算机硬件和用户之间的接口,计算机操作系统知识盘点

计算机操作系统知识盘点操作系统是由指挥与管理计算机系统运行的程序模板和数据结构组成的一种大型软件系统,其功能是管理计算机的硬件资源和软件资源,为用户提供高效、周到的服务。下面是小编分享的计算机操作系统知识盘点,一起来看一下吧。《系统之组成》1、计算机系统:它是一复杂的系统,一个完整计算机都是由硬件和软件两大部分组成2、计算机硬件:指系统中所有能被看到的实际物理装置的总称。如机箱、键盘、鼠标、显示器...

weixin_33724264的博客 7280

操作系统知识盘点(一)(进程与线程相关概念)

前言:在计算机操作系统中,进程是资源分配的基本单位,也是独立运行的基本单位 1、进程的定义 进程是程序在处理器上的一次执行过程 进程是可以和别的进程并行执行的计算 进程是程序在一个数据集合上的运行过程,是系统进行资源分配和调度的一个独立的单位 进程可定义为一个数据结构及能在其上操作的一个程序 进程是一个程序关于某个数据集合在处理器上顺序执行所发生的活动。 上述这些描述从不同角度对进程...

fa1lr4in的小博客 894

操作系统基本知识盘点

【定义】无公认精确定义操作系统是管理硬件资源、控制程序运行、改善人机界面和为系统软件提供支持的一种系统软件。操作系统是一个控制程序。

2403_88143188的博客 201

盘点那些常见的嵌入式开发平台(2):主流实时操作系统类

嵌入式实时操作系统是一种专门设计用于处理实时应用的操作系统。它们具备实时性、多任务管理、可裁剪性、中断处理能力强、可靠性高和占用资源少等特点。在航空航天、通信、工业自动化、医疗设备等领域,RTOS的应用尤为广泛。

byte轻骑兵的技术小窝 1万+

操作系统学习资源清单:Operating_System项目视频+笔记+面试题全面盘点

操作系统学习资源去哪里找?这是很多新手入门计算机基础时遇到的第一个难题。**Operating_System 项目正是为解决这个问题而生**:它把散落在网络各处的操作系统视频教程、课堂笔记和面试题精心整理成一份学习清单,让你无需四处拼凑,一次就能获得完整的资料。无论你是准备期末考试、考研复习,还是冲刺大厂面试,这份免费的开源操作系统学习资源清单都值得收藏,而且只需一条命令即可克隆到本地,离线也能随

gitblog_00995的博客 384

盘点操作系统之第一章 操作系统引论

第一章 操作系统引论1.1 操作系统的定义1.1.1 资源管理的观点1.1.2 用户的观点(扩展机器的观点)1.2 操作系统的产生和发展1.2.1 第一代计算机没有操作系统1.2.2 第二代计算机没有监控系统1.2.3 第三代计算机操作系统得到极大的发展1.2.4 第四代计算机操作系统向多元化方向发展1.3 操作系统的特征1.4 操作系统的功能1.4.1 进程管理1.4.2 存储管理1.4.3 设...

想去见见你的博客 664

盘点2020吃香的Android知识点,为你在即来的金三银四助力一把,Android程序员看后都拍手叫好

春节眨眼就过去了,对于程序员来说马上就要迎来我们的年后金三银四跳槽季了,不知大家是否做好了充足的准备呢! 今日我们来对2020比较吃香的Android知识点做个总结盘点,这些知识点一经放出,已助多位朋友收到大厂offer。 目录: 1.网络 2.Java 基础&容器&同步&设计模式 3.Java 虚拟机&内存结构&GC&类加载&四种引用&动态代理 4.Android 基础&性能优化&Framwork 5.Android 模块化

Android 开发架构 876

操作系统内存泄漏的回归测试策略

内存泄漏是操作系统和应用程序的“慢性毒药”:它不会立刻导致系统崩溃,但会随着时间推移逐渐耗尽内存资源,最终引发卡顿、死机甚至数据丢失。本文聚焦“操作系统级别的内存泄漏”,覆盖从概念理解到测试策略设计的全流程,帮助读者掌握如何通过回归测试(即“版本迭代后的重复测试”)有效发现和预防这类问题。本文将按照“概念→关系→策略→实战”的逻辑展开:先通过生活案例理解内存泄漏和回归测试;再拆解两者的关联;接着详细讲解测试策略的设计步骤;最后用实际项目案例演示如何落地。内存泄漏:程序分配内存后未释放,导致内存逐渐耗尽;

操作系统内核探秘的博客 998
上一篇: 操作系统知识盘点(三)(死锁相关)
下一篇: 操作系统知识盘点(五)(内存管理方式以及其他)
fa1lr4in
博客等级 码龄9年 64粉丝 79原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值