收藏 分享(赏)

第1章(郝)2015.ppt

上传人:dreamzhangning 文档编号:3331307 上传时间:2018-10-14 格式:PPT 页数:82 大小:527.50KB
下载 相关 举报
第1章(郝)2015.ppt_第1页
第1页 / 共82页
第1章(郝)2015.ppt_第2页
第2页 / 共82页
第1章(郝)2015.ppt_第3页
第3页 / 共82页
第1章(郝)2015.ppt_第4页
第4页 / 共82页
第1章(郝)2015.ppt_第5页
第5页 / 共82页
点击查看更多>>
资源描述

1、操作系统原理,信息科学技术学院 计算机科学系 主讲:郝振明 Email: ftp:/:8021 作业上传:(upload, zysc) 资料下载:(download, zlxz),本课程介绍,课程特点: 概念多 算法多 理论深(个别) 实验难 应用广-计算机专业核心课程,教材及参考书:,教材:计算机操作系统(第4版)+习题集 汤小丹 梁红兵 哲凤屏 汤子赢 西安电子科技大学出版社 主要参考书: 1.现代操作系统 Andrew S.Tanenbaum 著 陈向群 马洪兵 译 机械工业出版社2.操作系统 (美) Gary Nutt 著 孟祥山 晏益慧 译 西安电子科技大学出版社3. Unix/Li

2、nux应用、编程与管理(第3版) Sumitabha Das著 贾洪峰 李莉 译 人民邮电出版社4.操作系统基础 (第3版) 屠祁 屠立德 清华大学出版社,课程要求与考试:,学习态度认真 70%以上的出勤率(10-15%总评) 课后练习习题集(做一编)(10-15%总评) 听课、回答问题(5%总评) 期末考试(70%总评) 实验:独立课程,实验报告 80%,出勤率(20%) 实验内容:见ftp:/:8021“资料下载”,本科实验报告(封面),课程名称:操作系统原理实验 课程编号:08060157 学生姓名:李XX 学号:2013XXXXXX 学院:信息科学技术学院 系:计算机科学系 专业:软件

3、工程 指导教师:郝振明 教师单位:计算机科学系 开课时间: 20142015学年第二学期暨南大学教务处2014年 6 月 5 日,操作系统原理实验实验项目目录 (首页),学生姓名: XXX 学号: 2013XXXXXX,第一章 操作系统引论,1.1 操作系统的目标和作用 1.2 操作系统的发展过程 1.3 操作系统的基本特性 1.4 操作系统的主要功能 1.5 操作系统的结构设计,关于操作系统,为什么需要操作系统?计算机系统组成:CPU、主存、磁盘、打印机、键盘、鼠标、显示器、网络接口等。系统特点:复杂、难掌握、难使用,对用户要求太高。解决办法:安装一层软件(操作系统)来解决上述问题。 操作系

4、统的主要任务:为用户提供一个更好、更简单、更清晰的计算机模型,并管理这些硬件或设备。 常见的OS: Windows、IOS、Linux等。,1.1 操作系统的目标和作用,1.1.1 操作系统的目标,目前存在着多种类型的OS,不同类型的OS,其目标各有所侧重。通常在计算机硬件上配置的OS,其目标有以下几点:1. 方便性(Windows兴盛的一个重要特性)2. 有效性 (本书主要的一个讨论内容)3. 可扩充性 (键盘-鼠标-移动或U盘-光笔-网络OS等 )4. 开放性(Windows与Linux出发点不同),1.1.2 操作系统的作用,1. OS作为用户与计算机硬件系统之间的接口 含义是:OS处于

5、用户与计算机硬件系统之间,用户通过OS来使用计算机系统。或者说,用户在OS帮助下,能够方便、快捷、安全、可靠地操纵计算机硬件和运行自己的程序。应注意,OS是一个系统软件,因而这种接口是软件接口。,图 1-1 OS作为接口的示意图,操作系统,(1) 命令方式。这是指由OS提供了一组联机命令(语言、程序), 用户可通过键盘输入有关命令,来直接操纵计算机系统,这个程序通常叫shell。(2) 图形、窗口方式。用户通过屏幕上的窗口和图标来操纵计算机系统和运行自己的程序,这个程序通常叫图形用户界面(GUI)。Shell与GUI都不是OS的一部分,它们只是使用了OS。 (3) 系统调用方式。OS提供了一组

