操作系统题目分类总结 | 进程管理 内存管理 文件系统 设备管理
系列文章如下
学习过程中一定要有系统观念(知识框架,每一章开头都会有一个思维导图),知道目前自己在学习的是哪一板块的内容,和前面有什么样的联系
操作系统的很多知识点前后都是联系非常紧密的,去一点一点理解而不是死记硬背会学习的非常愉快的!!!
操作系统相关文章
概述,初步了解操作系统功能及其一些概念
操作系统(一)| 概述 作业 批处理 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,即自定义映射的id。 编写自定义映射规则: <resultMap id"tes…...
Nginx(九) aio sendfile directio 组合使用测试(2)
测试7:开启directio2m、sendfile,关闭aio,请求/vendor.js {"time_iso8601":"2023-11-26T22:47:3508:00","request_uri":"/vendor.js","status":"200","bytes_sent":…...
使用ETLCloud实现CDC实时数据集成:从MySQL到ClickHouse的实时数据同步
背景 在上一篇文章中体验了 ETLCloud 的离线数据迁移功能,就像大数据领域里有离线计算和实时计算, ETLCloud 还提供了基于 CDC (Change Data Capture)的实时数据集成功能:实时数据集成是指通过变化数据捕获技术&#…...
【云平台】STM32微信小程序阿里云平台学习板
【云平台】STM32微信小程序阿里云平台学习板 文章目录 前言一、立创EDA(硬件设计)1.主控STM32F103C8T62.ESP8266模块3.温湿度模块4.光照强度模块5.OLED显示模块6.PCB正面7.PCB反面8.3D视角正面9.3D视角反面 二、【云平台】STM32微信小程序阿里云平台学习…...
【研究中2】sql server权限用户设置
--更新时间2023.11.26 21:30 负责人: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…...
从零开始学习管道:管道程序的优化和文件描述符继承问题
📟作者主页:慢热的陕西人 🌴专栏链接:Linux 📣欢迎各位大佬👍点赞🔥关注🚓收藏,🍉留言 本博客主要内容管道后续的完善,以及解决管道继承多个文件描…...
【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 上已删除的消息,您可以从“消息”应用程序恢复它们或使用第三方数据恢复工具。 虽然我们的 iPhone 可以做很多事情,但我在设备上最常做的事情之一就是文本。无论我是与朋友或家人联系,还是分享重要信息&…...
tomcat-pass-getshell 弱口令 漏洞复现
tomcat-pass-getshell 弱口令 漏洞复现 名称: tomcat-pass-getshell 弱口令 描述: Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。 通过弱口令登…...
C++实现分布式网络通信框架RPC(3)--rpc调用端
目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中,我们已经大致实现了rpc服务端的各项功能代…...
iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘
美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…...
Java 语言特性(面试系列1)
一、面向对象编程 1. 封装(Encapsulation) 定义:将数据(属性)和操作数据的方法绑定在一起,通过访问控制符(private、protected、public)隐藏内部实现细节。示例: public …...
突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合
强化学习(Reinforcement Learning, RL)是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程,然后使用强化学习的Actor-Critic机制(中文译作“知行互动”机制),逐步迭代求解…...
python/java环境配置
环境变量放一起 python: 1.首先下载Python Python下载地址:Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个,然后自定义,全选 可以把前4个选上 3.环境配置 1)搜高级系统设置 2…...
对WWDC 2025 Keynote 内容的预测
借助我们以往对苹果公司发展路径的深入研究经验,以及大语言模型的分析能力,我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际,我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测,聊作存档。等到明…...
Neo4j 集群管理:原理、技术与最佳实践深度解析
Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...
Maven 概述、安装、配置、仓库、私服详解
目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...
10-Oracle 23 ai Vector Search 概述和参数
一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI,使用客户端或是内部自己搭建集成大模型的终端,加速与大型语言模型(LLM)的结合,同时使用检索增强生成(Retrieval Augmented Generation &#…...
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问(基础概念问题) 1. 请解释Spring框架的核心容器是什么?它在Spring中起到什么作用? Spring框架的核心容器是IoC容器&#…...
