操作系统
本文最后更新于:2024年1月22日 中午
操作系统
磁盘管理
进程管理
进程的状态
试题:某计算机系统中的进程管理采用三态模型,那么下图所示的 PCB(进程控制块)的组织方式采用(1 ),图中(2 )。
进程的同步与互斥
互斥:如千军万马过独木桥 同步:速度有差异,在一定情况下停下等待。
- 临界资源:诸进程间需要互斥方式对其进行共享的资源,如打印机、磁带机等。
- 临界区:每个进程中访问临界资源的那段代码称为临界区。
- 信号量:是一种特殊的变量。
试题一:看完了进程同步与互斥机制,我终于彻底理解了 PV 操作
死锁
死锁的预防→打破四大条件:
- 互斥
- 保持和等待
- 不剥夺
- 环路等待
死锁的避免:
- 有序资源分配法
- 银行家算法
操作系统——银行家算法(Banker's Algorithm)
存储管理
页式存储
页式存储:将程序与内存均划分为同样大小的块,以页为单位将程序调入内存。
高级程序语言使用逻辑地址; 运行状态,内存中使用物理地址。
物理块号又称页帧号。
\[逻辑地址=页号+页内地址\]
\[逻辑地址=页帧号+页内地址\]
例如,页式存储系统中,每个页的大小为4KB。 逻辑地址: 10 1100 1101 1110 对应的物理地址为: 110 1100 1101 1110
优点:利用率高,碎片小,分配及管理简单。 缺点:增加了系统开销;可能产生抖动现象。
页号(逻辑) | 页帧号(物理) | 状态位 | 访问位 | 修改位 |
---|---|---|---|---|
高级程序语言中使用 | 内存中使用 | 1:在内存中 0:不在内存中 | 1:最近访问过 0:最近未被访问 | 1:内容被修改过 0:内容未被修改 |
试题
段式存储
段式存储:按用户作业中的自然段来划分逻辑空间,然后调入内存,段的长度可以不一样。
优点:多道程序共享内存,各段程序修改互不影响。 缺点:内存利用率低,内存碎片浪费大。
试题
段页式存储
段页式存储:段式与页式的结合体。先分段,再分页。1个程序有若干个段,每个段中有若干个页,每个页的大小相同,但每个段的大小不同。
优点:空间浪费小、存储共享容易、存储保护容易、能动态连接。 缺点:由于管理软件的增加,复杂性和开销也随之增加,需要的硬件以及占用的内存也有所增加,使得执行速度大大下降。
快表
快表是一块小容量的相联存储器(Associative Memory),由高速缓存器组成,速度快,并且可以从硬件上保证内容并行查找,一般用来存放当前访问最频繁的少数活动页面的页号。
- 快表:将页表存于Cache上
- 慢表:将页表存于内存上
文件管理
索引文件结构
- 直接索引
- 一级间接索引
- 二级间接索引
- 三级间接索引
试题
位示图
- 空闲区表法(空闲文件目录)
- 空闲链表法
- 位示图法
- 成组链表法
嵌入式系统开发设计
交叉开发环境
- 宿主机系统
- 交叉编译器
- 交叉链接器
- 调试器
- 目标机系统
- 动态装载器
- 链接装载器
- 调试监视器
- 调试代理
嵌入式操作系统
- 嵌入式操作系统特点:
- 微型化
- 代码质量高
- 专业化
- 实时性强
- 可裁剪、可配置
- 实时嵌入式操作系统的内核服务有:
- 异常和中断
- 计时器
- I/O管理
实时操作系统
常见的嵌入式RTOS(实时操作系统,Real-Time OperatingSystem)
- VxWorks
- RT-Linux
- QNX
- pSOS
比较类型 | VxWorks | RT-Linux |
---|---|---|
工作方式 | 操作系统与应用程序处于同一存储空间 | 操作系统与应用程序处于不同存储空间 |
多任务支持 | 支持多任务(线程)操作 | 支持多进程、多线程操作 |
实时性 | 实时系统 | 实时系统 |
安全性 | 任务间无隔离保护 | 支持进程间隔离保护 |
标准API | 支持 | 支持 |
微内核操作系统
实质 | 优点 | 缺点 | |
---|---|---|---|
单体内核 | 将图形、设备驱动及文件系统等功能全部在内核中实现,运行在内核状态和同一地址空间。 | 减少进程间通信和状态切换的系统开销,获得较高的运行效率。 | 内核庞大,占用资源较多且不易剪裁。系统的稳定性和安全性不好。 |
微内核 | 只实现基本功能,将图形系统、文件系统、设备驱动及文件系统等功能放在内核之外。 | 内核精练,便于剪裁和移植。系统服务程序运行在用户地址空间,系统的可靠性、稳定性和安全性较高。可用于分布式系统 | 用户状态和内核状态需要频繁切换,从而导致系统效率不如单体内核。 |