软考(中级)软件设计师核心笔记(2)操作系统——概念、进程管理
一、操作系统相关概念1、操作系统概述计算机硬件裸机》操作系统windows、linux ······》语言处理程序Java虚拟机》应用程序office、QQ ······操作系统功能1.管理系统的软件、硬件、数据资源2.控制程序运行3.人机之间的接口4.应用软件与应用硬件之间的接口任务进程管理存储管理文件管理作业管理硬件设备管理计算机层次结构用户 》应用软件 》系统软件 》操作系统 》计算机硬件2、操作系统分类特点批处理操作系统单道批一次一个作业入内存作业由程序、数据、作业说明书组成多道批一次多个作业如内存特点多道宏观上并行微观上串行分时操作系统采用时间片轮转的方式为多个用户提供服务每个用户感觉独占系统特点多路性及时性独立性和交互性实时操作系统*实时控制系统和实时信息系统交互能力要求不高可靠性要求高规定时间内响应并处理网络操作系统方便有效共享网络资源提供服务软件和有关协议的集合例如Windows ServerLinuxUnix分布式操作系统任意两台计算机可以通过通信交换信息是网络操作系统的更高级形式具有透明性、可靠性和高性能等特性微机操作系统PC机WindowsMicrosoft开发的图形用户界面、多任务、多线程操作系统Linux免费试用和自由传播的类Unix多用户多任务多线程多CPU的操作系统嵌入式操作系统*运行在只能芯片环境中特点微型化可定制针对硬件变化配置实时性可靠性易移植性HAL和BSP支持习题从减少成本和缩短研发周期考虑要求嵌入式系统能运行在不同的微处理平台上能针对硬件变化进行结构与功能上的配置。该要求体现了嵌入式操作系统的AA可定制型B实时性C可靠性D易移植性需要BSP的支持二、进程管理1、概念系统进行资源分配和调度的一个独立单位由程序块、进程控制块PCB和数据块三部分组成PCB进程的唯一标识包含标识符、状态、位置信息、控制信息、队列指针链接同一状态的进程、优先级、现场保护等。进程是程序的一次执行过程独立拥有资源线程一个进程包含多个线程共享资源内存地址空间、代码、数据、文件等。独有资源程序计数器寄存器栈。进程状态)1三态模型就绪 》运行 、就绪 》运行 》等待 》就绪 ······运行进程在CPU上运行单处理机运行状态的进程只有一个被CPU调度就绪一个进程获得了除CPU以外的全部资源一旦得到处理机即可运行阻塞/等待/睡眠一个进程正在等待某一事件的发生如请求IO、等待IO处理完成而暂停的状态此时即使CPU分配到处理也无法进行。即等待其他资源等其他资源完成则转换到就绪)2五态模型静止就绪、活跃就绪、运行、静止阻塞、活跃阻塞静止就绪 唤醒》活跃就绪 挂起》静止就绪静止阻塞 唤醒》活跃阻塞 挂起》静止阻塞就绪 》运行 、就绪 》运行 》等待 》就绪 ······挂起需要被唤醒挂起原因1.进程过多主存资源不足此时必须将某些进程挂起放到磁盘对换区暂时不参与调度以平均系统负载2.系统出现故障或是用户调试程序也可能需要将进程挂起检查问题习题在单处理机过程中采用先来先服务调度算法。系统中有4个进程P1.P2.P3.P4其中P1为运行状态P2为就绪状态P3.P4为等待状态P3等待打印机P4等待扫描仪若P1A则P1,P2,P3,P4等状态分别是CA时间片到 B释放了扫描仪 C释放了打印机 D已完成A等待就绪等待等待 B运行就绪运行等待 C就绪运行等待等待 D就绪就绪等待运行解思路1.进程中等待状态无法直接进入到运行状态且单处理机中只会有一个进程运行所以BD排除2.进程中若第一个进程释放则会有下一个进程由就绪状态变为运行状态进入运行所以A错误因为A中没有运行状态3.C选项P1由运行变为就绪所以原因只会是时间片到结论选AC时间片到进程状态分别为就绪运行等待等待2、进程调度PVP(S) V(S))1概念加锁P操作解锁V操作临界资源储进程间需要互斥方式对其进行共享的资源进程中访问临界资源的那段代码称为临界区同一时刻只允许一个进程来访问1.互斥模型对临界资源的互斥访问相互排斥间接制约关系。加锁 》访问 》解锁2.同步模型速度有差异在一定情况下等待直接制约关系。针对的是缓冲区资源加锁。生产者 缓存区 消费者针对发起者为生产者生产者生产S1检查缓冲区P(S1)放入到缓冲区单缓冲区容量为1另一进程消费者从缓冲区取出S1释放缓冲区V(S1)消费S1针对发起者为消费者消费者检查缓冲区P(S2)生产者将S2放入到缓冲区V(S2)消费者消费S2如上例针对消费者想要消费S2首先要为缓冲区预留一个位置所以P(S2)然后生产者将产品放入到缓冲区必须先将消费者预留的那个S2的位置释放出来所以V(S2)然后消费者直接消费S2)2信号量S特殊的变量全局信号量为正数时可以表示资源数量信号量为负数时可以表示排队进程数量过程为申请/锁定资源SS-1判断资源是否足够S阻塞队列等待足够就执行完毕后释放/解锁资源SS1判断是否都需要通知阻塞队列等待可以进入就绪状态S互斥同步模型针对缓冲区做信号量限制加锁与释放同步模型针对向缓冲区发起请求放入/拿出进程做加锁与释放互斥模型)3前趋图进程A/B/C为前驱进程D为A/B/C的后继为E的前驱进程E为进程D的后继前驱处做V操作释放后继处做P操作检查加入信号量3、死锁两个以上的进程互相都要求对方已经占有的资源导致无法继续运行下去的现象死锁四大条件打破任意条件则可破解死锁1.互斥性两条进程访问的资源相互排斥不具有共享资源2.保持和等待当进程无法访问资源时会持续等待释放后访问资源3.不剥夺无法剥夺其他进程资源4.环路等待相互等待闭环死锁处理方法预防死锁)1.有序资源分配当一个进程需要访问资源时先分配给这个进程其他进程等待资源释放)2.静态资源分配根据已知的资源数进行分配避免死锁银行家算法死锁的检测与解除鸵鸟策略不予理睬避免死锁率计算系统不可能发生死锁的最小资源数(w-1)*m1必定死锁当一个进程所需资源 现有资源必定死锁不可能死锁当多个进程所需资源 现有资源不可能死锁例系统有5个进程A/B/C/D/E这五个进程每个进程都需要4个资源若系统资源 4时必定死锁若系统资源 5*31不可能死锁思路5*31每个进程都需要4个至少应该有一个进程可以达到闭环所以至少有一个满足4个资源其余每个进程至少满足3个套入公式(4-1)*51 16必然死锁无法闭环进程A进程B进程C进程D进程E资源1系统资源资源2系统资源资源3系统资源资源4不可能死锁至少有一个进程可以闭环进程A进程B进程C进程D进程E资源1系统资源系统资源系统资源系统资源系统资源资源2系统资源系统资源系统资源系统资源系统资源资源3系统资源系统资源系统资源系统资源系统资源资源4系统资源例题某计算机系统中互斥资源R的可用数为8系统中有A/B/C三个进程竞争R且每个进程都需要i个R该系统可能会发生死锁的最小i值是DA 1 、B 2 、C 3 、D 4解思路A1*3个进程 3 8所以不会发生死锁B2*3个进程 6 8所以不会发生死锁C3*3个进程 9虽然需要满足每个进程资源都为3的情况下D4*3个进程 12 8且可能没有进程可以闭环所以会发生死锁结论得出D资源图先分配再申请

