操作系统常见面试题

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

进程是对运行时程序的封装,是系统进行资源调度和分配的最小单位,实现了操作系统的并发

线程是进程的子任务,是CPU调度和分配的基本单位,用于保证程序的实时性,实现进程内部的并发

一个进程可以有多个线程,多个线程也可以并发执行

进程:线程,内存,文件/网络句柄组成https://www.cnblogs.com/coder-programming/p/10595804.html

进程和线程的关系

(1)一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。线程是操作系统可识别的最小执行和调度单位。

(2)资源分配给进程,同一进程的所有线程共享该进程的所有资源。 同一进程中的多个线程共享代码段(代码和常量),数据段(全局变量和静态变量),扩展段(堆存储)。但是每个线程拥有自己的栈段,栈段又叫运行时段,用来存放所有局部变量和临时变量。

(3)处理机分给线程,即真正在处理机上运行的是线程。

(4)线程在执行过程中,需要协作同步。不同进程的线程间要利用消息通信的办法实现同步。

进程与线程的区别?

(1)进程有自己的独立地址空间,线程没有

(2)进程是资源分配的最小单位,线程是CPU调度的最小单位

(3)进程和线程通信方式不同(线程之间的通信比较方便。同一进程下的线程共享数据(比如全局变量,静态变量),通过这些数据来通信不仅快捷而且方便,当然如何处理好这些访问的同步与互斥正是编写多线程程序的难点。而进程之间的通信只能通过进程通信的方式进行。)

(5)一个进程挂掉了不会影响其他进程,而线程挂掉了会影响其他线程

2.进程的常见状态?以及各种状态之间的转换条件?

进程在其生命周期内,由于系统中个进程之间的相互制约关系以及系统的运行环境的变化,
使的进程的状态也在不断地发生着变化。通常进程有以下五种状态。前三种是进程的基本状
态。
1) 运行状态:进程正在处理器上运行。在单处理器的环境下,每一时刻最多只有一个进程处
于运行状态。
2) 就绪状态:进程已处于准备运行的状态,即进程获得了除CPU之外的一切所需资源,一
旦得到处理器即可运行。
3) 阻塞状态:又称为等待状态:进程正在等待某一事件而暂停运行,如等待某资源为可用
(不包括处理器),或等待输入输出的完成。即使处理器空闲,该进程也不能运行。
4) 创建状态:进程正在被创建,尚未转到就绪状态。创建进程通常需要多个步骤:首先申请
一个空白的PCB,并向PCB中填写一些控制和管理进程的信息;然后由系统为该进程分配运
行时所必须的资源;最后把该进程转入到就绪状态。
5) 结束状态:进程正在从系统中消失,这可能是进程正常结束或其他原因中断退出运行。当
进程需要结束运行时,系统首先必须置该进程为结束状态,然后再进一步处理资源释放和回
收工作。
注意区别就绪状态和等待状态:就绪状态是指进程仅缺少处理器,只要活得处理器资源就立
即执行;而等待状态是指进程需要其他资源或等待某一事件,及时处理器空闲也不能运行。

3.进程同步

进程同步的主要任务:是对多个相关进程在执行次序上进行协调,以使并发执行的诸进程之间能有效地共享资源和相互合作,从而使程序的执行具有可再现性。

  同步机制遵循的原则:

  (1)空闲让进;

  (2)忙则等待(保证对临界区的互斥访问);

  (3)有限等待(有限代表有限的时间,避免死等);

  (4)让权等待,(当进程不能进入自己的临界区时,应该释放处理机,以免陷入忙等状态)。

4.进程间通信

https://www.cnblogs.com/zgq0/p/8780893.html

5.有了进程为什么还要线程?

https://www.cnblogs.com/Berryxiong/p/6429723.html

6.线程同步方式

互斥量 Synchronized/Lock:采用互斥对象机制,只有拥有互斥对象的线程才有访问公共资源的权限。因为互斥对象只有一个,所以可以保证公共资源不会被多个线程同时访问

信号量 Semphare:它允许同一时刻多个线程访问同一资源,但是需要控制同一时刻访问此资源的最大线程数量

事件(信号),Wait/Notify:通过通知操作的方式来保持多线程同步,还可以方便的实现多线程优先级的比较操作

7.同步和异步   线程同步和线程互斥

同步:是指一个进程在执行某个请求的时候,若该请求需要一段时间才能返回信息,那么,这个进程将会一直等

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值