OS学习—引论
一、目标和作用
(一)、什么是操作系统
操作系统(OS)是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充;它负责管理好软硬件的资源分配、调度,控制协调多个任务的活动,实现信息的存取和保护。提供用户接口,使用户获得良好的工作环境。
(二)、操作系统目标
重点记住一二点:
方便性
配置OS之后极大方便用户的操作,使计算机更容易使用
有效性
改善资源利用率、提高吞吐量
可扩充性
OS采取层次化结构,近来OS都广泛采用微内核结构,微内核方便添加新的功能和模块,以及对原有的功能进行修改
开放性
遵循世界标准规范,实现软硬件兼容,方便实现互连
(三)、操作系统的作用
作为用户与计算机硬件系统之间的接口
用户使用计算机,通过命令方式、系统调用方式、图形窗口方式实现与操作系统的通信。
作为系统资源的管理者
四类资源:处理机、存储器、I/O设备、文件;OS功能:分配和控制处理机;内存分配;I/O设备的分配回收和操作;实现对文件的存取、共享和保护。
实现对计算机资源的抽象(作为扩充机器)
把覆盖了软件的机器称为扩充机器或虚机器,OS包含了若干个层次,因此在裸机上覆盖OS后,便可获得一台功能显著增强,使用极为方便的多层扩充机器或多层虚机器
二、发展过程
(一)、人工操作方式(无操作系统)
缺点: 用户独占全机,造成资源浪费;CPU空闲,I/O设备的慢速与CPU的速度不匹配造成的CPU空闲等待时间,严重降低了计算机资源的利用率。
(二)、脱机I/O方式
脱离主机的情况下输入输出程序和数据
联机输入/输出(On-Line I/O)方式 :在主机的直接控制下输入输出程序和数据
优点:减少了CPU空闲时间,提高了I/O速度
(三)、单道批处理系统
特点:
- 作业(步)间不需要人的干预;
- 监控程序常驻内存,开机后第一个进入内存,直到关机一直驻留在内存中;
- 专职操作员,程序员不在现场;
- 单道;监控程序只为一个计算机系统设计;
- 开发过程可以使用FORTRAN等高级语言,程序的最后一条指令需是返回到监控程序。
优缺点:
- 解决人机矛盾
- 解决CPU和I/O设备速度不匹配的矛盾
- 系统运行效率提高
- 系统资源得不到充分的利用,会造成CPU空闲
- 人机交互力不强
(四)、多道批处理系统
多道程序设计技术:在内存中放多道程序,使它们在管理程序的控制下相互穿插地运行。
宏观上并行:同时有多道程序在内存运行,某一时间段上,各道程序不同程度地向前推进。
微观上串行:任一时刻最多只有一道作业占用CPU,多道程序交替使用CPU 。
优缺点:
资源利用率高 资源指CPU及设备。
系统吞吐量大
系统吞吐量指系统在单位时间完成的总工作量。
平均周转时间长
作业的周转时间是指从作业进入系统开始,直至其完成并退出系统为止所经历的时间。
无交互能力
(五)、分时系统
分时系统是指在一台主机上连接多个带有显示器和键盘的终端,同时允许多个用户通过自己的键盘,以交互的方式使用计算机,共享主机中的资源。
实现人机交互是即使有多个用户同时通过自己的键盘键入命令,系统也应能全部地及时接收并处理。
及时接收(多路卡和缓冲区)
及时处理(作业直接进内存,采用轮转运行方式,不允许一个作业长期占用处理机)
特征:
- 多路性:允许同一主机联接多台终端。
- 独立性:每一用户各占一个终端。
- 及时性:用户请求能及时响应。
- 交互性:可进行广泛的人机对话。
(六)、实时系统
指系统能及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。
按实时任务是否呈现周期性分:
周期性实时任务
非周期性实时任务
开始截止时间
完成截止时间
- 按对截止时间的要求分:
- 硬实时任务
- 软实时任务
实时系统的特征:
- 多路性
- 独立性
- 及时性(开始截止时间/完成截止时间)
- 交互性(限定专用服务程序)
- 可靠性(多级容错措施)
单道批处理系统主要是解决人机矛盾和CPU与I/O设备速度不匹配的毛寸,用于提高系统资源利用率和系统吞吐量。
多道批处理系统主要是为了提高系统资源利用率和系统吞吐量。
分时系统满足用户对人—-机交互的需求,人机交互,共享主机。
实时系统:系统能及时响应外部事件的请求,在规定时间内完成对事件的处理,并控制所有史诗任务协调一致的运行。
三、基本特征
四大特性:共享、并发、虚拟、异步
(一)、并发
区分下并发、并行、串行的概念
并发:指在内存中放多道作业,在一个时间段上看,每一道作业都能不同程度地向前推进。但在任何一个时间点上只能有一道占用CPU。两个或多个作业在同一时间段运行。
并行:两个或多个作业在同一个时间点运行。
串行:内存中只有一道作业,只有它完成了,才能有别的作业进入内存。
进程
程序实际上不是并发执行的,我们需要为程序创建进程,才能并发执行。
作用:提高资源利用率和系统吞吐量。
(二)、共享
共享是指系统中的资源课共多个并发的进程共同使用。
两种资源共享方式:
互斥共享方式
在一段时间内仅允许一个进程访问资源(把这种资源成为临界资源/独占资源)
同时访问方式
一段时间内允许多个进程访问,但微观交替使用。
注意:共享和并发是多用户os的两个最基本的条件,它们互相依存,互为条件。
(三)、虚拟——–提高资源利用率
通过某种技术将一个物理实体映射为若干个逻辑上对应物。
两种技术:
时分复用技术
利用某设备为一进程服务的空闲时间,去服务其它进程。
空分复用技术
对存储空间的管理,利用存储器的空闲空间分区存放和运行其它的多道程序
(四)、异步
进程以不可预知的运行速度向前推进。现代操作系统中,多个进程并发执行,“走走停停”,无法预知每个进程的运行推进快慢。难以重现系统在某个时刻的状态(包括重现运行中的错误)。
四、主要功能
(一)、处理机管理
进程控制
为作业创建进程、撤销(终止)已结束的进程、实现进程在运行过程中的状态切换。
目的:保证程序并发执行
进程同步
目的:协调多个进程的运行
协调方式:
进程互斥方式
进程访问临界资源/锁
进程同步方式
进程相互合作/顺序
进程通信
目的:用于相互合作的进程之间的信息交换和传递
调度
作业调度
从后备队列中按照一定算法,选择出若干个作业,为他们分配必需的资源,建立进程,并按一定算法将他们插入就绪队列。
进程调度
从就绪队列中选一道进程,为他分配处理机,设置运行现场,以使其运行。
(二)、存储器管理
内存分配
任务:
- 为每道作业分配内存空间
- 提高存储器的利用率,提高内存利用率,减少不可用的内存空间
- 允许正在执行的进程动态申请附加内存
两种分配:
- 静态分配
- 动态分配
需要具有的功能和结构:
- 内存分配数据结构
- 分配算法
- 内存回收
地址映射
地址空间的逻辑地址转换为内存空间的物理地址的过程
存储保护
任务:
确保多道程序间仅在自己的内存空间运行,互不干扰
不允许用户程序访问操作系统或者其他程序的数据,
简单的内存保护机制:界限寄存器,存放执行程序的上下界,程序执行的时候,检查界限,如果越界,发出越界中断,停止该程序执行。
存储扩充
目的:借助虚拟存储技术,从逻辑上扩充内存容量,改善系统性能,满足用户需求。也就是用辅存扩充主存,实现虚拟存储器。
实现方法:
请求调入功能
允许装入一部分程序和数据就可以运行,运行时,若发现继续运行所需的程序和数据不在内存,再向OS发出请求,将其调入。
置换功能
将内存中暂时用不到的或者不用的程序或数据调至硬盘上,将我们所需的数据或程序装入内存。
(三)、设备管理
主要任务:
- 完成用户进程提出的I/O请求,为用户进程分配相应的I/O设备,和完成I/O操作
- 提高CPU和I/O设备的利用率,提高I/O速度,方便用户使用I/O设备
应具有的功能:
设备分配
根据用户进程的I/O请求和系统现有的资源情况按照某种设备分配策略,为进程分配所需的设备。可能还需要分配设备控制器和I/O通道。
设备驱动
为设备提供驱动程序,以实现CPU和设备控制器之间的通信。
两种:
- 接收发出的I/O命令
- 响应中断请求
缓冲管理
为设备提供缓冲区以缓和CPU同设备的I/O速度不匹配的矛盾。
缓冲机制———–单缓冲区、双缓冲区、循环缓冲区、公共缓冲池
设备独立性和虚拟设备
(四)、文件系统管理
三个功能:
文件存储空间管理
为每个文件分配必要的外存空间、提高外存利用率、有助于提高文件系统的运行速度。
需具备的对存储空间进行分配和回收的功能
目录管理
建立目录项,组成目录文件,按名存取,方便用户找到他所需的文件;
多级目录管理还允许重名;
可以实现文件共享。
文件的读写管理和存取控制
防止文件被非法使用。
(五)、用户接口
命令接口
分联机用户接口与脱机用户接口;
为了便于用户直接或间接地控制自己的作业。
程序接口
为用户程序在执行中访问系统资源而设置的。由一组系统调用组成。
图形接口
通过图形界面来方便用户的操作
五、杂项
传统的操作系统结构分为无结构OS、模块化结构OS、分层式结构OS
无结构OS——-基于功能实现和高效率。
模块化结构OS—-控制软件的复杂度
模块独立性:划分和规定好木块之间的接口,我们需要良好的分配模块的大小
衡量模块独立性的标准:
- 内聚性:模块内部个部分件联系的紧密程度,内聚性越高,独立性越强
- 耦合度:模块间相互联系和相互影响的程度,耦合度越低,独立性越强。
模块化结构OS的优缺点:
- 优点
- 提高OS设计的正确性、可理解性和可维护性
- 增强了OS的可适应性
- 加速OS的开发过程
- 缺点
- 设计师对模块划分与接口的规定不精确
- 模块化见存在复杂依赖关系
分层式结构OS—每一层仅使用其底层所提供的功能和服务
设计需考虑的因素:
- 程序嵌套
- 运行频率
- 公共模块
- 用户接口
优缺点:易于保证系统的可靠性、易扩充和易维护;系统效率低下。
现代化的微内核OS结构
精心设计的、能实现现代OS核心功能的小型内核,它与一般OS不同,更小更精练,运行于核心态、开机后常驻内存。
基本特征:
- 以微内核为OS核心
- 以客户/服务器为基础
- 采用面向对象的程序设计方法
(七)、习题
1. 推动多道批处理系统形成和发展的主要动力是什么?
答:提高资源利用率和系统吞吐量。
2. 什么是脱机I/O和联机I/O?
答:脱机I/O是指输入输出不受主机的直接控制(使用外围机,在外围机上输入输出),联机是指在主机的直接控制下进行输入和输出
3. 操作系统的作用
答:作为用户和计算机硬件系统之间的接口、作为计算机系统资源的管理者、实现对计算机资源的抽象
4. 操作系统的基本特征
答:共享、并发、异步、虚拟
5. 微内核OS的优点和为什么有这样的优点?
答:优点–提高系统可扩展性、增强系统可靠性、可移植性强、提供对分布式系统的支持、融入了面对对象技术。
原因:微内核OS是建立在模块化、层次化结构的基础上,采用了客户/服务器模式和面对对象的程序设计技术