嵌入式系统设计师软考个人笔记<4>
一、操作系统概述1.1 操作系统定义与作用操作系统是管理和控制计算机硬件与软件资源的系统软件作为用户与计算机硬件之间的接口为用户和应用程序提供良好的运行环境。1.2 操作系统的主要功能资源管理高效管理CPU、内存、I/O设备等硬件资源程序控制控制程序执行改善人机交互环境优化合理组织工作站配置提升系统性能1.3 操作系统的基本特性并发性 (Concurrency)定义多个进程在同一时间段内交替执行实现通过时间片轮转、优先级调度等机制与并行区别并发是宏观上的同时微观上交替并行是真正的同时执行共享性 (Sharing)资源共享方式互斥共享如打印机、磁带机临界资源同时访问如磁盘、内存可分时复用虚拟性 (Virtualization)核心技术SPOOLing假脱机技术实现原理使用物理设备模拟虚拟设备应用示例虚拟内存小内存运行大程序虚拟打印机多用户共享打印设备异步性 (Asynchronism)定义多个进程以不可预知的速度向前推进原因资源竞争、调度算法、外部事件等管理策略同步机制信号量、管程等二、进程管理2.1 进程定义与组成进程概念模型┌─────────────────────────────────┐ │ 进程实体 │ ├─────────────────────────────────┤ │ 程序块 │ 数据块 │ 进程控制块 │ │ (代码段) │ (数据段) │ (PCB) │ └─────────┴──────────┴───────────┘进程与程序的区别对比维度程序进程存在形式静态的指令集合动态的执行过程生命周期永久存储创建→运行→终止组成结构代码文件PCB程序数据资源分配不参与分配资源分配的基本单位2.2 进程状态与转换三态模型及其转换状态说明就绪态具备运行条件等待CPU分配特点所有资源就绪只缺CPU运行态正在CPU上执行特点占用CPU执行指令等待态等待某种事件发生特点不占用CPU等待I/O等事件2.3 进程同步与互斥临界资源与临界区// 临界区示例 void critical_section() { enter_critical_section(); // 进入临界区 // 访问临界资源的代码 access_shared_resource(); leave_critical_section(); // 离开临界区 }信号量与PV操作信号量定义S ≥ 0表示资源的可用数量S 0|S|表示等待该资源的进程数PV操作原语// P操作wait操作申请资源 void P(semaphore S) { S.value--; if (S.value 0) { block(S.queue); // 阻塞当前进程 } } // V操作signal操作释放资源 void V(semaphore S) { S.value; if (S.value 0) { wakeup(S.queue); // 唤醒等待进程 } }同步与互斥应用实例// 互斥访问示例信号量初始值1 semaphore mutex 1; // 进程A P(mutex); // 访问临界资源 critical_operation(); V(mutex); // 进程B P(mutex); // 访问临界资源 critical_operation(); V(mutex); // 同步示例生产者-消费者问题 semaphore empty N; // 空缓冲区数量 semaphore full 0; // 满缓冲区数量 semaphore mutex 1; // 缓冲区互斥访问 // 生产者进程 producer() { while (true) { produce_item(); P(empty); // 等待空缓冲区 P(mutex); // 申请缓冲区访问权 put_item(); V(mutex); // 释放缓冲区访问权 V(full); // 增加满缓冲区计数 } } // 消费者进程 consumer() { while (true) { P(full); // 等待满缓冲区 P(mutex); // 申请缓冲区访问权 get_item(); V(mutex); // 释放缓冲区访问权 V(empty); // 增加空缓冲区计数 consume_item(); } }三、存储管理3.1 存储管理目标与功能主要功能内存分配与回收地址映射内存保护内存共享内存扩充虚拟内存3.2 分区存储管理固定分区分配特点预先划分固定大小的分区简单但内存利用率低存在内部碎片可变分区分配分配算法对比算法名称原理优点缺点首次适应从低地址开始找第一个足够大的空闲区简单快速低地址端易产生碎片最佳适应找能满足要求的最小空闲区减少大空闲区分割产生大量小碎片最坏适应找能满足要求的最大空闲区减少小碎片产生大空闲区被消耗循环首次适应从上一次查找位置开始循环查找空闲区分布均匀缺乏大空闲区3.3 分页存储管理基本原理逻辑地址空间 物理地址空间 ┌──────────┐ ┌──────────┐ │ 页0 │ │ 块2 │ │ 页1─────┼───────│ 块5 │ │ 页2 │ │ 块8 │ │ 页3─────┼───────│ 块1 │ └──────────┘ └──────────┘ 页表地址转换过程逻辑地址 页号 页内偏移 ↓ 查页表获取物理块号 ↓ 物理地址 物理块号 × 页大小 页内偏移分页管理的优缺点优点内存利用率高碎片少仅存在页内碎片分配管理简单缺点程序模块化性能较差页表占用空间大需要硬件支持MMU3.4 段页式存储管理结合分段与分页的优势逻辑地址 段号 段内页号 页内偏移 ↓ 段表→找到段描述符 ↓ 页表→找到物理块号 ↓ 物理地址 物理块号 × 页大小 页内偏移段页式特点优点结合分段和分页的优点便于程序模块化管理支持内存保护和共享缺点地址转换复杂硬件成本高需要多次访存3.5 虚拟存储技术虚拟内存原理关键技术请求分页系统部分页面装入内存页面置换算法FIFO、LRU、OPT等缺页中断处理页面置换算法对比算法原理优点缺点FIFO淘汰最早进入的页面实现简单Belady异常LRU淘汰最近最久未使用的页面性能较好实现复杂OPT淘汰将来最长时间不用的页面理论最优无法实现Clock循环扫描淘汰访问位为0的页面折中方案可能效率低四、设备管理4.1 设备管理功能核心任务设备分配与回收设备驱动与控制设备无关性实现提高设备利用率4.2 SPOOLing技术假脱机SPOOLing系统组成┌─────────┐ ┌─────────┐ ┌─────────┐ │ 输入井 │←──┤输入进程│←──│ 输入设备 │ └─────────┘ └─────────┘ └─────────┘ ↓ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ 输出井 │───→│输出进程│───→│ 输出设备 │ └─────────┘ └─────────┘ └─────────┘SPOOLing技术特点虚拟设备将独占设备变为共享设备速度匹配缓解CPU与I/O设备速度差异提高利用率设备可被多个进程共享使用4.3 设备分配策略分配方式静态分配进程运行前分配所需全部设备优点简单不会死锁缺点设备利用率低动态分配进程运行中根据需要分配优点设备利用率高缺点可能产生死锁五、文件管理5.1 文件目录结构树形目录结构根目录 / / | \ bin home etc / \ user1 user2 / \ docs downloads路径表示绝对路径从根目录开始的完整路径示例/home/user1/docs/report.txt相对路径从当前目录开始的路径示例当前在/home/user1docs/report.txt5.2 文件存储管理位示图管理// 位示图示例用位表示磁盘块使用情况 #define DISK_BLOCKS 1024 #define BITMAP_SIZE (DISK_BLOCKS / 8) unsigned char bitmap[BITMAP_SIZE]; // 分配磁盘块 int allocate_block() { for (int i 0; i BITMAP_SIZE; i) { for (int j 0; j 8; j) { if (!(bitmap[i] (1 j))) { bitmap[i] | (1 j); return i * 8 j; } } } return -1; // 无空闲块 } // 释放磁盘块 void free_block(int block_no) { int i block_no / 8; int j block_no % 8; bitmap[i] ~(1 j); }索引文件结构文件控制块(FCB) ┌─────────────┐ │ 文件属性 │ ├─────────────┤ │ 直接索引 │──→数据块0 ├─────────────┤ 数据块1 │ 一级间接索引│──→索引块──→数据块... ├─────────────┤ │ 二级间接索引│──→索引块→索引块→数据块... └─────────────┘六、操作系统的现代发展6.1 操作系统发展趋势微内核架构将核心功能最小化分布式操作系统管理多台计算机资源实时操作系统保证任务截止时间嵌入式操作系统资源受限环境优化6.2 操作系统性能指标吞吐量单位时间内完成的工作量响应时间从提交请求到得到响应的时间周转时间从作业提交到完成的时间资源利用率CPU、内存、I/O设备的使用效率

