【软件设计师-从小白到大牛】上午题基础篇:第二章 操作系统

news2025/1/11 12:57:33

文章目录

  • 前言
  • 章节提要
  • 一、进程管理
    • 1、进程的状态
    • 2、前趋图
    • 3、进程的同步与互斥
    • 4、PV操作
    • 6、PV操作与前趋图
    • 7、死锁问题
    • 进程资源图(补充)
    • 真题链接
  • 二、存储管理
    • 1、分区存储组织
    • 2、页式存储组织
    • 3、段式存储组织
    • 4、段页式存储组织
    • 5、快表
    • 6、页面置换算法
    • 单缓冲区、双缓冲区(补充)
    • 磁盘调度算法(补充)
    • 真题链接
  • 三、文件管理
    • 1、索引文件结构
    • 2、文件和树型目录结构
    • 真题链接
    • 3、空闲存储空间的管理
    • 真题链接
  • 四、设备管理
    • 1、数据传输控制方式
    • 2、虚设备与SPOOLING技术
    • 3、微内核操作系统

前言


本系列文章为观看b站视频以及b站up主@zst_2001系列视频所做的笔记,感谢相关博主的分享。如有侵权,立即删除。
视频链接:视频链接(注:文章中有关图片等内容未标明出处均出自该视频)
b站up主页:b站up

章节提要

占比 5-7分
​​​​在这里插入图片描述
在这里插入图片描述

一、进程管理

  • (注:下图来自前言中up主视频)在这里插入图片描述在这里插入图片描述
    (说明:计算机系统层次结构)

1、进程的状态

1)运行:当一个进程在CPU上运行时,则称该进程处于运行状态。

2)就绪:当一个进程除CPU外其他一切资源全部获得,则称该进程处于就绪状态

3)等待(阻塞或睡眠):当一个进程除CPU外还缺少其他资源,则称该进程处于等待状态。

时间片轮转来分配CPU资源,即一个进程从就绪到运行只能运行一个时间片,等时间片到无论任务是否完成均退出运行态转为就绪态,等待下一次调度(时间片轮转)
在这里插入图片描述

2、前趋图

前趋图是一个 有向无循环图
(注:下图来自《软件设计师教程》(第5版)(褚华、霍秋艳主编,清华大学出版社))
在这里插入图片描述
在这里插入图片描述

3、进程的同步与互斥

1) 同步与互斥不互为“反义词”。同步是合作进程间的直接制约问题,互斥是申请临界资源进程间的间接制约问题。

2)进程的同步:在系统中一些需要相互合作、协同工作的进程。
在这里插入图片描述
2)进程的互斥:系统中多个进程因争用临界资源而互斥执行。
在这里插入图片描述
在这里插入图片描述

4、PV操作

1)临界资源:诸进程间需要互斥方式对其进行共享的资源,如打印机、磁带机等。

2)临界区:每个进程中访问临界资源的那段代码称为临界区。

3)信号量S:是一种特殊的变量。S>=0表示某资源的可用数,若S<0,则其绝对值表示阻塞队列中等待该资源的进程数。

4)P操作定义S=S-1,若S>=0,则执行P操作的进程继续执行;若 S<0,则置该进程为 阻塞 状态(因为无可用资源),并将其插入阻塞队列。

5)V操作定义S=S+1,若S>0,则执行V操作的进程继续执行;若 S<=0,则从阻塞状态 唤醒 一个进程,并将其插入就绪队列,然后执行V操作的进程继续。
在这里插入图片描述
6)练习题
在这里插入图片描述

正确答案:AC
解析:付款后需要有V操作来唤醒收银员的收费操作,即a1为V操作,来唤醒b1相同信号量的P操作(没有人付款收银员的收款操作处于“阻塞”状态,有人付款才唤醒收银员的收费操作);而购书者付款后,需要等待收银员的收费操作完成,即付款后还需要P操作进行阻塞(a2),等待收费完成后的V操作进行唤醒(b2)。由此可知a1和b1是相同信号量的V操作和P操作,a2和b2是相同信号量的P操作和V操作。
PV操作解题的核心是找出约束关系(假设先执行某一个进程,然后看会发生什么问题,加入PV操作后可以解决此问题则为正确答案)

