当前位置: 首页 > news >正文

站长工具域名查询专注网站建站

站长工具域名查询,专注网站建站,注册一个公司需要哪些资料,宿豫区建设局网站Linux系列 文章目录 Linux系列前言一、进程的概念二、进程的管理三、Linux操作系统的进程管理3.1、进程标识符3.2、查看进程3.3、查看进程的PID和PPID 前言 经过前两篇文章的铺垫,我们对操作系统的管理方式已经有了比较完整的认识,今天我们将学习Linux比…

Linux系列


文章目录

  • Linux系列
  • 前言
  • 一、进程的概念
  • 二、进程的管理
  • 三、Linux操作系统的进程管理
    • 3.1、进程标识符
    • 3.2、查看进程
    • 3.3、查看进程的PID和PPID


前言

经过前两篇文章的铺垫,我们对操作系统的管理方式已经有了比较完整的认识,今天我们将学习Linux比较重要的知识--------进程,学习进程可以帮助我们更好的理解操作系统对数据处理、软硬件资源的管理。


一、进程的概念

进程是指在系统中正在运行的一个应用程序的实例,是程序在计算机上的一次执行过程。它是操作系统进行资源分配和调度的基本单位。
再结合我们之前学习过的冯诺依曼体系结构进一步理解,我们说,一个程序要想被执行,就必须先加载到内存中,而在这里我们称,一个已经加载到内存中的程序,叫做进程,即:正在运行的程序叫做进程。

二、进程的管理

在学习过操作系统后,我想大家一定都可以认识到是操作系统在管理进程。
一个操作系统,不仅仅只能运行一个进程,它可以同时运行多个进程。比如:你在打游戏的时候听歌、聊天。我们可以同时运行多个进程,但是为了保证,各个进程之间互不影响,操作系统就需要将这些进程管理起来,那么他是如何管理的呢?和对硬件的管理一样,先描述,再组织!!!
对进程行描述:任何一个进程,在加载到内存的时候,形成真正的进程时,操作系统要先创建,描述进程属性的结构体对象--------PCB,process ctrl block,也称为进程控制块,其本质就是一个struct结构体,内部存储的是进程属性,含有以下信息:

  • 进程ID(PID):系统为每个进程分配的唯一标识符,用于区分不同进程。
  • 父进程ID:标识该进程的父进程,便于进程间的管理和追踪。
  • 当前状态:记录进程处于就绪、运行、阻塞等状态。
  • 优先级:反映进程获取CPU资源的优先程度。
  • 内存指针:指向进程在内存中的存储位置,记录进程代码和数据所在的内存区域。
  • 打开文件列表:记录进程当前打开的文件信息,包括文件描述符、文件指针等。
  • 程序计数器(PC):存储进程即将执行的下一条指令的地址,确保进程能按正确顺序执行。
  • CPU寄存器状态:保存进程上次使用CPU时各寄存器的值,以便进程再次运行时能恢复现场。
  • 信号量:用于进程间同步和互斥的变量,协调进程对共享资源的访问。
  • 消息队列指针:指向与该进程相关的消息队列,用于进程间的消息传递。

我们来进行一个小总结:当你写的代码加载到内存,形成进程时,操作系统根据你的代码属性等形成一个对应的PCB类型,操作系统根据描述进程的程序控制块将会相关属性初始化,形成PCB对象,至此完成了对进程的描述。
为了方便操作系统管理,操作系统会将他们以链表的形式链接起来:

在这里插入图片描述
这样操作系统只需要对包含进程属性的PCB对象进行管理,尽可以达到对进程的管理,进程我们可以将他认为:
内核PCB数据结构对象+我们自己的代码和数据

以上介绍的是对所有操作系统而言,那么再Linux下是怎么做到呢?

三、Linux操作系统的进程管理

在上面我们介绍的知识,适用于所有操作系统,但不同操作系统之间的实现还是有所不同的,对于Linux操作系统来说,在Linux操作系统下我们将PCB称为task_struct结构体,内部同样包含着进程的所有属性。

3.1、进程标识符

上面我们介绍了,PCB包含这块信息
ps ajx ----------显示进程信息
在这里插入图片描述
其中PID是操作系统分配给每个进程的唯一标识符,就先我们的身份证一样。