6、系统调用,用户可在自己的应用程序中通过相应的系统调用,来操纵计算机。,3种OS的使用方式,计算机的两种状态,多种计算机有两种运行状态:内核态(管态、核心态)和用户态。 OS运行在内核态,(1) 它具有对所有硬件的完全访问权;(2) 可以执行机器能够运行的任何指令。 模型中的其它软件运行在用户态,它只使用了机器指令中的一个子集。对机器控制或进行I/O操作的指令都不允许出现在该状态中。 Shell与GUI处于用户程序中的最低层,允许用户运行更高层次的应用程序(Web)。,2. OS作为计算机系统资源的管理者在一个计算机系统中,资源分为四类:处理器、存储器、 I/O设备以及信息(数据和程序)。相应地

7、,OS的主要功能也正是针对这四类资源进行有效的管理,即:处理机管理, 用于分配和控制处理机;存储器管理,主要负责内存的分配与回收;I/O设备管理,负责I/O设备的分配与操纵;文件管理,负责文件的存取、共享和保护。可见,OS确是计算机系统资源的管理者。事实上,关于OS作用的观点,正是把OS作为计算机系统的资源管理者。,3. OS用作扩充机器一台完全无软件的计算机即裸机,是难于使用的。如果在裸机上覆盖上一层I/O设备管理软件,便可利用它所提供的I/O命令,来进行数据输入和输出。通常把覆盖了软件的机器称为扩充机器或虚机器。如果再覆盖上一层文件管理软件,则可利用该软件提供的文件存取命令,来进行文件的存

8、取。如果再覆盖一层面向用户的窗口软件,则用户便可在窗口环境下方便地使用计算机,形成一台功能更强的虚机器。,1.1.3 推动操作系统发展的主要动力,不断提高计算机资源利用率 2. 方便用户 3. 器件的不断更新换代 4. 计算机体系结构的不断发展,1.2 操作系统的发展过程,1.2.1 无操作系统的计算机系统,1. 人工操作方式(1个作业/次,人工)从第一台计算机诞生(1945年)到50年代中期的计算机,属于第一代,这时还未出现OS。计算机操作是由用户(即程序员)采用人工方式直接使用计算机硬件系统。这种人工操作方式有以下两方面的缺点:(1) 用户独占全机。(2) CPU等待人工操作。还有:一组人

9、专门设计、建造、编程、操作并维护一台机器,使用机器语言,预约机时,等待正常结果。,2. 脱机输入/输出(Off-Line I/O)方式(1个作业/次,自动),这种脱机I/O方式的主要优点如下: 减少了CPU的空闲时间。 (2) 提高I/O速度。,图 1-2 脱机I/O示意图,1.2.2 单道批处理系统(一批/次,自动,一道),单道批处理系统(Simple Batch Processing System)的处理过程一批卡片作业(一个或一组程序)被读入到磁带-将它作为输入磁带装机-计算-将结果写到输出磁带-统一打印一批作业,图 1-3 单道批处理系统的处理流程,2. 单道批处理系统的特征单道批处理

10、系统是最早出现的一种OS,严格地说,它只能算作是OS的前身而并非是现在人们所理解的OS。尽管如此,该系统比起人工操作方式的系统已有很大进步。 该系统的主要特征如下:(1) 自动性。 (2) 顺序性。 (3) 单道性。,1.2.3 多道批处理系统 (一批/次,自动,多道),1. 多道程序设计的基本概念在单道批处理系统中,内存中仅有一道作业,它无法充分利用系统中的所有资源,致使系统性能较差。为了进一步提高资源的利用率和系统吞吐量,引入了多道程序设计技术,由此而形成了多道批处理系统(Multiprogrammed Batch Processing System)。在该系统中, 用户所提交的作业都先存

11、放在外存上并排成一个队列,称为“后备队列”;然后,由作业调度程序按一定的算法从后备队列中选择若干个作业调入内存,使它们共享CPU和系统中的各种资源。,在OS中引入多道程序设计技术可带来以下好处: 提高CPU的利用率(效率-CPU),当内存中仅有一道程序时,每逢该程序在运行中发出I/O请求后,CPU空闲,必须在其I/O完成后才继续运行;尤其因I/O设备的低速性,更使CPU的利用率显著降低。图 1-4(a)示出了单道程序的运行情况,从图可以看出:在t2t3、 t6t7时间间隔内CPU空闲。在引入多道程序设计技术后, 由于同时在内存中装有若干道程序,并使它们交替地运行, 这样,当正在运行的程序因I/

