1、操作系统基础
OS的5个核心功能:进程管理、存储管理、设备管理、文件管理、作业管理
OS的3个作用:管理运行的程序和分配各种软硬件资源;提供友善的人机界面;为程序应用的开发和运行提供高效的平台
OS的4个特征:并发性、共享性、虚拟性、不确定性
OS分类:批处理OS、分时OS、实时OS、网络OS、分布式OS、微型计算机OS(Windows\MacOS\Linux)、嵌入式OS、微内核OS
嵌入式OS主要特点:微型化、可定制、实时性、可靠性、可移植性
**2、嵌入式系统初始化顺序:**自底向上、从硬件到软件的次序依次为:片级初始化 → 板级初始化 → 系统初始化
3、进程管理
进程:进程控制块PBC、程序、数据
进程调度状态转换3态图:
进程调度状态转换5态图:
4、前驱图和进程资源图:
前驱图 :
进程资源图:
P -> R:表示申请/等待;
R -> P:表示分配给了一个进程.
5、PV信号量
进程的同步与互斥:临界资源/临界区/信号量(互斥信号量/同步信号量)
P操作:申请资源:S = S - 1,P(S)
V操作:释放资源:S = S + 1,V(S)
S>0 表示资源个数;S<0 表示有多少个进程在等待
生产者消费者问题:
互斥信号S0(使用者);同步信号S1(仓库空闲个数);同步信号S2(仓库商品数)
|---------------------------------------|--------------------------------|
| 生产者 | 消费者 |
| 生产商品S P(S0) P(S1) 商品放入仓库中 V(S2) V(S0) | P(S0) P(S2) 取出一个商品 V(S1) V(S0) |
进程调度:可剥夺式、不可剥夺式
先来先服务FCFS、时间片轮转、优先级调度(优先级队列)、多级反馈调度
6、死锁:
产生死锁的4个必要条件:资源互斥、进程占有资源并等待其他资源;系统不能剥夺资源;进程资源图是一个环路
死锁防御、死锁避免、死锁检测、死锁解锁
死锁资源计算(假设,n个进程,每个进程都需要R个资源)
发生死锁的最大资源数为:n(R - 1),即每个P都刚好少一个R
不发生死锁的最小资源数:n(R - 1 )+ 1
银行家算法(结合实例)
进程:拥有资源的独立单位;线程:作为调度和分配的基本单位
7、分页存储管理:
不用一次性全给程序,分批调度
地址:页号 + 页内地址
页号就是告诉有多少个页,即页的个数;页内地址则表示页的大小;
优点:利用率高,碎片小,分配管理简单,
缺点:增加了系统开销,可能产生抖动现象
地址组成:页地址 + 页内偏移地址
物理地址:物理块号 + 页内偏移地址(外存地址)
逻辑地址:页号 + 页内偏移地址(页内地址)
所以,逻辑地址转物理地址方法:页内地址不变,页号通过页表查映射关系即可
快表:快速的页面(最常用的部分,Cache)
页面置换算法:最优算法、先进先出、最近最少使用
淘汰原则:先看访问,没被访问的优先淘汰;再看修改,没被修改的优先淘汰。
8、分段存储管理:
段号 + 段内地址 (分段管理一般只考是否为合法的地址,不考如何转换)
优点:多道程序共享内存,互不影响
缺点:内存利用率低,内存碎片浪费大
**9、段页式管理:**先分段,再分页
优点:空间浪费小,存储空间共享容易,存储
10、设备管理
I/O请求:用户进程 --> 设备无关软件 -> 设备驱动程序 -> 中断处理程序 -> 硬件
Spooling技术(外围设备联机操作技术):两个数据缓冲区,输入井、输出井
11、文件管理
索引文件结构:
直接索引:索引节点存放的就是内容(物理盘块),一个物理盘块的大小,如:4KB * N
一级间接索引:存放的是链接到直接物理的盘块的地址;如:4KB/4B * 4KB * N
二级间接索引:4KB/4B * 4KB/4B * 4KB * N
文件目录:相对路径/绝对路径/全文件名路径
空闲区表、位示图、空闲块链、成组链接法
位示图:bit位,每一位对应文件存储器上的物理块: