【操作系统强化】王道强化一轮笔记

第一章 计算机系统概述

考点1 操作系统的概念、特征和功能

考点2 内核态与用户态

2.用户态和内核态之间的切换本质上就是应用程序和操作系统对CPU控制器的切换

考点3 中断和异常

考点4 系统调用

3.C

考点5 操作系统引导

①磁盘的物理格式化:这是厂家做的事。物理格式化就是将磁盘划分扇区,划分好扇区后就可以用柱面号、盘面号和扇区号这三个维度去定位磁盘中的某一个扇区。

物理格式化后就可以去市场上售卖该磁盘了。

②对磁盘进行分区:即将磁盘分为C盘、D盘、E盘等。可以选定分几个分区,每个分区的大小是多少。

③逻辑格式化:对每个分区进行逻辑格式化。逻辑格式化的作用是给每个分区建立好根目录信息,同时初始化每个分区的文件系统相关信息。不同的分区可以安装不同的文件系统,比如C盘可以安装UFS文件系统,D盘可以按照FAT文件系统。对于UFS文件系统,需要建立inode索引节点,而对于FAT文件系统,需要建立FAT表。

④操作系统的安装:一般是在C盘安装操作系统,但也可以安装到D盘、E盘等。

  1. 3)磁盘扇区的划分在磁盘的物理格式化中进行,文件系统根目录的建立是在磁盘的逻辑格式化中进行。

4.A

王道书知识点总结

1.1 操作系统的基本概念

2.操作系统的特征

①并发

②.共享

共享性:计算机系统中同时存在着多个运行的程序

并发和共享式操作系统最基本的特征,两者互为存在的条件

③虚拟

④异步

3.操作系统的目标和功能

执行一个程序前需要将该程序放到内存中,才能被CPU处理

①操作系统分为处理机管理、存储器管理、设备管理和文件管理。

②操作系统作为用户与计算机硬件系统之间的接口

系统调用类似于函数调用,是应用程序请求操作系统服务的唯一方式

③操作系统实现了对计算机资源的扩充

1.2 操作系统发展历程

①手工处理阶段

②批处理阶段

引入脱机输入/输出技术并由监督程序负责控制作业的输入、输出

3.分时操作系统

4.实时操作系统

5.个人计算机操作系统

1.3 操作系统的运行环境

3.CPU中有一个寄存器叫程序状态字寄存器(PSW),其中有一个二进制位,用于记录是用户态还是内核态。

4.内核态与用户态的切换

内核态-->用户态:执行一条特权指令,即修改PSW的标志位为用户态,这个动作意味着操作系统主动让出CPU的使用权

用户态-->内核态:由中断引发,硬件自动完成变态过程,触发中断信号意味着操作系统将强行夺回CPU的使用权

除了非法使用特权指令外,还有很多事件会触发中断信号。但凡需要用到操作系统介入的地方,都会触发中断信号。

5.通过时钟中断的管理,可以实现进程的切换。

6.中断机制

不同的中断信号,需要用不同的中断处理程序来处理,当CPU检测到中断信号后,会根据中断信号的类型去查询"中断向量表",以此来找到中断处理程序在内存中的存放位置。

7.原语

8.系统控制的数据结构及处理

9.中断和异常的概念

如果没有中断机制,那么一旦应用程序上CPU运行,CPU就会一直运行这个程序

"中断"是让操作系统内核夺回CPU使用权的唯一途径

①中断和异常的定义

②中断和异常的分类

故障:可能被内核程序修复,修复后会把CPU使用权还给应用程序

终止:由致命错误引起,内核程序无法修复,不再归还CPU的使用权,而是直接终止该应用程序

③中断和异常的处理过程

10.系统调用

操作系统内核对共享资源进行统一管理,并向上提供系统调用。用户进程想要使用诸如打印机这种共享资源,只能通过系统调用向操作系统内核发出请求。

内核会对各个请求进行协调处理。

系统调用可以保证系统的稳定性和安全性,防止用户进行非法操作。

系统调用的处理过程

陷入指令=访管指令=trap指令

1.4 操作系统结构

操作系统内核需要运行在内核态,而非内核功能运行在用户态

2.分层法

分层法是自底向上逐层调试验证

3.模块化

优点:①任何模块都可以直接调用其他模块,而不需要采用消息传递通信,效率高

②支持动态加载新的模块

③模块间逻辑清晰

缺点:①模块间的接口定义未必合理使用

②模块间的接口规定很难满足对接口的实际需求

4.宏内核

包含进程管理、存储器管理、设备管理等功能

5.微内核

只包含时钟管理、中断处理、原语这些最接近硬件的功能

微内核的基本功能

微内核的特点

tip:宏内核和微内核的区别

6.外核

1.5 操作系统引导

1.6 虚拟机

虚拟机=虚拟机管理程序=虚拟机监控程序=Virtual Machine Monitor = Hypervisor

1.第一类虚拟机管理程序

2.第二类虚拟机管理程序

可迁移性更好,只需导出虚拟机镜像文件即可迁移到另一台HostOS上,商业化应用更广泛

1.7 本章疑难点

王道书选择题总结

1.2.7

1.3.4

一刷笔记整理:

1.6.2

第二章 进程与线程

考点6 进程与线程

考点7 进程状态与进程控制

2.进程状态转换是通过原语完成的

考点8 处理机调度

考点9 进程同步与互斥

①单标志法:违背空闲让进

②双标志先检查法:违背了忙则等待