12、O而暂停执行时,系统可调度另一道程序运行,从而保持了CPU处于忙碌状态。,图 1-4 单道和多道程序运行情况,(2) 可提高内存和I/O设备利用率(效率-内存和I/O设备) 为了能运行较大的作业,通常内存都具有较大容量,但由于80%以上的作业都属于中小型,因此在单道程序环境下,也必定造成内存的浪费。类似地,对于系统中所配置的多种类型的I/O设备, 在单道程序环境下也不能充分利用。如果允许在内存中装入多道程序, 并允许它们并发执行,则无疑会大大提高内存和I/O设备的利用率。(3) 增加系统吞吐量(效率-减少机时、节省费用) 在保持CPU、I/O设备不断忙碌的同时,也必然会大幅度地提高系统的吞吐量

13、,从而降低作业加工所需的费用。,2. 多道批处理系统的特征,多道性。 (2) 无序性。 (3) 调度性。,3. 多道批处理系统的优缺点,资源利用率高(优点)。 (2) 系统吞吐量大(优点) 。 (3) 平均周转时间长(缺点) 。 (4) 无交互能力(缺点) 。,4. 多道批处理系统需要解决的问题,处理机管理问题。 (2) 内存管理问题。 (3) I/O设备管理问题。 (4) 文件管理问题。 (5) 作业管理问题。,1.2.4 分时系统(效率-人),1. 分时系统(Time-Sharing System)的产生如果说, 推动多道批处理系统形成和发展的主要动力,是提高资源利用率和系统吞吐量,那么,

14、推动分时系统形成和发展的主要动力,则是用户的需求。或者说, 分时系统是为了满足用户需求所形成的一种新型OS。用户的需求具体表现在以下几个方面:(1) 人机交互。 (2) 共享主机。 (3) 便于用户上机。,2. 分时系统实现中的关键问题,为实现分时系统,其中,最关键的问题是如何使用户能与自己的作业进行交互,即当用户在自己的终端上键入命令时, 系统应能及时接收并及时处理该命令,再将结果返回给用户。 此后, 用户可继续键入下一条命令,此即人机交互。应强调指出,即使有多个用户同时通过自己的键盘键入命令,系统也应能全部地及时接收并处理,(1) 及时接收。,(2) 及时处理。,3. 分时系统的特征,多路

15、性。 (2) 独立性。 (3) 及时性。 (4) 交互性。,1.2.5 实时系统,所谓“实时”,是表示“及时”,而实时系统(Real-Time System)是指系统能及时(或即时)响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。,1. 应用需求,实时控制。(2) 实时信息处理。,2. 实时任务,1) 按任务执行时是否呈现周期性来划分 周期性实时任务。 (2) 非周期性实时任务。,外部设备所发出的激励信号并无明显的周期性,但都必须联系着一个截止时间(Deadline)。它又可分为: 开始截止时间任务在某时间以前必须开始执行; 完成截止时间任务在某时间以前

16、必须完成。,2) 根据对截止时间的要求来划分(1) 硬实时任务(hard real-time task)。系统必须满足任务对截止时间的要求,否则可能出现难以预测的结果。(2) 软实时任务(Soft real-time task)。它也联系着一个截止时间, 但并不严格,若偶尔错过了任务的截止时间, 对系统产生的影响也不会太大。,3. 实时系统与分时系统特征的比较 多路性。 (2) 独立性。 (3) 及时性。 (4) 交互性。 (5) 可靠性。,1.3 操作系统的基本特性,1.3.1 并发(Concurrence),并行性是指两个或多个事件在同一时刻发生;而并发性是指两个或多个事件在同一时间间隔内

17、发生。在多道程序环境下,并发性是指在一段时间内,宏观上有多个程序在同时运行,但在单处理机系统中,每一时刻却仅能有一道程序执行,故微观上这些程序只能是分时地交替执行。若在计算机系统中有多个处理机,则这些可以并发执行的程序便可被分配到多个处理机上,实现并行执行,即利用每个处理机来处理一个可并发执行的程序,这样,多个程序便可同时执行。,1.3.2 共享(Sharing)在操作系统环境下,所谓共享是指系统中的资源可供内存中多个并发执行的进程(线程)共同使用。由于资源属性的不同,进程对资源共享的方式也不同,目前主要有以下两种资源共享方式。,1. 互斥共享方式系统中的某些资源,如打印机,虽然它们可以提供给

