软考:软件设计师 — 2.操作系统

二. 操作系统

1. 操作系统概念

(1)操作系统的作用

操作系统是计算机硬件之上的第一层软件系统。

操作系统通常用来:

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

可概括为:

  • 进程管理
  • 存储管理
  • 文件管理
  • 作业管理
  • 设备管理

例题:

计算机系统的层次结构如下图所示,基于硬件之上的软件可分为 a、b、c 三个层次,图中 a、b、c 分别表示()。

A.操作系统、系统软件和应用软件

B.操作系统、应用软件和系统软件

C.应用软件、系统软件和操作系统

D.应用软件、操作系统和系统软件

解析:

由操作系统的定义可知,它是计算机硬件之上的第一层软件系统,并且用户使用的通常是有具体功能的应用软件,所以选项 C 正确。    

(2)特殊的操作系统

分类特点
批处理操作系统

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

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

分时操作系统

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

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

实时操作系统实时控制系统和实时信息系统,交互能力要求不高,可靠性要求高(规定时间内响应并处理)
网络操作系统

方便有效共享网络资源,提供服务软件和有关协议的集合。

主要有:Unix、Linux 和 Windows Server

分布式操作系统任意两台计算机可以通过通信交换信息,是网络操作系统的更高级形式,具有透明性、可靠性和高性能等特性。
微机操作系统

Windows:Microsoft 开发的图形用户界面、多任务、多线程操作系统。

Linux:免费使用和自由传播的类 Unix 操作系统,多任务、多用户、多线程和多 CPU 的操作系统。

嵌入式操作系统

运行在智能芯片环境中。

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

例题:

从减少成本和缩短研发周期考虑,要求嵌入式操作系统能运行在不同的微处理器平台上,能针对硬件变化进行结构与功能上的配置。该要求体现了嵌入式操作系统的()。

A.可定制性  B.实时性  C.可靠性  D.易移植性

解析:

根据嵌入式操作系统的特点可知,这是可定制性,针对硬件变化配置,选项 A 正确。容易与易移植性混淆,易移植性是由 HAL(硬件抽象层)和 BSP(板级支持包)支持。

2. 进程的概念

(1)进程与线程

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

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

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

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

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

可参考文章:Java 知识点整理 2 — 多线程 ;Java 知识点整理 9 — JVM

例题:

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

A.该进程中打开的文件

B.该进程的代码段

C.该进程中某些线程的栈指针

D.该进程的全局变量

解析:

根据上图可得,栈指针不能共享,选 C。

(2)进程的状态

进程的状态变化主要有三态模型和五态模型两种。

三态模型

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

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

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

五态模型

相比于三态模型,五态模型多了对就绪和阻塞状态的静止状态,即静止就绪和静止阻塞。

导致挂起的原因:

  • 进程过多,主存资源不足,此时必须将某些进程挂起,放到磁盘,暂时不参与调度,以平衡系统负载。
  • 系统出现故障,或者是用户调试程序,也可能需要将进程挂起检查问题。

 例题:

在单处理机系统中,采用先来先服务调度算法。系统中有 4 个进程 P1、P2、P3、P4(假设按此顺序到达),其中 P1 为运行态,P2 为就绪态,P3、P4 为等待态,且 P3 等待打印机,P4 等待扫描仪。若 P1(),则 P1、P2、P3、P4 的状态分别是()。

A.时间片到  B.释放了扫描仪  C.释放了打印机  D.已完成

A.等待、就绪、等待和等待

B.运行、就绪、运行和等待

C.就绪、运行、等待和等待

D.就绪、就绪、等待和运行

解析:

第一个空不好直接得出,先看第二个空。由于是单处理机系统,所以系统中最多只能存在一个运行状态的进程,并且该题目中进程只有三种状态,即三态模型,三态模型中等待状态无法直接变成运行状态,所以排除 BD。选项 A 中没有运行态,当 P1 变成等待态后,CPU 空闲,此时 P2 应该进入运行态,所以 A 错误。选项 C 正确,P1 进入就绪态,空出了 CPU,P2 获得 CPU 进入运行态。由此可得,P1 进入就绪态只能是时间片用完,所以第一个空选 A。

