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

软考之操作系统知识

目录

1.进程管理-进程的概念

2.进程的三态图和五态图

3.进程的同步与互斥

4.PV操作应用 

5.死锁问题

6.银行家算法

7.存储管理

8.段式存储组织

9.段页式存储组织

10.页面置换算法

11.磁盘管理

12.作业管理

13.索引文件结构

14.树型目录结构

15.空闲存储空间管理

16.数据传输控制方式

17.虚设备与SPOOLING技术


1.进程管理-进程的概念

  1. 进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位
  2. 它由程序块,进程控制块(PCB)和数据块三部分组成
  3. 进程与程序的区别:进程是程序的一次执行过程,没有程序就没有进程
  4. 程序是完成某个特定功能的一系列程序语句的集合,只要不被破坏,它就永远存在
  5. 程序是一个静态的概念,而进程是一个动态的概念,它由创建而产生,完成任务后因撤销而消亡
  6. 进程是系统进行资源分配和调度的独立单位,而程序不是 

2.进程的三态图和五态图

  • CPU/其他资源I/O(运行)
  • CPU调度就绪队列中的进程
  • 运行状态时,CPU时间片用完返回就绪状态
  • 运行状态时,其他资源被占用返回等待(阻塞)状态
  • 其他被占用的资源释放,等待(阻塞)状态,到达就绪状态
  • 五态图是在三态图的基础上,提出了挂起的概念,增加了静止和活跃的转化

3.进程的同步与互斥

  • 直接制约关系
  • 间接制约关系
  • 临界资源

 


4.PV操作应用 

购书收银员案例

  • 我们可以很容易从图中看出 a1是由上面购书状态转移后的,其实此处看成选书会更好,还没有付款嘛,选完书应该释放进程,所以a1为V操作
  • 但是呢,你只是选书完,你还没有付款呢,这时候,肯定不能拿着书就跑了吧?
  • 所以a2为P操作,目的是为了阻塞当前进程,不让该进程结束,阻塞之后,调用收银员进程
  • 所以b1为P操作,b2为V操作,执行完b2就代表你付完款,而收银员也处理完,接受到你的钱了,所以再唤醒阻塞的购书者进程
  • 因此 我们很容易看出 a1:V a2:P b1:P b2:V 至于具体是多少,我们要根据题目去看
  • 而在本题,Sn是空间大小,就可以直接获取答案a1:V1 a2:P2 b1:P1 b2:V2

前趋图PV操作应用 

  • A B C完后时候,会执行V操作,唤醒D操作,执行完之后V操作,唤醒E操作

5.死锁问题

  1. 进程管理是操作系统的核心,但如果设计不当,就会出现死锁的问题
  2. 如果一个进程在等待一件不可能发生的事,则进程就死锁了
  3. 而如果一个或多个进程产生产生死锁,就会造成系统死锁
  4. 例:系统有5个进程:A,B,C,D,E,这5个进程都需要4个系统资源,如果系统至少有多少个资源,则不可能发生死锁
  • 就直接算最坏情况,也不死锁就行了呀
  • (进程数量)*(需要的资源数-1)+ 1
  • 本题:5*(4-1)+1 = 16个资源就行了

 死锁关系图


6.银行家算法

银行家算法:分配资源的原则 

  • 当一个进程对资源的最大需求量不超过系统中的资源数时可以接纳该进程
  • 进程可以分期请求资源,但请求的总数不能超过最大需求量
  • 当系统现有的资源不能满足进程尚需资源数时,对进程的请求可以推迟分配,但总能使进程在有限的时间里得到资源

7.存储管理

页式存储管理 

  • 页式储存:将程序与内存均划分为同样大小的块,以页为单位将程序调入内存
  • 程序:逻辑地址(逻辑页)
  • 内存:物理地址(物理块)

 

  1. 页表中页号就是逻辑页的页号
  2. 页表中块号就是物理块的块号(页帧号)
  3. 页内地址都是一样的
  4. 4KB的页->4×210=212,说明需要12位二进制来表示页内地址
  5. 剩下的就是页号/页帧号
  6. 上图所示:页号10->十进制2 对应十进制6->页帧号110
  7. 加上页内地址就是逻辑地址/物理地址
  • 优点:利用率高,碎片小,分配及管理简单
  • 缺点:增加了系统开销;可能产生抖动现象