18、多个进程(线程)使用,但为使所打印的结果不致造成混淆,应规定在一段时间内只允许一个进程(线程)访问该资源。为此,当一个进程A要访问某资源时,必须先提出请求, 如果此时该资源空闲,系统便可将之分配给请求进程A使用, 其它进程也要访问该资源时)则必须等待。仅当A进程访问完并释放该资源后,才允许另一进程对该资源进行访问。我们把这种资源共享方式称为互斥式共享,而把在一段时间内只允许一个进程访问的资源称为临界资源或独占资源。 计算机系统中的大多数物理设备,以及某些软件中所用的栈、变量和表格,都属于临界资源,它们要求被互斥地共享。,2. 同时访问方式系统中还有另一类资源,允许在一段时间内由多个进程“同时”

19、对它们进行访问。这里所谓的“同时”往往是宏观上的,而在微观上,这些进程可能是交替地对该资源进行访问。典型的可供多个进程“同时”访问的资源是磁盘设备。并发和共享是操作系统的两个最基本的特征,它们又是互为存在的条件。一方面,资源共享是以程序(进程)的并发执行为条件的,若系统不允许程序并发执行,自然不存在资源共享问题;另一方面,若系统不能对资源共享实施有效管理, 协调好诸进程对共享资源的访问,也必然影响到程序并发执行的程度,甚至根本无法并发执行。,1.3.3 虚拟(Virtual)操作系统中的所谓“虚拟”,是指通过某种技术把一个物理实体变为若干个逻辑上的对应物。物理实体(前者)是实的, 即实际存在的

20、;而后者是虚的,是用户感觉上的东西。相应地,用于实现虚拟的技术,称为虚拟技术。在OS中利用了多种虚拟技术,分别用来实现虚拟处理机、虚拟内存、 虚拟外部设备和虚拟信道等。,在虚拟处理机技术中,是通过多道程序设计技术,让多道程序并发执行的方法,来分时使用一台处理机的。此时, 虽然只有一台处理机,但它能同时为多个用户服务,使每个终端用户都认为是有一个CPU在专门为他服务。亦即, 利用多道程序设计技术,把一台物理上的CPU虚拟为多台逻辑上的CPU,也称为虚拟处理机,我们把用户所感觉到的CPU称为虚拟处理器。,类似地,可以通过虚拟存储器技术,将一台机器的物理存储器变为虚拟存储器,以便从逻辑上来扩充存储器

21、的容量。此时,虽然物理内存的容量可能不大(如32 MB), 但它可以运行比它大得多的用户程序(如128 MB)。这使用户所感觉到的内存容量比实际内存容量大得多,认为该机器的内存至少也有128 MB。当然这时用户所感觉到的内存容量是虚的。我们把用户所感觉到的存储器称为虚拟存储器。,我们还可以通过虚拟设备技术,将一台物理I/O设备虚拟为多台逻辑上的I/O设备,并允许每个用户占用一台逻辑上的I/O设备,这样便可使原来仅允许在一段时间内由一个用户访问的设备(即临界资源),变为在一段时间内允许多个用户同时访问的共享设备。例如,原来的打印机属于临界资源,而通过虚拟设备技术,可以把它变为多台逻辑上的打印机,

22、供多个用户“同时”打印。在操作系统中,虚拟的实现主要是通过分时使用的方法。显然,如果n是某物理设备所对应的虚拟的逻辑设备数,则虚拟设备的平均速度必然是物理设备速度的1/n。,1.3.4 异步性(Asynchronism),在多道程序环境下,允许多个进程并发执行, 但只有进程在获得所需的资源后方能执行。在单处理机环境下,由于系统中只有一个处理机,因而每次只允许一个进程执行,其余进程只能等待。当正在执行的进程提出某种资源要求时,如打印请求,而此时打印机正在为其它某进程打印,由于打印机属于临界资源,因此正在执行的进程必须等待,且放弃处理机,直到打印机空闲,并再次把处理机分配给该进程时,该进程方能继续

23、执行。可见,由于资源等因素的限制,进程的执行通常是以“停停走走”的方式运行。,内存中的每个进程在何时能获得处理机运行,何时又因提出某种资源请求而暂停,以及进程以怎样的速度向前推进,每道程序总共需多少时间才能完成,等等,都是不可预知的。由于各用户程序性能的不同,比如,有的侧重于计算而较少需要I/O;而又有的程序其计算少而I/O多,这样,很可能是先进入内存的作业后完成; 而后进入内存的作业先完成。或者说,进程是以人们不可预知的速度向前推进,此即进程的异步性。尽管如此,但只要运行环境相同,作业经多次运行,都会获得完全相同的结果。因此,异步运行方式是允许的,是操作系统的一个重要特征。,1.4 操作系统

