文档详情

10.2、10.6 UNIX进程管理和文件系统.ppt

发布:2017-11-14约1.7千字共34页下载文档
文本预览下载声明
UNIX进程管理 * 第二章 进 程 管 理 1. UNIX系统的发展史 2. UNIX系统的内核结构 进程上下文(或进程映像):进程运行环境所包含的内容; PCB(进程控制块):Proc结构(进程表项)和User结构(U区)组成 PCB常驻内存,系统对进程的感知和管理依赖PCB 正文段:进程的程序代码和使用常量,该部分可以被其他进程共享; 数据段:进程的私有信息(私有数据和程序),只有本进程可以访问; 系统栈:进程在系统执行时完成 子程序的嵌套和中断处理 时使用的信息保留区; 用户栈:进程在用户态执行时完成 子程序的嵌套和中断处理 时使用的信息保留区; 3. UNIX进程描述 1. 进程表项(Process Table Entry) 进程标识符(PID)。 (2) 用户标识符(UID)。 (3) 进程状态。 (4) 事件描述符。 (5) 进程和U区在内存或外存的地址。 (6) 软中断信息。 (7) 计时域。 (8) 进程的大小。 (9) 偏置值nice。 (10) P-Link指针。 (11) 指向U区进程正文、 数据及栈在内存区域的指针。 2. U区(U Area) 进程表项指针。 (2) 真正用户标识符u-ruid(real user ID)。 (3) 有效用户标识符u-euid(effective user ID)。 (4) 用户文件描述符表。 (5) 当前目录和当前根。 (6) 计时器。 (7) 内部I/O参数。 (8) 限制字段。 (9) 差错字段。 (10) 返回值。 (11) 信号处理数组。 3. 系统区表(System Region Table) 区的类型和大小。 (2) 区的状态。 (3) 区在物理存储器中的位置。 (4) 引用计数。 (5) 指向文件索引结点的指针。 4. 本进程区表(Per Process Region Table) 图 10-2 进程区表项、系统区表项和区的关系 图 10-3 进程的数据结构 4. UNIX进程状态 进程创建实例 #include stdio.h int myvar=0; void main() { int pid; pid = fork(); //system call if (pid 0 ) { //error occurred printf(“fork failed.”); exit(-1); //system call } else if (pid == 0 ) { //child process printf(“child process executing…\n”); myvar = 1; } else { //parent process wait(); //system call, wait for children completion printf(“child complete.”); myvar ++; printf(“father,myvar=%d”,myvar); exit(0); } } 进程创建实例 UNIX文件系统结构 文件系统的安装 mount UNIX文件系统结构 UNIX文件系统结构 目录文件 超级块内容 i节点的数据结构 文件检索过程 空闲块管理 成组链接法 成组链接法 成组链接法 * * 第二章 进 程 管 理
显示全部
相似文档