1.1 操作系统的目标和作用
操作系统的定义:一组能有效地组织和管理计算机硬件和软件资源,合理地对各种资源进行调度,以方便用户使用地程序地集合。(P9)
操作系统的目标
- 方便性
- 有效性(两层含义:提高系统资源利用率,提高系统吞吐量)
- 可扩充性
- 开放性
操作系统的作用 ★
- 作为用户与计算机硬件系统之间的接口
- 作为计算机系统资源的管理者
- 实现对计算机资源的抽象
1.2 操作系统的发展过程
1 未配置操作系统的计算机系统
人工操作方式
由用户采用人工操作方式直接使用计算机硬件系统。
缺点:用户独占全机、CPU等待人工操作。
脱机输入/输出方式
事先将装有用户程序和数据的纸带装入纸带输入机,外围机控制,把纸带内容输入到磁带上(类似于磁盘),CPU需要时,从磁带高速调入内存。反之类同。
优点:减少了CPU的空闲时间、提高了I/O速度。
2 批处理系统
单道批处理
首先监督程序将磁带第一个作业装入内存,运行控制权在该作业,处理完该作业后,控制权回到监督程序,然后进行重复过程,系统自动对作业成批处理。
- 在系统运行过程中,内存中只有一个用户作业存在;
- 把一批作业脱机输入到磁带上;
- 系统配上监督程序;
- 在监督程序的控制下使这批作业能一个接一个的连续得到处理;
- 处理机使用权在监督程序和用户程序间转换。
- 与现代操作系统有较大差距。
缺点:内存浪费,不能充分利用系统资源。
多道批处理
过程: 作业先存放在外存上并排成一个队列,称为“后备队列”;然后,由作业调度程序按一定的算法从后备队列中选择若干个作业调入内存,使它们共享CPU和系统中的各种资源。
优缺点:资源利用率高、系统吞吐量大、平均周转时间长、无交互能力。
3 分时系统
分时系统(Time-Sharing System):作业直接进入内存,采用轮转运行方式,系统配置一个多路卡(实现分时多路复用),及时接收用户终端命令(数据)。
特点:具有交互能力。
思想
采用时间片轮的方法,同时为许多终端用户服务,对每个用户能保证足够快的响应时间,并提供交互会话的功能。
时间片:将CPU的时间划分成若干个片段,称为时间片,操作系统以时间片为单位,轮流为每个终端用户服务。
设计目标:对用户的请求及时响应,并在可能条件下尽量提高系统资源的利用率。适合办公自动化、教学及事务处理等要求人机会话的场合。
特征
(1)多路性:允许多个用户共享一台计算机。 宏观上:多人同时使用一个CPU。 微观上:多人在不同时刻轮流使用CPU直到某个作业占用CPU。
(2)独立性:彼此之间互不干扰,给用户的感觉就像是他一人独占主机进行操作。
(3)及时性:用户的请求能在很短时间内获得响应。
(4)交互性:用户根据系统相应结果进一步提出新请求(用户直接干预每一步)。
4 实时系统
实时系统(Real-Time System):系统能及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务的协调一致的运行。
特点:及时性要求高,系统可靠性高。
特征
(1)多路性:周期性信息采集,多个对象或执行机构进行控制。
(2)独立性
(3)及时性
(4)交互性
(5)可靠性:多级容错措施。
1.3 操作系统的基本特性 ★
1 并发
- 并行性是指两个或多个事件在同一时间发生。
- 并发性是指两个或多个事件在同一时间间隔内发生。
程序的并发执行,有效地改善了系统资源的利用率和提高了系统的吞吐量,但它使系统复杂化,操作系统必须具有控制和管理各种并发活动的能力。
- 是操作系统运行的基础。
2 共享
操作系统与多个用户的程序共同使用计算机系统中的资源。资源共享是指系统中的硬件和软件资源不再为某个程序所独占,而是供多个用户共同使用。
并发和共享是操作系统两个最基本的特征,这两者之间又是互为存在条件的。 资源共享是以程序的并发为条件的,若系统不允许程序并发执行,自然不存在资源共享问题。 若系统不能对资源共享实施有效的管理,也必将影响到程序的并发执行,甚至根本无法并发执行。
① 互斥共享
一段时间内只允许一个进程访问资源。
临界资源:一段时间内只允许一个进程访问的资源。
例如:打印机、磁带机
② 同时共享
允许一段时间内多进程“同时”访问。
例如:磁盘、文件
3 虚拟
在操作系统中,所谓虚拟,是指把一个物理上的实体,变为若干个逻辑上的对应物。物理实体(前者)是实的, 而后者是虚的,相应地,用于实现虚拟的技术,称为虚拟技术。在OS中利用了多种虚拟技术,分别用来实现虚拟处理机、虚拟内存、 虚拟外部设备和虚拟信道等。
提高通信信道的利用率——“虚拟”技术,通过“空分复用”或“时分复用”,将一条物理信道(实)变为若干条逻辑信道(虚)。
时分复用技术
利用处理机的空闲时间运行其他程序(分时使用)。
例如:虚拟处理机技术、虚拟设备技术(如共享打印机)。
空分复用技术
利用存储器的空闲空间分区域存放和运行其他的多道程序
例如:虚拟磁盘技术、虚拟存储器技术。
4 异步
在多道程序环境下,允许多个进程并发执行, 但由于竞争资源等因素的限制,使进程的执行不是“一气呵成,而是以“走走停停”的方式运行。
多道程序环境下程序的执行,是以异步方式进行的;每个程序在何时执行,多个程序间的执行顺序以及完成每道程序所需的时间都是不确定和不可预知的。
进程是以人们不可预知的速度向前推进,此即进程的异步性。
1.4 操作系统的主要功能 ▽
1 处理机管理功能
主要任务
对处理机的分配和运行实施有效管理。对处理机管理,可归结为对进程的管理。
主要功能
进程控制:创建进程、撤消进程以及控制进程的状态转换。
进程同步:对并发执行的进程进行协调。最基本的方式是使诸进程以互斥方式访问临界资源。
进程通信:相互合作的进程间所进行的信息交换。
进程调度:按一定算法从进程就绪队列中选出一进程,把处理机分配给它,为该进程设置运行现场,并使之投入运行。
2 存储器管理功能
主要任务
为多道程序的并发运行提供良好环境; 便于用户使用存储器; 提高存储器的利用率; 为尽量多的用户提供足够大的存储空间。
主要功能
内存分配:为每道程序分配内存。
内存保护:保证各道程序都能在自己的内存空间运行而互不干扰。
地址映射:把程序地址空间中的逻辑地址转换为内存空间对应的物理地址。
内存扩充:借助于虚拟存贮技术,使系统能运行内存要求量远比物理内存大得多得作业,或让更多得作业并发执行。
3 设备管理功能
主要任务
为用户程序分配I/O设备,为其分配所需I/O设备,完成用户程序请求的I/O操作; 提高CPU和I/O设备的利用率,提高I/O速度; 改善人机界面,方便用户使用I/O设备。
主要功能
缓冲管理:缓和CPU和I/O设备间速度不匹配的矛盾,和提高CPU与设备、设备与设备间操作的并行程度。
设备分配:系统根据用户所请求的设备类型和所采用的分配算法对设备进行分配,并将未获得所需设备的进程放进相应设备的等待队列。
设备处理:实现CPU和设备控制器之间的通信。
虚拟设备功能:通过某种技术使独占设备成为能被多个用户共享的设备。
4 文件管理功能
主要任务
对用户文件和系统文件进行管理,以方便用户使用,并保证文件的安全性。
主要功能
文件存储空间的管理:为文件分配合理外存空间,文件存储空间的使用情况。
目录管理:为每个文件建立一个目录项。
文件的读/写管理
文件保护
向用户提供接口
5 操作系统与用户之间的接口
用户接口
联机用户接口:一组命令。
脱机用户接口:作业控制语言编写作业说明书。
程序接口
系统调用,API
1.5 OS结构设计 ▽
传统的操作系统结构
无结构操作系统:在早期开发操作系统时,设计者只是把他的注意力放在功能的实现和获得高的效率上,缺乏首尾一致的设计思想。这种OS是无结构的。主要是编制紧凑程序,便于利用内存,对goto无限制,缺乏清晰的程序结构,难以维护和理解,增加了维护人员的负担。
模块化OS结构:基于“分解”和“模块化”原则,将OS按其功能划分为若干个模块。并规定好各模块间的接口,各模块之间能通过该接口实现交互。
分层式OS结构:各层模块间只能是单向调用关系,高层只能调用低层功能。
客户/服务器模式 C/S
组成:客户机、服务器、网络系统。
客户/服务器之间的交互:客户机发送请求消息、服务器接收消息、服务器回送消息、客户机接收消息。
客户/服务器模式的优点:数据分布处理和存储 、便于集中管理、灵活性和可扩充性、易于改编应用软件。
面向对象的程序设计
基本概念:对象、类、继承
优点:通过“重用”提高产品质量和生产率、使系统具有更好的易修改性和易扩展性、更易于保证系统的“正确性”和“可靠性”。
微内核OS结构
微内核的基本概念:足够小的内核、基于客户/服务器模式、应用“机制与策略分离”原理、采用面向对象技术。
微内核的基本功能:进程(线程)管理、低级存储器管理、中断和陷入处理。
微内核操作系统的优点:提高了系统的可扩展性、增强了系统的可靠性、可移植性、提供了对分布式系统的支持、融入了面向对象技术。