OS目标:
- 1、方便性 :图形用户界面
- 2、有效性:提高系统资源利用率,提高系统吞吐量
- 3、可扩充性:微内核结构能方便地增添新功能模块,对原有功能模块进行修改
- 4、开放性:解决兼容问题
OS作用:
- 1、作为用户与计算机硬件系统之间的接口:用户可通过命令方式、系统调用方式、图标——窗口方式来实现与OS的通信,并取得它的服务
- 2、作为计算机系统资源的管理者:处理机管理、存储器管理、I/O设备管理、文件管理
- 3、实现对计算机资源的抽象:在裸机上铺设软件,可以隐藏任务实现的具体细节,通常把覆盖了上述软件的机器称为扩充机器或虚拟机。用户无需了解物理接口的实现细节,从而使用户更容易地使用计算机硬件资源。随着抽象层次的提高,抽象接口所提供的功能就越强,用户使用越方便
推动OS发展的主要动力:
- 1、不断提高的计算机资源利用率:从单道批处理系统到多道批处理系统
- 2、用户友好型的图形用户界面:人机交互
- 3、硬件的不断更新迭代:微芯片、外部设备不断更新迭代
- 4、计算机体系结构的不断发展:由单处理机OS到多处理机OS
- 5、不断提出新的应用需求:不断增添的多媒体功能
OS的发展过程
- 未配置OS的计算机系统
- 1、人工操作方式:纸带机。资源利用率低、CPU与I/O设备之间速度不匹配
- 2、脱机输入/输出(Off-Line I/O)方式:外围机。将装有用户程序和数据的纸带装入纸带输入机,把纸带上的数据(程序)输入到磁盘上。当CPU需要这些程序和数据时,再从磁带上高速地调入内存。
- 3、单道批处理系统(Simple Batch Processing System):系统中对作业的处理是成批进行的,但在内存中始终只保持一道作业。但仍不能充分利用系统资源
- 4、多道批处理系统(Multiprogrammed Batch Processing System):用户所提交的作业先存放在外存上,并排成一个队列,即“后备队列”。作业调度程序按一定的算法从后备队列中选出若干个作业调入内存,使它们共享CPU和系统中的各种资源,使CPU处于忙碌状态。但无交互能力。
- 5、分时系统(Time Sharing System):解决人机交互问题。及时接受作业,但需要配置多路卡;及时处理,引入时间片概念。
- 6、实时系统(Real Time System):以时间作为关键参数,系统能及时响应外部事件的请求,在规定时间内完成对该事件的处理。并控制所有实时任务协调一致地运行。实时任务的类型按是否周期循环分为周期性实时任务和非周期性实时任务,按截止时间要求的严格性分为硬实时任务和软实时任务。
实时系统和分时系统的异同:
同:
(1)可靠性
(2)多路性
(3)独立性
(4)交互性
异:
(1)及时性
- 微机OS的发展
- 单用户单任务OS:只允许一个用户上机,且只允许用户程序作为一个任务运行。代表性的单用户单任务OS是CP/M和MS-DOS
- 单用户多任务OS:只允许一个用户上机,但允许用户把程序分为若干个任务,使它们并发执行。
- 多用户多任务OS:允许多个用户通过各自的终端,使用同一台机器,共享主机系统中的各种资源,每个用户程序又可进一步分为几个任务,使他们能并发执行,从而进一步提高资源利用率和系统吞吐量
OS的基本特性
- 并发性(Concurrence):宏观上多个程序同时运行,微观上多个程序分时交替执行
- 共享性(Sharing):资源共享又称资源复用,宏观上既限定了时间(进程在内存期间)又限定了地点(内存)。因为系统中的资源远小于多道程序需求的总和,会形成它们对共享资源的争夺。
- 互斥共享方式:在一段时间内只允许一个进程访问的资源,称为临界资源(独占资源)
- 同时访问方式:允许在一段时间内多个进程“同时”对资源进行访问,微观上这种访问是交替进行的
并发和共享是多用户多任务OS最基本的特征,它们也是互为存在的条件。一方面资源共享是以进程并发执行为条件,另一方面若系统不能对资源共享实施有效管理,以协调诸进程对共享资源的访问,这必然会影响诸进程间并发执行程度。
- 虚拟性(Virtual)
- 时空复用技术:即多道程序技术,通过利用处理机的空闲时间运行其他程序,提高处理机的利用率
- 空分复用技术:提高存储空间的利用率,如果引入虚拟存储技术(分时复用)可以在逻辑上扩大存储器的容量的功能。
- 异步性(Asynchronism):由于资源等因素的限制,使进程的执行总是“走走停停”。进程以人们不可预知的速度向前推进,但作业即便经过多次运行,也都会获得完全相同的结果。
OS的主要功能
- 处理机管理功能:处理机的分配和运行都是以进程为基本单位
- 1、进程控制:创建和撤销进程、撤销(终止)已结束的进程,以及控制进程在运行过程中的状态转换
- 2、进程同步:为多个进程(含线程)的运行进行协调。
- 常采用的协调方式有:
- (1)进程互斥方式,指诸进程在对临界资源进行访问时,应采用互斥方式。
- (2)进程同步方式,指在相互合作去完成共同任务的诸进程间,对它们执行次序加以协调。
- 3、进程通信:实现相互合作进程之间的信息交换
- 4、调度:
- (1)作业调度:从后备队列中按一定算法选择若干个作业,为它们分配运行所需的资源
- (2)进程调度:从进程的就绪队列中按照一定的算法选出一个进程,将处理机分配给它,并为它设置运行现场使其投入执行。
- 存储器管理功能
- 1、内存分配:
- (1)为每道程序分配内存空间
- (2)提高存储器的利用率,尽量减少不可用的内存空间
- (3)允许正在运行的程序申请附加的内存空间
内存分配两种方式:- (1)静态分配:作业装入后的整个运行期间不允许该作业再申请新的内存空间
- (2)动态分配:允许作业在运行过程中继续申请新的附加内存空间,以适应程序和数据的动态增长
- 2、内存保护:
- (1)确保每道用户程序都仅在自己的内存空间内运行,彼此不干扰
- (2)不允许用户程序访问操作系统的程序和数据
- 3、地址映射:使地址空间的逻辑地址转换为内存空间中与之对应的物理地址
- 4、内存扩充 :逻辑上扩充内存。请求调入功能和置换功能
- 1、内存分配:
- 设备管理功能
设备管理的主要任务:
(1)完成用户进程提出的I/O请求,为用户进程分配所需的I/O设备,并完成指定的I/O操作
(2)提高CPU和I/O设备的利用率- 1、缓冲管理:在I/O设备和CPU之间引入缓冲,常见的缓冲机制有:单缓冲机制、双缓冲机制、公用缓冲池机制
- 2、设备分配
- 3、设备处理:用于实现CPU和设备控制器之间的通信
- 文件管理功能:对象是用户文件和系统文件
- 1、文件存储空间的管理:对每个文件分配外存空间、系统中设置相应的数据结构、对存储空间进行分配和回收
- 2、目录管理
- 3、文件的读/写管理和保护
- OS与用户之间的接口
- 1、用户接口:
- (1)联机用户接口
- (2)脱机用户接口
- (3)图形用户接口
- 2、程序接口:是用户程序取得操作系统服务的唯一途径
- 1、用户接口:
- 现代OS的新功能:
- 1、系统安全:认证技术、密码技术、访问控制技术、反病毒技术
- 2、网络的功能和服务:网络通信、资源管理、应用互操作
- 3、支持多媒体:接纳控制功能、实时调度、多媒体文件的存储
OS结构设计
- 传统OS结构
- 1、无结构OS
- 2、模块化结构OS
- 1)模块化程序设计技术的基本概念:把OS按其功能划分为若干具有一定独立性和大小的模块,并规定好各模块间的接口,实现交互
- 2)模块的独立性:高内聚低耦合
- 3、分层式结构OS:将模块-接口法中决定顺序的无序性变为有序性,引入有序分层法,采用自底向上铺设,每一层仅能使用其底层所提供的功能和服务,各层之间只存在单向的依赖关系。
- 优点:正确性、易扩充和易维护性
- 缺点:系统效率降低
- 客户/服务器模式(Client/Server Model)简介
- 1、客户/服务器模式的由来、组成和类型:客户机、服务器、网络系统
- 2、客户/服务器之间的交互:客户发送请求消息、服务器接收信息、服务器回送消息、客户机接收信息
- 3、 客户/服务器模式的优点:数据的分布处理和存储、便于集中管理、灵活性和可扩充性、易于改编应用软件
- 面向对象的程序设计技术简介
- 1、面向对象技术的基本概念:
- (1)对象:对象中的变量(数据)对外是隐蔽的,因而外界不能对它进行访问
- (2)对象类:用于描述一组对象的共同属性和行为。类是对象的抽象,对象是累的实例
- (3)继承
- 2、面向对象技术的优点:
- (1)通过重用提高产品质量和生产率
- (2)使系统具有更好的易修改性和易扩展性
- (3)更易于保证系统的正确性和可靠性
- 1、面向对象技术的基本概念:
- 微内核OS结构
- 1、微内核OS基本概念:足够小的内核、基于客户/服务器模式、应用“机制与策略分离”原理、采用面向对象技术
- 2、微内核基本功能:进程(线程)管理、低级存储器管理、终端和陷入处理
- 3、微内核OS的优点:提高了系统的可扩展性、增强了系统的可靠性、可移植性强、提供了对分布式系统的支持、融入了面向对象技术
- 4、 微内核OS存在的问题:效率低,上下文切换频繁