操作系统(二)进程管理

本文详细介绍了进程的概念,包括进程的组成、进程与程序的区别、进程的动态性、独立性和并发性。阐述了进程的创建、终止场景以及运行、就绪、阻塞三种状态之间的转换。还提及了进程控制块(PCB)的重要作用,它是描述和表示进程的数据结构,保存了进程的状态信息。操作系统通过管理PCB来实现对进程的控制。

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

  1. 进程: 就是一个正在运行的程序。
  2. 进程包含了正在运行的一个程序的所有状态信息,如下:
    a.程序的代码
    b.程序的数据
    d. 堆(用来保存进程运行时动态分配的内存空间)
    e.栈(一是用来保存运行上下文信息,二是在函数调用时,用来保存被调用函数的形参和局部变量)
    f.进程所占用的一组系统资源,如打开的文件等
  3. 进程与程序:
    程序是静态的概念:代码+数据
    进程是动态的概念:程序+该程序的运行上下文
  4. 进程的特性: 动态性、独立性、并发性
    动态性:在程序运行过程中,它的状态不断变化
    独立性:一个进程是一个独立的实体,是计算机系统资源的使用单位。每个进程有“自己”的寄存器(逻辑上相对独立)和内部状态。(见补充)
    并发性:从宏观上看,各个进程是同时在系统中相互独立的运行。微观上,各个进程是在一个接一个地顺序运行。
  5. 进程的创建(一般有4个引起进程创建的事件)
    A.系统初始化时创建新进程,比如电脑开机自动启动的服务
    B.一个正在运行的进程,如果执行了创建进程的系统调用,也会新建进程
    C.用户发出请求,创建一个新的进程,比如打开每个文件
    D.初始化一个批处理作业时,也会创建新进程
  6. 进程的终止
    A.正常退出(完成任务后,自愿退出)
    B.错误退出(发现错误,进程主动提出退出,自愿退出)
    C.致命错误(操作系统发现进程执行中的致命错误,强制踢出)
    D.被其他进程所杀(Kill函数等)
  7. 进程的状态:运行状态、就绪状态、阻塞状态
    运行:指进程占有CPU,并在CPU上运行
    就绪:进程已经具备了运行的条件,但CPU正忙,一旦获取CPU,就能立刻执行
    阻塞(等待):进程因为等待某种事件的发生而暂时不能运行(比如等待输入数据)
    *(阻塞与就绪不同,阻塞状态下即使CPU空闲,也不能立刻执行)
  8. 进程状态的转换
    这里写图片描述
    (图片来自百度图片)
  9. 进程控制块(Process Control Block,PCB)(见补充)
    在操作系统中,用来描述和表示一个进程的数据结构,保存了与该进程有关的各种状态信息。
    主要包括三个方面:
    A. 进程管理(通用寄存器、程序状态字、程序计数器PC、进程状态、进程ID…)
    B. 存储管理 (基地址寄存器的值、长度寄存器的值)
    C. 文件管理 (根目录、当前工作目录、进程打开文件表)
  10. 状态队列
    由操作系统来维护一组队列,用来表示系统中所有进程的当前状态,不同的状态分别用不同的队列来表示。运行队列、就绪队列、阻塞队列。对于单CPU的计算机系统而言,在任何时刻,运行队列最多只有一个进程。

补充:
1.在物理上,CP当中只有一套寄存器,但是每一个进程都有一个属于自己的逻辑上的PC。所谓逻辑寄存器,其实就是一个个的内存变量。当一个进程要运行时,就会将其逻辑寄存器中的值装入到相应的物理寄存器中;反之,当一个进程暂时不运行时,就会把物理寄存器中的值保存在其相应的逻辑寄存器当中。这样,对于每个进程而言,好像它一直占用这物理寄存器,但实际上,大家是在轮流使用。
2.逻辑寄存器通过内存变量来实现,这些变量就是存放在进程的PCB中。
3.PCB好比是一个进程的档案,对进程的管理就是通过对其PCB的管理来实现的。进程的PCB存放在内存中,具体来说,存放在操作系统的数据区。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值