当前位置: 首页 > news >正文

操作系统题目分类总结 | 进程管理 内存管理 文件系统 设备管理

系列文章如下

学习过程中一定要有系统观念(知识框架,每一章开头都会有一个思维导图),知道目前自己在学习的是哪一板块的内容,和前面有什么样的联系

操作系统的很多知识点前后都是联系非常紧密的,去一点一点理解而不是死记硬背会学习的非常愉快的!!!

操作系统相关文章

概述,初步了解操作系统功能及其一些概念

操作系统(一)| 概述 作业 批处理 OS运行环境要求 基本特征-CSDN博客

进程管理部分,重头戏

操作系统(二 )| 进程控制 进程状态 进程描述 进程控制 进程同步互斥-CSDN博客

操作系统(三)| 进程管理上 进程状态 同步 互斥-CSDN博客

操作系统(三)| 进程管理下 经典进程问题分析 线程 死锁-CSDN博客

内存管理部分

操作系统(四)| 内存管理 实存储器管理 虚拟存储器管理 分页 分段式管理-CSDN博客

文件系统管理部分

操作系统(五)| 文件系统上 结构 存取方式 文件目录 检索-CSDN博客

操作系统(六)| 文件系统下 文件使用 共享 保护-CSDN博客

设备管理部分

操作系统(七)| 设备管理-- 端口 驱动程序 基本I/O控制 磁盘I/O-CSDN博客


文章目录

  • 1 进程管理题目
    • 1.1 进程并发多情况分析题
    • 1.2 进程并发P,V操作分析题
    • 1.3 进程调度分析题
    • 1.4 方案设计评价综合题
  • 2 内存管理题目
    • 2.1 虚拟存储管理——物理地址计算题
    • 2.2 虚拟存储管理——置换调度算法题
  • 3 文件系统题目
    • 3.1 目录项分解法读盘次数分析题
  • 4 设备管理题目
    • 4.1 磁盘调度算法计算题
    • 4.2 磁盘访问时间计算

1 进程管理题目

1.1 进程并发多情况分析题

**例题1 **

设有两个进程P1和P2,其执行代码分别如下:

进程P1 进程P2

A; C;

B; D;

​ E;

其中,A、B、C、D、E都是原子操作。请给出进程P1和P2并发执行时所有可能的执行轨迹。


答案1

A C B D E

A C D B E

A C D E B

A B C D E

C A D B E

C A B D E

C D A B E

C D A E B

C D E A B

1.2 进程并发P,V操作分析题

例题1

共享缓冲区问题。三个进程P1、P2、P3互斥使用一个包含N(N>0)个单元的缓冲区。P1每次用produce()生成一个正整数并用put()送入缓冲区某一空单元中;P2每次用getodd()从该缓冲区中取出一个奇数并用countodd()统计奇数个数;P3每次用geteven()从该缓冲区中取出一个偶数并用 counteven()统计偶数个数。试用信号量的P、V操作设计该问题的同步算法,给出所用共享变量(如果需要)和信号量及其初始值,并说明各自的含义。

答案1

题目要求分析

1 访问缓冲区之间三个进程要互斥

2 生成数字放入之前要保证,有空余的单元格

3 取偶数时要保证有偶数,取奇数时要保证有奇数

1.remainder=N// 缓冲区剩余的单元格  
2.  
3.mutex=1 //缓冲区互斥访问  
4.odd_number=0//缓存区内奇数个数  
5.even_number=0//缓存区内偶数个数  
6.//生成进程  
7.void P1(void){  
8.    P(remainder) //检测是否有剩余的单元格  
9.    P(mutex);  
10.    num=produce();//生成一个数  
11.    if(num为偶数):  
12.        even_number++;  
13.    else  
14.        odd_number++;  
15.    put();//送入缓存区  
16.    V(mutex);  
17.}  
18.  
19.void P2(void){  
20.    P(odd_number)  //检测是否有偶数  
21.    P(mutex);  
22.    getodd();  
23.    odd_number=countodd();  
24.    V(mutex);  
25.    V(remainder) //剩余单元格加一  
26.}  
27.  
28.void P3(void){  
29.    P(even_number)   //检测是否有奇数  
30.    P(mutex);  
31.    geteven();  
32.    even_number=counteven();  
33.    V(mutex);  
34.    V(remainder) //剩余单元格加一  
35.}  

1.3 进程调度分析题

例题1

设有5个进程A、B、C、D、E(没有I/O),就绪时刻和运行时间如下:

