软考高级系统架构设计师备考分享:操作系统核心知识点整理

在备战软考高级系统架构设计师的过程中,操作系统作为核心考点之一,需要系统性地掌握其核心原理。本文将从操作系统分类、进程状态模型、同步互斥机制、死锁问题及存储管理五大模块展开梳理,结合考试高频考点和实际案例进行解析。


一、操作系统分类

  1. 批处理操作系统

• 单道批处理:一次仅执行一个作业,CPU利用率低。

• 多道批处理:允许多个作业驻留内存,通过作业调度算法(如先来先服务、短作业优先)提高资源利用率。

• 特点:支持外设与CPU并行工作,但交互性差。

  1. 分时操作系统

• 核心机制:将CPU时间划分为时间片,轮流分配给多个终端用户。

• 优势:响应时间快,支持多用户交互(如Linux、Unix)。

  1. 实时操作系统

• 分类:硬实时(严格截止时间)与软实时(允许延迟)。

• 应用场景:工业控制、航空航天等对时效性要求高的领域。

  1. 网络操作系统

• 功能:支持网络资源共享(如文件共享、打印服务),管理网络通信。

• 典型架构:集中式、客户端/服务器模式、对等模式。

  1. 分布式操作系统

• 特点:无主从之分,多台计算机通过通信协同工作,可靠性高。

• 与网络操作系统的区别:分布式系统强调资源的统一管理和透明访问。


二、进程状态模型

  1. 三态模型

• 运行态:进程占用CPU执行。

• 就绪态:进程具备运行条件,等待CPU分配。

• 阻塞态:进程因等待I/O等事件无法执行。

• 状态转换:

运行态 ``↔`` 就绪态(时间片用完/高优先级进程抢占)

就绪态 → 阻塞态(等待资源)

阻塞态 → 就绪态(资源就绪)。

  1. 五态模型

• 新增状态:

• 静止就绪态:进程被挂起但可被唤醒(如人为暂停任务)。

• 静止阻塞态:进程因资源不足被挂起。

• 转换路径:

活跃就绪 ``↔`` 静止就绪(挂起/恢复)

活跃阻塞 ``↔`` 静止阻塞(资源满足/不满足)。


三、同步与互斥机制

  1. 信号量与PV操作

• 信号量:整型变量,初值表示可用资源数。

• P操作:申请资源(S=S-1,若S<0则阻塞)。

• V操作:释放资源(S=S+1,若S≤0则唤醒等待进程)。

  1. 互斥控制

• 临界区保护:通过互斥信号量(初值=1)确保同一时间仅一个进程进入临界区。

复制代码
P(mutex);
// 临界区代码
V(mutex);
  1. 同步控制

• 生产者-消费者问题:

使用两个信号量empty(缓冲区空位)和full(缓冲区产品数)协调生产与消费节奏。


四、死锁问题

  1. 死锁定义

• 多个进程因竞争资源形成循环等待,导致所有进程无法继续执行。

  1. 必要条件

• 互斥:资源独占使用。

• 请求与保持:进程持有资源同时申请新资源。

• 不可剥夺:资源未使用完前不可强制回收。

• 循环等待:进程间形成资源依赖环。

  1. 解决方法

• 预防:破坏必要条件(如一次性分配资源)。

• 避免:银行家算法动态检测资源分配安全性。

• 检测与解除:资源分配图法、进程终止/资源抢占。

银行家算法示例

• 步骤:

  1. 检查进程最大需求是否超过系统总资源。
  2. 分配资源后模拟运行,判断是否进入安全状态。
  3. 若安全则分配,否则等待。

五、存储管理

  1. 核心任务

• 内存分配与回收、地址映射、保护与共享、虚拟内存扩展。

  1. 地址转换

• 逻辑地址:程序生成的地址(由段号和页号组成)。

• 物理地址:实际内存地址,通过基址寄存器+偏移量计算。

  1. 重定位方式

• 静态重定位:程序加载时完成地址转换。

• 动态重定位:运行时通过MMU实时转换。

  1. 内存管理技术

• 分页:将内存划分为固定大小页,通过页表映射逻辑页到物理页。

• 分段:按程序逻辑划分段(如代码段、数据段),支持动态扩展。

• 段页式:结合分段和分页,先分段再分页,提高内存利用率。

相关推荐
小哈里1 天前
【执行】个人操作系统架构图 v1(硬件层,OS层,软件层,Agent层,横向控制面)
系统架构·操作系统·agent·架构图·执行
励志不掉头发的内向程序员1 天前
【LibreCAD 2D架构】从鼠标点击到图形创建:RS_ActionDrawLine交互流程与状态机解析
开发语言·c++·qt·学习·系统架构·计算机外设·交互
m0_587383001 天前
24小时自助健身系统源码实战:从架构设计到部署落地
java·架构·系统架构·需求分析
励志不掉头发的内向程序员1 天前
【LibreCAD 2D架构】从两个坐标到图形实体:RS_ActionDrawLine如何创建RS_Line
开发语言·c++·qt·学习·系统架构
枫叶林FYL2 天前
【群体智能集群控制工程实践】第9章 无人舰队系统架构设计
系统架构
PHP实战开发录2 天前
PHP权限系统设计为什么越改越复杂
系统架构·php·开发
微三云生态系统架构师-彭丹2 天前
大健康代言人裂变体系设计:从用户裂变路径到消费转化的技术实现
系统架构
m0_587383003 天前
点餐预约核销系统的架构脉络
java·架构·系统架构·需求分析
DreamLife☼3 天前
复杂Agent系统架构设计
系统架构·wpf·agent·组件·设计·构架·说明
blue_dou3 天前
从技术债看CRM选型:2026年主流系统架构成熟度与迭代能力对比
系统架构