首页 理论教育 操作系统原理:存储器管理主要功能

操作系统原理:存储器管理主要功能

时间:2023-10-17 理论教育 版权反馈
【摘要】:存储器管理是操作系统内核的重要组成部分,就多任务系统而言,其目标在于程序编译时地址独立,多道程序共享内存,互不干扰,充分提高内存的利用率,功能主要包括内存分配、地址映射、内存扩充和内存保护等。

操作系统原理:存储器管理主要功能

存储器管理是操作系统内核的重要组成部分,就多任务系统而言,其目标在于程序编译时地址独立,多道程序共享内存,互不干扰,充分提高内存的利用率,功能主要包括内存分配、地址映射、内存扩充和内存保护等。

1.内存分配

多任务系统环境中,进程创建需要向操作系统提出内存分配申请,用于存储程序指令和数据。作为操作系统,必须实时记录内存的使用情况,包含空闲空间和占用空间使用情况。内存分配就是操作系统从空闲空间中划分出适当的空间给进程的过程,该过程决定了多道程序如何共享内存。根据程序占用内存空间是否连续,可以将内存分配分为连续内存分配(给程序分配一块连续的内存空间以存储程序的所有指令和数据)和离散内存分配(以页或段为单位给程序分配内存空间,页或段不必是连续的)。

2.地址映射

内存由顺序编址的存储单元(通常为字或字节)组成,每个存储单元都有一个与之对应的地址,通常将该地址称为内存物理地址,或者物理地址。内存物理地址与计算机体系结构息息相关,由处理器地址引脚与存储器地址信号线的连接方式决定,对于32位计算机来说由32位无符号整数表示。高级语言源程序汇编语言源程序经过编译,转变为可以识别的指令或数据,这些指令或数据参照于一个假想的地址空间,程序中的数据传送、转移等指令均使用这个假想的地址,通常将该假想地址称为程序逻辑地址,或者逻辑地址。内存物理地址和程序逻辑地址是两个不同的概念,若要程序在具体的计算机上运行,必须将程序逻辑地址转换为内存物理地址,才可以依次正确执行程序中的指令。(www.xing528.com)

3.内存扩充

尽管现代计算机内存空间已经有了很大发展,以GB为单位,但相对于更加庞大复杂的系统和应用程序而言,内存仍显得非常珍贵。当有一个比内存容量还要大的程序要运行时,或者同时在内存要运行更多的程序时,就需要操作系统利用外存对内存容量进行伪扩充,将内存中暂时不用的程序临时转移到外存上,利用软件技术使外存作为内存的后备存储空间。这个过程与硬件上扩充内存容量不同,对用户来说,应该是透明的。

4.内存保护

在多任务系统环境中,多个进程共享内存,为了避免进程间侵犯领地,尤其是为了防止用户进程侵犯系统进程占用的内存空间,必须采用内存保护措施。内存保护功能一般由硬件和软件配合实现,例如,Intel 80×86微处理器,当地当前特权级(Current Privilege Level,CPL)为0时,即在内核态,才可以访问段描述符特权级(Descriptor Privilege Level,DPL)为0的段;同样,当处于内核态时,才能对User/Supervisor标志为0的页面或页表进行访问。当要访问内存某一单元时,应由硬件检查是否允许访问,若允许则执行;否则,产生中断,转由操作系统进行相应的处理。另外,不同内存区域访问权限也不相同,例如,Intel 80×86微处理器,段的访问权限可以是读、写、执行,页的访问权限只可以是读或写。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