进程 就绪时刻 运行时间

A 0 3

B 2 6

C 4 4

D 6 5

E 8 2

分别采用下列调度算法,给出调度顺序,计算平均周转时间和平均带权周转时间(忽略进程切换开销)。

1)先来先服务

2)时间片轮转(时间片大小=1)

3)时间片轮转(时间片大小=4)

4)短进程优先

说明:若进程P1执行时间片到的时刻与进程P2的就绪时刻相等,则认为进程P2先处于就绪状态。

答案1

(1)先来先服务顺序为 ABCDE

周转时间和=3+7+9+12+12=43

平均周转时间=43/5=8.6

平均带权周转时间=(3/3+7/6+9/4+12/5+12/2)/5=2.56

(2)顺序为 AABA BCBD CBED CBED CBDD

周转时间和=4+16+13+14+7=54

平均周转时间=54/5=10.8

带权周转时间=(4/3+16/6+13/4+14/5+7/2)/5=2.71

(3)顺序为 ABCDBED

周转时间和3+15+7+14+11=50

平均周转时间=(3+15+7+14+11)/5=10

平均带权周转时间=(3/3+15/6+7/4+14/5+11/2)/5=2.71

(4)顺序:ABECD

平均周转时间=(3+7+3+11+14)/5=7.6

平均带权周转时间=(3/3+7/6+3/4+11/5+14/2)/5=1.84

1.4 方案设计评价综合题

例题1

你认为应该用哪些指标来评价进程调度算法?请给出你认为最重要的4个指标,并采用你给出的这些指标,对先来先服务、时间片轮转、短进程优先、静态优先级、动态优先级、多级反馈队列等调度算法进行评价。

答案1

最重要的四个指标:CPU利用率、等待时间、周转时间,公平性

先来先服务:对于CPU繁忙性进程CPU利用率比较高,IO繁忙性CPU利用率比较低、平均等待时间波动很大不稳定,周转时间较长。公平性有待提高

时间片轮转:CPU利用率较高,短进程可能有较长的等待时间,时间片轮转对I/O型密集型进程不公平,周转时间通常较长。

短进程优先:CPU的利用率较高,但对于长进程不太友好、具有最优平均周转时间,等待时间较短。

静态优先级:优先级低者永远得不到调度的情况,缺乏公平。CPU利用率取决于优先级,等待时间、周转时间以及响应时间取决于优先级设置,高优先级时间较短。

动态优先级:CPU利用率更加灵活,等待时间、周转时间取决于算法的实现。

多级反馈队列:综合一些优点,公平性较高,CPU利用率较高,等待时间、周转时间取决于优先级设置。

例题2

假定CPU按照程序中规定的顺序执行指令(即指令不会乱序执行),以2个进程的互斥为例,分析Peterson解决方案的正确性。

答案2

当一个进程想进入临界区时,先调用enter_region函数,判断是否能安全进入,不能的话等待,能的话则将标志位设置为True,同时将共享变量turn设置为自己的标识号,表示要进入临界区的进程号,这时候另一个进程就不能进入了,实现了互斥;当该进程从临界区退出后,需调用leave_region函数,将标志位设置为False,这时候就允许另一个进程进入临界区。

2 内存管理题目

2.1 虚拟存储管理——物理地址计算题

题目1

在某个段式存储管理系统中,逻辑地址为16位,其中,段号占4位。进程P的段表如下:

段号 段基址 段长度

0 4100H 500H

1 1000H 60H

2 1200H 100H

3 2200H 390H

4 2090H 120H

求下列逻辑地址所对应的物理地址。要求用十六进制表示,例如:1000H。

1)420H 2)1030H 3)2100H 4)3320H 5)4160H

求上述的物理地址分别为多少?

答案1

物理地址分别为:1) 4520H ;2) 1030H ;3) 地址越界 ;4) 2520H ;5) 地址越界 。

2.2 虚拟存储管理——置换调度算法题

题目1

在请求分页管理系统中,假设某进程的页表内容如下:

页号 物理块(页帧)号 有效位

0 101H 1

1 - 0

2 254H 1

页的大小为4KB,一次内存的访问时间是100ns;一次快表(TLB)的访问时间是10ns,忽略访问页表之后的TLB更新时间;处理一次缺页的时间为108ns(包含更新TLB和页表的时间),缺页中断处理后,返回到产生缺页中断的指令处重新执行。设系统为进程固定分配了2个物理块,采用LRU置换算法和局部置换策略,TLB初始为空。现依次访问下列虚地址:

