操作系统引论
1.1 基本内容
操作系统(OS)是一组控制和管理计算机硬件和软件资源,合理地对各类作业进行调度,以及方便用户使用计算机的程序的集合(一组程序的集合)。是其他系统软件和应用程序软件运行的基础
-
操作系统的目标
- 方便性:操作系统使计算机相同更容易使用
- 有效性:操作系统的资源利用率更高、系统的吞吐量更大
- 可扩充性:操作系统必须能方便地增加新功能、模块,以及能够修改老功能、模块。
- 开放性:操作系统应该遵守世界标准规范
-
操作系统的作用
- 操作系统是用户和计算机硬件系统之间的接口。用户通过使用操作系统提供的命令、系统功能调用以及图形化接口来使用计算机
- 操作系统是计算机资源的管理者。处理机的分配、内存的分配和回收、I\O 设备的分配和操作、文件的读取等等都由操作系统控制
- 操作系统实现了对计算机资源的抽象。(使用者看不到硬件操作的细节)
- OS首先在计算机裸机上铺盖一层I/O设备管理软件,实现了对操作系统的第一层次抽象;
- 在操作系统第一层软件再覆盖文件管理软件,实现了对硬件资源操作的第二层抽象;
- OS通过在计算机上安装多层系统软件,增强了系统功能,隐藏了对硬件操作的细节,由他们共同实现了对计算机资源的抽象。
-
操作系统的发展过程
-
无操作系统
- 人工操作
- 单个使用者独占全机资源和CPU
- 由于人工操作的低速和CPU运算的高速,造成了计算机资源利用率的底下
- 脱机输入、输出
- 输入:由一台外部机控制下预先将程序、数据的写入磁带,当CPU需要时在高速的将数据读入内存
- 输出:由一台外部机控制下CPU需要输出时,将数据写入到磁带中,在在外部机的控制进行输出
- 输入、输出由外部机控制,提高了I\O速度。缓解了CPU与I\0设备速度不匹配的问题
- 联机输入、输出
- 与脱机输入、输出差不多,只不过是将输入和输出是由主机自己执行
- 人工操作
-
单道批处理系统
- 批处理系统:在程序的控制下能够对一批作业进行自动处理。(该程序为早期操作系统的雏形)
- 内存中只有一个作业的批处理系统
- 处理过程:一批作业以脱机方式输入到磁带上,由监督系统将磁带上的第一个作业读取到内存中,在由CPU进行处理,当处理完成或出现异常,把控制权还给程序,由监督程序继续调入作业进入内存
-
多到批处理系统
- 内存中有多个作业的批处理系统
- 由于单道批处理系统CPU将一个作业处理完成后,才会执行下一个作业。虽然机器效率提高。但是在作业执行过程中,可能会有I\O请求等,这时CPU只有继续等待。并且单道批处理系统内存中只有一个程序,造成了内存资源的浪费。
多道批处理系统与单道批处理的区别:
- 单道批处理系统一次只读取一次查询进入内存。多道批处理系统一次读取多个程序进入内存
- 单道批处理系统一次只执行一个程序。多道批处理系统一次处理多个程序(宏观上并行、微观上串行)
为了实现多道批处理的功能,我们就需要给多道批处理系统配置一组相应的软件,来解决多道程序对系统资源的共享和争用。于是和形成了现代意义上的操作系统。
-
分时系统
- 在多道批处理的基础上,加入了RR(论证时间片算法)算法。保证了多个用户可以同时使用计算机的资源。
- 因为所有使用者的程序都可以被执行。如同多道批处理系统中的CPU分配,这里只是加入了一个类似于倒计时的算法。但倒计时结束,CPU就分配给其他的用户去执行他们的程序。是所以在宏观上,所有使用者的程序都被同时执行了。
-
实时系统
- 对时间要求严格的操作系统。要求操作系统必须在规定的时间内完成对事件的处理。
-
微机操作系统
- 安装在微机上的操作系统。
-
1.2 操作系统的基本功能和特征
- 操作系统的基本特征
- 并发性
- 在一段时间内,宏观上多个程序同时运行
- 为了多个程序能够同时执行,系统必须为程序建立进程
- 进程是系统中能够独立运行并能够独立分配资源的基本单位
- 进程由PCB、数据、一组机器指令,堆栈组成
- 共享性
- 系统中的资源可以供多个进程同时使用,资源可分为两类:
- 互斥共享
- 一段时间内,只能给一个进程使用。比如打印机、变量等等
- 同时访问
- 在同一段时间内可以被多个进程同时访问
- 互斥共享
- 系统中的资源可以供多个进程同时使用,资源可分为两类:
- 虚拟性
- 提供某种技术将一个计算机资源实体分成多个虚拟的逻辑上的资源。如虚拟机
- 异步性
- 在多道程序下,每个程序何时执行、和暂停但是未知的,即他们以不可预知的速度向前推进。
- 并发性
- 操作系统的功能
- 处理机管理(CPU)
- 处理机的以进程为基本单位,处理机管理通常归结于进程管理
- 进程控制
- 为作业创建、撤销进程,并控制进程在运行过程中状态转换
- 进程同步
- 对进程的执行程序进行协调
- 进程通信
- 进程间的通话
- 进程调度
- 为进程分配CPU
- 进程控制
- 处理机的以进程为基本单位,处理机管理通常归结于进程管理
- 存储器管理
- 内存分配
- 为程序分配内存空间,尽可能的提高内存的利用率
- 内存保护
- 确保每个程序只在自己的内存空间运行,不影响其他程序和操作系统的运行
- 地址映射
- 将程序中的逻辑地址转化为物理地址,以便于程序能够执行
- 内存扩充
- 在逻辑上扩充内存的容量(?虚拟内存 不确定)
- 内存分配
- 设备管理
- 缓冲管理
- 利用缓冲来缓和CPU与I\O设备速度不匹配的矛盾。提高CPU和I\O设备的利用率和I\O的速度
- 设备分配
- 为用户分配完成I\O请求的设备和设备控制器
- 设备处理
- 启动设备进行I\O操作
- 缓冲管理
- 文件管理
- 文件存储空间的管理
- 为文件分配必要的存储空间,并尽量提高文件存储空间的利用率和文件访问的效能
- 目录管理
- 通过目录的方式组织文件,提高了文件的检索速度
- 文件的读写管理和保护
- 实现文件的读写操作、保护文件的安全性
- 文件存储空间的管理
- 友好的用户接口
- 用户接口
- 程序接口
- 现代操作系统的新功能
- 系统安全
- 网络的功能和服务
- 支持多媒体
- 处理机管理(CPU)
操作系统的结构设计
无结构OS --> 模块化结构OS --> 分层式结构OS --> 微内核OS
重点
- 早期无OS的计算机系统,CPU–I\O设备速度不匹配的矛盾,对计算机资源利用率有什么影响?
人工输入速度与CPU处理的速度相比下太慢。一次只读入一个程序
- 单道批处理系统引入了那些技术?如何解决上面的矛盾?
批处理、作业自动过渡。
作业存储在磁带上,当CPU需要需要可以快速写入内存中。作业的自动过渡。
批处理一次读取一批作业加入磁带,
- 单道批处理系统还要那么不足?而多道批处理系统是如何处理的?
内存中只有一个程序,浪费内存空间
当CPU在处理一个作业时可能会因为I\O、异常等原因造成CPU等待。浪费宝贵的CPU资源
将一批作业全部写入内存中(内存空间足够的话),由监督程序给作业分配CPU,当正在执行的作业进行其他操作时(如I\O)监督程序将CPU分配给其他作业
- 多道批处理系统是在什么原因的推动下产生了分时系统?
计算机资源昂贵,一次只允许一个人使用者使用。
- 实时系统是怎么发展来的?
对时间要求严格的系统
操作系统的四大特征
- 并发性
- 资源共享性
- 虚拟性
- 异步性
最重要的并发性,其他三大特征都是以并发性为前提的
OS的功能
- 处理机管理
- 存储器管理
- 设备管理
- 文件管理
- 提供友好的用户接口
持续更新中,争取在9月份前更新完成