6、PV操作与前趋图

在这里插入图片描述
1)例题
在这里插入图片描述

正确答案:CAA
解析:(v处理,P等待),将用到的信号量标到线上(从上到下,从左到右
在这里插入图片描述
每条线箭头的起点位置是V操作,箭头的终点位置是P操作.
在这里插入图片描述

  • (注:下图来自希赛网解析)
    在这里插入图片描述
    (说明:前驱图解题方法)
  • 前驱图解题具体方法说明:有几个箭头需要几个信号量每个箭头信号量按进程编号组成的十进制数从小到大或者直接按上面的方法进行编号),每个进程完成后 (即指出的箭头需要执行V操作每个进程开始前(即指入的箭头需要执行P操作
    (注:下图来自前言中up主视频)
    在这里插入图片描述
    (说明:共4个箭头,需4个信号量;四个箭头分别是P1->P2、P2->P3、P3->P4、P1->P3。按箭头两端的进程编号组成的十进制数从小到大排序:P1->P2、P1->P3、P2->P3、P3->P4(因为12<13<23<34)。所以依次对四个箭头赋予四个信号量:S1、S2、S3、S4。针对每个箭头对箭头指出端为V操作,箭头指入端为P操作即可
  • PV操作是操作系统提供的具有特定功能的原语。利用PV操作可以 实现资源的互斥使用
    P操作用来检查资源是否可用;V操作用来释放资源
  • (注:下图来自希赛网)
    在这里插入图片描述
    在这里插入图片描述(说明:进程管理PV操作相关)
  • 信号量的取值范围:(资源数-进程数)~ 资源数(常考)
  • (注:下图来自前言中up主视频)(了解即可,重点掌握前趋图
    在这里插入图片描述
    (说明:互斥信号量在一个图中成对出现,而同步信号量在两个图中交叉出现

7、死锁问题

1)概念:
在这里插入图片描述

  • (注:下图来自前言中up主视频)在这里插入图片描述
    (说明:发生死锁条件)

2)例题:
在这里插入图片描述

正确答案:13
解析:系统不可能发生死锁的最小资源数n:n>=(w-1)*m+1
(m个进程,每个进程需要资源w个)
利用上述可求得n>=(5-1)*3+1=13。

3)银行家算法
在这里插入图片描述
-内容:
在这里插入图片描述
-例题:
在这里插入图片描述

正确答案:B
解析
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

进程资源图(补充)

  • (注:下图来自前言中up主视频)
    在这里插入图片描述
    在这里插入图片描述
    (说明:处理进程资源图相关问题原则:先分配(资源),再申请(资源);或者先申请(资源)再分配(资源)从而判断是否能够满足要求,如果可以则为非阻塞结点,不可满足则为阻塞结点。方法:从非阻塞结点开始化简,当非阻塞结点满足条件后释放其申请的资源,对剩余进程继续进行分配/申请。当所有进程均可完成时,称该图是 可化简的
    分配:指向P的箭头;申请:P指出的箭头
    非阻塞结点:可完成;可化简(存在一种次序,可以使进程完成)
  • 当一个进程资源图中所有结点均为阻塞结点时,处于死锁状态
  • 线程可与同属一个进程的其它线程共享进程所拥有的全部资源(注:线程与线程之间是不可见的)。

真题链接

  • 在支持多线程的操作系统中,假设进程P创建了若干个线程,那么 该进程中某线程的栈指针 是不能被这些线程共享的。

二、存储管理

1、分区存储组织

在这里插入图片描述
(25k空间空出来原因:可能之前分配的作业已经执行完)

2、页式存储组织

在这里插入图片描述

  • 页面淘汰原则:淘汰在内存中的页号(即状态位为1),优先淘汰访问位为0的页号;若访问位都为1,则优先淘汰修改位为0的页号。(注:淘汰的页号需要在内存中(即淘汰内存中的页号)
  • 分页存储管理:页面大小为4k时,地址结构如图:
    (注:下图来自前言中up主视频)
    在这里插入图片描述
    (说明:做题方法:如果逻辑地址为四位十六进制数表示,则 该十六进制数的第一位表示页号,后三位表示页内地址。若要求该逻辑地址转化为的物理地址( 物理地址=物理块号(页帧号)+页内地址该+不是算术加法,是直接将物理块号(页帧号)和页内地址拼接起来就可以),即 求页号对应的物理块号(页帧号)[直接查表],然后物理块号后面接上页内地址即为物理地址(转换后的物理地址仍然是十六进制))
  • 页面大小为多少kb就看其是2的多少次方,这个次方数就是页内地址的位数,逻辑地址/物理地址中,从后往前,去掉页内地址位数个数字,剩下的为页号。(逻辑地址/物理地址转为二进制后,然后再去掉页内地址位数个数字)

1)例题
在这里插入图片描述

正确答案:D、B
解析逻辑地址=页号+页内地址。页面大小4K=212,说明一个页的页内地址是12位(二进制),高于12位的部分为页号(从右往左数),对应的16进制,页内地址就是3位(从右往左数高于3位的为页号),所以页内地址为A29H,页号为5,物理块号(页帧号)为6(查表),物理地址=页帧号+页内地址,所以物理地址为6A29H。页面淘汰原则:1)淘汰访问位为0;2)多个访问位为0,则淘汰修改位为0。所以淘汰1号页。

3、段式存储组织

在这里插入图片描述

4、段页式存储组织

在这里插入图片描述

  • (注:下图来自前言中up主视频)
    在这里插入图片描述
    (说明:分别数有多少位数字(数的位数=大数-小数+1)来表示段号、段内页号或页内地址即可,所求结果即为 2数的位数分别可代表最多的段数、每个段最大允许的页数、页的大小

5、快表

在这里插入图片描述
快表放在Cache中,慢表放在内存中

6、页面置换算法

在这里插入图片描述
抖动:刚被换出的页面很快又被访问,需重新调入,导致系统频繁地更换页面,以至于一个进程在运行过程中把大部分时间花费在完成页面置换的工作上
1)例题
在这里插入图片描述
2)例题
在这里插入图片描述

