【闪击Linux系列P10】操作系统管理的算珠——进程の详解

前言

大家好吖,欢迎来到 YY 滴 Linux系列 ,热烈欢迎! 本章主要内容面向接触过Linux的老铁,从操作系统层面向大家介绍进程:

主要内容含:

欢迎订阅 YY滴Linux专栏!更多干货持续更新!以下是传送门!

订阅专栏阅读: YY的《Linux》系列 ❀❀❀❀❀
【Linux系列-P1】Linux环境的搭建
【Linux系列-P2】 Linux的基本知识与指令
【Linux系列-P3】 Linux的权限
【Linux系列-P4】 Linux基本工具[yum][vim]

文章目录

一.进程的基本概念

  • 课本概念:程序的一个执行实例,正在执行的程序等
  • 内核观点:担当分配系统资源(CPU时间,内存)的实体。

二.描述进程-PCB

  • 进程信息被放在一个叫做进程控制块的数据结构中,可以理解为进程属性的集合。
  • 课本上称之为PCB(process control block),Linux操作系统下的PCB是: task_struct

task_struct-PCB的一种

  • 在Linux中描述进程的结构体叫做task_struct。
  • task_struct是Linux内核的一种数据结构,它会被装载到RAM(内存)里并且包含着进程的信息。

task_ struct内容分类

  • 标示符: 描述本进程的唯一标示符,用来区别其他进程。
  • 状态: 任务状态,退出代码,退出信号等。
  • 优先级: 相对于其他进程的优先级。
  • 程序计数器: 程序中即将被执行的下一条指令的地址。
  • 内存指针: 包括程序代码和进程相关数据的指针,还有和其他进程共享的内存块的指针
  • 上下文数据: 进程执行时处理器的寄存器中的数据[休学例子,要加图CPU,寄存器]。
  • I/O状态信息: 包括显示的I/O请求,分配给进程的I/O设备和被进程使用的文件列表。
  • 记账信息: 可能包括处理器时间总和,使用的时钟数总和,时间限制,记账号等。
  • 其他信息

四."组织进程"

  • 可以在内核源代码里找到它。所有运行在系统里的进程都以task_struct链表的形式存在内核里。

五."查看进程"

操作一:查看进程的信息

进程的信息可以通过 /proc 系统文件夹查看

  • 如:要获取PID为1的进程信息,你需要查看 /proc/1 这个文件夹。

操作二:使用top和ps这些用户级工具来获取进程信息

  • 先创建一个进程
cpp 复制代码
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
int main()
{
 while(1){
 sleep(1);
 }
 return 0;
}
  • 使用grep管道过滤后得:
相关推荐
大聪明-PLUS2 小时前
如何使用 Docker 打包一个简单的应用程序:简易指南
linux·嵌入式·arm·smarc
深耕AI3 小时前
【完整教程】宝塔面板FTP配置与FileZilla连接服务器
运维·服务器
serve the people4 小时前
Prompts for Chat Models in LangChain
java·linux·langchain
李昊哲小课4 小时前
Ubuntu 24.04 MariaDB 完整安装与配置文档
linux·ubuntu·mariadb
无聊的小坏坏5 小时前
从单 Reactor 线程池到 OneThreadOneLoop:高性能网络模型的演进
服务器·网络·一个线程一个事件循环
AI智域边界 - Alvin Cho5 小时前
Bloomberg、LSEG 与 MCP 缺口:为什么尚未发布完整的 MCP 服务器,以及多智能体系统如何解決这问题
运维·服务器
人间打气筒(Ada)5 小时前
zerotier内网穿透部署(rockylinux部署本地服务器)超详细~~~
linux·内网穿透·内网·公网·zerotier·穿透
Elias不吃糖6 小时前
Git常用指令合集
linux·git
_OP_CHEN6 小时前
Linux网络编程:(七)Vim 编辑器完全指南:从入门到精通的全方位实战教程
linux·运维·服务器·编辑器·vim·linux生态·linux软件
Maple_land6 小时前
第1篇:Linux工具复盘上篇:yum与vim
linux·运维·服务器·c++·centos