UNIX系统内核结构-09.ppt

UNIX系统内核结构-09.ppt

ID:51496415

大小:987.50 KB

页数:76页

时间:2020-03-25

UNIX系统内核结构-09.ppt_第1页
UNIX系统内核结构-09.ppt_第2页
UNIX系统内核结构-09.ppt_第3页
UNIX系统内核结构-09.ppt_第4页
UNIX系统内核结构-09.ppt_第5页
资源描述:

《UNIX系统内核结构-09.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第9章UNIX系统内核结构9.1UNIX系统概述9.2进程的描述和控制9.3进程的同步与通信9.4存储器管理9.5设备管理9.6文件管理9/9/20211授课教师:张雁9.1UNIX系统概述9.1.1UNIX系统的发展史1.UNIX系统的发展2.两大集团对峙OSF集团与UI集团3.网络操作系统UNIX9/9/20212授课教师:张雁9.1.2UNIX系统的特征开放性2)多用户、多任务环境3)功能强大,实现高效4)提供了丰富的网络功能5)支持多处理器功能9/9/20213授课教师:张雁9.1.3UNIX系统的内核结构硬件OS核心进程控制子系统(

2、负责为将要执行的程序和数据文件分配内存空间,并负责调度、控制并发进程的执行、进程通信和内存管理)文件子系统(存放、管理暂时不被处理机执行的程序和数据,分配空间,控制文件存取和为用户检索信息)Shell接口与编译程序应用程序9/9/20214授课教师:张雁图9-1UNIX核心的框图9/9/20215授课教师:张雁1.进程控制子系统进程控制(2)进程通信(3)存储器管理(4)进程调度9/9/20216授课教师:张雁2.文件子系统文件管理高速缓冲机制(3)设备驱动程序9/9/20217授课教师:张雁9.2进程的描述和控制9.2.1进程控制块PCB在

3、UNIX系统Ⅴ中,把进程控制块分为四部分:(1)进程表项(常驻内存)(2)U区(非内存区)(3)进程区表(4)系统区表9/9/20218授课教师:张雁进程控制块(一)进程表项(Proc结构)——常驻内存存放的是系统感知进程存在所必需的数据和信息进程的唯一标识U区(User结构)——非常驻内存存放的是进程执行时所需的各种控制数据和信息存放在该进程的数据段中9/9/20219授课教师:张雁进程控制块(二)系统区表区(Region)进程虚拟地址空间上的一段连续区域,它是被共享、保护以及进行内存分配和地址变换的独立实体。系统区表的内容P325本

4、进程区表记录进程的每个区在进程中的虚地址,并通过它找到该区在物理存储器中的实地址。9/9/202110授课教师:张雁系统区表区号类型长度内存地址状态共享计数文件指针在系统创建新进程时,核心将从区表中分配相应的表项给所创建的进程。9/9/202111授课教师:张雁9.2.2进程状态与进程映像图9-4进程的状态转换9/9/202112授课教师:张雁2.进程映像(进程实体的组成)用户级上下文(用户的程序)2)寄存器上下文(CPU的状态)程序寄存器。(2)处理机状态寄存器(PSR)。(3)栈指针。(4)通用寄存器。3)系统级上下文(OS管理该进程所用的

5、信息)(1)静态部分。(2)动态部分。9/9/202113授课教师:张雁进程控制9/9/202114授课教师:张雁UNIX启动及进程树的形成UNIX进程树9/9/202115授课教师:张雁进程创建——Fork系统调用(1)为新进程分配一个进程表项喝酒inch标识符(2)检查同时运行的进程数目(3)拷贝进程表项中的数据(4)子进程继承父进程的所有文件(5)为子进程创建进程上下文(6)子进程执行9/9/202116授课教师:张雁NOTES如果是用户创建的子进程,它将继承父进程在创建时刻所拥有的全部资源,包括所有已经打开的文件和程序。子进程映像与父进

6、程映像是存储在两个不同的地址空间中内容相同的程序副本。父进程和子进程在各自的存储空间上运行着内容相同的程序。9/9/202117授课教师:张雁进程映像重新载入——execExec的功能将制定的可执行文件加载到指定的进程映像中,覆盖该进程映像中原有的程序。过程根据给定的路径名找到制定的可执行文件,检查是否是可执行加载覆盖原来的进程映像为该程序的执行设置参数和环境启动该进程进入新的程序入口点去执行9/9/202118授课教师:张雁Example(一)创建一个子进程,并加载程序,其功能显示“Iamachild”,加载的程序路径名为./chld#inc

7、lude#includemain(){printf(“Iamachild”);exit(0);}chld.c9/9/202119授课教师:张雁Example(二)#include#includemain(){intp;//存放子进程pid号while((p=fork())==-1);//创建子进程if(p==0)//子进程返回exec(“./chld”,0);//加载子进程的程序else//父进程返回{wait(0);//等待子进程终止exit(0);}}9/9/2

8、02120授课教师:张雁进程的终止——exit内核须为exit完成以下操作:(1)关闭软中断。(2)回收资源。(3)写记账信息。(4)置进程为“僵死

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。