1. 进程的组织与控制
进程的基本属性:进程是一个可拥有资源的独立单位,包括用于存放程序正文、数据的磁盘和内存地址空间,以及它在运行时所需要的I/O设备、已打开的文件、信号量等。同时,进程也是一个可独立调度和分派的基本单位,系统可根据其PCB(进程控制块)感知进程的存在,也可以根据其PCB中的信息,对进程进行调度。 进程的状态与切换:进程在其生命周期中会经历多种状态,如创建态、就绪态、运行态、阻塞态和终止态。进程状态的切换由操作系统负责,根据一定的调度算法和策略进行。
2. 线程的引入与意义
引入线程的目的:为了减少程序在并发执行时所付出的时空开销,使操作系统具有更好的并发性。传统的进程机制中,进程是程序执行流的最小单位,但进程切换的开销较大。引入线程后,线程成为程序执行流的最小单位,同一进程内的线程可以共享进程的资源,从而减少了切换开销。 线程的意义:线程提高了系统的并发性和响应速度,使得在一个进程内可以并发处理多种任务。同时,线程也简化了并发编程的复杂度,使得程序员可以更加灵活地控制程序的执行流程。
3. 线程的组织与控制
线程的状态:线程在其生命周期中会经历执行状态、就绪状态和阻塞状态。执行状态表示线程已获得处理机而正在运行;就绪状态指线程已具备了各种执行条件,只须再获得CPU便可立即执行;阻塞状态指线程在执行中因某事件受阻而处于暂停状态。 线程的控制:系统为每个线程配置了一个线程控制块(TCB),将所有用于控制和管理线程的信息记录在线程控制块中。线程的创建、撤销、同步和通信等操作都通过TCB进行。操作系统负责线程的调度和切换,根据一定的策略和算法选择下一个要执行的线程。
4. 线程与进程的关系
线程与进程的关联:线程是进程的一部分,一个线程只能属于一个进程,一个进程可以有多个线程。进程是资源分配的基本单位,而线程是CPU调度和分派的基本单位。 线程与进程的共享与独立:同一个进程的所有线程共享该进程的所有资源,如内存空间、I/O设备等。但每个线程都有自己独立的执行路径和栈空间,以及独立的线程控制块。这种共享与独立的关系使得线程在并发执行时能够更加高效地利用系统资源。