操作系统常见面试题(计算机考研复试必备)_belay算法_柯小帅的博客-程序员宅基地

技术标签: 面试  经验分享  考研上岸  

1.操作系统的管理功能
(1)处理机管理:进程控制,进程同步,进程通信,处理机调度,死锁处理等
(2)存储器管理:内存分配,地址映射,内存保护,内存共享。
(3)文件管理:文件存储空间的管理,目录管理,文件的读写管理。
(4)设备管理:缓存管理,完成用户 I/o请求。

2.什么是管态 什么是目态,区分管态和目态目的的什么
管态又叫特权态,cpu在管态下可以执行指令系统的所有指令,如果程序在管态下,可以访问计算机的所有资源,通常操作系统在管态下运行。
目态又叫常态,cpu在目态下只能执行非特权指令,不能直接使用系统资源。
应用程序有时会需要一些危险的、权限很高的指令,如果把这些权限放心地交给用户程序是很危险的(比如一个进程可能修改另一个进程的内存区,导致其不能运行),但是又不能完全不给这些权限。区分的目的是为了保护操作系统程序。

3 怎么从目态切换到管态?
系统调用(用户态进程主动请求),异常(被动,比如缺页异常),IO中断(被动)。

4 什么是进程,有哪几种状态。
进程被认为是程序执行的一个实例,进程是系统进行资源分配的一个独立实体,进程由pcb,程序段,相关数据段组成。
进程的状态:创建(申请空白的PCB即进程控制块,正在创建),就绪(等待处理机,即时间片),执行(正在运行),阻塞(进程正在等待某一事件而暂停运行),结束。

5 进程和程序的区别
(1)进程是程序的一次执行过程,是动态创建和消亡的。程序是代码的集合,是永久存在,可以长期保存的.
(2)进程是动态的概念,程序的静态的概念。
(3)组成不同,进程的组成包括程序,数据和pcb

6 什么是线程,跟进程的区别。
进程是系统进行资源分配和调度的基本单位。
线程是轻量级的进程,是cpu执行和调度的基本单位,线程是进程是一个实体。
一个进程中可以包括多个线程,线程依赖于进程存在。
进程在执行过程中拥有独立的内存单元,而多个线程共享进程的内存。

7.进程通信的方式
管道通信:它只能用于具有亲缘关系的进程之间的通信(也是父子进程或者兄弟进程之间),半双工,某时刻只能单项传输。
消息队列:进程通过系统提供的发送消息和接受消息两个原语进行数据交换。
共享内存:指两个或多个进程共享一个给定的存储区,因为多个进程可以同时操作,所以需要进行同步。

1.管道:速度慢,容量有限,只有父子进程能通讯
2.消息队列:容量受到系统限制,且要注意第一次读的时候,要考虑上一次没有读完数据的问题
3.共享内存区:能够很容易控制容量,速度快,但要保持同步,比如一个进程在写的时候,另一个进程要注意读写的问题,相当于线程中的线程安全,当然,共享内存区同样可以用作线程间通讯,不过没这个必要,线程间本来就已经共享了同一进程内的一块内存

8.静态链接和动态重链接的区别
静态链接:在程序装入之前链接.
动态重链接:在装入内存时,边装入边链接。

9.逻辑地址和物理地址
逻辑地址:一个源程序在编译或者链接装配后指令和数据所用的所有相对地址的空间。
物理地址:内存中物理单元的集合。

10 常见的调度算法
(1)先来先服务:对长作业进程有利。
(2)短作业优先:从就绪队列中选择一个时间最短的。 缺点对长作业不利,容易导致饥饿现象(长作业长期不被调度)
(3)优先级调度:每次选择优先级最高的一个作业。 分为非抢占式和抢占式
(4)时间片轮转:主要适用于分时系统中进程调度。
(5)高响应比优先:同时考虑等待时间和运行时间
(6)多级反馈队列调度算法

11 不同的进程之间存在着什么关系
(1)互斥:间接制约关系,指的是一个进程进入临界区使用临界资源时,另一个进程必须等待。(临界资源:一次仅能使用一次的资源,如打印机)(互斥有软件实现方法和硬件实现方法)。
(2)同步:直接制约关系,为了完成某种任务而建立的两个或多个进程,这些进程需要在某些位置上协调他们的工作次序而等待,传递信息所产生的制约关系。

