第一章 操作系统概述讲义.docx
- 文档编号:8672846
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:12
- 大小:144.77KB
第一章 操作系统概述讲义.docx
《第一章 操作系统概述讲义.docx》由会员分享,可在线阅读,更多相关《第一章 操作系统概述讲义.docx(12页珍藏版)》请在冰豆网上搜索。
第一章操作系统概述讲义
第一章操作系统概述
1.1操作系统的概念
一个完整的计算机系统由两部分组成:
计算机硬件系统和计算机软件系统。
计算机硬件通常由运算器、控制器、存储器、输入/输出设备以及其他各种各样的外围设备等部件组成,其中运算器和控制器又被集成在一个称为CPU的部件中,这些部件构成了系统本身,也为用户的程序执行提供了物质基础和工作环境。
计算机软件系统又包括系统软件和应用软件。
系统软件包括操作系统OS(OperatingSystem)、各种语言处理程序(汇编程序、编译程序)、连接程序、系统实用工具程序等,而操作系统是其中最重要的系统软件,也是其他软件赖以工作的基础。
应用软件是为各种应用目的所开发的程序,它们往往需要在操作系统的管理和支持下才能正常工作。
计算机应用软件、操作系统与硬件的关系如图1-1所示。
图1-1计算机软硬件关系
1.1.1操作系统的地位
只有计算机硬件而没有任何软件支持的计算机称为“裸机”,它仅仅构成了计算机系统的物质基础。
而操作系统是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充,因而操作系统在计算机系统中占据着一个非常重要的地位,它不仅是硬件与所有其他软件之间的接口,而且任何数字电子计算机都必须在其硬件平台上加载相应的操作系统之后,才能构成一个可以协调运转的计算机系统。
只有在操作系统的指挥控制下,各种计算机资源才能被分配给用户使用。
也只有在操作系统的支撑下,其他系统软件如各类编译系统、程序库和运行支持环境才得以取得运行条件。
没有操作系统,任何应用软件都无法运行。
裸机在配有软件之后就成为功能更强、使用更方便的机器,这种配有软件的机器称为扩充机或虚拟机。
1.1.2操作系统的作用
操作系统的作用主要体现在以下两方面:
1.管理系统中的各种资源,包括硬件资源和软件资源。
在计算机系统中,所有硬件部件(如CPU、存储器、输入/输出设备等)称为硬件资源;而程序和数据等信息称为软件资源。
操作系统对每一种资源的管理都必须进行以下几项工作:
1)监视资源
监视资源包括需要知道该资源有多少,资源的状态如何,它们都在哪里,谁在使用,可供分配的又有多少,资源的使用历史等等。
2)决定分配资源策略
包括选择某种资源分配策略,决定谁有权限可以获得这种资源,何时可以获得,可以获得多少,如何退回资源等等。
3)分配资源
分配资源是指按照已决定的资源分配策略,对符合条件的申请者分配某种资源,并进行相应的管理事务处理。
4)回收资源
回收资源是指在使用者放弃某种资源之后,对该种资源进行善后处理,如果是可重复使用的资源,则进行回收、整理,以备再次使用。
2.为用户提供友好的界面。
操作系统必须为最终用户和系统用户的各种工作提供友好的界面,以方便用户的工作。
典型的操作系统界面有两类:
1)命令行界面
如Unix和MS-DOS操作系统,在这种操作系统环境下,用户通过键盘输入完成某种工作的命令,操作系统分析命令的正确性,然后执行命令并返回执行结果。
2)图形化界面
如MSWindows操作系统,在其提供的图形化界面环境下,用户可通过鼠标左单击某个按钮或选择某个菜单来完成相应的命令。
1.1.3操作系统的定义
操作系统是计算机系统中的一个系统软件,它是这样一些程序模块的集合:
它们能有效地组织和管理计算机系统中的硬件及软件资源,合理地组织计算机工作流程,控制程序的执行,并向用户提供各种服务功能,使得用户能够灵活、方便和有效地使用计算机,使整个计算机系统能高效地运行。
或者说,操作系统是一组控制和管理计算机硬件和软件资源,合理地对各类作业进行调度,以方便用户使用的程序的集合。
从操作系统的定义上看,操作系统是一个程序的集合,其作用是管理计算机系统中的各种资源,其目标是为用户提供一个友好的操作界面,方便用户使用计算机,并提高计算机系统的性能。
1.2操作系统的发展历史
1.2.1操作系统的产生
操作系统是由于客观的需要而产生的,它伴随着计算机技术本身及其应用的日益发展而逐渐发展和不断完善。
它的功能由弱到强,在计算机系统中的地位不断提高,目前已经成为计算机系统的核心。
从1946年诞生第一台电子计算机以来,它的每一代进化都以减少成本、缩小体积、降低功耗、增大容量和提高性能为目标,随着计算机硬件的发展,同时也加速了操作系统(简称OS)的形成和发展。
计算机的发展大致经历了以下四个阶段的变化:
1)电子管计算机(1946~1957):
其主要元件采用电子管。
采用磁鼓或延迟线作为主存储器,外存储器使用纸带、卡片、磁带等,运算速度为每秒几千次或几万次,软件使用机器语言或汇编语言,主要用于科学计算。
2)晶体管计算机(1958~1964):
其逻辑元件主要采用晶体管,主存储器采用磁性材料制成的磁芯存储器,外存储器使用磁带、磁盘,计算速度为每秒几十万次,软件开始使用操作系统,并出现FORTRAN、COBOL等面向过程的高级语言。
3)集成电路计算机(1965~1970):
其逻辑元件采用中、小规模集成电路,主存储器采用半导体存储器,运算速度几十万次到几百万次,软件方面操作更加完善,高级语言进一步发展。
4)大规模及超大规模集成电路计算机(1971~现在):
其逻辑元件采用大规模和超大规模集成电路,主存储器采用集成度更高的半导体存储器,外存储器使用软、硬磁盘和光盘,运算速度每秒几百万次甚至上亿次,软件方面发展了数据库系统、分布式操作系统,高级语言发展为数百种,外部设备丰富多彩,输入输出设备品种多、质量高,网络通信技术、多媒体技术及信息高速公路使世界范围内的信息传递更加方便。
适应上述计算机的发展历程,操作系统也经历了手工操作、早期批处理阶段、执行系统阶段、多道程序系统阶段、分时系统、实时系统、通用操作系统等阶段。
进入80年代,硬件技术飞速发展以及微处理机的出现和发展,操作系统有了进一步发展,如单用户操作系统、网络操作系统、分布式操作系统及智能化操作系统也相继产生。
1.2.2操作系统的发展
一、手工操作阶段
最初的电脑并没有操作系统,人们通过各种操作按钮来控制计算机,后来出现了汇编语言,操作人员通过有孔的纸带将程序输入电脑进行编译。
这些将语言内置的电脑只能由操作人员自己编写程序来运行,不利于设备、程序的共用。
为了解决这种问题,就出现了操作系统,这样就很好实现了程序的共用,以及对计算机硬件资源的管理。
1.系统特点
1)无操作系统支持。
2)用户既是程序员、也是操作员。
3)程序独占机器。
4)手工操作。
2.存在问题:
上机完全是手工操作,且用户独占全机,手工操作的慢速度和计算机的高速度之间形成矛盾,计算机的CPU等资源浪费严重。
3.改进办法:
1)预输入(脱机输入):
事先将装有用户程序和数据的纸带(或卡片)装入纸带输入机(或卡片机),在一台外围机的控制下,把纸带(卡片)上的数据(程序)输入到磁带上。
当CPU需要这些程序和数据时,再从磁带上高速地调入内存。
2)缓输出(脱机输出):
当CPU需要输出时,可由CPU直接高速地把数据从内存送到磁带上,然后再在另一台外围机的控制下,将磁带上的结果通过相应的输出设备输出。
预输入/缓输出过程如图1-2所示。
采用预输入和缓输出机制虽然部分解决CPU和I/O(输入/输出)设备以及手工操作速度不匹配的问题,但系统资源的利用率仍然不高,为进一步提高系统资源利用率,必须摆脱手工操作,实现作业的自动处理,这就出现了批处理。
二、单道批处理系统(SimpleBatchProcessingSystem)
1.单道批处理系统的原理
将一批作业预先输入到磁带上,在系统中配上监督程序,在监督程序的控制下使得这批作业能够一个接一个地连续处理,期间无需人工干预,从而提高了系统资源的利用率和系统吞吐量。
虽然系统对作业的处理是成批进行的,但内存中始终只驻留一道作业,故称为单道批处理系统。
2.单道批处理系统的特点
1)自动性:
在磁带上的一批作业能自动地逐个地依次运行,作业处理期间无须人工干预。
2)顺序性:
作业的完成顺序与作业进入内存的顺序完全相同。
3)单道性:
内存中同时只有一道程序运行。
3.单道批处理系统的改进
为进一步提高系统资源的利用率和吞吐量,引入多道程序设计技术,即同时将多个作业调入内存,这就出现了多道批处理系统。
三、多道批处理系统
1.多道批处理系统的原理
利用多道程序设计技术,通过作业调度程序按一定的策略将事先存放在外存“后备队列”上的多个作业调入内存并执行,使它们能够共享CPU和系统中的其他各种资源。
2.多道批处理系统的特点
1)多道性:
内存中可同时驻留多道程序,这些程序可以并发执行。
2)无序性:
内存中的多个作业,它们完成的先后顺序与其进入内存的顺序无严格的对应关系,即先进入内存的作业并不一定先完成,这与它们竞争系统资源有关。
3)调度性:
作业从进入内存到执行完毕,需要经历作业调度和进程调度两个阶段。
作业调度:
是指按照某种策略从外存的后备作业中选择若干作业调入内存。
进程调度:
是指从内存中选择一个作业,为其分配CPU后执行。
3.多道批处理系统的优点
1)资源利用率高
内存中多道程序共享系统中的所有资源,使得资源能够得到充分利用。
2)系统吞吐量大
CPU和其他资源利用率提高后,使得系统在单位时间内完成的工作量显著增加。
4.多道批处理系统的缺点
1)作业的平均周转时间长
作业的周转时间是指从作业进入系统开始,直到其完成并退出系统为止所经历的时间间隔。
在批处理系统中,由于作业需要排队处理,因而相对延长了作业的处理时间。
2)无交互能力
用户一旦将作业交给系统,在作业处理期间,用户不能与自己的作业进行交互,不利于程序的修改和调试。
四、分时系统(Time-SharingSystem)
1.分时系统的原理
在一台主机上连接多个终端,同时允许多个用户通过自己的终端以交互方式使用计算机,共享主机及其资源。
它是为满足用户需求而产生的。
2.分时系统的特点
1)多路性。
允许在一台主机上同时连接多个终端,系统分时为每个用户服务,即每个用户轮流使用一个时间片。
2)独立性。
每个用户各自占用一个终端,彼此独立操作,互不干扰。
3)及时性。
用户的请求能在很短的时间内获得响应。
4)交互性。
用户可通过终端与系统进行广泛的人机对话。
五、实时系统(Real-TimeSystem)
1.实时系统的引入
为提高系统的响应速度和高可靠性而引入。
2.实时系统的定义
实时系统是一个能够在指定或者确定的时间内完成系统功能以及对外部或内部事件在同步或异步时间内做出响应的系统。
3.实时系统的分类
1)硬实时:
系统必须满足任务对截止时间的要求,否则可能出现不可预期的结果。
2)软实时:
也对截止时间有要求,但不太严格,允许出现延迟,偶尔出现延迟对系统的影响不会太大。
4.实时系统的特点
1)多路性。
采集多路现场信息,控制多个对象或执行机构。
2)独立性。
对多路信息的采集与对象控制彼此互不干扰。
3)及时性。
由开始截止时间和完成截止时间来确定。
4)交互性。
指用户与系统可以进行交互。
5)可靠性。
要求系统高度可靠。
六、通用操作系统
同时兼有多道批处理、分时、实时处理的功能,或者其中两种以上功能的操作系统。
如UNIX(一种通用的多用户分时交互型操作系统)。
1.3操作系统的分类
操作系统系统主要分为以下几大类:
一、批处理操作系统
早期的一种大型机用操作系统。
可对用户作业成批处理,期间勿需用户干预,分为单道批处理系统和多道批处理系统。
二、分时操作系统
利用分时技术的一种联机的多用户交互式操作系统,每个用户可以通过自己的终端向系统发出各种操作控制命令,完成作业的运行。
分时是指把处理机的运行时间分成很短的时间片,按时间片轮流把处理机分配给各联机作业使用。
三、实时操作系统
一个能够在指定或者确定的时间内完成系统功能以及对外部或内部事件在同步或异步时间内做出响应的系统。
四、通用操作系统
同时兼有多道批处理、分时、实时处理的功能,或者其中两种以上功能的操作系统。
五、网络操作系统
一种在通常操作系统功能的基础上提供网络通信和网络服务功能的操作系统。
六、分布式操作系统
一种以计算机网络为基础的,将物理上分布的具有自治功能的数据处理系统或计算机系统互联起来的操作系统。
1.4操作系统的特征
1.并发性(Concurrence)
所谓并发性是指多个程序在一段时间间隔内同时驻留内存,并处于运行状态。
1)并行性:
是指两个或多个事件在同一时刻发生。
强调时间点。
2)并发性:
是指两个或多个事件在同一时间间隔内发生。
强调时间段。
3)程序(Program):
指令的集合。
是一个静态实体(PassiveEntity)
4)进程(Process):
在系统中能独立运行并作为资源分配的基本单位,它是由一组机器指令、数据和堆栈等组成的,是一个活动实体。
5)线程(Thread):
比进程更小的的单位,是独立运行的基本单位。
2.共享性(Sharing)
指系统中的资源可供内存中多个并发执行的进程(线程)共同使用。
根据资源属性的不同,分为互斥共享和宏观上同时共享两种。
互斥共享:
指一段时间内只允许一个进程(线程)访问某种资源。
如打印机、磁带机等。
具有互斥共享性的资源也称为临界资源或独占资源。
计算机系统中的大多数物理设备和某些软件所用到的栈、变量和表格等都属于临界资源,都要求被互斥地共享。
同时共享:
指一段时间内允许多个进程“同时”访问某类资源。
如磁盘设备等。
这种“同时”往往是宏观上的“同时”,在微观上,进程可能是交替地对访问该类资源。
3.虚拟性(Virtual)
指通过某种技术把一个物理实体变为若干个逻辑上的对应物。
物理实体是实际存在的,虚拟是指用户感觉上的东西。
根据物理实体的不同可分为以下几种:
1)虚拟处理机
指通过多道程序设计技术,把一台物理上的CPU虚拟为多台逻辑上的CPU(虚拟处理机),从而允许多道程序并发执行,并分时地使用一台处理机。
虽然只有一台处理机,但它能同时为多个用户服务,使得每个终端用户都认为自己有一个CPU在专门为他服务。
2)虚拟存储器
指通过虚拟存储器技术,将一台机器的物理存储器变为虚拟存储器,以便从逻辑上来扩充存储器的容量,使得用户感觉到的内存容量比实际内存容量大得多。
由于用户所感觉到的内存容量是虚的,故称这种存储器为虚拟存储器。
3)虚拟设备
指通过虚拟设备技术,将一台物理I/O设备虚拟为多台逻辑上的I/O设备,并允许每个用户占用一台逻辑上的I/O设备,这样便可使原来仅允许在一段时间内由一个用户访问的设备变为一段时间内允许多个用户同时访问的共享设备。
4)虚拟信道
指通过虚拟技术将一条物理信道虚拟为多条逻辑信道。
4.异步性(Asynchronism)
指进程以人们不可预知的速度向前推进。
在多道程序环境下,允许多个进程并发执行,但只有进程在获得所需的资源后才能执行。
在单处理机环境下,由于系统中只有一台处理机,因而每次只允许一个进程执行,其余进程只有等待。
当正在执行的进程提出某种资源要求时,如打印请求,而此时打印机正在为其他某个进程打印,由于打印机属于临界资源,因此正在执行的进程必须等待,且放弃对处理机的占用,直到打印机空闲,并再次把处理机分配给该进程时,该进程才能继续执行。
可见,由于资源等因素的限制,使进程的执行通常不是“一气呵成”,而是以“停停走走”的方式运行。
这样,内存中的每个进程在何时能获得处理机运行,何时又因提出某种资源请求而暂停,以及进程以怎样的速度向前推进,每道程序总共需要多少时间才能执行完毕等等都是不可预知的。
异步性是指进程以人们不可预知的速度向前推进,是操作系统的一个重要特征。
1.5操作系统的功能
操作系统的主要任务是为多道程序的运行提供良好的运行环境,以保证多道程序能有条不紊地、高效率地运行,并能最大程度地提高系统中各种资源的利用率和方便用户的使用,其主要功能有:
处理机管理、存储器管理、设备管理、文件管理等。
为方便用户使用操作系统,还必须向用户提供方便的用户接口。
1.5.1处理机管理
在传统的多道程序系统中,处理机的管理可归结为对进程的管理,在引入线程的操作系统中,还包含对线程的管理。
处理机管理的主要功能是创建和撤消进程(线程),对诸进程(线程)的运行进行协调,实现进程(线程)之间的信息交换,以及按照一定的算法把处理机分配给进程(线程)。
具体如下:
1.进程控制
包括进程(线程)的创建和撤消,以及控制进程(线程)在运行过程中的状态转换等。
2.进程同步
为多个进程(线程)的运行进行协调,以使多个进程能有条不紊地运行。
3.进程通信
用以实现共同完成某个任务的多个进程之间的信息交换。
4.调度
包括作业调度和进程调度。
前者的任务是从后备队列中按照一定的策略选择出若干个作业,为它们分配其必需的资源,再将其调入内存,分别为它们创建对应的进程,使它们都成为可能获得处理机的就绪进程,并按照一定的策略将它们插入就绪队列。
后者的任务是从进程就绪队列中选出某个进程,把处理机分配给它,并为它设置运行现场,使该进程投入运行。
1.5.2存储管理
存储器管理的功能主要包括内存分配、内存保护、地址映射和内存扩充等。
具体如下:
1.内存分配
其主要任务如下:
1)为每道程序分配内存空间,使它们“各得其所”。
2)提高存储器的利用率,以减少不可用的内存空间。
3)允许正在运行的程序申请附加的内存空间,以适应程序和数据动态增长的需要。
2.内存保护
其主要任务是确保每道程序都只在自己的内存空间内运行,彼此互不干扰。
绝不允许用户程序访问操作系统的程序和数据,也不允许转移到非共享的其他用户程序中去执行。
3.地址映射
在多道程序环境下,每道程序不可能从“0”地址开始装入物理内存,这使得程序的逻辑地址在装入物理内存后其所对应的物理地址不一致,为使程序能正确运行,必须利用地址变换机构将程序的逻辑地址转换为对应的物理内存地址。
4.内存扩充
利用虚拟存储技术,从逻辑上扩充内存容量,从而可以让更多的用户程序能并发执行。
1.5.3文件管理
文件管理的主要任务是对用户文件和系统文件进行管理,以方便用户使用,并保证文件的安全性,包括对文件存储空间的管理、目录管理、文件的读/写管理以及文件的共享与保护等。
具体包括以下几种工作:
1.文件存储空间管理
由文件系统对各种文件及文件的存储空间进行统一管理,即为每个文件分配必要的外存空间,并为提高外存利用率以及文件系统的运行速度设置有效的机制。
2.目录管理
首先是为每个文件建立目录项,并对众多的目录项加以有效的组织,以方便用户在外存上实现文件按名存取机制;其次是要实现文件共享;最后还包括提供快速的目录查询手段,以提高对文件的检索速度。
3.文件的读/写管理和保护。
1)文件的读/写管理。
根据用户的请求,从外存中读取数据或将数据写入外存。
在进行文件读(写)时,系统先根据用户给出的文件名,去检索文件目录,从中获得文件在外存中的位置;然后利用文件读(写)指针,对文件进行读(写)。
一旦读(写)完成,便修改读(写)指针,为下一次读(写)做好准备。
2)文件保护。
为防止系统中的文件被非法窃取和破坏,在文件系统中必须提供有效的存取控制机制以实现下述目标:
①防止未经核准的用户存取文件。
②防止冒名顶替存取文件。
③防止以不正确的方式使用文件。
1.5.4设备管理
设备管理的主要任务是完成用户进程提出的I/O请求;为用户进程分配其所需要的I/O设备;提高CPU和I/O设备的利用率;提高I/O速度;方便用户使用I/O设备等。
具体如下:
1.缓冲管理
为缓解高速的CPU和低速的I/O设备速度的不匹配,在I/O设备和CPU之间引入缓冲机制,可大大提高CPU的利用率,进而提高系统吞吐量。
分为单缓冲、双缓冲和缓冲池等。
2.设备分配
根据用户进程的I/O请求、系统的现有资源情况以及按照某种设备分配策略为之分配其所需要的设备。
通过利用设备控制表、控制器控制表等数据结构实现设备的分配和回收。
3.设备处理
其基本任务是实现CPU和设备控制器之间的通信。
1.5.5用户接口
为方便用户使用操作系统,操作系统必须向用户提供其使用的接口,主要包括命令接口、程序接口以及图形接口等。
其中命令接口包括操作系统向用户提供的一系列命令,以便于用户与计算机系统交互;程序接口是为用户程序在执行时访问系统资源而准备,是用户程序取得操作系统服务的唯一途径,由一系列系统调用组成;图形接口采用图形化的操作界面,用非常容易识别的各种图标来将系统的各项功能、应用程序和文件以直观、形象的形式表示出来,从而不需记忆各种命令及其格式、方便操作计算机。
这是目前计算机操作系统中广泛采用的一种接口方式。
1.6操作系统的结构设计
1.无结构操作系统
这是早期的操作系统,设计者旨在操作系统功能的实现和效率的提高,缺乏首尾一致的设计思想,系统庞大且杂乱,缺乏清晰的程序结构。
此时的操作系统是一组过程的集合。
2.模块化操作系统
采用模块化设计技术,将原来众多的过程按其功能划分为若干个具有一定独立性和大小的模块,并规定好各模块之间的接口,使各模块之间能通过该接口实现交互,然后再将模块细分为具有一定管理功能的子模块,并定义子模块之间的接口。
1)优点
①提高了操作系统设计的正确性、可理解性和可维护性。
②增强了操作系统的可适应性。
③加速了操作系统的开发过程。
2)缺点
①对模块的划分及对接口的规定并不精确,而且还可能存在错误,因而很难保证按此规定所设计的模块会完全正确,这将使得在把这些模块装配成操作系统时发生困难
②从功能观点来划分模块时,未能将共享资源和独占资源加以区别;由于管理上的差异,又会使模块间存在着复杂的依赖关系,使操作系统结构变得不清晰。
3.分层式操作系统结构
采用分层式结构设计思想,将操作系统的各个功能模块按层次进行组织,每一层仅使用其底层所提供的功能和服务,并确定各层间的顺序。
4.微内核操作系统结构(现代操作系统结构)
微内核是指通过精心设计、能实现现代操作系统核心功能的小型内核,它与一般的操作系统不同,它更小更精炼,不仅运行于核心态,而且开机后常驻内存,它不会因内存紧张而被换出内存。
微内核并非是一个完整的操作系统,而只是为构建通用操作系统提供一个重要基础,通常采用客户/服务器模式,操作系统的大部分功能和服务由若干服务器来提供。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第一章 操作系统概述讲义 操作系统 概述 讲义