# 操作系统

4-7分
1. 进程管理
2. 存储管理
3. 文件管理
4. 作业管理
5. 设备管理

# 进程管理🌟🌟🌟

PV操作,超级超级超级重要
# 进程和线程的区别
  • 线程共享:内存地址空间、代码、数据、文件等。
  • 非线程共享:程序计数器、寄存器、栈
# 进程的状态
  • 三态模型:就绪-运行-阻塞。阻塞态不能直接到运行态。运行态不能直接到就绪态。阻塞态没有CPU状态,也没有非CPU资源。
  • 首先考虑非CPU资源,非CPU资源满足条件才会考虑CPU资源。等待事件是等待非CPU资源释放。
# 前趋图🌟

= =

# 同步与异步

CPU访问内存通常是同步方式

CPU与I/O接口交换信息通常是同步方式

CPU与PCI总线交换信息通常是同步方式

I/O接口与打印机交换信息则通常采用基于缓存池的异步方式

# 信号量与PV操作🌟
  • 互斥:会存在一个共享使用的资源,但是某一时刻只能一个进程使用,临界资源的互斥访问
  • 同步:速度有差异,在一定情况停下等待。
  • 直接制约:由进程顺序制约,同步
  • 间接制约:由资源制约,互斥
  • 临界资源:诸进程中需要护持方式对其进行共享的资源,如打印机、磁带机等
  • 临界区:每个进程中访问临界资源的那段代码称为临界区
  • 信号量:一种特殊的全局变量
  • P操作:申请并占用资源、锁定资源,S<0的时候才阻塞
  • V操作:释放资源

生产者和消费者就是典型的协同现象。

# 死锁四大条件
  • 互斥
  • 保持和等待
  • 不剥夺
  • 环路等待
# 银行家算法
  • 当一个进程对资源的最大需求量不超过系统中的资源数时可以接纳该进程。
  • 进程可以分期请求资源,但请求的总数不能超过最大需求量
  • 当系统现有的资源不能满足进程尚需资源数时,对进程的请求可以推迟分配,但总能使进程在有限的时间里得到资源

# 存储管理🌟🌟🌟

- CPU->Cache->内存->外存
- 用的时候通过局部性原理支撑,将外存内容调到内存,统称虚拟化存储
- 页式存储/段式存储/段页式存储
# 页式存储组织
  • 优点:利用率高,碎片小,分配及管理简单
  • 缺点:增加了系统开销;可能产生抖动现象
  • 逻辑地址=页号+页内地址
  • 物理地址=页帧号+页内地址(物理块号又称为页帧块)
  • 优先淘汰访问位为0,其次考虑修改位为0
# 段式存储组织
  • 按用户作业中的自然段来划分逻辑空间,然后调入内存,段段长度可以不一样。
  • 优点:多道程序共享内存,各段程序修改互不影响。
  • 缺点:内存利用率低,内存碎片浪费大。
  • 逻辑地址:(段号,段内偏移量)
# 段页式存储组织
  • 段式与页式的综合体,先分段,再分页。
  • 优点:空间浪费小、存储共享容易、存储保护容易、能动态连接
  • 缺点:由于管理软件的增加,复杂性和开销也随之增加,需要的硬件以及占用的内容也有所增加,使得执行速度大大下降
# 快表
  • 将页表存于Cache上叫快表
  • 将页表存于内存上叫慢表

# 文件管理

文件管理的是外存里的文件。
# 索引文件🌟
  • 索引可以理解为指针、地址、盘块号
# 位示图
  • 空闲区表法
  • 空闲链表法
  • 位示图法
  • 成组链表法
# 文件和树型目录结构
  • 文件属性:R只读文件属性 / A存档属性 / S系统文件 / H隐藏文件
  • 文件名的组成:驱动器号+路径+主文件名+扩展名
  • 绝对路径:是从盘符开始的路径
  • 相对路径:是从当前目录开始的路径
# 空闲存储空间的管理
  • 文件管理:空闲区表法、空闲链表法、位示图法 成组链接法

# 作业管理

软考中从来没有出现过。

# 设备管理

# 数据传输控制方式
  • 程序控制方式:严重影响CPU。分为无条件传送和程序查询方式。
  • 程序中断方式:CPU无需等待而提高了传输请求的响应速度。
  • DMA方式:DMA方式比程序控制方式与中断方式都高效。
  • 通道方式
  • I/O处理机
# 虚设备与SPOOLING技术
  • 假脱机技术,没有真正实现脱机打印

# 微内核操作系统

实质
单体内核 将图形、设备驱动及文件系统等功能全部在内核中实现,运行在内核状态和统一地址空间。
微内核 是实现基本功能,将图形系统、文件系统、设备驱动及通信功能放在内核之外。

# 嵌入式操作系统

# 嵌入式操作系统特点
  • 1.微型化 2.代码质量高 3.专业化 4.实时性强 5.可裁剪、可配置
  • 实时嵌入式操作系统的内核服务有:异常和中断、计时器、I/O管理
  • 常见的嵌入式RTOS:VxWorks、RT-Linux、QNX、pSOS
# 板级支持包(BSP,也称为硬件抽象层HAL)

板级支持包(BSP,也称为硬件抽象层HAL)一般包含相关底层硬件的初始化、数据的输入/输出操作和硬件设备的配置等功能,它主要具有以下两个特点。 ①硬件相关性,因为嵌入式实时系统的硬件环境具有应用相关性,而作为上层软件与硬件平台之间的接口,BSP需为操作系统提供操作和控制具体硬件的方法。 ②操作系统相关性,不同的操作系统具有各自的软件层次结构,因此不同操作系统具有特定的硬件接口形式。

# JTAG接口

JTAG(Joint Test Action Group,联合测试工作组)是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试。现在多数的高级器件都支持JTAG协议,如DSP、FPGA器件等。标准的JTAG接口是4线:TMS、TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。

一般来说,嵌入式系统通常采用接口中的移位寄存器来实现数据的串/并和并/串转换操作。

上次更新: 7/27/2022, 6:03:55 PM