当前位置: 首页 > 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 和其他一些公司及个人共同开发而成。 通过弱口令登…...

网络六边形受到攻击

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 抽象 现代智能交通系统 &#xff08;ITS&#xff09; 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 &#xff08;…...

云计算——弹性云计算器(ECS)

弹性云服务器&#xff1a;ECS 概述 云计算重构了ICT系统&#xff0c;云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台&#xff0c;包含如下主要概念。 ECS&#xff08;Elastic Cloud Server&#xff09;&#xff1a;即弹性云服务器&#xff0c;是云计算…...

React Native 导航系统实战(React Navigation)

导航系统实战&#xff08;React Navigation&#xff09; React Navigation 是 React Native 应用中最常用的导航库之一&#xff0c;它提供了多种导航模式&#xff0c;如堆栈导航&#xff08;Stack Navigator&#xff09;、标签导航&#xff08;Tab Navigator&#xff09;和抽屉…...

多场景 OkHttpClient 管理器 - Android 网络通信解决方案

下面是一个完整的 Android 实现&#xff0c;展示如何创建和管理多个 OkHttpClient 实例&#xff0c;分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...

QMC5883L的驱动

简介 本篇文章的代码已经上传到了github上面&#xff0c;开源代码 作为一个电子罗盘模块&#xff0c;我们可以通过I2C从中获取偏航角yaw&#xff0c;相对于六轴陀螺仪的yaw&#xff0c;qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...

大数据零基础学习day1之环境准备和大数据初步理解

学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 &#xff08;1&#xff09;设置网关 打开VMware虚拟机&#xff0c;点击编辑…...

在Ubuntu中设置开机自动运行(sudo)指令的指南

在Ubuntu系统中&#xff0c;有时需要在系统启动时自动执行某些命令&#xff0c;特别是需要 sudo权限的指令。为了实现这一功能&#xff0c;可以使用多种方法&#xff0c;包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法&#xff0c;并提供…...

leetcodeSQL解题:3564. 季节性销售分析

leetcodeSQL解题&#xff1a;3564. 季节性销售分析 题目&#xff1a; 表&#xff1a;sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...

前端开发面试题总结-JavaScript篇(一)

文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包&#xff08;Closure&#xff09;&#xff1f;闭包有什么应用场景和潜在问题&#xff1f;2.解释 JavaScript 的作用域链&#xff08;Scope Chain&#xff09; 二、原型与继承3.原型链是什么&#xff1f;如何实现继承&a…...

是否存在路径(FIFOBB算法)

题目描述 一个具有 n 个顶点e条边的无向图&#xff0c;该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序&#xff0c;确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数&#xff0c;分别表示n 和 e 的值&#xff08;1…...