1、操操 作作 系系 统统(信息信息08 )教材:n 计算机操作系统(修订版)计算机操作系统(修订版) 汤子瀛汤子瀛 等等 西安电子科技大学西安电子科技大学出版社出版社 参考书:参考书:n张尧学张尧学,史美林史美林. 计算机操作系统教程第二版计算机操作系统教程第二版.清华大学出版社清华大学出版社.n孟庆昌孟庆昌. . 操作系统教程操作系统教程. . 西安电子科技大学出版社西安电子科技大学出版社. .成绩评定方式成绩评定方式: 总成绩(总成绩(100100分)分)期末考试(期末考试(7070)平时成绩()平时成绩(3030) 课内教学:课内教学:3030学时学时 机动机动:2 2学时。学时。操作系统
2、在计算机中的地位操作系统在计算机中的地位n操作系统操作系统是现代计算机系统中是现代计算机系统中不可缺少的基本不可缺少的基本系统软件系统软件, ,它在整个计算机系统软件中占有中心地位。它在整个计算机系统软件中占有中心地位。n操作系统的一个主要作用就是:操作系统的一个主要作用就是:对计算机系统资源对计算机系统资源进行统一的调度和管理进行统一的调度和管理,并为用户创造灵活方便的,并为用户创造灵活方便的使用环境。使用环境。n操作系统是计算机软操作系统是计算机软/ /硬件之间的硬件之间的唯一接口唯一接口,所有用,所有用户在使用计算机时都要得到操作系统提供的服务。户在使用计算机时都要得到操作系统提供的服务
3、。n为专门用途为专门用途,人们设计、修改、扩充操作系统。,人们设计、修改、扩充操作系统。例如操作系统汉化、中文操作系统环境、嵌入式例如操作系统汉化、中文操作系统环境、嵌入式操作系统开发。操作系统开发。n有利于深入编程有利于深入编程。用户为了开发应用程序必须与。用户为了开发应用程序必须与操作系统打交道。要了解操作系统提供的人操作系统打交道。要了解操作系统提供的人-机接机接口,在编程中灵活应用进程(线程)。口,在编程中灵活应用进程(线程)。n编程时借鉴操作系统的设计思想和算法。编程时借鉴操作系统的设计思想和算法。操作系操作系统中所用的许多概念和技巧可以推广应用到其他统中所用的许多概念和技巧可以推广
4、应用到其他领域。领域。n计算机的应用。计算机的应用。n。学习操作系统的目的学习操作系统的目的 本课程内容本课程内容n第一章第一章 操作系统引论操作系统引论 (4学时)学时)n第二章第二章 进程管理进程管理 (8)n第三章第三章 处理机调度与死锁处理机调度与死锁 (4)n第四章第四章 存储器管理存储器管理 (4)n第五章第五章 设备管理设备管理 (4)n第六章第六章 文件管理文件管理 (4)n嵌入式操作系统讲座嵌入式操作系统讲座(2) 机动:机动:2学时学时第一章第一章 概论概论 计算机发展到今天,从个人计算机到巨计算机发展到今天,从个人计算机到巨型计算机系统,毫无例外都配置一种或多种型计算机系
5、统,毫无例外都配置一种或多种操作系统。操作系统。 什么是操作系统?什么是操作系统? 操作系统在计算机系统中的地位?操作系统在计算机系统中的地位? 它具有什么样的功能?它具有什么样的功能? 1.1 操作系统的目标和作用操作系统的目标和作用1. 计算机系统的组成计算机系统的组成n硬件系统(裸机):硬件系统(裸机):CPU、存储器(主存、辅存)、存储器(主存、辅存)、I/O设备、设备、I/O控制系统。控制系统。n 软件系统:软件系统:系统软件、应用软件。系统软件、应用软件。u 系统软件系统软件:管理计算机本身的操作。如操作系统、管理计算机本身的操作。如操作系统、 编译编译.u 应用软件应用软件:提供
6、给用户进行解题。如,科学计算、:提供给用户进行解题。如,科学计算、事物管理。事物管理。2. 计算机系统的层次结构计算机系统的层次结构 硬件硬件 操作系统操作系统 3. 操作系统的作用操作系统的作用 操作系统是一种在计算机上运行的软件,操作系统是一种在计算机上运行的软件,是一组程序的集合。是一组程序的集合。 它控制和管理计算机的各种硬件和软件资它控制和管理计算机的各种硬件和软件资源,并合理地对作业进行调度。是计算机的源,并合理地对作业进行调度。是计算机的核心。核心。 操作系统操作系统(系统调用)(命令)(图标、窗口)(系统调用)(命令)(图标、窗口) 操操 作作 系系 统统 计算机硬件计算机硬件
7、主要任务:主要任务: 管理系统资源管理系统资源,提高计算机的各种资源的利用,提高计算机的各种资源的利用率(如率(如CPU、内存、磁盘、文件等等)。、内存、磁盘、文件等等)。 提供使用接口提供使用接口,提高计算机系统的可用性,提高计算机系统的可用性.操作系统种类繁多:操作系统种类繁多: 小至资源开销很少的嵌入式处理器专用的操作系小至资源开销很少的嵌入式处理器专用的操作系统统, 如如IC卡操作系统,卡操作系统, 大到功能强大的巨型机所用的操作系统。大到功能强大的巨型机所用的操作系统。 1.2 1.2 操作系统的发展过程操作系统的发展过程1. 1. 无操作系统的计算机系统无操作系统的计算机系统 (采
8、用人工操作方式采用人工操作方式) ) 1946年年50年代末年代末. 缺点缺点: : 计算机的有效机时严重浪费计算机的有效机时严重浪费, ,效率低效率低. . 2. 单道批处理系统单道批处理系统 (操作系统的雏形,称为监控程序)操作系统的雏形,称为监控程序) 缺点:缺点: 内存中仅有一道作业,资源的利用率低。内存中仅有一道作业,资源的利用率低。 3. 多道批处理系统多道批处理系统 (操作系统发展史上革命性变革操作系统发展史上革命性变革) 1 1)“多道多道”程序设计技术程序设计技术 在内存中放多道程序在内存中放多道程序, , 它们在管理程序的控制下相互穿插地运行它们在管理程序的控制下相互穿插地
9、运行, ,充分充分利用资源,提高效率。利用资源,提高效率。 CPU例:例: 操作系统控制操作系统控制用户程序用户程序A和和用户程序用户程序B交替地使用交替地使用CPU、外设等资源。、外设等资源。多道运行的特点:多道运行的特点: 内存中同时存放几道相互独立的程序。内存中同时存放几道相互独立的程序。 宏观上并行宏观上并行 内存中的几道程序在一段时间内都处于运内存中的几道程序在一段时间内都处于运行过程中,行过程中,(即它们先后开始了各自的运行,即它们先后开始了各自的运行,但都未运行完毕但都未运行完毕)。 微观上串行微观上串行 任一时刻最多只有一道程序占用任一时刻最多只有一道程序占用CPUCPU,多道
10、程多道程序交替使用序交替使用CPU CPU 。多道的优点多道的优点n资源利用率高。资源利用率高。n系统吞吐量大。系统吞吐量大。 适合大型科学计算、数据处理。适合大型科学计算、数据处理。多道程序系统中要解决的技术问题多道程序系统中要解决的技术问题? (1) 同步与互斥问题同步与互斥问题 并行运行的程序,可能既有对计算机资源的竞争,并行运行的程序,可能既有对计算机资源的竞争,又需要相互协作。因此,又需要相互协作。因此, 同步与互斥机制成为操作系统设计中的重要问题。同步与互斥机制成为操作系统设计中的重要问题。 (2) 提高内存的使用效率提高内存的使用效率 随着多道程序的增加随着多道程序的增加 内存不
11、够用。因此,内存不够用。因此, 出现了诸如出现了诸如覆盖覆盖、虚拟存储虚拟存储等内存管理技术。等内存管理技术。 (3) 内存保护内存保护 为了保证为了保证 “系统程序存储区系统程序存储区”和和”各用户程序存储区各用户程序存储区”安全可靠安全可靠 ,不相互干扰,提出了内存保护的要求。不相互干扰,提出了内存保护的要求。 所以,多道程序的运行,要求操作系统必须具备如下所以,多道程序的运行,要求操作系统必须具备如下的功能:的功能: n处理机管理处理机管理 解决解决同步与互斥同步与互斥机制问题机制问题。n内存管理内存管理 提高提高内存利用率内存利用率,内存,内存保护保护。nI/O设备管理设备管理 合理合
12、理分配分配I/O设备,提高其利用率。设备,提高其利用率。n文件管理文件管理 有效利用和管理有效利用和管理外存空间外存空间。n作业调度管理作业调度管理 合理地合理地对各类作业对各类作业进行调度。进行调度。2)多道批处理系统的)多道批处理系统的特点特点及及优缺点优缺点特点:特点: 多道性,无序性,调度性。多道性,无序性,调度性。优点:优点:资源利用率高,系统吞吐量大;资源利用率高,系统吞吐量大;缺点:缺点:平均周转时间长,无交互能力。平均周转时间长,无交互能力。 为了解决批处理系统无法进行人机交互的为了解决批处理系统无法进行人机交互的问题,问题, 又引入了又引入了分时的概念。分时的概念。 4. 分
13、时系统分时系统 在一台主机上连接有多个带显示器和键盘在一台主机上连接有多个带显示器和键盘的终端,的终端, 允许多个用户通过自己的终端以交互式方允许多个用户通过自己的终端以交互式方式同时使用计算机,共享主机中的资源。式同时使用计算机,共享主机中的资源。主机主机终终端端怎样实现分时?怎样实现分时?分时技术:分时技术: 把处理机的运行时间分成很短的时间片把处理机的运行时间分成很短的时间片(如几百毫秒),按时间片轮流把处理机分(如几百毫秒),按时间片轮流把处理机分配给各联机作业使用。配给各联机作业使用。 问:问: 若某个作业在分配给它的时间片内不能若某个作业在分配给它的时间片内不能完成其计算,怎么办?
14、完成其计算,怎么办?分时系统的特征:分时系统的特征:n多路性:允许同一主机联接多台终端。多路性:允许同一主机联接多台终端。 宏观上并行,微观上串行。宏观上并行,微观上串行。n独立性:每一用户独占一个终端。独立性:每一用户独占一个终端。n及时性:用户请求能及时响应。及时性:用户请求能及时响应。n交互性:可人机对话。交互性:可人机对话。 多用户分时操作系统是当今计算机操作系多用户分时操作系统是当今计算机操作系统中最普遍使用的一类操作系统。统中最普遍使用的一类操作系统。 常见的通用操作系统是常见的通用操作系统是分时系统与批处理分时系统与批处理系统的结合系统的结合。 其原则是:其原则是: 分时优先,批
15、处理在后。分时优先,批处理在后。“前台前台”响应需响应需频繁交互的作业,如终端的要求;频繁交互的作业,如终端的要求; “后台后台”处理时间性要求不强的作业。处理时间性要求不强的作业。 如:如: UNIX , Linux ,Windows NT /2000/XP 5. 5. 实时操作系统实时操作系统 虽然多道批处理系统和分时系统可以获得较为令虽然多道批处理系统和分时系统可以获得较为令人满意的资源利用率和响应时间,但仍然不能满足人满意的资源利用率和响应时间,但仍然不能满足某些应用领域某些应用领域的需求,的需求, 如:如: 实时控制实时控制,如:工业控制。如:工业控制。 实时信息处理实时信息处理,
16、所以,又出现了实时操作系统。所以,又出现了实时操作系统。实时任务实时任务,如:,如: 周期性的按指定周期循环执行。周期性的按指定周期循环执行。 非周期性的联非周期性的联系着一个截止时间。系着一个截止时间。 (开始截止时间,或完成截止时间)(开始截止时间,或完成截止时间) 问:问: windows是实时操作系统吗?是实时操作系统吗? linux是实时操作系统吗?是实时操作系统吗? 答:答: 都不是。都不是。 它们属于通用型的多用户、多任务操作系统,更它们属于通用型的多用户、多任务操作系统,更注重数据吞吐量而不是系统响应时间。注重数据吞吐量而不是系统响应时间。多道多道批处理、分时、实时系统批处理、
17、分时、实时系统是三种基本是三种基本的操作系统类型。的操作系统类型。 一个实际的操作系统可能兼有三者或其中一个实际的操作系统可能兼有三者或其中两者的功能。两者的功能。常用的个人计算机操作系统常用的个人计算机操作系统 : 单用户单任务:单用户单任务:MS DOS 单用户多任务单用户多任务:OS/2, MS Windows 3.x, Windows 95, 多用户多任务多用户多任务:Windows NT, Windows 2000, Windows XP, UNIX, Linux . 在过去的几十年中在过去的几十年中,随着计算机、网络技术的发,随着计算机、网络技术的发展,操作系统一直处于不断发展和改
18、进之中。展,操作系统一直处于不断发展和改进之中。 现在的操作系统现在的操作系统: 追求追求功能强大功能强大、完备和可靠完备和可靠、界面友好和方便界面友好和方便、 加入越来越多的功能。加入越来越多的功能。 随着应用领域的扩大和增加随着应用领域的扩大和增加,为了适应不同的应,为了适应不同的应用场合,还需要考虑系统的用场合,还需要考虑系统的网络功能、灵活性网络功能、灵活性、可可伸缩性伸缩性以及以及可裁减性可裁减性等等。等等。 1.2.2 操作系统的进一步发展操作系统的进一步发展 计算机网络是通过通信设施将物理上分散计算机网络是通过通信设施将物理上分散的具有自治功能的多个计算机系统互连起来的具有自治功
19、能的多个计算机系统互连起来的,实现信息交换、资源共享、可互操作和的,实现信息交换、资源共享、可互操作和协作处理的系统。协作处理的系统。 1. 网络操作系统网络操作系统网络操作系统网络操作系统的特征:的特征:(1) 计算机网络计算机网络是一个互连的计算机系统的群体。是一个互连的计算机系统的群体。(2) 这些计算机是自治的,每台计算机有自己的操作这些计算机是自治的,每台计算机有自己的操作系统,各自独立工作,它们在网络协议控制下协同系统,各自独立工作,它们在网络协议控制下协同工作。工作。(3) 系统互连要通过通信设施系统互连要通过通信设施(硬件、软件硬件、软件)来实现。来实现。(4) 系统通过通信设
20、施执行信息交换、资源共享、互系统通过通信设施执行信息交换、资源共享、互操作和协作处理,操作和协作处理, 实现多种应用要求。实现多种应用要求。 必须有网络操作系统的支持!必须有网络操作系统的支持! 网络操作系统网络操作系统的特征?的特征?现代操作系统的主要特征之一就是具有上网功现代操作系统的主要特征之一就是具有上网功能。(能。(支持支持TCP/IP协议协议) 如:如: 20世纪世纪90年代初期的年代初期的Novell公司的公司的Netware, 现在的现在的WindosWindos NT/2000/XP NT/2000/XP等,等,均属于均属于网络操作系统网络操作系统。 嵌入式系统:嵌入式系统:
21、 隐藏在各种装置、产品和系统中的非标准形式的隐藏在各种装置、产品和系统中的非标准形式的微型计算机系统。具有小巧、高度自动化、响应速微型计算机系统。具有小巧、高度自动化、响应速度快等特点。度快等特点。 嵌入式操作系统:嵌入式操作系统: 是一种是一种运行在嵌入式系统中运行在嵌入式系统中,对对嵌入式系统嵌入式系统以及以及它所操作、控制的各种部件装置等资源进行统一协它所操作、控制的各种部件装置等资源进行统一协调、调度、指挥和控制的调、调度、指挥和控制的系统软件系统软件。2. 嵌入式操作系统嵌入式操作系统 商品化的嵌入式操作系统:商品化的嵌入式操作系统: 目前,目前,国内外已有几十种国内外已有几十种商业
22、操作系统可供选商业操作系统可供选择择,如,如VxWorks、WindowsCE、 Neculeus 、PalmOS等等。等等。 这些操作系统均属于商品化产品,这些操作系统均属于商品化产品,价格昂贵价格昂贵且且由于由于源泉代码不公开源泉代码不公开导致了诸如对设备的支持、应导致了诸如对设备的支持、应用软件的移植等一系列的问题。用软件的移植等一系列的问题。 嵌入式嵌入式Linux: 商业化的商业化的嵌入式操作系统嵌入式操作系统价格昂贵,且难以移植价格昂贵,且难以移植和源代码封闭性。和源代码封闭性。 在这种需求下,在这种需求下,嵌入式嵌入式LinuxLinux以其独特的优势引以其独特的优势引起了人们的
23、极大重视。起了人们的极大重视。 LinuxLinux从从19911991年问世到现在的短短十几年时间内,年问世到现在的短短十几年时间内,已经发展成为功能强大、设计完善的操作系统之一。已经发展成为功能强大、设计完善的操作系统之一。 所谓的嵌入式所谓的嵌入式Linux,是是对对Linux经过经过小型化裁剪小型化裁剪后,能够固化在容量只有几十万字节或几十亿字节后,能够固化在容量只有几十万字节或几十亿字节的存储器芯片或单片机中,应用于特定嵌入式场合的存储器芯片或单片机中,应用于特定嵌入式场合的的专用专用Linux操作系统操作系统 。 嵌入式嵌入式LinuxLinux以其可以其可应用于多种硬件平台、内核
24、应用于多种硬件平台、内核高效稳定、源码开放、软件丰富、网络通信和文件高效稳定、源码开放、软件丰富、网络通信和文件管理机制完善等优良特性,成为嵌入式系统领域中管理机制完善等优良特性,成为嵌入式系统领域中的一个研究热点。的一个研究热点。 如今,业界已经达成共识:即如今,业界已经达成共识:即嵌入式嵌入式linuxlinux是大是大势所趋势所趋,有巨大的市场潜力和无限商的机。,有巨大的市场潜力和无限商的机。1.3 1.3 操作系统的基本特征操作系统的基本特征现代操作系统的四大基本特征:现代操作系统的四大基本特征:n1 1 并发(并发(ConcurrenceConcurrence)n2 2 共享(共享(
25、SharingSharing)n3 3 虚拟(虚拟(VirtualVirtual)n4 4 异步性(异步性(AsynchronismAsynchronism) 三种(批处理、分时、实时)操作系统都具有上三种(批处理、分时、实时)操作系统都具有上述特征。述特征。1.4 1.4 操作系统的主要功能操作系统的主要功能从资源管理观点看,操作系统具有从资源管理观点看,操作系统具有五大功能五大功能:u 处理机管理处理机管理u 存储器管理存储器管理u 设备管理设备管理u 文件管理文件管理u 用户接口用户接口 其中:其中: 1 1. .处理机管理处理机管理 即即 对对CPUCPU的分配和运行进行管理。的分配和
26、运行进行管理。 CPUCPU的分配和运行都是以进程的分配和运行都是以进程( (线程)为单位的,所线程)为单位的,所以可以可归结为对进程归结为对进程( (线程)的管理。线程)的管理。 包括:包括: . . 进程控制进程控制 . . 进程同步进程同步 . . 进程通信进程通信 . . 进程调度进程调度 1 1. .处理机管理处理机管理 即即 对对CPUCPU的分配和运行进行管理。的分配和运行进行管理。 CPUCPU的分配和运行都是以进程的分配和运行都是以进程( (线程)为单位的,所线程)为单位的,所以可以可归结为对进程归结为对进程( (线程)的管理。线程)的管理。 包括:包括: . . 进程控制进
27、程控制 . . 进程同步进程同步 . . 进程通信进程通信 . . 进程调度进程调度创建创建和和撤消撤消进程以进程以及控制进程的及控制进程的状态转换状态转换。 1 1. .处理机管理处理机管理 即即 对对CPUCPU的分配和运行进行管理。的分配和运行进行管理。 CPUCPU的分配和运行都是以进程的分配和运行都是以进程( (线程)为单位的,所线程)为单位的,所以可以可归结为对进程归结为对进程( (线程)的管理。线程)的管理。 包括:包括: . . 进程控制进程控制 . . 进程同步进程同步 . . 进程通信进程通信 . . 进程调度进程调度系统对并发执行的系统对并发执行的多个进程进行协调多个进程
28、进行协调有两种有两种协调方式协调方式: 互斥互斥和和同步。同步。 1 1. .处理机管理处理机管理 即即 对对CPUCPU的分配和运行进行管理。的分配和运行进行管理。 CPUCPU的分配和运行都是以进程的分配和运行都是以进程( (线程)为单位的,所线程)为单位的,所以可以可归结为对进程归结为对进程( (线程)的管理。线程)的管理。 包括:包括: . . 进程控制进程控制 . . 进程同步进程同步 . . 进程通信进程通信 . . 进程调度进程调度进程间所进行的进程间所进行的信息交换信息交换。 1 1. .处理机管理处理机管理 即即 对对CPUCPU的分配和运行进行管理。的分配和运行进行管理。
29、CPUCPU的分配和运行都是以进程的分配和运行都是以进程( (线程)为单位的,所线程)为单位的,所以可以可归结为对进程归结为对进程( (线程)的管理。线程)的管理。 包括:包括: . . 进程控制进程控制 . . 进程同步进程同步 . . 进程通信进程通信 . . 进程调度进程调度按一定算法,从进程按一定算法,从进程就绪队列中选出一进就绪队列中选出一进程,把处理机分配给程,把处理机分配给它它.(当一个正在执行的进程已经完当一个正在执行的进程已经完成,或因某事件而无法继续执成,或因某事件而无法继续执行时,系统应进行进程调度,行时,系统应进行进程调度,重新分配处理机。重新分配处理机。) 2. 2.
30、存储器管理存储器管理主要任务主要任务: 为多道程序的并发运行提供良好环境;为多道程序的并发运行提供良好环境; 提高存储器提高存储器的利用率;为尽量多的用户提供足够大的存储空间。的利用率;为尽量多的用户提供足够大的存储空间。存储器管理的功能存储器管理的功能: :n内存分配内存分配n内存保护内存保护n地址映射地址映射n内存扩充内存扩充 2. 2.存储器管理存储器管理主要任务主要任务: 为多道程序的并发运行提供良好环境;为多道程序的并发运行提供良好环境; 提高存储器提高存储器的利用率;为尽量多的用户提供足够大的存储空间。的利用率;为尽量多的用户提供足够大的存储空间。存储器管理的功能存储器管理的功能:
31、 :n内存分配内存分配n内存保护内存保护n地址映射地址映射n内存扩充内存扩充为每道程序分配为每道程序分配自己的内存空间自己的内存空间 2. 2.存储器管理存储器管理主要任务主要任务: 为多道程序的并发运行提供良好环境;为多道程序的并发运行提供良好环境; 提高存储器提高存储器的利用率;为尽量多的用户提供足够大的存储空间。的利用率;为尽量多的用户提供足够大的存储空间。存储器管理的功能存储器管理的功能: :n内存分配内存分配n内存保护内存保护n地址映射地址映射n内存扩充内存扩充保证保证各道程序各道程序都都能在自己的内存能在自己的内存空间运行而空间运行而互不互不干扰干扰。 2. 2.存储器管理存储器管
32、理主要任务主要任务: 为多道程序的并发运行提供良好环境;为多道程序的并发运行提供良好环境; 提高存储器提高存储器的利用率;为尽量多的用户提供足够大的存储空间。的利用率;为尽量多的用户提供足够大的存储空间。存储器管理的功能存储器管理的功能: :n内存分配内存分配n内存保护内存保护n地址映射地址映射n内存扩充内存扩充把程序地址空间中把程序地址空间中的的逻辑地址逻辑地址转换为转换为内存空间对应的内存空间对应的物物理地址。理地址。 2. 2.存储器管理存储器管理主要任务主要任务: 为多道程序的并发运行提供良好环境;为多道程序的并发运行提供良好环境; 提高存储器提高存储器的利用率;为尽量多的用户提供足够
33、大的存储空间。的利用率;为尽量多的用户提供足够大的存储空间。存储器管理的功能存储器管理的功能: :n内存分配内存分配n内存保护内存保护n地址映射地址映射n内存扩充内存扩充借助于虚拟存贮技借助于虚拟存贮技术,术,让更多的作业让更多的作业并发执行。并发执行。 3.3.设备管理设备管理 管理计算机的所有外围设备(即管理计算机的所有外围设备(即I/OI/O 设备)设备), , 包括:包括: 为进程分配为进程分配I/OI/O设备;设备; 完成完成I/OI/O操作;操作; 提高设备的利用率;提高设备的利用率; 方便用户使用。方便用户使用。设备管理程序应具有的功能设备管理程序应具有的功能: :n缓冲管理缓冲
34、管理 利用缓冲来利用缓冲来缓和缓和CPUCPU和和I/OI/O设备间速度不匹设备间速度不匹配的矛盾配的矛盾,和提高,和提高CPUCPU与设备与设备、设备与设备设备与设备间间操作的并行程度,以操作的并行程度,以提高提高CPUCPU和和I/OI/O设备的利设备的利用率用率。n设备分配设备分配 根据用户请求分配设备。根据用户请求分配设备。 (要有分配策略,算法(要有分配策略,算法. ). )n设备处理设备处理 设备驱动程序驱动相应的设备驱动程序驱动相应的I/OI/O设备,完成用户设备,完成用户规定的规定的I/OI/O操作。操作。. . n虚拟设备功能虚拟设备功能 使使独占设备独占设备成为能被多个用户
35、成为能被多个用户共享的设备共享的设备。需要使用虚拟技术。需要使用虚拟技术。4.4.文件管理文件管理 程序和数据程序和数据是以文件形式存储在是以文件形式存储在外存上外存上,所以操,所以操作系统中作系统中应配置文件管理机制应配置文件管理机制。 包括:包括: 文件存储空间的管理文件存储空间的管理 目录管理目录管理 文件读、写管理文件读、写管理 文件保护文件保护 向用户提供接口向用户提供接口 5. 5. 用户接口用户接口 操作系统为用户提供两个界面。操作系统为用户提供两个界面。 n 交互式界面交互式界面n程序界面(系统调用)程序界面(系统调用)操作系统操作系统程序界面(系统调用)程序界面(系统调用)交
36、互式界面交互式界面用户用户 5. 5. 用户接口用户接口 操作系统为用户提供两个界面。操作系统为用户提供两个界面。 包括包括3种接口种接口: n 交互式界面交互式界面 n程序界面(系统调用)程序界面(系统调用) 操作系统操作系统程序界面(系统调用)程序界面(系统调用)交互式界面交互式界面用户用户 5. 5. 用户接口用户接口 操作系统为用户提供两个界面,操作系统为用户提供两个界面, 包括包括3种接口种接口: n 交互式界面交互式界面 - 命令接口命令接口 - 图形接口图形接口n程序界面(系统调用)程序界面(系统调用) - 程序接口程序接口操作系统操作系统程序界面(系统调用)程序界面(系统调用)
37、交互式界面交互式界面用户用户1)命令接口)命令接口n联机命令接口联机命令接口 用户在终端上键入命令,以得到操作系统的服务。用户在终端上键入命令,以得到操作系统的服务。n脱机命令接口脱机命令接口 由一组作业控制语言组成。由它代替用户对批处由一组作业控制语言组成。由它代替用户对批处理作业进行控制和干预。理作业进行控制和干预。nShell命令语言命令语言 又称又称“命令解释程序命令解释程序”。它对用户输入的命令或。它对用户输入的命令或作业说明书上的命令逐条地解释执行。作业说明书上的命令逐条地解释执行。例如:例如:Linux系统。系统。 当一个用户登录当一个用户登录Linux之后,系统初始化程序之后,
38、系统初始化程序init就运行一个称为就运行一个称为“shell” 的程序。其界面:的程序。其界面: 超级用户提示符:超级用户提示符:# 普通用户提示符:普通用户提示符:$ 在该界面下,用户可以对计算机输入各种操作命在该界面下,用户可以对计算机输入各种操作命令。令。常见的常见的shell 命令如:命令如: login, logout, vi, ls, cat ,pwd, rm, cp ,link, chown, . 如:如:$ logout (退出系统)(退出系统) $ ls (列出当前目录中的文件名列出当前目录中的文件名) $ ls -l (详细列出当前目录下文件属性)(详细列出当前目录下文件
39、属性) $ cat 文件名文件名 (显示文件内容)(显示文件内容) $ vi 文件名文件名 (编辑一个文件)(编辑一个文件) $ cp file1 file2 (拷贝文件拷贝文件) 使用使用 man( 联机帮助)查看各联机帮助)查看各shell命令及其功能和用法命令及其功能和用法. 注:(参看第七章)注:(参看第七章) 2)图形接口)图形接口 是用户接口的一种新的表现形式。是用户接口的一种新的表现形式。 它以图标、窗口、菜单等元素来表示操作系统的它以图标、窗口、菜单等元素来表示操作系统的各种功能、文件、应用程序等。各种功能、文件、应用程序等。简化了操作。简化了操作。例如:例如:linux操作系
40、统的图形界面操作系统的图形界面 :3)程序接口(或称系统调用)程序接口(或称系统调用) 是操作系统是操作系统提供给编程人员的唯一接口。提供给编程人员的唯一接口。 编程人员利用系统调用编程人员利用系统调用,在源程序中动态请求和释在源程序中动态请求和释放系统资源,调用系统中已有的系统功能,从而完成放系统资源,调用系统中已有的系统功能,从而完成那些与机器硬件相关的工作,以及控制程序的执行速那些与机器硬件相关的工作,以及控制程序的执行速度等。度等。 因此,系统调用像一个黑箱子那样,对用户屏蔽因此,系统调用像一个黑箱子那样,对用户屏蔽了操作系统的具体动作而只提供有关的功能。了操作系统的具体动作而只提供有
41、关的功能。 (事实上,命令控制界面也是在系统调用的基础上事实上,命令控制界面也是在系统调用的基础上开发而成的。开发而成的。) 1.5 操作系统的结构设计操作系统的结构设计 操作系统作为系统的核心软件,其操作系统作为系统的核心软件,其内部是怎样构造的?内部是怎样构造的? 或者说:或者说: 操作系统作为一个大程序,由众多函数组成,它们是操作系统作为一个大程序,由众多函数组成,它们是按什么方按什么方式集合在一起的?式集合在一起的? 有四种构造方式:有四种构造方式:n 无结构操作系统(整体式系统)无结构操作系统(整体式系统)早期的早期的n 模块化结构模块化结构n 分层式结构分层式结构n 微内核结构微内
42、核结构 (2 2)模块化结构)模块化结构 将将OSOS按其功能划分为若干个具有一定独立性和大按其功能划分为若干个具有一定独立性和大小的模块。并规定好各模块间的接口,各模块之间小的模块。并规定好各模块间的接口,各模块之间能通过该接口实现交互。能通过该接口实现交互。(3)分层式结构分层式结构 现代操作系统结构现代操作系统结构: 模块化、层次化和对象化。模块化、层次化和对象化。 如:如:Unix, LinuxUnix, Linux。 特点:特点: 操作系统由一系列层组成;每一层再由操作系统由一系列层组成;每一层再由一些小的功能模块组成。各层的功能独立。一些小的功能模块组成。各层的功能独立。高层只高层
43、只能调用低层功能,低层为其上一层提供服务。能调用低层功能,低层为其上一层提供服务。 例:例:UNIX UNIX 操作系统操作系统 硬硬 件件 硬件控制硬件控制硬件层硬件层核核心心层层字符设备字符设备 | 块设备块设备 设备设备 驱动驱动缓冲区管理缓冲区管理 文件系统文件系统 系统调用接口系统调用接口 程序库程序库用户层用户层用户程序用户程序 进程控制系统进程控制系统进程调度进程调度内存管理内存管理进程通信进程通信(4)微内核结构微内核结构 微内核微内核:是指精心设计的、能实现现代是指精心设计的、能实现现代OS核心核心功能的小型内核,功能的小型内核,是内核的精简版本。是内核的精简版本。即:即:
44、OS被分成两个部分被分成两个部分:一个小内核(一个小内核(微内核)微内核)一组服务(进程)一组服务(进程) 微内核只提供最基本、最核心的服务(微内核只提供最基本、最核心的服务(如进程管理,进程间如进程管理,进程间通信,内存管理,中断管理等),而通常与内核集成在一起的通信,内存管理,中断管理等),而通常与内核集成在一起的系统服务层(如文件管理、终端管理、网络支持等)则被分离系统服务层(如文件管理、终端管理、网络支持等)则被分离出来,出来,并对外部用户程序提供系统服务,服务之间使用进程间并对外部用户程序提供系统服务,服务之间使用进程间通信机制进行交互。通信机制进行交互。 优点:优点: 系统升级、内
45、核移植容易,。系统升级、内核移植容易,。 缺点:性能问题。缺点:性能问题。 ( 由于微内核操作系统使用进程来隔离系统组件,这些组由于微内核操作系统使用进程来隔离系统组件,这些组件之间的通信使用了件之间的通信使用了“消息传递方式消息传递方式”,这实际上是进行了,这实际上是进行了一次一次RPC调用,完成一次这样调用的操作较慢,低于传统操调用,完成一次这样调用的操作较慢,低于传统操作系统的系统调用性能。作系统的系统调用性能。 解决微内核性能问题的一条思路是:对解决微内核性能问题的一条思路是:对RPC调用进行直接调用进行直接优化。这种思路导致了被称为第二代微内核的一些新的内核优化。这种思路导致了被称为
46、第二代微内核的一些新的内核设计的出现。)设计的出现。) Windows NT/XP 使用了使用了微内核结构。微内核结构。 (实际上,(实际上,Windows NT架构是混合内核,当然本架构是混合内核,当然本质上还是微内核,只不过让一些运行在用户空间的质上还是微内核,只不过让一些运行在用户空间的代码运行在内核空间,让内核的运行效率更高些。)代码运行在内核空间,让内核的运行效率更高些。) 本章要点本章要点1操作系统的主要作用。操作系统的主要作用。2单道、多道、批处理、分时、实时的概念。单道、多道、批处理、分时、实时的概念。3理解宏观上并行、微观上串行的含义。理解宏观上并行、微观上串行的含义。4理解操作系统的理解操作系统的4大特征的含义。大特征的含义。5为实现多道,操作系统应具备哪五大功能。为实现多道,操作系统应具备哪五大功能。6操作系统的类型?一个实际的现代的操作系统,操作系统的类型?一个实际的现代的操作系统,一般会具备哪几种操作系统的基本功能?一般会具备哪几种操作系统的基本功能?7操作系统为用户提供哪几种接口?操作系统为用户提供哪几种接口?8了解分层结构和微内核结构操作系统的特点。了解分层结构和微内核结构操作系统的特点。 The End The End