[操作系统入门] 零散知识点
个人导航
知乎:https://www.zhihu.com/people/byzh_rc
CSDN:https://blog.csdn.net/qq_54636039
注:本文仅对所述内容做了框架性引导,具体细节可查询其余相关资料or源码
参考文章:各方资料
目录
- [[操作系统入门] 零散知识点](#[操作系统入门] 零散知识点)
- 个人导航
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
1
操作系统安全:
- 设计安全
- 使用安全
2
计算机通电后, 操作系统被加载到RAM中
BIOS负责初始化硬件并启动引导程序
引导程序将os加载到RAM中
3
系统调用system call:
一次从用户态到内核态,再返回用户态的切换
- 操作系统内核运行在最高的内核态,可以执行任何CPU指令,直接访问所有硬件
- 普通应用程序运行在受限制的用户态,只能执行非特权指令。
系统调用机制强制所有对硬件和关键资源的访问都必须经过内核的检查和授权,从而保证了系统的安全与稳定
4
进程与线程的区别:
| 维度 | 进程 | 线程 |
|---|---|---|
| 资源分配 | 独立内存空间、系统资源 | 共享同一进程的资源 |
| 切换开销 | 大(需保存整个上下文) | 小(仅保存线程私有数据) |
| 通信方式 | 复杂(如管道、消息队列) | 简单(直接读写共享内存) |
| 独立性 | 进程崩溃不影响其他进程 | 线程崩溃可能导致进程终止 |
5
虚拟存储管理方案:
- 控件划分为固定大小的页或段
- 仅加载当前需要的页面到物理内存
- 缺页中断时, 按照算法换入所需页面
- 通过页表将虚拟地址映射到物理地址
6
提高磁盘读写文件速度的方法:
- 磁盘缓冲Cache: 多访问内存
- 磁盘调度算法SCAN: 电梯调度算法
- RAID: 并行读写多块磁盘
7

安全: D->E->A->B->C
8

能放三个页, 第0页已经在主存了
算好后别忘了, 头两次插入页也算缺页中断!!! 虽然它不是置换, 但是插入也算的
9

1010 mod 1024 = 1010
int(1010 / 1024) = 1 -> 查表得到2
-> 2x1024+1010=3058
5120 mod 1024 = 0
int(5120 / 1024) = 5 -> 缺页中断
10

11

多道程序设计技术:
同时加载多个程序到内存中, 使CPU和I/O设备在等待I/O操作时能够执行其他程序
12

9 % 4 = 2 ... 1
这个余数1依次处理了各个进程
13

逻辑设备名: 程序员在代码中使用的设备标识符
物理设备名: 实际硬件设备的标识符, 在系统内部使用
14

| 死锁预防 | 死锁避免 | 死锁检测 |
|---|---|---|
| 限制 用户申请资源的顺序 | 不限制 用户申请资源的顺序 | 不限制 用户申请资源的顺序 |
| 不需要 进程运行所需资源总量信息 | 需要 进程运行所需资源总量信息 | 不需要 进程运行所需资源总量信息 |
| 不给 可能导致死锁的进程分配资源 | 给 可能导致死锁的进程分配资源 | |
| e.g.银行家算法, 安全or不安全 | e.g.资源分配图 |
15



16


17

18
周转时间: 一个进程从提交给系统(即准备就绪)开始,到该进程完成运行所经历的总时间

19

20

21
资源分配的基本单位: 进程
调度的基本单位: 线程 if exist(线程) else 进程

22

23

24

2 -> 同一个程序完全可以被同时运行多次,从而创建出多个不同的进程
3 -> 阻塞态不能直接转换为运行态, 就绪态不能直接转换为阻塞态
25

26

27

28
索引表 本身占用一个大小为1024字节的盘块, 每个索引表项 (一个盘块地址)占用3字节。
-> 所以最多能存放的地址数为:
1024 字节 / 3 字节/地址 ≈ 341.33
10个直接地址 -> 10*1K=10K
1个一次间接地址 -> 341K
1个二次间接地址 -> 341x341K
1个三次间接地址 -> 341x341x341K
