当前位置: 首页 > backend >正文

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

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


一、操作系统分类

  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. 内存管理技术

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

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

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

http://www.xdnf.cn/news/5071.html

相关文章:

  • QML AnimatedImage组件详解
  • SAP note 3565626 : Baltimore CyberTrust 根证书即将过期
  • AGV通信第3期|AGV集群智能应急响应系统:从故障感知到快速恢复
  • 微信小程序地图缩放scale隐性bug
  • 记忆化搜索
  • workbench fluent动画
  • 2025年现代职业教育质量提升计划(植保无人机实训室)解决方案
  • 【基础】模型上下文协议(Model Context Protocol, MCP)根本原理与工作机制详解
  • “点对点通信(Point-to-Point)”和“端对端通信(End-to-End)”
  • 高性能编程相关
  • 机器学习第三讲:监督学习 → 带答案的学习册,如预测房价时需要历史价格数据
  • auto推导类型原则
  • 【深度学习新浪潮】苹果在显示算法技术上的研发进展调研
  • 多模态AI新纪元:Vertex AI Gemini与Spring AI深度集成实践
  • 汽车租赁|基于Java+vue的汽车租赁系统(源码+数据库+文档)
  • [春秋云镜] Brute4Road 仿真场景
  • 用 Rust 搭建一个优雅的多线程服务器:从零开始的详细指南
  • 突破跨界传输瓶颈:Zynq OCM与DDR核间数据共享性能深度调优
  • 安装数据库记录
  • LeetCode百题刷001双指针·快慢指针
  • Kafka单机版安装部署
  • 什么是信号完整性?
  • VBA高级应用30例应用4:利用屏蔽事件来阻止自动运行事件
  • Tomcat的`context.xml`配置详解!
  • 嵌入式系统架构验证工具:AADL Inspector v1.10 全新升级
  • 1、mongodb-- BSON 学习和JSON性能对比
  • 新一代电动门“攻克”行业痛点,远峰科技打造“智能出入”新标杆
  • ApplicationEventPublisher 深度解析:Spring 事件驱动模型的核心
  • 图像来源:基于协同推理的双视角超声造影分类隐式数据增强方法|文献速递-深度学习医疗AI最新文献
  • 软件系统中功能模型 vs 数据模型 对比解析