双标志后检查法:违背了空闲让进、有限等待

③皮特森算法:违背了让权等待

2.信号量机制

考点10 经典同步问题

1.生产者消费者问题

能否改变两个P操作的顺序?

2.读者写者问题

写优先:

3.哲学家进餐问题

王道书知识点总结

2.1 进程与线程

(1)为什么要引入进程?

(2)什么是进程?进程有什么组成?

程序是静态的,而进程是动态的,是程序的一次执行过程(同一个程序多次执行对应多次进程)

2.当进程被创建时,操作系统会为该进程分配一个唯一的、不重复的"身份证号"------PID(即进程ID)

①操作系统要记录PID,进程所属用户ID(UID)[可以让操作系统区分各个进程]

②还要记录给进程分配了哪些资源(如分配了多少内存、正在使用哪些I/O设备、哪些文件)[可用于实现操作系统对资源的管理]

③还要记录进程的运行情况(如CPU使用时间、磁盘使用情况、网络流量使用情况)[可用于实现操作系统对进程的控制调度]

3.进程的特征

4.进程是进程实体的运行过程

一个进程实体(进程映像)由PCB、程序段和代码段组成

进程是动态的,而进程实体(进程映像)是静态的

5.进程的组成

①进程控制块

②程序段

③数据段

注:同时挂3个qq号,会对应3个qq进程,它们的PCB、数据段各不相同,但程序段的内容都是相同的(都是运行相同的qq程序)

PCB、数据段是给进程自己用的,与进程自身的运行逻辑有关

6.进程的状态与切换

7.进程控制

原语的原子性由"关中断指令"和"开中断指令"这两个特权指令实现原子性

CPU执行了关中断指令之后,就不再例行检查中断信号,知道执行开中断指令之后才会恢复检查

8.进程的通信

①共享存储

②消息传递

③管道通信

9.线程和多线程模型

有的进程可能需要同时做很多事,而传统的进程只能串行地执行一系列程序。为此,引入线程,来增加并发度

①线程的基本概念

②线程与进程的比较

引入线程后,进程是资源分配的基本单位,而线程是调度的基本单位

③线程的属性

④线程与进程的状态转换

⑤线程的组织与控制

⑥线程的实现方式

用户级线程

内核级线程

组合方式

⑦多线程模型

王道书选择题总结

2.1.8

2.2.7

先来先服务调度算法有利于CPU繁忙型算法,不利于IO繁忙型算法

2.3.8

管程

2.4.6

死锁预防只需要破坏死锁产生的四个条件之一即可:

①破坏互斥的条件

②破坏不可剥夺条件

③破坏请求或保持条件

④破坏循环等待的条件

为了破坏循环等待条件,可以采用顺序资源分配法。首先给系统的各类资源编号,规定每个进程必须按编号递增的顺序请求资源,同类资源一次申请完。

也就是说,一个进程只在已经占有小编号的资源时,才有资格申请更大编号的资源。按此规矩,已持有大编号资源的进程不可能再逆向申请小编号的资源,因此不会产生循环等待现象。

死锁产生的两个原因:

①系统资源的竞争

②进程推进顺序非法

我忽略了一种情况,即x=0,y=z=1

资源分配图不能完全简化,称为死锁定理。

死锁定理用于死锁检测。

死锁预防可能会限制用户申请资源的顺序(破坏循环等待条件)

第三章 内存管理

3.1.7

静态重定位在装入时一次完成,动态重定位在执行时进行

群u锐评:

3.2 虚拟内存管理

1.虚拟技术的实现

2.虚拟内存的分配

3.调页相关

4.FIFO页面置换算法会出现当进程分配的物理块增多,缺页次数不减反增的异常现象,称为Belady异常

5.CLOCK算法

6.工作集

7.内存映射文件

3.2.10

第四章 文件管理

4.1.8

4.2.7

4.3.7

第五章 输入/输出(I/O)管理

5.1.6

5.2 设备独立性软件

①单缓冲

②双缓冲

③循环缓冲

④缓冲池

2.设备分配

4.设备分配步骤

5.逻辑设备名到物理设备名的映射

6.SPOOLing技术

7.设备驱动程序接口

5.2.7

5.3.6


操作系统强化一轮完毕。祝各位一战成硕!

相关推荐
lsnm1 小时前
<刷题笔记> 二叉搜索树与双向链表注意事项
数据结构·笔记·链表
zhaoyushi001 小时前
python自学笔记
windows·笔记·python
清流君2 小时前
【自动驾驶】控制算法(九)深度解析车辆纵向控制 | 从算法基础到 Carsim 仿真实践
人工智能·笔记·算法·自动驾驶·控制算法
凭栏落花侧2 小时前
现代前端框架实战指南:React、Vue.js、Angular核心概念与应用
前端·vue.js·经验分享·笔记·学习·react.js·前端框架
笑鸿的学习笔记3 小时前
qt-C++笔记之作用等同的宏和关键字
c++·笔记·qt
freexyn3 小时前
Matlab自学笔记36:日期时间型的概念、分类和创建方法
数据结构·笔记·算法·matlab
W u 小杰4 小时前
Docker学习笔记
笔记·学习·docker
~在杰难逃~5 小时前
Day23笔记-Day21和Day22作业讲解&单例类
开发语言·笔记·python·pycharm·数据分析
笑鸿的学习笔记6 小时前
git笔记之在多个分支中复用某个分支提交的更改
笔记·git