系统架构师学习笔记-操作系统(三)

目录

 

 

存储管理

地址变换机构

分页和分段的主要区别

段页式存储管理

页面置换算法

作业管理


 

存储管理

段表:为使程序正常运行,须在系统中为每个进程建立一张段映射表,简称“段表”。每个段在表中占有一个表项。

段表结构:段号;段在内存中的起始地址(基址);段长。

段表可以存放在寄存器中,但更多的是存放在内存中。段表用于实现从逻辑段到物理内存区的映射。

 

地址变换机构

在系统中设置段表寄存器,用于存放段表始址和段表长度,以实现从进程的逻辑地址到物理地址的变换。当段表存放在内存中时,每访问一个数据,都需访问两次内存,降低了计算机的速率。

 

分段系统的地址变换机构:如下图所示:

系统架构师学习笔记-操作系统(三)_第1张图片

解析:首先是看逻辑地址的段号S,他通过控制寄存器来查找段号(如果段号s太大则会越界中断),找到段号在段表的位置,这时看他对应的基址,找到机制后,再看位移量w的值(也就是偏移地址),这时就可以在主存(内存)中找到数据!

 

分页和分段的主要区别

相似点:采用离散分配方式,通过地址映射机构实现地址变换。

不同点:

1. 页是信息的物理单位,分页是为了满足系统的需要;段是信息的逻辑单位,含有意义相对完整的信息,是为了满足用户的需要。

2.页的大小固定且由系统确定,由系统把逻辑地址分为页号和页内地址,由机器硬件实现;段的长度不固定,取决于用户程序,编译程序对源程序编译时根据信息的性质划分。

3. 分页的作业地址空间是一维的;分段的作业地址空间是二维的。

 

段页式存储管理

分段和分页存储管理方式各有优缺点。把两者结合成一种新的存储管理方式--段页式存储管理方式,具有两者的长处。

1. 基本原理
先将用户程序分成若干段,再把每个段分成若干页,并为每个段赋予一个段名。

基本段页式存储管理:把作业的所有段装入内存方可运行。
请求段页式存储管理:没必要把整个作业装入内存,可把作业的几段或几页装入内存即可运行。
段页式系统地址结构:段号;段内页号;页内地址

 

段页式系统的地址变换机构如下图所示:

系统架构师学习笔记-操作系统(三)_第2张图片

解析:首先是找到段号s(可能会有越界的问题),找到后,在找页号(也可能会越界)然后根据块号(这时候是物理地址了)找块内地址(也是页内地址)

 

在段页式系统中,为了获得一条指令或数据,需访问三次内存:
第一次:访问内存中的段表,取得页表始址
第二次:访问内存中的页表,取得该页所在的物理块号,将块号与页内地址形成物理地址
第三次:根据第二次所得的地址,取出指令或数据
缺点:访存次数增加两倍
解决方法:增设高速缓冲寄存器

 

页面置换算法

1.最佳置换算法;

2.先进先出置换算法;

3.最近最久未使用(LRU)算法;

 

 

作业管理

一个批处理型作业,从进入系统并驻留在外存的后备队列上开始,直至作业运行完毕,要经历提交、后备、执行和完成4个状态。

系统架构师学习笔记-操作系统(三)_第3张图片

这里要了解下360浮悬球有个内存释放的功能,他就是把就绪态和阻塞态的内存,挂起放到挂起就绪或者挂起阻塞中!

这里要注意:挂起就绪和挂起阻塞是在外存中!恢复后就是在内存中!

 

处理机调度
1.高级调度:也是作业调度
2.中级调度:把内存调往外存,把外存调回内存
3.低级调度:进程调度,去就绪到执0行

 

 

你可能感兴趣的:(软考笔记)