操作系统大纲(复习版)
2021.5.16 今日目标:第一章~第三章
这个并不是正儿八经的操作系统知识,只是lz酷爱使用md编写笔记,孩子要期末考试了,所以想在闲暇时刻也能复习,就上传到csdn用手机查看md格式的文档
第一章 操作系统引论
1. 知道操作系统的目标
- 方便性:方便用户使用计算机
- 有效性:提高系统资源利用率;提高系统吞吐量
- 可扩充性:采用微内核,让OS具有更好的可扩充性
- 开放性:OS能遵循世界标准规范,让遵循标准的软件硬件都能互相兼容
2. 知道操作系统的作用
- OS作为用户与计算机硬件系统之间的接口:用户在OS的帮助下能更方便、快捷、可靠的操纵计算机
- OS作为计算机系统资源管理者:OS管理“处理机、存储器、I/O设备、文件”
- OS实现了对计算机资源的抽象:I/O管理的抽象;文件管理对硬件资源的抽象
3. 操作系统多道的概念
多道程序设计的概念:用户提交的作业放到外存上,形成一个队列——“后备队列”,作业调度时按照一定的调度算法将其从后备队列调度到内存中。由于内存中有若干道程序,这样可以在运行程序A,由于其I/O阻塞,而将CPU空闲出来执行程序B,让程序B由于I/O阻塞时运行程序C,使多道程序交替执行。
4. 多道批处理系统优缺点
优点:
- 资源利用率高:内存中多道程序交替执行保持CPU处于忙碌状态;提高内存利用率;提高I/O设备利用率
- 系统吞吐量大:
- CPU和“其他资源”保持忙碌状态
- 仅当作业完成或者运行不下去时才进行切换,系统开销小
缺点:
- 平均周转时间长:因为作业要排队依次处理
- 无交互能力:用户把作业提交给系统之后,直到作业完成用户都不能和自己的作业进行交互
5. 分时操作系统的特点
分时系统:在一台主机上连接了多个配有显示器+键盘的终端所组成的系统,该系统中允许多个用户同时通过自己的终端以交互的形式使用计算机,共享主机中的资源。
实现分时系统的关键问题:
- 及时接受:及时接收多个用户键入的命令和数据,配多路卡
- 及时处理:用户键入命令后,能对自己的作业进行控制和修改
- 作业直接进入内存
- 采用轮转:时间片
分时系统的特征:
- 多路性:允许多台终端连接到一台主机,并按分时的原则为每个用户服务
- 独立性:每个用户在各自的终端上进行操作,彼此互不干扰
- 及时性:用户的请求能在很短的时间内得到响应
- 交互性:用户可通过终端和系统进行广泛的人机对话
6. 操作系统的基本特征
- 并发性:并行、并发的区别
- 共享:互斥共享;同时访问(宏观意义上,类似于并发)
- 虚拟:时分复用;空分复用
- 异步:走走停停,进程以人们不知道的速度向前推进
7. 操作系统的基本功能
-
处理机管理功能
- 进程控制
- 进程同步
- 进程通信
- 调度:作业调度;进程调度
-
存储器管理功能
-
内存分配
- 内存分配的主要任务:
- 为每道程序分配内存空间,是他们“各得其所”
- 提高存储器利用率,尽量减少不可用的内存空间(碎片)
- 允许正在执行的程序申请附加的内存空间
- OS实现内存分配:
- 静态分配:作业进入内存前先确定需要多少内存空间
- 动态分配:作业需要的基本内存空间在进入内存前先确定,,允许申请附加的内存空间
-
内存保护
- 保证每道程序都在自己的内存空间内执行,彼此互不干扰
- 决不允许用户程序访问操作系统的程序和数据,也不允许用户程序转移到非共享的其他用户程序中执行
-
地址映射
-
内存扩充
-
-
设备管理功能
- 缓冲管理:管理I/O设备与CPU的矛盾
- 设备分配
- 设备处理
-
文件管理功能
- 文件存储空间管理
- 目录管理
- 文件的读/写管理和保护
-
操作系统与用户之间的接口
- 用户接口
- 程序接口
-
现代操作系统新功能
- 系统安全
- 络功能和服务: 络通信;资源管理;应用互操作
- 支持多媒体
第二章 进程的描述与控制
1. 程序顺序执行和并发执行各自的特点
顺序执行的特点:
- 顺序性:严格按照程序规定的顺序执行
- 封闭性:程序在封闭环境下进行,运行时会独占全机资源
- 可再现性:程序重复执行的结果一样
并发执行的特点:
- 间断性
- 失去封闭性
- 不可再现性
2. 并发执行与并行执行的区别
并发性:多个进程实体同时存在于内存中,并且在一段时间内同时运行
并行执行:两个或者多个进程在同一时刻同时执行
3. 进程的定义和特点
进程=程序段+数据+PCB
进程的定义:进程是进程实体的运行的过程,是系统进行资源分配和调度的一个单位
特点:
- 动态性:具有完整的生命周期,程序是静态的
- 并发性
- 独立性
- 异步性:走走停停,各进程按照自己独立的,不可预知的速度向前推进
4. 进程和程序的区别
- 程序是静态的;进程是动态的
- 程序是一段段代码指令;进程由程序段和数据和PCB组成
- 程序可以永久保存,进程具有生命周期
5. 进程的组织结构
进程=程序段+数据+PCB
6. PCB概念,定义,作用,是进程存在唯一标志的原因
PCB概念:/p>
PCB定义:/p>
PCB作用:使不能独立运行的程序成为一个能独立运行的基本单位——进程
PCB是进程存在唯一标志的原因:OS是通过PCB感知进程的存在
PCB包含的信息:
- 进程标识符
- 处理机状态
- 进程调度信息
- 进程控制信息
7. 进程的五种基本状态和各自的含义。
- 就绪状态:进程准备好运行,只要分配到CPU就能进入执行状态
- 执行状态:进程已获得CPU,正在执行
- 阻塞状态:由于进程发生某些事情(I/O请求,申请缓冲区失败等)暂时无法继续执行的状态
- 创建状态:创建一个进程
- 终止状态:终止一个进程
8. 进程中就绪、执行、阻塞三种基本状态转换变迁条件和原因
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EZ1qSX0P-1621585294275)(/Users/uru/Library/Application Support/typora-user-images/image-20210517132159152.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-H8cjKYnT-1621585294277)(/Users/uru/Library/Application Support/typora-user-images/image-20210517132240798.png)]
9. 进程同步互斥
进程的同步:在多道程序环境下,进程是并发执行的,不同进程之间存在着不同的相互制约关系。
进程的互斥:两个或两个以上的进程,不能同时进入同一个临界变量,否则可能发生与时间有关的错误,这种现象被称作进程互斥
10. 临界资源和临界区
临界资源:一次仅允许一个进程使用的共享资源。各进程采取互斥的方式,实现共享的资源称作临界资源
临界区:访问临界资源的那一段代码
11. 同步机制遵循的四条准则
- 空闲让进:临界资源空闲就允许请求进入临界区的进程进入自己的临界区
- 忙则等待:临界资源正在被访问,其他请求临界资源的进程就必须等待
- 有限等待:对于要访问临界资源的进程,应该保证在有限时间内进入自己的临界区
- 让权等待:进程不能进入自己的临界区时,就应该立即释放处理机,避免陷入“忙等”
12. 信 量机制概念
四种,教材P52,PDF—P62
1. 整型信 量
一个进程在修改信 量时,其他进程不能对该信 量进行修改。不能中断。
2. 记录型信 量
采取“让权等待”原则
3. AND型信 量
AND信 量思想:将进程所需要的资源一次性全部分配给进程,使用完后再全部释放
说实话,这段代码确实没咋看懂,他是咋一次性把资源都给分配出去的呀,P操作里面的else又是啥意思
4. 信 量集
当进程每次申请临界资源时,*在每次分配前都要先检测资源数量判断是否大于可分配的下限值,再决定是否分配
看着咋和银行家算法有些相似呢
特殊情况:
- Swait(S,d,d),信 量集中只有一个信 量S,允许他每次申请d个资源,当现有资源小于d时,不予以分配
- Swait(S,1,1),变为一般的记录型信 量(S>1)或互斥信 量(S=1)
- Swait(S,1,0),S≥1时,允许多个进程进入某特定区,S=0时,阻止任何进程进入某特定区。
13. 信 量机制中wait,signal操作
P操作=wait操作
V操作=signal操作
四种信 量机制中的P、V操作实现机制不一样
- 整型信 量
- 记录型信 量
- AND型信 量
- 信 量集
暂不表述,没懂
14. 利用信 量机制的PV操作进行进程同步
我觉得这里映射教材2.5节,用信 量机制处理生产者-消费者问题,哲学家就餐问题,读写问题
1. 信 量机制进行互斥操作
为啥要写这个,因为觉得mutex的取值会考
问题描述:让多个进程互斥的访问某临界资源
思路:设置一个信 量mutex,初始值为1(是不是表示锁开着的
实现:mutex为互斥访问信 量,初值为1,取值范围为(-1,0,1)
- mutex=1时,表示两个进程都没有进入需要互斥的临界区
- mutex=0的时候,一个进程进入临界区运行,另一个必须等待,所以被挂入阻塞队列
- mutex=-1,一个进程已经进入临界区运行,另一个进程因等待被挂入阻塞在信 量队列中,需要被已在临界区运行的进程退出时唤醒。
我的问题是,要怎么才能使mutex=-1
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!