- 1、本文档共81页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第10章操作系统ppt
10.1 UNIX系统概述 10.1.1 UNIX系统的发展史 1965年 由ATT、MIT和GE联合开发Multics(Multiplexed Information and Computing Service) 1969年 Ken Thompson和Dennis Ritchie在PDP7上用汇编语言开发出UNIX 1970年 在PDP-11系列机上(11/20、11/40、11/45)用汇编开发出UNIX v.1。在此过程中,机器的硬件逐渐复杂,UNIX所支持的特征也不断丰富,增加了文字处理程序。 1975年 发表UNIX v.6并广泛扩散到大学和科研单位 10.1 UNIX系统概述 10.1.1 UNIX系统的发展史 1978年 优化后发布UNIX v.7——UNIX的第一个商业版本,是我国开始研究应用的最早版本。 1981年 ATT发布UNIX System III,完全转向为社会提供的商品软件 1983年 ATT发布UNIX System V,系统功能已趋于稳定和完善,此后System V又有一系列的公布号:1.0/2.0/2.3/3.5/4.0/4.2等,现在最后版本为System V Release 4(SVR4) 10.1 UNIX系统概述 10.1.2 有代表性的其它版本 加州大学伯克利分校的BSD(Berkeley Software Distribution)版本,主要用于工程设计和科学计算 Microsoft和SCO公司开发的SCO XENIX SCO UNIX和OpenServer等,主要应用在基于Intel x86体系结构的系统上 开放源代码的Linux,UNIX的体系结构加上MS windows形式的图形用户界面,主要应用在基于Intel x86体系结构的系统上 10.1.2 UNIX系统的特征 可移植性强 多用户、多任务的分时系统 与设备独立的输入/输出操作 界面方便高效 内部:系统调用丰富高效 外部:shell命令灵活方便可编程 应用:GUI清晰直观功能强大 安全机制完善 口令、权限、加密等措施完善 抗病毒结构 误操作的局限和自动恢复功能 丰富的网络功能 支持各种各样的网络协议 UNIX系统的两种执行态 UNIX系统执行态:核心态和用户态,0#进程(核心进程)运行在核心态,1#及其创建子孙进程都可运行在核心态和用户态两种模式。 0#进程的功能:控制UNIX系统内核运行的控制进程,它在初始化时创建1#进程,负责调度分配处理机,负责进程交换。 1#进程的功能:创建终端管理进程和shell进程,是所有用户进程的祖先进程。 同一进程在不同模式下执行时使用不同的堆栈和管理数据结构,且不能相互访问对方的堆栈。 10.2 进程的描述和控制 System V中,进程由:存放状态控制块的栈段、存放CPU执行指令集合的正文段和被执行指令所访问的数据段。 一个进程的虚拟地址空间被划分为若干个逻辑区,每个区是虚拟地址空间中的一段连续区域,它是被共享、保护以及进行内存分配和地址变化的独立实体。正文、数据和栈分别存放在各自的区中。 4、进程区表 为了完成进程区地址到物理地址的转换,系统为每个进程配置了一张进程区表。表中每一项记录一个区的起始虚地址及指向系统区表中对应的区表项的指针 区表和进程的联系 在系统创建新进程时,核心将从区表中分配对应的表项给该进程。 当进程区表中分得表项并填写相关信息后,将把该表项的内存地址返回到进程的proc结构中,此外proc结构还有该段在虚拟空间的起始地址,内存中页表地址和页表长度。 在访问数据段时,通过进程的proc找到区表的相关表项,再由该表项找到对应的页表,由页表找到页面,从而完成地址转换 设置区表将有助于共享,要共享某段,借助于区表即可完成。 10.2.2 进程状态与进程映像 UNIX System V中共有9种状态 用户态下的执行态 核心态下的执行态 内存中就绪态 就绪且换出态 内存中睡眠态 睡眠且换出态 被剥夺状态(进程正从核心态返回到用户态) 创建状态(初始状态,被创建时正在分配资源) 僵死状态 10.2.3 进程控制 UNIX启动及进程树的形成 由系统管理员通过自举把操作系统装入内存,自举时读磁盘引导块,系统执行启动过程start,start首先初始化系统内部数据结构,然后将根目录系统安装到根“/”下,并建立系统调度进程的proc结构,使根“/”成为进程0的当前目录。 系统作为进程0执行并用fork过程创建进程1(init进程),1进程负责初始化所有新的用户进程。 2. exec系统调用 功能: 将文件系统中的可执行文件调入并覆盖调用进程的正文段和数据段之后执行该文件。 10.2.4 进程调度与切换 引起进程
文档评论(0)