九章节UNIX操作系统.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《九章节UNIX操作系统.ppt》由会员分享,可在线阅读,更多相关《九章节UNIX操作系统.ppt(122页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、九章节UNIX操作系统 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望 9.1 UNIX 9.1 UNIX 系统概述系统概述9.1.1 UNIX 系统的发展一一.发展历史发展历史1965年年 由由AT&T,MIT和和GE联合开发联合开发Multics (Multiplexed Information and Computing Service)1969年年 Ken Thompson 和和 Dennis Ritchie在在PDP7上用汇编语言开发出上用汇编语言开发出
2、UNIX 1970年年 在在PDP-11系列机上系列机上(11/20,11/40,11/45)用汇编开发出用汇编开发出UNIX v.1。在此过程中,。在此过程中,机器的硬件逐渐复杂,机器的硬件逐渐复杂,UNIX所支持的特所支持的特 征也不断丰富,增加了文字处理程序。征也不断丰富,增加了文字处理程序。1975年年 发表发表UNIX v.6 并广泛扩散到大学和科研并广泛扩散到大学和科研 单位单位,为后期发展奠定了良好的基础为后期发展奠定了良好的基础1978年年 优化后发布优化后发布UNIX v.7-UNIX的第一个的第一个 商业版本商业版本-我国开始研究应用的最早版本我国开始研究应用的最早版本 1
3、981年年 AT&T发布发布UNIX System III,完全转向为完全转向为 社会提供的商品软件社会提供的商品软件1983年年 AT&T发布发布UNIX System V,系统功能已系统功能已 趋于稳定和完善趋于稳定和完善.此后此后System V又有一系又有一系 列的公布号列的公布号:1.0/2.0/2.3/3.5/4.0/4.2 等等,现在现在最后版本为最后版本为 System V Release 4(SVRV)9.1.2 有代表性的其它版本有代表性的其它版本1.加州大学伯克利分校的加州大学伯克利分校的BSD(Berkeley Software Distribution)版本版本,主要
4、用于工主要用于工 程设计和科学计算程设计和科学计算2.Microsoft和和SCO公司开发的公司开发的SCO XENIX SCO UNIX 和和 OpenServer等等,主要应用主要应用 在基于在基于Inter x86体系结构的系统上体系结构的系统上3.开放源代码的开放源代码的Linux,UNIX的体系结构加的体系结构加 MS Windows形式的图形用户界面形式的图形用户界面,主要主要 应用在基于应用在基于Inter x86体系结构的系统上体系结构的系统上9.1.3 UNIX系统特征系统特征1.可移植性强可移植性强 .UNIX操作系统大量代码为操作系统大量代码为C语言编写语言编写 .C语言
5、具有跨平台特性语言具有跨平台特性 2.多用户、多任务的分时系统多用户、多任务的分时系统 .人机间实时交互数据人机间实时交互数据 .多个用户可同时使用一台主机多个用户可同时使用一台主机 .每个用户可同时执行多个任务每个用户可同时执行多个任务3.软件复用软件复用 .每个程序模块完成单一的功能每个程序模块完成单一的功能 .程序模块可按需任意组合程序模块可按需任意组合 .较高的系统和应用开发效率较高的系统和应用开发效率4.与设备独立的输入与设备独立的输入/输出操作输出操作 .打印机、终端视为文件打印机、终端视为文件 .输入输入/输出操作与设备独立输出操作与设备独立5.界面方便高效界面方便高效 .内部内
6、部:系统调用丰富高效系统调用丰富高效 .外部外部:shell命令灵活方便可编程命令灵活方便可编程 .应用应用:GUI 清晰直观功能强大清晰直观功能强大6.安全机制完善安全机制完善 .口令、权限、加密等措施完善口令、权限、加密等措施完善 .抗病毒结构抗病毒结构 .误操作的局限和自动恢复功能误操作的局限和自动恢复功能7.多国语言支持多国语言支持 .支持全世界现有的几十种主要语言支持全世界现有的几十种主要语言8.网络和资源共享网络和资源共享 .内部内部:多进程结构易于资源共享多进程结构易于资源共享 .外部外部:支持多种网络协议支持多种网络协议9.系统工具和系统服务系统工具和系统服务 .100多个系统
7、工具(即命令),完成多个系统工具(即命令),完成 各种功能各种功能 .系统服务用于系统管理和维护系统服务用于系统管理和维护9.1.4 UNIX系统组成 计算机系统有四大资源-处理机、存储器、文件、设备一、UNIX系统核心的结构 库函数系统调用接口文件子系统进程控制 子系统进程间通信调度存储管理高速缓存字符设备 块设备设备驱动程序硬件控制硬件硬件核心级硬件级用户级核心级用户程序捕俘UNIX核核心心的的框框图图SHELL二、二、Unix系统的组成系统的组成UNIX可分为四个层次。最低层是硬件,它可分为四个层次。最低层是硬件,它是整个系统的基础;次低层是是整个系统的基础;次低层是OS核心;其核心;其
8、次是次是OS与用户的接口与用户的接口SHELL、编译程序等;、编译程序等;最高层是用户程序。最高层是用户程序。内核:内核:是Unix系统的核心部分,能与硬件直接交互,常驻内存。驻留(基本)模块驻留(基本)模块:完成输入/输出、文件、设备、内存和处理器时钟的管理,常驻内存。系统工具:通常称为shell。是Unix操作系统的一部分,是用户与Unix交互的一种接口。常驻磁盘,在用户登录时即调入内存。三、进程控制子系统进程控制子系统负责管理处理机、存储器。它的功能有:1、进程控制-应用程序利用系统调用fork创建一个新进程;利用系统调用exec执行一个满足条件的进程;利用系统调用exit结束一个程序的
9、执行。2、进程通信3、存储器管理4、进程调度-将满足运行条件的程序(进程)调入内存,安排一个时间片。四、文件子系统文件子系统负责文件、设备资源的管理。它的功能有:1、文件管理2、高速缓冲机制-设置多个缓冲区以匹配I/O的速度。3、设备驱动程序9.1.5 Uinx操作系统的启动流程 主机Unix内核initgettyLogin:gettygettyLogin:Login:装入OS内核硬件检查硬件检查安装安装rootfs形成形成0号进程号进程产生子进程产生子进程对换进程对换进程swap产生产生1号进程号进程init执行执行inittab初始化各端口初始化各端口gettygetty登录登录执行命令执
10、行命令退出退出boot父父子子9.1.6 用户分类和用户职责一、用户分类1、超级用户2、普通用户二、职责9.1.8 用户登录与退出超级用户:通过“root”登录 退出命令:1、shutdown or2、haltsys普通用户:通过自己的UID登录 退出命令:exit or Ctrl+d 9.2 文件管理UNIX的文件系统的功能很强,又很灵活。UNIX文件系统的概述1、特点:文件的组织是分树形结构-是倒树形结构。每个用户可以建立自己的文件系统。文件的物理结构为混合索引式文件结构-文件的物理结构可能包括多种索引文件结构形式(单级索引、两级索引和多级索引文件结构形式。这种物理结构查询速度快、节省存放
11、文件地址所需的空间。采用了成组链接法管理空闲盘块-是空闲表法和空闲链法的产物,提高了查找空闲盘块的速度,节省了存放盘块号的存储空间。引入了索引结点的概念-在UNIX系统中,把文件名和文件的说明分开,即分别作为目录文件和索引结点表中的一个表项,这样既可提高文件的检索速度,又能减轻通道的I/O压力。2、文件系统的特点由于文件名和文件属性(说明)分开存放,文件属性构成文件的索引结点,这使UNIX的目录项与一般文件系统的目录项不同,故UNIX文件系统的结构与一般的文件有所差异。应该是按文件的用途和类别存放。下面的图中,根目录中的bin是二进制系统文件的子目录;usr是用户文件的根目录;dev是特殊文件
12、的根目录。binusrdeviiiwangiiroot目录表 bin的目录表usr的目录表dev的目录表 3、文件系统的资源管理为了在系统中保存一份文件,就需花费资源,当文件处于“未打开”状态时,文件需占用三种资源:一个目录项-用以记录文件的名称和对应索引结点的编号;一个磁盘索引结点项-用以记录文件的属性和说明信息(在磁盘上);若干个盘块-用于保存文件本身。当文件处于“打开”状态时,须增加三种资源:一个磁盘索引结点项-用以记录文件的属性和说明信息(在磁盘上);若干个盘块-用于保存文件本身。当文件处于“打开”状态时,须增加三种资源:一个内存索引结点项(驻留内存);文件表中的一个登记项;用户文件扫
13、描符表中的一个登记项。由于对文件的读写管理,必须涉及上述资源,所以对文件的管理就包括:对索引点的管理对空闲盘块的管理对文件目录的管理对文件表和描述符表的管理对文件的使用。9.3 进程的描述 在UNIX系统中,采用段页式存储管理方式(段称为区-Region).一个进程实体由若干个区组成(程序区、数据区、栈区、共享存储区),每个区可分若干页。UNIX中为每个进程配置一个进程控制块(PCB)用于控制和管理进程。PCB由四部分组成。1、进程表项(核心数据)2、U区(扩充信息)3、进程区表(存放段的起地址始、指向系统区表中对应区表项的指针)4、系统区表项(存放各个段在物理存储器中的位置)9.2.1 进程
14、的数据结构(PCB)一、进程表项(Process Table Entry):包含如下的内容:1、进程标识符(PID)是唯一标识进程的某一整数;2、用户标识符(UID)是标识拥有该进程的用户;3、进程状态 表示该进程的当前状态;4、事件描述符 记录使进程进入睡眠状态的事件;5、进程和U区在内存或外存的地址,核心可利用这些信息做上、下文切换;6、软中断信号 记录其它进程发来的软中断信号;7、计时域 给出进程的执行时间和对资源的利用情况;8、进程的大小 核心根据进程的大小来为其分配存储空间;9、偏置值nice(加权系数)供计算该进程的优先数时用,用户可自定;10、PLink 指向就绪队列中下一个PC
15、B的指针;11、指向U区进程正文、数据及栈在内存区域的指针。二、U区(U Area)每个进程都有一个私用的U区,其中包含内容:1、进程表项指针 指向当前(正在执行)进程的进程表项;2、真正用户标识符u-ruid(real user ID)它是超级用户分配给普通用户的标识符,以后每次用户登录进入系统时,均必须输入此标识符;3、有效用户标识符u-euid(effective user ID)可用系统调用setuid改变为其它用户,以获得对该用户的文件访问权;4、用户文件描述符表 记录该进程已打开的所有文件;5、当前目录和当前根 给进程的文件系统环境 6、计时器 记录进程在核心态和用户态的运行时间;
16、7、内部I/O参数 给出要传输的数据量,源(或目标)数据的地址,文件的输入/输出偏移量;8、限制字段 指对进程的大小及其“写”的文件大小的限制。三、系统区表(System Region Table)系统V把一个进程的虚地址空间划分为若干个连接的逻辑区:正文区、数据区、栈区等。这些区是可被共享和保护的独立体。多个进程可共享一个区。例如:多个进程共享一个正文区,即几个进程将执行同一个程序;同样,多个进程也可共享一个数据区。为了对区进行管理,在核心中设置了一个系统区表,以记录区的有关信息:1、区的类型和大小;2、区的状态(一个区有:锁住、在请求、在装入过程中、有效-区已装入内存);3、区在物理存储器
17、中的位置;4、引用指针 共享该区的进程数;5、指向文件索引结点的指针四、本进程区表(Per Process Region Table)为了记录进程的每个区在进程中的虚地址,并通过它找到该区在物理存储器中的实地址,系统为每个进程配置了一张进程区表。表中每一项记录一个区的起始虚地址及指向系统区表中对应的区表项。这样,核心通过查找进程区表项和系统区表,便可将该区的逻辑地址转换为物理地址。这里使用两张表实现是便于区的共享。下图说明了其过程:A、B两个进程的进程区表和系统区表。在A进程区表中的正文区、数据区和栈区的指针,分别指向相应于a、b、c区的系统区表项。B进程区表中的正文区、数据区和栈区,分别指向
18、相应于a、d、e三个系统区表项,由于A 和B进程共享正文区,所以它们都指向同一个正文区a。正文数据栈正文数据栈ab cdeabcdeA进程区表B进程区表系统区表进程区表项、系统区表项和区的关系A、B共享正文区共享正文区 进程的数据结构:U区abcabc进程表本进程区表系统区表9.2.2 进程状态及其转换一、进程状态UNIX中,把进程执行状态分为两种(用户态执行、系统态执行),前者是进程正处于用户状态中执行,运行可被中断;后者是核心状态执行(系统调用中断后便进入核心状态)运行不能中断。为进程设置了九种状态:1、核心态执行2、用户态执行3、内存中就绪 4、被剥夺状态5、就绪/换出6、内存中睡眠7、
19、睡眠/换出8、创建状态-在父进程执行fork系统调用创建子进程期间,新被创建的子进程便处于“僵死”状态;9、僵死状态-在执行exit系统调用后的状态。421385967进程状态的转换用户态执行返回到用户态被剥夺内存中就绪内存足创建fork内存不足就绪/换出换入换出唤醒睡眠/换出内存中睡眠睡眠唤醒换出核心态执行调度剥夺返回系统调用中断中断中断返回僵死二、进程映像在UNIX系统中,进程是进程映像(Process Image)的执行过程。进程映像也就是正在执行的进程实体。它由三部分组成:用户级上、下文,寄存器上、下文和系统级上、下文。一、用户级上、下文:主要是用户程序,它在系统中分为正文区和数据区。
20、正文区是只读的,主要是一些程序。在进程执行时,可利用用户栈区保存中间结果。二、寄存器上、下文由CPU中的如下寄存器构成:1、程序寄存器 存放CPU要执行的下条指令的虚地址;2、处理机状态寄存器(PSR)其中包括运行方式(用户态、系统态)、处理机当前的运行级等相关信息;3、栈指针4、通用寄存器三、系统级上、下文其中包括OS为进程管理该进程所用的信息:1、静态部分-在进程的整个生命期中,系统级上、下文大小保持不变,它由三部分组成:进程表项 每个进程占一个表项(记录进程的状态等相关信息)U区进程区表项、系统区表项、页表,用于实现进程的虚地址到物理地址的映射。2、动态部分-是可变的,它包括:核心栈;若
21、干层寄存器上、下文。用户级上、下文进程正文数据栈共享数据系统级上、下文静态部分进程表项U区本进程区表核心栈第3层第2层的保护的寄存器上、下文核心栈第3层第2层的保护的寄存器上、下文核心栈第3层第2层的保护的寄存器上、下文核心上、下文0层上、下文静态部分上、下文动态部分进程上、下文的组成9.2.3 进程的控制在UNIX系统中,只设置了进程,它是一个独立拥有资源、独立调度的基本单位。UNIX系统中的系统调用有:1、fork-创建一个新进程2、exec-改变进程的原有代码3、exit-实现进程的自我终止4、wait-将调用进程挂起,等待子进程终止5、getpid-获取进程标识符6、nice-改变进程
22、的优先级。一、fork系统调用:在UNIX系统中,只有0进程是在系统引导时被创建的,在系统初启时由0进程创建1进程,以后0进程变为对换进程,1进程成为系统中的始祖进程。UNIX利用fork为每个终端创建一子进程为用户服务(如:等待用户登录、执行shell命令解释程序等)。每个终端又可用fork来创建其子进程,从而形成一棵进程树。系统中除进程外的所有进程都是用fork创建的。fork的系统调用格式:int fork();fork系统调用设有参数,如果执行成功,则创建一个子进程。核心为fork完成如下操作:1、为新进程分配一进程表项和进程标识符;2、检查同时运行的进程数目;3、拷贝进程表项中的数据
23、;4、子进程继承父进程的所有文件;5、为子进程创建进程上、下文;6、子进程执行。二、exec系统调用:fork系统调用只是将父进程的用户级上、下文拷贝到新进程中,而exec系统调用将可执行的二进制文件覆盖在新进程的用户级上、下文的存储空间。exec系统完成的操作:1、对可执行文件进行检查;2、回收内存空间;3、分配存储空间;4、拷贝参数。三、exit系统调用:Unix系统;利用exit来实现进程的自我终止。核心需为exit完成:1、关闭软中断;2、回收资源;3、写相关信息;4、置进程为“僵死”状态。四、wait系统调用:用于进程挂起。核心为wait完成的操作:1、首先查找调用进程是否有子进程,
24、若无,则返回出错信息;2、若找到一个“僵死状态”的子进程,则将子进程的执行时间加到父进程的执行时间上,并释放子进程表项;3、若未找到处于“僵死状态”的子进程,则调用进程便在可被中断的优先级上睡眠,等待其子进程发来软中断信号时被唤醒。9.2.4 进程调度UNIX系统是分时系统,系统未设置作业调度。对进程的调度采用多级反馈队列轮转调度方式。多级反馈队列轮转调度方式。1、优先级分类:核心优先级;、优先级分类:核心优先级;2、优先级的计算:系统、优先级的计算:系统V中的用户优先级是可变的。它随占中的用户优先级是可变的。它随占用用CPU的时间越长而降低。核心每隔的时间越长而降低。核心每隔1秒钟便按如下公
25、式计算秒钟便按如下公式计算各进程的用户优先级:各进程的用户优先级:优先数优先数=+基本用户优先数基本用户优先数最近使用CPU的时间 2 9.3 进程切换9.3.1 进程的同步与通信9.3.2 管道UNIX系统的“管道”是OS的首创。这也是UNIX系统的一大特色。所谓“管道”,是指能够连接一个写进程和一个读进程的,并允许它们以生产者-消费者方式进行通信的一个共享文件(pipe文件)。由写进程从管道的入端将数据写入管道,而读进程则从管道的出端读出数据。一、管道类型:1、无名管道(Unnamed Pipes)-是一个临时文件,是利用系统调用pipe()建立的无名文件。2、有名管道(Named Pip
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 章节 UNIX 操作系统
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内