3. 进程调度

(1)PV 操作的概念

同步与互斥:

同步存在直接制约关系,速度不一致,在一定情况停下等待。例如两人同时出发,一人步行一人开车,开车先到的人等待步行的人抵达,然后再进行后续操作。

互斥存在间接制约关系,如千军万马过独木桥。

而独木桥可以看作是各进程之间互斥访问的资源,称为临界资源。进程中访问临界资源的那段代码称为临界区

进程之间存在并发的特点,通过 PV 操作来实现资源的同步与互斥访问。

PV,即 P(S) 和 V(S)。P 也叫加锁,S 也叫解锁。

S 指信号量,是一种特殊的变量,是全局变量。

  • 信号量可以表示资源数量;
  • 信号量为负数时表示排队进程数(欠的资源数)。

S 代表资源数,有进程申请资源,那么 S 的数量会相应减少,然后判断资源是否足够,例如本来资源有 1 个,申请后还剩 0 个,资源是充足的,够进程用,所以执行后续操作,但如果此时又来了个进程申请资源,此时 S  = -1,资源不够了,进程就会进入阻塞队列等待,S = -1 也表示有一个进程在排队,或者说欠了一个资源。等上一个进程用完后,释放了资源,S 的数量会相应增加,然后检查是否有进程正在排队,注意,此时 S = 0,也代表有进程正在排队,然后通知排队的进程有资源可用了(此时排队的进程进入就绪态)。

例题1:

PV 操作是操作系统提供的具有特定功能的原语。利用 PV 操作可用()。

A.保证系统不发生死锁。

B.实现资源的互斥使用。

C.提供资源利用率。

D.推迟进程使用共享资源的时间。

解析1:

PV 操作就是加锁和解锁,所以可能会发生死锁,A 选项错误。PV 操作能够实现资源的互斥访问,所以 B 选择正确。加锁和解锁会降低资源的利用率,C 选项错误。PV 操作是对临界资源的访问进行控制访问,所以不会影响共享资源,D 选项错误。

例题2:

假设系统中有 n 个进程共享 3 台扫描仪,并采用 PV 操作实现进程同步与互斥。若系统信号量 S 的当前值为 -1,进程 P1、P2 又分别执行了一次 P(S) 操作,那么信号量 S 的值应为()。

A.3  B.-3  C.1  D.-1

解析2:

信号量 S 代表资源数,一开始应为 3,现在的值为 -1,说明有一个进程在排队,之后 P1、P2 又分别进行了一个 P(S),即申请资源,并且信号量为全局变量,所以 S = -1 - 1 -1 = -3,选 B。

(2)信号量与 PV 操作

PV 操作与互斥模型

如,多个进程共享一台打印机问题:

在使用打印机前先去申请资源,检查资源是否足够,加锁使用,使用后释放资源,并通知其它排队者。

在互斥模型中,PV 操作成对存在于一个进程中。互斥信号量 S 的初始值为 1,因为打印机资源一次只能一个进程使用。

PV 操作与同步模型

如,单缓冲区生产者、消费者问题:

在同步模型中,同一对 PV 操作不在一个进程中,而存在于两个进程中。

由分析可知,一个产品被放到缓冲区前,需要先检查缓冲区资源是否足够,即 P(S1),而释放缓冲区资源,是在消费者取出产品后才释放,即 V(S1),所以信号量 S1 代表缓冲区资源,初始值应该为 1。一个产品被放到缓冲区后,产品资源数量应该相应增加,即 V(S2),而产品资源被消耗,是在消费者取出前,去申请使用并检查是否有产品资源,所以信号量 S2 代表产品资源,初始值应该为 0

PV 操作与混合模型

如,在单缓冲区生产者、消费者问题的基础上,增加了互斥模型的概念:

在同步模型中已经提到,S1、S2 分别代表缓冲区资源和产品资源,在这个基础上再增加互斥模型的概念,即信号量 S 代表对缓冲区的访问权,初始值为 1。生产者将产品送到缓冲区前,需要先申请访问权并检查是否有资源,送完后,释放访问权,消费者同样如此,从缓冲区取产品时需要先申请访问权,取到后再释放。P(S) 和 V(S) 存在于同一个进程中,是互斥模型,这样就形成了一个同步模型与互斥模型同时存在的混合模型。

