软件设计师——操作系统(一)

📑前言

本文主要是【操作系统】——软件设计师——操作系统的文章,如果有什么需要改进的地方还请大佬指出⛺️

🎬作者简介:大家好,我是听风与他🥇
☁️博客首页:CSDN主页听风与他
🌄每日一句:狠狠沉淀,顶峰相见

目录

    • 📑前言
    • 1.采用PV操作实现P1、P2和P3的同步模型如下图所示,则信号量S1和S5( );S2、S4的初值分别为( )
    • 2.采用单缓冲区需要花费的时间为( )μs;采用双缓冲区需要花费的时间为( )μs。
    • 3.在如下所示的进程资源图中,( )。
    • 4.进程P创建了若干个线程,那么( )是不能被这些线程共享的。
    • 5.当访问前页面1不在内存时,淘汰表中页号为( )的页面代价最小。
    • 📑文章末尾

1.采用PV操作实现P1、P2和P3的同步模型如下图所示,则信号量S1和S5( );S2、S4的初值分别为( )

1.某企业的生产流水线上有2名工人P1和P2,1名检验员P3。P1将初步加工的半成品放入半成品箱B1; P2从半成品箱B1取出继续加工,加工好的产品放入成品箱B2;P3从成品箱B2去除产品校验。假设B1可存放n件半成品,B2可存放m件产品,并设置6个信号量S1、S2、S3、S4、S5和S6,且S3和S6的初值都为0。采用PV操作实现P1、P2和P3的同步模型如下图所示,则信号量S1和S5( );S2、S4的初值分别为( )。

img

  • (A) 分别为同步信号量和互斥信号量,初值分别为0和1

  • (B) 都是同步信号量,其初值分别为0和0

  • © 都是互斥信号量,其初值分别为1和1

  • (D) 都是互斥信号量,其初值分别为0和1

  • (A) n、0

  • (B) m、0

  • © m、n

  • (D) n、m

答案与解析

  • 试题难度:一般
  • 知识点:操作系统>信号量与PV操作
  • 试题答案:[[‘C’],[‘D’]]
  • 试题解析:在本题中涉及到的信号量较多,所以先要分析应用场景中哪些地方可能涉及到互斥和同步,这样才能把问题分析清楚。从题目的描述可以了解到整个流程由3名不同的工人协作完成,先进行P1的处理,然后是P2,最后P3,这样要达到协作关系,要使用同步信号量。同时由于P1处理结果会存到B1中,P2再从B1取内容,在此B1不能同时既进行存操作,也进行取操作,这就涉及到互斥。结合配图可以看出:S1信号量是互斥信号量,它确保B1的使用是互斥使用;S5信号量针对B2起到同样的作用。
    S2与S4是同步信号量,S2在P1开始放入半成品时执行P操作,代表资源占用,而在P2取出产品时执行V操作,代表资源释放,这说明S2对应的资源是B1的容量n。同理S4对应m。

2.采用单缓冲区需要花费的时间为( )μs;采用双缓冲区需要花费的时间为( )μs。

2.假设磁盘块与缓冲区大小相同,每个盘块读入缓冲区的时间为15μs,由缓冲区送至用户区的时间是5μs,在用户区内系统对每块数据的处理时间为1μs,若用户需要将大小为10个磁盘块的Doc1文件逐块从磁盘读入缓冲区,并送至用户区进行处理,那么采用单缓冲区需要花费的时间为( )μs;采用双缓冲区需要花费的时间为( )μs。

  • (A) 150

  • (B) 151

  • © 156

  • (D) 201

  • (A) 150

  • (B) 151

  • © 156

  • (D) 201

答案与解析

  • 试题难度:一般
  • 知识点:操作系统>磁盘管理
  • 试题答案:[[‘D’],[‘C’]]
  • 试题解析:img
    单缓冲区:(15+5)×10+1=201
    img
    双缓冲区:15×10+5+1=156

3.在如下所示的进程资源图中,( )。

img

  • (A) P1、P2、P3都是非阻塞节点,该图可以化简,所以是非死锁的
  • (B) P1、P2、P3都是阻塞节点,该图不可以化简,所以是死锁的
  • © P1、P2是非阻塞节点,P3是阻塞节点,该图不可以化简,所以是死锁的
  • (D) P2是阻塞节点,P1、P3是非阻塞节点,该图可以化简,所以是非死锁的

