1、进程和线程
大约 3 分钟操作系统进程和线程原创面试题技术解析程序员多线程编程
进程管理篇
进程与线程
请介绍一下什么是进程?
请说一下进程和程序有什么联系?
请说一下进程和程序的区别?
请介绍一下如何创建进程?
请说一下进程为何终止?
请介绍一下操作系统如何进行进程管理?
请解释一下为什么说 PCB(进程控制块)是进程存在的唯一标识?
请介绍一下进程的生命周期?
请说一下什么是进程挂起?为什么会出现进程挂起?
请介绍一下什么是线程?
请说一下为什么使用线程?
请说一下什么时候用进程?什么时候用线程?
请介绍一下进程和线程的比较?
请说一下线程是如何实现的?
请介绍一下什么是僵尸进程?
请说一下进程切换的过程?
请介绍一下什么是协程?
请说一下什么是上下文切换?
请介绍一下上下文切换的过程?
请解释一下为什么进程上下文切换比线程上下文切换代价高?
请说一下守护、僵尸、孤儿进程的概念?
进程通信与线程通信
请介绍一下进程通信的方式有哪些?
请说一下什么是管道?匿名管道、高级管道和命名管道有什么区别?
请介绍一下什么是消息队列?
请说一下消息队列和管道的区别?
请介绍一下什么是共享内存?
请说一下什么是信号量?
请介绍一下什么是信号?
请说一下如何通过文件进行进程通信?
请介绍一下什么是 socket 通信?
请说一下线程通信的方式有哪些?
进程调度
请说一下什么时候进行调度?
请介绍一下调度的准则有哪些?
请说一下调度的策略有哪些?
请介绍一下进程调度算法有哪些?
请说一下操作系统如何完成的进程调度?
同步与互斥
请介绍一下进程同步的方法有哪些?
请说一下线程同步的方法有哪些?
请说一下进程同步与线程同步有什么区别?
请介绍一下什么是临界区和临界资源?
请说一下如何防止多个进程同时进入临界区?
请介绍一下同步和互斥的经典示例?
请说一下什么是读写锁?
请解释一下什么是读饥饿?





