软件设计师——操作系统

news2024/9/21 20:04:26

 3564004ba7684821b9ee7777f1d34efb.jpeg

📔个人主页📚:秋邱-CSDN博客
☀️专属专栏✨:软考——软件设计师
🏅往期回顾🏆:C++: 类和对象(上)
🌟其他专栏🌟:C语言_秋邱 

 

一、操作系统总览(⭐)

1.1、考点1、操作系统的作用

按照计算机层次来分:计算机硬件(裸机)、

操作系统、语言处理、应用程序。

操作系统作用

  • 管理系统的硬件、软件、数据资源
  • 控制程序运作
  • 人机之间的接口
  • 应用软件和硬件之间的接口

操作系统工作范围进程、存储、文件、作业、设备管理

1.2、考点2、特殊的操作系统

分类

特点

批处理操作系统

单道批:一次一个作业入内存,作业由程序、数据、作业说明书组成

多道批:一次多个作业入内存,特点:多道、宏观上并行微观上串行

分时操作系统

采用时间片轮转的方式为多个用户提供服务,每个用户感觉独占系统

特点:多路性、独立性、交互性和及时性

实时操作系统

实时控制系统和实时信息系统

交互能力要求不高,可靠性要求高(规定时间内响应并处理

网络操作系统

方便有效共享网络资源,提供服务软件和有关协议的集合主要的网络操作系统有:Unix、Linux和WindowsServer系统

分布式操作系统

任意两台计算机可以通过通信交换信息

是网络操作系统的更高级形式,具有透明性、可靠性和高性能等特性

微机操作系统

Windows:Microsoft开发的图形用户界面、多任务、多线程操作系统Linux:免费使用和自由传播的类Unix操作系统,多用户、多任务、多线程和多CPU的操作系统

嵌入式操作系统

运行在智能芯片环境中

特点:微型化、可定制(针对硬件变化配置)、实时性、可靠性、易移植性(HAL和BSP支持)

二、进程管理(⭐⭐)

2.1、考点1、线程的概念

进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。它由程序块、进程控制块(PCB)和数据块三部分组成。

PCB:PCB是进程存在的唯一标志。内容包含进程标识符、状态、位置信控制信息、队列指针(链接同一状态的进程)、优先级、现场保护区等。

2.1.1、进程与程序

进程与程序的区别:进程是程序的一次执行过程,没有程序就没有进程

程序是一个静态的概念,而进程是一个动态的概念,它由创建而产生,完成任务后因撤销而消亡;进程是系统进行资源分配和调度的独立单位,而程序不是。

2.1.2、线程

进程的2个基本属性:可拥有资源的独立单位;可独立调度和分配资源的基本单位。

2.2、考点2、进程的状态

运行:当一个进程在CPU上运行时。(单处理机处于运行态的进程只有一个)。

就绪:一个进程获得了除CPU外的一切所需资源,一旦得到处理机即可运行。

阻塞:阻塞也称等待或睡眠状态,一个进程正在等待某一事件发生(例如请求I/O等待I/0完成等)而暂时停止运行,此时即使把CPU分配给进程也无法运行,故称进程处于阳寒状态。

挂起原因:

(1)进程过多,主存资源不足,此时必须将某些进程挂起,放到磁盘对换区,暂时不参与调度,以平衡系统负载

(2)系统出现故障,或者是用户调试程序,也可能需要将进程挂起检查问题

2.3、进程调度(⭐️⭐️⭐️)

2.3.1、考点1、PV操作的概念

前面提到了三态的三种状态,进程三个状态之间的转换就是靠PV操作来控制的。PV操作主要就是P操作、V操作和信号量。其中信号量起到了至关重要的作用。

信号量:信号量是一种特殊的变量

信号量可以表示资源数量

信号量为负数时还可以表示排队进程数

P可以简单的理解为资源申请,V可以理解为资源释放。P操作是减法运算(S:=S-

1),当信号量S小于0时申请资源;V操作是加法运算(S:=+1),当信号量小于等于0

时释放资源。

2.3.2、考点2、信号量与PV操作

互斥模型:互斥模型就像“千军万马过独木桥”每一次只能一个人通过,要上桥的时候P(S)进行资源申请(锁死),过桥之后V(S)进行资源释放(解锁。

同步模型:有一个生产者进程和一个消费者进程,它们共享一个有固定大小的缓冲区。生产者不断生产产品并放入缓冲区P(S),消费者从缓冲区中取出产品进行消费V(S)。需要保证生产者不会在缓冲区满时继续生产,消费者不会在缓冲区空时继续消费。

2.3.3、考点3、前驱图与PV操作

若用PV操作控制进程 P1、P2、P3、P4和P5并发执行的过程,需要设置5个信号量S1、S2、S3、S4和S5,且信号的初始值为0。为了方便理解我们把进程用生活中的例子来讲述。

在这个前驱图中,容易位置开始结果都是一样的,假设从d开始搅拌,不能直接搅拌,需要先检查资源,用P来检查。需要先完成前三个进程,完成之后由V来进行通知 ,进程D就能执行, 对没一个前驱活动都要进行检查。

2.4、死锁问题(⭐⭐)

死锁:是指两个以上的进程互相都要求对方已经占有的资源导致无法继续运行下去的现象。

死锁四大条件:互斥、保持和等待、不剥夺、环路等待。

解决死锁的处理:

  1. 死锁预防:(打破四大条件)有序资源分配法、静态资源分配
  2. 死锁避免:银行家算法;
  3. 死锁的检测与解除;
  4. 鸵鸟策略(不予理睬)

进程管理是操作系统的核心,但如果设计不当,就会出现死锁的问题。如果进程在等待一件不可能发生的事,则进程就死锁了。而如果多个进程产生死锁就会造成系统死锁。

:系统有5个进程:A、B、C、D、E。这5个进程都需要4个系统资源。如果系统至少有多少个资源,则不可能发生死锁。

假设每个进程分配三个资源,就有十五个,还是会进程死锁,+1后则不回。

从而推出:系统不可能发生死锁的最小资源数(w-1)*m+1<=n

2.5、进程资源图(资源调度的一中方式)(⭐⭐)

可化简:整体能够执行下去。

非阻塞节点:指那些可以继续执行而不需要等待其他资源的进程节点。

阻塞节点:指那些由于等待其他资源而不能继续执行的进程。

三、存储管理

3.1、段页式存储

3.1.1、考点1:页式存储(⭐⭐⭐)

页式存储:将程序与内存均划分为同样大小的,以页为单位将程序调入内存。(由操作系统完成)

由逻辑地址来推出页帧号,

例如,页式存储系统中,每个页的大小为4B。逻辑地址:10 1100 1101 1110

讲解:总容量 = 存储个数 * 编址内容(默认1B),即存储个数是4K,转化为二进制2^12。因此,页内地址需要占据12位来表示。10 1100 1101 1110那么页号就是2,查表可得,页帧号为6,二进制表示110,页内地址不变最后物理地址110 1100 1101 1110。

注意:页内地址表示在一页内的偏移量,取决于页的大小。

优点:利用率高,碎片小,分配及管理简单。

缺点:增加了系统开销,可能产生抖动现象。

抖动现象:简单理解就是频繁地将页面从内存中移出并从磁盘上的交换空间(或称虚拟内存)中重新载入页面

淘汰依据:访问位为0 > 多个修改位为0

页面置换算法:最优算法、随机算法、先进先出算法(可能产生抖动)、最近最少算法(LRU,不会抖动,LRU的理论依据是“局部性原理”)、

时间局部性:刚被访问的内容,立即又被访问。

空间局部性:刚被访问的内容,临近的空间很快被访问。

3.1.2、考点2:段式存储(⭐⭐)

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

逻辑地址(断号,段内偏移量)

合法地址(0,25k),非法地址(0,35)。段内便宜量不得超过段长。

优点多道程序共享内存,各段程序修改互不影响

缺点内存利用率低,内存碎片浪费大

3.1.3、考点3:段页式存储

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

页面大小固定为 2^13

页的个数最大 2^11

段的个数最大2^8

优点:空间浪费小、存储共享容易、存储保护容易、能动态连接

缺点:由于管理软件的增加,复杂性和开销也随之增加,需要的硬件以及占用的内容有所增加,使得执行速度大大下降

3.2、磁盘管理(⭐️⭐️⭐️)

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


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

  1. 找磁道的时间。
  2. 找块(扇区)的时间,即旋转延迟时间。
  3. 传输时间。

磁道的寻找一般按照逻辑地址来寻找。

磁道的寻找有多种方式:

先来先服务(FCFS)算法、最短寻道时间优先(SSTF)算法、扫描算法(SCAN)、循环扫描(CSCAN)算法

在磁盘调度过程中,同一个进程只能运行一个(输入传送不能同时进行)

(2)可以看出,当读出记录凡并处理结束后,磁头刚好转至记录的开始处,立即就可以读出并处理,因此处理 10 个记录的总时间为 10x(2ms(读记录)+4ms(处理记录))=10X6ms-60ms 。

四、设备管理(⭐️⭐️⭐️)

4.1、I/O软件管理分层

硬件:完成具体的I/0操作。

中断处理程序:I/0完成后唤醒设备驱动程序

设备驱动程序:设置寄存器,检查设备状态

设备无关I/0层:设备名解析、阻塞进程、分配缓冲区

用户级I/O层:发出IO调用。

五、文件管理(⭐️⭐️⭐️)

5.1、考点1、文件相关概念

文件:具有符号名的、在逻辑上具有完整意义的一组相关信息项的集合。

逻辑结构:有结构的记录式文件、无结构的流式文件。

物理结构:连续结构、链接结构、索引结构、多个物理块的索引表。

文件目录:

目录结构

一级目录结构:线性结构,查找速度慢,不允许重名和实现文件共享等

二级目录结构:主文件目录(MFD)+用户目录(UFD)

三级目录结构:树型目录结构(多级目录结构)

5.2、考点2、树形目录结构(绝对路径,相对路径)

★绝对路径:是从盘符开始的路径。

★相对路径:是从当前目录开始的路径。

若当前目录为Program,要求访问f1.java,则:

绝对路径:\Program\Java-prog\f1.java

相对路径:Java-prog\f1.java

5.3、考点3、位示图(位表示比特位)

1)、4096 / 32 = 128,但因为是从0号开始的,所以4096是第129字的第一位

2)、有多内存需要管理:200GB / 1MB = 200 * 2^30 / *2^20 =200*2^10;

