Linux进程(一)进程概念

Posted -A7

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux进程(一)进程概念相关的知识,希望对你有一定的参考价值。

进程的概念

程序;一系列有序的指令集合(就是我们所写的代码)
进程:进程就是程序的一次执行,是系统进行资源分配和调度的独立单位。
程序是一次没有生命的实体,只有操作系统执行它时,它才能成为一个活动的实体,也就是进程。同时,操作系统通过进程控制块(pcb),来对程序进程调度使用

操作系统如何控制和调度程序

按照冯诺依曼体系结构,所有的数据想要被CPU进行处理,第一步就是要将代码和数据加载到内存中

由于早期CPU的性能不足,无法同时调度所有文件,所以CPU使用了一种解决方法,也就是CPU分时机制。

CPU分时机制:通过极快的速度切换和调度运行所有程序,造成了同时运行的假象。

但是,我们这里存在着几个问题,CPU是如何在内存中找到每个程序的?CPU在来回调度时,如何能够保证从上一个位置继续运行?
所以操作系统为了能够完成这些操作,设置了一个用于描述进程信息的数据结构,也就是我们通常所说的PCB

进程控制块-PCB

操作系统为了能够使每个程序独立运行,在操作系统中为其配置了一个数据结构,也就是我们通常所说的PCB(Process Control Block),这个数据在Linux下是:task_struct
task_struct中的内容
标示符: 描述本进程的唯一标示符,用来区别其他进程。
状态: 任务状态,退出代码,退出信号等。
优先级: 相对于其他进程的优先级。
程序计数器: 程序中即将被执行的下一条指令的地址。
内存指针: 包括程序代码和进程相关数据的指针,还有和其他进程共享的内存块的指针
上下文数据: 进程执行时处理器的寄存器中的数据。
I/O状态信息:包括显示的I/O请求,分配给进程的I/O设备和被进程使用的文件列表。
记账信息: 可能包括处理器时间总和,使用的时钟数总和,时间限制,记账号等。 其他信息
PCB是操作系统对一个运行程序(也就是进程)的描述,操作系统通过这个描述来实现对程序的运行调度
操作系统正是通过一个一个的PCB来对运行中的程序进行调度使用。
CPU通过PCB中的内存指针来找到程序在内存中的地址,通过上下文数据来记录运行中程序的各种信息,通过程序计数器来找到这个程序即将执行的下一条指令的地址。

以上是关于Linux进程(一)进程概念的主要内容,如果未能解决你的问题,请参考以下文章

Linux--进程概念

Linux下进程概念,进程管理和日志系统

浅谈init进程

linux C/C++多进程教程(多进程原理以及多进程的应用)(getpidfork)(未完成)

从进程组会话终端的概念深入理解守护进程

Linux——进程概念进程创建僵尸进程孤儿进程环境变量程序地址空间详解