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

【软考-架构】2.2、进程调度-死锁-存储管理-固定分页分段

✨资料&文章更新✨
GitHub地址:https://github.com/tyronczt/system_architect

文章目录

  • 进程调度
  • 调度算法
  • ✨死锁
  • 💯考试真题
    • 第一题
    • 第二题
    • 银行家算法
  • 线程
  • 分区存储管理
  • ✨分页存储管理
  • 💯 考试真题
  • 分段存储管理
  • 💯考试真题
  • 段页式存储管理

进程调度

调度算法

✨死锁

死锁产生的四个必要条件:资源互斤每个进程占有资源并等待其他资源系统不能剥夺进程资源进程资源图是一个环路

死锁资源计算:系统内有n个进程,每个进程都需要R个资源,那么其发生死锁的最大资源数为n*(R-1)。其不发生死锁的最小资源数为n*(R-1)+1。

💯考试真题

第一题

根据操作系统死锁预防的理论,当系统中有3个并发进程竞争资源R且每个进程需要5个R时,至少需要13个资源R才能保证不发生死锁,正确答案为 B。

关键分析过程:

  1. 死锁条件与资源分配策略
    死锁的四个必要条件中,资源分配不当可能导致“循环等待”。为了预防死锁,需确保系统资源分配后,至少有一个进程能完成并释放资源。这里采用公式:
    最少资源数 = 进程数 × (每个进程所需资源数 - 1) + 1
    代入数值:
    3×(5−1)+1=13
    这一公式的逻辑是:若每个进程已分配了最大需求数减1的资源(即4个),此时系统再额外提供1个资源,即可让其中一个进程完成并释放全部资源,打破死锁。
  2. 具体场景验证
  • 若总资源为12(即3×4):每个进程最多获取4个资源,但无法满足第5个需求,导致所有进程互相等待,形成死锁。
  • 若总资源为13:假设3个进程各分配4个资源后,剩余1个资源可分配给任一进程,使其完成运行并释放5个资源。此时系统剩余资源足够其他进程继续执行,避免死锁。

第二题

问题一:信号量S的取值范围

  1. 初始值:系统有3台打印机,信号量S初始值为3。
  2. 取值范围:
    • 当所有打印机空闲时,S最大为3。
    • 当所有打印机被占用且更多进程请求时,每多一个请求,S减1。最多有n个进程竞争,其中3个正在使用,剩余n-3个等待,此时S的最小值为 3−n3−n,即取值范围为 3,2,1,0,−1,…,−(n−3)3,2,1,0,−1,…,−(n−3)。
  3. 选项验证:选项B(3, 2, 1, 0, -1, …, -(n-3))符合上述逻辑。

问题二:信号量S=-3时的等待进程数

  1. 信号量为负数的含义:绝对值表示等待进程数量。S=-3时,有3个进程在等待。
  2. 选项验证:选项D(3)正确。

答案:

  1. 信号量S的取值范围:B.3, 2, 1, 0, -1, …., -(n-3)
  2. 等待进程数:D.3

最终答案:B;D

银行家算法

(27)系统剩余可用资源数

答案:D. 2、0和1

  • 计算过程:
    系统原有资源 R1=10 、R2=5、R3=3。
    已分配资源总和:
    • R1=1+2+3+1+1=8
    • R2=1+1+1+1+1=5
    • R3=1+0+0+1+0=2
      剩余可用资源:
    • R1:10−8=2
    • R2:5−5=0
    • R3:3−2=1

(28)安全序列

答案:B. P5—P2—P4—P3—P1

  • 推导过程:
    1. 初始可用资源:R1=2、R2=0、R3=1。
    2. 各进程还需资源:
进程R1需R2需R3需
P1420
P2110
P3301
P4221
P5101
  1. 安全序列推导:
  • 第一步选P5:需求 (1,0,1)≤(2,0,1),执行后释放资源,可用资源变为 (3,1,1)。
  • 第二步选P2:需求 (1,1,0)≤(3,1,1),执行后可用资源变为 (5,2,1)。
  • 第三步选P4:需求 (2,2,1)≤(5,2,1),执行后可用资源变为 (6,3,2)。
  • 第四步选P3:需求 (3,0,1)≤(6,3,2),执行后可用资源变为 (9,4,2)。
  • 第五步选P1:需求 (4,2,0)≤(9,4,2)。

最终答案:(27)D;(28)B

线程

分区存储管理

✨分页存储管理

💯 考试真题

