进程、轻量级进程、线程
概念
进程:是操作系统资源分配的基本单位,拥有独立的内存空间。
轻量级进程:是一些操作系统实现线程的一种方式
线程:是进程中的执行单元,是CPU调度的基本单位。
特性
进程:进程具有独立性,每个进程都有自己独立地址空间,上下文切换开销较大
轻量级进程:所有的轻量级进程共享同一块内存空间及其他资源,上下文切换开销较小,可以并行执行
线程:和进程比起来更加轻量化,同一个进程中的线程可以共享全局变量和内存
进程、轻量级进程、线程之间的关系
一个进程由多个线程组成,每一个线程代表进程的一个执行流(执行流:是指程序在运行时的控制路径和状态变化)。进程是操作系统
分配资源和调度的基本单位,而线程则是在进程内部进行调度的基本单位。
进程地址空间
定义
进程地址空间(Process Address Space)是操作系统为每个进程提供的一个虚拟内存空间,它是一个逻辑地址空间,用于隔离不同的进程,使得它们可以独立地访问内存资源,而不互相干扰。
好处
不同的进程拥有独立的地址空间,确保了进程间不会相互干扰。
通过地址空间的隔离,可以防止恶意进程访问其他进程的数据。
尽管每个进程有独立的地址空间,但操作系统提供了机制(如内存映射文件)以实现进程间的数据共享。
进程描述符
定义
进程描述符是操作系统内核中的一个数据结构,用来表示一个进程的状态和属性。
内容
- 进程标识符(PID):唯一标识一个进程。
- 进程状态:如运行、就绪、阻塞等。
- 程序计数器(PC):记录下一条指令的地址。
- 寄存器集:如通用寄存器、栈指针、指令指针等。
- 内存映像:进程所使用的内存区域。
- 文件描述符表:进程打开的文件列表。
- 父进程和子进程的标识符:记录进程的家族关系。