有多少位示图字:200 *2^10 / 32 = 6400;

5.4、考点4、索引文件

某文件系统采用索引节点管理,其磁盘索引块磁盘数据块大小均为1KB字节且每个文件索引节点有8个地址项iaddr[0]~iaddr![7],每个地址项大小为4字节,其中iaddr[0]~iaddr[4]采用直接地址索引,iaddr[5]和iaddr[6]采用一级间接地址索引,iaddr[7]采用二级间接地址索引。若用户要访问文件userA中逻辑块号为4和5的信息,则系统应分别采(1)该文件系统可表示的单个文件最大长度是(2)KB。

A. 直接地址访问和直接地址访问

B .直接地址访问和一级间接地址访问

C.一级问接地址访问和一级间接地址访问

D .一级间接地址访问和二级间接地址访问

A .517   B. 1029   C. 65797  .D. 66053

索引项 :1kb / 4 = 256个,

iaddr[0]-iaddr[4]采用直接索引 5个物理盘块,一个5KB

iaddr[5]-iaddr[6]采用一级索引 2*256 KB

iaddr[7]采用二级索引 256*256KB

5KB+2*256 KB+256*256KB=66053KB

六、作业管理

6.1、考点1、作业状态与管理

6.2、考点二、作业算法调度

  • 先来先服务。
  • 短作业优先
  • 时间片轮转法
  • 最高优先权优先法
  • 响应比高优先。响应比高的作业优先启动。 响应比 = (作业等待时间+作业执行时间)/作业执行时间

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

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