例题:

假设铁路自动售票系统有 n 个售票终端,该系统为每个售票终端创建一个进程 Pi(i = 1,2,…,n)管理车票销售过程。假设 Tj(i = 1,2,…,m)单元存放某日某趟车的车票剩余票数,Temp 为 Pi 进程的临时工作单元,x 为某用户的购票张数。Pi 进程的工作流程如下图所示,用 PV 操作实现进程间的同步与互斥。初始化时系统应将信号量 S 赋值为()。图中(a)、(b)、(c)处应分别填入()。

A.n-1  B.0  C.1  D.2

A.V(S)、P(S) 和 P(S) 

B.P(S)、P(S) 和 V(S)

C.V(S)、V(S) 和 P(S)

D.P(S)、V(S) 和 V(S)

解析:

由图可知,进程首先按用户需求找到单元 Tj,然后将 Tj 的值赋值给临时工作单元 Temp,即剩余车票数,接下来是对 Temp 的判断,看 Temp 的值(剩余车票数)是否大于用户购票数。如果大于,则购票并减少剩余车票数,输出 x 张票;如果小于,则提示无票。因此整个购票过程相当于是依靠 Temp 来进行暂存,因为不可能让多个用户同时去操作剩余票数,假设 Tj = 2,即还剩两张票,如果来了两个用户都去购买两张票,肯定只有一个用户能成功买上,另一个会提示无票。因此 Temp 就相当于缓冲区资源,每次仅允许一个进程使用,所以初始信号量 S 的值为 1,代表缓冲区资源,即 Temp 的数量。那么用户在购票前,就需要先加锁,即 P(S),Temp 的值要么大于等于 x,可以购票,要么小于 x,无法购票,两条路只能走一条,所以每条路都会进行解锁释放缓冲区资源,即 V(S)。典型的互斥模型,同一对 PV 操作同时存在于一个进程中。所以选择 CD。

(3)前趋图与 PV 操作

前趋图

图中每个节点代表一个进程;每个节点所指向的下一个节点,为它的后继,自己为下一个节点的前趋,如 D 是 A 的后继节点,A 是 D 的前趋节点;每个节点的间线流出代表 V,即释放资源,流入代表 P,申请资源。

举例:上述前趋图代表包饺子的过程,A 是绞肉,B 是切葱末,C 是切姜末,D 是搅拌,E 是包饺子。

整个流程有严格的先后顺序,肯定不能先搅拌再绞肉切葱姜末。信号量 Sa、Sb、Sc、Sd 的初始值都是 0。进程 A、B、C 完成后,都进行 V 操作,即先释放资源,资源数增加,然后进程 D 在搅拌前,需要先申请资源并判断是否充足,即进行 3 次 P 操作,然后搅拌,搅拌完成后,再 V(Sd),释放资源,最后进程 E 在进行包饺子前先申请资源并判断,然后包饺子。 

先根据前趋图标注每个节点的 PV,然后顺着做就可以了。记住,流出代表 V,流入代表 P

例题:

进程 P1、P2、P3、P4、P5 的前趋图如下所示:

若用 PV 操作控制进程 P1、P2、P3、P4、P5 并发执行的过程,则需要设置 5 个信号 S1、S2、S3、S4、S5,且信号量 S1 ~ S5 的初值都等于零。下图中 a 和 b 处应分别填();c 和 d 处应分别填();e 和 f 处应分别填()。

1.  A.V(S1) P(S2) V(S3)  B.P(S1) V(S2) V(S3)  C.V(S1) V(S2) V(S3)  D.P(S1) P(S2) V(S3)

2.  A.P(S2) P(S4)  B.P(S2) V(S4)  C.V(S2) P(S4)  D.V(S2) V(S4)

3.  A.P(S4) V(S4) V(S5)  B.V(S5) P(S4) P(S5)  C.V(S3) V(S4) V(S5)  D.P(S3) P(S4) V(S5)

