本章导图:(为了截图缩小了很多导致不太清晰,如果有需要的可找我要原文件)
4.1 操作系统概述
4.1.1 操作系统的基本概念
能有效组织和管理系统中的各种软/硬件资源、存储器和输入/输出设备等物理设备;软件资源是以文件的形式保存在存储器上的程序和数据等信息。
- 功能:
管理系统的硬件、软件、数据资源。
控制程序运行。
人机之间的接口。
应用软件与硬件之间的接口。
4.1.2 操作系统分类及特点
-
批处理操作系统:
单道批:一次一个作业入内存,作业由程序、数据、作业说明书组成
多道批:一次多个作业入内存,特点:多道、宏观上并行微观上串行 -
分时操作系统:
采用时间片轮转的方式为多个用户提供服务,每个用户感觉独占系统
特点:多路性、独立性、交互性和及时性 -
实时操作系统:
实时控制系统和实时信息系统;交互能力要求不高,可靠性要求高(规定时间内响应并处理) -
网络操作系统:
方便有效共享网络资源,提供服务软件和有关协议的集合
主要的网络操作系统有:Unix、Linux 和 Windows Server 系统 -
分布式操作系统:
任意两台计算机可以通过通信交换信息;是网络操作系统的更高级形式,具有透明性、可靠性和高性能等特性 -
微机操作系统:
Windows:Microsoft 开发的图形用户界面、多任务、多线程操作系统
Linux:免费使用和自由传播的类 Unix 操作系统,多用户、多任务、多线程和多 CPU 的操作系统 -
嵌入式操作系统:
运行在智能芯片环境中
特点:微型化、可定制(针对硬件变化配置)、实时性、可靠性、易移植性(HAL 和 BSP 支持)
嵌入式操作系统特点
(1)微型化。从性能和成本角度考虑,希望占用资源和系统代码量少,如内存少、 字长短、运行速度有限、能源少(用微小型电池)。
(2)可定制。从减少成本和缩短研发周期考虑,要求嵌入式操作系统能运行在不同的微处理器平台上,能针对硬件变化进行结构与功能上的配置,以满足不同应用需要。
(3)实时性。嵌入式操作系统主要应用于过程控制、数据采集、传输通信、多媒体信息及关键要害领域需要迅速响应的场合,所以对实时性要求高。
(4)可靠性。系统构件、模块和体系结构必须达到应有的可靠性,对关键要害应用还要提供容错和防故障措施
(5)易移植性。为了提高系统的易移植性,通常采用硬件抽象层 (HardwareAbstraction Level,HAL) 和板级支持包 (Board Support Package,BSP) 的底层设计技术。
4.1.3 操作系统的发展
“需求推送发展”
4.2 进程管理 ❤❤❤❤❤
4.2.1 基本概念
1、程序与进程
程序顺序执行时的主要特征:顺序性、封闭性和可再现性。
程序并发执行特征:失去程序封闭性、程序与机器的执行程序的活动不再一一对应、并发程序之间的相互制约性。
2、进程的组成
CPB、程序、数据
3、程序的状态以及状态之间的转换
1)三态模型:运行、就绪、阻塞
2)五态模型:
4.2.2 进程的控制
对系统的所有进程从创建到消亡的全过程实施有效的控制。
4.2.3 进程间的通信
- 互斥:如千军万马过独木桥,同类资源的竞争关系。
- 同步:速度有差异,在一定情况停下等待,进程间的协作关系。
- 临界资源:诸进程间需要互斥方式对其进行共享的资源,如打印机、 磁带机等。
- 临界区:每个进程中访问临界资源的那段代码称为临界区。
- 信号量:是一种特殊的变量,表示资源数。当信号量小于 0 时,还可以表示排队进程数。
4.2.4 管程
管程由一些共享资源、一组能为并发进程所执行的作用在共享数据上的操作的集合、初始代码以及存取权组成。
4.2.5 进程调度
调度算法:
- 先来向服务
- 时间片轮转
- 优先级调度
- 多级反馈调度
PV 操作对应的过程:
常考点:前趋图、 PV 操作、进程资源图 ❤❤❤❤
补充:PV操作图【 执行前P操作,执行后V操作
】
说明:前趋图与 PV 操作结合,根据前趋图箭线标注信号量,再根据进程图填空:针对箭线标注信号量,箭线的起点位置是 V 操作(即前趋活动完成后以 V 操作通知后继活动);箭线的终点位置是 P 操作(即后继活动开始前以 P 操作检查前趋活动是否完成)。
补充❤
进程资源图:判断是否可以进行可以简化
4.2.6 死锁 ❤❤❤
进程管理是操作系统的核心,但如果设计不当,就会出现死锁的问题。如果一个进程在等待一件不可能发生的事,则进程就死锁了。而如果一个或多个进程产生死锁,就会造成系统死锁。
假设 m个进程各自需要 w 个 R 资源,系统中共有 n 个 R 资源,此时不可能形成死锁的条件是:
m(w-1)+1<=n*
如题:资源分配表
❤补充
共享锁、排它锁
银行家算法:
当一个进程对资源的最大需求量不超过系统中的资源数时可以接纳该进程。进程可以分期请求资源,但请求的总数不能超过最大需求量。当系统现有的资源不能满足进程尚需资源数时,对进程的请求可以推迟分配,但总能使进程在有限的时间里得到资源。根据银行家算法判断相关进程序列是否会形成死锁,是则为不安全序列。
4.2.7 线程
线程共享的内容包括:进程代码段、进程的公有数据(利用这些共享的数据,线程很容易的实现相互之间的通讯)、进程打开的文件描述符、信号的处理器、进程的当前目录、进程用户ID与进程组ID
线程独有的内容包括:线程ID、寄存器组的值、线程的堆栈、错误返回码、线程的信号屏蔽码。
4.3 存储管理 ❤❤❤
存储器的主要功能包括主存控件的分配与回收、提高主存的利用率、扩充主存、对主存信息的有效保护。
4.3.1 基本概念
4.3.2 存储管理方案
1、分区存储管理
2、分区保护
4.3.3 分页存储管理
- 将程序与内存均划分为同样大小的块,以页为单位将程序调入内存。
- 是解决多道程序共享主存的可行方案,但无法满足用户要求连续的空间,需要进行分区靠拢操作。分页过程由操作系统完成,不易实现共享。
4.3.4 分段存储管理
- 按用户作业中的自然段来划分逻辑空间,然后调入内存,段的长度可以不一样。
- 作业的地址空间被划分为若干个段、每个段是一组完整的逻辑信息,优点容易实现段的共享。
4.3.5 段页式存储管理
-
段式与页式的综合体。先分段,再分页。1 个程序有若干个段,每个段中可以有若干页,每个页的大小相同,但每个段的大小不同。
-
页面置换算法:依据最近最少被使用原则选择应该被淘汰的页面。
1、页面淘汰时,主要依据原则(考试中默认按照此原则进行淘汰):先淘汰最近未被访问的(访问位为 0),其次淘汰被访问但未被修改的(即修改位为 0,因为修改后的页面淘汰时代价更大)。
2、页面淘汰算法有多种,常用的是 LRU 即最近最少使用原则,依据的是局部性原理。
3、对于多种淘汰算法:最优算法 OPT(理想型),随机算法 RAND(随机性),先进先出 FIFO(可能产生“抖动”),最近最少使用 LRU(依据局部性原理)。
4.4 设备管理
4.4.1 设备管理概述
4.4.2 I/O软件
4.4.3 设备管理采用的相关技术
- 程序查询方式(CPU 一直处于询问、等待的过程,占用 CPU 时间最长,CPU 利用率最低);
- 中断方式(I/O 完成后向 CPU 发送中断请求信号,CPU 和 I/O 可以并行);
- DMA(CPU 只做初始化,不参与具体数据传输过程);
- 通道方式、I/O 处理机,专用硬件方式。
4.4.4 磁盘调度
1、存取时间=寻道时间+等待时间,寻道时间是指磁头移动到磁道所需的时间;等待时间为等待读写的扇区转到磁头下方所用的时间。有时还需要加上数据的传输时间。
2、在处理过程中,如果有关于缓冲区的使用,需要了解对于单缓冲区每次只能被一个进程使用,即向缓冲区传输数据的时候不能从缓冲区读取数据,反之亦然。
3、对于磁盘存储的优化,是因为磁头保持转动的状态,当读取数据传输或处理时,磁头会移动到超前的位置,需要继续旋转才能回到逻辑下一磁盘块,优化存储就是调整磁盘块的位置,让逻辑下一磁盘块放到磁头将要开始读取该逻辑块的位置。
4、磁盘调度算法(考虑移臂时,只需要考虑柱面信息即可,扇区不需要考虑,同一柱面的多个扇区先后顺序随机):
先来先服务 FCFS(谁先申请先服务谁);
最短寻道时间优先 SSTF(申请时判断与磁头当前位置的距离,谁短先服务谁);
扫描算法 SCAN(电梯算法,双向扫描);
循环扫描 CSCAN(单向扫描)。
4.5 文件管理 ❤❤
4.5.1 文件与文件系统
文件
文件系统
文件类型
4.5.2 文件的结构和组织
结构:文件组织形式
4.5.3 文件目录 ❤❤
1、绝对路径从根目录开始写起,并且该文件的全名即为绝对路径+文件名。
2、相对路径从当前位置下一级目录开始写起。
4.5.4 存取方法和存储空间的管理
4.5.5 文件的使用
4.5.6 文件的共享和保护
4.5.7 系统的安全与可靠性
4.6 作业管理
4.6.1 作业与作业控制
4.6.2 作业调度
4.6.3 用户界面