3.2、查看进程

Linux下进程信息存储在/proc目录下,我们可以通过:
ls /proc 查看

在这里插入图片描述
蓝色字体为目文件,而名字就是对应进程的PID,他是操作系统更具进程的PID在/proc目录下创建的以PID命名的目录其内部保存的是进程的属性。
当然我们也可以对他进行查看:
ls /proc/对应的PID
接下来我们已自己的进程进行演示:

  1 #include<stdio.h>2 #include<unistd.h>3 int main()4 {5   while(1)6   {7     printf("我是一个进程\n");8     sleep(1);                                                                                                                     9   }                                                                                                                       10   return 0;                                                                                                               11 }                                                                                                                  

在这里插入图片描述
这时我们就得到了一个自己的进程。
获取进程PID信息:

ps ajx | head -1&&ps ajx | grep my_pro
第一条指令的意思是,将进程信息打印在管道文件,并拿去管道文件的第一行信息。
&&:的意思是执行过前一条指令后立即执行第二条指令。
第二条指令的意思是,打印进程信息,并筛选出含有‘my_pro’的信息。

在这里插入图片描述
这时我们就可以看到,我们所跑的进程的PID:5510,上面我们说操作系统会根据进程的PID创建出对应的目录文件,接下来我们看看它是否存在:

在这里插入图片描述

3.3、查看进程的PID和PPID

我们可以直接通过系统调用接口查看当前进程的PID和PPID(当前进程的父进程所对应的PID)
getpid()查看当前进程的PID,getppid()查看当前进程的PPID:

  1 #include<stdio.h>  2 #include<unistd.h>  3 int main()  4 {  5   while(1)  6   {  7     pid_t a=getpid();  8     pid_t parent=getppid();  9     printf("当前进程的PID%d\n",a);   10    printf("当前进程父进程的PID%d\n",parent);11     sleep(1);12   }                                                           13   return 0;                           14 }     

在这里插入图片描述
这样我们就得到了当前进程的PID和它父进程的PID,当前进程我们是知道的,可是它的父进程是谁呢?我们来搜索一下:

在这里插入图片描述
通过搜索结果我们可以看到它的父进程是bash命令行,其是这时因为当我们向命令行中输入执行某个程序的指令时,bash就会创建一个子进程来完成我们的操作,自己则会去等待新的指令,这是bash对自己的一种保护方式,具体在下一篇我们会介绍。

http://www.sczhlp.com/news/63549/

相关文章:

  • 搜狐做app的网站12580黄页注册的公司
  • 大连网站开发公司网站建设 zzit6
  • 福安网站建设厦门定制型网站建设
  • 网站内容如何管理交通运输局网站建设方案
  • 如何做更改网站的图片互联网网站怎么做
  • wordpress免费建站教程seo需要付费吗
  • 企业类网站包括哪些seo全网图文推广
  • 网站建设思路有那些专门做财务分析的网站
  • 网站上传附件目录格式网址之家
  • 海口专业的网站开发包括哪些内容
  • 绍兴网站制作工具SaaS网站可以做seo嘛
  • 大连专业手机自适应网站建设维护速度超快的wordpress模板
  • 大丰做网站找哪家好国外wordpress主题商店
  • 网站优化策划书我想帮别人做网站有这样的平台吗
  • 定制网站建设基础步骤网站咋建立
  • 下载 asp网站石家庄建站网页模板
  • 包装盒在线设计网站h5游戏源码网
  • 网站空间怎么回事自适应网站是什么
  • 美篇在哪个网站做的wordpress添加边框
  • 做网站公司郑州汉狮如何让网站做网页适配
  • steam官方网站下载流量网站应该怎么做
  • 建网站需要有啥能力wordpress 调试插件
  • 武威市建设局网站互联网公司市值
  • 微网站定制wordpress加密提示
  • 电商网站建设的维护要多少钱网站建设初期的工作计划
  • 建设干部培训中心网站海南 网站开发
  • 购物网站线下推广方案行业网站导航
  • 网站建设申请书f福州网站建设公司
  • c 网站开发模式新手搭建网站教程
  • 在潮州哪里找做网站的the7企业中英文wordpress模板