进程创建详解:状态转换与并发控制关键

需积分: 37 2 下载量 136 浏览量 更新于2024-08-25 收藏 3.14MB PPT 举报
进程的创建是操作系统中一项核心功能,它涉及到进程生命周期的初始化阶段。当系统需要启动一个新的任务时,通常遵循以下步骤: 1. **进程申请与分配**:首先,调用进程创建原语,系统会从进程控制块池(PCB)中申请一个空白PCB(进程控制块),这是进程存在的基本结构,包含了进程的基本信息和状态。 2. **资源分配**:为新进程分配所需的资源,这包括内存空间。新进程的程序代码和数据存储在内存中,同时为其设置一个用户栈,以保存局部变量和函数调用信息。 3. **进程控制块初始化**: - **标识信息**:设置进程标识符,如PID(进程ID),以便于系统识别和管理。 - **处理机状态信息**:设置程序计数器(Program Counter,PC)以指示程序的入口地址,栈指针(Stack Pointer,SP)指向栈顶,以便控制程序执行的上下文切换。 - **处理机控制信息**:初始化进程状态(如就绪、运行、阻塞等)和优先级,这些属性影响进程调度的决策。 4. **进程插入就绪队列**:创建完成后,新进程被放置到就绪队列中,等待操作系统将其调度到处理器上执行。 在多道程序设计中,系统的目标是允许多个程序并发执行,以提高系统资源的利用率。这涉及到几个关键点: - **并发环境**:并发环境允许多个程序在同一时间段内运行,但执行顺序不确定,分为应用级并发(应用程序之间的并发)和系统级并发(操作系统内核的并发)。 - **进程控制与调度**:操作系统需管理进程的调度,保证公平地分配CPU时间,同时处理并发程序间的消息传递和资源竞争。 - **进程间通信**:采用共享内存、消息传递等方式,确保并发程序之间的数据交换正确且同步。 - **死锁预防与避免**:处理并发过程中可能出现的死锁问题,通过资源分配策略和锁机制防止死锁的发生。 以飞机订票系统的例子来看,两个终端(进程T1和T2)并发执行读取和修改数据的操作,强调了并发执行下程序控制的复杂性。此外,讨论了顺序执行与并发执行的区别,前者严格按照指令顺序执行,后者则可能在多个任务之间交错进行。 总结来说,进程的创建是实现并发的关键环节,涉及资源分配、状态管理和调度,而并发控制则需要处理好多个进程的交互、资源分配和调度,以实现高效、稳定和安全的多任务执行。