将页面从内存淘汰算法 

淘汰原则

  • 访问位为0
  • 修改位为0

8.段式存储组织

段式存储

  • 按用户作业中的自然段来划分逻辑空间,然后调入内存,段的长度可以不一样

 

  • 我们在进行页式存储时,由于页内地址都是一样的,所以我们只需要去需要页号和页帧号就行了
  • 但是我们段氏存储时,由于分段的大小不一,所以我们必须了解段的起始位置,和整个段的长度,并且标注好段号
  • 这样才能找到相应的内存地址
  • 由于段的大小不一致,所以会存在一些碎片

段地址:(段号,不能超过段长)-> 合法地址和不合法地址的考察
优点:多道程序共享内容,各段程序修改互不影响
缺点:内存利用率低,内存碎片浪费大


9.段页式存储组织

段页式存储

  • 段氏与页式的综合体
  • 先分段,再分页
  • 1个程序有若干个段,每个段可以有若干页,每个页的大小相同,但每个段的大小不同

 

  • 优点:空间浪费小,资源共享容易,存储保护容易,能动态连接
  • 缺点:由于管理软件的增加,复杂性和开销也随之增加,需要的硬件以及占用的内容也有所增加,能使执行速度大大下降

10.页面置换算法

  1. 最优(Optimal,OPT)算法:理想算法
  2. 随机(RAND)算法
  3. 先进先出(FIFO)算法:有可能产生“抖动”。例如:432143543215序列,用3个页面,比4个缺页要少
  4. 最近最少使用(LRU)算法:不会“抖动”,LRU的理论依据是局部性原理

时间局限性:刚被访问的内容,立即又被访问
空间局部性:刚被访问的内容,临近的空间很快被访问


11.磁盘管理

 

  • 存取时间=寻道时间+等待时间
  • 寻道时间是指磁头移动到磁道所需的时间
  • 等待时间为等待读写的扇区转到磁头下方所有的时间

磁盘调度算法 

  • 先来先服务(FCFS)
  • 最短寻道时间优先(SSTF)
  • 扫描算法(SCAN):又称电梯算法(上下回来扫描,由内向外,又外向内)
  • 循环扫描(CSCAN)算法:又称单向扫描算法(哪里有问题,就去处理哪里)

读取磁盘数据时间计算 

读取磁盘数据的时间应包括以下三个部分

  • 找磁道的时间
  • 找块(扇区)的时间,即旋转延迟时间
  • 传输时间

某磁盘从一个磁道移至另一个磁道需要10ms
文件在磁盘上非连续存放,逻辑上相邻数据块的平均移动距离为10个磁道,每块的旋转延迟时间及传输时间分别为100ms和2ms,则读取一个100块的文件需要20200 ms的时间
解析:(移动的时间×移动的距离+延迟时间+传输时间)×文件块数
(100×100+100+2)×100 = 20200


12.作业管理

作业状态与作业管理

  • 主要了解作业管理的过程
  • 作业调度在作业执行的过程中,其实就是进程的五态图
  • 作业调用——进程五态图——作业终止

作业调度算法 

  • 先来先服务法
  • 时间片轮转法
  • 短作业优先法
  • 最高优先权优先法
  • 高响应比优先法

13.索引文件结构

 

  • 以索引形式链接文件
  • 13个索引节点(0-12)
  • 0-9 -> 10个直接索引,表示索引节点对应的物理盘快存储的是逻辑页
  • 10号索引节点。对应的是一级间接索引,指向的是地指项,指向的具体的物理盘快,才是存储逻辑页
  • 11号索引节点。对应的是二级间接索引,指向一个物理盘块,里面存了N个地址项,每个地址项又指向一个物理盘块,每个物理盘快又存N个地址项,一个地址项指向最后一个物理盘快(才是逻辑页的内容)
  • 对于0-11号索引节点,一共有10+n+n2个逻辑页
  • 对于12号索引节点,n3个逻辑页
  • 虽然只有13个索引节点,但是最终表示的逻辑页大小有0+n+n2+n3个

