进程管理
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
进程的状态及转换:
进程的基本形态有三种,即
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
相关文章推荐
- supervisor - Python进程管理工具
- centos 进程管理相关命令
- linux编程之进程编程(5)---- 进程管理(task_struct结构体)
- APUE 第八章 进程管理 子进程领养问题探讨
- Android进程分类与管理
- 进程的管理之进程创建笔记
- Linux之进程控制与管理实验五
- Android系统中的进程管理:进程的优先级
- 进程管理程序
- Linux远程连接windows桌面和screen后台虚拟终端进程管理
- 进程管理API之get_task_pid
- 计算机操作系统学习笔记_6_进程管理 --死锁
- Linux后台进程管理以及ctrl+z(挂起)、ctrl+c(中断)、ctrl+\(退出)和ctrl+d(EOF)的区别
- ubuntu下的命令学习与汇总--进程管理命令
- 高可用高性能系统(八)进程管理
- UNIX环境编程学习笔记(19)——进程管理之fork 函数的深入学习
- 进程管理—进程描述符(task_struct)
- Supervisor 管理后台守护进程
- forever nodejs管理进程
- Nginx系列(三)--管理进程、多工作进程设计