软件设计师——操作系统

 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.rhkb.cn/news/428919.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Qt_窗口界面QMainWindow的介绍

目录 1、菜单栏QMenuBar 1.1 使用QMainWindow的准备工作 1.2 在ui文件中设计窗口 1.3 在代码中设计窗口 1.4 实现点击菜单项的反馈 1.5 菜单中设置快捷键 1.6 菜单中添加子菜单 1.7 菜单项中添加分割线和图标 1.8 关于菜单栏创建方式的讨论 2、工具栏QToolBar …

谷歌-BERT-“bert-base-chinese ”

1 需求 需求&#xff1a;自动下载模型和分词器 需求&#xff1a;手动导入模型和分词器 需求&#xff1a;pipeline使用预训练模型 需求&#xff1a;训练和评估 需求&#xff1a;测试 关键词&#xff1a;训练数据集、评估数据集、测试数据集 需求&#xff1a;上线 2 接口 3 自…

[UTCTF2020]sstv

用goldwave和010editor打开均未发现线索&#xff0c; 网上搜索sstv&#xff0c;豆包回答如下&#xff1a; 慢扫描电视&#xff08;Slow Scan Television&#xff0c;简称 SSTV&#xff09;是一种通过无线电传输和接收静态图像的技术。 一、工作原理 SSTV 通过将图像逐行扫描并…

鸿蒙OpenHarmony【轻量系统内核通信机制(互斥锁)】子系统开发

互斥锁 基本概念 互斥锁又称互斥型信号量&#xff0c;是一种特殊的二值性信号量&#xff0c;用于实现对共享资源的独占式处理。 任意时刻互斥锁的状态只有两种&#xff0c;开锁或闭锁。当任务持有互斥锁时&#xff0c;该互斥锁处于闭锁状态&#xff0c;这个任务获得该互斥锁…

利用Metasploit进行信息收集与扫描

Metasploit之信息收集和扫描 在本文中&#xff0c;我们将学习以下内容 使用Metasploit被动收集信息 使用Metasploit主动收集信息 使用Nmap进行端口扫描 使用db_nmap方式进行端口扫描 使用ARP进行主机发现 UDP服务探测 SMB扫描和枚举 SSH版本扫描 FTP扫描 SMTP枚举 …

基于python上门维修预约服务数据分析系统

目录 技术栈和环境说明解决的思路具体实现截图python语言框架介绍技术路线性能/安全/负载方面可行性分析论证python-flask核心代码部分展示python-django核心代码部分展示操作可行性详细视频演示源码获取 技术栈和环境说明 结合用户的使用需求&#xff0c;本系统采用运用较为广…

Git使用详解:从安装到精通

前言 什么是Git Git是一个分布式版本控制工具&#xff0c;主要用于管理开发过程中的源代码文件&#xff08;Java类、xml文件、html页面等&#xff09;&#xff0c;在软件开发过程中被广泛使用。 可以理解&#xff1a; git是一个管理源代码的工具&#xff0c;主要用于企业团队开…

接口自动化框架入门(requests+pytest)

一、接口自动化概述 二、数据库概述 2.1 概念 存储数据的仓库&#xff0c;程序中数据的载体 2.2 分类 关系型数据库&#xff1a;安全 如mysql&#xff0c;oracle&#xff0c;SQLLite database tables 行列 非关系型数据库&#xff1a;高效 如redis&#xff0c;mongoDB 数…

学习大数据DAY59 全量抽取和增量抽取实战

目录 需求流程&#xff1a; 需求分析与规范 作业 作业2 需求流程&#xff1a; 全量抽取 增量抽取 - DataX Kettle Sqoop ... 场景: 业务部门同事或者甲方的工作人员给我们的部门经理和你提出了新的需 求 流程: 联系 > 开会讨论 > 确认需求 > 落地 需求文档( 具体…

4.提升客户服务体验:ChatGPT在客服中的应用(4/10)

本文大纲旨在指导撰写一篇全面探讨ChatGPT如何通过优化客户服务流程、提供实际应用案例和用户反馈&#xff0c;以提升客户服务体验的深入博客文章。 引言 在当今竞争激烈的商业环境中&#xff0c;客户服务已成为企业成功的关键因素。优质的客户服务不仅能够增强客户满意度和忠…