1)2356H 2)1680H 3)25A8H

求上述访问对应的物理地址分别为多少?

访问时间多少

答案1

对应的物理地址分别为:1) 254356 H;2) 101680 H;3) 2545A8 H。

根据虚地址得到物理地址所需时间分别为:1) 110 ns;2) 100000120 ns;3) 10 ns。

3 文件系统题目

3.1 目录项分解法读盘次数分析题

题目1

某磁盘文件系统采用多级目录结构,目录当做文件,每个文件有唯一ID,磁盘逻辑块与物理块大小均为4096字节。目录文件存放目录符号项,每个符合目录项占32个字节,包括文件ID和文件名。基本目录项包括文件类型标志(目录文件和普通文件)和文件地址addr等。对于目录文件,addr所指向的一个磁盘块存放文件内容,对于普通文件,addr所指的1个磁盘块按顺序存放文件目录所占用的若干磁盘块地址(每个地址8个字节)。已知文件ID与其基本目录项所在磁盘块地址的对应关系以及根目录的ID

1 每个普通文件最大长度多少字节,每个目录下最多可以包含多少个文件(包含子目录)?

2 设普通文件f.dat存在于目录/user/data下,为了获取f.dat的ID,需要读几个磁盘块?若已知f.dat的ID,读其第42000个字节,需要读几个磁盘块

3 为了支持更大的文件,如何改进文件系统?

答案1

(1)

512*4KB=2048KB

4096/32=128个

(2)

读根目录的基本目录项(第一次),访问根目录地址获得user的ID(第二次)-》

访问user的基本目录项(第三次),访问user目录地址获得data的ID(第四次)-》

访问data的基本目录项(第五次),访问data的目录地址 获得f.dat的ID 共六次

访问f.dat的基本目录项,获得目录地址(第一次)

访问地址,然后直接获得第11块的物理地址(第二次)

然后直接访问11块的物理地址,访问(第三次)共三次

(3)

多级索引文件物理块,如两级!

4 设备管理题目

4.1 磁盘调度算法计算题

例题1

假定磁头在完成了磁道12处的请求后,正在磁道18处为一个磁盘请求服务,寻道时每移动1个磁道需要6ms。若当前请求访问的磁道顺序为:10,22,20,2,40,6,38,分别采用下列调度算法,计算完成这些磁盘请求的总的寻道时间(不包括从磁道12移动到磁道18的寻道时间)。先来先服务调度算法FCFS 2)最短寻道时间优先调度算法SSTF 3)电梯调度算法SCAN 4)循环扫描算法C-SCAN 总的寻道时间分别为多少ms

答案1

864,372,360,408

4.2 磁盘访问时间计算

题目1

假定每个扇区512字节,磁盘传送速度5400RPM,声称寻道时间(最大寻道时间一半)位12ms,数据传输速率4MB/s,磁盘控制开销为1ms,不考虑排队时间,则磁盘响应时间多少?

答案1

18.6ms

= 0 + 1 + 12 + 0.5 5400 R P M + 0.5 K B 4 M B / s = 18.6 =0+1+12+\frac{0.5}{5400 RPM} +\frac{0.5KB}{4MB/s}=18.6 =0+1+12+5400RPM0.5+4MB/s0.5KB=18.6

相关文章:

操作系统题目分类总结 | 进程管理 内存管理 文件系统 设备管理

系列文章如下 学习过程中一定要有系统观念(知识框架,每一章开头都会有一个思维导图),知道目前自己在学习的是哪一板块的内容,和前面有什么样的联系 操作系统的很多知识点前后都是联系非常紧密的,去一点一…...

数据结构——单链表(Singly Linked List)

1.链表介绍 链表是一种物理储存上非连续、非顺序的存储结构。数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。 对于上图,每一个结点都是一个结…...

4面试题--数据库(补充)

隔离性问题 若不考虑隔离性则会出现以下问题 1. 脏读:指⼀个事务在处理数据的过程中,读取到另⼀个 未提交 事务的数据 2. 不可重复读:指对于数据库中的某个数据(同⼀个数据项),⼀个事务内的多次查询却…...

人力资源管理后台 === 左树右表

1.角色管理-编辑角色-进入行内编辑 获取数据之后针对每个数据定义标识-使用$set-代码位置(src/views/role/index.vue) // 针对每一行数据添加一个编辑标记this.list.forEach(item > {// item.isEdit false // 添加一个属性 初始值为false// 数据响应式的问题 数据变化 视图…...

