1、2022-12-7计算机操作系统1计算机操作系统(Operating System)2022-12-7计算机操作系统2课程要求 平时成绩 成绩构成:考勤点名+课堂提问/讨论+其他表现 上机实验成绩 成绩构成:6次上机实验成绩 期末笔试 2022-12-7计算机操作系统3第一章 操作系统引论2022-12-7计算机操作系统4本章内容提纲操作系统的概念操作系统的目标操作系统的作用操作系统的发展史操作系统的分类操作系统的基本特征操作系统的主要功能操作系统的结构设计2022-12-7计算机操作系统5什么是计算机操作系统?计算机系统是由硬件和软件组成的,操计算机系统是由硬件和软件组成的,操作系统是硬件基
2、础上的第一层软件,是作系统是硬件基础上的第一层软件,是对操作系统的第一层扩充。对操作系统的第一层扩充。安装了操作系统的计算机称为虚拟机安装了操作系统的计算机称为虚拟机(virtual machine),(virtual machine),是对裸机的扩展是对裸机的扩展.2022-12-7计算机操作系统6操作系统所在的位置 2022-12-7计算机操作系统7操作系统将丑陋的硬件转变为美丽的抽象2022-12-7计算机操作系统8操作系统的作用:操作系统的作用:用户与计算机硬件系统之间的接口用户与计算机硬件系统之间的接口 实现了对计算机资源的抽象(实现了对计算机资源的抽象(uglybeautiful)
3、计算机资源的管理者计算机资源的管理者 处理机、存储器,处理机、存储器,I/O,信息,信息 命令方式命令方式 cmd,ping 系统调用方式系统调用方式 count=read(fd,buffer,nbytes)图形、窗口方式图形、窗口方式2022-12-7计算机操作系统9操作系统的目标:操作系统的目标:有效性有效性 方便性方便性 可扩充性:功能可扩充可扩充性:功能可扩充 开放性开放性 linux android2022-12-7计算机操作系统10操作系统的发展史及分类操作系统的发展史及分类n无操作系统的计算机系统无操作系统的计算机系统n单道批处理系统单道批处理系统n多道批处理系统多道批处理系统n
4、分时系统分时系统n实时系统实时系统2022-12-7计算机操作系统11无操作系统的计算机系统无操作系统的计算机系统ENIAC计算机计算机(美国宾夕法尼亚大学)运算速度:运算速度:5000次/每秒 真空管:真空管:18000个 占地面积:占地面积:182平方米 重重 量量:130吨 功功 耗耗:140kW 2022-12-7计算机操作系统12无操作系统的计算机系统无操作系统的计算机系统 从第一台计算机诞生从第一台计算机诞生(1945年年)到到50年代中期的年代中期的计算机,属于第一代,这时还未出现计算机,属于第一代,这时还未出现OS。人工操作方式人工操作方式:这时的计算机操作是由用户:这时的计算
5、机操作是由用户(即程序员即程序员)采用人工操作方式直接使用计算机采用人工操作方式直接使用计算机硬件系统。硬件系统。由程序员将事先已穿孔由程序员将事先已穿孔(对应于程序和数据对应于程序和数据)的的纸带纸带(或卡片或卡片)装入纸带输入机装入纸带输入机(或卡片输入机或卡片输入机),再启动它们将程序和数据输入计算机,再启动它们将程序和数据输入计算机,然后启然后启动计算机运行。当程序运行完毕并取走计算结动计算机运行。当程序运行完毕并取走计算结果后,果后,才让下一个用户上机。才让下一个用户上机。2022-12-7计算机操作系统13 1张穿孔卡片等于100个字节 1MB=10K卡片 这种人工操作方式有以下两
6、方面的缺点:这种人工操作方式有以下两方面的缺点:(1)用户独占全机。用户独占全机。(2)CPU等待人工操等待人工操作。作。没有输入输出设备,再好的计算机也无法发挥作用没有输入输出设备,再好的计算机也无法发挥作用 2022-12-7计算机操作系统14 脱机输入脱机输入/输出方式输出方式 (Off-Line I/O)脱机:通过专门的外围机脱机:通过专门的外围机来控制输入到磁带上和输来控制输入到磁带上和输出到卡片上,当出到卡片上,当CPU需要需要这些数据时再从磁带上将这些数据时再从磁带上将其高速调入内存。其高速调入内存。n减少了减少了CPU的空闲时间:的空闲时间:输入输出不占用主机时输入输出不占用主
7、机时间。间。n提高提高I/O速度速度输入设备外围机磁盘主机外围机输出设备脱机I/O示意图2022-12-7计算机操作系统15单道批处理系统(单道批处理系统(Simple Batch Processing System)批处理过程2022-12-7计算机操作系统16单道批处理系统的处理流程2022-12-7计算机操作系统17 单道批处理系统的特征单道批处理系统的特征 单道批处理系统是最早出现的一种单道批处理系统是最早出现的一种OS,严,严格地说,它只能算作是格地说,它只能算作是OS的前身而并非是的前身而并非是现在人们所理解的现在人们所理解的OS。尽管如此,该系统比起人工操作方式的系尽管如此,该系
8、统比起人工操作方式的系统已有很大进步。统已有很大进步。该系统的主要特征如下:该系统的主要特征如下:自动性:作业依次运行,无须人为干预自动性:作业依次运行,无须人为干预 顺序性:作业运行顺序与进入内存的顺序一致,顺序性:作业运行顺序与进入内存的顺序一致,先调入的作业先完成。先调入的作业先完成。单道性:内存中只有一道程序运行。单道性:内存中只有一道程序运行。2022-12-7计算机操作系统18单道批处理的问题:单道批处理的问题:CPU和和I/O设备使用不均衡设备使用不均衡 -对计算为主的作业,外设空闲对计算为主的作业,外设空闲 -对对I/O为主的作业,为主的作业,CPU空闲空闲 解决办法解决办法
9、使用多道程序同时进入内存运行,提高资源利使用多道程序同时进入内存运行,提高资源利用率,即采用多道程序系统。用率,即采用多道程序系统。2022-12-7计算机操作系统19多道批处理系统(多道批处理系统(Multiprogrammed Batch Processing System)多道程序设计的概念多道程序设计的概念 同时把多个作业放入内存并允许它们同时把多个作业放入内存并允许它们交替执行,共享系统中的各类资源,当交替执行,共享系统中的各类资源,当一道程序因为某种原因暂停执行时,一道程序因为某种原因暂停执行时,cpucpu立刻转去执行另一道程序。立刻转去执行另一道程序。多道批处理系统:是使用多道
10、程序设计多道批处理系统:是使用多道程序设计技术的批处理系统技术的批处理系统2022-12-7计算机操作系统20提高提高CPU的利用率的利用率可提高内存和可提高内存和I/O设备利用率设备利用率增加系统吞吐量增加系统吞吐量多道程序设计的好处:多道程序设计的好处:2022-12-7计算机操作系统21单多道批处理系统比较t1t2t3t4t5t6t7t8结束中断I/O 完成启动 I/OI/O 中断请求I/O 完成启动 I/OI/O 中断请求用户程序监督程序I/O 操作(a)单道程序运行情况程 序 A程序A I/O 请求程序A I/O 完成程 序 B程序B I/O 请求程 序 C程序C I/O 请求程 序
11、 D程序D I/O 请求C I/O 完成C 再 被 调 度程序B I/O 完成程序A再被调度程 序 A程 序 B程 序 C程 序 D调 度 程 序(b)四 道 程 序 运 行 情 况A完成结束中断单道和多道程序运行情况单道和多道程序运行情况 程序程序A程序程序B程序程序C程序程序D调度程序调度程序2022-12-7计算机操作系统22单多道批处理系统比较t1t2t3t4t5t6t7t8结束中断I/O 完成启动 I/OI/O 中断请求I/O 完成启动 I/OI/O 中断请求用户程序监督程序I/O 操作(a)单道程序运行情况程序A程序A I/O 请求程序A I/O 完成程序B程序B I/O 请求程序
12、C程序C I/O 请求程序D程序D I/O 请求C I/O 完成C 再被调度程序B I/O 完成程序A再被调度程序A程序B程序C程序D调度程序(b)四道程序运行情况A完成结束中断单道和多道程序运行情况单道和多道程序运行情况 程序程序A程序程序B程序程序C程序程序D调度程序调度程序2022-12-7计算机操作系统23 程序运行时间表(单位:ms)有三个程序A,B,C,它们使用同一个设备进行I/O操作,并按A,B,C的优先次序执行。这三个程序的计算和I/O操作时间如表所示,假设调度的时间可忽略不计,请分别画出单道程序环境和多道程序环境下(假设内存中可同时装入这三道程序),它们的运行时间关系图,并比
13、较它们的总运行时间。程序操作 A B C 计算 30 60 20 I/O 40 30 40 计算 10 10 202022-12-7计算机操作系统24 资源利用率高资源利用率高 系统吞吐量大系统吞吐量大 平均周转时间长平均周转时间长 无交互能力无交互能力 批处理:交互性差批处理:交互性差-提高对提高对cpu的利用率的利用率多道程序设计的优缺点多道程序设计的优缺点:2022-12-7计算机操作系统25多道批处理的需要解决的问题多道批处理的需要解决的问题u处理机的管理问题。多个程序之间如何分配以便共处理机的管理问题。多个程序之间如何分配以便共享处理机?如何回收?享处理机?如何回收?u内存管理问题。
14、如何分配作业必需的内存空间,以内存管理问题。如何分配作业必需的内存空间,以便他们各得其所而又不会互相重叠?如何防止一个便他们各得其所而又不会互相重叠?如何防止一个程序破坏其他程序?程序破坏其他程序?uI/O设备管理问题。设备管理问题。I/O设备为所有程序共享,如何设备为所有程序共享,如何协调以提高设备使用效率?协调以提高设备使用效率?u文件管理问题。如何管理大量的程序和文件?文件管理问题。如何管理大量的程序和文件?u作业管理问题。各种不同类型的作业如何有效管理?作业管理问题。各种不同类型的作业如何有效管理?增加一组软件,对以上问题进行有效处理,增加一组软件,对以上问题进行有效处理,这组软件就构
15、成了操作系统。这组软件就构成了操作系统。2022-12-7计算机操作系统26分时系统(分时系统(Time Sharing System)n 分时系统的产生:分时系统的产生:n如果说,如果说,推动推动多道批处理系统多道批处理系统形成和发展的主要动力,形成和发展的主要动力,是提高是提高资源利用率和系统吞吐量资源利用率和系统吞吐量,那么,推动,那么,推动分时系统分时系统形成和发展的主要动力,则是形成和发展的主要动力,则是用户的需求用户的需求。n 用户的需求具体表现用户的需求具体表现 在以下几个方面:在以下几个方面:n(1)人人机交互机交互。n(2)共享主机共享主机n(3)便于用户上机。便于用户上机。
16、每一个用户通过配有输入键盘和每一个用户通过配有输入键盘和输出显示器的终端工作站和主机连接输出显示器的终端工作站和主机连接 2022-12-7计算机操作系统27分时系统(分时系统(Time Sharing System)n 分时系统实现中的关键问题:分时系统实现中的关键问题:n为实现分时系统,其中,最关键的问题是如何使用为实现分时系统,其中,最关键的问题是如何使用户能与自己的作业进行交互,即当用户在自己的终户能与自己的作业进行交互,即当用户在自己的终端上键入命令时,端上键入命令时,系统应能及时接收并及时处理该系统应能及时接收并及时处理该命令,再将结果返回给用户。此后,命令,再将结果返回给用户。此
17、后,用户可继续键用户可继续键入下一条命令,此即入下一条命令,此即人人机交互机交互。n应强调指出,即使有多个用户同时通过自己的键盘应强调指出,即使有多个用户同时通过自己的键盘键入命令,系统也应能全部地及时接收并处理。键入命令,系统也应能全部地及时接收并处理。n及时接收及时接收n及时处理及时处理n 批处理系统无法满足以上要求批处理系统无法满足以上要求2022-12-7计算机操作系统28分时系统(分时系统(Time Sharing System)n 分时系统的特征:分时系统的特征:n多路性:一个机器同时连接多个终端。宏观上多个多路性:一个机器同时连接多个终端。宏观上多个用户同时工作,微观上则是每个用
18、户作业轮流运行用户同时工作,微观上则是每个用户作业轮流运行一个一个时间片时间片。n独立性:每个用户使用各自的终端与主机交互,感独立性:每个用户使用各自的终端与主机交互,感觉不到其它用户的存在,好像独立使用计算机。用觉不到其它用户的存在,好像独立使用计算机。用户之间互不干扰。户之间互不干扰。n及时性:用户的请求应当在很短时间内响应。及时性:用户的请求应当在很短时间内响应。n交互性:用户通过终端与系统进行对话。交互性:用户通过终端与系统进行对话。分时系统主要用于软件开发和运行较小的程序。因为在这种环境下分时系统主要用于软件开发和运行较小的程序。因为在这种环境下用户大部分时间都在思考,不会长期连续地
19、占用用户大部分时间都在思考,不会长期连续地占用CPU,以利于其他,以利于其他用户使用。用户使用。2022-12-7计算机操作系统29实时系统实时系统(Real-Time System)n 所谓所谓“实时实时”,是表示,是表示“及时及时”,而,而实时系统是指系实时系统是指系统能及时统能及时(或即时或即时)响应外部事件的请求,在规定的时间响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一内完成对该事件的处理,并控制所有实时任务协调一致地运行。致地运行。n 按任务执行时是否呈现周期性来划分按任务执行时是否呈现周期性来划分n 周期性实时任务。周期性实时任务。n 非周期性实时
20、任务。非周期性实时任务。n 根据对截止时间的要求来划分根据对截止时间的要求来划分n 硬实时任务硬实时任务(hard real-time task)。系统必须满足任务对截止时。系统必须满足任务对截止时间的要求,否则可能出现难以预测的结果。间的要求,否则可能出现难以预测的结果。n 软实时任务软实时任务(Soft real-time task)。它也联系着一个截止时间,。它也联系着一个截止时间,但并不严格,若偶尔错过了任务的截止时间,但并不严格,若偶尔错过了任务的截止时间,对系统产生的对系统产生的影响也不会太大。影响也不会太大。2022-12-7计算机操作系统30实时系统与分时系统特征的比较实时系统
21、与分时系统特征的比较n多路性多路性:类似类似n独立性独立性:类似类似n及时性及时性:区别显著区别显著n交互性交互性:有区别有区别n可靠性可靠性:区别显著区别显著2022-12-7计算机操作系统31微机操作系统的发展n单用户单任务操作系统单用户单任务操作系统nMS-DOSn单用户多任务操作系统单用户多任务操作系统nWindows 1.0XPn多用户多任务操作系统多用户多任务操作系统nLinuxnUnixnSolaris2022-12-7计算机操作系统32本章内容提纲操作系统的概念操作系统的目标操作系统的作用操作系统的发展史操作系统的分类操作系统的基本特征操作系统的主要功能2022-12-7计算机
22、操作系统33本章内容提纲操作系统的概念操作系统的目标操作系统的作用操作系统的发展史操作系统的分类操作系统的基本特征操作系统的主要功能操作系统的结构设计2022-12-7计算机操作系统34操作系统的特征n 并发性并发性(Concurrence)n 共享性共享性(Sharing):n 虚拟性虚拟性(Virtual):n 异步性异步性(Asynchronism):2022-12-7计算机操作系统35操作系统的特征并发性(Concurrence)n 并发性并发性:指两个或多个事件在同一时间间隔内发生指两个或多个事件在同一时间间隔内发生n 理解:理解:-在多道程序环境且单处理机系统下,宏观上并在多道程序
23、环境且单处理机系统下,宏观上并行,微观上交替执行。行,微观上交替执行。-多处理机系统中,并发可并行执行多处理机系统中,并发可并行执行n 并行性和并发性是既相似又有区别的两个概念。并行性和并发性是既相似又有区别的两个概念。并行性是指两个或多个事件在并行性是指两个或多个事件在同一时刻同一时刻发生发生并行一定并发,并发不一定并行并行一定并发,并发不一定并行2022-12-7计算机操作系统36并发性并发性-串行、并行、并发比较串行、并行、并发比较 假设有三个程序假设有三个程序A,B,C串行并行并发2022-12-7计算机操作系统37并发性并发性-进程,线程进程,线程 进程是系统中能独立运行并作为资源分
24、进程是系统中能独立运行并作为资源分配的基本单元,是一个能独立运行的活配的基本单元,是一个能独立运行的活动实体。动实体。操作系统需要增设若干进程管理功能。操作系统需要增设若干进程管理功能。线程是比进程更小的单位,一个进程包线程是比进程更小的单位,一个进程包含多个线程。是独立运行独立调度的基含多个线程。是独立运行独立调度的基本单位本单位2022-12-7计算机操作系统38操作系统的特征共享性(Sharing)n 共享性共享性(Sharing):系统中的资源可供内存中多个:系统中的资源可供内存中多个并发执行的进程并发执行的进程(线程线程)共同使用。共同使用。n 由于资源属性的不同,进程对资源共享的方
25、式主由于资源属性的不同,进程对资源共享的方式主要有以下两种资源共享方式。要有以下两种资源共享方式。n 互斥共享互斥共享n 同时访问同时访问2022-12-7计算机操作系统39共享性共享性-互斥共享方式互斥共享方式n为什么要采用互斥共享?为什么要采用互斥共享?n系统中的某些资源,如打印机、磁带机,虽然可以提供给多个进程系统中的某些资源,如打印机、磁带机,虽然可以提供给多个进程(线程线程)使用,但规定在一段时间内只允许一个进程使用,但规定在一段时间内只允许一个进程(线程线程)访问该资源。访问该资源。避免结果不致造成混淆。避免结果不致造成混淆。n如何保证互斥共享?如何保证互斥共享?n临界资源临界资源
26、-在一段时间内只允许一个进程访问的资源(也叫独占资在一段时间内只允许一个进程访问的资源(也叫独占资源)源)n如何使用临界资源?如何使用临界资源?n当一个进程当一个进程A要访问某资源时,必须先提出请求,要访问某资源时,必须先提出请求,只有资源空闲时只有资源空闲时才可分配给请求进程才可分配给请求进程A使用,使用,此后若再有其它进程也要访问该资源此后若再有其它进程也要访问该资源时时(只要只要A未用完未用完)则必须等待。仅当则必须等待。仅当A进程释放该资源后,进程释放该资源后,另一进程另一进程才可访问该资源。才可访问该资源。n临界资源有哪些?临界资源有哪些?n举例:计算机系统中的大多数物理设备,以及某
27、些软件中所用的栈、举例:计算机系统中的大多数物理设备,以及某些软件中所用的栈、变量和表格变量和表格2022-12-7计算机操作系统40共享性共享性-同时访问方式同时访问方式n 何谓同时?何谓同时?n 同时并非同步,并行。这里所谓的同时并非同步,并行。这里所谓的“同时同时”往往往往是宏观上是宏观上的;的;n 微观上,进程可能是交替地对该资源进行访问。微观上,进程可能是交替地对该资源进行访问。n 可可“同时同时”访问的资源有哪些?访问的资源有哪些?n 典型资源是磁盘设备典型资源是磁盘设备n 与互斥共享方式的区别?与互斥共享方式的区别?n 可以在一段时间内同时使用,不必等待别的进程可以在一段时间内同
28、时使用,不必等待别的进程全部使用完毕。全部使用完毕。2022-12-7计算机操作系统41并发性与共享性关系并发性与共享性关系n 并发和共享是操作系统的两个最基本的特征,它并发和共享是操作系统的两个最基本的特征,它们又是互为存在的条件。们又是互为存在的条件。n 如何互为存在条件?如何互为存在条件?n 共享性以并发性为条件共享性以并发性为条件n资源共享是以程序资源共享是以程序(进程进程)的并发执行为条件的,若系统不允许程序并的并发执行为条件的,若系统不允许程序并发执行,自然不存在资源共享问题;发执行,自然不存在资源共享问题;n 并发性受共享性影响并发性受共享性影响n若系统不能对资源共享实施有效管理
29、,若系统不能对资源共享实施有效管理,协调好诸进程对共享资源的协调好诸进程对共享资源的访问,也必然影响到程序并发执行的程度,甚至根本无法并发执行。访问,也必然影响到程序并发执行的程度,甚至根本无法并发执行。2022-12-7计算机操作系统42操作系统的特征虚拟(Virtual)技术n 操作系统中的虚拟含义是什么?操作系统中的虚拟含义是什么?n 通过某种技术把一个物理实体变为若干个逻辑上通过某种技术把一个物理实体变为若干个逻辑上的对应物。的对应物。n 物理实体物理实体(前者前者)是实的,是实的,即实际存在的;而后者即实际存在的;而后者是虚的,是用户感觉上的东西。是虚的,是用户感觉上的东西。n 虚拟
30、技术实现哪些虚拟?虚拟技术实现哪些虚拟?n 虚拟处理机、虚拟内存、虚拟处理机、虚拟内存、虚拟外部设备和虚拟虚拟外部设备和虚拟信道等。信道等。n Os中的虚拟技术有几种方式实现?中的虚拟技术有几种方式实现?n 时分复用方式时分复用方式-利用处理机的空闲时间利用处理机的空闲时间n 空分复用方式空分复用方式-利用存储器的空闲空间利用存储器的空闲空间2022-12-7计算机操作系统43虚拟技术虚拟技术-时分复用技术时分复用技术n 时分复用有哪些技术?时分复用有哪些技术?n 虚拟处理机技术虚拟处理机技术n 通过多道程序设计技术,让多道程序并发执行通过多道程序设计技术,让多道程序并发执行的方法,来的方法,
31、来分时分时使用一台处理机的。使每个终使用一台处理机的。使每个终端用户都认为是有一个端用户都认为是有一个CPU在专门为他服务。在专门为他服务。n 一台物理上的一台物理上的CPU虚拟为多台逻辑上的虚拟为多台逻辑上的CPUn 虚拟设备技术虚拟设备技术n 使原来仅允许在一段时间内由一个用户访问的使原来仅允许在一段时间内由一个用户访问的设备设备(即临界资源即临界资源),变为在一段时间内允许多个,变为在一段时间内允许多个用户同时访问的共享设备。如打印机用户同时访问的共享设备。如打印机2022-12-7计算机操作系统44虚拟技术虚拟技术-空分复用技术空分复用技术n 空分复用技术中的主要应用?空分复用技术中的
32、主要应用?n 虚拟存储器技术虚拟存储器技术n 将一台机器的物理存储器变为虚拟存储器,将一台机器的物理存储器变为虚拟存储器,以便从逻辑上来扩充存储器的容量。以便从逻辑上来扩充存储器的容量。n 虚拟存储技术的本质是什么?虚拟存储技术的本质是什么?n 本质是使内存分时复用,单纯的空分复用存本质是使内存分时复用,单纯的空分复用存储器只能提高内存利用率储器只能提高内存利用率2022-12-7计算机操作系统45虚拟技术虚拟技术-速度速度n 如果虚拟的实现是通过时分复用的方法,即如果虚拟的实现是通过时分复用的方法,即对某一物理设备进行分时使用时,如果对某一物理设备进行分时使用时,如果n是是某物理设备所对应的
33、虚拟的逻辑设备数,则某物理设备所对应的虚拟的逻辑设备数,则虚拟设备的平均速度必然等于或低于物理设虚拟设备的平均速度必然等于或低于物理设备速度的备速度的1/n。n 同理,空分复用中,一台虚拟设备平均占用同理,空分复用中,一台虚拟设备平均占用的空间必然等于或者低于物理设备所拥有空的空间必然等于或者低于物理设备所拥有空间的间的1/n。2022-12-7计算机操作系统46操作系统的特征异步性(Asynchronism)n何谓异步性?何谓异步性?n进程以人们不可预知的速度向前推进进程以人们不可预知的速度向前推进n在多道程序环境下,允许多个进程并发执行,在多道程序环境下,允许多个进程并发执行,但只有进但只
34、有进程在获得所需的资源后方能执行。程在获得所需的资源后方能执行。n在单处理机环境下,由于系统中只有一个处理机,因而在单处理机环境下,由于系统中只有一个处理机,因而每次只允许一个进程执行,其余进程只能等待。每次只允许一个进程执行,其余进程只能等待。n当正在执行的进程提出某种资源要求时,如打印请求,当正在执行的进程提出某种资源要求时,如打印请求,而此时打印机正在为其它某进程打印,由于打印机属于而此时打印机正在为其它某进程打印,由于打印机属于临界资源,因此正在执行的进程必须等待,且放弃处理临界资源,因此正在执行的进程必须等待,且放弃处理机,直到打印机空闲,并再次把处理机分配给该进程时,机,直到打印机
35、空闲,并再次把处理机分配给该进程时,该进程方能继续执行。由于资源等因素的限制,使进程该进程方能继续执行。由于资源等因素的限制,使进程的执行通常以的执行通常以“停停走走停停走走”的方式运行,进程以不可预的方式运行,进程以不可预知的进度推进。知的进度推进。难以重现系统在某个时刻的状态难以重现系统在某个时刻的状态2022-12-7计算机操作系统47本章内容提纲操作系统的概念操作系统的目标操作系统的作用操作系统的发展史操作系统的分类操作系统的基本特征操作系统的主要功能2022-12-7计算机操作系统48本章内容提纲操作系统的概念操作系统的目标操作系统的作用操作系统的发展史操作系统的分类操作系统的基本特
36、征操作系统的主要功能操作系统的结构设计2022-12-7计算机操作系统49操作系统的主要功能n处理机管理功能处理机管理功能n进程控制、进程同步、进程通信、调度进程控制、进程同步、进程通信、调度n存储器管理功能存储器管理功能n内存管理、保护、地址映射、扩充内存管理、保护、地址映射、扩充n设备管理功能设备管理功能n缓冲管理、设备分配、设备处理缓冲管理、设备分配、设备处理n文件管理功能文件管理功能n文件存储空间管理、目录管理、文件保护文件存储空间管理、目录管理、文件保护n操作系统和用户之间的接口操作系统和用户之间的接口2022-12-7计算机操作系统50处理机管理功能-进程控制进程控制的主要作用是什
37、么?进程控制的主要作用是什么?n为作业创建进程,分配必要的资源。为作业创建进程,分配必要的资源。n撤销已结束进程,及时回收该进程所占用的各撤销已结束进程,及时回收该进程所占用的各类资源。类资源。n控制进程在运行过程中的状态转换。控制进程在运行过程中的状态转换。n为一个进程创建若干个线程的功能和撤消为一个进程创建若干个线程的功能和撤消(终止终止)已完成任务的线程的功能(在现代已完成任务的线程的功能(在现代OS中)中)。作业处理机进程作业进程2022-12-7计算机操作系统51处理机管理功能-进程同步n 进程同步的作用是什么进程同步的作用是什么?n 异步性,特点?异步性,特点?n 为多个进程(含线
38、程)的运行进行协调为多个进程(含线程)的运行进行协调n 进程同步的协调方式有哪些?进程同步的协调方式有哪些?n 进程互斥方式进程互斥方式-临界资源互斥访问临界资源互斥访问n进程互斥的机制如何实现?进程互斥的机制如何实现?n为每一个临界资源配置一把锁为每一个临界资源配置一把锁W,当锁打开时,进程,当锁打开时,进程(线程线程)可以可以对该临界资源进行访问;而当锁关上时,则禁止进程对该临界资源进行访问;而当锁关上时,则禁止进程(线程线程)访问访问该临界资源。该临界资源。信号量机制信号量机制n 进程同步方式进程同步方式-在相互合作完成共同任务的诸进程在相互合作完成共同任务的诸进程(线程线程)间,由同步
39、机构对它们的执行次序加以协调。间,由同步机构对它们的执行次序加以协调。2022-12-7计算机操作系统52处理机管理功能-进程通信n进程通信的任务就是用来实现在相互合作的进进程通信的任务就是用来实现在相互合作的进程之间的信息交换。程之间的信息交换。输入进程计算进程打印进程2022-12-7计算机操作系统53处理机管理功能-调度为什么要调度?为什么要调度?因为在后备队列上等待的每个作业,要经因为在后备队列上等待的每个作业,要经过调度才能执行。过调度才能执行。调度的分类包括作业调度和进程调度调度的分类包括作业调度和进程调度两步两步。2022-12-7计算机操作系统54存储器管理功能-内存分配n内存
40、分配的主要任务是为每道程序分配内存空间。有内存分配的主要任务是为每道程序分配内存空间。有两种分配方式:静态和动态两种分配方式:静态和动态n静态分配特点:静态分配特点:n每个作业的内存空间是在作业装入时确定的;每个作业的内存空间是在作业装入时确定的;n在作业装入后的整个运行期间,在作业装入后的整个运行期间,不允许该作业再申请不允许该作业再申请新的内存空间,新的内存空间,n不允许作业在内存中不允许作业在内存中“移动移动”;n动态分配特点:动态分配特点:n每个作业所要求的基本内存空间是在装入时确定的;每个作业所要求的基本内存空间是在装入时确定的;n允许作业在运行过程中,继续申请新的附加内存空间,允许
41、作业在运行过程中,继续申请新的附加内存空间,以适应程序和数据的动态增涨;以适应程序和数据的动态增涨;n允许作业在内存中允许作业在内存中“移动移动”。2022-12-7计算机操作系统55存储器管理功能-内存保护内存保护的主要任务?内存保护的主要任务?n确保每道用户程序都只在自己的内存空间内运确保每道用户程序都只在自己的内存空间内运行,彼此互不干扰。行,彼此互不干扰。一种比较简单的内存保护机制,是设置一种比较简单的内存保护机制,是设置两个界限寄存器两个界限寄存器 越界检查都由硬件实现越界检查都由硬件实现n不允许用户程序访问操作系统的程序和数据不允许用户程序访问操作系统的程序和数据n不允许用户转移到
42、非共享的其他用户程序中去不允许用户转移到非共享的其他用户程序中去执行。执行。2022-12-7计算机操作系统56存储器管理功能-内存保护2022-12-7计算机操作系统57存储器管理功能-地址映射n逻辑地址逻辑地址(地址空间中地址空间中)物理地址物理地址(内存空间中内存空间中)n如何映射?什么是逻辑地址?什么是物理地址?如何映射?什么是逻辑地址?什么是物理地址?n应用程序应用程序(源程序源程序)地址都是从地址都是从“0”开始的,程序开始的,程序中的其它地址都是相对于起始地址计算的;由中的其它地址都是相对于起始地址计算的;由这些地址所形成的地址范围称为这些地址所形成的地址范围称为“地址空间地址空
43、间”,其中的地址称为其中的地址称为“逻辑地址逻辑地址”或或“相对地址相对地址”。n由内存中的一系列单元所限定的地址范围称为由内存中的一系列单元所限定的地址范围称为“内存空间内存空间”,其中的地址称为其中的地址称为“物理地址物理地址”。在多道程序环境下,每道程序不可能都从在多道程序环境下,每道程序不可能都从“0”地址开始装入地址开始装入(内存内存)2022-12-7计算机操作系统58存储器管理功能-地址映射#include int main(int argc,char*argv)char s10;char*p=s;int main(int argc,char*argv)int a=1;2022-
44、12-7计算机操作系统59存储器管理功能-内存扩充n如何进行扩充?如何进行扩充?n借助于虚拟存储技术,从逻辑上去扩充内存容借助于虚拟存储技术,从逻辑上去扩充内存容量。量。(1)请求调入请求调入 (2)置换置换n内存容量有变化吗?内存容量有变化吗?n内存容量实际没变,但却可以承担大于这一容内存容量实际没变,但却可以承担大于这一容量的更多事情。优点:既满足了用户的需要,量的更多事情。优点:既满足了用户的需要,改善了系统的性能,又基本上不增加硬件投资。改善了系统的性能,又基本上不增加硬件投资。2022-12-7计算机操作系统60设备管理功能-缓冲管理n 为什么要引入缓冲管理?为什么要引入缓冲管理?n
45、 如果在如果在I/O设备和设备和CPU之间引入缓冲,则可有之间引入缓冲,则可有效地缓和效地缓和CPU和和I/O设备速度不匹配的矛盾,设备速度不匹配的矛盾,提高提高CPU的利用率,进而提高系统吞吐量。的利用率,进而提高系统吞吐量。n 常见的缓冲机制?常见的缓冲机制?n 单缓冲机制单缓冲机制n 实现双向同时传送数据的双缓冲机制实现双向同时传送数据的双缓冲机制n 能供多个设备同时使用的公用缓冲池机制。能供多个设备同时使用的公用缓冲池机制。2022-12-7计算机操作系统61设备管理功能-设备分配n设备分配原则?设备分配原则?n用户进程的用户进程的I/O请求请求n系统的现有资源情况系统的现有资源情况n
46、设备分配策略。设备分配策略。n如果在如果在I/O设备和设备和CPU之间,存在着设备之间,存在着设备控制器和控制器和I/O通道时,须为分配出去的设通道时,须为分配出去的设备分配相应的备分配相应的控制器和通道控制器和通道。2022-12-7计算机操作系统62设备管理功能-设备处理n设备处理的基本任务?设备处理的基本任务?n设备处理程序又称为设备驱动程序。设备处理程序又称为设备驱动程序。基基本任务是用于实现本任务是用于实现CPU和设备控制器之和设备控制器之间的通信间的通信。n由由CPU向设备控制器发出向设备控制器发出I/O命令,要命令,要求它完成指定的求它完成指定的I/O操作;反之由操作;反之由CP
47、U接收从控制器发来的中断请求,并给予接收从控制器发来的中断请求,并给予迅速的响应和相应的处理。迅速的响应和相应的处理。2022-12-7计算机操作系统63文件管理功能-文件空间管理n文件空间管理的主要任务?文件空间管理的主要任务?n为每个文件分配必要的外存空间,提高外为每个文件分配必要的外存空间,提高外存的利用率,并能有助于提高文件系统的存的利用率,并能有助于提高文件系统的运行速度。运行速度。2022-12-7计算机操作系统64文件管理功能-目录管理n目录管理的主要任务?目录管理的主要任务?n(1)为每个文件建立其目录项,并对目录为每个文件建立其目录项,并对目录项加以组织,实现按名存取。项加以
48、组织,实现按名存取。n(2)实现文件共享。实现文件共享。只须在外存上保留一份该共享文件的只须在外存上保留一份该共享文件的副本。副本。n(3)提供快速的目录查询手段。提供快速的目录查询手段。提高对文件的检索速度。提高对文件的检索速度。2022-12-7计算机操作系统65文件管理功能-文件的读写管理与保护n文件的读文件的读/写写:(1)文件的读文件的读/写管理。写管理。根据根据用户的请求,从外存中读取数据;或将数用户的请求,从外存中读取数据;或将数据写入外存。据写入外存。n文件保护文件保护:防止未经核准的用户存取文防止未经核准的用户存取文件;件;防止冒名顶替存取文件;防止冒名顶替存取文件;防止防止
49、以不正确的方式使用文件。以不正确的方式使用文件。2022-12-7计算机操作系统66操作系统与用户之间的接口n用户接口用户接口:命令接口命令接口,程序接口,图形接口程序接口,图形接口n 程序接口:系统调用程序接口:系统调用n在高级语言以及在高级语言以及C语言中,往往提供了与各语言中,往往提供了与各系统调用一一对应的库函数,这样,应用程系统调用一一对应的库函数,这样,应用程序便可通过调用对应的库函数来使用系统调序便可通过调用对应的库函数来使用系统调用。用。2022-12-7计算机操作系统67系统调用的执行过程 一般把处理机在用户程序中执行称为用户用户态态(user mode),而把处理机在系统程
50、序中执行称为系统态系统态(kernel mode)。2022-12-7计算机操作系统68本章内容提纲操作系统的概念操作系统的目标操作系统的作用操作系统的发展史操作系统的分类操作系统的基本特征操作系统的主要功能操作系统的结构设计2022-12-7计算机操作系统69无结构操作系统n 在早期开发操作系统时,设计者只是把他的注在早期开发操作系统时,设计者只是把他的注意力放在功能的实现和获得高的效率上,缺乏意力放在功能的实现和获得高的效率上,缺乏首尾一致的设计思想。首尾一致的设计思想。此时的此时的OS是为数众多的是为数众多的一组过程的集合,一组过程的集合,各过程之间可以相互调用,各过程之间可以相互调用,