操作系统基础复习(1)
操作系统引论
1、定义:
操作系统是一组控制和管理 计算机硬件 和 软件资源 ,合理地对各类作业进行调度,以及方便用户使用的程序集合。
2、目的/目标:
方便性,有效性,可扩充,开放性。
最重要的:方便性、有效性。且方便性>有效性(现在)。
有效性:
- 资源(硬件资源,比如内存、cpu、外设、文件系统等),而得到有效利用。让资源空闲时间少,工作时间多,特别是CPU。
- 数据有序而节省存储空间
- 合理的组织计算机工作流程
可扩充性:
- 适应硬件与网络发展的要求,应采用层次化结构。(能向上兼容)
开放性:
- 遵循开放系统互连OSI国际标准
3、作用:
- 用户与硬件系统的接口
·软件接口,给用户提供三种方式(命令方式、系统调用方式、图形窗口方式)
·用户想调用深层次的接近硬件功能时,必须采用操作系统提供给用户的唯一的借口——系统调用 - 计算机四类资源的管理者
·处理机管理(为各个程序/进程分配处理机,控制处理机)
·存储器管理(内存的管理,包含了存储器的分配,内存的分配与回收)
·设备管理(I/O设备分配,操作,回收)
·文件管理(文件的保护,共享,如何获取) - 用作扩充机器
·裸机:无任何软件的计算机系统
·扩充机器:覆盖了软件的机器,又称虚拟机(为了方便)
4、操作系统的发展过程
计算机系统的三种基本类型:多道批系统、分时系统、实时系统。
现在:通用操作系统、网络操作系统、分布式操作系统(高级类型,但都是在三种基本类型的基础上建立的)
(1)无操作系统的计算机
(2)单道批处理系统 50年代
- 过程:一批作业以脱机方式输入到磁带上,在监督程序的控制下连续处理。
作业:一个任务从提交到外存上开始,到运行出正确结果位置,这一个过程的每一步叫做作业步 - 特征:
·自动性(无人工干预) 没有人机交互
·顺序性(按进入内存的先后执行) 不能体现程序的合作性
·单道性(内存中只保持一道作业) 对硬件资源利用率低,系统吞吐量少
(3)多道批操作系统 60年代
- 多道:内存中同时存放多个相互独立的程序
多道技术是共享的基础 - 特征:
·多道性 内存有多道程序,可并发执行
·无序性 完成时间与进入内存的先后无关
·调度性 作业从提交(送到系统外存)到完成经过两次调度
@作业调度 外存➡️内存(一次选多个作业)选多个作业分配内存
@进程调度 分配处理机 (一次选一个)
【注】任一个程序想要执行,必须占有内存和处理机(CPU) - 优缺点
@资源利用率高 硬件:CPU、外存、外设、文件等
@系统吞吐量大 (代价:时间开销、空间开销)
吞吐量:单位时间(具体需求决定)内完成的总工作量
原因:
1 资源忙
2 完成或运行不下去时才切换(比单道切换的频繁)
@平均周转时间长
作业周转时间:从作业进入系统(外存)开始到完成并退出系统所经历的时间,通常几个小时,甚至几天
@无交互能力:修改和调试及不方便——不能在作业运行时进行调试与人机对话,无人为干预
(4)分时系统 60年代
- 定义:一台主机上连了多个终端(输入输出设备),同时多个用户通过自己的终端(也就是多个终端➡️节省硬件成本),以交互方式使用计算机,共享主机中的资源
- 产生动力:
·人机交互:边运行边调试
·共享主机:主机设备昂贵
·便于用户上机:在终端输入、输出 - 特征:(把主机的时间分成极小的时间片)
@多路性 即同时性,宏观上同时、微观上轮流(同一时间范围内)
@独立性 每个用户感觉独占主机
@及时性 较短时间响应(2-3秒)
@交互性 允许用户和主机进行对话,实现修改
(5)实时系统 60年代
- 实时:及时响应外部事件请求 (立即)
- 应用需求:
·实时控制:工业生产、武器控制、飞机的自动驾驶
·实时信息处理:订票系统 - 特征:
操作系统两个最基本的的特征:并发和共享
@并发性(最重要的特征)
·并行性:多个事件在同一时刻发生
·并发性:多个时间在同一时间间隔内发生
·单处理机系统:宏观并发微观并行
·多处理机系统:可能有并行
@共享性(基于并发性)
·在多道技术出现后,就有共享的可能了
·互斥共享方式:对临界资源的访问,临界资源如:打印机等硬件;栈,变量,表格等软件
·同时访问的方式:多个进程同时访问的资源,如磁盘、重入码写的文件
@虚拟性(基于并发性)
·通过某种技术把一个物理实体变为若干个逻辑上的对应物,如:虚拟存储器、虚拟内存
·通过分时来实现:把一个CPU改造成用户使用起来感受有多个CPU在运行一样
@异步性(基于并发性)
·进程以不可预知的速度向前推进;由于资源等因素的限制,进程的执行通常都不是“一气呵成”,而是以“走走停停”的方式运行
内存存取时以字节为单位进行的
操作系统五大功能
资源管理:
1、处理机管理(硬件)CPU
2、存储器管理(硬件)
3、设备管理(硬件)I/O等
4、文件管理(软件)
用户接口:
1、命令接口:联机用户接口,脱机用户接口
2、程序接口
3、图形接口
1、命令接口
@联机用户接口
适用:几乎所有计算机的操作系统中
组成:命令+终端处理程序+命令解释程序
过程:用户在键盘上输入命令;终端处理程序接受命令并显示在屏幕上;命令解释程序解释并执行该命令(把一条用户的命令解释为多条计算机执行的语句)
eg:
UNIX(典型的分时系统):login、logout;
Dos:copy、format
【注】命令解释程序:操作系统的最高层(贴近软件),如:Ms-Dos:COMMAND.COM;UNIX:Shell
@脱机用户接口
·有预收入的过程
·预收入:把要处理的各个作业预先输入到磁盘/磁带上,执行时把磁盘磁带拿过去,一起输入进计算机
适用:批处理系统,又称批处理用户接口
组成:JCL+作业说明书+命令解释程序
JCL:作业控制语言
过程:用户把对作业的控制用JCL写在作业说明书上(运行、顺序、包括错误处理等),命令解释程序按照作业说明书解释并执行(不允许人机交互)
2、程序接口
·用户程序在运行时,还想调用操作系统的功能
目的:为用户程序访问系统资源而设置
组成:一组系统调用
系统调用:一个系统调用是一个能完成特定功能的子程序
一组系统调用:一组(若干个)能够完成特定功能子程序的集合
操作系统结构设计
·操作系统的发展阶段
第一代:无结构OS(传统OS结构)
第二代:模块化OS结构(传统OS结构)
第三代:分层式OS结构(传统OS结构)
第四代:微内核OS结构(20世纪90年代)