相关新闻

15分钟完成黑苹果配置:OpCore-Simplify让OpenCore EFI配置变得前所未有的简单

15分钟完成黑苹果配置:OpCore-Simplify让OpenCore EFI配置变得前所未有的简单

15分钟完成黑苹果配置:OpCore-Simplify让OpenCore EFI配置变得前所未有的简单 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 还在为复杂的…

2026/7/30 20:45:13阅读更多 →
GLM-5.2 函数调用返回 null?tool_choice 枚举差异踩坑全解 + Cline / Claude Code 接入配置,收藏这篇就够了

GLM-5.2 函数调用返回 null?tool_choice 枚举差异踩坑全解 + Cline / Claude Code 接入配置,收藏这篇就够了

上周三帮团队把一个客服 Agent 从 GLM-5 升级到 GLM-5.2(z-ai/glm-5.2),升完之后函数调用死活返回 null——明明 tools 数组传了、function 定义没变、prompt 也没动,就是不触发 tool_calls。折腾了大半天才定位到原因&#xff1a…

2026/7/30 20:43:12阅读更多 →
AI股票模拟交易与Codex股票筛选

AI股票模拟交易与Codex股票筛选

注:AI股票交易模拟采用的柚子AI看盘复盘工具是平台,Codex结合ai-mock-trade skill技能进行股票筛选与分析,模拟交易仅作练习使用,不构成投资建议。禁止在转载后发布其他平台向用户收取费用。 目录1.背景2.工具3.环境配置4.实操5.参…

2026/7/30 20:43:12阅读更多 →
终极指南:5分钟让Switch手柄在PC上畅玩所有游戏的简单方法

终极指南:5分钟让Switch手柄在PC上畅玩所有游戏的简单方法

终极指南:5分钟让Switch手柄在PC上畅玩所有游戏的简单方法 【免费下载链接】BetterJoy Allows the Nintendo Switch Pro Controller, Joycons and SNES controller to be used with CEMU, Citra, Dolphin, Yuzu and as generic XInput 项目地址: https://gitcode.…