24、的主要功能,1.4.1 处理机管理功能,1. 进程控制在传统的多道程序环境下,要使作业运行,必须先为它创建一个或几个进程,并为之分配必要的资源。当进程运行结束时,立即撤消该进程,以便能及时回收该进程所占用的各类资源。进程控制的主要功能是为作业创建进程、撤消已结束的进程,以及控制进程在运行过程中的状态转换。 在现代OS中,进程控制还应具有为一个进程创建若干个线程的功能和撤消(终止)已完成任务的线程的功能。,2. 进程同步为使多个进程能有条不紊地运行,系统中必须设置进程同步机制。进程同步的主要任务是为多个进程(含线程)的运行进行协调。有两种协调方式: 进程互斥方式, 这是指诸进程(线程)在对临界资

25、源进行访问时, 应采用互斥方式; 进程同步方式,指在相互合作去完成共同任务的诸进程(线程)间,由同步机构对它们的执行次序加以协调。,3. 进程通信在多道程序环境下,进程(线程)相互合作去完成一个共同的任务。而在这些进程(线程)之间,又往往需要交换信息。例如,有三个相互合作的进程, 它们是输入进程、计算进程和打印进程。输入进程负责将所输入的数据传送给计算进程;计算进程利用输入数据进行计算, 并把计算结果传送给打印进程;最后,由打印进程把计算结果打印出来。进程通信的任务就是用来实现在相互合作的进程之间的信息交换。当相互合作的进程(线程)处于同一计算机系统时,通常在它们之前是采用直接通信方式,即由源

26、进程利用发送命令直接将消息(message)挂到目标进程的消息队列上,以后由目标进程利用接收命令从其消息队列中取出消息。,4. 调度在后备队列上等待的每个作业,通常都要经过调度才能执行。在传统的操作系统中,包括作业调度和进程调度两步。作业调度的基本任务,是从后备队列中按照一定的算法,选择出若干个作业,为它们分配资源。 在将它们调入内存后,便分别为它们建立进程,并按照一定的算法将它们插入就绪队列。而进程调度的任务,则是从进程的就绪队列中选出一新进程,把处理机分配给它。在多线程OS中,通常是把线程作为独立运行和分配处理机的基本单位,把就绪线程排成一个队列,每次调度时,是从就绪线程队列中选出一个线程

27、,把处理机分配给它。,1.4.2 存储器管理功能,1. 内存分配,OS在实现内存分配时,可采取静态和动态两种方式。在静态分配方式中,每个作业的内存空间是在作业装入时确定的;在作业装入后的整个运行期间, 不允许该作业再申请新的内存空间,也不允许作业在内存中“移动”; 在动态分配方式中,每个作业所要求的基本内存空间, 也是在装入时确定的,但允许作业在运行过程中,继续申请新的附加内存空间,以适应程序和数据的动态增涨,也允许作业在内存中“移动”。,为了实现内存分配,在内存分配的机制中应具有这样的结构和功能: 内存分配数据结构, 该结构用于记录内存空间的使用情况, 作为内存分配的依据; 内存分配功能,系

28、统按照一定的内存分配算法, 为用户程序分配内存空间; 内存回收功能,系统对于用户不再需要的内存,通过用户的释放请求,去完成系统的回收功能。,2. 内存保护内存保护的主要任务,是确保每道用户程序都只在自己的内存空间内运行,彼此互不干扰。 为了确保每道程序都只在自己的内存区中运行,必须设置内存保护机制。一种比较简单的内存保护机制,是设置两个界限寄存器,分别用于存放正在执行程序的上界和下界。系统须对每条指令所要访问的地址进行检查,如果发生越界,便发出越界中断请求,以停止该程序的执行。如果这种检查完全用软件实现,则每执行一条指令,便须增加若干条指令去进行越界检查,这将显著降低程序的运行速度。因此,越界

29、检查都由硬件实现。当然, 对发生越界后的处理, 还须与软件配合来完成。,3. 地址映射一个应用程序(源程序)经编译后,通常会形成若干个目标程序;这些目标程序再经过链接便形成了可装入程序。这些程序的地址都是从“0”开始的,程序中的其它地址都是相对于起始地址计算的; 由这些地址所形成的地址范围称为“地址空间”, 其中的地址称为“逻辑地址”或“相对地址”。此外,由内存中的一系列单元所限定的地址范围称为“内存空间”, 其中的地址称为“物理地址”。在多道程序环境下,每道程序不可能都从“0”地址开始装入(内存), 这就致使地址空间内的逻辑地址和内存空间中的物理地址不相一致。使程序能正确运行,存储器管理必须

