1) 进程表示资源分配的最小单位,又是调度运行的基本单位。
当运行一个程序的时候,系统就会创建一个进程,并为它分配资源(包括内存空间,磁盘空间,I/O设备等),然后把该进程放入进程的就绪队列。
进程调度程序选中它,为它分配CPU及其他有关资源,该进程才真正运行。
2) 线程是进程中执行运算的最小单位,又是执行处理机调度的基本单位。
进程看作操作系统的任务,线程就是子任务。
操作系统提供线程就是为了方便而有效的实现并发性。
3) 进程和线程的关系
-----一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程,线程是操作系统可识别的最小执行和调度单位。
-----资源分配给进程,同一进程的所有线程共享该进程的所有资源。共享代码段(代码和常量),数据段(全局和静态变量),扩展段(堆存储)
但每个线程拥有自己的栈段(运行时段),存放所有的局部变量和临时变量。
-----处理机分给线程,即真正在处理机上运行的是线程。
-----线程在执行过程中,需要协作同步,不同进程的线程间要利用消息通信的方法实现同步。