目录
1.0操作系统の定义
1.1 操作系统的目标和作用
一、操作系统的目标
二、OS的作用
1.2 操作系统的发展过程
一、无操作系统
二、单道批处理系统
三、多道批处理系统
四、分时操作系统(time-sharing system)
五、实时操作系统(real time system)
六、微机操作系统的发展
1.3 操作系统的基本特征
一、并发性(最重要的特征,其它特征都以并发为前提)
二、共享性
三、虚拟性
四、异步性
1.4 操作系统的主要功能
1.5 OS结构设计
一、传统的操作系统结构
1、无结构操作系统
2、模块化OS结构
3、分层式OS结构
4、微内核OS结构
☺操作系统层次化体系结构
操作系统是位于硬件层(HAL)之上,所有其它系统软件层之下的一个系统软件,
其主要作用是管理好这些设备,提高它们的利用率和系统的吞吐量,
并为用户和应用程序提供一个统一的接口,便于用户使用
1、方便性:操作系统使计算机更易于使用
2、有效性:操作系统允许以更有效的方式使用计算机系统资源
(1)提高系统资源利用率
(2)提高系统的吞吐量
3、可扩展性:在操作系统中,允许有效地开发,测试和引进新的系统功能
4、开放性:实现应用程序的可移植性和互操作性,要求具有统一的开放的环境
1、作为用户与计算机硬件系统之间的接口,用户通过OS来使 用计算机系统
2、计算机系统资源的管理者(软硬件资源)
资源主要分为四类:处理机、存储器、I/O设备、文件(数据和程序)
Δ1、处理机管理----用于分配和控制处理机
Δ2、存储器管理----主要负责内存的分配与回收
Δ3、I/O设备管理---负责I/O设备的分配与操纵
Δ4、文件管理------负责文件的存取、共享和保护
3、OS实现了对计算机资源的抽象
(1)对于一个完全无软件的计算机系统(即裸机),它 向用户提供的是实际硬件接口(物理接口),用户 必须对物理接口的实现细节有充分的了解,并 利用机器指令进行编程,因此很难使用
(2)通过OS的I/O管理实现了对计算机资源的抽象, 帮助用户对硬件资源的使用和管理
1、人工操作方式
(1)一台计算机的所有资源由用户独占,降低了计算机资源利用率,人操作慢,出现了严重的人机矛盾
(2)缺点:用户独占全机 ; CPU等待人工操作
2、脱机输入输出方式
(1)在外围计算机的控制下,实现输入输出
(2)主要解决了CPU与设备之间不匹配的矛盾,提高了I/O速度
1、系统对作业的处理都是成批进行的, 且在内存中始终仅存一道作业运行,运行结束或出错, 才自动调另一道作业运行,故称为单道批处理系统 2、主要特征:自动性、顺序性、单道性 3、主要优点:减少人工操作,解决了作业的自动接续 4、主要缺点:平均周转时间长,没有交互能力 |
1、多道程序
(1)概念:在内存中存放多道作业运行,运行结束或出错,自动调度内存中的另一道作业运行
(2)优点:提高CPU的利用率, 提高内存和I/O设备利用率, 增加系统吞吐率
2、多道批处理系统の主要特征: 多道性、无序性、调度性(进程调度和作业调度)
3、多道批处理の主要优点:提高了资源利用率和吞吐能力
主要缺点:平均周转时间长,没有交互能力
4、多道批处理系统需要解决的6个问题
(1)处理机管理:分配和控制CPU
(2)存储器管理:内存分配与回收
(3)I/O设备管理:I/O设备的分配与操纵
(4)文件管理:文件的存取、共享和保护
(5)作业管理:如何组织作业运行
(6)用户与系统的接口问题
1、分时系统是指,在一台主机上连接了多个带有显示器和键盘的终端,同时允许多个用户通过自己的终
端,以交互方式使用计算机,共享主机中的资源
2、分时系统能很好地将一台计算机提供给多个用户同时使用,提高计算机的利用率
还可以满足用户对人机交互的需求
3、它被经常应用于查询系统中,满足许多查询用户的需要
4、特点:多路性:一个主机与多个终端相连
独立性:彼此独立操作,互不干扰
及时性:系统能在很短的时间得到回答
交互性:能实现人机对话(区别于批处理系统)
5、典型系统:Multics (MIT) ; UNIX
6、影响响应时间的若干因素
7、改善响影时间的方法:采用重入码减少信息的对换量
采用虚拟存储技术,减少信息对换量
1、实时系统
是计算机及时响应外部事件的请求, 在规定的时间内完成对该事件的处理,并控制所有实时设备和实
时任务协调一致的运行
Δ1、实时控制系统:工业控制,军事控制,医疗控制
Δ2、实时信息处理系统:航班定票,联机情报检索 ---> 响应及时,可靠性高
2、实时任务的类型
(1)按任务执行是否为周期性来化分
Δ1、周期性实时任务
Δ2、非周期性实时任务
(2)按截止时间来化分
Δ1、硬实时任务
Δ2、软实时任务
3、实时系统的特征
(1)多路性:能对多个对象进行控制
(2)独立性:独立运行,不混淆,不破坏
(3)交互性:仅限于访问系统中某些特定的专用服务程序
(4)可靠性:高可靠性,应具有多级容错防护能力
(5)及时性:不同的系统要求不一样,控制对象必须在截止时间内完成
配置在微型机上的操作系统称为微机操作系统,分为三类:
1、单用户单任务操作系统 MS-DOS
2、单用户多任务操作系统
只允许一个用户上机,但允许用户把程序分为若干个任务,使它们并发执行,
如Android,Rtems 等嵌入式操作系统
3、多用户多任务操作系统
允许多个用户通过各自的终端使用同一台机器,共享主机系统中的各种资源,
而每个用户程序又可进一步分为几个任务,使它们能并发执行,
从而可进一步提高资源利用率和系统吞吐量
最有代表性的是UNIX OS, Windows
1、并行性和并发性
(1)并行性:是指两个或多个事件在同一时刻发生(多核)
(2)并发性:是指两个或多个事件在同一时间间隔内发生,宏观上同时发生,微观上交替发生(单核)
2、任务共行
(1)从宏观上看,任务共行是指系统中有多个任务同时运行
(2)从微观上看,任务共行是指单处理机系统中的任务并发 (Task Concurrency:即多个任务在单个处
理机上交替运行)或多处理机系统中的任务并行(Task Parallelism:即多个任务在多个处理机上同
时运行)
3、进程vs程序
(1)程序:静态实体
(2)进程:系统中能独立运行并作为资源分配的基本单位,
由一组机器指令、数据和堆栈等组成的独立运行的活动实体
4、进程vs线程
(1)进程作为资源分配的基本单位
(2)线程作为独立运行和调度的基本单位
系统中的资源可供内存中多个并发执行的进程共同使用
1、互斥共享方式:系统中的临界资源可以提供给多个进程使用,但一段 时间内仅允许一个进程使用
把在一段时间内只允许一个进程访问的资源,称为临界资源。如打印机、栈、表格等
2、同时访问方式:从宏观上看,资源共享是指多个任务可以同时使用系统中的软硬件资源
从微观上看,多个进程交替互斥地使用系统中的某个资源;例如磁盘
♥并发和共享是操作系统的两个最基本的特征,它们又是互为存在的条件
1、虚拟:是指通过某种技术把一个物理实体变为(映射为)若干个逻辑上的对应物
2、虚拟技术:(1)时分复用技术----虚拟处理机:分时实现
虚拟设备:SPOOLING技术
(2)空分复用技术--虚拟磁盘技术:逻辑分区
虚拟存储器:虚拟存储管理实现
1、执行结果不确定,程序不可再现
2、异步性,多道程序环境下程序(进程)以异步的方式执行,即“走走停停”
每道程序在何时执行、各自执行的顺序、完成时间都是不确定的,也是不可预知的
一、操作系统的主要任务
为多道程序的运行提供良好的运行环境,以保证多道程序能有条不紊地、高效地运行,
并能最大程度地提高系统中各种资源的利用率和方便用户的使用
二、操作系统应具有五方面的功能
(1)处理机管理(CPU)
(2)存储器管理
(3)设备管理
(4)文件管理
(5)方便用户使用的用户接口
操作系统是一个大型系统软件,其结构已经历了四代的变革:
第一代的OS是无结构的; 第二代OS采用了模块式结构;
第三代是层次式结构 ; 现代OS结构是微内核结构
(1)在早期开发操作系统时,设计者只是把他的注意力放在功能的实现和获得高的效率上,
缺乏首尾一致的设计思想
(2)OS是为数众多的一组过程的集合,各过程之间可以相互调用,在操作系统内部不存在任何结构,
因此,有人把它称为整体系统结构
(3)缺陷:设计出的操作系统既庞大又杂乱,缺乏清晰的程序结构
编制出的程序错误很多,给调试工作带来很多困难;增加了维护人员的负担
(1)模块化结构(模块-接口法)
Δ1、使用分块结构的系统包含若干module(模块);
其中,每一块实现一组基本概念以及与其相关的基本属性
Δ2、块与块之间的相互关系:所有各块的实现均可以任意引用其它各块所提供的概念及属性
(2)模块化OS的优点:提高了OS设计的正确性、可理解性和可维护性
增强了OS的可适应性
加速了OS的开发过程
(3)模块化OS的缺点:对模块的划分及对接口的规定要精确描述很困难
从功能观点来划分模块时,未能将共享资源和独占资源加以区别
(1)使用分层系统结构包含若干layer(层)
其中,每一层实现一组基本概念以及与其相关的基本属性
(2)层与层之间的相互关系
Δ1、所有各层的实现不依赖其以上各层所提供的概念及其属性,
只依赖其直接下层所提供的概念及属性
Δ2、每一层均对其上各层隐藏其下各层的存在
(1)所谓微内核技术,是指精心设计的、能实现现代OS核心功能的小型内核,它与一般的OS(程序)不同,
它更小更精炼,它不仅运行在核心态,而且开机后常驻内存,它不会因内存紧张而被换出内存
(2)微内核所提供的功能:
操作系统的另一部分是内核,用来处理客户和服务器之间的通信, 即由内核来接收客户的请求,
再将该请求送至相应的服务器;同时它也接收服务器的应答, 并将此应答回送给请求客户
(3)优点:提高了系统的可扩展性,增强了系统的可靠性,可移植性好,提供了对分布式系统的支持
(4)缺点:运行效率有所降低 --- 消息传递开销+模式切换开销