操作系统经典题目

1、进程和线程的区别?
进程是系统进行资源调度和分配的一个独立单元,线程是进程的实体,是CPU调度和分配的基本单位,它是比进程更小的能独立运行的基本单位。
一个进程可以有多个线程,多个线程也可以并发执行。

2、线程同步的方式包括:临界区、互斥量、事件、信号量 (线程同步是指多个进程之间的协作)
临界区:每个进程中访问临界资源(一次仅允许一个进程使用的共享资源)的那段代码称为临界区,每次只准许一个进程进入临界区,进入后不允许其他进程进入。
互斥量:是一个可以处于两态之一的变量:解锁和加锁。
事件:用来通知线程有一些事情已发生,从而启动后继任务的开始。
信号量:用来解决线程间同步或互斥的一种机制,也是一个特殊的变量,变量的值代表着当前可以利用的资源。

3、进程间通信方式:管道,系统IPC(包括消息队列、信号、共享存储)、套接字(SOCKET)
管道包括三种:普通管道(PIPE),流管道(s_pipe),命名管道(name_pipe)
1>普通管道:一为单工,只能单向传输;二是只能在父子或者兄弟进程间使用。
2>流管道:为半双工,可以双向传输。
3>命名管道:可以在许多并不相关的进程之间进行通讯。

4、什么是死锁?死锁产生的条件?
死锁:是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。
死锁产生的条件:
1>互斥:一次只有一个进程可以使用一个资源。其他进程不能访问已分配给其他进程的资源。
2>占有且等待:当一个进程等待其他进程时,继续占有已经分配的资源。
3>不可抢占:不能强行抢占进程已占有的资源。
4>循环等待:存在一个封闭的进程链,使得每个进程至少占有此链中下一个进程所需要的一个资源。


5、进程有哪几种状态:就绪状态、运行状态、阻塞状态。

你可能感兴趣的:(操作系统)