正确答案:B、C
解析:没有使用快表说明每读一次程序的块,需要先在内存上来查表,然后读取相应的内存块,所以每一个块需要进行两次内存的访问,总共6个块,所以访问12次内存。默认指令一次性调入(无论占几个块),指令跨页产生一次缺页中断,操作数跨页产生两次缺页中断。 所以产生5次缺页中断。

单缓冲区、双缓冲区(补充)

了解即可

  • (注:下图来自前言中up主视频)在这里插入图片描述
    在这里插入图片描述

磁盘调度算法(补充)

  • 先来先服务(FCFS):根据进程请求访问磁盘的先后次序进行调度。
  • 最短寻道时间优先(SSTF):要求访问的磁道与当前磁头所在的磁道距离最近,使得每次的寻道时间最短。
  • 扫描算法(SCAN)或电梯调度算法
    (注:下图来自前言中up主视频)
    在这里插入图片描述
  • 单向扫描调度算法(CSCAN)或循环扫描算法
    (注:下图来自前言中up主视频)
    在这里插入图片描述

真题链接

  • 在移臂(磁盘)调度算法中,先来先服务和最短寻找(道)时间优先 算法可能会随时改变移动臂(磁头)的运动方向。(重复考,重点记忆)
  • 旋转调度算法
    • 读取记录时间=磁盘旋转速度/记录数
    • 如果是顺序处理,而且没有对信息存储进行优化,则磁头(磁头初始在0)在读取完一个记录后,然后进行处理,由于磁头在处理过程中不会停止,所以,当磁头处理完之后,到达了按顺序读取的下一个记录的下一个记录(应该处理2,但磁头此时已经到达3),即磁头需要旋转一圈,然后来读取下一个记录。所以处理时间为 读取第一个记录的时间+处理第一个记录的时间+(总记录数-1)*(磁头旋转到应该读取的记录的开始位置的时间+读取单条记录的时间+处理单条记录的时间(单缓冲区)
    • 如果对信息存储进行优化,即将记录进行顺序处理的间隔分步,即将每一个记录的下一个读取的记录安排在磁头读取完并处理完记录后,这样磁头处理完记录后就可以直接读取下一条记录,不用再旋转一圈,则时间为 总记录数 *(读取单条记录的时间+处理单条记录的时间)(单缓冲区)。
    • 存取时间=寻道时间+旋转延迟时间+传输时间看清题目是读取多少块,每块之间的寻道时间+块之间的旋转延迟时间和传输时间)。
  • 例题:
    (注:下图来自《软件设计师教程》(第5版)(褚华、霍秋艳主编,清华大学出版社))
    在这里插入图片描述
    在这里插入图片描述

