进程控制块(PCB)包含哪些传信息? 进程控制块2113(PCB)(系统为了管理进程设置的一个专5261门的数据结构,用它来记录进4102程的外部特征,1653描述进程的运动变化过程。系统利用PCB来控制和管理进程,所以PCB是系统感知进程存在的唯一标志。进程与PCB是一一对应的)在不同的操作系统中对进程的控制和管理机制不同,PCB中的信息多少也不一样,通常PCB应包含如下一些信息。1、进程标识符 name:每个进程都必须有一个唯一的标识符,可以是字符串,也可以是一个数字。2、进程当前状态 status:说明进程当前所处的状态。为了管理的方便,系统设计时会将相同的状态的进程组成一个队列,如就绪进程队列,等待进程则要根据等待的事件组成多个等待队列,如等待打印机队列、等待磁盘I/O完成队列等等。3、进程相应的程序和数据地址,以便把PCB与其程序和数据联系起来。4、进程资源清单。列出所拥有的除CPU外的资源记录,如拥有的I/O设备打开的文件列表等。5、进程优先级 priority:进程的优先级反映进程的紧迫程度,通常由用户指定和系统设置。6、CPU现场保护区 cpustatus:当进程因某种原因不能继续占用CPU时(如等待打印机),释放CPU这时就要将CPU的各种状态信息保护起来,为将来再次得到处理。
进程控制块的作用是什么?它主要包括哪几部分内容? fork()既不复制父进程的代码段,更不会复制父进程的数据段。内核在执行fork功能时只为会子进程复制父进程的页表,并且将子进程的页表中的页表项设置为只读,所以子进程的页表项指向的页框的物理地址就是父进程的物理地址,而子进程的代码段寄存器cs,数据段寄存器ds、es、fs、gs,以及堆栈段寄存器ss和堆栈指针寄存器esp都是复制父进程相应寄存器的内容,所以子进程的代码、数据、堆、栈都是和父进程一样的,这就代表着子进程和父进程共享代码、数据,只不过子进程的数据包括栈都是只读的。只有当父进程或子进程需要写父子进程共享的数据或对栈进行操作比如函数调用等时,才会发生写时复制(Copy On Write),为子进程分配独立的数据和栈空间(这里不太确定,只是个人理解)。注:以上的分析基于Linux 0.11内核源码,很可能与较新的内核实现有区别。
进程可以由程序、数据和进程控制块描述 这句话为什么是错的? 进程由两部2113分组成:内存映像和进程5261控制块。进程控制块,可以把进程的状态数据,上下文4102等都1653放入其中,来记录进程的外部特征,描述进程的运动变化过程。系统根据进程控制块来对并发执行的进程进行控制和管理。扩展资料特征动态性:进程的实质是程序在多道程序系统中的一次执行过程,进程是动态产生,动态消亡的。并发性:任何进程都可以同其他进程一起并发执行独立性:进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位;异步性:由于进程间的相互制约,使进程具有执行的间断性,即进程按各自独立的、不可预知的速度向前推进结构特征:进程由程序、数据和进程控制块三部分组成。多个不同的进程可以包含相同的程序:一个程序在不同的数据集里就构成不同的进程,能得到不同的结果;但是执行过程中,程序不能发生改变。参考资料来源:-进程