操作系统

本文最后更新于:2024年1月22日 中午

操作系统

磁盘管理

进程管理

进程的状态

试题:某计算机系统中的进程管理采用三态模型,那么下图所示的 PCB(进程控制块)的组织方式采用(1 ),图中(2 )。

进程的同步与互斥

互斥:如千军万马过独木桥 同步:速度有差异,在一定情况下停下等待。

  • 临界资源:诸进程间需要互斥方式对其进行共享的资源,如打印机、磁带机等。
  • 临界区:每个进程中访问临界资源的那段代码称为临界区。
  • 信号量:是一种特殊的变量。

试题一:看完了进程同步与互斥机制,我终于彻底理解了 PV 操作

试题二:某航空公司机票销售系统有n个售票点,该系统为每个售票点创建一个进程Pi(i=1,2,…,n)管理机票销售。假设Tj(j=1,2,…,m)单元存放某日某航班的机票剩余票数,Temp为Pi进程的临时工作单元,x为某用户的订票张数。初始化时系统应将信号量S赋值为( )。Pi进程的工作流程如下图所示,若用P操作和V操作实现进程间的同步与互斥,则图中空(a),空(b)和空(c)处应分别填入( )。

死锁

死锁的预防→打破四大条件:

  • 互斥
  • 保持和等待
  • 不剥夺
  • 环路等待

死锁的避免:

  • 有序资源分配法
  • 银行家算法

死锁产生的四个必要条件?如何避免和预防死锁产生?

操作系统——银行家算法(Banker's Algorithm)

存储管理

页式存储

页式存储:将程序与内存均划分为同样大小的块,以页为单位将程序调入内存。

高级程序语言使用逻辑地址; 运行状态,内存中使用物理地址。

物理块号又称页帧号。

\[逻辑地址=页号+页内地址\]

\[逻辑地址=页帧号+页内地址\]

例如,页式存储系统中,每个页的大小为4KB。 逻辑地址: 10 1100 1101 1110 对应的物理地址为: 110 1100 1101 1110

优点:利用率高,碎片小,分配及管理简单。 缺点:增加了系统开销;可能产生抖动现象。

页号(逻辑) 页帧号(物理) 状态位 访问位 修改位
高级程序语言中使用 内存中使用 1:在内存中 0:不在内存中 1:最近访问过 0:最近未被访问 1:内容被修改过 0:内容未被修改

试题

段式存储

段式存储:按用户作业中的自然段来划分逻辑空间,然后调入内存,段的长度可以不一样。

优点:多道程序共享内存,各段程序修改互不影响。 缺点:内存利用率低,内存碎片浪费大。

试题

段页式存储

段页式存储:段式与页式的结合体。先分段,再分页。1个程序有若干个段,每个段中有若干个页,每个页的大小相同,但每个段的大小不同。

优点:空间浪费小、存储共享容易、存储保护容易、能动态连接。 缺点:由于管理软件的增加,复杂性和开销也随之增加,需要的硬件以及占用的内存也有所增加,使得执行速度大大下降。

快表

快表是一块小容量的相联存储器(Associative Memory),由高速缓存器组成,速度快,并且可以从硬件上保证内容并行查找,一般用来存放当前访问最频繁的少数活动页面的页号。

  • 快表:将页表存于Cache上
  • 慢表:将页表存于内存上

文件管理

索引文件结构

  • 直接索引
  • 一级间接索引
  • 二级间接索引
  • 三级间接索引

试题

位示图

  • 空闲区表法(空闲文件目录)
  • 空闲链表法
  • 位示图法
  • 成组链表法

操作系统—文件管理

嵌入式系统开发设计

交叉开发环境

  • 宿主机系统
    • 交叉编译器
    • 交叉链接器
    • 调试器
  • 目标机系统
    • 动态装载器
    • 链接装载器
    • 调试监视器
    • 调试代理

嵌入式操作系统

  1. 嵌入式操作系统特点:
    1. 微型化
    2. 代码质量高
    3. 专业化
    4. 实时性强
    5. 可裁剪、可配置
  2. 实时嵌入式操作系统的内核服务有:
    1. 异常和中断
    2. 计时器
    3. I/O管理

实时操作系统

常见的嵌入式RTOS(实时操作系统,Real-Time OperatingSystem)

  • VxWorks
  • RT-Linux
  • QNX
  • pSOS
比较类型 VxWorks RT-Linux
工作方式 操作系统与应用程序处于同一存储空间 操作系统与应用程序处于不同存储空间
多任务支持 支持多任务(线程)操作 支持多进程、多线程操作
实时性 实时系统 实时系统
安全性 任务间无隔离保护 支持进程间隔离保护
标准API 支持 支持

微内核操作系统

实质 优点 缺点
单体内核 将图形、设备驱动及文件系统等功能全部在内核中实现,运行在内核状态和同一地址空间。 减少进程间通信和状态切换的系统开销,获得较高的运行效率。 内核庞大,占用资源较多且不易剪裁。系统的稳定性和安全性不好。
微内核 只实现基本功能,将图形系统、文件系统、设备驱动及文件系统等功能放在内核之外。 内核精练,便于剪裁和移植。系统服务程序运行在用户地址空间,系统的可靠性、稳定性和安全性较高。可用于分布式系统 用户状态和内核状态需要频繁切换,从而导致系统效率不如单体内核。

操作系统
https://realwujing.github.io/architect/操作系统/
作者
Wu Jing
发布于
2023年4月21日
许可协议