王道考研 操作系统学习笔记(复习用):
课程链接:https://www.bilibili.com/video/BV1YE411D7nH
1.1.1:
介绍操作系统的定义,可理解为软硬件中间层,管理处理机、存储器、文件、设备四大资源。
1.1.2:
操作系统(os)的特征:并发、共享、虚拟、异步;前两点是后两点的基础
1.1.3:
回顾os发展并给出分类:手工、批处理、分时、实时、网络、分布式、个人计算机
1.1.4:
os运行机制和体系结构:指令特权与否,cpu核心态用户态,程序内外之分;时钟,中断,原语的概念;大内核和微内核的区别。
1.1.5:
中断:用以实现并发,cpu会进入核心态,有内外中断之分。
1.1.6:
系统调用:os留给应用程序的借口,会使处理器进入核心态,库函数可能是系统调用借口的进一步封装。
2.1.1:
进程介绍:理解为系统资源分配和调度的一个单位。os用PCB记录管理进程信息。
2.1.2:
进程状态:创建、就绪、运行、阻塞、终止,以及其转换关系。
2.1.3:
进程控制:用不可中断的原语来操作。
2.1.4:
进程通信:共享存储、管道通信、消息传递;前两者注意互斥访问;管道貌似实在共享存储基础上添加读写约束,其他概念差不太多(待核实);消息传递依赖原语?
2.1.5:
线程:系统处理机调度的单位,注意比较进程;线程有内核级、用户级的区别;多线程模型有多对一、一对一、多对多之分(指用户线程对内核线程)。
2.2.1:
处理机调度层次:高级(作业)、中级(内存)、低级(进程);发生频率由低到高。
2.2.2:
进程调度:切换需要上下文保存,现场恢复;方式分为剥夺(抢占)和非剥夺(非抢占)
2.2.3:
调度算法评价指标:cpu利用率,系统吞吐量,周转时间(子类是重点),等待时间,相应时间
2.2.4-5:
调度算法:
FCFS: First come, first serve;
SJF/SPF: Shortest job first;有饥饿可能;
HRRN: High response ratio first (高响应比优先);
RR: Round-Robin(时间片轮)
Priority Scheduling (优先级调度)
Multi-level Feedback Queue Scheduling Policy(多级反馈队列调度:时间片轮和优先级队列的结合,队列优先级从高到低,队列时间片大小由小到大)
2.3.1:
进程同步与互斥:同步为了解决异步带来的问题;互斥则是为临界资源的访问所需要;互斥操作过程:上锁、访问、解锁、其他处理;互斥原则:空闲让进、忙则等待、有限等待、让权等待;
2.3.2:
互斥软件方法:单标志、双标志先检查、双标志后检查、Peterson算法;(问题在于软件难以解决操作被中断问题)
2.3.3:
互斥硬件方法:中断屏蔽:TestAndSet指令;Swap指令;(实质在于硬件解决了操作强制连续性)
2.3.4:
信号量机制:分析事件确定信号量,根据互斥同步分类确定P、V操作位置;
2.3.5:
用信号量机制实现:
互斥:先P后V
同步:前操作之前V,后操作之后P
前驱:本质是同步问题
2.3.6-10:
生产者-消费者问题、多生产者-多消费者、问题吸烟者问题、读者-写者问题、哲学家进餐问题
2.4.1-4:
死锁:进程相互等待各自手里资源导致都阻塞;
死锁必要条件:互斥,不可剥夺,请求和保持,循环等待;
静态预防死锁:提前破坏这些条件;
动态预防死锁:安全序列的概念和银行家算法;
死锁检测:资源分配图,可用图论中的度矩阵和出入度的概念来判断;
死锁解除:剥夺资源;撤销进程;进程回退
3.1.1:
内存概念、逻辑地址(相对地址)和物理地址(绝对地址);程序过程:编写,编译,链接,装入内存。
3.1.2:
内存管理的一些概念:空间分配与回收、扩充、地址转换、存储保护
3.1.3:
一个程序按调用结构块划分成多块,同一时间不会被同时调用的程序块可以取最大块大小的空间存放该程序块子集,该区域称之为覆盖区;交换则是把进程从内存移动至磁盘对换区。
3.1.4:
分配管理方式:单一连续分配、固定分区分配、动态分区分配
3.1.5:
动态分区分配算法:首次适应、最佳适应、最坏适应、领近适应
3.1.6:
连续分配确定促使了分页存储的诞生;
基本概念:页框,页帧,内存卡,物理块,页,页面,页号,页内偏移量,页表
3.1.7:
地址变换相关:页表寄存器用于存放起始地址和页表长度,
地址变换过程:逻辑地址–页号和页内偏移量–页表项–内存块号、页内偏移量–物理地址
3.1.8:
快表机制:空间换时间
3.1.9:
两级页表甚至多级页表:解决页表项过多问题,使得各级页表大小不超过一个页面;疑难点:多级地址变换
3.1.10:
分段式存储管理方式:程序按逻辑方式分段存储
3.1.11:
段页式管理方式:程序按逻辑方式分段,再在每段按照页表方式管理
3.2.1:
虚拟内存:从逻辑上扩充内存,动态调入换出数据。在原有存储管理基础上引入请求概念。
3.2.2:
请求分页管理方式:在基本分页管理的页表上添加一些记录性表项,缺页中断从外存调页。
3.2.3:
页面置换算法:
OPT : 最佳置换,淘汰最长时间内不再被使用的页面
FIFO:先进先出置换,淘汰最先进入内存的页面
LRU:least recently used, 淘汰最近最久未使用的页面
CLOCK(NRU):又称之为最近未用算法,环形链表扫描动作类似时钟
改进型CLOCK:添加是否被修改过的标志位,因为只有被淘汰且被修改过的页面需要写回外存。
3.2.4:
页面分配策略:固定分配、可变分配、局部置换、全局置换、固定分配局部置换、可变分配全局置换、可变分配局部置换;何时何处调页;抖动现象如何修正;
4.1.1:
文件管理基本概念:定义、属性、逻辑结构、目录结构、操作系统文件操作功能设计、外存存储物理结构、空间管理、共享与保护
4.1.2:
文件逻辑结构:顺序文件、索引文件、索引顺序文件
4.1.3:
文件目录:FCB记录表示一个文件,多个FCB组成文件目录。
目录结构:单级目录、两级目录、树形目录、无环图目录
4.1.4:
链接分配:显式和隐式
索引分配
4.1.5:
文件存储空间管理:空间划分和初始化;存储:空闲表法、空闲链表法、位示图法、成组链接法
4.1.6:
文件操作:建、删、开、关、读、写
4.1.7:
文件共享:硬链接、软链接
4.1.8:
文件保护:口令保护、加密保护、访问控制
4.1.9:
文件系统层次:用户接口–目录系统–存储控制–逻辑文件和缓冲区–物理文件–设备管理程序–辅助分配
4.2.1:
磁盘一些概念:磁盘、磁道、扇区、盘面、盘柱
4.2.2:
磁盘一些调度算法:FCFS、SSTF、SCAN、C-SCAN、LOOK、C-LOOK
4.2.3:
减少延迟时间方法:交替编号、错位命名。这些是因为同一磁头无法连续读取相邻扇区数据
4.2.4:
磁盘管理:初始化、引导块、坏块管理
5.1.1:
IO设备的概念和分类
5.1.2:
IO控制器的组成和功能
5.1.3:
IO控制方式:直接控制、中断控制、DMA方法、通道控制
5.1.4:
IO软件层次:用户层软件–设备独立性软件–设备驱动程序–中断处理程序–硬件;中间三部分软件属于操作系统内核部分,称之为IO核心子系统
5.1.5:
假脱机技术
5.1.6:
设备分配与回收
5.1.7:
缓冲区管理:单缓冲、双缓冲、循环缓冲、缓冲池