进程与存储管理示例课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《进程与存储管理示例课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 进程 存储 管理 示例 课件
- 资源描述:
-
1、进程与存储管理示例进程与存储管理示例进程与存储管理示例进程与存储管理示例进程与存储管理示例进程与存储管理示例进程与存储管理示例进程与存储管理示例进程与存储管理示例进程与存储管理示例进程与存储管理示例进程与存储管理示例进程与存储管理示例进程与存储管理示例进程与存储管理示例进程与存储管理示例进程与存储管理示例进程与存储管理示例进程与存储管理示例进程与存储管理示例进程与存储管理示例进程与存储管理示例进程与存储管理示例进程与存储管理示例进程与存储管理示例进程与存储管理示例进程与存储管理示例进程与存储管理示例进程与存储管理示例进程与存储管理示例进程与存储管理示例进程与存储管理示例进程与存储管理示例进程与
2、存储管理示例进程与存储管理示例进程与存储管理示例进程与存储管理示例进程与存储管理示例进程与存储管理示例进程与存储管理示例v6.3.1 Linux6.3.1 Linux启动及进程树的形成启动及进程树的形成vLINUXLINUX系统的自举过程是读一个磁盘的引导块系统的自举过程是读一个磁盘的引导块(文件系统的第(文件系统的第0 0 块),并将其装入内存,在块),并将其装入内存,在核心装入内存后,系统开始执行启动过程核心装入内存后,系统开始执行启动过程start_kernel()start_kernel()。启动过程。启动过程start_kernel()start_kernel()首先初始化系统内部数
3、据结构。例如,构造空首先初始化系统内部数据结构。例如,构造空闲缓冲区、初始化区结构、页表项等。随后,闲缓冲区、初始化区结构、页表项等。随后,进程进程0 0的作用就转变为的作用就转变为idleidle进程,只有在系统进程,只有在系统中没有任何进程可以被执行的时候才会得到调中没有任何进程可以被执行的时候才会得到调度。度。进程与存储管理示例进程与存储管理示例进程与存储管理示例进程与存储管理示例进程与存储管理示例进程与存储管理示例进程与存储管理示例进程与存储管理示例进程与存储管理示例进程与存储管理示例进程与存储管理示例进程与存储管理示例进程与存储管理示例进程与存储管理示例v 用用C C语言实现的程序例
4、如下。语言实现的程序例如下。v#include#include stdiostdio.h.hv main()main()v vchar commandchar command3232 ;vchar char *prompt=“$”;prompt=“$”;vwhile(printfwhile(printf(“%s”(“%s”,prompt),gets prompt),gets(command)!=NULL)(command)!=NULL)v vif(fork()=0)if(fork()=0)vexeclpexeclp(command (command,command command,(char(
5、char*)0);)0);velseelsevwait(0);wait(0);v v 进程与存储管理示例进程与存储管理示例。进程与存储管理示例进程与存储管理示例vLINUXLINUX系统的调度与交换都是进程系统的调度与交换都是进程0 0 的两的两个部分。它们由个部分。它们由 schedule()schedule()过程实现。过程实现。事实上,因此,有时也把进程事实上,因此,有时也把进程0 0 称为调称为调度进程。度进程。进程与存储管理示例进程与存储管理示例进程与存储管理示例进程与存储管理示例v2.2.调度的时机调度的时机v第一种情况:处理机在执行完核心程序之后向用户第一种情况:处理机在执行完核
6、心程序之后向用户态转换之前的瞬间态转换之前的瞬间,检查各就绪进程的优先级进行检查各就绪进程的优先级进行调度的方法。调度的方法。Need_reschedNeed_resched=1=1则执行调度。则执行调度。v第二种情况:当进程状态发生变化时,直接调用调第二种情况:当进程状态发生变化时,直接调用调度进程进行调度。度进程进行调度。进程与存储管理示例进程与存储管理示例v 3.3.调度标识的设置调度标识的设置v UNIXUNIX中有三个关于调度和交换用的调度标识。它们是中有三个关于调度和交换用的调度标识。它们是runrunrunrun、runinrunin和和runoutrunout。v runrun
7、runrun标识是要求处理机调度程序进行调度的标识,由唤醒标识是要求处理机调度程序进行调度的标识,由唤醒原语原语wakeupwakeup、setrunsetrun及优先级设置过程及优先级设置过程setprisetpri在发现某进程在发现某进程的优先级高于当前进程的优先级时,设置的优先级高于当前进程的优先级时,设置runrunrunrun标识。另外,标识。另外,每隔一秒一次的时钟中断处理中也将检查各就绪态进程的优每隔一秒一次的时钟中断处理中也将检查各就绪态进程的优先级而设置先级而设置runrunrunrun标识。只要设置了该标识,在中断陷阱程标识。只要设置了该标识,在中断陷阱程序结束之前,系统就
8、会调用序结束之前,系统就会调用swtchswtch 过程调度具有最高优先级过程调度具有最高优先级的进程执行。的进程执行。v runin runin 和和runoutrunout标识是用于就绪进程换入换出内存的。标识是用于就绪进程换入换出内存的。runinrunin 表示内存无足够空间换入一个外存就绪态进程,设置表示内存无足够空间换入一个外存就绪态进程,设置runinrunin 标识也意味着内存中无适当的进程可以换出。标识也意味着内存中无适当的进程可以换出。runoutrunout标识与标识与runinrunin 相反,它表示外存交换区中无适当的进程可以相反,它表示外存交换区中无适当的进程可以调
展开阅读全文