三、文件管理

1、索引文件结构

在这里插入图片描述

  • 多级索引结构
    (注:下图来自前言中up主视频)
    image
  • 磁盘块=数据块=索引块
    1)例题
    在这里插入图片描述

正确答案:C、D
解析:逻辑块号往往从0开始算,逻辑块号为5的存在58号物理块中,1个物理盘块1k大,1个地址4个字节,所以1个索引块可以存1k/4=256个地址,所以逻辑块号为261的存在187号物理块中,101号物理块存放的是二级地址索引表。

2、文件和树型目录结构

在这里插入图片描述

  • 目录结构“××路径”不写(不包括)文件名;“××名”写(包括)文件名
    (注:下图来自前言中up主视频)
    image

真题链接

  • 若系统正在将 目录 文件修改的结果写回磁盘时系统发生崩溃,则对系统的影响相对较大。

3、空闲存储空间的管理

在这里插入图片描述

  • 位示图:每一位对应文件存储器上的一个物理块,取值0和1分别表示空闲和占用
  • 一字节(Byte)等于8bit,字长视具体机器而定
  • 块号从0开始,字号题目没有给出则默认从1开始
  • 一个字对应32个物理块
  • (注:下图来自前言中up主视频)
    imageimage

1)例题
在这里插入图片描述

正确答案:D、B
解析:4195号物理块是第4196个物理块(因为从0开始编号),所以用(4195+1)/32=131.125,所以前面已经填满了131个,当前物理块所占的位在第132个字当中。因为需要占用所以取值必须为“1”,而由图可知4195号物理块在第32个字的第3位置。
在这里插入图片描述
第多少个字从1开始算
多少位置从0开始算

真题链接

  • 在Windows XP操作系统中,用户利用“磁盘管理”程序可以对磁盘进行初始化、创建卷,可以选择使用FAT、FAT32或NTFS文件系统格式化卷。通常将"C:\Windows\myprogram.exe"文件设置成只读和隐藏属性,以便控制用户对该文件的访问,这一级安全管理称之为 文件级 安全管理。
  • 如果系统采用信箱通信方式,当进程调用Send原语被设置成“等信箱”状态时,其原因是 指定的信箱中存满了信件
  • 设计操作系统时不需要考虑的问题是语言编译器的设计实现
  • 嵌入式系统初始化过程主要有3个环节,按照自底向上、从硬件到软件的次序依次为 片级初始化->板级初始化->系统级初始化。系统级初始化主要任务是 以软件初始化为主,主要进行操作系统的初始化
  • 当用户通过键盘或鼠标进入某应用系统时,通常最先获得键盘或鼠标输入信息的是 中断处理 程序。
  • 实时操作系统主要用于有实时要求的过程控制等领域。实时操作系统对于来自外部的事件必须在
    被控对象规定的时间内做出及时响应并对其进行处理
  • 从减少成本和缩短研发周期考虑,要求嵌入式操作系统能运行在不同的微处理器平台上,能针对硬件变化进行结构与功能上的配置。该要求体现了嵌入式操作系统的 可定制性
  • I/O软件隐藏了I/O操作实现的细节,方便用户使用I/O设备
  • 在磁盘调度管理中通常 先进行移臂调度,再进行旋转调度
  • 若磁盘的转速提高一倍,则 旋转等待时间减半
  • 云计算有多种部署模型(Deployment Models)。若云的基础设施是为某个客户单独使用而构建的,那么该部署模型属于 私有云
  • (注:下图来自前言中up主视频)image