同步机制遵循准则:
1.空闲让进:临界区空闲时,可以允许一个请求进入临界区的进程立即进入临界区。
2.忙则等待:当已有进程进入临界区时,其他试图进入临界区的进程必须等待。
3.有限等待:对请求访问的进程,应保证能在有限时间内进入临界区。
4.让权等待:当进程不能进入临界区时,应立即释放处理器,防止进程忙等待。

12.什么是死锁,为什么会产生死锁,怎么解决死锁?
死锁:在两个或多个并发进程中,如果每个进程持有某种资源而又等待其他进程释放它们保持着的资源,在未改变这种状态下都不能向前推进。
死锁产生的条件:
(1)互斥:资源非共享,最多只能同时给一个资源使用。
(2)保持并等待:进程占有自身的资源并请求其他的资源。
(3)不剥夺:进程所获的资源被使用完前不能被抢占。
(4)循环等待:若干进程之间形成一种头尾相接的环形等待资源关系。
怎么解决:
(1)预防死锁:破坏死锁发生的必要条件,如让资源共享或者运行前一次性向系统申请它所需要的全部资源。
(2)避免死锁:动态的检测资源分配状态,(如用银行家算法)防止死锁进入不安全状态 。
(3)死锁解除:进程终止或者资源抢占。

安全状态:是指系统能按照某种进程推进的顺序为每个进程pi分配其所需的资源,直至满足每个进程对资源的最大需求,使每个进程都可以顺利完成.

13.为什么引入动态重定位,如何实现?
动态重定位:实现逻辑地址和物理地址之间的转换。
具体方法是加入一个重定位寄存器,用来装入程序在内存中的起始地址。

14.分段和分页的区别
**相同:**都要通过地址映射实现地址转换.
不同:
(1)段是信息的逻辑单位,是根据用户的需要划分的。页是信息的物理单位,是为了管理主存方便划分的,对用户是透明的.
(2)段的大小不固定,取决于用户编写的程序。页的大小由系统决定,是固定的。
(3)分段会有外部碎片,分页会有内部碎片。
(4)段的地址空间的二维的既有段名又有段内地址,页的地址空间是一维的。

15.什么是局部性原理.
(1)时间局部性原理:如果程序中一条指令被执行,不久后可能会被再次执行,数据会被再次访问.
(2)空间局部性原理:一旦程序访问了某个存储单元,不久后其附近的存储单元也会被访问。

16.什么是虚拟存储器
是指具有请求调入功能和置换功能,能在逻辑上对内存容量加以扩充的一种存储器系统
基于局部性原理,在程序装入时,可以只将程序的一部分装入内存。在执行过程中,当访问的信息不在内存时,由操作系统将所需的内容调入内存,不需要的调出外存,这样,系统好像为用户提供了一个比实际内存大得多的存储器。

17.有哪些页面置换算法?什么是抖动
(1)最佳置换算法:是将以后永不使用或是在最长时间内不会被访问的页面调出,该算法无法实现。
(2)先进先出置换算法:将最早进入内存的页面调出。该算法会产生Belay异常.
(3)最近最久未使用置换算法(LRU):将最近最长时间未访问的页面调出。
(4)时钟(CLOCK)置换算法。
抖动:也称颠簸,是指在页面置换过程中,刚刚调出的页面马上又要调入内存,刚刚调入的页面又要调出,发生频繁的页面调度行为。

18.常见的磁盘调度算法
(1)先来先服务算法:根据进程请求访问磁盘的先后顺序进行调度.
(2)最短寻找时间算法:选择与当前磁头所在磁道距离最近的磁道。会产生饥饿现象。
(3)扫描算法:在磁头当前移动方向上选择与当前磁头距离最近的磁道。
(4)循环扫描算法:在扫描算法的基础上规定磁头单向移动来提供服务,到达端点时直接快速返回起始段。

19.引入缓冲区的作用
(1)缓和cpu与I/O设备之间速度不匹配的矛盾.
(2)降低cpu的中断频率。
(3)提高cpu和I/O设备之间的并行性。

20.什么是SPOOLing技术(假脱机技术)
提高I/O的速度,将独占设备改造成共享设备。

21.DMA控制方式和中断驱动方式的主要区别:
中断驱动方式在每个数据需要传输时中断cpu,而DMA控制方式则是在所要求传送的一批数据全部传送结束时才中断cpu;此外,中断驱动方式数据传送是在中断处理时由cpu控制完成的,而DMA控制方式则是在DMA控制器的控制下完成的。

