进程

本文介绍了进程的基本概念,包括进程的组成、状态、控制与调度等内容,并探讨了线程的引入及其目的,最后讨论了进程间的互斥与同步问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、进程结构

         组成(进程映像): 程序、数据集合、进程控制块PCB (Process Control Block )。PCB是进程存在的唯一标志。创建进程时,创建PCB;进程结束时,系统将撤消其PCB

PCB  

        •进程标识信息:进程的内部和外部标识符
        •处理机状态信息:通用寄存器值、指令计数器值、程序状态字PSW值、用户栈指针值
        •进程调度信息:进程状态、进程优先权、进程调度的其它信息
        •其它信息:程序及数据地址、进程同步和通讯机制、资源清单、链接指针

二、进程状态

        •执行状态(Running
        •就绪状态(Ready
        •阻塞状态(Blocked
        •新状态(New
       •终止状态(Terminated

三、进程控制

两种执行模式

•系统模式(又称为系统态)、控制模式或内核模式:

  - 具有较高的特权

   - 运行系统特定的指令,包括读/写控制寄存器的指令、基本I/O指令以及与存储器管理有关的指令,及一些特定的内存区

   - 内核模式下的处理机及其指令、寄存器和内存都受到完全控制和保护

•用户模式(或用户态)

  - 具有较低的特权

  - 用户程序一般运行在用户模式


进程控制原语

进程切换
创建与终止
阻塞与唤醒
挂起与激活

进程创建
1.为进程分配一个唯一标识号ID  主进程表中增加一个新的表项

2.为进程分配空间: 用户地址空间、用户栈空间、PCB空间。若共享已有空间,则应建立相应的链接。
3.初始化PCB:进程标识、处理机状态信息、进程状态
4.建立链接  :若调度队列是链表,则将新进程插入到就绪或就绪/挂起链表
5.建立或扩展其他数据结构


四、进程调度

调度方式:剥夺方式与非剥夺方式

调度类型

批处理调度、分时调度、实时调度和多处理机调度
长程调度(作业调度要创建新进程)、中程调度(挂起,激活不用创建新进程)、短程调度(进程调度)
I/O调度

调度算法

先来先服务、短进程优先、时间片轮转调度法、基于优先级的调度算法、反馈调度法


五、引入线程

目标:既能提高进程并发度,又能降低系统的额外开销。
实现:将进程的资源申请和调度属性分开。即进程作为资源的申请和拥有者,但不作为调度的基本单位。这样,就产生了线程的概念。
线程是进程中的一个实体,是独立调度和分派的基本单位。
线程自身基本上不拥有系统资源,只拥有少许运行中必不可少的私有资源。线程可与同属一个进程的其它线程共享进程的全部资源。

六、进程的互斥与同步

软件方法
硬件方法
信号量方法(通用)
管程方法
消息传递方法


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值