导图社区 《操作系统》第一章-计算机系统概述
《操作系统》第一章-计算机系统概述思维导图,包括:操作系统的基本概念、操作系统发展历程、操作系统运行环境、操作系统结构、操作系统引导、虚拟机。
编辑于2022-06-25 21:55:00计算机系统概述
操作系统的基本概念
1. 概念
控制和管理整个计算机系统的硬件与软件资源,合理地组织、调度计算机的工作与资源的分配,进而为用户和其他软件提供方便接口与环境的程序集和
操作系统是计算机系统中最基本的系统软件
2. 特征
基本特征
并发
两个或多个事件在同一时间间隔内发生
共享
定义:系统中的资源可供内存中多个并发执行的线程共同使用
分类
互斥共享方式
仅当进程A访问完并释放该资源后,才允许另一个进程对该资源进行访问
临界资源:在一段时间内只允许一个进程访问的资源
计算机中大多数物理设备和软件中所用的栈、变量和表格
同时访问方式
资源允许在一段时间内由多个进程“同时”访问
宏观上“同时访问”
微观上交替访问,即“分时共享”
磁盘设备
资源共享以程序的并发为条件,若系统不允许程序并发执行,则自然不存在资源共享问题
若系统不能对资源共享实施有效的管理,则必将影响到程序的并发执行,甚至根本无法并发执行
虚拟
定义:把一个物理上的实体变为若干逻辑上的对应物
分类
时分复用技术
虚拟处理机
通过多道程序设计技术,采用让多道程序并发执行的方法,来分时使用一个处理器
空分复用技术
虚拟存储器
异步
多道程序环境允许多个程序并发执行,但由于资源有限,进程的执行并不是一贯到底的,而是走走停停的,它以不可预知的速度向前推进
3. 目标和功能
作为计算机系统资源的管理者
处理机管理/进程管理
进程控制、进程同步、进程通信、思索处理、处理机调度等
存储器管理
内存分配与回收、地址映射、内存保护与共享和内存扩充等
文件管理
文件存储空间的管理、目录管理及文件读写管理和保护等
设备管理0
完成用户的I/O请求,方便用户使用各种设备,并提高设备的利用率
缓冲管理、设备分配、设备处理和虚拟设备等功能
作为用户与计算机硬件系统之间的接口
命令接口
联机命令接口(交互式命令接口)
适用于分时或实时系统的接口,由一组键盘操作命令组成
脱机命令接口(批处理命令接口)
适用于批处理系统,由一组作业控制命令组成
程序接口
由一组系统调用(广义指令)组成
实现了对计算机资源的扩充
操作系统发展历程
1. 手工操作阶段
无操作系统,需要人工干预
缺点
用户独占全集,资源利用率低
CPU等待手工操作,CPU利用率低
2. 批处理阶段
单道批处理系统
为解决人际矛盾(速度和资源利用)及CPU和I/O设备速率不匹配的矛盾而形成
主要特征
自动性
作业自动运行,无需人工干预
顺序性
各道作业的完成顺序与它们进入内存的顺序在正常情况下完全相同
单道性
内存中仅有一道程序运行
缺点:每次主机内存中进存放一道作业,每当它在运行期间发出输入/输出请求后,告诉的CPU便处于等待低俗的I/O完成的状态
多道批处理系统
允许多个程序同时进入内存并允许它们在CPU中交替地允许,这些程序共享系统中的各种硬/软件资源
主要特征
多道
计算机内存中同时存放躲到相互独立的程序
宏观上并行
同时进入系统的多道程序都处于运行过程中,即它们先后开始各自的运行,但都未运行完毕
微观上串行
内存中的多道程序轮流占有CPU,交替执行
优点
资源利用率高
系统吞吐量大
缺点
用户响应时间长
不提供人机交互功能
3. 分时操作系统
分时技术:把处理及的运行时间分成很短的时间片,按时间片轮流把处理及分配给各联机作业使用
定义:多个用户通过终端同时共享一台主机,这些终端连接在主机上,用户可以同时与主机进行交互操作而互不干扰
主要特征
同时性(多路性)
允许多个终端用户同时使用一台计算机
交互性
用户通过终端采用人机对话的方式直接控制程序运行,与同程序进行交互
独立性
系统中多个用户可以彼此独立地进行操作,互不干扰
及时性
用户请求能在很短时间内获得响应
4. 实时操作系统
为了能在某个时间限制内完成某些紧急任务而不需要时间片排队,诞生了实时操作系统
分类
硬实时系统
某个动作必须绝对地在规定地时刻(或规定的时间范围)发生
如飞行器的飞行自动控制系统
软实时系统
能够接受偶尔违反时间规定而不会引起任何永久性的损害
如飞机订票系统、银行管理系统
主要特点
及时性
可靠性
资源利用率低
5. 网络操作系统和分布式计算及系统
网络操作系统
把计算机网络中的割台计算机有机结合起来,提供一种统一、经济而有效的使用各台计算机的方法,实现各台计算机之间数据的互相传送
主要特点:网络中各自资源的共享及各台计算机之间的通信
分布式计算机系统
由多台地位同等的计算机组成,计算机之间可以任意地交换信息、共享资源、并行工作
主要特点:分布性和并行性
本质区别:分布式操作系统中的若干计算机相互协同完成同一任务
6. 个人计算机操作系统
操作系统运行环境
1. 处理器运行模式
用户态(目态)
非特权指令
允许用户直接使用的指令,它不能直接访问系统中的软硬件资源,仅限于访问用户的地址空间
核心态(管态、内核态)
特权指令
不允许用户直接使用的指令,如I/O指令、置中断质量,存取用于内存保护的寄存器、送程序状态字到程序状态字寄存器等的指令
内核功能
时钟管理
计时,向用户提供标准的系统时间
通过时钟中断的管理,可以实现进程的切换
中断机制
负责保护和恢复中断现场的信息,转移控制权到相关的处理程序,减少中断的处理时间,提高系统的并行处理能力
原语
处于操作系统的最低层,最接近硬件的部分
程序的运行具有原子性
运行时间段且调用频繁
系统控制的数据结构及处理
进程管理
进程状态管理、进程调度和分派、创建与撤销进程控制块等
存储器管理
存储器的空间分配和回收、内存信息保护程序、代码对换程序
设备管理
缓冲区管理、设备分配和回收等
2. 中断和异常
中断(外中断)
定义:来自CPU执行指令外部的事件,通常用于信息输入、输出
如设备发出的I/O结束中断,表示设备输入/输出处理已经完成
时钟中断,表示一个固定的时间片已到,让处理机处理计时、启动定时运行的任务等
分类
可屏蔽中断INTR
通过INTR线发出的中断请求,通过改变屏蔽字可以实现多重终端,从而使得中断处理更加灵活
不可屏蔽中断NMI
通过NMI线发出的中断请求,通常是紧急的硬件故障,如电源掉电等
异常(内中断)
定义:来自CPU执行指令内部的事件(不能被屏蔽,一旦出现就应立即处理)
如程序的非法操作码、地址越界、运算溢出、虚存系统的缺页及专门的陷入指令等引起的事件
分类
软件中断
故障(Fault)
由指令执行引起的异常如非法操作码、缺页故障、除数为0、运算溢出等
自陷(Trap)
事先安排的“异常”事件,用于在用户态下调用操作系统内核程序,如条件陷阱指令(访管指令)
硬件中断
终止(Abort)
出现了使得CPU无法继续执行的硬件故障,如控制器出错、存储器校验错等
外部中断
中断处理流程是由硬件直接实现(隐指令)的,PC值(中断点)由中断隐指令(硬件)自动保存,而通用寄存器内容由操作系统保存
3. 系统调用
定义:用户在程序中调用操作系统所提供的一些子功能,系统调用可视为特殊的公共子程序
系统调用的处理由操作内核负责完成,运行在内核态
广义指令(即系统调用命令)的调用发生在用户态,但执行发生在核心态
计算机通过硬件中断机制完成由用户态到核心态的转换
分类
设备管理
完成设备的请求或释放,以及设备启动等功能
文件管理
完成文件的读、写、创建及删除等功能
进程控制
完成进程的创建、撤销、阻塞及唤醒等功能
进程通信
完成进程之间的消息传递或信号传递等功能
内存管理
完成内存的分配、回收以及获取作业占有内存区大小及始址等功能
执行流程
正在运行的进程线传递系统调用参数
由陷入指令负责将用户态转换为内核态,并将返回地址压入堆栈中备用
CPU执行相应的内核态服务程序
返回用户态
操作系统结构
1. 分层法
定义:将操作系统分为若干层,最低层为硬件,最高层为用户接口,每层只能调用紧邻它的低层的功能和服务(单向依赖)
优点
结构清晰,便于系统的调试和验证,简化了系统的设计和实现
易于扩充和维护
缺点
定义各层困难,且不够灵活
效率较差
2. 模块化
定义:将操作系统按功能划分为若干具有一定独立性的模块,每个模块具有某方面的管理功能,并规定号各模块间的接口,使各模块之间能够通过接口进行通信
衡量模块独立性的标准
内聚性:模块内部各部分间联系的紧密程度,越高越好
耦合度:模块间相互联系和相互影响的程度,越低越好
优点
提高了操作系统设计的正确性、可理解性和可维护性
增强了操作系统的可适应性
加速了操作系统的开发过程
缺点
模块间的接口规定难以满足实际需求
难以找到可靠的模块设计顺序
3. 宏内核
定义:将系统的主要功能都作为一个紧密联系的整体运行在核心态,从而为用户程序提供高性能的系统服务
模块间共享信息,能有效利用相互之间的有效特性,故有极高的性能优势
主流的操作系统都是基于宏内核的架构
4. 微内核
概念
将内核中最基本的功能保留在内核,而将那些不需要在核心态执行的功能移到用户态实现,从而降低内核的设计复杂性
为了实现高可靠性,只有微内核运行在内核态,其余模块都运行在用户态,一个模块中的错误只会使这个模块崩溃,而不会使整个系统崩溃
采用客户/服务器模式(C/S)
基本功能
进程(线程)管理
进程(线程)之间的通信功能是微内核OS最基本的功能,此外还有进程的切换、调度硬件多处理机之间的同步等功能
低级存储器管理
只配置最基本的低级存储求管理机制,如用户实现将逻辑地址转换为物理地址等的页表机制和地址变换机制,这一部分是依赖于硬件的
中断和陷入处理
特点
扩展性和灵活性
可靠性和安全性
可移植性
分布式计算
主要问题
性能问题:为频繁地在核心态和用户态之间进行切换,操作系统的执行开销偏大
5. 外核
定义:在内核态中运行的程序,为虚拟机分配资源,并保证资源不被其他人获取
减少了虚拟机和宿主机之间的磁盘地址映射层
操作系统引导
定义:计算机利用CPU运行特定程序,通过程序识别硬盘,识别硬盘分区,识别硬盘分区上的操作系统,最后程序启动操作系统
引导过程
1. 激活CPU
激活的CPU读取ROM中的boot程序,将指令寄存器置为BIOS(基本输入/输出系统)的第一条指令,即开始执行BIOS的指令
2. 硬件自检
检查硬件是否出现故障
3. 加载带有操作系统的硬盘
BIOS开始读取Boot Sequence,把控制权交给启动顺序排在第一位的存储设备,然后CPU将该存储设备引导扇区的内容加载到内存中
4. 加载主引导记录MBR
硬盘以特定的标识符区分引导硬盘和非引导硬盘
主引导记录MBR的作用是告诉CPU去硬盘的哪个主分区去找操作系统
5. 扫描硬盘分区表
主引导记录扫描硬盘分区表,进而识别含有操作系统的硬盘分区(活动分区),然后加载硬盘活动分区
6. 加载分区引导记录PBR
读取活动分区的第一个扇区,即分区引导记录(PBR),其作用是寻找并激活分区根目录下用于引导操作系统的程序(启动管理器)
7. 加载启动管理器
8. 加载操作系统
虚拟机
概念
虚拟机是一台逻辑计算机,是指利用特殊的虚拟化技术,通过隐藏特定计算平台的实际物理特性,为用户提供抽象的、统一的、模拟的计算环境
虚拟化方法
第一类虚拟机管理程序
唯一一个运行在最高特权级上的程序,在裸机上运行并具备多道程序功能
向上提供若干虚拟机,都是裸机硬件的复制品,可以运行任何不同的操作系统
虚拟机作为用户态的一个进程运行,不允许执行敏感指令,但虚拟机上的操作系统认为自己运行在内核态,称为虚拟内核态
第二类虚拟机管理程序
依赖于操作系统分配和调度资源的程序,像一个普通的进程
运行在底层硬件上的操作系统称为宿主操作系统
运行在两类虚拟机管理程序上的操作系统称为客户操作系统