30、提供地址映射功能,以将地址空间中的逻辑地址转换为内存空间中与之对应的物理地址。该功能应在硬件的支持下完成。,4. 内存扩充存储器管理中的内存扩充任务,并非是去扩大物理内存的容量,而是借助于虚拟存储技术,从逻辑上去扩充内存容量,使用户所感觉到的内存容量比实际内存容量大得多; 或者是让更多的用户程序能并发运行。这样,既满足了用户的需要,改善了系统的性能,又基本上不增加硬件投资。 为了能在逻辑上扩充内存,系统必须具有内存扩充机制, 用于实现下述各功能:(1) 请求调入功能。 (2) 置换功能。,1.4.3 设备管理功能设备管理用于管理计算机系统中所有的外围设备, 而设备管理的主要任务是,完成用户进程

31、提出的I/O请求; 为用户进程分配其所需的I/O设备;提高CPU和I/O设备的利用率;提高I/O速度;方便用户使用I/O设备。为实现上述任务,设备管理应具有缓冲管理、设备分配和设备处理,以及虚拟设备等功能。,1. 缓冲管理CPU运行的高速性和I/O低速性间的矛盾自计算机诞生时起便已存在。 而随着CPU速度迅速、大幅度的提高,使得此矛盾更为突出,严重降低了CPU的利用率。如果在I/O设备和CPU之间引入缓冲,则可有效地缓和CPU和I/O设备速度不匹配的矛盾,提高CPU的利用率,进而提高系统吞吐量。 因此,在现代计算机系统中, 都毫无例外地在内存中设置了缓冲区,而且还可通过增加缓冲区容量的方法,来

32、改善系统的性能。最常见的缓冲区机制有单缓冲机制、能实现双向同时传送数据的双缓冲机制,以及能供多个设备同时使用的公用缓冲池机制。,2. 设备分配设备分配的基本任务,是根据用户进程的I/O请求、系统的现有资源情况以及按照某种设备分配策略,为之分配其所需的设备。为了实现设备分配,系统中应设置设备控制表、控制器控制表等数据结构,用于记录设备及控制器的标识符和状态。据这些表格可以了解指定设备当前是否可用,是否忙碌,以供进行设备分配时参考。在进行设备分配时,应针对不同的设备类型而采用不同的设备分配方式。对于独占设备(临界资源)的分配,还应考虑到该设备被分配出去后,系统是否安全。 设备使用完后,还应立即由系

33、统回收。,3. 设备处理设备处理程序又称为设备驱动程序。其基本任务是用于实现CPU和设备控制器之间的通信,即由CPU向设备控制器发出I/O命令,要求它完成指定的I/O操作;反之由CPU接收从控制器发来的中断请求,并给予迅速的响应和相应的处理。,1.4.4 文件管理功能,1. 文件存储空间的管理由文件系统对诸多文件及文件的存储空间,实施统一的管理。其主要任务是为每个文件分配必要的外存空间,提高外存的利用率,并能有助于提高文件系统的运行速度。为此,系统应设置相应的数据结构,用于记录文件存储空间的使用情况,以供分配存储空间时参考;系统还应具有对存储空间进行分配和回收的功能。为了提高存储空间的利用率,

34、对存储空间的分配,通常是采用离散分配方式,以减少外存零头,并以盘块为基本分配单位。盘块的大小通常为512 B8 KB。,2. 目录管理为了使用户能方便地在外存上找到自己所需的文件,通常由系统为每个文件建立一个目录项。目录项包括文件名、文件属性、文件在磁盘上的物理位置等。由若干个目录项又可构成一个目录文件。目录管理的主要任务, 是为每个文件建立其目录项,并对众多的目录项加以有效的组织,以实现方便的按名存取。即用户只须提供文件名, 即可对该文件进行存取。其次,目录管理还应能实现文件共享,这样,只须在外存上保留一份该共享文件的副本。此外,还应能提供快速的目录查询手段,以提高对文件的检索速度。,3.

35、文件的读/写管理和保护(1) 文件的读/写管理。该功能是根据用户的请求,从外存中读取数据;或将数据写入外存。在进行文件读(写)时,系统先根据用户给出的文件名,去检索文件目录,从中获得文件在外存中的位置。然后,利用文件读(写)指针,对文件进行读(写)。一旦读(写)完成,便修改读(写)指针,为下一次读(写)做好准备。由于读和写操作不会同时进行,故可合用一个读/写指针。(2) 文件保护。 防止未经核准的用户存取文件; 防止冒名顶替存取文件; 防止以不正确的方式使用文件。,1.4.5 用户接口,1. 命令接口,(1) 联机用户接口。这是为联机用户提供的,它由一组键盘操作命令及命令解释程序所组成。当用户

