news 2026/10/11 1:29:48

软考中级—软件评测师 备考笔记:操作系统基础知识

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
软考中级—软件评测师 备考笔记:操作系统基础知识

文章目录

  • 操作系统
    • 特性
    • 分类
      • 嵌入式操作系统特点
  • 处理机(进程)管理
    • 组成
    • 模型
      • 三态模型
      • 五态模型
      • 流程
    • PV操作
      • 信号量
  • 作业管理
  • 死锁
    • 例题
    • 线程
  • 输入输出(I/O)控制技术
  • 文件管理

操作系统

特性

  1. 并发性
  2. 虚拟性
  3. 共享性
  4. 不确定性

不并拟共

分类

  1. 批处理操作系统
  2. 分时操作系统
  3. 实时操作系统
  4. 网络操作系统
  5. 分布式操作系统
  6. 微机操作系统
  7. 嵌入式操作系统

嵌入式操作系统特点

  1. 微型化
  2. 可定制
  3. 实时性
  4. 可靠性
  5. 易移植性

处理机(进程)管理

组成

  1. 程序
  2. 数据
  3. 进程控制块(PCB)

模型

三态模型

时间片到

出现等待时间

被调度

等待时间结束

运行

就绪

等待

五态模型

流程

  1. 新建进程进入就绪状态
  2. 就绪进程进入运行状态
  3. 运行时间片到后,(不能让一个进程把CPU全占了,因此每个进程只能运行一个时间片)进程未完成,返回就绪状态,等待下次调度
  4. 就绪进程进入运行状态
  5. 运行进程需要等待其他进程返回结果等异步事件,进入阻塞状态(等待第三方数据回来)
  6. 所需数据返回时,阻塞状态变更为就绪状态(相当于告诉CPU,第三方数据回来了,可以继续运行了)
  7. 就绪进程进入运行状态
  8. 进程结束,进入终止态

PV操作

N个进程共享资源R,采用PV操作,相应的信号量取值范围为
R-N 至 R

信号量

信号量S、申请资源P、释放资源V

  • S≥0:有S个资源可供P使用
  • S<0:有|S|个进程等待资源

作业管理

四个状态:提交、后备(收容)、执行和完成
注意:就绪态、运行态、阻塞态是进程状态而非作业状态

死锁

  1. 分配资源:方框指向圆圈,即箭头由资源指向进程。主动给
  2. 请求资源:圆圈指向方框,即箭头由进程指向资源。索要
    ** 资源先分配(主动给)再响应请求(索要),然后计算资源是否足够,资源不足则有进程进入等待态。**
  3. m个资源被n个进程共享使用,每个进程都需要k个资源,最少资源数应当满足
    m = n ∗ ( k − 1 ) + 1 m=n*(k-1)+1m=n∗(k−1)+1
    即总资源=进程数*(单个进程所需资源数-1)+1

例题

判断进程非等待态

步骤1:先主动给

步骤2:看索要

三条蓝线能够满足,但是黑线都无法满足
因此P1,P2,P3为等待态,P4为非等待态

线程

同一个进程中的多个线程可并发执行,线程同时具备就绪、运行、阻塞状态

输入输出(I/O)控制技术

程序查询方式中断驱动方式直接存储器存储
DMA
与CPU串行并行并行
存取数据量字节字节块
由谁负责将数据放入内存CPUCPUI/O设备
特点外设设备总是准备好的,无条件随时接收CPU发来的数据通过中断信号,主动向CPU报告I/O操作已完成仅在传送数据块的开始和结束时才需要CPU干预,通过系统总线进行控制
是否使用中断技术X√√

文件管理

  1. 按文件性质和用途可将文件分为系统文件、库文件和用户文件
  2. 按信息保存期限可将文件分为临时文件、档案文件和永久文件
  3. 按文件的保护方式可将文件分为只读文件、读写文件、可执行文件和不保护文件
  4. UNIX系统将文件分为普通文件、目录文件和设备文件(也称特殊文件)
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/11 1:28:27

Python高光谱遥感影像识别与分类:从数据读取到3D-CNN实战

简介:这份资源面向计算机、遥感与人工智能方向的本科生和研究生,适用于毕业设计、课程设计及项目开发场景,围绕高光谱遥感影像识别与分类这一课题提供完整实现方案。压缩包共24个文件,约6.01MB,以13个Python源码文件为…

作者头像 李华
网站建设 2026/10/11 1:25:31

rea:基于Rust的命令行实时事件流分析工具实战

第一次把 rea 的二进制丢到测试服务器上跑通的时候,我脑子里就一个念头:这东西早该做了。不卖关子,rea 是我最近在团队内部打磨的一个事件流分析工具,全称是 Real-time Event Analyzer,解决的问题特别直白:…

作者头像 李华
网站建设 2026/10/11 1:25:29

Visual C++运行库缺失导致老游戏无法启动?教你一次搞定dll报错

简介:这是一份基于Visual C与MFC框架编写的连连看游戏完整工程源码,面向Windows平台上的C初学者和休闲游戏编程爱好者,可用来学习图形界面搭建、图像匹配消除、用户点击交互等游戏开发核心技巧。压缩包共收录26个文件,总体积183KB…

作者头像 李华
网站建设 2026/10/11 1:24:50

FreeCAD 新手入门:5 步从草图到 3D 参数化模型

FreeCAD 新手入门:5 步从草图到 3D 参数化模型 【免费下载链接】FreeCAD Official source code of FreeCAD, a free and opensource multiplatform 3D parametric modeler. 项目地址: https://gitcode.com/GitHub_Trending/fr/FreeCAD 你想给桌上的设备加一个…

作者头像 李华
网站建设 2026/10/11 1:24:33

Claude Code Mods 实战:用配置、提示词与钩子打造高效 AI 编程工作流

1. 从“闪身步”说起:这个项目到底在折腾什么第一次看到“闪身步”这个词,我脑子里蹦出来的不是武侠,而是游戏里那种贴脸走位、瞬间拉开身位再反打的操作。后来把 Claude Code Mods 这套东西摸了一遍,发现用“闪身步”来形容它&am…

作者头像 李华