Linux操作系统 - 进程

本文详细介绍了Linux操作系统中的进程概念,包括进程的定义、PCB(进程控制块)的作用,以及如何在Linux下通过top、ps和/proc目录查看进程。重点讲述了PID和PPID,以及fork函数在创建子进程中的应用。通过对进程的理解,揭示了操作系统如何管理进程的本质。

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

目录

进程的定义        

PCB

为什么要有PCB:

Linux下的PCB

Linux下查看进程

1. top(不常用)

2. ps

3. /proc

PID / PPID

Linux实例讲解

fork

一个思考点:


进程的定义        

定义:进程是正在运行的程序的实例(an instance of a computer program that is being executed)

结合实际:在Windows下的桌面,利用快捷方式打开一个exe可执行程序,就是在操作系统中创建并执行了一个进程。而在Linux下,无论是指令,如ls,pwd...还是./a.out 都是在操作系统中创建了一个进程。  有关进程的概念的理解,会随着后期学习逐渐加深。

 一个小疑问:
为什么要把程序(二进制可执行程序/文件)加载到内存呢? 因为操作系统只能对进程进行管理/调度。所以,程序文件必须从磁盘load到内存变为进程之后才能被操作系统所管理。而如果没有变为进程,那么可执行程序仅仅是磁盘上的一个二进制文件。

在Windows下的任务管理器中,就可以直观的看到进程,所以说每一个在操作系统中运行的程序都是一个进程。

PCB

PCB :Process Control Block 进程控制块,作用:描述操作系统中的进程的数据结构

为了描述控制进程的运行,系统中存放进程的管理和控制信息的数据结构称为进程控制块(PCB Process Control Block),它是进程实体的一部分,是操作系统中最重要的记录性数据结构。它是进程管理和控制的最重要的数据结构,每一个进程均有一个PCB,在创建进程时,建立PCB,伴随进程运行的全过程,直到进程撤消而撤消。                                                   - from百度百科

为什么要有PCB:

六个字:先描述,再组织。  这是一个管理的观念,比如我们写C++程序时,写的类就是为了描述某一个事物,而创建了类的实例化对象之后,用某一个数据结构将其组织起来,就叫做再组织。之后再使用某些算法就可以达到管理对象。 这个观念在程序开发和很多场景下都适用,而C++中的STL就是为了帮助我们更方便地组织实例化对象。</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值