相关文章

粘接黑科技标杆专业展会-ASE CHINA 2024 震撼开幕!

2024年9月19日&#xff0c;第27届国际胶粘剂及密封剂展暨第19届国际胶粘带与薄膜展&#xff08;以下简称ASE CHINA 2024&#xff09;在上海新国际博览中心N3-N4-N5馆璀璨揭幕。ASE CHINA作为粘接新材料产业风向标&#xff0c;历经27年的辛苦耕耘&#xff0c;与业界同仁并肩而行…

发布策略说明

发布策略说明 发布策略 区别 标准发布 在部署新版本应用时删除旧版本应用。发布过程中&#xff0c;您的服务会出现短暂中断。 蓝绿发布 应用更新时生成蓝绿两个版本&#xff0c;两个版本互相热备&#xff0c;通过切换路由权重的方式实现不同版本应用的上下线。 该发布策略具…

Moshi: a speech-text foundation model for real time dialogue

视频号 挺神奇的东西 整下来 kyutai-labs/moshi (github.com) git clone https://github.com/kyutai-labs/moshi.git 在线体验 moshi.chat 结束后 点击Download audio Download video 可以下载音频与视频 &#xff08;不过是webm格式&#xff09; 发行版 已上传至资源 小…

Qt (19)【Qt 线程安全 | 互斥锁QMutex QMutexLocker | 条件变量 | 信号量】

