复试问题 | 第三篇操作系统
- 进程和程序的区别
① 进程是动态的,程序是静止的。进程是程序的执行,程序是有序代码的集合。
②进程是暂时的,程序是永久的。进程是一个状态变化的过程,程序可以长久保存。
③ 进程和程序的组成不同:进程包括程序,数据和进程控制块
④ 进程和程序是密切相关的。通过多次执行,一个程序可以对应多个进程;通过调度关系,一个进程可 以包括多个程序。
⑤进程可以创建其他进程,但是程序不能形成新的程序。
- 进程和线程的区别
① 调度:线程是独立调度的基本单位,进程是资源拥有的基本单位。在同一进程中,线程的切换不会引 起进程切换。在不同进程中进行线程切换,将会引起进程切换。
② 拥有资源:进程是拥有资源的基本单位,而线程不拥有系统资源(除了少量资源,比如栈,程序计数器,寄存器),不过线程可以访问其隶属进程的系统资源。
③ 并发性:在引入线程的操作系统中,不仅进程之间可以并发执行,而且同一个进程内的多个线程之间也可以并发执行,能提高系统的吞吐量,系统的并发性也更好。
④ 系统开销:在创建进程和撤销进程时,系统都要为之分配或回收资源,所以操作系统为进程付出的系 统开销远大于创建线程或撤销线程的开销。
⑤ 同步和通信:多线程之间的同步和通信容易实现。