补充:
1.操作系统特征:

1.并发
并发是指同一时间间隔;并行是指同一时刻
2.共享
指系统中的资源可供内存中多个并发执行的进程共同使用
3.虚拟
指把一个物理上的实体变为若干逻辑上的对应物
4.异步
多到程序环境允许多个程序并发执行,但由于资源有限,进程的执行并不是一贯到底的,而是走走停停,以不可预知的速度向前推进,这就是进程的异步性

2.单道批处理系统和多道批处理系统
单道批处理系统对作业的处理是成批进行的,但是内存中始终保持一道作业。
多批道处理系统特点:1.多道:内存中同时存放多道相互独立的程序
2.宏观上并行 3.微观上串行
优点:资源利用率高,从而使各种资源得到充分利用,系统吞吐量大,cup和其他资源保持忙碌的状态。
缺点:不提供人机交互能力

3.特权指令
指计算机中不允许用户直接使用的指令,如I/O指令,置中断指令,存取用户内存保护的寄存器等。
用户态下只能使用非特权指令,核心态下可以使用全部指令。

4.中断处理的过程
关中断:首先要保护程序的现场状态,在保护现场的过程中,cpu不应响应更高级中断源的中断请求。
保存断点:将程序计数器pc保存起来。
引出来中断服务程序:取出中断服务程序的入口地址送入程序计数器pc
保存现场和屏蔽字:即保存程序状态寄存器PSWR和某些通用寄存器内容。
开中断:允许更高级中断请求得到响应。
执行中断服务程序
关中断:保证恢复现场和屏蔽字时不会被中断
恢复现场和屏蔽字:将现场和屏蔽字恢复到原来的状态
开中断,中断返回

5.创建态
就绪态:进程获得了除处理机外的一切所需资源,一旦得到处理机,便可立即运行。
运行态:进程在处理机上运行。
阻塞态:进程正在等待某一事件而暂停运行,如等待某资源为可用或等待输入输出完成,即使处理机空闲,该进程也不能运行。
结束态

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/wj5ryf78/article/details/115877127

智能推荐

Flutter MaterialButton 实现圆角边框按钮_flutter 带圆角的button-程序员宅基地

