软件设计师考试笔记-(10)
1、操作系统基本原理
1.1、进程管理
1.1.1、进程状态
1.1.2、前趋图
为了描述一个程序的各部分间的依赖关系,或者是一个大的计算的各个子任务间的因果关系的图示。
1.1.3、进程的同步与互斥
同步->异步
互斥->共享
1.1.4、PV操作
例如:
a1(V(s1))发起付款请求给b1(P(s1)),b2收款结束(V(s2))通知a2(P(s2))付款成功
1.1.5、PV操作与前趋图
1.1.6、死锁问题
n个进程,每个进程需要m个资源,不死锁至少要有v = (m-1)*n + 1个资源。
1.1.7、银行家算法
死锁条件:
互斥
保持和等待
不剥脱
环路等待
例如:
当前剩余:2 1 0
还需:
线程 | 最大需求 | 已分配 |
---|---|---|
P1 | 5 3 1 | 7 7 5 |
P2 | 0 1 0 | 4 2 1 |
P3 | 6 0 1 | 9 8 5 |
P4 | 0 0 1 | 5 4 1 |
P5 | 2 3 1 | 6 5 4 |
安全状态:
P2-P4-P5-P1-P3
421-541-654-775-985
1.2、存储管理
1.2.1、分区存储组织
1.2.2、页式存储、段式存储、段页式存储
1.2.2.1、页式存储 ->(页号、页内地址)
4K = 2^12 12位就是A29为页内地址 5A29H -> 页号5对应物理地址6
淘汰最近没访问没修改的页面 状态位为1(0、1、2、5)中没访问的就是(1),所以淘汰1页面。
1.2.2.2、段式存储 ->(段号、段内地址)
1.2.2.3、段页式存储
1.2.2.4、快表
1.2.3、页面淘汰(置换)算法
12
5 [指令(1) A(2) B(2)]
1.3、文件管理
1.3.1、索引文件结构
假设每块索引节点大小为4K 总内存4K 13 = 52K
数据块大小1024 那么:
10个直接索引: 4K10 = 40K
1个一级索引:4K11024
1个二级索引:4K10241024
例如:
索引节点:8个 地址项大小:4字节 数据块大小:1k
直接地址索引:[0~4] 5个 0-4
一级地址索引:[5~6]2个 5-
二级地址索引:[7]1个
1K/4字节 = 1024/4 = 256个地址
261 -(256+5) + 1
5->58 261->187
101号物理地址对应二级地址索引
1.3.2、文件和树形目录结构
1.3.3、空闲存储空间管理
例如:
(4195+1)/32 = 131.125 -> 132
B
131*32 = 4192 -> 132中该字的第
0位为4192
1 4193
2 4194
3 4195