news 2026/3/25 22:41:17

嵌入式系统设计师软考个人笔记<4>

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
嵌入式系统设计师软考个人笔记<4>

一、操作系统概述

1.1 操作系统定义与作用

操作系统是管理和控制计算机硬件与软件资源的系统软件,作为用户与计算机硬件之间的接口,为用户和应用程序提供良好的运行环境。

1.2 操作系统的主要功能

  1. 资源管理:高效管理CPU、内存、I/O设备等硬件资源

  2. 程序控制:控制程序执行,改善人机交互

  3. 环境优化:合理组织工作站配置,提升系统性能

1.3 操作系统的基本特性

并发性 (Concurrency)

  • 定义:多个进程在同一时间段内交替执行

  • 实现:通过时间片轮转、优先级调度等机制

  • 与并行区别:并发是宏观上的同时,微观上交替;并行是真正的同时执行

共享性 (Sharing)
  • 资源共享方式

    • 互斥共享:如打印机、磁带机(临界资源)

    • 同时访问:如磁盘、内存(可分时复用)

虚拟性 (Virtualization)
  • 核心技术:SPOOLing(假脱机)技术

  • 实现原理:使用物理设备模拟虚拟设备

  • 应用示例

    • 虚拟内存:小内存运行大程序

    • 虚拟打印机:多用户共享打印设备

异步性 (Asynchronism)
  • 定义:多个进程以不可预知的速度向前推进

  • 原因:资源竞争、调度算法、外部事件等

  • 管理策略:同步机制(信号量、管程等)

二、进程管理

2.1 进程定义与组成

进程概念模型
┌─────────────────────────────────┐ │ 进程实体 │ ├─────────────────────────────────┤ │ 程序块 │ 数据块 │ 进程控制块 │ │ (代码段) │ (数据段) │ (PCB) │ └─────────┴──────────┴───────────┘
进程与程序的区别
对比维度程序进程
存在形式静态的指令集合动态的执行过程
生命周期永久存储创建→运行→终止
组成结构代码文件PCB+程序+数据
资源分配不参与分配资源分配的基本单位

2.2 进程状态与转换

三态模型及其转换

状态说明

  1. 就绪态:具备运行条件,等待CPU分配

    • 特点:所有资源就绪,只缺CPU

  2. 运行态:正在CPU上执行

    • 特点:占用CPU,执行指令

  3. 等待态:等待某种事件发生

    • 特点:不占用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 │ └──────────┘ └──────────┘ 页表
地址转换过程
逻辑地址 = 页号 + 页内偏移 ↓ 查页表获取物理块号 ↓ 物理地址 = 物理块号 × 页大小 + 页内偏移

分页管理的优缺点

  • 优点

    • 内存利用率高

    • 碎片少(仅存在页内碎片)

    • 分配管理简单

  • 缺点

    • 程序模块化性能较差

    • 页表占用空间大

    • 需要硬件支持(MMU)

3.4 段页式存储管理

结合分段与分页的优势
逻辑地址 = 段号 + 段内页号 + 页内偏移 ↓ 段表→找到段描述符 ↓ 页表→找到物理块号 ↓ 物理地址 = 物理块号 × 页大小 + 页内偏移

段页式特点

  • 优点

    • 结合分段和分页的优点

    • 便于程序模块化管理

    • 支持内存保护和共享

  • 缺点

    • 地址转换复杂

    • 硬件成本高

    • 需要多次访存

3.5 虚拟存储技术

虚拟内存原理
关键技术
  1. 请求分页系统

    • 部分页面装入内存

    • 页面置换算法(FIFO、LRU、OPT等)

    • 缺页中断处理

  2. 页面置换算法对比

    算法原理优点缺点
    FIFO淘汰最早进入的页面实现简单Belady异常
    LRU淘汰最近最久未使用的页面性能较好实现复杂
    OPT淘汰将来最长时间不用的页面理论最优无法实现
    Clock循环扫描,淘汰访问位为0的页面折中方案可能效率低

四、设备管理

4.1 设备管理功能

核心任务

  • 设备分配与回收

  • 设备驱动与控制

  • 设备无关性实现

  • 提高设备利用率

4.2 SPOOLing技术(假脱机)