实例解析 

  • 假设有0-12的索引节点
  • 0号索引节点对应的物理盘块号是108
  • 也就是说物理盘块号108存储的是0号逻辑页
  • 依次类推到第9号索引节点
  • 10号索引节点对应93号物理盘块,93号物理盘块存了N个地址,第一个是141,所以10逻辑页对应着141物理盘快

求解N 和存储总大小 

  • 假设物理块的大小是1KB
  • 假设一个地址项的大小是4B
  • 那么一个一个物理盘块,可以存放的256个地址项*
  • 直接索引:10个 × 1KB的大小
  • 一级间接索引:N个地址项 × 1KB 但是呢这里的N ,就是一个物理块1KB/4B ,也就是256 KB
  • 二级间接索引:(1KB/4)2 × 1KB
  • 所以0-11号索引节点:一共有10KB+256KB+2562
  • 如果求N的时候,除不尽,向下取整

14.树型目录结构

 

  • 计算机常见目录结构
  • 有些操作系统 root写法
  • 在不同的子目录下可以有相同的名
  • 绝对路径:是从根目录出发到当前目录的路劲值
  • eg:F2 /D1/W2/F2
  • 相对路径:是相对于当前位置的路径
  • eg: 当前D1 F2 W2/F2
  • 文件名

15.空闲存储空间管理

  • 1表示占用
  • 0表示空闲
  • 一个内存划分多个块,一个块用一个二进制来表示
  • 假设有528个物理块
  • 一个物理块需要1个bit 那么一共需要528bit
  • 528/32 = 16…… 16,所以需要17个字(0-15)
  • 每个字又是0-31(32位)

16.数据传输控制方式

  • 数据传输控制方式----->I/O设备管理
  • I/O----->cpu------>内存

控制方式 

程序控制(查询)方式:分为无条件传递和程序查询方式两种

  • 方法简单,硬件开销小,但I/O能力不高,严重影响CPU的利用率

程序中断方式:与程序控制方式相比,中断方式因为CPU无需等待而提高了传输请求的响应速度

  • 中断的时候,会从当前程序停止,然后将中断的位置以栈的方式存储,叫做“保存现场”
  • 中断处理完成之后,会回到之前的断点,接着执行

DMA方法:DMA方式是为了在主存与外设之间实现高速,批量数据交换而设置的。DMA方式比程序控制方式与中断方式都高效

  • CPU只做初始化,不参与传输
  • 实现的是,高速批量的数据交换,相对于上面两种,速度更高

通道方式(专用)
I/O处理机(专用)
效率从高到低依次增加


17.虚设备与SPOOLING技术

  • SPOOLing是关于慢速字符设备如何与计算机主机交换信息的一种技术,通常称为“假脱发技术‘’
  • SPOOLing技术通过磁盘实现

 

对于多个输入设备

  1. 将输入的任务放到输入缓冲区当中
  2. 以输入进程,输入到输入井
  3. 再从输入井,依次的输出
  • 也就是说我们不需要以PV操作检查进程有没有开始,有没有做完
  • 我们都将输入任务放到输入井中,然后从输入井依次输出任务

相关文章:

软考之操作系统知识

目录 1.进程管理-进程的概念 2.进程的三态图和五态图 3.进程的同步与互斥 4.PV操作应用 5.死锁问题 6.银行家算法 7.存储管理 8.段式存储组织 9.段页式存储组织 10.页面置换算法 11.磁盘管理 12.作业管理 13.索引文件结构 14.树型目录结构 15.空闲存储空间管理 …...

【线性代数/计算复杂性理论】积和式的指数时间算法:Ryser算法

文章目录一、积和式的定义二、Ryser算法三、代码实现一、积和式的定义 积和式(permanent)是一种和行列式长得很像的矩阵函数。在介绍积和式之前,我们先看看行列式(determinant)的定义。 首先需要引入“排列”&#x…...

代码随想录 NO52 | 动态规划_leetcode 647. 回文子串 516.最长回文子序列

动态规划_leetcode 647. 回文子串 516.最长回文子序列今天是动态规划最后一天的题了,整个过程已经接近尾声了! 647. 回文子串 确定dp数组(dp table)以及下标的含义 本题如果我们定义,dp[i] 为 下标i结尾的字符串有 dp…...

【数据挖掘】1、综述:背景、数据的特征、数据挖掘的六大应用方向、有趣的案例