相关新闻

工业监控告警系统怎么选?2025年制造业高性价比方案推荐

工业监控告警系统怎么选?2025年制造业高性价比方案推荐

在现代工业的肌理中,设备能否稳定运转,早已不是“尽量不坏”那么简单,它直接牵动着整条生产线的呼吸与心跳。曾几何时,工业监控就像个事后诸葛亮——温度爆表、振动异常,警报响了,人匆匆赶去,往…

2026/7/3 14:09:24 阅读更多 →
英伟达最新FastDriveCoT!CoT思维链推理加速3-4倍...

英伟达最新FastDriveCoT!CoT思维链推理加速3-4倍...

出发点:具身智能的“思维悖论” 近年来,Vision-Language-Action (VLA) 模型在机器人操控领域展现了巨大潜力。为了让模型处理更复杂的长程任务(Long-horizon tasks),研究者们引入了思维链(Chain-of-Though…

2026/7/3 14:09:28 阅读更多 →
拒绝学术内耗!2026超好用的AI论文写作软件,亲测不踩雷

拒绝学术内耗!2026超好用的AI论文写作软件,亲测不踩雷

告别文献瞎找、格式乱改、查重翻车的内耗日常!2026年实测5款高适配AI论文写作工具,覆盖本科到硕博全场景,兼顾合规、效率与降重,按需求选不踩雷👇🌟 PaperRed|中文润色降重双能王者(…

2026/7/3 14:09:30 阅读更多 →

最新新闻

DataEyesAI与Sora 2视频生成技术实战指南

DataEyesAI与Sora 2视频生成技术实战指南

1. DataEyesAI与Sora 2技术全景解析DataEyesAI作为新一代AI大模型聚合平台,其核心价值在于打通了包括Sora 2在内的多个顶尖视频生成模型的标准化接入通道。这个平台最让我惊喜的是它采用统一的OpenAI兼容API格式,开发者只需掌握一套接口规范就能调用不同…

2026/7/4 2:25:33 阅读更多 →
AI Agent开发实战:从环境搭建到生产部署

AI Agent开发实战:从环境搭建到生产部署

1. AI Agent 开发概述:自动化执行利器的核心价值AI Agent(人工智能代理)正在重塑我们处理重复性工作的方式。想象一下,你有一个不知疲倦的数字化助手,能够724小时处理客户咨询、自动整理数据、甚至帮你完成复杂的业务流…

2026/7/4 2:21:32 阅读更多 →
AI Agent开发实战:从理论到部署的完整指南

AI Agent开发实战:从理论到部署的完整指南

1. AI Agent学习全景图:从认知到实战的完整路径AI Agent作为当前人工智能领域最具前景的技术方向之一,正在重塑人机交互的范式。不同于传统AI模型,AI Agent具备自主感知、决策和执行能力,能够像人类员工一样完成复杂任务。我在实际…

2026/7/4 2:19:31 阅读更多 →
DeepSeek零代码办公自动化实战指南

DeepSeek零代码办公自动化实战指南

1. 项目概述:DeepSeek如何赋能零代码办公自动化去年我在帮一家中小型贸易公司做流程优化时,发现他们80%的日常操作都在重复处理Excel表格和邮件往来。当我建议引入自动化工具时,财务主管的第一反应是"我们没人会编程"。这正是DeepS…

2026/7/4 2:19:31 阅读更多 →
Python数据分析实战:帕默群岛企鹅数据集探索

Python数据分析实战:帕默群岛企鹅数据集探索

1. 项目背景与数据集介绍帕默群岛企鹅数据集是生态学研究中的经典案例,记录了南极洲帕默群岛三个岛屿上三种企鹅(阿德利企鹅、巴布亚企鹅和帽带企鹅)的形态测量数据。这个数据集之所以成为数据科学入门的理想选择,主要因为以下几个…

2026/7/4 2:17:31 阅读更多 →
Pandas数据读取全攻略:从CSV到数据库实战技巧

Pandas数据读取全攻略:从CSV到数据库实战技巧

1. Pandas数据读取基础认知作为Python数据分析的瑞士军刀,Pandas的数据读取能力是其核心功能之一。我初次接触Pandas时,最让我惊讶的是它能够用一行代码读取各种格式的数据文件。但真正深入使用后才发现,这看似简单的功能背后隐藏着许多值得深…

2026/7/4 2:15:31 阅读更多 →

日新闻

Memcached 1.6.43 发布:关键安全修复版本,多项问题得到解决

Memcached 1.6.43 发布:关键安全修复版本,多项问题得到解决

Memcached 1.6.43 正式发布,这是一个关键的安全修复版本,修复了多个方面的问题,还对部分功能进行了优化。 安全修复亮点 此次发布在安全修复上表现突出。binprot 避免了项目引用计数溢出,mcmc 因安全问题提升了上游版本号&#xf…

2026/7/4 0:04:29 阅读更多 →
终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案

终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案

终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案 【免费下载链接】HMCL A Minecraft Launcher which is multi-functional, cross-platform and popular 项目地址: https://gitcode.com/gh_mirrors/hm/HMCL HMCL(Hello Minecraft! Lau…

2026/7/4 0:06:29 阅读更多 →
KMX63与PIC18F66K40在嵌入式HMI中的硬件协同与低功耗设计

KMX63与PIC18F66K40在嵌入式HMI中的硬件协同与低功耗设计

1. KMX63与PIC18F66K40的硬件协同架构解析KMX63作为一款三轴加速度计和磁力计组合传感器,与PIC18F66K40微控制器的搭配堪称嵌入式HMI开发的黄金组合。这套硬件组合的核心优势在于KMX63提供的高精度运动感知能力与PIC18F66K40强大的信号处理能力形成了完美互补。KMX6…

2026/7/4 0:06:29 阅读更多 →

周新闻

月新闻