【Linux】进程_2

news2025/1/13 8:01:19

文章目录

  • 五、进程
    • 2. 操作系统
    • 3. 进程
  • 未完待续


五、进程

2. 操作系统

在这里插入图片描述
我们知道了操作系统是一个进行 软硬件 资源 管理软件 。为什么要有操作系统呢?或者说,为什么要有操作系统的管理呢?操作系统的存在目的是为了对上提供一个良好的运行环境,手段是对下管理好软硬件资源。
有了操作系统的存在,就 不允许任何操作越过操作系统对硬件进行访问。为了安全性,操作系统提供了 系统调用接口 ,而这些接口的使用对于用户来说还是比较困难,所以再上一层就有了 用户操作接口 ,方便用户上手,将用户的操作翻译给 系统调用接口

3. 进程

什么是程序呢?程序本质就是一个存储在磁盘中的二进制文件。那什么是进程呢?课本概念就是:进程就是一个正在执行的程序
根据冯—诺依曼结构体系,程序想要被执行,必须从磁盘中拷贝到内存当中,一旦程序进入内存,操作系统为了对其进行 管理 ,就会对程序进行描述,将其抽象成一个结构体/对象,形成一个 PCB(process control block 进程控制块) ,然后再组织,将多个 PCB 使用数据结构(如链表/队列)进行连接。

struct PCB
{
	// 可执行程序信息
	//
	//
};

Linux 中的PCB叫做 task_struct

由上一段可知,进入内存的程序并不算是进程,在内核方面,进入内存的可执行程序 和 内核数据结构(如 PCB对象)两者结合才算做 进程 。
在这里插入图片描述
所有对进程的控制和操作,都只和进程的 PCB 有关,和进程的可执行程序无关!

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

在这里插入图片描述
几乎所有的独立的指令都是程序,在运行时都会变成进程。同一个程序多次启动的进程的 pid(进程标识符) 都会发生变化,因为 每次启动的进程都是一个新的进程 ,在Linux中,普通进程都有其父进程(创建该进程的进程),ppid 就是父进程标识符。


未完待续

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1819820.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

设计通用灵活的LabVIEW自动测试系统

为了在不同客户案例中灵活使用不同设备(如采集卡、Modbus模块)且保持功能一致的LabVIEW自动测试系统,需要采用模块化的软件架构、配置文件管理、标准化接口和良好的升级维护策略。本文从软件架构、模块化设计、配置管理、升级维护、代码管理和…

线上3d数字艺术展让您在市场竞争中更具优势

在传统电商中,高昂的引流成本和激烈的行业竞争让获客变得尤为困难。随着web3技术的发展和覆盖,产品交互3D数字云展厅融合先进的web3D开发技术,构建了一个沉浸式数字空间,让客户随时随地通过电子设备进入展厅,享受自由浏…

什么是水单❓一文教你看懂水单‼️

常用术语: 1.Value Date:打款时间; 2.Funding Account:汇款账户; 3.Funding Account Name:汇款账户名称; 4.Beneficiary Name:收款人名称; 5.Beneficiary Account Number:收款账户; 6.Beneficiary Bank:收款行; 7.SWIFT/BIC和Country/Region;Status:汇款状态…

Docker(一)-认识Docker

1.docker理念 Docker是基于Go语言实现的云开源项目。 Docker的主要目标是“Build,Ship and Run Any App,Anywhere”,也就是通过对应用组件的封装,分发,部署,运行等生命周期的管理,使用户的应用及其运行环境能够做到”…

鸿蒙开发文件管理:【@ohos.volumeManager (卷管理)】

卷管理 该模块提供卷、磁盘查询和管理的相关功能:包括查询卷信息,对卷的挂载卸载、对磁盘分区以及卷的格式化等功能。 说明: 本模块首批接口从API version 9开始支持。API 9当前为Canary版本,仅供试用,不保证接口可稳…

Modbus转Profinet网关的IP地址怎么设置

在工业自动化领域,Modbus和Profinet是两种常用的通信协议,而网关可以实现不同协议之间的转换,使得不同设备能够互相通信。本文将详细介绍如何设置Modbus转Profinet网关(XD-MDPN100)的IP地址,让您轻松实现设…

使用MNIST数据集训练手写数字识别模型

一、MNIST数据集介绍 MNIST 数据集(手写数字数据集)是一个公开的公共数据集,任何人都可以免费获取它。目前,它已经是一个作为机器学习入门的通用性特别强的数据集之一,所以对于想要学习机器学习分类的、深度神经网络分…

springboot+vue3-学生信息管理系统

以下为学生信息管理的主要前端界面 项目仓库 CYHone/vue-student-ms: 学生信息管理系统前端界面 (github.com) 项目仓库 CYHone/student-ms-server: 学生信息管理系统后端代码 (github.com) 4.1、学生功能 登录界面可以以三种身份登录:学生、教师、管理员。 选…

jsp 实验20

三、源代码以及执行结果截图&#xff1a; NewFile.jsp <% page import "java.io.*" %> <% page contentType"text/html" %> <% page pageEncoding "utf-8" %> <jsp:useBean id"english" class "web.Engli…

oracle 删除当前用户下所有表

荆轲刺秦王 通常呢 我们将正式环境的 oracle 数据库 导出成 dmp 文件&#xff0c;然后导入到测试环境或者本地环境&#xff0c;期间可能会出现各种问题。那么如何使错误的导入数据全部删除呢。可以这样做&#xff1a; 1. 本地虚拟机启动 oracle 服务 2. sqldeveloper 连接 o…

多商户小程序开发步骤和方法

在当今的数字经济中&#xff0c;多商户小程序作为一种创新的商业平台&#xff0c;提供了一种新的商业模式&#xff0c;使多个商户能够在同一平台上展示和销售他们的产品或服务。这种模式不仅增强了消费者选择的多样性&#xff0c;也为商家提供了一个更广泛的销售渠道。以下是详…

探索Java 8 Stream API:现代数据处理的新纪元

Stream流 Stream初探&#xff1a;何方神圣&#xff1f; Stream流是一种处理集合数据的高效工具&#xff0c;它可以让你以声明性的方式处理数据集合。Stream不是存储数据的数据结构&#xff0c;而是对数据源&#xff08;如集合、数组&#xff09;的运算操作概念&#xff0c;支…

微信小程序开发教程

尚硅谷微信小程序开发教程&#xff0c;2024最新版微信小程序项目实战&#xff01; 一、小程序基础 1. 初始小程序 微信小程序是一种运行在微信内部的 轻量级 应用程序。 使用小程序时 不需要下载&#xff0c;用户 扫一扫 或 搜一下 即可打开应用&#xff0c;它也体现了 “用…

基于Django和Vue的商城管理系统

文章目录 前言一、系统运行结果二、相关技术简介三、系统设计四、系统测试五、总结 前言 近年来&#xff0c;互联网技术的飞速发展极大地改变了人们的生活方式。网络购物作为一种新的购物模式&#xff0c;因其方便、快捷、选择多样等优点&#xff0c;迅速普及。为了满足人们日…

Python第二语言(十二、SQL入门和实战)

目录 1. Python中使用MySQL 1.1 pymysql第三方库使用MySQL 1.2 连接MySQL 1.3 操作数据库&#xff0c;创建表 1.4 执行查询数据库语句 2. python中MySQL的插入语句 2.1 commit提交 2.2 自动提交 3. pymysql案例 3.1 数据内容 3.2 DDL定义 3.3 实现步骤 3.4 文件操…

UITableView之cell复用

关于cell复用的必要性 cellForRowAtIndexPath会随着屏幕滚动而调用&#xff0c;每次出现新行时因为行号变化&#xff0c;就会被调用。 底层原理&#xff1a;当前单元格滚出屏幕时cell销毁&#xff0c;当前单元格又滚回来时cell创建。短时间内频繁创建和销毁cell会影响系统性能…

vue2文件下载和合计表格

vue2文件数据不多可以直接下载不需要后端的时候 1.首先&#xff0c;确保你已经安装了 docx 和 file-saver 库 npm install file-saver npm install docx file-saver2.全部代码如下 <template><a-modaltitle"详情"width"80%"v-model"visi…

舵机堵转的危害与简单解决方式

舵机的堵转保护是一种安全特性&#xff0c;用于防止舵机在遇到阻力无法正常旋转时受到损害。当舵机尝试移动到某个位置但因为外部阻力&#xff08;如卡住或碰撞&#xff09;而无法完成动作时&#xff0c;它会持续施加力直至达到其最大扭矩。如果没有堵转保护&#xff0c;这种情…

OpenCV学习(4.14) 基于分水岭算法的图像分割

1. 目标 在这一章当中&#xff0c; 我们将学习使用分水岭算法使用基于标记的图像分割我们将看到&#xff1a;cv.watershed() 2.理论 任何灰度图像都可以看作是地形表面&#xff0c;其中高强度表示峰和丘陵&#xff0c;而低强度表示山谷。您开始用不同颜色的水&#xff08;标…

什么是基于风险的漏洞管理RBVM,及其优势

文章目录 一、什么是漏洞管理二、什么是基于风险的漏洞管理RBVM三、RBVM的基本流程四、RBVM的特点和优势 一、什么是漏洞管理 安全漏洞是网络或网络资产的结构、功能或实现中的任何缺陷或弱点&#xff0c;黑客可以利用这些缺陷或弱点发起网络攻击&#xff0c;获得对系统或数据…