现在的位置: 首页 > 综合 > 正文

进程管理

2014年01月04日 ⁄ 综合 ⁄ 共 1507字 ⁄ 字号 评论关闭

进程管理 
进程的状态及转换:
  进程的基本形态有三种,即 
  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

抱歉!评论已关闭.