操作系统复试面试题

这些资料是在翻阅各种大佬的文章的基础之上整理出来的一部分,经供参考。

1.请分别简单说一说进程和线程以及它们的区别。

进程是系统资源分配的基本单位,他是一个动态的概念,是一个应用程序的一次执行过程,而线程的话是任务调度和分配的基本单元,是比进程更小的能独立运行的基本单位。线程相当于进程来说更小一些,一个进程里可以有多个线程,而这些线程也可以并发执行。

2.线程同步的方式有哪些?

1.临界区 2信号量 3.互斥量 4 事件

3.进程的通信方式有哪些?

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

4.什么是死锁?死锁产生的条件?

死锁就是在进程运行过程中,有两个或两个以上的进程,在自己占据一些资源的前提之前,对一些不可获得的资源不断请求,致使整个系统无法向前推进的过程
产生的条件
1.资源的互斥
2.资源不可剥夺
3.进程请求且等待
4.进程循环等待

5.死锁和饥饿的区别:

1.首先最大的区别在于死锁的话的一定是涉及到两个或两个以上的资源,而饥饿可能是一个或者是多个资源。2.饥饿情况之下,系统是至少有一个程序能够顺利运行的,而死锁可能导致整个系统不能够运行 3. 死锁一定发生了循环等待,而饥饿不一定。这也表明通过资源分配图可以检测死锁存在与否,但却不能检测是否有进程饿死;

6.进程有哪几种状态?

1.就绪态 2.运行态 3.阻塞态
1.就绪态:进程除了处理机资源外的其他资源都已经准备好了
2.运行态:进程在处理机上运行的状态
3.阻塞态:进程由于某些资源消失或被抢占而从处理机上下来的状态

7.分页和分段有什么区别?

1.物理与逻辑的区别 2.一维和二维的区别 3.长度固定与不固定的区别
段是信息的逻辑单位,它是根据用户的需要划分的,因此段对用户是可见的 ;页是信息的物理单位,是为了管理主存的方便而划分的,对用户是透明的。
段的大小不固定,有它所完成的功能决定;页的大小固定,由系统决定
段向用户提供二维地址空间;页向用户提供的是一维地址空间
段是信息的逻辑单位,便于存储保护和信息的共享,页的保护和共享受到限制。

8. 操作系统中进程调度策略有哪几种?

1.先来先服务 2.短作业优先 3.优先级 4.时间片轮转 5.高响应比优先 6.多级反馈

9.解决死锁的方法

预防死锁、避免死锁、检测死锁
(1)不考虑此问题,乐观的角度,鸵鸟算法
(2)不让死锁发生:
①死锁预防。
静态策略,通过设计合适的资源分配算法,不让死锁发生
②死锁避免
动态策略,以不让死锁发生为目标,跟踪并评估资源分配过程,根据评估结果决策是否分配
(3)让死锁发生:死锁的检测与解除

10.什么是银行家算法

首先要知道为什么叫银行家算法,是因为最早是用来处理银行贷款问题的。
银行家算法是一种最有代表性的避免死锁的算法。在避免死锁方法中允许进程动态地申请资源,但系统在进行资源分配之前,应先计算此次分配资源的安全性,若分配不会导致系统进入不安全状态,则分配,否则等待。

11.非抢占式和抢占式

非抢占式是体现在,当进程在处理机上运行的时候,只有自身出现情况,比如运行结束或者所需资源缺少的情况之下才会结束,而不会因为其他进程的出现干扰到,而抢占式就是进程在处理机上运行的时候,当出现满足条件,更适合在处理机上运行的进程出现时,它会被剥夺对处理机的使用,而被另一个进程替代。

12.什么是中断

就是系统停止处理当前指令,而去处理外部发出中断信号的地方的过程。

13.同步机制的原则

1.空闲让进
2.忙则等待
3.有限等待
4.让权等待

14.文件的逻辑结构

1.有结构文件:也就是记录式文件
2.无结构文件:也就是流式文件

15.操作系统硬链接和符号链接

硬链接的话就是共享索引结点 符号链接的话就是创建一个link类型的文件,里面存储了原文件的地址

你可能感兴趣的:(学习)