四、设备管理

1、数据传输控制方式

在这里插入图片描述

  • (注:下图来自前言中up主视频)image
    (说明:I/O系统的层次结构与每层的主要功能)

2、虚设备与SPOOLING技术

在这里插入图片描述

3、微内核操作系统

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1037485.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

linux 约束

linux 约束 1、约束的概念1.1什么是约束1.2约束的优劣势 2、约束的作用3、约束的分类4、约束的应用场景5、约束的管理5.1创建5.2查看5.3插入5.4删除 6、总结 1、约束的概念 1.1什么是约束 在关系型数据库中&#xff0c;约束是用于限制表中数据规则的一种机制。它可以确保表中…

第一百五十三回 如何实现滑动窗口

文章目录 概念介绍实现方法示例代码 我们在上一章回中介绍了自定义组件实现游戏摇杆相关的内容&#xff0c;本章回中将介绍 如何实现滑动窗口.闲话休提&#xff0c;让我们一起Talk Flutter吧。 概念介绍 我们在本章回中介绍的滑动窗口表示在屏幕底部向上滑动时弹出一个窗口&a…

数量关系(刘文超)

解题技巧 代入排除法 数字特性法 整除特性 比例倍数特性&#xff08;找比例&#xff0c;比例不明显时找等式&#xff09; 看不懂式子时&#xff0c;把所有的信息像表格一样列出来 看不懂式子时&#xff0c;把所有的信息像表格一样列出来

智慧公厕是提升公共厕所管理服务能力的创新举措

在城市化进程加速的今天&#xff0c;公共厕所的管理问题成为让人头疼的难题。随着智慧科技的发展&#xff0c;智慧公厕应运而生&#xff0c;为提升公共厕所综合管理服务能力提供了新思路和解决方案。本文将以智慧公厕领先厂家广州中期科技有限公司&#xff0c;大量精品案例项目…

基于STM32和LORA组网的养老院智能控制系统设计(第十八届研电赛)

一、整体功能 数据采集从机1采集烟雾浓度&#xff0c;PM2.5浓度&#xff0c;甲醛浓度&#xff1b;从机2采集温湿度&#xff0c;光照强度&#xff0c;噪声强度&#xff0c;老人体感温度&#xff1b;从机3收集厨房饮用水的TDS值。3个数据采集从机将采集到的数据显示在本地OLED屏…

idea2023.2.2修改代码区中文字体

使用idea编译代码时&#xff0c;中文默认使用宋体进行显示&#xff0c;可通过以下方式进行修改。 Editor -> Font -> Fallback font

“微信小号”注册攻略!无需绑定手机号也能注册一个新微信

微信作为移动互联时代最重要的App之一&#xff0c;绝大多数人的生活、工作都离不开它。 随着软件普及率的增加&#xff0c;不少人苦恼于工作、生活都在一个微信号上。因此&#xff0c;不少用户会选择注册用于工作和生活的两个单独微信账号来使用。 然而&#xff0c;此前一个手机…

Spring Cloud阿里的nacos注册中心的使用以及Feign远程调用

原文档 https://github.com/alibaba/spring-cloud-alibaba/blob/2022.x/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/readme-zh.md 注册中心nacos使用步骤 添加依赖 <!-- 服务注册/发现--><dependency><groupId>com.al…

Java中如何将String类型的2023年09月21日这个值变成DATE相关的类型

Java中如何将String类型的2023年09月21日这个值变成DATE 可以通过使用Java中的SimpleDateFormat类完成。以下是一个例子&#xff1a; import java.text.SimpleDateFormat; import java.text.ParseException; import java.util.Date;public class Main {public static void ma…

modbusTCP【codesys】

1添加控制器【控制器】&#xff1a; 右击左侧树型菜单【Device】→选择【添加设备】&#xff0c;在弹出对话框中下拉选择【以太网适配器】下的【Ethernet】&#xff0c;最后点击【添加设备】。 注意固件能支持的版本。我的是3.5.17 2添加主站【主站】 3添加从站【从站】 双…

