文章目录
第一章 操作系统概述
操作系统的概念
操作系统的作用:
- 管理系统中软件硬件资源(CPU,设备,内存,文件);
- 为用户(应用程序)提供良好的服务(API,GUI,JCL)。
操作系统的定义:
操作系统是位于硬件层(HAL)之上,所有其它软件层之下的一个系统软件,是管理系统中各种软硬件资源,方便用户使用计算机系统的程序集合。
运行示图
- 系统库(lib)可调用操作系统,执行硬件指令
- 应用程序可以调用lib和操作系统,执行硬件指令
操作系统的历史
批处理阶段
- 联机批处理
在作业输入输出时,CPU空闲
优点:监督程序不间断地处理各个作业,作业之间转换自动化,摆脱人工干预
缺点:IO慢,主机等待时间长 - 脱机批处理
将输入输出操作交给一个功能较为单纯的卫星机
优点: 减少了主机等待I/O操作时间
缺点: (1)人工搬动磁带; (2)额外的卫星机
执行系统阶段
假脱机,通道和中断技术出现
通道:专门用于控制I/O设备的处理机,即I/O处理机。
多道批处理阶段
主机中(内存中)同时放多个作业,当一道作业因为等待I/O传输完成而暂时不能运行时,系统可以将处理器资源分配给另一个可以运行的程序,最大限度提高资源利用率。
多道批处理系统优点
- 资源利用率高。由于在内存中装入了多道程序,使它们共享资源,保持资源处于忙碌状态
- 系统吞吐量大。
多道批处理系统缺点
- 无交互能力:用户一旦将作业提交给系统后直至作业完成,用户不能与作业进行交互
- 处理周转时间长
操作系统特性
并发性
- 多个程序在宏观上同时向前推进
共享性
- 多个程序共用系统中的各种软硬件资源(互斥共享方式、同时共享方式)
- 在操作系统的协调和控制下
异步性(随机性)
- 多个程序以不可预知的速度向前推进
虚拟性
- 把一个实的CPU改造为多个虚的CPU
- 内存+外存→虚存
- 独占设备+共享设备→虚拟设备(数量多,速度快)
操作系统类型
多道批操作系统
作业(Job):指用户要求计算机系统为其完成的计算任务的集合
多道批处理:当一道作业因为等待I/O传输完成而暂时不能运行时,系统可以将处理器资源分配给另一个可以运行的程序
输入井:保存已经输入但尚未处理的作业
输出井:保存处理完毕但尚未输出的结果
输入井作用
- 缓冲:协调I/O设备和处理器速度不匹配的矛盾
- 实现作业调度(job scheduling)
输出井作用
- 缓冲(速度匹配作用)
特点
- 多道:内存中同时容纳多个作业,外存输入井中还有多个尚未处理的作业
- 成批:作业逐批进入系统、逐批处理、逐批离开系统。作业间的过渡由操作系统控制,无需用户干预
分时操作系统
特点:
- 多路性:一个主机可以与多个终端相连
- 交互性:以对话的方式为用户服务,用户在终端可以方便地录入、调试、修改和运行其程序
- 独占性:时间片一般为十几毫秒或几十毫秒,系统为所有用户服务一次仅需较短时间,每个终端用户仿佛拥有一台虚拟机,以致感觉不到其他用户的存在
实时操作系统
字面意思
系统能够及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行
原理与分时系统相似,通常为远程终端
特点:
- 响应及时
- 可靠性高
通用操作系统
同时具有:分时、实时、批处理功能。
单用户操作系统
为个人计算机所配置的操作系统,同一时刻仅有一个用户使用的系统
特点:单用户,多进程,多线程
网络操作系统
用于实现网络通信和网络资源管理的操作系统
分布式操作系统
紧耦合:(tightly coupled)
- 建立在多处理机系统的基础之上,由多机系统发展而来(多CPU)
- 有公共内存
- 多处理机操作系统
松散耦合:(loosely coupled)
- 建立在计算机网络的基础之上,由计算机网络发展而来(多Host)
- 无公共内存,无公共时钟
分布式操作系统是网络操作系统的更高形式,它保持了网络操作系统的全部特性
网络操作系统和分布式操作系统区别
- 网络操作系统各台计算机可以运行不同的操作系统,分布式操作系统各台计算机运行相同的操作系统
- 网络操作系统以共享文件方式通信,分布式操作系统以消息方式通信
- 网络操作系统主要提供通信和资源共享服务,分布式操作系统以计算加速和系统可靠性作为主要目标
操作系统运行环境
时钟
绝对时钟:记载实际时间,不发中断。
间隔时钟(闹钟):定时发生中断,一般间隔单位为“毫秒”。
系统栈
作用
- 中断响应时保存中断现场
- 保存函数调用返回点、参数、局部变量、返回值
数量
- 每个运行进程有一个对应的系统栈,进程切换伴随着系统栈的切换,系统栈的内容是变化的,但是硬件只有一个系统栈指针。
位置
- 内存中操作系统空间的一个固定区域
“栈”和“堆”的差别
- 栈是一块按后进先出规则访问的存储区域,用来实现中断嵌套和子程序嵌套(保存调用参数和返回断点)
- 堆虽然是一块存储区域,但是对堆的访问是任意的,没有后进先出的要求,堆主要用来为动态变量分配存储空间。
特权指令和非特权指令
特权指令(privileged instruction):
- 只有在管态才能执行的指令(影响系统状态)
- 特权指令只有操作系统才能执行,用户程序不可执行
非特权指令(non-privileged instruction):
- 在管态和目态都可以执行的指令(不影响系统状态)
处理机状态:
- 系统态(system mode)(管态,核态):可以执行硬件所提供的全部指令(包括特权指令)
- 用户态(user mode)(目态,常态):不可以执行特权指令
硬件将处理器划分为两种状态优点
- 便于设计安全可靠的操作系统。管态和目态是计算机硬件为保护操作系统免受用户程序的干扰和破坏而引入的两种状态
- 通常操作系统在管态下运行,可以执行所有机器指令;而用户程序在目态下运行,只能执行非特权指令。
- 如果用户程序企图在目态下执行特权指令,将会引起保护性中断,由操作系统终止该程序的执行,从而保护了操作系统。
逻辑地址和物理地址
- 逻辑地址(虚地址):程序中产生的地址
- 物理地址(实地址):存储器地址
中断
- 中断装置:发现并响应中断的硬件机构
- 发现中断:指中断发生时能够识别,当有多个中断同时发生时,按优先级响应最高者
- 响应中断:
当前(PSW,PC) → \rightarrow →系统栈
中断向量(PSW,PC) → \rightarrow →寄存器
PSW
PSW是计算机系统的核心部件-运算器的一部分。PSW用来存放两类信息:一类是体现当前指令执行结果的各类状态信息,如有无进位、有无溢出、结果正负、结果是否为0等,另一类是存放控制信息,如允许中断等。
通道与DMA
相同点
- 都能实现IO设备和内存之间建立数据直传通路;
不同点
- DMA只能实现固定的数据传送控制,而通道有自己的指令和程序,具有更强的独立处理数据输入和输出的能力。
- DMA只能控制一台或者少数几台同类设备,而一个通道可以控制多台同类或者不同的设备
操作系统界面形式
shell
每个终端有一个shell进程,它接收、解释和处理用户在终端上所输入的命令。
系统调用命令(OS API)
- 系统调用是用户程序与操作系统打交道的方式,即应用程序请求操作系统核心完成某一特定功能的一种过程调用
- 当用户程序执行系统调用命令时,将发生自愿性中断,进入操作系统,操作系统将根据不同的系统调用命令转到相应的处理程序完成该调用命令所要求的服务。
中断与程序并发关系
- 中断是程序并发执行的前提条件
- 如果没有中断,操作系统不能获得系统的控制权,无法按调度算法对处理器进行重新分配,一个程序将一直运行直到结束而不会被打断
操作系统功能
存储管理
- 存储分配:静态等长分区的分配、 动态异常分区的分配
- 存储共享 :节省内存、实现通讯
- 存储保护:防止地址越界、防止操作越权
- 存储扩充
- 地址映射
- 存储管理方法
处理器管理(进程管理)
- 进程控制
- 进程同步:集中式同步机制、分布式同步机制
- 进程通信:共享内存模式、消息传递模式
- 进程调度:FCFS、SJF、SRTN、HRN、HPF、RR、FB
设备管理
- 设备驱动程序
- 设备的分配与去配:独占型设备、共享型设备
- 缓冲管理:缓和CPU和I/O速度不匹配的矛盾
- 设备独立性与虚拟设备
- 设备调度:先到先服务算法、最短查找时间优先算法、扫描算法、 Look算法、循环扫描算法、循环Look算法、 N步扫描
文件管理
- 文件的访问:顺序访问、随机访问
- 文件的组织:文件的逻辑组织、文件的物理组织
- 目录管理:方便用户在外存上找到所需文件
- 文件的读、写管理与存取控制
操作系统目标
- 提供计算机用户与计算机硬件之间的接口,使计算机系统更易于使用
- 有效地控制和管理计算机系统中的各种硬件和软件资源,使之得到更有效的利用
- 合理组织计算机系统的工作流程,以改善系统性能
教材:
左万利、王英老师编著、高等教育出版社出版的《计算机操作系统》(第4版)