前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >操作系统面试常见问题总结

操作系统面试常见问题总结

作者头像
EmoryHuang
发布于 2022-09-26 11:27:01
发布于 2022-09-26 11:27:01
5530
举报
文章被收录于专栏:EmoryHuang's BlogEmoryHuang's Blog

操作系统面试常见问题总结

写在前面

本文记录了一些操作系统面试常见问题,本意用于考研复试,以下面试题为网上整理的问题以及自己加入的一些问题,答案仅供参考!


Q:操作系统的基本特征?

A:并发、共享、虚拟、异步

Q:进程与线程的关系以及区别?

A:

  • 进程是具有一定功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源调度和分配的一个独立单位
  • 线程是进程的实体,是操作系统能够进行运算调度的最小单位
    • 一个进程可以有多个线程,多个线程也可以并发执行
    • 引入进程的目的:更好地使多道程序并发执行,提高资源利用率和系统吞吐量
    • 引入线程的目的:减小程序在并发执行时的时空开销,提高操作系统的并发性能

Q:进程的状态?

A:运行态、就绪态、阻塞态、创建态、结束态

Q:进程的通信方式?

A:

  • 共享存储:多个进程可以访问同一块内存空间
  • 消息传递:通过发送消息和接收消息两个原语进行数据交换
  • 管道通信:半双工通信

Q:进程调度算法?

A:

  • 先来先服务(FCFS):按照请求的顺序进行调度,非抢占式,开销小,无饥饿问题,对短进程不利
  • 最短作业优先(SJF):按估计运行时间最短的顺序进行调度。非抢占式,可能导致饥饿问题,对长进程不利(平均最优)
  • 优先级调度算法:按优先级进行调度
  • 时间片轮转:将所有就绪进程按 FCFS 的原则排成一个队列,用完时间片的进程排到队列最后
  • 高响应比优先:按照高响应比(已等待时间 + 要求运行时间)/ 要求运行时间 优先
  • 多级反馈队列调度算法:设置多个就绪队列,优先级递减,时间片递增。只有等到优先级更高的队列为空时才会调度当前队列中的进程

Q:同步机制的 4 个准则?

A:

  1. 空闲让进:当无进程处于临界区,可允许一个请求进入临界区的进程立即进入自己的临界区
  2. 忙则等待:当已有进程进入自己的临界区,所有企图进入临界区的进程必须等待
  3. 有限等待:对要求访问临界资源的进程,应保证该进程能在有限时间内进入自己的临界区
  4. 让权等待:当进程不能进入自己的临界区,应释放处理机

Q:什么是临界区?

A:每个进程中访问临界资源的那段程序称为临界区,每次只准许一个进程进入临界区

Q:什么是死锁?

A:两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去

Q:死锁产生的必要条件?

A:有一个条件不成立,则不会产生死锁

  • 互斥条件:一个资源一次只能被一个进程使用
  • 不剥夺条件:进程获得的资源,在未完全使用完之前,不能强行剥夺
  • 请求并保持条件:一个进程因请求资源而阻塞时,对已获得资源保持不放
  • 循环等待条件:若干进程之间形成一种头尾相接的环形等待资源关系

Q:死锁的处理基本策略和常用方法?

A:

  1. 死锁预防:破坏四个条件之一
  2. 死锁避免:安全状态(银行家算法)
  3. 死锁检测:死锁定理简化资源分配图
  4. 死锁解除:资源剥夺法、撤销进程法、进程回退法

Q:饥饿与死锁的区别?

A:饥饿与死锁都是由于进程竞争资源导致的

  • 饥饿一般是指,进程在执行的过程中一直有高于当前进程优先级的进程,导致操作系统无法分配资源给当前进程(饥饿并不代表系统已经死锁,进入饥饿的进程可以只有一个)
  • 死锁是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象

Q:程序的链接方式?

A:静态链接、装入时动态链接、运行时动态链接

Q:程序的装入方式?

A:绝对装入、可重定位装入(静态重定位)、动态运行装入(动态重定位)

Q:动态分区分配算法

A:首次适应算法、最佳适应算法、最坏适应算法、邻近适应算法

Q:分段和分页的区别?

A:

  • 目的不同:
    • 分页是由于系统管理的需要,它是信息的物理单位
    • 分段的目的是为了能更好地满足用户的需要,它是信息的逻辑单位,
  • 大小不同:
    • 页的大小固定且由系统决定
    • 段的长度不固定
  • 地址空间不同:
    • 页向用户提供的是一维地址空间
    • 段向用户提供的是二维地址空间
  • 碎片:
    • 页式存储管理方式没有外部碎片,但会产生内部碎片
    • 段式存储管理方式没有内部碎片,但会产生外部碎片

