一文读懂大厂面试的操作系统面试题目(超详细整理,线程,进程,死锁)

操作系统是大厂进行计算机开发以及算法岗位面试的必备部分,操作系统的面试中其实还包括操作系统的线程,进程的相关知识,以及Linux系统的内核和实际的使用。
通过阅读很多的大厂的面试心经在操作系统的使用,进行了以下的操作系统面试题目的总结。
操作系统的面试重点涉及线程,进程的基本概念,进程与线程的区别与联系,操作系统的死锁的发生,以及避免死锁的发生,片段存储区别,以及Linux系统的操作指令。

1.什么是进程以及线程?二者之间的区别有哪些?
进程是系统进行资源调度与分配的基本单位,线程是CPU进行资源调度与分配的基本单位,它是比进程更小的能独立运行的基本单位。
一个线程只能属于一个进程,一个进程中可以包含多个线程,系统分配给进程的资源,进程内部的线程可以多线程的共享,不同进程内的线程通过消息通信的方式实现同步。
进程有独立的内存空间,线程没有独立的内存空间。

2.进程与线程之间的状态转换类别
进程状态分为堵塞,运行,就绪
就绪:进程已处于准备好运行的状态,即进程已分配到除CPU外的所有必要资源后,只要再获得CPU,便可立即执行
运行:进程获得CPU,程序处于执行状态
堵塞:正在执行的进程遇到IO请求等,暂时无法继续执行
一文读懂大厂面试的操作系统面试题目(超详细整理,线程,进程,死锁)_第1张图片
3.进程之间的同步方式有哪些?
管道机制,信号量,消息队列,套接字进行通信。

4.进程之间的调度算法有哪些?
调度算法是指:根据系统的资源分配策略所规定的资源分配算法
(1)先来先服务的调度算法:先来先服务调度算法是一种最简单的调度算法,也称为先进先出或严格排队方案
(2)时间片轮转调度算法主要适用于分时系统。在这种算法中,系统将所有就绪进程按到达时间的先后次序排成一个队列。
(3)短作业优先调度算法:短作业优先调度算法是指对短作业优先调度的算法,从后备队列中选择一个或若干个估计运行时间最短的作业,将它们调入内存运行。
(4)最短剩余时间优先调度算法
(5)高响应比优先调度算法
(6)优先级调度算法

5.操作系统的死锁是什么?
死锁就是两个线程在获取资源的时候,两个线程互相具有对方所必须的资源,没有外力的作用将一直持续等待,即为死锁。

6.死锁产生的必要条件有几种?
(1)互斥条件:进程对进程的资源采用排他的机制,也就是一段时间内某一资源仅仅为一个进程所占有。
(2)请求和保持的条件:当进程因为请求资源堵塞时,进程对所获得的资源保持不放
(3)不剥夺的条件:进程已获得的资源在未使用完之前,不能剥夺,只能在使用完时由自己释放。
(4) 环路等待条件:在发生死锁时,必然存在一个进程–资源的环形链。

7.解决死锁的方法?
根据死锁产生的条件,解决死锁包括预防死锁,避免死锁,检测死锁,解除死锁。

8.如何预防死锁?
预防死锁,由于死锁产生需要同时具备四个条件,因此预防死锁的办法就是限制其中的一个条件
(1)破坏请求条件:一次性分配所有资源,这样就不会再有请求了;
(2)破坏请保持条件:只要有一个资源得不到分配,也不给这个进程分配其他的资源:
(3) 破坏环路等待条件:系统给每类资源赋予一个编号,每一个进程按编号递增的顺序请求资源,释放则相反。
(4)破坏不可剥夺条件:当某进程获得了部分资源,但得不到其它资源,则释放已占有的资源;

9.分页和分段的区别?
(1)段是信息的逻辑单位,是根据用户需要进行划分的,段对用户是可见的,页是信息的物理单位,是为了管理主存的而存在的,对用户是透明的。
(2)段的大小不固定,由所完成的功能确定,页的大小是固定的
(3)段向用户提供的是二维地址空间,页向用户提供的是一维地址空间
(4)段是信息的逻辑单位,便于存储保护和信息的共享,页的保护和共享受到限制。

10.解释并行和并发的含义区别
并行:两个事件和多个事件在同一时刻发生,发生在不同的实体上。
并发: 两个事件或者多个事件在同一时间间隔发生,发生在统一实体。

11.同步,异步,堵塞,非堵塞的区别?
同步:当一个同步调用发出后,调用者需要等待返回结果,才能进行后续的执行。
异步:当一个异步过程调用发出后,调用者不能立刻得到返回结果。实际处理这个调用的部件在完成后,通过状态、通知和回调来通知调用者。
阻塞 :是指调用结果返回前,当前线程会被挂起,即阻塞。
非阻塞 :是指即使调用结果没返回,也不会阻塞当前线程。

12.列举常用的Linux系统的常用命令及作用
 显示文件目录命令ls 如ls
 改变当前目录命令cd 如cd /home
 建立子目录mkdir 如mkdir xiong
 删除子目录命令rmdir 如rmdir /mnt/cdrom
 删除文件命令rm 如rm /ucdos.bat
 文件复制命令cp 如cp /ucdos /fox
 获取帮助信息命令man 如man ls
 显示文件的内容less 如less mwm.lx
 重定向与管道type 如type readme>>direct,将文件readme的内容追加到文direct中
 
致谢
1.https://zhuanlan.zhihu.com/p/86629244
2.https://blog.csdn.net/qwe123147369/article/details/92646371
3.https://blog.csdn.net/youngchang06hpu/article/details/8009947
4.https://zhuanlan.zhihu.com/p/86629244

你可能感兴趣的:(JAVA开发工程师学习日记,操作系统,linux,面试,java,多线程)