在分页系统中,逻辑地址由页号和页内偏移量组成。已知页面大小为4K(0x1000),逻辑地址1D16H需分割为页号和偏移量:

  1. 确定页号和偏移量
  • 页号 = 逻辑地址 / 页面大小 = 1D16H ÷ 0x1000 = 1(高位1位十六进制数)。
  • 偏移量 = 逻辑地址 % 页面大小 = 1D16H - 0x1000 = D16H(低3位十六进制数)。
  1. 查页表获取物理块号 根据页表,页号1对应的物理块号为3。
  2. 计算物理地址
  • 物理基址 = 物理块号 × 页面大小 = 3 × 0x1000 = 0x3000。
  • 物理地址 = 物理基址 + 偏移量 = 0x3000 + 0xD16 = 0x3D16H。

答案:B. 3D16H

  1. 淘汰代价核心因素:页面被修改过(修改位=1)时,淘汰需写回磁盘,产生额外I/O开销;若未被修改(修改位=0),可直接移除,代价最小。
  2. 在内存的页面状态分析:
    • 页0:状态位1(在内存),修改位1 → 淘汰需写回磁盘。
    • 页2:状态位1,修改位1 → 淘汰需写回磁盘。
    • 页3:状态位1,修改位0 → 淘汰无需写回磁盘。
  3. 结论:淘汰页号3(选项D)代价最小,因其未被修改过。

答案:D

分段存储管理

💯考试真题

关键分析步骤

  1. 段号合法性检查 仅段号0~4有效(其他段号直接非法)。
  2. 偏移量合法性检查
    • 段号0:段长600 → 偏移范围 0~599
    • 段号1:段长50 → 偏移范围 0~49
    • 段号2:段长100 → 偏移范围 0~99
    • 段号3:段长2988 → 偏移范围 0~2987
    • 段号4:段长960 → 偏移范围 0~959
  3. 选项逐个验证
    • A. (0, 1597)、(1, 30)、(3, 1390)
      • 段0偏移1597 > 599 → 非法
      • ❌ 排除
    • B. (0, 128)、(1, 30)、(3, 1390)
      • 段0偏移128 ≤ 599 → 合法
      • 段1偏移30 ≤ 49 → 合法
      • 段3偏移1390 ≤ 2987 → 合法
      • ✅ 全部合法
    • C. (0, 1597)、(2, 98)、(3, 1390)
      • 段0偏移1597 > 599 → 非法
      • ❌ 排除
    • D. (0, 128)、(2, 98)、(4, 1066)
      • 段0偏移128 ≤ 599 → 合法
      • 段2偏移98 ≤ 99 → 合法
      • 段4偏移1066 > 959 → 非法
      • ❌ 排除

答案

B. (0, 128)、(1, 30)、(3, 1390) 所有逻辑地址均合法,可转换为物理地址。

段页式存储管理

相关文章:

  • 网络安全需要学多久才能入门?
  • 大语言模型技术发展
  • Dify部署-(零基础)(个人体验)(Linux)(白嫖)(可部署大模型)
  • Vue前端开发- Vant之Card组件
  • visual studio 2022 手工写一个简单的MFC程序
  • 如何在Android中实现服务(Service)
  • 基于vue框架的游戏商城系统cq070(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • 网络问题排查基本命令
  • Linux Sed实战指南:从入门到精通
  • springboot3.x下集成hsqldb数据库
  • 某金融租赁公司数据治理实践
  • 储油自动化革命,网关PROFINET与MODBUS网桥的无缝融合,锦上添花
  • 装饰器模式:灵活扩展对象功能的利器
  • STM32程序的加密与破解以及烧录方法
  • 10分钟从零开始搭建机器人管理系统(飞算AI)
  • c++ 操作数组
  • 解决redis lettuce连接池经常出现连接拒绝(Connection refused)问题
  • 【DFS/回溯算法】2016年蓝桥杯真题之路径之谜详解
  • 面试高频考点:一文吃透并发Concurrency与并行Parallelism
  • GPPT: Graph Pre-training and Prompt Tuning to Generalize Graph Neural Networks
  • 太仓网站建设太仓/鲜花网络营销推广方案
  • 哪些企业需要做网站/今日足球赛事推荐
  • oa系统包括哪些系统/宁波seo关键词优化方法
  • 网站建设找什么工作/百度新闻首页头条
  • wordpress填写qq自动评论/百度seo优化排名软件
  • 深圳专业网站设计专业定制/宁波网络推广团队