Q:页面置换算法?

A:

  1. 最佳(OPT)置换算法
  2. 先进先出(FIFO)置换算法(Belady 异常)
  3. 最近最久未使用(LRU)算法
  4. 时钟 (CLOCK) 置换算法

Q:颠簸/抖动

A:刚刚换出的页面马上又要换入主存,刚刚换入的页面马上又要换出主存

原因:某个进程频繁访问的页面数高于可用物理页帧数

Q:地址翻译的过程

A:TLB → 页表(TLB 不命中)→ Cache → 主存(Cache 不命中)→ 外存

Q:磁盘调度算法

A:

  1. 先来先服务算法(FCFS)
  2. 最短寻道时间优先算法(SSTF)
  3. 扫描算法(SCAN)电梯调度
  4. 循环扫描算法(CSCAN)

Q:I/O 控制方式

A:

  1. 程序直接控制
  2. 中断驱动方式
  3. DMA 方式
  4. 通道控制方式

相关内容

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-03-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
操作系统基础知识整理
1、操作系统分类 批处理操作系统、分时操作系统(Unix)、实时操作系统、网络操作系统、分布式操作系统、微机操作系统(Linux、Windows、IOS等)、嵌入式操作系统。 2、操作系统的4个特征:并发性、共享性、虚拟性、不确定性。 3、操作系统的功能有:处理机管理、文件管理、存储管理、设备管理、作业管理。 处理机管理:也称进程管理。实质上是对处理机执行时间进行管理,采用多道程序等技术将CPU的时间真正合理地分配给每个任务。主要包括进程管理、进程同步、进程通信和进程调度。 文件管理:又称信息管理。主要包括
mukekeheart
2018/02/27
1.2K0
操作系统基础知识整理
Java面试集锦(一)之操作系统
进程同步的主要任务:是对多个相关进程在执行次序上进行协调,以使并发执行的诸进程之间能有效地共享资源和相互合作,从而使程序的执行具有可再现性。
凯哥Java
2022/12/16
4540
Java面试集锦(一)之操作系统
操作系统高频面试题(2022最新整理)
秋招来啦,大彬利用周末时间整理了各大互联网公司操作系统高频面试题,在这里分享给大家~
程序员大彬
2022/12/15
6350
操作系统高频面试题(2022最新整理)
面试操作系统常见问题
如果程序需要进行系统态级别的资源有关操作(如文件管理、进程控制、内存管理),就必须通过系统调用的方式向操作系统提出服务请求,并由操作系统代为完成。
Steve Wang
2020/09/17
7130
操作系统-超20000字的“总结”
从单道批处理系统对CPU的利用情况可看出,作业运行过程中若发生IO请求,高速的CPU要等待低速的I/O操作完成,导致CPU资源利用率和系统吞吐量降低。
Karos
2023/02/24
1.4K0
操作系统-超20000字的“总结”
计算机操作系统期末练习整理,考试神器,期末包过,做完不过直接来打我——计算机操作系统习题
A. 应该相同 B. 应该不同 C. 可以相同,也可以不同 D. 受系统约束
猫咪-9527
2025/01/24
2170
操作系统面试总结
进程是资源分配的基本单位,线程是 CPU 调度的基本单位。进程拥有独立的地址空间,线程是共享内存地址的。进程切换的开销比线程要大。
lincoln
2022/03/09
5640
我和面试官之间关于操作系统的一场对弈!写了很久,希望对你有帮助!
大家好,我是 Guide哥!很多读者抱怨计算操作系统的知识点比较繁杂,自己也没有多少耐心去看,但是面试的时候又经常会遇到。所以,我带着我整理好的操作系统的常见问题来啦!这篇文章总结了一些我觉得比较重要的操作系统相关的问题比如进程管理、内存管理、虚拟内存等等。
Guide哥
2020/05/07
1.2K0
我和面试官之间关于操作系统的一场对弈!写了很久,希望对你有帮助!
操作系统复习
概念:OS 是核心系统软件,负责计算机系统、硬件资源的分配和使用;控制和协调并发活动;提供用户接口,使用户获得良好的工作环境
小简
2022/12/29
5740
操作系统复习
操作系统
程序状态字PSW:保存程序的状态,中断码,中断屏蔽位,每个处理器具备一个PSW寄存器
esse LL
2024/04/16
2390
【计算机基础】操作系统
是一组控制和管理计算机硬件和软件资源,合理对各类作业进行调度,以及方便用户使用的程序集合。
章鱼carl
2022/03/31
9760
【计算机基础】操作系统
大学课程 | 计算机操作系统
(3) 模块接口法的优缺点: 优点: ①提高OS设计的正确性,可理解性,可维护性 ②增强OS的可适应性 ③加速OS的开发过程 缺点: ①接口很难满足实际需求 ②无序模块法,无法寻找一个可靠的决定顺序
Justlovesmile
2021/12/14
9560
大学课程 | 计算机操作系统
操作系统常见面试题
可以这么说,内核是一个计算机程序,它是操作系统的核心,提供了操作系统最核心的能力,可以控制操作系统中所有的内容。
三分恶
2021/10/09
1.2K0
操作系统常见面试题
面试总结-操作系统
程序员按照分段系统的地址结构将地址分为段号与段内位移量,地址变换机构将段内位移量分解为页号和页内位移量。
小二三不乌
2018/08/02
9510
面试总结-操作系统
操作系统 面试问题_程序员面试问题大全及答案大全
操作系统的组成 1、驱动程序是最底层的、直接控制和监视各类硬件的部分,它们的职责是隐藏硬件的具体细节,并向其他部分提供一个抽象的、通用的接口。
全栈程序员站长
2022/09/27
3110
操作系统 面试问题_程序员面试问题大全及答案大全
460道Java后端面试高频题答案版【模块六:计算机操作系统】
1. 计算机操作系统和计算机网络是每个后端开发工程师必须掌握的知识。因为你写的代码最终都是要在操作系统里跑的,弄懂操作系统的原理对你编写高质量代码、调优、排故都有很大的帮助。在这里说一下我作为非科班转后端开发对计算机操作系统的看法,这一块知识确实要比其他模块的知识要难理解,因为多了很多名词和概念,更加抽象。但是呢,即便难度大,我们也必须征服它。因为很有可能你不跨越它,就见不到向你挥手的 offer 。无论是为了秋招还是为了以后当一名有“深度”的开发工程师,都是有必要去学习操作系统的。
乔戈里
2019/09/30
1.1K0
460道Java后端面试高频题答案版【模块六:计算机操作系统】
超硬核!操作系统学霸笔记,考试复习面试全靠它
3)引入挂起操作后,进程的状态转换: (1)阻塞态可以通过释放变为就绪态。活动阻塞释放变为活动就绪,静止阻塞释放变为静止就绪。 (2)活动态和静止态可以进行相互转换,活动到静止称为挂起,静止到活动可以称为激活。活动态和静止态最本质的区别为活动态在内存中,静止态暂时调出内存,进入外存 (3由执行态可以直接变为静止就绪态,即时间片用完,直接调离内存 (4)静止态(外存)必须通过激活变为非静止态(调入内存)才能够参与进程的三台转换。 4)进程挂起之后不是原封不动的将进程移出内存,而是会先将一些必要的信息写入外存。再释放PCB
全栈程序员站长
2022/06/29
6150
超硬核!操作系统学霸笔记,考试复习面试全靠它
操作系统(第四版)期末复习总结(中)
很多小伙伴私信要word下载,我就整理出来了一份pdf,是和线上的完全一样,建议大家看线上的,因为pdf下载需要收费,但是下载有好处就是可以打印出来复习,各位伙伴自行选择吧。现在这里给出pdf完整下载: 操作系统(第四版)期末复习总结.pdf_操作系统复习-OS文档类资源-CSDN下载
全栈程序员站长
2022/11/03
1.1K0
浅学操作系统:进程
在线程间实现同步是为了确保多个线程按照特定的顺序执⾏,以避免竞态条件(race condition)和其 他并发问题。以下是常⻅的线程间同步⽅式:
传说之下的花儿
2023/11/20
3930
浅学操作系统:进程
【计算机基础】操作系统常见问答
操作系统只是硬件和应用软件之间的一个平台。32位操作系统针对32位的CPU设计。64位操作系统针对的64位的CPU设计。
章鱼carl
2022/03/31
6460
【计算机基础】操作系统常见问答
推荐阅读
相关推荐
操作系统基础知识整理
更多 >
目录
  • 操作系统面试常见问题总结
    • 写在前面
      • Q:操作系统的基本特征?
      • Q:进程与线程的关系以及区别?
      • Q:进程的状态?
      • Q:进程的通信方式?
      • Q:进程调度算法?
      • Q:同步机制的 4 个准则?
      • Q:什么是临界区?
      • Q:什么是死锁?
      • Q:死锁产生的必要条件?
      • Q:死锁的处理基本策略和常用方法?
      • Q:饥饿与死锁的区别?
      • Q:程序的链接方式?
      • Q:程序的装入方式?
      • Q:动态分区分配算法
      • Q:分段和分页的区别?
      • Q:页面置换算法?
      • Q:颠簸/抖动
      • Q:地址翻译的过程
      • Q:磁盘调度算法
      • Q:I/O 控制方式
    • 相关内容
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档