2026/7/31 0:06:42阅读更多 →
Pixelle-Video完全指南:三步打造你的AI视频创作自动化工作流

Pixelle-Video完全指南:三步打造你的AI视频创作自动化工作流

Pixelle-Video完全指南:三步打造你的AI视频创作自动化工作流 【免费下载链接】Pixelle-Video 🚀 AI 全自动短视频引擎 | AI Fully Automated Short Video Engine 项目地址: https://gitcode.com/GitHub_Trending/pi/Pixelle-Video 在AI内容创作领…

2026/7/31 0:06:42阅读更多 →
D3D8to9终极指南:让经典老游戏在现代电脑上完美运行的简单方案

D3D8to9终极指南:让经典老游戏在现代电脑上完美运行的简单方案

D3D8to9终极指南:让经典老游戏在现代电脑上完美运行的简单方案 【免费下载链接】d3d8to9 A D3D8 pseudo-driver which converts API calls and bytecode shaders to equivalent D3D9 ones. 项目地址: https://gitcode.com/gh_mirrors/d3/d3d8to9 你是否曾经遇…

2026/7/31 0:06:42阅读更多 →
AI搜索时代品牌战略突围:搜极星领衔五大GEO监测平台深度解析与实战闭环

AI搜索时代品牌战略突围:搜极星领衔五大GEO监测平台深度解析与实战闭环

引言:当搜索框变成对话框,品牌在哪里?2026年,生成式AI的用户规模已突破6.85亿,超过63%的互联网用户开始习惯在AI对话框中寻找答案,而非传统的搜索引擎框。这意味着,品牌的流量入口发生了根本性的…

2026/7/31 0:06:42阅读更多 →
为什么你的BERT微调总掉点?揭秘隐藏在PyTorch DataLoader里的3个数据泄露陷阱,上线前必须检查!

为什么你的BERT微调总掉点?揭秘隐藏在PyTorch DataLoader里的3个数据泄露陷阱,上线前必须检查!

更多请点击: https://codechina.net 第一章:Shell脚本的基本语法和命令 Shell脚本是Linux/Unix系统自动化任务的核心工具,以可执行文本文件形式存在,由Bash等Shell解释器逐行解析执行。其语法简洁但严谨,对空格、换行…

2026/7/31 0:04:42阅读更多 →
从零开始的YOLO目标检测全流程:数据标注→模型训练→推理验证→结果可视化

从零开始的YOLO目标检测全流程:数据标注→模型训练→推理验证→结果可视化

很多人入门YOLO,都能很快跑通官方的demo,但一换成自己的数据集就频繁报错:标签格式不对、路径配置出错、训练loss不收敛、推理结果一片空白。本质上,多数教程只讲了训练那一行命令,却没说清数据怎么准备、格式怎么对齐…

2026/7/31 0:04:42阅读更多 →
覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

🔹 工具基础介绍 OpenClaw 是开源生态中一款实用性较强的本地智能工具,凭借本地离线运行、可视化图形操作和任务自动化三大核心特性,赢得了众多用户的青睐。与普通在线对话AI工具不同,它属于能够直接操控本机软硬件的智能数字员工…

2026/7/30 15:03:16阅读更多 →
伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

所谓液压伺服阀体的精密激光焊接,是用激光束对阀座壳体(通常为不锈钢或铝合金)进行密封焊接,使阀体在21-35MPa的高压液压油或压缩气体中长期运行而不发生介质泄漏。液压伺服阀是高端液压系统的"大脑"。从航空航天飞行控…

2026/7/30 12:22:27阅读更多 →
D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx 你是否还在…

2026/7/30 15:13:02阅读更多 →
物理复制比逻辑复制好在哪?数据库复制原理详解

物理复制比逻辑复制好在哪?数据库复制原理详解

数据库复制是把主库数据同步到备库的机制,分为逻辑复制和物理复制两种。逻辑复制传输的是 SQL 语句或行变更事件,物理复制传输的是存储引擎底层的物理日志。阿里云 PolarDB(云原生数据库)采用物理复制,在同步延迟、数据…

2026/7/31 0:00:40阅读更多 →
BilibiliDown:3分钟学会B站视频下载的终极指南

BilibiliDown:3分钟学会B站视频下载的终极指南

BilibiliDown:3分钟学会B站视频下载的终极指南 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/gh_mirrors/bi/Bilib…

2026/7/31 0:00:41阅读更多 →
有哪些游戏数据AI平台?游戏行业Data+AI融合方案盘点

有哪些游戏数据AI平台?游戏行业Data+AI融合方案盘点

当前,游戏行业的“DataAI融合”已从概念验证进入价值落地阶段。根据IDC 2025年数据,中国AI游戏云市场规模已达18.6亿元;同时,游戏研发环节AI渗透率高达86%,生成式AI内容普及率超过50%。面对庞大的市场,游戏…

2026/7/31 0:00:41阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/30 0:27:26阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/30 4:47:18阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/30 15:43:46阅读更多 →