【山东理工大学操作系统课件】第十章 UNIX.ppt

【山东理工大学操作系统课件】第十章 UNIX.ppt

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

第十章 UNIX系统内核结构 计划学时:4 主要内容 概述 10.1 UNIX系统概述 进程控制子系统 10.2 进程的描述和控制 10.3 进程的同步与通信 10.4 存储器管理 文件子系统 10.5 设备管理 10.6 文件管理 10.1 UNIX系统概述 一、UNIX系统的发展史 UNIX系统是多用户、多任务OS,可用在微型、小型、大型和多处理机系统。 UNIX也是一个著名的分时系统 UNIX最初用汇编语言编写,后用B语言重写,现在使用的是C语言版。 一、UNIX系统的发展史(续) UNIX在不同公司使用不同的名字。 UNIX这一名字已被X/Open用作注册商标,其它公司的UNIX产品不能用UNIX这一名字 比较著名的UNIX产品:Sun公司的“Sun OS” (4.3BSD)和“Solarix” 在UNIX系统上最早使用了TCP/IP网络协议。 二、UNIX系统的特征 1.开放性 所谓开放性是指系统遵循国际标准规范; 凡遵循国际标准所开发的硬件和软件,均能彼此兼容,并可方便地实现互联。 2.多用户、多任务环境 3.功能强大,实现高效 如UNIX的目录结构、磁盘空间的管理方式 4.提供了丰富的网络功能 5.支持多处理器功能 三、UNIX系统的内核结构 最低层是硬件 次低层是OS核心 上面第二层是OS与用户的接口Shell以及编译程序等 最高层是应用程序 核心层:包括进程管理、存储器管理、设备管理和文件管理。整个核心层又可分为两个子系统:进程控制子系统和文件子系统 接口:核心与硬件的接口; 核心与Shell的接口 1.进程控制子系统 进程控制 fork; exit等 进程通信 存储器管理 采取段页式及虚拟存储管理 进程调度 按动态优先数轮转调度算法 2.文件子系统 文件管理 高速缓冲机制 设备驱动程序 10.2 进程的描述与控制 在UINIX Ⅴ中采用了段页式存储管理方式 在该系统中段称为区(Region),包括:正文程序区,数据区,栈区和共享存储区等. 每个区又分成若干个页. 每个进程配置一个进程控制块(PCB) 10.2.1 进程控制块PCB 进程表项 包括最常用的核心数据 U区 用于存放进程表项的一些扩充数据 进程区表 用于存放各区的起始虚地址及指向系统区表中对应区表项的指针 系统区表 存放各个区在物理存储器中的地址信息等 1.进程表项(Process Table Entry) 又称Proc表或Proc结构(常驻内存) 进程标识符 用户标识符 进程状态 事件描述符 进程和U区在内存或外存的地址 软中断信息 计时域 进程的大小 1.进程表项(续) 偏置值nice P-Link指针 指向U区进程正文、数据及栈在内存区域的指针 2.U区(U Area) 为了存放用于描述和控制进程的另一部分信息,系统为每一个进程设置了一个私用的U区,又称之为User结构。 这部分数据并非常驻内存 3.系统区表 UNIX Ⅴ把进程的虚地址空间划分为若干个连续的区域:正文区、数据区、栈区 多个进程可共享一个正文区 多个进程可共享一个数据区 系统区表(简称区表)是核心为了对区进行管理而设置的 主要包括: 区的类型和大小 区的状态 区在物理存储器中的位置 引用计数 指向文件索引结点的指针 4.本进程区表(Process Region Table) 为了记录进程的每个区在进程中的虚地址,并通过它找到该区在物理存储器中的实地址,系统为每一个进程配置了一张进程区表 表中的每一项记录一个区的起始虚地址及指向系统区表中对应的区表项的指针. 核心可通过查找进程区表和系统区表,将区的逻辑地址变换为物理地址 10.2.2 进程状态与进程映像 1.进程状态(9种状态) 执行状态 就绪状态 睡眠状态 “创建”与“僵死”状态 “被抢占”状态 说明: 执行状态又分为用户态和核心态 就绪又分为内存中就绪和就绪且换出 睡眠又分为内存睡眠和睡眠且换出 2.进程映像 用户级上下文 主要成分是用户程序,在系统中分为正文区和数据区 寄存器上下文 是由CPU中的一些寄存器的内容组成 系统级上下文 包括OS为管理该进程所用的信息,分为静态和动态两部分 10.2.3 进程控制 fork 用于创建一个新进程 exec 改变进程的原有代码 exit 实现进程的自我中止 wait 将调用进程挂起、等待子进程中止 getpid 获取进程标识符 nice 改变进程的优先级 1.fork系统调用 为新进程分配一个进程表项和进程标识符 检查同时运行的进程数目 拷贝进程表项中的数据 子进程继承父进程的所有文件 为子进程创建进程上下文 子进程执行 2.exec系统调用 exec为一组系统调用 它们用于将一个可执行的二进制文件覆盖在新进程的用户级上下文

文档评论(0)

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

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

1亿VIP精品文档

相关文档