您的位置:首页 > 其它

进程管理

2012-07-01 11:44 113 查看
进程管理

进程的状态及转换:

  进程的基本形态有三种,即

  1) 运行态:当前进程已分配到CPU,该进程对应的程序正在处理机上执行。进程的状态和CPU的数目有直接关系,在单PU环境中,处于运行态的进程最多是一个。

  2) 就绪态:进程已具备运行条件,但未被进程调度程序选中,暂时不能运行。就绪态中的进程的数目可以有多个。在单 CPU环境中,就绪进程可以有n-1个。

  3) 阻塞态:因等待某一事件发生而暂时不能运行的状态。处于阻塞态的进程可以有多个。

进程的状态转换:

  1) 就绪→运行:就绪进程被进程调度程序选中,投入到CPU中执行。

  2) 运行→阻塞:因等待的事件未发生时,进程从运行态转入阻塞状态,在单CPU环境中,若存在n个进程,处于阻塞态的进程最多为n个,此时,虽然CPU是空闲的,阻塞进程也不能进入CPU中执行。

  3) 阻塞→就绪:阻塞进程因等待的事件已发生时,加入到就绪队列中,而不能直接进入CPU中运行。

  4) 运行→就绪:在分时系统中,运行态进程使用的时间片已经用完时,退出CPU而进入就绪态,等待下次被进程调度程序

选中进入CPU执行。

           

可重定位分区的紧缩

 当为作业5分配空间时,发现没有一个分区大小≥80K,故此时无法分配,这时要进行存储器紧缩,紧缩后,得到一134K的空闲区,故为作业5分配空间。

分页系统中的地址变换机构演示

分页存储管理的基本方法:

① 逻辑空间分页:将一个进程的逻辑地址空间划分成若干个大小相等的部分,每一部分称为页面或页。每页编号,叫页号,从0开始依次编排;

② 物理/内存空间分块:把内存页划分成与页面相同大小的若干个存储块,称内存块或页框。同样从0 开始依次排列;页面和块的大小由硬件决定,一般选择2的若干次幂。不同机器中页面大小是有区别的。

③ 逻辑地址表示:(如,页面大小为1K)

例如 给定逻辑地址A=2050,页面大小L=1024B=1K,则求页号P、页内地址d 。

l 按计算可得:

P=INT(A/L)

d=A mod L

l 计算机采用硬件拆分法:

④ 内存分配原则:系统以块为单位把内存分给作业或进程,并且逻辑上相邻的页可以分配在不相邻的内存块中。

⑤ 页表(页面映象表):实现从页号到物理块号的地址映射

页式存储管理动态地址变换过程举例

例如 以下是通过硬件重定位机构将逻辑地址2050转换成实际的内存物理地址的过程。

动态内存重定位地址变换演示  

  作业装入内存后,其内存空间中的内容与地址空间中的内容是一样的。当调度该进程在CPU上执行时,操作系统就自动将作业的内存的起始地址(64K)装入基址寄存器,将作业的大小(24K)装入限长寄存器。当执行LOAD 1,3000这条指令时操作对象的相对地址(3000)首先与限长寄存器的单元中的值(24K)进行比较,如果前者小于后者,则表示地址合法,在限定范围之内。接着将相对地址与基址寄存器中的地址相加,所得结果就是真正访问内存的地址;如果前者不小于后者,则表示地址越界,发出相应中断,进行处理。



利用快表实现地址转换

  用联想寄存器作为页表(简称快表),一般8~32个寄存器,当CPU生成逻辑地址时,它的页号就送到联想寄存器去比较,如在其中找到该页号,则立即得到相应块号,并用它来存取内存;如果页号没有在联想寄存器中找到,那么就必须访问页表,从中得到相应块号,用它形成访问内存地址。同时,把该页号和相应块号,填写到联想寄存器,以利于后面使用。如果联想寄存器没有空闲单元,则通常把最先装入内存的那个寄存器腾出来,即装入新的页号和块号。

http://cs.xiyou.edu.cn/other/os/zdndframe_main.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: