Linux中的进程(概念,状态)

本文详细介绍了冯诺依曼体系结构的计算机组成,包括硬件单元如输入、输出设备、内存、CPU以及它们之间的连接方式。讨论了操作系统如何管理进程,进程的状态(运行、阻塞、挂起)以及Linux中的fork函数、调度器和进程状态变化。

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

硬件

冯诺依曼体系

我们常见的计算机, 如笔记本, 我们不常用的计算机, 如 服务器, 大部分都是遵循冯诺依曼体系

截止现在, 我们所认识的计算机,都是由一个个的硬件组成的

  • 输入单元 如 键盘, 鼠标, 扫描仪等
  • 中央处理器(CPU), 如 运算器和控制器等
  • 输入单元, 如显示器, 打印机

在这里插入图片描述

a. 存储器指的是什么?
:内存(不是磁盘 磁盘是外部存储设备是输入输出设备)

b.输入设备是那些呢?
:键盘, 摄像头,话筒,磁盘,网卡,鼠标…

c.输出设备有那些呢?
:显示器,播放器硬件,磁盘,网卡…
输入输出设备统称为 外部设备 简称为 外设

d.运算器:对我们的数据进行计算任务(算数运算,逻辑运算)
e:控制器:对我们的计算硬件流程进行一定的控制
运算器和控制器统称为 CPU

各个硬件单元必须用“线”连接起来,1.系统总线,2.IO总线

关于冯诺依曼,必须强调几点

  • 这里的存储器指的是内存
  • 不考虑缓存情况,这里的CPU能且只能对对内存进行读写,不能访问外设,如 输入输出设备
  • 外设(输入或输出设备)要输入或者输出数据, 也只能写入内存, 或从内存中读取;
  • 一句话, 所有设备都只能直接和内存打交道;

软件

在这里插入图片描述

操作系统本质上是一款管理的软件;
: 他负责管理着上述的硬件, 同时也管理着电脑的软件

进程

一个已经加载到内存中的程序,叫做进程(任务);

ps axj 查看系统的所有进程

在这里插入图片描述

我们先随便写一段代码

在这里插入图片描述

然后运行他

在这里插入图片描述

然后我们新建一个窗口在进来, 查看一下是否存在这个代码的进程

在这里插入图片描述
不出所料, 我们查到了刚刚这段代码的进程

理解进程

先描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
系统在管理进程的时候是对进程的PCB进行管理, 而不是直接对代码和数据进行管理

再组织

在这里插入图片描述
系统对进程的各种控制, 本质上都是系统对PCB的操作而不是对代码和数据进行操作

就好比面试投递简历一样, 面试官对你的操作, 本质上是对你提交的简历进行操作(通过淘汰 ), 而不会直接对你人进行操作;

Linux中的PCB是什么样子的

在这里插入图片描述

查看进程

/proc目录

proc目录是Linux下自带的,文件化的进程, 里面的所有文件都装载了系统中正在运行的进程的基本信息;

在这里插入图片描述
在我们运行测试程序时, 我们可以查看到一个PCB id(PID)为30092的进程

在这里插入图片描述
可以看到确实是有一个文件叫30092

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值