【操作系统学习篇-Linux】进程

1. 什么是进程

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

如果你就看这个来理解进程,那么恭喜你,作为初学者,你没有真正理解到什么是进程!

那么什么是进程?

-》我们来看这幅图片

你写的程序,是直接写在磁盘中,然后当你运行程序,这个程序文件才会被加载到内存中


1.1进程列表

展开讲一下什么是进程列表!
进程列表可以被看作是一个包含多个 PCB 指针或引用的列表,通过进程列表可以方便地访问和操作各个进程的 PCB,进而实现对进程的各种管理功能。但进程列表本身并不等同于 PCB,它只是一种用于组织和管理 PCB 的方式。

1.2 task_struct

task_struct-PCB的一种

在Linux中描述进程的结构体叫做task_struct。

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

task_ struct内容分类

标示符: 描述本进程的唯一标示符,用来区别其他进程。

状态: 任务状态,退出代码,退出信号等。

优先级: 相对于其他进程的优先级。

程序计数器: 程序中即将被执行的下一条指令的地址。

内存指针: 包括程序代码和进程相关数据的指针,还有和其他进程共享的内存块的指针

上下文数据: 进程执行时处理器的寄存器中的数据休学例子,要加图CPU,寄存器。

I/O状态信息: 包括显示的I/O请求,分配给进程的I/O设备和被进程使用的文件列表。

记账信息: 可能包括处理器时间总和,使用的时钟数总和,时间限制,记账号等。

其他信息

1.3 组织进程

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

1.4 查看进程

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

1.5 通过系统调用获取进程标识符

子进程id(PID)

父进程id(PPID)

1.6 杀掉进程的方法(指令)

1.7 通过系统调用创建进程-fork初识

  1. 运行man fork 认识fork
  2. fork有两个返回值
  3. 父子进程代码共享,数据各自开辟空间,私有一份(采用写时拷贝)

fork之后,要进行if分流

相关推荐
Canmag 兴隆磁性4 分钟前
自动装盒设备 AO-WCMF
学习·永磁材料·充磁
imDwAaY4 分钟前
Bean的生命周期
java·笔记·后端·学习·spring·dubbo
迪康Defender5 分钟前
终端安全实践:浅谈端点安全管理系统内置终端防火墙能力
运维·服务器·网络·经验分享·安全·php·终端安全管理
AI备忘录8 分钟前
(二十二)华为华三锐捷迈普思科 802.1X 端口认证配置命令(网络准入五厂商对照)
运维·服务器·开发语言·网络·安全·华为
坤坤子吖9 分钟前
C++11——Lambda、function、bind 与可调用对象
c++·笔记·学习
the3clipse12 分钟前
MacOS、Linux 与 Windows 视频编解码对比:AV1、HEVC、ProRes 与硬件加速优劣势
linux·windows·macos·hevc·av1·视频解码·硬件解码
优化Henry15 分钟前
LTE站点以太网光模块告警处理实践
运维·网络·笔记·学习·信息与通信
s65166549618 分钟前
bootsect.s,setup.s,head.s的主要功能和对系统状态的影响、作用
linux
智能运维指南19 分钟前
一体化运维监控:打破工具孤岛,实现监控运维一体化
运维·嘉为蓝鲸·一体化运维监控·全栈智能可观测中心
明王明王21 分钟前
PVE 上用 SPICE:统一连接 Debian、Arch 和 Windows 11 桌面
运维·windows·debian