36、在终端或控制台上每键入一条命令后,系统便立即转入命令解释程序,对该命令加以解释并执行该命令。在完成指定功能后,控制又返回到终端或控制台上,等待用户键入下一条命令。这样,用户可通过先后键入不同命令的方式,来实现对作业的控制,直至作业完成。,(2) 脱机用户接口。该接口是为批处理作业的用户提供的,故也称为批处理用户接口。该接口由一组作业控制语言JCL组成。批处理作业的用户不能直接与自己的作业交互作用,只能委托系统代替用户对作业进行控制和干预。这里的作业控制语言JCL便是提供给批处理作业用户的、为实现所需功能而委托系统代为控制的一种语言。作业一直在作业说明书的控制下运行,直至遇到作业结束语句时,系统

37、才停止该作业的运行。,2. 程序接口该接口是为用户程序在执行中访问系统资源而设置的,是用户程序取得操作系统服务的惟一途径。它是由一组系统调用组成,每一个系统调用都是一个能完成特定功能的子程序,每当应用程序要求OS提供某种服务(功能)时,便调用具有相应功能的系统调用。在高级语言以及C语言中,往往提供了与各系统调用一一对应的库函数,这样,应用程序便可通过调用对应的库函数来使用系统调用。但在近几年所推出的操作系统中,如UNIX、OS/2版本中,其系统调用本身已经采用C语言编写,并以函数形式提供,故在用C语言编制的程序中, 可直接使用系统调用。,3. 图形接口用户虽然可以通过联机用户接口来取得OS的服

38、务,但这时要求用户能熟记各种命令的名字和格式,并严格按照规定的格式输入命令,这既不方便又花时间,于是,图形用户接口便应运而生。图形用户接口采用了图形化的操作界面, 用非常容易识别的各种图标(icon)来将系统的各项功能、各种应用程序和文件,直观、逼真地表示出来。用户可用鼠标或通过菜单和对话框,来完成对应用程序和文件的操作。此时用户已完全不必像使用命令接口那样去记住命令名及格式,从而把用户从繁琐且单调的操作中解脱出来。,1.5 操作系统的结构设计,1.5.1 软件工程的基本概念,1. 软件的含义所谓软件,是指当计算机运行时,能提供所要求的功能和性能的指令和程序的集合,该程序能够正确地处理信息的数

39、据结构;作为规范软件,还应具有描述程序功能需求以及程序如何操作使用的文档。如果说,硬件是物理部件, 那么,软件则是一种逻辑部件,它具有与硬件完全不同的特点。,2. 软件工程的含义软件工程是指运用系统的、规范的和可定量的方法,来开发、运行和维护软件;或者说,是采用工程的概念、 原理、 技术和方法,来开发与维护软件, 其目的是为了解决在软件开发中所出现的编程随意、软件质量不可保证以及维护困难等问题。,1.5.2 传统的操作系统结构操作系统是一个十分复杂的大型软件。为了控制该软件的复杂性,在开发OS时,先后引入了分解、模块化、 抽象和隐蔽等方法。开发方法的不断发展,促进了OS结构的更新换代。这里,我

40、们把第一代至第三代的OS结构, 称为传统的OS结构,而把微内核的OS结构称为现代OS结构。,1. 无结构操作系统,2. 模块化OS结构,图 1-5 模块化操作系统结构,2) 模块化OS的优缺点 提高了OS设计的正确性、 可理解性和可维护性。 (2) 增强了OS的可适应性。 (3) 加速了OS的开发过程。,3. 分层式OS结构,1) 有序分层的基本概念从改进设计方式上说,应使我们的每一步设计都是建立在可靠的基础上。我们可以从物理机器开始, 在其上面先添加一层具有一定功能的软件A1, 由于A1是建立在完全确定的物理机器上的,在经过精心设计和几乎是穷尽无遗的测试后,可以认为A1是正确的;然后再在A1

41、上添加一层新软件A2,如此一层一层地自底向上增添软件层,每一层都实现若干功能,最后总能构成一个能满足需要的OS。,分层式结构设计的基本原则是:每一层都仅使用其底层所提供的功能和服务,这样可使系统的调试和验证都变得容易, 例如,在调试第一层软件A1时,由于它只使用了物理机器提供的功能,因此它将与其所有的高层软件A2,An无关; 同样在调试A2时,它也只使用了A1和物理机器所提供的功能, 而与其高层软件A3, ,An无关,这样,一旦发现Ai出现错误时,通常该错误只会局限于Ai,因为它与所有其高层的软件无关,而Ai层以下的各层软件,又都经过仔细的调试。,2) 层次的设置(1) 程序嵌套。 通常OS的

