http://www.admin10000.com/document/1909.html 这篇文章的解释比较给力
进程与线程这是最常考的题,无论考研还是笔试面试.操作系统的核心概念就是进程,因此对这两个基本概念有一个很透彻的理解是非常重要的.
操作系统引入进程的目的是使多个程序并发执行,提高资源利用率和系统吞吐量.那么再引入线程是为了减少程序并发执行时所付出的时空开销,使操作系统具有更好的并发性能.
1.进程与线程定义.
2.进程与线程的对比
3.多进程的并发控制.
4.多线程的并发控制.
1.进程的定义:计算机中正在运行的程序实体,是资源分配的基本单位.
线程的定义:进程的实际运作单位,是计算机进行调度的基本单位
2.进程与线程的对比.
(1).如定义,进程是资源的基本单位,而线程是调度的基本单位.
(2).一个进程可以有多个线程,至少有一个主线程.而线程必定会从属于一个进程.
(3).同一进程中的多个线程共享进程的资源,如虚拟地址空间,文件描述符等.而各个线程有自己的调用栈(call stack),寄存器环境和线程本地存储.
(4).在通信方面,不同进程间通信需要通过进程同步和互斥手段的辅助,以保证数据的一致性.而线程间可以直接通过直接读/写进程数据段(如全局变量)来进行通信.
(5).在有的操作系统中,线程的切换,同步和通信都无需操作系统内核的干预,并且线程的切换效率高于进程,因为线程共享进程的虚拟地址空间和内存空间的环境.因此线程上下文切换的效率高于进程
3.多进程的并发控制
4.多线程的并发控制.
以上两点在做总结,写累了...