操作系统面试常见问题总结
操作系统面试常见问题总结
写在前面
本文记录了一些操作系统面试常见问题,本意用于考研复试,以下面试题为网上整理的问题以及自己加入的一些问题,答案仅供参考!
Q:操作系统的基本特征?
A:并发、共享、虚拟、异步
Q:进程与线程的关系以及区别?
A:
-
进程是具有一定功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源调度和分配的一个独立单位
-
线程是进程的实体,是操作系统能够进行运算调度的最小单位
- 一个进程可以有多个线程,多个线程也可以并发执行
- 引入进程的目的:更好地使多道程序并发执行,提高资源利用率和系统吞吐量
- 引入线程的目的:减小程序在并发执行时的时空开销,提高操作系统的并发性能
Q:进程的状态?
A:运行态、就绪态、阻塞态、创建态、结束态
Q:进程的通信方式?
A:
- 共享存储:多个进程可以访问同一块内存空间
- 消息传递:通过发送消息和接收消息两个原语进行数据交换
- 管道通信:半双工通信
Q:进程调度算法?
A:
- 先来先服务(FCFS):按照请求的顺序进行调度,非抢占式,开销小,无饥饿问题,对短进程不利
- 最短作业优先(SJF):按估计运行时间最短的顺序进行调度。非抢占式,可能导致饥饿问题,对长进程不利(平均最优)
- 优先级调度算法:按优先级进行调度
- 时间片轮转:将所有就绪进程按 FCFS 的原则排成一个队列,用完时间片的进程排到队列最后
- 高响应比优先:按照高响应比(已等待时间 + 要求运行时间)/ 要求运行时间 优先
- 多级反馈队列调度算法:设置多个就绪队列,优先级递减,时间片递增。只有等到优先级更高的队列为空时才会调度当前队列中的进程
Q:同步机制的 4 个准则?
A:
- 空闲让进:当无进程处于临界区,可允许一个请求进入临界区的进程立即进入自己的临界区
- 忙则等待:当已有进程进入自己的临界区,所有企图进入临界区的进程必须等待
- 有限等待:对要求访问临界资源的进程,应保证该进程能在有限时间内进入自己的临界区
- 让权等待:当进程不能进入自己的临界区,应释放处理机
Q:什么是临界区?
A:每个进程中访问临界资源的那段程序称为临界区,每次只准许一个进程进入临界区
Q:什么是死锁?
A:两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去
Q:死锁产生的必要条件?
A:有一个条件不成立,则不会产生死锁
- 互斥条件:一个资源一次只能被一个进程使用
- 不剥夺条件:进程获得的资源,在未完全使用完之前,不能强行剥夺
- 请求并保持条件:一个进程因请求资源而阻塞时,对已获得资源保持不放
- 循环等待条件:若干进程之间形成一种头尾相接的环形等待资源关系
Q:死锁的处理基本策略和常用方法?
A:
- 死锁预防:破坏四个条件之一
- 死锁避免:安全状态(银行家算法)
- 死锁检测:死锁定理简化资源分配图
- 死锁解除:资源剥夺法、撤销进程法、进程回退法
Q:饥饿与死锁的区别?
A:饥饿与死锁都是由于进程竞争资源导致的
- 饥饿一般是指,进程在执行的过程中一直有高于当前进程优先级的进程,导致操作系统无法分配资源给当前进程(饥饿并不代表系统已经死锁,进入饥饿的进程可以只有一个)
- 死锁是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象
Q:程序的链接方式?
A:静态链接、装入时动态链接、运行时动态链接
Q:程序的装入方式?
A:绝对装入、可重定位装入(静态重定位)、动态运行装入(动态重定位)
Q:动态分区分配算法
A:首次适应算法、最佳适应算法、最坏适应算法、邻近适应算法
Q:分段和分页的区别?
A:
- 目的不同:
- 分页是由于系统管理的需要,它是信息的物理单位
- 分段的目的是为了能更好地满足用户的需要,它是信息的逻辑单位,
- 大小不同:
- 页的大小固定且由系统决定
- 段的长度不固定
- 地址空间不同:
- 页向用户提供的是一维地址空间
- 段向用户提供的是二维地址空间
- 碎片:
- 页式存储管理方式没有外部碎片,但会产生内部碎片
- 段式存储管理方式没有内部碎片,但会产生外部碎片
Q:页面置换算法?
A:
- 最佳(OPT)置换算法
- 先进先出(FIFO)置换算法(Belady 异常)
- 最近最久未使用(LRU)算法
- 时钟 (CLOCK) 置换算法
Q:颠簸/抖动
A:刚刚换出的页面马上又要换入主存,刚刚换入的页面马上又要换出主存
原因:某个进程频繁访问的页面数高于可用物理页帧数
Q:地址翻译的过程
A:TLB → 页表(TLB 不命中)→ Cache → 主存(Cache 不命中)→ 外存
Q:磁盘调度算法
A:
- 先来先服务算法(FCFS)
- 最短寻道时间优先算法(SSTF)
- 扫描算法(SCAN)电梯调度
- 循环扫描算法(CSCAN)
Q:I/O 控制方式
A:
- 程序直接控制
- 中断驱动方式
- DMA 方式
- 通道控制方式
相关内容
评论
TwikooValine