SPOOLing系统组成
┌─────────┐ ┌─────────┐ ┌─────────┐ │ 输入井 │←──┤输入进程│←──│ 输入设备 │ └─────────┘ └─────────┘ └─────────┘ ↓ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ 输出井 │───→│输出进程│───→│ 输出设备 │ └─────────┘ └─────────┘ └─────────┘
SPOOLing技术特点:
  1. 虚拟设备:将独占设备变为共享设备

  2. 速度匹配:缓解CPU与I/O设备速度差异

  3. 提高利用率:设备可被多个进程共享使用

4.3 设备分配策略

分配方式

  1. 静态分配:进程运行前分配所需全部设备

    • 优点:简单,不会死锁

    • 缺点:设备利用率低

  2. 动态分配:进程运行中根据需要分配

    • 优点:设备利用率高

    • 缺点:可能产生死锁

五、文件管理

5.1 文件目录结构

树形目录结构
根目录 / / | \ bin home etc / \ user1 user2 / \ docs downloads
路径表示
  • 绝对路径:从根目录开始的完整路径

    • 示例:/home/user1/docs/report.txt

  • 相对路径:从当前目录开始的路径

    • 示例:当前在/home/user1docs/report.txt

5.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 操作系统发展趋势

  1. 微内核架构:将核心功能最小化

  2. 分布式操作系统:管理多台计算机资源

  3. 实时操作系统:保证任务截止时间

  4. 嵌入式操作系统:资源受限环境优化

6.2 操作系统性能指标

  • 吞吐量:单位时间内完成的工作量

  • 响应时间:从提交请求到得到响应的时间

  • 周转时间:从作业提交到完成的时间

  • 资源利用率:CPU、内存、I/O设备的使用效率

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/25 0:27:52

Java做人工智能:JBoltAI框架的多模态与数据处理探索

在人工智能&#xff08;AI&#xff09;技术日益成熟的今天&#xff0c;Java作为一门广泛应用的编程语言&#xff0c;也开始在AI领域崭露头角。特别是在JBoltAI框架的推动下&#xff0c;Java开发者能够更便捷地实现多模态AI、OCR识别以及文件内容提取等高级功能&#xff0c;为AI…

作者头像 李华
网站建设 2026/3/15 10:47:00

Android上的蓝牙文件传输:跨设备无缝共享

在移动工作流程和日常使用中&#xff0c;蓝牙文件传输仍然是跨设备数据共享的实用解决方案。虽然速度不如有线或云端传输&#xff0c;但其离线功能和即插即用的便捷性使其成为在安卓设备之间或Android与Windows电脑之间Android文件的可靠选择。本指南将带您了解Android系统上各…

作者头像 李华
网站建设 2026/3/25 16:59:21

市场六大专业iPaaS平台怎么选

据 IDC 预测&#xff0c;2026 年中国 iPaaS 市场规模将达 55.5 亿元&#xff0c;同比增长 28.4%&#xff0c;当前多数企业深陷多系统并行、数据孤岛凸显的困境。集成平台即服务&#xff08;iPaaS&#xff09;早已脱离单纯的系统连接工具属性&#xff0c;成为助力企业业务敏捷迭…

作者头像 李华
网站建设 2026/3/15 18:32:15

LangChain 1.0 工具系统:从内置工具到自定义工具开发

玄同 765 大语言模型 (LLM) 开发工程师 | 中国传媒大学 数字媒体技术&#xff08;智能交互与游戏设计&#xff09; CSDN 个人主页 | GitHub Follow 关于作者 深耕领域&#xff1a;大语言模型开发 / RAG 知识库 / AI Agent 落地 / 模型微调技术栈&#xff1a;Python | R…

作者头像 李华
网站建设 2026/3/25 5:57:00

防火灾智能垃圾桶设计

防火灾智能垃圾桶设计 第一章 系统设计目标与核心需求 防火灾智能垃圾桶以“火情预警、自动处置、安全可靠、便捷实用”为核心设计目标&#xff0c;突破传统垃圾桶无防火功能、火灾隐患处置被动的局限&#xff0c;适配家庭、办公、商场等人员密集场景。系统核心需求包括&…

作者头像 李华
网站建设 2026/3/15 18:32:08

在线教育互动课堂开发实战|从技术选型到高互动体验打造

着教育数字化进程的加速&#xff0c;在线互动课堂已成为教育行业的核心竞争力。从最初单向传输的直播课&#xff0c;到今天具备丰富交互功能的全场景学习空间&#xff0c;互动课堂经历了质的飞跃。然而&#xff0c;开发一个真正高效、流畅、沉浸式的在线互动课堂&#xff0c;仍…

作者头像 李华