解析:

先根据前趋图标出每个节点的 PV:

根据图示,首先看 a 和 b。P1 有两个流出,所以应该有两个 V 操作,分别流向 P2 和 P3,所以 a 应该填两个 V 操作,即 V(S1) 和 V(S2),P2 进程得到 S1 资源后先进行 P 操作,即 P(S1),已给出,然后进行 V 操作,即 V(S3)。所以第一个空选 C;然后看 c 和 d,P3 进程得到 S2 资源后应该先进行 P 操作,即 P(S2),然后进行 V 操作,即 V(S4),因此第二个空选 B;最后看 e 和 f,P4 进程得到 S3 资源后先进行 P 操作,即 P(S3),已给出,然后进行 V 操作,V(S5),然后 P5 进程有两个 P 操作,分别申请 S4、S5,所以有 P(S4) 和 P(S5),第三个空选 B。注意每个进程释放后的资源标识。

后续会不断更新整理。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

汽车零配件行业看板管理系统应用

生产制造已经走向了精益生产,计算时效产出、物料周转时间等问题,成为每一个制造企业要面临的问题,工厂更需要加快自动化,信息化,数字化的布局和应用。 之前的文章多次讲解了企业MES管理系统,本篇文章就为大…

HybridCLR原理中的重点总结

序言 该文章以一个新手的身份,讲一下自己学习的经过,大家更快的学习HrbirdCLR。 我之前的两个Unity项目中,都使用到了热更新功能,而热更新的技术栈都是用的HybridCLR。 第一个项目本身虽然已经集成好了热更逻辑(使用…

楼道灯微波雷达模块模组,智能感应uA级超低功耗替换红外传感器,飞睿助力绿色照明

随着科技的飞速发展,LED楼道灯早已不仅仅是照亮我们回家路的工具,它们正变得越来越智能、高效和环保。今天,就让我们一起探索LED楼道灯背后的科技——飞睿智能微波雷达模块模组,以及它如何以超低功耗(uA级别&#xff0…

信息化安全管理怎么做

企业如何做好安全管理工作?检查频次多了怕影响子正常生产经营,效益低下,检查频次少了又担心管控不住。”这是安全管理部综合业务室的困惑,也是很多企业的困惑。面对企业在安全管理中的困惑与挑战,采用信息化平台与精细化管理策略…

强烈推荐!!李沐老师《动手学深度学习》最新Pytorch版!

动手学深度学习(PyTorch版)》是由李沐、Aston Zhang和孔德威共同编写的教材,专为深度学习初学者和实践者设计。本书使用PyTorch作为主要的深度学习框架,全面系统地介绍了深度学习的基本理论、常见模型和实际应用技巧。 书中内容包括深度学习的基础知识、…

华南师范大学“大学生校外实践教学基地”授牌仪式暨见习参观活动圆满结束

为促进校企合作的深入发展,培育出具有实际应用技能的人才,7月9日,华南师范大学数学科学院与广东泰迪智能科技股份有限公司联合开展“大学生校外实践教学基地”授牌仪式暨见习参观活动。华南师范大学数学科学院数据科学系主任陈艳男、副主任陈…

物联网实训室建设可行性报告

一、建设物联网实训室的目的和意义 随着信息技术的快速发展,物联网(IoT)已成为推动社会进步和经济发展的关键技术之一。物联网技术的集成应用,不仅能够提高生产效率,还能促进智慧城市、智能家居、智能农业等多个领域的…

企业网站源码系统 自主快速搭建响应式网站 海量模版随心选择 带完整的源代码包以及搭建教程

系统概述 企业网站源码系统,是一款专为中小企业量身定制的网站建设解决方案。该系统基于先进的Web开发技术,融合了模块化设计理念和用户友好的操作界面,旨在帮助企业用户无需编程基础,即可轻松搭建出符合自身需求的响应式网站。通…

星环科技推出语料开发工具TCS,重塑语料管理与应用新纪元

5月30-31日,2024向星力未来数据技术峰会期间,星环科技推出一款创新的语料开发工具——星环语料开发工具TCS(Transwarp Corpus Studio),旨在通过全面的语料生命周期管理,极大提升语料开发效率,助…

衣服、帽子、鞋子相关深度学习数据集大合集(2)

继续为大家分享关于衣帽鞋子的深度学习数据集,主要有衣服、帽子、鞋子、短裤、短袖、T恤等。 1、人头上带着各种帽子图片数据集 数据格式:图片 是否标注:已标注 标注格式:yolov8 图片数量:1853张 数据查看地址&a…

捷配生产笔记-细间距芯片的表面处理工艺:OSP与沉金工艺的重要性

在现代电子制造领域,随着技术的进步,电子设备变得越来越小型化和高性能化。细间距芯片作为实现这一目标的关键组件,其制造工艺要求极为严格。在这些要求中,表面处理工艺尤为关键,因为它直接影响到芯片的焊接质量和长期…

叉车司机疲劳检测系统解决方案

在日益繁忙的物流仓储和工业制造领域,叉车司机的工作强度逐渐增大,疲劳驾驶的风险也随之提升。因此,我们提出了一套能够准确检测叉车司机疲劳状态的系统,以确保驾驶安全,提高工作效率。 安全监控功能主要透过三颗独立摄…

Git协作

文章目录 Git协作冲突冲突的发生情况解决冲突如何处理冲突 1 分支1.1 什么是Git分支1.2 创建分支 2 切换分支2.1 指向分支2.2 暂存分支切换分支与未提交更改的处理使用 Stash 临时保存更改Stash 的工作原理:场景设定使用 Git Stash 3 远程分支3.1 快进合并快进合并的…

亲测,爱回收严选买电脑真的靠谱

近日想买电脑,在某东的爱回收严选看到了9成新的MacBook Pro 2020,因为之前在爱回收严选买手机安全下车,所以我对这个店铺还是信任的,这次买电脑也就没有多犹豫,爱回收严选也确实没让我失望! 爱回收严选买二…

为什么大多数过来人还是建议你考一本HCIE

HCIE认证是华为推出的高级网络工程师认证。 然而,对于是否值得考取HCIE,许多人有不同的看法。 有些人质疑它的价值,但也有很多过来人强烈推荐。 今天探讨一番。为什么尽管有质疑声,许多经验丰富的老网工还是建议你考一本HCIE。 01…

MySQL的约束键多表查询

约束 概念 概念:约束是作用于表中字段上的规则,用于限制存储在表中的数据。目的:保证数据中数据的正确、有效性和完整性。 外键约束 概念 ​ 外键用来让两张表的数据之间建立连接,从而保证数据的一致性和完整性。 注意&#x…

Autosar网络管理:发出第一帧网络管理报文的方法

Autosar网络管理:发出第一帧网络管理报文的方法 1. 为什么要第一帧发出网络管理报文 很多OEM要求CAN网络管理第一帧发出的是网络管理报文,目的是为了快速唤醒CAN网络 2. 节点外发第一帧报文不是网络管理报文的原因 首先根据AUTOSAR CANNM规范要求,节点要能够发出网络管理…

SepViT: Separable(分离式) Vision Transformer

Vision Transformers(ViT)在一系列的视觉任务中取得了显著的成功。然而,这些Transformer模型通常依赖大量的计算成本来实现高性能,这使得在资源受限的设备上部署它们变得非常困难。研究者们从深度可分离卷积(depthwise separable convolution)中汲取经验,并模仿其设计理…

构建高质量数据集与智能数据工程平台:播客AI Odyssey深度对话实录

对话整数智能联创和前IDEA研究员:构建高质量数据集与智能数据工程平台 - AI Odyssey | 小宇宙 - 听播客,上小宇宙 人工智能技术的日益深远发展,对人工智能的性能提升与技术迭代提出了新的要求。在大模型训练中,已有的研究和实践表…

机器学习笔记之监督学习

基本概念 用于训练模型的数据集称为:训练集 成本函数/代价函数:指示模型的运行情况,用于衡量训练数据与该直线的拟合程度。将预测值和目标值做差,该差值也被称为“损失值”。 例如我们需要计算平均的平方误差来衡量 成本函数/…