网站大量收购独家精品文档,联系QQ:2885784924

1)空闲盘块的分配.ppt

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1)空闲盘块的分配.ppt

第十章 UNIX系统内核结构 10.1 UNIX系统概述 10.2 进程的描述和控制 10.3 进程的同步与通信 10.4 存储器管理 10.5 设备管理 10.6 文件管理 10.1 UNIX系统概述 1. UNIX系统的特征 1) 开放性 2) 多用户、多任务环境 3) 功能强大,实现高效 4) 提供了丰富的网络功能 5) 支持多处理器功能 1) 进程控制子系统 (1) 进程控制 (2) 进程通信 (3) 存储器管理 (4) 进程调度 2) 文件子系统 (1) 文件管理 (2) 高速缓冲机制 (3) 设备驱动程序 10.2 进程的描述和控制 在UNIX系统Ⅴ中, 把进程控制块分为四部分: (1) 进程表项 (2) U区  (3) 进程区表  (4) 系统区表 1. 进程表项(Process Table Entry) (1) 进程标识符(PID)。 (2) 用户标识符(UID)。 (3) 进程状态。 (4) 事件描述符。 (5) 进程和U区在内存或外存的地址。 (6) 软中断信息。 (7) 计时域。 (8) 进程的大小。 (9) 偏置值nice。 (10) P-Link指针。 (11) 指向U区进程正文、 数据及栈在内存区域的指针。 2. U区(U Area) (1) 进程表项指针。 (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) (1) 区的类型和大小 (2) 区的状态 (3) 区在物理存储器中的位置 (4) 引用计数 (5) 指向文件索引结点的指针 4. 本进程区表(Per Process Region Table) 进程的数据结构 10.2.2 进程状态与进程映像 2. 进程映像 1) 用户级上下文 2) 寄存器上下文 (1) 程序寄存器 (2) 处理机状态寄存器(PSR) (3) 栈指针 (4) 通用寄存器 3) 系统级上下文 (1)静态部分 (2) 动态部分 10.2.3 进程控制 (1) 为新进程分配一个进程表项和进 程标识符。 (2) 检查同时运行的进程数目。 (3) 拷贝进程表项中的数据。 (4) 子进程继承父进程的所有文件。 (5) 为子进程创建进程上下文。 (6) 子进程执行。 2. exec系统调用 3. exit系统调用 通常,父进程在创建子进程时,应在进程的末尾安排一条exit,使子进程能自我终止。内核须为exit完成以下操作: (1) 关闭软中断 (2) 回收资源 (3) 写记账信息 (4) 置进程为“僵死”状态 4. wait系统调用 wait系统调用用于将调用进程挂起, 直至其子进程因暂停或终止而发来软中断信号为止。如果在wait调用前,已有子进程暂停或终止,则调用进程做适当处理后便返回。核心对wait调用做以下处理:核心查找调用进程是否还有子进程, 若无,便返回出错码;如果找到一个处于“僵死”状态的子进程,便将子进程的执行时间加到其父进程的执行时间上, 并释放该子进程的进程表项; 如果未找到处于“僵死”状态的子进程,则调用进程便在可被中断的优先级上睡眠,等待其子进程发来软中断信号时被唤醒。 10.2.4 进程调度与切换 1. 引起进程调度的原因 首先,由于UNIX系统是分时系统,因而其时钟中断处理程序须每隔一定时间,便对要求进程调度程序进行调度的标志runrun予以置位,以引起调度程序重新调度。其次,当进程执行了wait、exit及sleep等系统调用后要放弃处理机时, 也会引起调度程序重新进行调度。此外,当进程执行完系统调用功能而从核心态返回到用户态时,如果系统中又出现了更高优先级的进程在等待处理机时,内核应抢占当前进程的处理机, 这也会引起调度。 进程调度,在此是采用动态优先数轮转调度算法。调度程序在进行调度时,首先从处于“内存就绪”或“被抢占”状态的进程中,选择一个其优先数最小(优先级最高)的进程。若此时系统中(同时)有多个进程都具有相同的最高优先级,则内核将选择其中处于就绪状态或被抢占状态最久的进程

文档评论(0)

wendang_12 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档