42、每个功能的实现, 并非是只用一个程序便能完成的,而是要经由若干个软件层才有可能完成。因此在划分OS层次时,首先要考虑在实现OS 的每个功能时所形成的程序嵌套。例如,作业调度模块须调用进程控制模块;在为某作业创建一进程时,进程控制模块又须调用内存管理模块为新进程分配内存空间,可见,进程控制模块应在内存管理模块之上; 而作业调度模块又应在更高层。,(2) 运行频率。在分层结构中,各层次软件的运行速度是不同的,因为A1层软件能直接在物理机器上运行, 故它有最高的运行速度。随着层次的增高,其相应软件的运行速度就随之下降,因而An层软件的运行速度最低。 为了提高OS的运行效率,应该将那些经常活跃的模块放

43、在最接近硬件的A1层,如时钟管理、进程调度,通常都放在A1层。,(3) 公用模块。应把供多种资源管程程序调用的公用模块, 设置在最低层,不然,会使比它低的层次模块由于无法调用它而须另外配置相应功能的模块。例如,用于对信号量进行操作的原语Signal和Wait。(4) 用户接口。为方便用户(程序),OS向用户提供了“用户与OS的接口”,如命令接口、程序接口以及图形用户接口。这些接口应设置在OS的最高层,直接提供给用户使用。,1.5.3 微内核OS结构,1. 客户/服务器模式(Client-Server Model)1) 基本概念将OS划分为两部分, 一部分是用于提供各种服务的一组服务器(进程),

44、如用于提供进程管理的进程服务器、提供存储器管理的存储器服务器、提供文件管理的文件服务器等,所有这些服务器(进程)都运行在用户态。 当有一用户进程(现在称为客户进程)要求读文件的一个盘块时,该进程便向文件服务器(进程)发出一个请求;服务器完成请求后,给该客户回送一个响应。 另一部分是内核,用来处理客户和服务器之间的通信, 即由内核来接收客户的请求,再将该请求送至相应的服务器;同时它也接收服务器的应答, 并将此应答回送给请求客户。 此外,在内核中还应具有其它一些机构,用于实现与硬件紧密相关的和一些较基本的功能。,图 1-6 单机环境下的客户/服务器模式,2) 客户/服务器模式的优点 提高了系统的灵

45、活性和可扩充性。 (2) 提高了OS的可靠性。 (3) 可运行于分布式系统中。,2. 面向对象的程序设计技术(Object-Orientated Programming),1) 面向对象技术的基本概念面向对象技术是20世纪80年代初提出并很快流行起来的。该技术是基于“抽象”和“隐蔽”原则来控制大型软件的复杂度的。所谓对象,是指在现实世界中具有相同属性、服从相同规则的一系列事物的抽象,而把其中的具体事物称为对象的实例。OS中的各类实体如进程、线程、消息、存储器等,都使用了对象这一概念,相应地,便有进程对象线程对象、 存储器对象等。,图 1-7 一个对象的示意图,2) 面向对象技术的优点(1) 可

46、修改性和可扩充性。由于隐蔽了表示实体的数据和操作,因而可以改变对象的表示而不会影响其它部分, 从而可以方便地改变老的对象和增加新的对象。(2) 继承性。继承性是面向对象技术所具有的重要特性。继承性是指子对象可以继承父对象的属性,这样,在创建一个新的对象时, 便可减少大量的时空开销。(3) 正确性和可靠性。由于对象是构成操作系统的基本单元,可以独立地对它进行测试,这样,比较易于保证其正确性和可靠性,从而比较容易保证整个系统的正确性和可靠性。,3. 微内核技术 微内核技术的引入,所谓微内核技术,是指精心设计的、能实现现代OS核心功能的小型内核,它与一般的OS(程序)不同, 它更小更精炼,它不仅运行在核心态,而且开机后常驻内存, 它不会因内存紧张而被换出内存。微内核并非是一个完整的OS, 而只是为构建通用OS提供一个重要基础。由于在微内核OS结构中,通常都采用了客户/服务器模式,因此OS的大部分功能和服务,都是由若干服务器来提供的, 如文件服务器、作业服务器和网络服务器等。,2) 微内核的基本功能微内核所提供的功能,通常都是一些最基本的功能,如进程管理、存储器管理、进程间通信、 低级I/O功能。 (1) 进程管理。 (2) 存储器管理。 (3) 进程通信管理。 (4) I/O设备管理。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报