软考中级软件设计师——操作系统篇

一、操作系统核心功能与分类

  1. 五大核心功能

    • 进程管理:进程调度、同步、通信、死锁处理。

    • 存储管理:内存分配、虚拟内存、地址转换。

    • 设备管理:I/O控制、缓冲技术、设备分配。

    • 文件管理:文件结构、目录管理、磁盘空间分配。

    • 用户接口:命令接口(CLI)、程序接口(API)、图形接口(GUI)。

  2. 操作系统分类与特点

    • 批处理系统:作业成批处理,无交互,吞吐量高。

    • 分时系统:时间片轮转,多用户交互(如Linux)。

    • 实时系统

      • 硬实时:严格截止时间(如导弹控制)。

      • 软实时:允许偶尔超时(如视频播放)。

    • 微内核 vs 宏内核

      • 微内核(如Minix):仅核心功能在内核态,扩展性好。

      • 宏内核(如Linux):多数功能在内核态,性能高。

  3. 操作系统的地位

操作系统是裸机上的第一层软件,是对硬件系统功能的首次扩充。它在计算机系统中占据重要而特殊的地位,所有其他软件,如编辑程序、汇编程序、编译程序、数据库管理系统等系统软件,以及大量的应用软件都是建立在操作系统基础上的,并得到它的支持和取得它的服务。从用户角度看,当计算机配置了操作系统后,用户不再直接使用计算机系统硬件,而是利用操作系统所提供的命令和服务去操纵计算机,探作系统已成为现代计算机系统中必不可少的最重要的系统软件,因此把操作系统看作是用户与计算机之间的接口。


二、进程管理

1. 进程与线程
  • 进程三态模型:运行态、就绪态、阻塞态。

​​​​​​​

  • 线程 vs 进程

    • 进程是资源分配单位,线程是CPU调度单位。

    • 线程共享进程的地址空间和资源,切换开销小。

2. 进程同步与通信
  • 信号量(PV操作)

    • 互斥信号量 :初值为1(如 mutex=1)。

    • 同步信号量 :初值为0或资源数(如 empty=N)。

    • 经典问题

      • 生产者-消费者 :需两个信号量(emptyfull) + 互斥锁。

      • 读者-写者:写者优先 vs 读者优先。

  • 死锁

    • 四个必要条件:互斥、请求保持、不可剥夺、环路等待。

    • 处理策略

      • 预防:破坏四个条件之一(如一次性申请所有资源)。

      • 避免:银行家算法(安全状态判断)。

      • 检测与解除:资源分配图化简法。

3. 调度算法
算法 特点 缺点
FCFS 按到达顺序调度,公平 长作业等待时间长
SJF 最短作业优先,平均等待时间最短 需预知作业时间,可能饥饿
RR 时间片轮转,响应快 时间片大小影响性能
优先级调度 优先级高的先执行 低优先级可能饥饿
多级反馈队列 结合优先级和时间片,动态调整队列 实现复杂

三、存储管理

1. 内存分配
  • 连续分配

    • 固定分区:内存划分固定大小区域,易产生内部碎片。

    • 动态分区:首次适应、最佳适应、最坏适应算法。

  • 非连续分配

    • 分页:逻辑地址 = 页号 + 页内偏移,物理地址 = 页框号 + 偏移。

    • 分段:按逻辑模块划分,支持动态扩展。

    • 段页式:分段 + 分页结合。

2. 虚拟内存(必考置换算法)
  • 页面置换算法

    • OPT:理想算法,淘汰未来最久不用的页(无法实现)。

    • FIFO:先进先出,可能产生Belady异常。

    • LRU:最近最少使用,需硬件支持(如计数器或栈)。

    • CLOCK:近似LRU,环形链表标记访问位。

例题

访问序列:1, 3, 4, 2, 1, 5, 3, 2,物理块3个。

  • FIFO缺页次数:6次(替换顺序:1→3→4→2→5→3)。

  • LRU缺页次数:5次(替换顺序:4→1→5→3→2)。


四、文件系统

1. 文件结构
  • 顺序文件:连续存储,适合批量访问。

  • 索引文件:通过索引表随机访问(如UNIX多级索引)。

  • 哈希文件:直接通过哈希函数定位。

2. 磁盘调度算法(计算寻道时间)
算法 特点 示例(磁道请求:45, 83, 62, 120, 20)
FCFS 按请求顺序 总移动磁道数:55+38+21+58+100=272
SSTF 最短寻道优先 总移动:20→45→62→83→120 → 总移动=25+17+21+37=100
SCAN 电梯算法,单向扫描到底后返回 总移动:62→83→120→45→20 → 总移动=21+37+75+25=158
C-SCAN 单向扫描,直接返回起点 总移动:62→83→120→20→45 → 总移动=21+37+100+25=183

五、设备管理

1. I/O控制方式
  • 程序查询:CPU轮询设备状态,效率低。

  • 中断驱动:设备就绪后通知CPU,但频繁中断开销大。

  • DMA:直接内存访问,数据传输不经过CPU。

  • 通道控制:专用I/O处理器,独立控制多设备。

2. 缓冲技术
  • 单缓冲:CPU和设备交替使用缓冲区。

  • 双缓冲:解决速度不匹配,提高并行性。

  • 循环缓冲:多个缓冲区组成环形队列。

相关题型:https://blog.csdn.net/widder_/article/details/148117079​​​​​​​

相关推荐
冬奇Lab7 小时前
每日一个开源项目(第134篇):Zvec - 阿里开源的嵌入式向量数据库,向量搜索界的 SQLite
数据库·人工智能·llm
ClouGence18 小时前
Oracle CDC 架构优化:从主库直连到 DataGuard 备库同步
数据库·后端·oracle
无响应de神20 小时前
三、用户与权限管理
数据库·mysql
大树881 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠1 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质1 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
小宇宙Zz2 天前
Maven依赖冲突
java·服务器·maven
Inhand陈工2 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
酣大智2 天前
ARP代理--工作原理
运维·网络·arp·arp代理
麦聪聊数据2 天前
数据服务化时代:企业数据能力输出的核心路径
数据库