进程是执行中的程序。程序本身不是进程。
进程包括数据、当前活动、进程堆栈段、和数据段。还可能包括堆。
进程状态:
PCB 进程控制块(任务控制块) 包括进程状态(新的、就绪、等待、运行、终止) 程序计数器(进程要执行的下个指令地址) CPU寄存器(保存各种状态信息) CPU调度信息(进程优先级等调度参数) 内存管理信息(页表段表、基址等) 记账信息(CPU时间、实际使用时间、进程数量) I/O状态信息(分配的设备列表等)。
线程
线程(thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。在Unix System V及SunOS中也被称为轻量进程(lightweight processes),但轻量进程更多指内核线程(kernel thread),而把用户线程(user thread)称为线程。
线程是CPU使用的基本单元,由线程ID、程序计数器、寄存器集合和栈组成。
多线程共享代码数据和文件、线程拥有各自的寄存器和栈。