天池Fashion AI 比赛失败经历分享

关联比赛: FashionAI全球挑战赛—服饰关键点定位 昨天是天池Fashion AI初赛Deadline&#xff0c; 成绩出来复赛都没能进&#xff0c;虽然结果很遗憾&#xff0c;但在比赛的过程中也接触到了不少的新东西&#xff0c;希望能在这里把我尝试过的方法都分享出来。作为对自己的总结…

Why Is Prompt Tuning for Vision-Language Models Robust to Noisy Labels?

文章汇总 本文的作者针对了提示学习的结构设计进行了分析&#xff0c;发现了一些规律&#xff1a; 1)固定的类名令牌为模型的优化提供了强正则化&#xff0c;减少了由噪声样本引起的梯度。 2)从多样化和通用的web数据中学习到的强大的预训练图像文本嵌入为图像分类提供了强大…

基于kubernetes-nmstate配置节点网络

kubernetes-nmstate 简介 kubernetes-nmstate 通过 Kubernetes API 驱动的声明式节点网络配置。 随着混合云的出现&#xff0c;节点网络设置变得更加具有挑战性。不同的环境有不同的网络要求。 容器网络接口&#xff08;CNI&#xff09;标准实现了不同的解决方案&#xff0c;…

简单多状态dp第二弹 leetcode -删除并获得点数 -粉刷房子

740. 删除并获得点数 删除并获得点数 分析: 使用动态规划解决 这道题依旧是 打家劫舍I 问题的变型。 我们注意到题目描述&#xff0c;选择 x 数字的时候&#xff0c; x - 1 与 x 1 是不能被选择的。像不像 打家劫舍 问题中&#xff0c;选择 i 位置的金额之后&#xff0c;就不…

更高效的搜索工具,国内免费好用的AI智能搜索引擎工具

搜索引擎是我们获取信息的重要渠道&#xff0c;然而由于搜索引擎搜索结果存在较多的广告以及一些无关内容&#xff0c;这使我们的搜索效率变得更低效。小编就和大家分享几款国内免费好用的AI智能搜索工具&#xff0c;提高搜索效率。 1.开搜AI搜索 开搜AI搜索是一款基于深度学…

低版本SqlSugar的where条件中使用可空类型报语法错误

SQLServer数据表中有两列可空列&#xff0c;均为数值类型&#xff0c;同时在数据库中录入测试数据&#xff0c;Age和Height列均部分有值。   使用SqlSugar的DbFirst功能生成数据库表类&#xff0c;其中Age、Height属性均为可空类型。   开始使用的SqlSugar版本较低&…

Zabbix 6.4添加中文语言

/usr/share/zabbix/include/locales .inc .phplocale -agrep “zh_CN" yum install langpacks-zh_CN.noarch y y y

Linux | 探索 Linux 信号机制:信号的产生和自定义捕捉

信号是 Linux 操作系统中非常重要的进程控制机制&#xff0c;用来异步通知进程发生某种事件。理解信号的产生、阻塞、递达、捕捉等概念&#xff0c;可以帮助开发者更好地编写健壮的应用程序&#xff0c;避免由于未处理的信号导致程序异常退出。本文将带你从基础概念开始&#x…

利士策分享,自我和解:通往赚钱与内心富足的和谐之道

利士策分享&#xff0c;自我和解&#xff1a;通往赚钱与内心富足的和谐之道 在这个快节奏、高压力的时代&#xff0c;我们往往在追求物质财富的同时&#xff0c;忽略了内心世界的和谐与平衡。 赚钱&#xff0c;作为现代生活中不可或缺的一部分&#xff0c;它不仅仅是生存的手段…

【Godot4.3】胶囊形的偏移获取法

概述 之前用半圆弧拼接的方式求过胶囊形&#xff0c;在逐渐熟练使用Geometry2D的过程中&#xff0c;发现通过线段求端点是圆角类型的偏移多边形&#xff0c;获得的就是胶囊形。 所以我们有了第二种胶囊形求法。 测试代码 tool extends Node2D## 横向宽度 export var width:…