答案与解析

  • 试题难度:一般
  • 知识点:操作系统>进程资源图
  • 试题答案:[[‘D’]]
  • 试题解析:解答本题首先需要了解图所代表的含义。在图中R1与R2代表的是资源,P1-P3代表进程。从资源指向进程的箭头代表有资源分配给了进程,而从进程指向资源的箭头代表进程要申请这个资源(注:每个箭头只代表一个资源或资源请求)。例如:R1一共有2个资源,并将这2个资源中的1个分给了P1,另1个分给了P3,P2此时向R1申请1个资源。
    下面开始分析阻塞点,所谓阻塞点就是从这个进程开始执行,会让程序陷入死锁,执行不了。
    1、尝试先执行P1:P1向R2申请1个资源, R2一共3个资源,已分配了2个,还剩余1个,所以他能满足P1的申请,给P1分配资源。P1分配到资源之后可以执行完毕,并释放自己占用的所有资源。接下来的P2与P3都能执行完毕,所以P1是非阻塞点。
    2、尝试先执行P2:P2向R1申请1个资源,R1一共2个资源,并全部分配出去了,所以目前P2的资源申请无法被满足,既然无法被满足,自然不能执行,也就是阻塞点了。
    3、尝试先执行P3:P3向R2申请1个资源, R2一共3个资源,已分配了2个,还剩余1个,所以他能满足P3的申请,给P3分配资源。P3分配到资源之后可以执行完毕,并释放自己占用的所有资源。接下来的P1与P2都能执行完毕,所以P3是非阻塞点。

4.进程P创建了若干个线程,那么( )是不能被这些线程共享的。

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

  • (A) 该进程中打开的文件
  • (B) 该进程的代码段
  • © 该进程中某线程的栈指针
  • (D) 该进程的全局变量

答案与解析

  • 试题难度:容易
  • 知识点:操作系统>线程的概念
  • 试题答案:[[‘C’]]
  • 试题解析:在多线程运行环境中,每个线程自己独有资源很少,只有:程序计数器,寄存器和栈,其他的资源均是共享进程的,所以也只有这些独有资源是不共享的。

5.当访问前页面1不在内存时,淘汰表中页号为( )的页面代价最小。

5.某进程有4个页面,页号为0~3,页面变换表及状态位、访问位和修改位的含义如下图所示。若系统给该进程分配了3个存储块,当访问前页面1不在内存时,淘汰表中页号为( )的页面代价最小。

img

  • (A) 0
  • (B) 1
  • © 2
  • (D) 3

答案与解析

  • 试题难度:一般
  • 知识点:操作系统>页式存储与页面置换
  • 试题答案:[[‘D’]]
  • 试题解析:在本题中,内存中的3个页面,都是刚刚被访问过的。所以在此,不能以访问位作为判断标准。只能看修改位,修改位中,只有3号页未被修改,如果淘汰3号页,直接淘汰即可,没有附属的工作要做,而淘汰0号或2号,则需要把修改的内容进行更新,这样会有额外的开销。因此本题选择D选项。

📑文章末尾

在这里插入图片描述

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

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

相关文章

鸿蒙开发组件之ForEach列表

一、ForEach函数 ForEach函数是一个迭代函数,需要传递两个必须参数和一个可选参数。主要通过迭代来获取参数arr中的数据不断的生成单个Item来生成鸿蒙中的列表样式 二、先创建单个的Item的UI 通过嵌套Row与Column来实现单个Item的UI。例如图中没有折扣的可以看成一…

Pandas中DataFrame对象的创建与常用属性方法(第2讲)

Pandas中DataFrame对象的创建与常用属性方法(第2讲)         🍹博主 侯小啾 感谢您的支持与信赖。☀️ 🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔…

【Docker】swarm stack部署多service应用

前面我们已经学习过了Docker Compose,它可以用来进行一个完整的应用程序相互依赖的多个容器的编排的,但是缺点是只能在单机模式使用,不能在分布式多机器上使用;前面我们也学习了Docker swarm,它可以将单个服务部署为多…

鸿蒙生态开发就业前景到底好不好

鸿蒙生态开发是指基于华为自主研发的操作系统鸿蒙(HarmonyOS)进行应用程序开发和生态建设。目前,鸿蒙生态开发的前景非常好,原因如下:做鸿蒙应用开发到底学习些啥? (qq.com) 1:政府支持&#x…

万界星空科技mes系统中看板管理

我们很多企业现在都有大屏,那到底万界星空科技低代码云mes系统管理中看板管理有什么作用?我总结了几条: 1.提高车间的生产效率 2.有效的监控设备运行状况 3.控制生产线运行 4.增加和改善用户体验 5.提高工作效率和工作安全性

综述 2019-Genome Biology:非比对方法的benchmark

Zielezinski, Andrzej, et al. "Benchmarking of alignment-free sequence comparison methods." Genome biology 20.1 (2019): 1-18. Benchmarking of alignment-free sequence comparison methods | Genome Biology | Full Text 被引次数:170&#xff…