如何将原始按照word为单位索引标识的数据集修改为以char单位

目录 问题描述&#xff1a; 问题解决&#xff1a; 问题描述&#xff1a; 原始数据集中&#xff0c;数据的标注是以word为单位&#xff0c;且计数从1开始的。如下图&#xff1a; 如何修改为以char为单位的&#xff0c;从0开始计数的数据格式&#xff1a; 问题解决&#xff1a;…

网站接公网+配置域名访问宝宝级教程

网站接入公网并配置域名访问【详细教程】 安装Nginx上传网页文件配置Nginx腾讯云配置域名映射接入公网备案流程 本教程将以腾讯云服务器和腾讯云域名为例&#xff0c;介绍如何快速将网站接入公网并配置域名访问。我们将使用xshell工具进行操作&#xff0c;并涵盖安装nginx、上传…

NSS [HXPCTF 2021]includer‘s revenge

NSS [HXPCTF 2021]includer’s revenge 题目描述&#xff1a;Just sitting here and waiting for PHP 8.1 (lolphp). 题目源码&#xff1a;&#xff08;index.php&#xff09; <?php ($_GET[action] ?? read ) read ? readfile($_GET[file] ?? index.php) : inclu…

《JVM》第二篇 JVM内存模型深度剖析与优化

目录 一. JDK体系结构与跨平台特性介绍二. JVM内存模型深度剖析三. 从Jvisualvm来研究下对象内存流转模型四. GC Root与STW机制五. JVM参数设置通用模型 一. JDK体系结构与跨平台特性介绍 二. JVM内存模型深度剖析 按照线程是否共享来划分 TLAB(Thread Local Allocation Buffe…

USB总线-Linux内核USB3.0主机控制器驱动框架分析(十二)

1.概述 如下图所示&#xff0c;Linux内核中USB主机体系结构由五部分组成&#xff0c;分别为Application Software、USB Class Driver、USB Core(USB Driver)、USB Host Controller Driver、USB Host Controller。应用程序处于用户空间&#xff0c;通过系统调用访问Class Drive…

C进阶-数据的存储

数据类型介绍 内置类型&#xff1a; //数据类型中的内置类型 // char //字符数据类型 // short //短整型 // int //整型 // long //长整型 // long long //更长的整型 // float //单精度浮点数 // double //双精度浮点数 //数据类型中的内置类型 单位是字节 // char //字…

使用 ggbreak 包进行Y轴多次截断

简介 最近在科研中需要比较不同模型的预测性能&#xff0c;我们使用相对偏差&#xff0c;均方根误差等来比较结果。此时&#xff0c;可能会得到以下结果&#xff1a; 上图出现以下问题&#xff1a; 问题一&#xff1a;由于经典模型&#xff08;Normal&#xff09;在复杂数据中…

【Unity基础】5.动画曲线

【Unity基础】5.动画曲线 大家好&#xff0c;我是Lampard~~ 欢迎来到Unity基础系列博客&#xff0c;所学知识来自B站阿发老师~感谢 &#xff08;一&#xff09;曲线编辑 (1) 动画曲线 上周我们创建了一个简单动画&#xff0c;让我们的矩形在第0帧时Y轴从0的位置&#…

ElementUI基本介绍及登录注册案例演示

目录 前言 一.简介 二.优缺点 三.Element完成登录注册 1. 环境配置及前端演示 1.1 安装Element-UI模块 1.2 安装axios和qs(发送get请求和post请求) 1.3 导入依赖 2 页面布局 2.1组件与界面 3.方法实现功能数据交互 3.1 通过方法进行页面跳转 3.2 axios发送get请求 …

008_第一代软件系统架构

第一代软件系统架构 文章目录 第一代软件系统架构项目介绍软件架构和软件构架系统框架硬件组成运行系统基础库软件层 系统架构 关键字&#xff1a; Qt、 Qml、 关键字3、 关键字4、 关键字5 项目介绍 欢迎来到我们的 QML & C 项目&#xff01;这个项目结合了 QML&…