目录一、背景1.1 学习资料1.2 数据的特征1.3 数据挖掘的应用案例1.4 获取数据集1.5 数据挖掘的定义二、分类三、聚类四、关联分析五、回归六、可视化七、数据预处理八、有趣的案例8.1 隐私保护8.2 云计算的弹性资源8.3 并行计算九、总结一、背景 1.1 学习资料 推荐书籍如下&a…...

【架构师】零基础到精通——康威定律

博客昵称:架构师Cool 最喜欢的座右铭:一以贯之的努力,不得懈怠的人生。 作者简介:一名Coder,软件设计师/鸿蒙高级工程师认证,在备战高级架构师/系统分析师,欢迎关注小弟! 博主小留言…...

Could not extract response: no suitable HttpMessageConverter

版本:spring-cloud-openfeign-core-2.1.1.RELEASE.jar,spring-webmvc-5.1.14.RELEASE.jar,jetty-server-9.4.41.v20210516.jar,tomcat-embed-core-9.0.48.jar 问题背景 生产服务请求下游服务时偶发抛出下面的异常,下…...

文献计量三大定律之一---洛特卡定律及普赖斯定律

科学生产率是洛特卡定律的基础,科学生产率”(Scientific Productivity))是指科学家(科研人员)在科学上所表现出的能力和工作效率,通常用其生产的科学文献的数量来衡量。 1926年,洛特卡在一篇论文中提出了科…...

2023年软考高级网络规划设计师

网络规划设计师是软考高级考试科目之一,也是比较难的科目,据官方数据统计网规每年的通过率很低,而且每年只有下半年11月份考一次,如果是直接裸考,估计很悬哦~ 但是你参加考试获得证书的过程就是一个学习网络规划系统知…...

数据治理驱动因素 -报考题

数据治理并不是到此为止,而是需要直接与企业战略保持一致。数据治理越显著地帮助解决组织问题,人们越有可能改变行为、接受数据治理实践。数据治理的驱动因素大多聚焦于减少风险或者改进流程。(1)减少风险1)一般性风险…...

2023淘宝天猫38节红包满减优惠活动时间是从几月几号什么时候开始?

2023年淘宝天猫38节活动将于2023年3月2日中午12点正式开始,活动将持续至2023年3月8日晚上23点59分。届时,淘宝天猫将推出一系列的优惠活动和红包福利,为广大女性用户送上节日的祝福和福利。在这个特别的节日里,淘宝天猫为女性用户…...

Hive表优化、表设计优化、Hive表数据优化(ORC)、数据压缩、存储优化

文章目录Hive表优化Hive表设计优化分区表结构 - 分区设计思想分桶表结构 - Join问题Hive中的索引Hive表数据优化常见文件格式TextFileSequenceFileParquetORC数据压缩存储优化 - 避免小文件生成存储优化 - 合并输入的小文件存储优化 - ORC文件索引Row Group IndexBloom Filter …...

LearnOpenGL-入门-着色器

本人刚学OpenGL不久且自学,文中定有代码、术语等错误,欢迎指正 我写的项目地址:https://github.com/liujianjie/LearnOpenGLProject LearnOpenGL中文官网:https://learnopengl-cn.github.io/ 文章目录着色器GLSL数据类型输入与输…...

【谷粒学院】vue、axios、element-ui、node.js(44~58)

44.前端技术-vue入门 🧨Vue.js 是什么 Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。 Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具…...

【一些回忆】2022.02.26-2023.02.26 一个普通男孩的365天

💃🏼 本人简介:男 👶🏼 年龄:18 🤞 作者:那就叫我亮亮叭 📕 专栏:一些回忆 为什么选择在这个时间节点回忆一下呢? 一是因为今天距离2023高考仅剩1…...

OSPF的多区域特性 (电子科技大学TCP/IP实验三)

一.实验目的 1、掌握OSPF 协议中区域的类型、特征和作用 2、掌握OSPF 路由器的类型、特征和作用 3、掌握OSPF LSA 分组的类型、特征和作用 4、理解OSPF 区域类型、路由器类型和OSPF LSA 分组类型间的相互关系 二.预备知识 1、静态路由选择和动态路…...

(四十四)多个事务更新同一行数据时,是如何加锁避免脏写的?

