操作系统
文章目录
第一章 绪论
1.1 操作系统概念
- 操作系统是指控制和管理整个计算机系统的硬件与软件资源
1.2 操作系统历史
1.2.1 手工操作阶段
1.2.2 早期批处理
- 联机批处理
- 输入输出设备直接和主机相连
- 缺点:快速的主机等待慢速的输入输出设备,浪费了主机时间
- 脱机批处理(输入输出由专门的及机器控制)
- 输入设备-卫星机-磁带-主机-磁带-卫星机-输出设备
- 提高了计算机的利用率
- 问题:作业运行过程,无法与用户交互,任何错误将导致整个系统停顿
- 后期批处理————执行系统
- 主机、输入输出设备并行工作
- 实现了快速的联机批处理
- 内部中断可以克服错误停机,时钟中断可以解决死循环
- 问题:每次依旧只能处理一个作业,计算机资源仍有浪费
1.2.3 多道程序系统
- 特点
- 多道:计算机内存中同时存放寄到相互独立的程序
- 宏观上并行:同时在一个时间段内运行
- 微观上串行:轮流使用资源
- 问题
- 多道程序共享计算机中的软硬件资源——同步和互斥
- 同时在内存中的程序较多,内存不够用——内存管理新技术
- 多道程序同时在内存中——内存保护
1.2.4 分时操作系统
- 多个程序轮流运行
- 每个程序只能运行一个规定的时间,就必须暂停,让下一个程序运行
- 当时间片很短时,每个程序都能及时响应用户的交互
- 多用户分时操作系统
- 一台计算机可同时连接多个用户终端
- 每个用户可以通过终端联机使用计算机,感觉自己
1.2.5 实时操作系统
- 以足够快的速度响应外部中断,及时处理紧迫事件
- 要求系统在一定时间范围内抢占式做出响应
- 其发展源自测控领域广泛的应用需求
1.2.6 通用操作系统
- 同时具有多道批处理、分时、实时处理的功能
- 1960s中期开始研发
- 规模庞大、功能复杂,付出了巨大代价,难以保证可靠性、可维护性、可理解性
- 有成功系统UNIX
1.2.7 操作系统进一步发展
- 1980s以后
- PC操作系统
- 嵌入式操作系统
- 网络操作系统
- 分布式操作系统
- 智能化操作系统
1.3 操作系统的基本类型
1.3.1 批处理操作系统
- 主要特征
- 用户脱机使用计算机
- 成批处理
- 多道程序运行
1.3.2 分时系统
- 主要特征
- 交互性
- 多用户同时性
- 独立性
1.3.3 实时系统
- 主要特点
- 提供及时响应
- 高可靠性
1.3.4 通用操作系统
- 兼具批处理、分时、实时处理和多重处理的功能
1.3.5 个人计算机上的操作系统
1.3.6 网络操作系统
1.3.7 分布式操作系统
1.4 操作系统功能
1.4.1 处理机管理
1.4.2 存储管理
- 内存分配
- 存储保护
- 内存扩充
1.4.3 设备管理
- 通道、控制器和输入输出设备的分配和管理
- 设备独立性
1.4.4 信息管理(文件系统管理)
1.4.5 用户接口
- 用户接口是程序一级接口,即提供一组广义指令供用户程序和系统程序使用
- 作业一级接口,提供一组控制操作命令功用户去组织和控制自己作业运行
- 联机控制
- 脱机控制
第二章 操作系统用户界面
2.1 简介
- 使用和管理计算机的用户
- 普通用户:使用计算机的服务
- 管理员用户:负责计算机和操作系统的安全和正常运行
- 命令控制界面
- 程序开发人员
- 使用操作系统提供编程接口(系统调用界面)编写应用程序
- 系统调用
2.2 一般用户与计算机的交互方式
2.2.1 作业的概念
- 定义:在一次应用业务处理过程中,从输入开始到输出结束,用户要求计算机所做的有关该次业务的全部工作称为一个作业
2.2.2 作业的组织
-
三个部分:程序、数据、作业说明书
- 一个作业至少有一个程序
- 一个作业可以有多个程序和数据集
-
程序和数据
- 完成用户所要求的业务处理工作
-
作业说明书构成
- 作业基本描述
- 作业控制描述
- 资源要求描述
-
作业说明书
- 生成JCB
- 体系用户的控制意图
- 供操作系统分配资源,控制程序和数据的编译、连接、装入和执行
- 在PC和工作站中,一般用批处理文件或shell/脚本编写作业说明书
-
组织
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IJLpzYgr-1609662796224)(C:\Users\Li Shangli\AppData\Roaming\Typora\typora-user-images\image-20210103155135111.png)]
2.2.3 作业的状态
- 提交状态
- 后备状态
- 执行状态
- 完成状态
2.2.4 一般用户与计算机的交互方式
- 联机输入输出方式
- 外围设备直接和主机相连
- 多用于交互式系统
- 脱机输入输出
- 用PC接受输入,并转存,再转存到主机中
- 缩短主机用于处理输入时间
- 转存由手工完成
- 直接耦合方式
- Spooling——假脱机技术
- 多个外围设备通过通道或DMA和主机、外存连接起来
- 操作系统控制输入输出
- 技术特点
- 输入输出#实现了脱机,提高了低速设备的IO速度
- 用户进行只使用输入输出#,实现了虚拟设备功能,多个进行共享设备
- 网络联机方式
- 输入输出设备通过网络连接主机
- 典型:网络终端、远程终端、网络打印机
2.3 命令控制界面
- 脱机控制方式
- 联机控制方式
- 现代操作系统大多提高批处理和联机操作两种方式
2.4 系统调用
2.4.1 系统调用
- 系统调用是操作系统提高给编程人员的唯一接口
- 系统调用分类
- 设备管理
- 文件管理
- 进程管理
- 进程通信
- 存储管理
- 线程管理
- 系统保护
- 不能采用一般的子进程调用过程
- 如何实现
- 编程人员给定系统调用名和参数之后,系统通过一个类似硬件中断处理的中断机构来实现调用。
2.4.2 系统调用实现过程
- 为执行系统调用指令作好准备
- 为用户程序保存好处理及现场,并把系统调用命令编号等参数指定的存储单元
- 执行系统调用
- 根据系统调用命令编号,访问系统调用入口表,找到相应子程序的入口地址,然后转去执行
- 系统调用命令执行后处理
- 恢复处理机现场,并把系统调用的返回参数送入指定单元,以功用户程序使用
2.4.3 系统调用与一般过程调用
- 运行状态不同
- 进入方式不同
- 传递参数
- TRAP指令自带参数
- 使用通用寄存器传递参数
- 内存中开辟专用堆栈区传递参数
2.4.4 处理器模式
- 为了保证安全,指令系统分为特权指令和非特权指令
- 特权指令
- 仅提高操作系统内核程序使用
- 不允许一般用户使用
- 应用程序执行特权指令是非法指令,产生保护中断
- 修改程序状态字等
- 非特权指令
- 是操作系统和应用程序都可以使用的指令
- 用户态和非用户态
- 处理器模式
- 当前CPU运行时操作系统还是应用程序区分系统态和程序态
- 程序状态字标识处理器模式
- 不同权限
- 系统态
- 处理器执行操作系统程序——系统它
- 运行所有指令
- 用户态
- 处理器执行用户程序——用户态
- 只能执行非特权指令
- 处理器模式
- 处理器模式转换
- CPU模式是同态改变
- 用户态->系统态:中断
- 系统态->用户态:修改PSW状态字
- 系统启动CPU处于系统态
- 操作系统调用用户程序执行,则系统转为用户态
- 用户态执行时,发生中断则回到系统态
- CPU模式是同态改变