阅读导航 引言一、互斥锁1. QMutex&#xff08;1&#xff09;基本概念&#xff08;2&#xff09;使用示例基本需求⭕thread.h⭕thread.cpp⭕widget.h⭕widget.cpp 2. QMutexLocker&#xff08;1&#xff09;基本概念&#xff08;2&#xff09;使用示例 3. QReadWriteLocker、QR…

AI论文写作PPT思维导图PC小程序开发

AI论文写作PPT思维导图PC小程序开发 AI智能PPT功能 一键生成PPT大纲、一键扩写大纲内容、单独扩写某个大纲内容、一键生成内容关键词、单项内容关键词生成、新增大纲项、修改大纲、删除大纲、选择PPT模板、单页模板一键切换、在线编辑模板&#xff1b;支持导出PPTX、JPEG、&am…

nodejs 013:Prect 样式复用(multiple classes)例子

Prect 简单示例 Prect 为使用相同的现代 API 的快速 3kB React 替代方案。代码形式与 React 基本相同。部分语法区别可见 prect-differences-to-react。以下是一个 Prect 简单示例。 Button目录Button.css&#xff1a; .this {display: inline-block;padding: 3px 8px;margi…

执行网络攻击模拟的 7 个步骤

在进攻和防守策略方面&#xff0c;我们可以从足球队和美式足球队身上学到很多东西。球员们会分析对方球队的策略&#xff0c;找出弱点&#xff0c;相应地调整进攻策略&#xff0c;最重要的是&#xff0c;练习、练习、再练习。作为最低要求&#xff0c;网络安全部门也应该这样做…

基于微信的设备故障报修管理系统设计与实现+ssm论文源码调试讲解

2相关技术 2.1微信小程序 小程序是一种新的开放能力&#xff0c;开发者可以快速地开发一个小程序。小程序可以在微信内被便捷地获取和传播&#xff0c;同时具有出色的使用体验。尤其拥抱微信生态圈&#xff0c;让微信小程序更加的如虎添翼&#xff0c;发展迅猛。 2.2 MYSQL数据…

一文彻底搞懂大模型 - OpenAI o1(最强推理模型)

最近这一两周看到不少互联网公司都已经开始秋招提前批面试了。 不同以往的是&#xff0c;当前职场环境已不再是那个双向奔赴时代了。求职者在变多&#xff0c;HC 在变少&#xff0c;岗位要求还更高了。 最近&#xff0c;我们又陆续整理了很多大厂的面试题&#xff0c;帮助一些…

举例说明:自然语言处理实战项目

自然语言处理&#xff08;Natural Language Processing, NLP&#xff09;是人工智能领域的一个重要分支&#xff0c;旨在使计算机能够理解、解释和生成人类语言。以下是一些NLP实战项目的示例&#xff1a; 1. 情感分析&#xff08;Sentiment Analysis&#xff09; 项目描述: …

