精华内容
下载资源
问答
  • PCB进程控制块

    2021-06-24 15:49:28
    进程控制快 标志进程存在的数据结构,其中保存系统进程管理所需的全部信息 进程的组成: PCB和程序 进程的队列:PCB构成的队列 1.就绪队列 2.等待队列 3.运行指示字(每个CPU一个) ...

    进程控制快

    标志进程存在的数据结构,其中保存系统进程管理所需的全部信息

    进程的组成:

    PCB和程序

    进程的队列:PCB构成的队列

    1.就绪队列

    2.等待队列

    3.运行指示字(每个CPU一个)

    展开全文
  • PCB进程控制块的理解

    2020-06-06 19:16:55
    文中 图片来源于网络 PCB进程控制块,是个结构体类型,

    文中 图片来源于网络

    PCB进程控制块,是个结构体类型,结构体类型为struct  task_struct。

    如图所示的,进程切换时需要保存和恢复的一些CPU寄存器---->是因为,cpu的时间轮片给轮询不同的进程,但是,所有的进程是用的同一套寄存器,所以,要保存寄存器状态,等下次时间片过来的时候,恢复之前的寄存器值。

    控制终端的信息--->

    进程在不同的终端中运行,显示的终端是不同的。

    当前工作目录:改变当前进程的工作目录

    umask:保护文件创建或修改的默认权限。 

    会话和进程组:功能相近的进程放在一起,即为进程组;

    会话,比进程组高一级的组。

    进程可以使用的资源上限:ulimit -a 显示资源上限

     

    展开全文
  • 05进程学习之PCB进程控制块 前言 我们知道,每个进程的内核区中都有一个进程控制块(PCB)来维护进程相关的信息,每个进程的PCB都是被MMU映射到物理内存上某块区域的不同地方。其实质是task_struct类型的结构体。 ...

    05进程学习之PCB进程控制块

    前言
    我们知道,每个进程的内核区中都有一个进程控制块(PCB)来维护进程相关的信息,每个进程的PCB都是被MMU映射到物理内存上某块区域的不同地方。其实质是task_struct类型的结构体。
    Linux下的存放路径:

    /usr/src/linux-headers-3.16.0-30/include/linux/sched.h
    

    1 PCB的一些重要成员
    文件中可以查看struct task_struct 结构体定义。其内部成员有很多,下面我们重点讲解以下部分即可:
    1) 进程id。
    2) 进程的状态。
    3) 当前工作目录(Current Working Directory)。
    4) umask掩码。
    5) 文件描述符表。
    6) 和信号相关的信息。
    7) 用户id和组id。
    8) 进程切换时需要保存和恢复的一些CPU寄存器。
    9) 描述虚拟地址空间的信息。
    10) 描述控制终端的信息。
    11) 会话(Session)和进程组。
    12) 进程可以使用的资源上限(Resource Limit)。

    以上重要性依次递减,重要理解前七个即可。
    下面对上面的每一点进行分析。

    2 分析PCB的重要内部信息
    1)用于标识唯一进程,单位为无符号的pid_t。可用ps aux查看第二列即为进程id。
    2)进程的状态,可分为就绪态,运行态,挂起态,终止态共四个状态;注意,有些书本会将就绪态划分为初始态和就绪态变成五个状态。
    就绪态:就是进程初始化后等待CPU的时间分片就行工作,通俗将就是等待CPU叫你工作。
    运行态:进程在运行。
    挂起态:将整个进程挂起,等待CPU的其它资源,主动放弃CPU,记住是主动。例如我进程现在在运行着准备消费东西,忽然发现缺少东西消费,那么此时就会放弃CPU,不在争夺,等待别人通知再请求CPU的时间分片。这就是生产者消费者模型。
    终止态(停止态):进程结束,释放资源。
    3)当前工作目录就是当前进程的工作目录。例如进程bash即我们的输入终端,假设当前目录为家目录,当执行cd …后,进程bash的工作目录就改变了,那么PCB就会记录下来。
    4)umask掩码就是一个进程对该进程内部资源分配的默认权限。由于PCB每个进程都有且不同,所以PCB内部的umask掩码在每个进程也不同,并非进程间共享。所以一个进程的umask掩码改变并不会影响另一个进程的umask掩码。例如打开两个bash终端,在一个终端进程改umask掩码为:

    umask 551
    

    而另一个终端进程仍为默认022,因为进程间的PCB是不同的。
    5)文件描述符就是0,1,2…,但实际上它是一种键值,通过一种映射关系将指向file文件结构体的指针与这些整数关联起来,从而可以操控文件。
    6)和信号相关的信息主要是:信号屏蔽集和未决信号集。这里不具体分析信号,等后面有空再总结信号的内容。
    7)用户id和组id就是我们用户登录的id和它所属组的id。
    8)就是说当我进程在执行的过程中,突然有一个等级比我高的进程被CPU优先执行了,但是需要保存这个被挂起的进程信息在寄存器,方便下一次按照这个挂起前的状态继续执行。
    9)就是说MMU在负责将虚拟内存映射到物理内存后,需要保存该映射的记录,但是MMU不会帮你记录,它只负责映射,记录是放在进程控制块PCB当中。
    10)即描述该进程是否与终端进程相关。有些进程与终端有关有些无关,例如守护进程就是与终端无关,表现为执行ps ajx 的第五列的"?",表示脱离终端,可看我博客关于守护进程的三篇博客。
    11)会话id表示它属于哪个会话,进程组id表示该进程所属的进程组。会话:多个进程组的集合。进程组:多个进程的集合。
    12)就是保存进程资源相关的信息。

    3 总结
    好了,说完PCB后,大家应该对进程有不错的理解了,非常简单,多看几次即可。没有什么可以总结的了,就看上面就差不多了。

    展开全文
  • 转发:PCB进程控制块

    2018-04-20 15:04:25
    文字转自:... 想要有顺序地学习Linux,入口在这里哦:Linux:目录索引 PCB进程控制块 0.PCB是干什么的? 学了操作系统后,我们都知道操作系统要想管理一个对象,它不是直接进行管理的,...

    文字转自:https://blog.csdn.net/w_y_x_y/article/details/80016975

    想要有顺序地学习Linux,入口在这里哦:Linux:目录索引

    PCB:进程控制块

    0.PCB是干什么的?

    学了操作系统后,我们都知道操作系统要想管理一个对象,它不是直接进行管理的,而是通过得到被管理者的一些有效信息加以管理的,因此在这里我们也可以这样理解,操作系统管理进程,实则是将进程的有效信息提取出来然后通过管理这些信息来管理进程,而所有的进程信息被存放在一个叫做进程控制块的数据结构中(可以理解为进程属性的集合),这也就是即将要介绍的进程控制块(PCB).

    1.PCB简介

    PCB(process control block),进程控制块,它用于管理系统的进程
    一般情况下,PCB中包含4个部分
    1.进程标识信息
    2.处理机状态
    3.进程调度信息
    4.进程控制信息
    详细如下图:
    这里写图片描述

    2.PCB4个部分包含的内容的解释:

    (1). 进程标识信息

    进程标识信息用于唯一地标识一个进程,一个进程通常有两种标识符:内部标志符&外部标识符。
    内部标志符: 由操作系统赋予每个进程的一个唯一的数字标识符,它通常为一个进程的序号,方便了系统使用。
    外部标识符: 由创建者产生,是由字母和数字组成的字符串,为用户进程访问该进程提供方便。
    为了描述进程间的家族关系,通常还设有父进程标识和子进程标识,以表示进程间的家族关系。
    此外,还设有用户名或用户标识号表示该进程属于哪个用户。

    (2). 处理机状态

    处理机状态信息主要由处理机的各个寄存器内的信息组成。 进程运行时的许多信息均存放在处理机的各种寄存器中。其中程序状态字(PSW)是相当重要的,处理机根据程序状态寄存器中的PSW来控制程序的运行。

    (3). 进程调度信息

    PCB中还存放着一些与进程调度有关的信息。
    进程状态:标识进程的当前状态(就绪、运行、阻塞),作为进程调度的依据。
    进程优先级:表示进程获得处理机的优先程度。
    为进程调度算法提供依据的其他信息:例如,进程等待时间、进程已经获得处理器的总时间和进程占用内存的时间等。
    事件:是指进程由某一状态转变为另一状态所等待发生的事件。(比如等待I/O释放)

    (4). 进程控制信息

    程序和数据地址:是指组成进程的程序和数据所在内存或外存中的首地址,以便在调度该进程时能从其PCB中找到相应的程序和数据。
    进程同步和通信机制:指实现进程同步和通信时所采取的机制,如消息队列指针和信号量等,他们可以全部或部分存在PCB中。
    资源清单:列出了进程所需的全部资源 及 已经分配给该进程的资源,但不包括CPU.
    链接指针:它给出了处于同一队列中的下一个PCB的首地址。

    3.Linux中的PCB:task_struct

    (1)PCB中存储的信息

    标识符:与进程相关的唯一标识符,用来区别正在执行的进程和其他进程。
    状态:描述进程的状态,因为进程有挂起,阻塞,运行等好几个状态,所以都有个标识符来记录进程的执行状态。
    优先级:如果有好几个进程正在执行,就涉及到进程被执行的先后顺序的问题,这和进程优先级这个标识符有关。
    程序计数器:程序中即将被执行的下一条指令的地址。
    内存指针:程序代码和进程相关数据的指针。
    上下文数据:进程执行时处理器的寄存器中的数据。
    I/O状态信息:包括显示的I/O请求,分配给进程的I/O设备和被进程使用的文件列表等。
    记账信息:包括处理器的时间总和,记账号等等。

    (2)task_struct的结构

    这里写图片描述

                        <link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/production/markdown_views-ea0013b516.css">
                            </div>
    
    展开全文
  • 目录 一、进程概述 1、PCB(Processing Control Block) ...四、进程控制 4.1 结束进程 4.2 孤儿进程 4.2 僵尸进程 4.3 进程回收 wait waitpid 一、进程概述 1、PCB(Processing Contro...
  • 进程控制块——PCB

    2018-11-25 10:19:46
    PCB进程控制块的结构:  进程控制块(PCB)是系统为了管理进程设置的一个专门的数据结构。系统用它来记录进程的外部特征,描述进程的运动变化过程。同时,系统可以利用PCB来管理和控制进程,所以说,PCB是系统感知...
  • 进程控制块PCB

    千次阅读 2019-04-10 22:56:55
    我们知道,每个进程在内核中都有一个进程控制块PCB)来维护进程相关的信息,Linux内核的进程控制块是task_struct结构体。 /usr/src/linux-headers-3.16.0-30/include/linux/sched.h文件中可以查看struct task_...
  • PCB进程控制块)讲解

    千次阅读 2019-05-04 22:34:45
    PCB进程控制块,实际是一个结构体,放在sched.h文件中,Linux下可以通过whereis sched.h命令查看具体路径 该结构体主要包含: 1.进程id 2.进程的状态:就绪、运行、挂起、停止 3.进程切换时需要保存和恢复的一些...
  • 3.进程控制块PCB

    2018-06-30 14:09:49
    前面说过,Linux操作系统会为每个进程分配一段虚拟地址空间,而在内核区中都有一个进程控制块PCB)来维护进程相关的信息,Linux内核的进程控制块是task_struct结构体。其内部成员很多,重点掌握一下部分即可:1....
  • PCB(进程管理块)语音编辑锁定上传视频为了描述控制进程的运行,系统中存放进程的管理和控制信息的数据结构称为进程控制块(PCB Process Control Block),它是进程实体的一部分,是操作系统中最重要的记录性数据结构。...
  • 主要讲解进程控制块pcb)的定义和描述,适合想了解操作系统的PCB
  • 进程控制块PCB)的结构

    千次阅读 2018-04-07 21:46:12
    进程控制块 PCB (Process Control Block): 存放进程的管理和控制信息的数据结构称为进程控制块。它是进程管理和控制的最重要的数据结构,每一个进程均有一个PCB,在创建进程时,建立PCB,伴随进程运行的全过程,...
  • PCB 是进程实体的一部分,是操作系统中最重要的记录型数据结构。作用是使一个在 多道程序环境下不能独立运行的程序,... Linux的进程控制块为一个由结构task_struct所定义的数据结构,其中包括管理进程所需的各种信息。
  • 进程控制块中的信息: 1.进程标识符:进程标识符是惟一地标识一个进程。一个进程通常有两种标识符  (1).内部表示符:在所有的操作系统中,都为每一个进程赋予了一个惟一的数字标识符,它通常是一个进程的序号。...
  • 进程控制块PCB) 概念: 进程控制块,是我们学习操作系统后遇到的第一个数据结构描述,它是对系统的进程进行管理的重要依据,和进程管理相关的操作无一不用到PCB中的内容。 一般情况下,PCB中包含以下内容: ...
  • 进程控制块 PCB 的结构
  • 进程控制块PCB

    2021-01-04 15:40:16
    一、进程控制块 进程控制块是存放进程的管理和控制信息的数据结构称为进程控制块。它是进程管理和控制的最重要的数据结构,没一个进程都有一个PCB,在创建进程时,建立PCB,伴随进程运行的全过程,直到进程撤销而...
  • 了解进程控制块
  • 进程控制块(PCB)的结构 进程控制块 PCB (Process Control Block): 存放进程的管理和控制信息的数据结构称为进程控制块。它是进程管理和控制的最重要的数据结构,每一个进程均有一个PCB,在创建进程时,建立PCB,...
  • 关于进程控制块PCB

    千次阅读 2015-05-18 19:21:01
    1.Unix为了节省PCB所占主存,PCB分为2部分: a.常驻内存部分:Proc结构。包含进程调度所必需的信息; b.非常驻内存部分:User结构。包含进程运行时才要用到的更多其他信息,它随着用户程序和数据部分换进/换出主存;...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 16,968
精华内容 6,787
关键字:

pcb进程控制块