文章浏览阅读4.3k次。效果图如下 MaterialButton buildMaterialButton() { return MaterialButton( //背景颜色 color: Colors.white, //边框样式 shape: const RoundedRectangleBorder( //边框颜色 side: BorderSide( color: Colors.deepPurple, _flutter 带圆角的button

13. Roman to Integer-程序员宅基地

文章浏览阅读67次。Roman numerals are represented by seven different symbols:I, V, X, L, C, D and M.Symbol ValueI 1V 5X 10L 50C 100D 500M 1000For example,2 is written as II..._13. roman to integer

抖音只能上下滑动吗_抖音常用“十大知识”你知道几个?-程序员宅基地

文章浏览阅读2.1k次。1:如何查看抖音访客?很多主播想要了解看访客记录是怎么样看的,其实想要知道谁来看过你很简单,目前抖音不支持查看访客,但可以用另一种方式看。1.点击“消息”,点击“粉丝”,查看最近增加的粉丝。2.点击“赞”,查看赞自己的用户,点击“评论和@”,查看评论作品和@自己的人。总结:抖音在微信中要查看访客记录,只能在消息中看到点赞和评论记录,其余访客记录时无法查看的。但是抖音直播在直播过程中可以看到访客,下..._抖音直播不能上下滑动

windows服务器下IIS7 安装URL Rewrite(URL重写)模块-程序员宅基地

文章浏览阅读530次。URL Rewrite Module是一个基于规则的URL重写引擎,用于在URL被Web服务器处理之前改变请求的URL。对于动态Web应用程序,它可以为用户和seo/seo.html" target="_blank">搜索引擎提 供友好的URL,URL重写和重定向是基于HTTP头和服务器变量的,并可以对站点内容进行访问控制。最简单的处理方式 就是在本地写好一个*.htaccess...

【天融信TOS防火墙NATPT配置】实现:IPV6主机通过V6地址访问内网IPV4主机~温权~_天融信脆弱性扫描管理平台 配置ipv6-程序员宅基地

文章浏览阅读5.1k次。文章目录一、组网拓扑图:二、需求描述:三、具体配置四、配置NATPT功能五、数据收发问题说明:在TOS防火墙上使用IPV6功能时,需要升级到020版本,并且需要跟产品经理要license导入后才能有license功能。这里我们说的是NATPT的v4和v6过渡的一种技术,如果有版本支持NAT64和46,尽量选用后者。一、组网拓扑图:Server 1(10.53.253.34)和server2..._天融信脆弱性扫描管理平台 配置ipv6

python pandas包 读取和修改数据文件 常用接口记录_python pandas 对 et文件进行修改-程序员宅基地

文章浏览阅读313次。因为经常用到pandas处理一些数据,所以在这里记录一下pandas 读取文件_python pandas 对 et文件进行修改

随便推点

uni-app/vue请求封装_vue2 后台请求 unirequest.get-程序员宅基地

文章浏览阅读543次。最近公司准备开发一个安卓的app,苦于原生开发的成本和无人会安卓技术,决定采用混合开发来实现。基于低学习成本,最终选择了能较快上手的uni-app技术。这期间也是一边看文档,一边开发,痛并快乐着。第一次尝试写博客,力求用最简单的文字记录一个项目的开发过程,希望自己能坚持下去!其实在翻看uni-app的开发文档,不难发现,他的很多语法和vue非常像,比方说数组遍历、条件渲染等,只是将vue的【v】改成了【uni】。同时其又参考了微信小程序开发的文档,诸多语法也和小程序比较相似,比方说小程序的生命周期_vue2 后台请求 unirequest.get

常用sql 函数练习示例-程序员宅基地

文章浏览阅读88次。select ascii('U')select char(85)select str(44.4545545)select lower('ASDFSDAdfsdfsd')select upper('ASDFSDAdfsdfsd')select ltrim(' sdfsdf ')select rtrim(' sdfsdf ')select left('fdsa..._select ascii('u')

arm64安装zulu_zulu8-程序员宅基地

文章浏览阅读1.6k次。zulu下载网址:https://www.azul.com/downloads/zulu-community/命令为:wget https://cdn.azul.com/zulu-embedded/bin/zulu8.44.0.213-ca-jdk1.8.0_242-linux_aarch64.tar.gzmkdir -p /usr/lib/jvm/tar zxvf zulu8..._zulu8

读论文《Semi-Supervised Recursive Autoencoders for Predicting Sentiment Distributions》_concrete autoencoders论文-程序员宅基地

文章浏览阅读707次。读论文《Semi-Supervised Recursive Autoencoders for Predicting Sentiment Distributions》文章主要介绍了使用递归自编码器做句子情感分类的方法。和之前的方法相比,本文的算法没有使用任何预设定的情感词汇和极性转换规则。并在movie reviews数据集上取得了SOTA的效果。当时主流的方法还是词袋模型,但词袋模型无法很好的..._concrete autoencoders论文

裸辞计算机考研,一位工作三年,裸辞,跨考,347学姐的考研经验 - 考研 - 小木虫 - 学术 科研 互动社区...-程序员宅基地

文章浏览阅读304次。一、考研背景??? 我是一名三跨考生,14年毕业,毕业后参加了三年的工作,17年7月开始萌生裸辞考研的想法,八月正式开始全天候复习。最后被成功录取,初试成绩378,顺利通过复试。二、关于心态因为7月底才开始,8月初才认真学习,所以我的整个考研期间神经是很紧绷的。心态最差的两个阶段是考研开始的8月初和最后临近考研的12月。8.2号这一天我记得非常清楚,压力太大了,我经过大约三天的思考,我第一次放弃了..._计算机要不要裸辞考研

鸿蒙系统手机还会出吗,华为最强手机即将到来,可能还有华为鸿蒙系统加入!你期待吗?...-程序员宅基地

文章浏览阅读162次。原标题:华为最强手机即将到来,可能还有华为鸿蒙系统加入!你期待吗?华为海外新机海报,宣布华为将于10月17日发布一款全新的手机产品,而且从海报上的手机剪影来看,可能会采用全新的屏幕设计。但是华为没有宣布或暗示会采用鸿蒙系统。既然是新系列,那么就不是Mate、P系列还有国外独有的smart系列了。但是,华为今年已经发布了三款旗舰设备(华为Mate X、华为P30系列、华为Mate 30 系列),所以..._华为鸿蒙系统还会出吗

推荐文章

热门文章

相关标签