用 HTML + JavaScript DIY 一个渐进式延迟法定退休年龄测算器

为减轻社会和个人因退休年龄变化带来的冲击&#xff0c;近日&#xff0c;全国人民代表大会常务委员会正式发布了关于实施渐进式延迟法定退休年龄的重要决定。 根据该决定&#xff0c;我国将同步启动对男、女职工法定退休年龄的延迟计划。这一调整将采取渐进式的方式进行&#…

09年408考研真题-数据结构

数据结构 10.【2009统考真题】为解决计算机主机与打印机之间速度不匹配的问题&#xff0c;通常设置一个打印数据缓冲区&#xff0c;主机将要输出的数据依次写入该缓冲区&#xff0c;而打印机则依次从该缓冲区中取出数据。该缓冲区的逻辑结构应该是(B&#xff09;。 A.栈 …

unix中如何查询和修改进程的资源限制

一、前言 一个进程在运行时&#xff0c;会用到各种资源&#xff0c;比如cpu的使用时间、内存空间、文件等等。那么&#xff0c;一个进程能够占用多少资源呢&#xff1f;cpu使用的时间有多长&#xff1f;进程空间有多大&#xff1f;能够创建多少个文件&#xff1f;这个就是本文…

数字IC设计\FPGA 职位经典笔试面试整理--基础篇1

注&#xff1a; 资料都是基于网上一些博客分享和自己学习整理而成的 1&#xff1a;什么是同步逻辑和异步逻辑&#xff1f; 同步逻辑是时钟之间有固定的因果关系。异步逻辑是各时钟之间没有固定的因果关系。 同步时序 逻辑电路的特点&#xff1a;各触发器的时钟端全部连接在一…

蚁群算法(ACO算法)求解实例---旅行商问题 (TSP)

目录 一、采用ACO求解 TSP二、 旅行商问题2.1 实际例子&#xff1a;求解 6 个城市的 TSP2.2 **求解该问题的代码&#xff0c;代码&#xff08;完整代码关注底部微信公众号获取&#xff09;**2.3 代码运行过程截屏2.4 代码运行结果截屏&#xff08;后续和其他算法进行对比&#…

Acwing数据结构:单链表

单链表 主要思想&#xff1a;使用数组实现链表(而不用结构体&#xff0c;结构体代码更长&#xff0c;后续图论也是基于数组实现&#xff09;&#xff0c;即静态链表。因为动态链表使用new申请空间需要较多的时间&#xff0c;而算法要求的是以较少的时间完成任务。 单链表&…

软件测试八股文

Part1 1、你的测试职业发展是什么&#xff1f; 测试经验越多&#xff0c;测试能力越高。所以我的职业发展是需要时间积累的&#xff0c;一步步向着高级测试工程师奔去。而且我也有初步的职业规划&#xff0c;前3年积累测试经验&#xff0c;按如何做好测试工程师的要点去要求自…

appimage 软件创建桌面快捷图标

1、appimage 软件创建桌面快捷图标 1&#xff09;下载 AppImage 文件 首先&#xff0c;确保你已经下载了 AppImage 文件&#xff0c;并且该文件具有可执行权限。你可以通过以下命令为 AppImage 文件添加可执行权限&#xff1a; chmod x /path/to/your-app.AppImage2&#xff…

大模型入门 ch04:实现一个GPT模型

本文是github上的大模型教程LLMs-from-scratch的学习笔记&#xff0c;教程地址&#xff1a;教程链接 LLM大模型主要是参数量大&#xff0c;而不是代码量大。 这是本节的具体内容 首先实现一个GPT的骨架分别实现GPT骨架内的各个部分&#xff0c;包括LayerNorm&#xff0c;GELU,…

shopro前端 短信登录只显示模板不能正常切换

删掉 换成下面的代码 // 打开授权弹框 export function showAuthModal(type smsLogin) {const modal $store(modal);setTimeout(() > {modal.$patch((state) > {state.auth type;});}, 100); }