【算法通关村】链表反转经典问题解析

🚩本文已收录至算法学习之旅 一.基础反转 我们通常有两种方法反转链表,一种是直接操作链表实现反转操作,一种是建立虚拟头节点辅助实现反转操作。 力扣习题链接:206. 反转链表 (1) 直接操作实现反转 我们需要一个变量pre来保…

代码随想录算法训练营第45天| 139.单词拆分 多重背包

JAVA代码编写 139.单词拆分 给你一个字符串 s 和一个字符串列表 wordDict 作为字典。请你判断是否可以利用字典中出现的单词拼接出 s 。 **注意:**不要求字典中出现的单词全部都使用,并且字典中的单词可以重复使用。 示例 1: 输入: s &…

如何利用人工智能+物联网技术实现自动化设备生产

随着科技的发展与行业竞争的日益激烈,制造业也逐渐走向智能化发展。制造业的改革是利用物联网技术和自动化设备,实现生产线的智能化和自适应生产,优化生产流程,提高生产效率和质量,为企业创造更大的价值。 方案概述 智…

Linux 压缩、文件传输与安装

目录 1. 压缩 1.1 tar 1.2 gzip 1.3 zip 1.4 rar 2 文件传输 2.1 网站下载 2.2 scp 传输 2.3 rz 和 sz 2.4 xftp 3.安装 3.1 编译安装 (ngnix) 3.2 rpm 安装 3.3 yum 安装 1. 压缩 1.1 tar 使用 tar 压缩文件时,会保留源文件…

使用MetaMask + Ganache搭建本地私有网络并实现合约部署与互动

我使用Remix编写合约,MetaMask钱包工具和Ganache搭建了一个私有网络,并且实现了合约的部署和互动。 在前面的博客中提到了 Remix在线环境及钱包申请 以及 Solidity的基本语法 ,没看过的小伙伴可以点击链接查看一下,都是在本专栏下…

智能时代:互联网+如何改变我们的生活与工作

引言 随着科技的不断进步和互联网的普及,我们正处在一个智能时代。这个时代被互联网所定义,它深刻地改变了我们的生活和工作方式。从社交互动到日常工作,智能时代的影响无处不在,给人们带来了前所未有的变革和机遇。 互联网的涌…

模电·放大电路的分析方法——图解法

放大电路的分析方法——图解法 静态工作点的分析电压放大倍数的分析波形非线性失真的分析直流负载线与交流负载线图解法的适用范围 在实际测出放大管的输入特性、输出特性和已知放大电路中其它各元件参数的情况下,利用作图的方法对放大电路进行分析即为图解法。 静…

FacetWP WordPress网站高级筛选过滤插件(含所有扩展)

点击阅读FacetWP WordPress网站高级筛选过滤插件原文 FacetWP WordPress网站高级筛选过滤插件向电子商务网站、资源库、搜索页面等添加分面搜索。FacetWP 的过滤元素(称为 facets)动态调整以适应用户输入。这有助于防止出现“未找到结果”,从…

OpenSSL 编程指南

目录 前言初始化SSL库创建SSL 上下文接口(SSL_CTX)安装证书和私钥加载证书(客户端/服务端证书)加载私钥/公钥加载CA证书设置对端证书验证例1 SSL服务端安装证书例2 客户端安装证书创建和安装SSL结构建立TCP/IP连接客户端创建socket服务端创建连接创建SSL结构中的BIOSSL握手服务…

【MATLAB源码-第99期】基于matlab的OFDM系统卡尔曼滤波(kalman)信道估计,对比LS,MMSE。

操作环境: MATLAB 2022a 1、算法描述 卡尔曼滤波器(Kalman Filter)是一种有效的递归滤波器,它能够从一系列的含有噪声的测量中估计动态系统的状态。在无线通信领域,尤其是在正交频分复用(OFDM&#xff0…

Pandas中的Series(第1讲)

Pandas中的Series(第1讲)         🍹博主 侯小啾 感谢您的支持与信赖。☀️ 🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔…

Redis基础入门

第1章:引言 大家好!我是小黑,今天咱们来聊聊Redis。Redis,这个名字你可能在不少地方听过,尤其是在后端开发领域,它可是个大名鼎鼎的角色。,Redis是一个开源的内存中数据结构存储系统&#xff0…

利用jdbc对数据库进行增删改查

步骤/过程: 1,导入驱动包 2,加载驱动包 3,输入信息,进行数据库连接 4,创建 statement对象 5,执行sql语句 6,如果是查询操作,利用ResultSet处理数据&#xf…

Plantuml之类图语法介绍(十六)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…