之前我们已经用很多篇幅给大家讲解了多个事务并发运行的时候,如果同时要读写一批数据,此时读和写时间的关系是如何协调的,毕竟要是你不协调好的话,可能就会有脏读、不可重复读、幻读等一系列的问题。 简单来说,脏读、…...

【数据库】第十二章 数据库管理

第12章 数据库管理 数据库的物理存储 关于内存、外存、磁盘、硬盘、软盘、光盘的区别_Allenzyg的博客-CSDN博客_磁盘和硬盘的区别 数据库记录在磁盘上的存储 定长,变长跨块,非跨快 文件的组织方方法: 无序记录文件(堆文件heap或pile file…...

Redis源码---整体架构

目录 前言 Redis目录结构 前言 deps目录 src 目录 tests 目录 utils 目录 重要的配置文件 Redis 功能模块与源码对应 前言 服务器实例 数据库数据类型与操作 高可靠性和高可扩展性 辅助功能 前言 以先面后点的方法推进无特殊说明,都是基于 Redis 5.0.…...

基于springboot+vue的校园招聘系统

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…...

SAP MM学习笔记1-SAP中扩张的概念,如何将一个物料从工厂A扩张到工厂B

MM中在创建物料的时候,最低也得创建如下5个view。 基本数据1 基本数据2 购买管理 会计1 会计2 1,扩张是什么 有时候,你想增加其他的View,比如保管场所 等,你不能用MM02来做编辑,要用MM01来做扩张。这就是扩…...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻

在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...

使用VSCode开发Django指南

使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架,专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用,其中包含三个使用通用基本模板的页面。在此…...

黑马Mybatis

Mybatis 表现层&#xff1a;页面展示 业务层&#xff1a;逻辑处理 持久层&#xff1a;持久数据化保存 在这里插入图片描述 Mybatis快速入门 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/6501c2109c4442118ceb6014725e48e4.png //logback.xml <?xml ver…...

vscode(仍待补充)

写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh&#xff1f; debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序

一、开发环境准备 ​​工具安装​​&#xff1a; 下载安装DevEco Studio 4.0&#xff08;支持HarmonyOS 5&#xff09;配置HarmonyOS SDK 5.0确保Node.js版本≥14 ​​项目初始化​​&#xff1a; ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...

JDK 17 新特性

#JDK 17 新特性 /**************** 文本块 *****************/ python/scala中早就支持&#xff0c;不稀奇 String json “”" { “name”: “Java”, “version”: 17 } “”"; /**************** Switch 语句 -> 表达式 *****************/ 挺好的&#xff…...

动态 Web 开发技术入门篇

一、HTTP 协议核心 1.1 HTTP 基础 协议全称 &#xff1a;HyperText Transfer Protocol&#xff08;超文本传输协议&#xff09; 默认端口 &#xff1a;HTTP 使用 80 端口&#xff0c;HTTPS 使用 443 端口。 请求方法 &#xff1a; GET &#xff1a;用于获取资源&#xff0c;…...

RSS 2025|从说明书学习复杂机器人操作任务:NUS邵林团队提出全新机器人装配技能学习框架Manual2Skill

视觉语言模型&#xff08;Vision-Language Models, VLMs&#xff09;&#xff0c;为真实环境中的机器人操作任务提供了极具潜力的解决方案。 尽管 VLMs 取得了显著进展&#xff0c;机器人仍难以胜任复杂的长时程任务&#xff08;如家具装配&#xff09;&#xff0c;主要受限于人…...

Python+ZeroMQ实战:智能车辆状态监控与模拟模式自动切换

目录 关键点 技术实现1 技术实现2 摘要&#xff1a; 本文将介绍如何利用Python和ZeroMQ消息队列构建一个智能车辆状态监控系统。系统能够根据时间策略自动切换驾驶模式&#xff08;自动驾驶、人工驾驶、远程驾驶、主动安全&#xff09;&#xff0c;并通过实时消息推送更新车…...

【MATLAB代码】基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),附源代码|订阅专栏后可直接查看

文章所述的代码实现了基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),针对传感器观测数据中存在的脉冲型异常噪声问题,通过非线性加权机制提升滤波器的抗干扰能力。代码通过对比传统KF与MCC-KF在含异常值场景下的表现,验证了后者在状态估计鲁棒性方面的显著优…...