操作系统-第一章
操作系统的基本概念
OS的位置:紧贴硬件之上,其他软件之下(支撑其他软件的运行)
OS是配置在硬件上的第一层软件,是对硬件系统的首次扩充。
操作系统的作用
- OS作为用户与计算机硬件系统之间的接口
- OS是计算机系统资源的管理者(硬件:CPU、存储器、外部设备;软件:程序、数据)
- OS实现了对计算机资源的抽象(在裸机上添加:设备管理、文件管理、存储管理、处理机管理)
操作系统的发展过程
手工操作
电子管时代
用户既是程序员,又是操作员;用户是计算机专业任意;使用机器语言
特点:用户独占全机;CPU等待用户
单道批处理系统
晶体管时代
工作方式:
- 一批作业以脱机方式输入到磁带上,用监督程序控制使它们一个接一个的连续处理
概念理解:
- 什么叫单道:内存中始终只保持一个作业运行
- 什么叫批处理:成批处理作业
单道批处理系统中的基本的控制卡片是现代shell和命令解释器的先驱
单道批处理系统是最早出现的一种OS。严格地说,它只算是OS的前身,并非现在人们所理解的OS。
特征:
- 自动性
- 顺序性
- 单道性(在单道批处理系统中,内存中仅有一道作业,每次程序在运行中发出I/O请求,CPU都处于等待状态,无法充分利用所有资源,如CPU和内存,致使系统性能较差)
多道批处理系统
性质:
多道性:
- 内存中同时存放多个作业,并发执行
- 宏观上并行运行
- 微观上串行运行;各作业交替使用CPU
无序性:
- 先进入内存的作业未必先执行完成
调度性:
- 作业要经历两次调度:作业调度、进程调度
【多道程序系统和多处理系统的区别】
前者指多个程序同时在内存中并发运行,后者指多个处理器。
操作系统的概念
一组能有效地组织和管理计算机硬件和软件资源,合理地对各类作业进行调度,以及方便用户使用的程序的集合。
分时系统
提出原因:程序员们希望很快得到响应
实现的关键:
- 及时接收、及时处理
- 作业要直接进入内存(多作业驻留内存),且不允许一个作业长时间占据CPU。作业采用轮转方式运行。
具体形态:
- 每个用户都有一个联机终端。多数交互指令较为简短(如:开始编译),因此计算机可以为许多用户提供快速交互服务
解决方法:
- 把计算机的系统资源(尤其是CPU时间)进行时间上的分割,每个时间段称为一个时间片,每个用户依次轮流使用时间片。
特性:
- 多路性:多个终端同时连接到一台主机,并按分时原则为用户服务。主机共享,提高资源利用率,降低费用,提高计算机的普及率。
- 独立性:各用户独立操作,互不干扰。用户感觉像是自己独占主机。
- 及时性:请求能在很短时间内得到响应。这一间隔是根据人们能接受的等待时间所确定的。
- 交互性:用户可以通过终端与系统进行广泛的人机对话。用户可以请求文件编辑、数据处理、打印等多种服务。
实时系统
实时系统:指系统能及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有试试任务协调一致地运行。
主要作用:用于过程控制、事务处理等有实时要求的领域,其主要特征是实时性和可靠性。
实时任务的种类:
- 硬实时任务:系统必须满足任务对截止时间的要求,否则可能出现难以预测的结果。
- 软实时任务:它也联系着一个截止时间,但并不严格,若偶尔错过了任务的截止时间,对系统产生的影响也不会太大。
操作系统的特性
并发
指处理多个同时性活动的能力
并发是什么?
在单CPU系统中,同时存在多个程序运行:
- 宏观上:这些程序同时在执行;
- 围观上:任何时刻只有一个程序真正在执行,即这些程序在CPU上是轮流执行的
并发与并行的不同:并行是指不同程序同时在多个硬件部件上执行
共享
操作系统与多个用户的程序共同使用计算机中的资源(共享有限的系统资源)
e.g.
互斥共享:打印机
打印机给一个进程用,就不能同时再给另外一个进程用
同时共享:可重入代码 磁盘文件
磁盘上的一个文件,可供多个进程共享使用
虚拟
一个物理实体映射为若干各对应的逻辑实体分时或分空间
虚拟是操作系统管理系统资源的重要手段,可以提高资源利用率
虚拟是如何体现的?
- CPU-每个进程的“虚处理机”
- 存储器-每个进程都有独立的虚拟地址空间(代码+数据+堆栈)
- 显示设备-多窗口或者虚拟终端
异步
操作系统必须随时对以不可预测的次序发生的事件进行响应和处理
异步给操作系统带来的要求:
- 进程的运行速度不可预知:多个进程并发执行,“走走停停”无法预知每个进程运行推进的快慢
- 难以重现系统在某个时刻的状态(包括重现运行中的错误)
操作系统需要保证:只要运行环境相同,运行结果要一致。
操作系统的功能
- 处理机管理功能
- 存储器管理功能
- 设备管理功能
- 文件管理功能
- 用户接口
- 其他新功能
作用:
- 为多道程序的运行提供良好的运行环境;
- 保证多道程序有条不紊、高效地运行;
- 最大程度地提高系统中各种资源的利用率;
- 方便用户使用
处理器管理
以进程为基本单位进行处理机的分配和运行。
处理机的功能:
- 创建和撤销进程
- 协调各个进程的运行
- 实现进程间的信息交换
- 按照一定的算法将处理机分配给进程
进程控制、进程同步、进程通信、调度
存储器管理
为多道程序提供良好的运行环境,方便使用存储器,提高存储器利用率,逻辑上扩充内存。
主要功能:
- 内存分配(静态分配、动态分配)
- 内存保护(确保每个进程都只在自己的内存空间内运行,互不干扰)
- 地址映射(逻辑地址/物理地址)
- 内存扩充(借助虚拟存储技术,从逻辑上扩充内存容量)
设备管理
管理计算机系统中所有的外围设备。
- 缓冲管理
- 设备分配
- 设备处理
文件管理
由文件系统对文件及文件的存储空间,实施统一的管理
主要任务:为每个文件分配必要的外存空间,提高外存的利用率,并能有助于提高文件系统的运行速度
系统还应具有对存储空间进行分配和回收的功能
读写保护:防止系统中的文件被非法窃取和破坏,在文件系统中必须提供有效的存取控制功能。
用户接口
- 联机用户接口:为联机用户提供的接口,由一组键盘命令及命令解释程序组成
- 脱机用户接口:为批处理作业的用户提供的接口,也称“批处理用户接口”
新功能
- 系统安全
- 网络的功能和服务
- 支持多媒体
操作系统的结构设计
无结构->模块式->层次式
客户/服务器模式->引入OO->微内核
开发方法的不断发展,促进了OS结构的更新换代。把第1代至第3代的OS结构称为传统的OS结构,而把微内核的OS结构称为现代OS结构。
- 模块化OS结构
- 分层式OS
- 微内核
- 客户-服务器模式
- 面向对象