![[理学]第六章 UNIX操作系统.ppt_第1页](http://file.renrendoc.com/FileRoot1/2018-12/23/97274cc7-d9fd-4042-b670-a05beb21d51f/97274cc7-d9fd-4042-b670-a05beb21d51f1.gif)
![[理学]第六章 UNIX操作系统.ppt_第2页](http://file.renrendoc.com/FileRoot1/2018-12/23/97274cc7-d9fd-4042-b670-a05beb21d51f/97274cc7-d9fd-4042-b670-a05beb21d51f2.gif)
![[理学]第六章 UNIX操作系统.ppt_第3页](http://file.renrendoc.com/FileRoot1/2018-12/23/97274cc7-d9fd-4042-b670-a05beb21d51f/97274cc7-d9fd-4042-b670-a05beb21d51f3.gif)
![[理学]第六章 UNIX操作系统.ppt_第4页](http://file.renrendoc.com/FileRoot1/2018-12/23/97274cc7-d9fd-4042-b670-a05beb21d51f/97274cc7-d9fd-4042-b670-a05beb21d51f4.gif)
![[理学]第六章 UNIX操作系统.ppt_第5页](http://file.renrendoc.com/FileRoot1/2018-12/23/97274cc7-d9fd-4042-b670-a05beb21d51f/97274cc7-d9fd-4042-b670-a05beb21d51f5.gif)
已阅读5页,还剩40页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,第六章 UNIX操作系统,6.1 UNIX操作系统概述 6.2 UNIX系统用户界面 6.3 UNIX系统进程管理 6.4 UNIX系统存储器管理 6.5 UNIX系统文件管理 6.6 UNIX系统设备管理,2,一、UNIX操作系统的发展,UNIX最初是由汇编语言编写的,1973年用C语言重写。,UNIX的主要特点:短小精悍、简易有效,并具有易理解、易 扩充、易移植性.,第六章 UNIX操作系统,6.1 UNIX操作系统概述,二、UNIX操作系统的主要特点,UNIX系统的优点 1)UNIX是一个交互式的分时多用户多任务的操作系统,每个用户都可以同时执行多个进程。,3,2)提供了丰富的系统功能。如支持十几种常用程序设计语言的编译和解释程序,它提供的软件工具使用户很方便的开发新的软件,它提供了能由较简单的程序构造复杂程序的原语。,3)提供了多种通讯机制以满足各种进程通讯的需要。,4)提供了良好的用户界面。该系统提供一种命令程序设计语言shell作为用户界面。它具有许多高级语言所拥有的控制流能力,如if/for/while等语句。作为用户程序与操作系统的接口,则提供了系统调用。这些界面既能为用户提供各种服务、又相当简洁。,5)在UNIX系统中使用了树形结构的文件系统,它具有良好的安全性、保密性和可维护性;,4,6)文件、目录和设备统一处理,外部设备如同磁盘上的普通文件一样被访问、共享和保护;文件采用字节流这样的一致格式,易于程序设计。,7)该系统主要用C语言编制,使之易读、易懂,易修改、易移植到其它计算机上。,UNIX系统的缺点,1)UNIX系统版本太多。UNIX鼓励用户用UNIX的工具开发适合自己需要的环境。目前UNIX的标准化正在进行。 2)UNIX系统缺少实时控制、分布式处理等能力。 3)UNIX系统的核心是无序模块结构。不是层次式的,不易修改和扩充。,5,三、UNIX系统结构,UNIX系统的体系结构,整个UNIX系统可以分成四个层次。最低层是硬件,作为整个系统的基础;次低层是OS核心层,包括了进程管理、存储器管理、设备管理和文件管理四大资源管理功能。上面第二层是OS与用户的接口shell,以及编译程序等,最高层是应用程序。,6,7,整个UNIX系统可分成两大部分: 1. 由用户程序和系统提供的服务构成的所谓核外程序,形成了良好的系统环境; 2. 操作系统,又称为核心,其中两个主要的部分是文件子系统和进程控制子系统。 核外程序通过引用两组被明确定义的系统调用与核心交往: 1)一组用于与文件子系统的交互作用; 2)另一组则用于与进程控制子系统的交互作用。,进程控制子系统负责进程的创建、结束、同步、通信和进程调度以及存储器的管理。 文件子系统用于有效地管理系统中的所有文件、并提供高速缓冲机制。,8,6.2 UNIX系统用户界面,一、UNIX的用户界面 Unix既有编程接口,即系统调用;又有操作接口,即shell。其中shell接口分为基本命令、特殊命令和shell编程。,1.基本命令包括:系统访问命令;编辑和文件管理命令;编译、链接命令;维护、管理命令;调试命令等 2.特殊命令包括:后台命令;通配符;文件重定向;管道命令;滤波器等 3.Shell程序语言可以把shell命令编制成程序,按批处理执行。,二、UNIX的命令控制界面,9,三、UNIX系统调用,UNIX系统调用可以分成三类: 1)与进程管理有关的系统调用; 建立一个进程;进程中止; 2) 与文件和外设管理有关的系统调用; 打开文件;读文件; 3) 与系统状态有关的系统调用; 设置用户号;设置系统日历时间;,1.UNIX系统调用的分类,10,系统调用是用户程序请求操作系统为其服务的唯一形式,在UNIX中把系统调用称为程序员接口。UNIX规定用户程序用捕俘(trap)指令请求系统服务, UNIX核心中的中断捕俘程序根据trap的类型转向相应的处理程序。trap指令形式如下:,二、UNIX系统调用的实现,UNIX第6版共有4l条系统调用, UNIX第7版共有50条系统调用,其中有32条是常用的。,11,6.3 UNIX系统的进程管理,一、UNIX进程的结构 1.UNIX系统的进程组成: 1) 进程控制块PCB; 2) 数据段; 3) 正文段。 UNIX系统为了节省进程控制块所占的主存空间,把每个进程控制块分成两部分: 1) 常驻主存部分(称基本控制块,称proc结构):不管进程是否正占有处理器运行。系统经常会对这部分的内容进行查询和处理,常驻部分的内容包括:进程状态、过程待征、优先数、数据段始址、等待原因和队列指针等,这是进行处理器调度时必须使用的一些主要信息。,12,2) 非常驻主存部分(称扩充控制块,称user结构) :当进程不占有处理器时,系统不会对这部分的内容进行查询相处理,因此,这部分内容可以存放在磁盘的对换区中,它随用户的程序和数据部分换进或换出主存。,UNIX系统把进程的数据段又划分成三部分: 1)用户栈区(供用户程序使用的信息区); 2)用户数据区(包括用户工作数据和非再入的程序段); 3)进程数据区ppda(包括系统变量和对换信息)。,正文段:是可再入的程序,能被若干进程共享。为了管理可共享的正文段, UNIX设置了一张正文表每个正文段都占用一个表目,用来指出该正文段在主存和磁盘上的位置、段的大小、调用该段的进程数等情况。,13,UNIX进程结构 UNIX中的进程称为进程映象。组成由下图所示。,14,2.进程的虚拟地址结构 1) 进程数据结构及其相互关系,15,2) 系统区表,16,3) 区表与进程结构,17,3.进程上下文,18,19,“0#进程”:进行进程在主存与磁盘之间的切换调度。 注: 1) 正在处理器上运行的进程的所有信息全部存放在主存中。 2) 当一个进程让出处理器时,如果主存空间紧张的话,就可把该进程的大部分信息(除常驻部分)送到磁盘的对换区中,使它原占用的主存区域可分配给别的进程。如果主存中有足够的空闲区时,又可将在磁盘对换区中的进程装入到主存,以便在适当的时机可以去占有处理器运行。 所以,在UNIX系统中经常要发生进程在主存与磁盘之间的切换调度,这种调度是由一个被称其为“0#进程”的特殊进程来完成的。,二、正在处理器上运行的进程,20,在UNIX系统中处于就绪状态的进程可能在主存中,也可能在磁盘对换区中。一个就绪状态的进程,如果在磁盘交换区中,则要让它占有处理器运行的话,必须先把它调入主存。 UNIX系统是采用优先数调度算法分配处理器的: 1)每个进程都有一个优先数; 2)一个就绪进程能得到处理器的优先权取决于进程的优先数,优先数越小则优先权越高。在UNIX系统中,调度程序总是选择优先数最小的就绪进程去占用处理器。 3)系统进程的优先数低于用户进程的优先数。,就绪状态的进程:,21,4)进程在执行中其优先数可以动态改变,例如,对连续使用处理器时间较长的进程增加其优先数,使它的优先权相应降低;而在较长时间里末使用处理器或虽频繁使用处理器但每次使用时间都很短的进程降低优先数,使它的优先权相应提高。又如,对执行I0操作的进程给以优惠,因为它们为了等待IO传输而已较长时间没有使用处理器,故在完成IO传输后,这些进程的优先数可降低。,进程创建: 一个进程可通过系统调用fork创建新的进程形成父子关系,分别称为父进程和子进程。父进程与子进程可并发执行子进程不共享父进程的主存但子进程却可共享父进程已打开的所有文件和当前日录。,22,进程执行: 进程可通过系统调用exec来执行一个新文件,即进程可用新文件中指定的正文段和数据段宋代替原有的正文段和数据段。这意味着改变了进程执行的程序,但仍然可以使用原来打开的文件。即exec用于把一个程序覆盖在正在执行的进程上而作为当前进程。,进程同步:,UNIX中的系统调用Wait和exit是实现进程间同步的主要手段,父进程用系统调用wait等待它的一个子进程终止;子进程用系统调用exit终止自己,并唤醒父进程进行善后处理。,23,三、进程状态及其转换,1创建状态 当父进程执行fork系统调用创建子进程期间,新被创建的子进程处于创建状态。 2内存中的就绪 进程已在内存且处于就绪状态。对于新创建的进程,若有足够的内存,核心可将它安置在内存中,新进程便处于内存就绪状态。 3外存中的就绪 进程处于就绪状态,但被换出到外存中。在创建新进程时,若无足够的内存,核心将新进程安置在外存对换区中,形成就绪且换出状态;此外,原已在内存中的就绪进程,可能因内存紧张而被换出,同样也成为就绪且换出状态。 4核心态执行 一个进程在执行系统调用时,即转换为核心态执行。,24,5用户态执行 用户程序在执行完系统调用后,使出核心态执行转变为用户态执行。 6内存中的睡眠 进程已在内存且正处于睡眠状态。如果进程所执行的系统调用涉及到Io操作,而进程又须等待它的完成,则进程将进入在内存中睡眠状态。 7外存中的睡眠 内存紧张时,在内存中睡眠的进程首先被核心换出到外存上,以腾出内存。此时,进程将转变为睡眠且换出状态。 8被剥夺状态 当运行进程要从核心态返回到用户态时,核心可剥夺该进程的运行,而调度另一进程。被剥夺运行的进程便转变为被剥夺状态。被剥夺状态和内存就绪状态是等价的。系统v规定有这两种状态,是为了强调正在核心态运行的进程不能被剥夺,仅当它即将返回用户态时,才能被剥夺。,25,9僵死状态 当进程执行了exit系统调用后,便处于僵死状态。此时进程已不存在,但它留下一个含有状态码和一些计时统计信息的记录,供父进程收集。,26,27,四 、进程控制 1.Unix启动及进程树的形成,28,2.进程的创建,29,3.执行一个文件的调用,30,用C程序实现如下: #include main() char comand32; char* prompt=“$”; while(printf(“%s”,prompt),gets(command)!=NULL) if(fork()=0) execlp(command,command,(char *)0); else wait(0); ,31,五、Unix进程调度与交换 1.进程调度 1)调度原理 Unix系统的进程调度采用多级反馈循环调度法,即系统给进程分配一个时间片,当时间片结束时,系统动态计算进程的优先数,若有优先级高于(优先数小于)当前进程的“在内存就绪”进程时,系统设置调度标识,在由核心态转换至用户态前调度高优先级的进程运行,并把被抢先的进程反馈到相应的优先级队列中。一个进程的执行可能要经过多次这样的反馈循环。 时间片是UNIX进程调度计算优先数的重要参数,而优先数的大小又决定哪个进程将占有CPU,因此,时间片和优先数这两个参数对UNIX进程调度起着举足轻重的作用。,32,UNIX进程调度涉及的主要问题是: A、调度时机 B、调度标志的设置 C、调度策略与优先数的计算 D、调度的实现 2)调度的时机 A、进程自动放弃CPU时 B、进程由核心态转入用户态时 3)调度标志的设置 A、进行调度的标志runrun B、runin C、runout,33,4)调度策略与优先数的设置 A、策略:动态优先 B、优先数计算: P_pri=P_cpu/2+PUSER+P_nice+NZERO 5)调度的实现:完成进程之间的上下文切换。 A、确定是否切换 B、选一就绪进程占用CPU C、恢复选中进程现场,34,2.交换 交换由0号进程完成, 过程如下:,35,六 、进程通信 1.低级通信 A、利用Sleep和Wakeup实现进程间的同步与互斥 B、利用软中断实现同一用户的诸进程间的通信。(软中断信号见160页,图6.14) 2.IPC通信 A、消息通信 B、共享存储区 C、信号量机制,36,消息通信:,37,信号量机制,共享存储区,38,管道通信(pipe): UNIX提供管道设施pipe实现进程间的通信,一个进程可以把信息写入Pipe的左端,另一进程可以从Pipe的右端读出信息.,pipe是连接在进程间的可共享文件,称为pipe文件。 进程可以对pipe文件进行读、写操作,写进程可以把信息写入pipe文件,而读进程从pipe文件中读取信息。,39,UNIX限制Pipe文件的最大长度是4096字节,所以,进程通信时若信息量大于4096字节则要分批传送。当pIpe已满则写进程必须等待,直到PiPe有空间时才能继续向pipe中写信息;当pipe为空时则读进程必须等待,直到piPe中有信息时才能读出。,40,虚存空间的划分,VAX-11机的地址字长为32位,寻址范围为232 虚拟空间被分成四个功能段,每个功能段最大寻址范围为230 0230-1 为进程的程序区,称为P0 区, 230231-1 为进程的控制区,称为P1区。 231 231+230 -1 为系统区,供多进程共享。 231+230 232-1 为保留区,供扩充功能时用。,提供了内存与
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 运动休闲装的设计与老年市场需求考核试卷
- 社区多元文化理解与应用考核试卷
- 民事代理与律师谈判技巧考核试卷
- 船舶改装船舶防污染措施考核试卷
- 石油开采业的全球化与地区特色发展策略考核试卷
- 茶饮料市场细分与个性化定制考核试卷
- 财务管理成本模型构建与应用
- 购物中心家电品牌专卖店特许经营合同
- 光伏电站全生命周期委托管理与市场推广合同
- 智能玻璃生产线质量检测设备租赁及智能优化服务合同
- 店长晋级管理制度内容
- 行政组织学 课件 第6章 行政组织决策
- 2024年体育理论基本知识题库150题含答案
- 云安全事件案例
- 【MOOC】戏曲鉴赏-扬州大学 中国大学慕课MOOC答案
- 《反对邪教主题班会》课件
- 招标代理机构遴选投标方案(技术标)
- DB41T 2619-2024 水利工程输水管道单元工程施工质量验收评定规范
- 小米公司新员工培训方案
- GB/T 21220-2024软磁金属材料
- 《乙烯》教案 化学
评论
0/150
提交评论