WordPress无需插件禁用WP生成1536×1536和2048×2048尺寸图片

我们在使用WordPress上传图片媒体文件的时候,是不是看到媒体库中有15361536和20482048的图片文件,当然这么大的文件会占用我们的服务器空间,如何禁止掉呢? function remove_default_image_sizes( $sizes) {unset( $sizes[1536x15…...

Git 与 Maven:企业级版本管理与版本控制规范设计

一、背景 当今,许多开发人员熟悉 GitFlow 工作流程,但往往忽略了 GitFlow 如何与 Maven 版本控制结合,尤其是在管理 snapshot 和 release 版本时的最佳实践。本文旨在整合 GitFlow 工作流程与 Maven 版本管理,提出一个统一的企业…...

Springmvc原理解析

1. DispatcherServlet springmvc的核心控制器,负责截获所有的请求,当截获请求后委托给HandlerMapping进行请求映射的解析工作,目的是找到哪一个Controller的方法可以处理该请求,找到后再交由给HandlerAdaptor去负责调用并返回Mod…...

Retrofit怎么返回一个JSON字符串?

项目用已经使用了 Retrofit,定义了接口方法,返回了 JSON 转换后的实体对象,炒鸡方便。但是总有意料之外的时候,比如我不需要返回实体对象,我要返回纯纯的 JSON 字符串,怎么办呢? 先看源码 通过…...

【GCC】2:chatgpt:SendSideBandwidthEstimation

webrtc中SendSideBandwidthEstimation类的设计 The SendSideBandwidthEstimation class in WebRTC is a critical component in its video engine. It’s responsible for deciding the video traffic rate that can be sent without overloading the network and thus maintai…...

OpenGL 自学总结

前言: 本人是工作后才接触到的OpenGL,大学找工作的时候其实比较着急,就想着尽快有个着落。工作后才发现自己的兴趣点。同时也能感觉到自己当前的工作有一点温水煮青蛙的意思,很担心自己往后能力跟不上年龄的增长。因此想在工作之余…...

java集合,ArrayList、LinkedList和Vector,多线程场景下如何使用 ArrayList

文章目录 Java集合1.2 流程图关系1.3 底层实现1.4 集合与数组的区别1.4.1 元素类型1.4.2 元素个数 1.5 集合的好处1.6 List集合我们以ArrayList集合为例1.7 迭代器的常用方法1.8 ArrayList、LinkedList和Vector的区别1.8.1 说出ArrayList,Vector, LinkedList的存储性能和特性1.…...

【2023.11.26】Mybatis自定义映射规则学习

创建自定义映射规则 <select id"selectArtist" resultMap"test">select * from artist </select> 在SQL语句标签中将resultType修改为resultMap&#xff0c;即自定义映射的id。 编写自定义映射规则&#xff1a; <resultMap id"tes…...

Nginx(九) aio sendfile directio 组合使用测试(2)

测试7&#xff1a;开启directio2m、sendfile&#xff0c;关闭aio&#xff0c;请求/vendor.js {"time_iso8601":"2023-11-26T22:47:3508:00","request_uri":"/vendor.js","status":"200","bytes_sent":…...

使用ETLCloud实现CDC实时数据集成:从MySQL到ClickHouse的实时数据同步

背景 在上一篇文章中体验了 ETLCloud 的离线数据迁移功能&#xff0c;就像大数据领域里有离线计算和实时计算&#xff0c; ETLCloud 还提供了基于 CDC &#xff08;Change Data Capture&#xff09;的实时数据集成功能&#xff1a;实时数据集成是指通过变化数据捕获技术&#…...

【云平台】STM32微信小程序阿里云平台学习板

【云平台】STM32微信小程序阿里云平台学习板 文章目录 前言一、立创EDA&#xff08;硬件设计&#xff09;1.主控STM32F103C8T62.ESP8266模块3.温湿度模块4.光照强度模块5.OLED显示模块6.PCB正面7.PCB反面8.3D视角正面9.3D视角反面 二、【云平台】STM32微信小程序阿里云平台学习…...

【研究中2】sql server权限用户设置

--更新时间2023.11.26 21&#xff1a;30 负责人&#xff1a;jerrysuse DBAliCMSIF EXISTS (select * from sysobjects where namehkcms_admin)--判断是否存在此表DROP TABLE hkcms_adminCREATE TABLE hkcms_admin (id int identity(1, 1),--id int primary key identity…...

从零开始学习管道:管道程序的优化和文件描述符继承问题

&#x1f4df;作者主页&#xff1a;慢热的陕西人 &#x1f334;专栏链接&#xff1a;Linux &#x1f4e3;欢迎各位大佬&#x1f44d;点赞&#x1f525;关注&#x1f693;收藏&#xff0c;&#x1f349;留言 本博客主要内容管道后续的完善&#xff0c;以及解决管道继承多个文件描…...

【JavaWeb】HTMLCSSJavaScript

HTML&CSS&JavaScript 文章目录 HTML&CSS&JavaScript一、开发工具及在线帮助文档二、 HTML2.1 HTML&CSS&JavaScript的作用2.2 HTML基础结构2.3 HTML概念词汇解释2.4 HTML的语法规则2.5 常用标签 三、CSS3.1 引入方式3.2 CSS选择器3.3 CSS浮动3.4 CSS定位…...

如何在没有备份的情况下恢复 iPhone 上已删除的短信

要在没有备份的情况下恢复 iPhone 上已删除的消息&#xff0c;您可以从“消息”应用程序恢复它们或使用第三方数据恢复工具。 虽然我们的 iPhone 可以做很多事情&#xff0c;但我在设备上最常做的事情之一就是文本。无论我是与朋友或家人联系&#xff0c;还是分享重要信息&…...

tomcat-pass-getshell 弱口令 漏洞复现

tomcat-pass-getshell 弱口令 漏洞复现 名称: tomcat-pass-getshell 弱口令 描述: Tomcat是Apache 软件基金会&#xff08;Apache Software Foundation&#xff09;的Jakarta 项目中的一个核心项目&#xff0c;由Apache、Sun 和其他一些公司及个人共同开发而成。 通过弱口令登…...

KubeSphere 容器平台高可用:环境搭建与可视化操作指南

Linux_k8s篇 欢迎来到Linux的世界&#xff0c;看笔记好好学多敲多打&#xff0c;每个人都是大神&#xff01; 题目&#xff1a;KubeSphere 容器平台高可用&#xff1a;环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…...

手游刚开服就被攻击怎么办?如何防御DDoS?

开服初期是手游最脆弱的阶段&#xff0c;极易成为DDoS攻击的目标。一旦遭遇攻击&#xff0c;可能导致服务器瘫痪、玩家流失&#xff0c;甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案&#xff0c;帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...

工业安全零事故的智能守护者:一体化AI智能安防平台

前言&#xff1a; 通过AI视觉技术&#xff0c;为船厂提供全面的安全监控解决方案&#xff0c;涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面&#xff0c;能够实现对应负责人反馈机制&#xff0c;并最终实现数据的统计报表。提升船厂…...

DockerHub与私有镜像仓库在容器化中的应用与管理

哈喽&#xff0c;大家好&#xff0c;我是左手python&#xff01; Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库&#xff0c;用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...

python如何将word的doc另存为docx

将 DOCX 文件另存为 DOCX 格式&#xff08;Python 实现&#xff09; 在 Python 中&#xff0c;你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是&#xff0c;.doc 是旧的 Word 格式&#xff0c;而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...

Android15默认授权浮窗权限

我们经常有那种需求&#xff0c;客户需要定制的apk集成在ROM中&#xff0c;并且默认授予其【显示在其他应用的上层】权限&#xff0c;也就是我们常说的浮窗权限&#xff0c;那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...

网络编程(UDP编程)

思维导图 UDP基础编程&#xff08;单播&#xff09; 1.流程图 服务器&#xff1a;短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...

python执行测试用例,allure报乱码且未成功生成报告

allure执行测试用例时显示乱码&#xff1a;‘allure’ &#xfffd;&#xfffd;&#xfffd;&#xfffd;&#xfffd;ڲ&#xfffd;&#xfffd;&#xfffd;&#xfffd;ⲿ&#xfffd;&#xfffd;&#xfffd;Ҳ&#xfffd;&#xfffd;&#xfffd;ǿ&#xfffd;&am…...

如何在网页里填写 PDF 表格?

有时候&#xff0c;你可能希望用户能在你的网站上填写 PDF 表单。然而&#xff0c;这件事并不简单&#xff0c;因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件&#xff0c;但原生并不支持编辑或填写它们。更糟的是&#xff0c;如果你想收集表单数据&#xff…...