Linux: 进程认识(组织进程)

进程认识

  • (一)冯诺依曼体系结构
    • 1.概念
    • 从数据流向上理解冯诺依曼
  • (二)操作系统(OS)
    • 1.概念
    • 2.设计目的
    • 3. 如何理解操作系统的 "管理"
    • 4.操作系统调用接口
  • (三) 进程
    • 1.概念
    • 2.描述进程-PCB
    • 3.如何对PCB进行管理?

(一)冯诺依曼体系结构

1.概念

​​​​​​​
​​​​在这里插入图片描述

输入设备:包括键盘, 鼠标,扫描仪, 写板等
输出设备:显示器,打印机等,硬盘,网卡等
存储器: 指内存
中央处理器(CPU): 含有运算器(对数据进行计算任务)和控制器(对计算硬件流程进行一定的控制)等。在不考虑缓存情况,这里的CPU能且只能对内存进行读写,不能访问外设(输入或输出设备)。

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

从数据流向上理解冯诺依曼

对冯诺依曼的理解,不能停留在概念上,要深入到对软件数据流理解上。
在这里插入图片描述
这一段的描述来自这位博主的博客,点我~

(二)操作系统(OS)

在整个计算机软硬件架构中,操作系统的定位是:一款纯正的“搞管理”的软件(操作系统是一个对软硬件进行管理的软件!)

1.概念

任何计算机系统都包含一个基本的程序集合,称为操作系统(OS)。笼统的理解,操作系统包括:

内核(进程管理,内存管理,文件管理,驱动管理)
其他程序(例如函数库,shell程序等等)

2.设计目的

  • 与硬件交互,管理所有的软硬件资源为用户程序(应用程序)提供一个良好的执行环境。
  • 在整个计算机软硬件架构中,操作系统的定位是:一款纯正的“搞管理”的软件(操作系统是一个对软硬件进行管理的软件!)

3. 如何理解操作系统的 “管理”

先描述再组织 是操作系统管理的核心。管理是通过对数据的管理

  • 先描述,那怎么描述?

在操作系统中,管理任何对象,首先要对 对象的特征进行描述。描述便是对软硬件资源的各种特征通过结构体对每一个对象的特征进行描述。
struct PCB
{
//各种信息等等
struct PCB* next;
};

描述表示描述被管理的对象。

  • 再组织

在操作系统中,管理任何对象,最终都可以转化为对某种数据结构的增删改查。可以理解为对象之间通过链表(不一定是链表)的结构进行管理。
在这里插入图片描述

总结
计算机如何管理硬件?

  1. 描述起来,用struct结构体
  2. 组织起来,用链表或其他高效的数据结构
    (即先描述,在组织)

4.操作系统调用接口

操作系统为了保证自己的数据安全,也为了保证给用户提供服务,操作系统以接口的方式给用户提供调用的入口。用户以此来获取操作系统内部的数据。

  • 所以系统调用接口是什么???
    是操作系统提供的用c语言实现的,自己内部的接口,所有访问操作系统的行为,都只能通过系统调用来完成。
    而在系统调用接口之上我们又封装了用户操作接口(简单的理解就是我们编程时提供的库等),而又在此之上,我们用户(程序员)才是算是进行软件开发。

1.在开发角度,操作系统对外会表现为一个整体,但是会暴露自己的部分接口,供上层开发使用,这部分由操作系统提供的接口,叫做系统调用。
2.系统调用在使用上,功能比较基础,对用户的要求相对也比较高,所以,有心的开发者可以对部分系统 调用进行适度封装,从而形成库,有了库,就很有利于更上层用户或者开发者进行二次开发。

​​​​​​​​在这里插入图片描述

(三) 进程

1.概念

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

当我们双击打开这个可执行程序的时候,将其运行起来的时候,本质来讲也就是将这个可执行进程加载到内存中了,CPU才能对其程序进行逐语句的执行,而当这个程序加载到内存了以后,我们称之为进程。

2.描述进程-PCB

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

实际上描述进程的过程就是**先描述再组织**。

进程 = 内核PCB数据结构对象(描述进程的所有属性) + 代码数据

3.如何对PCB进行管理?

任何一个进程,再加载到内存的时候,形成真正的进程时,操作系统要先创造描述进程的结构体对象----PCB(进程控制块)

在这里插入图片描述
根据进程PCB的类型,为该进程创建对应的PCB对象。
对进程的管理,并不是对一整个进程做管理,而是对进程里面的PCB进行管理,
对PCB对象用双向链表的数据结构进行链接,变成了对某种数据结构的增删改查。

那么只对PCB进行管理,我们如何得到进程里面的代码数据呢???
可以理解为,PCB存放有该对应的代码数据的地址,当我们想要访问该代码和数据时,从PCB里面找到该地址即可。

这里只是对进程的管理方式的认识,后面博客中会对PCB属性进行更深的理解。

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

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

相关文章

回文日期1

#include <iostream> using namespace std;bool isLeap(int y){return (y%40&&y%100!0)||(y%4000); }bool check(int year,int month,int day){//判断是否为合法日期if(month>12||month0) return false;if(day>31) return false;if(month2){if(isLeap(year…

安宝特案例 | 某户外机房制造企业应用AR+作业流,规范制造过程,记录施工节点,保障交付质量

行业特点&#xff1a;产品客制化、依赖人工&#xff0c;工程量大、细节多&#xff0c;验收困难 户外通讯机房无疑是现代工业社会的“信息心脏”&#xff0c;承载着信息交换、传输与处理的重任。建设一座质量过关的户外通讯机房是保障通信稳定运行的基石。 通常建设一个户外通信…

deepseek热度已过?

DeepSeek的热度并没有消退&#xff0c;以下是具体表现&#xff1a; 用户使用量和下载量方面 • 日活跃用户量增长&#xff1a;DeepSeek已经成为目前最快突破3000万日活跃用户量的应用程序。 • 应用商店下载量&#xff1a;1月26日&#xff0c;DeepSeek最新推出的AI聊天机器人…

蓝桥杯单片机刷题——通过按键触发串口传输电压值

设计要求 通过内部ADC完成电位器RB2的输出电压检测&#xff0c;并显示在数码管上&#xff1b; 通过串口向PC端返回当前检测的电压值。 按键“S4”定义为发送按键&#xff0c;按下按键S4&#xff0c;串口向PC端发送当前检测的电压值。 串口发送格式&#xff1a; U:1.25V\r\…

DeepSeek 都开源了哪些技术?

DeepSeek作为中国领先的人工智能企业,通过开源策略推动了全球AI技术的普及与创新。以下是其官方公布的主要开源项目及其技术内容、应用场景和社区反馈的详细分析: 1. FlashMLA 技术描述:专为Hopper架构GPU优化的高效MLA(Multi-Layer Attention)解码内核,针对可变长度序列…

【北京市小客车调控网站-注册/登录安全分析报告】

前言 由于网站注册入口容易被黑客攻击&#xff0c;存在如下安全问题&#xff1a; 暴力破解密码&#xff0c;造成用户信息泄露短信盗刷的安全问题&#xff0c;影响业务及导致用户投诉带来经济损失&#xff0c;尤其是后付费客户&#xff0c;风险巨大&#xff0c;造成亏损无底洞…

【SQL Server 2017】封闭网络下,数据调研所有数据表实战(提效400%)

👉 点击关注不迷路 👉 点击关注不迷路 👉 点击关注不迷路 文章大纲 一、Microsoft SQL Server-2017,环境搭建命令二、借助 @@VERSION 函数来查看当前版本三、查询Microsoft SQL Server数据库、表名、表注释四、所有数据表取样(SQL生成),查询前2条数据,数据取样五、执…

【网络协议】WebSocket讲解

目录 webSocket简介 连接原理解析: 客户端API 服务端API&#xff08;java&#xff09; 实战案例 &#xff08;1&#xff09;引入依赖 &#xff08;2&#xff09;编写服务端逻辑 &#xff08;3&#xff09;注册配置类 &#xff08;4&#xff09;前端连接 WebSocket 示例…

路由器端口映射设置方法教程,和无公网IP内网穿透实现外网访问方案步骤

随着网络技术的不断发展&#xff0c;越来越多的个人和企业需要将自己的内部服务器或设备暴露给外部网络访问。这时&#xff0c;内网端口映射公网技术就显得尤为重要。下面&#xff0c;我们将分别详细介绍&#xff0c;有公网IP时如何设置路由器端口映射&#xff0c;和无公网IP内…

Linux 系统中从源码编译安装软件

以下是 Linux 系统中 从源码编译安装软件 的详细步骤和注意事项&#xff0c;帮助你掌握这一高级操作技能&#xff1a; 一、编译安装的核心流程 1. 下载源码包&#xff08;通常为 .tar.gz/.tar.bz2/.tar.xz&#xff09; 2. 解压源码包 3. 进入源码目录 4. 配置编译参数&#xf…

HTTP:二.URI及相关术语

HTTP相关技术和术语 WEB开发语言 **http:**Hyper Text Transfer Protocol 应用层协议,默认端口: 80/tcp WEB前端开发语言: htmlcssjavascripthtml Hyper Text Markup Language 超文本标记语言,编程语言,主要负责实现页面的结构 范例:html 语言 <html> <h…

Java网络编程干货

1.网络编程是什么 了解 在Java语言中&#xff0c;我们可以使用java.net包下的技术轻松开发出常见的网络应用程序&#xff0c;从而把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大、功能强的网络系统&#x…

Java—HTML:CSS选择器

今天我要介绍的知识点内容是Java HTML中的CSS选择器&#xff1b; CSS选择器用于定位HTML元素并为其添加样式。它允许我们控制网页的颜色、字体、布局和其他视觉元素。通过分离内容与样式。 下面我将介绍CSS中选择器的使用&#xff0c;并作举例说明&#xff1b; 选择器基本语…

【2025蓝桥杯】赛前2小时考点梳理C++版

【2025蓝桥杯】赛前2小时考点梳理 1. &#x1f9e9; STL&#xff08;优先级最高&#xff09; 核心容器/函数 vector push_back() / pop_back() / size()string substr(pos, len) / find(str) / queue push() / front() / pop()priority_queue 默认大根堆&#xff0c;小根堆&…

汽车性能的幕后保障:慧通测控电动尾翼综合力学测试浅析

在汽车性能不断追求极致的当下&#xff0c;电动尾翼已成为众多高性能车型以及部分新能源汽车提升空气动力学表现与操控稳定性的关键配置。从炫酷的超跑到注重续航与驾驶体验的新能源车&#xff0c;电动尾翼正逐渐崭露头角。它绝非仅仅是外观上的装饰&#xff0c;而是能在车辆行…

2、文件上传漏洞的防范

原文地址:文件上传漏洞的防范 更多内容请关注&#xff1a;代码安全 PHP安全编码——书写安全的代码 文件上传漏洞的防范 提问 问题1&#xff1a;上传漏洞是怎么产生的&#xff1f; 问题2&#xff1a;是否可以只用js判断文件类型而php不判断&#xff1f; 问题3&#…

06软件测试需求分析案例-添加用户

给职业顾问部的老师添加用户密码后&#xff0c;他们才能登录使用该软件。只有admin账户具有添加用户、修改用户信息、删除用户的权利。admin是经理或团队的第一个人的账号&#xff0c;后面招一个教师就添加一个账号。 通读需求是提取信息&#xff0c;提出问题&#xff0c;输出…

Ex-Human:在DigitalOcean云平台之上,构建下一代 AI 数字人

Ex-Human 正在通过创造极具吸引力和富有同理心的人工智能角色&#xff0c;重新定义人们与人工智能的互动方式。该公司由 Artem Rodichev 创立&#xff0c;让用户能够通过文本、图像、视频和音频创建能互动的独一无二的数字人物。凭借每月超过一百万的活跃用户和五百万个定制创建…

从零实现HTTP服务器

响应&#xff1a; 第一部分测试代码&#xff0c;读取请求 Makefile binhttpserver #生成的可执行程序 ccg #编译器名称 LD_FLAGS-stdc11 -lpthread #-DDEBUG1 #链接选项 srcmain.cc$(bin):$(src)$(cc) -o $ $^ $(LD_FLAGS).PHONY:clean clean:rm -f $(bin) 1111111 main.cc…

构建高可靠C++服务框架:从日志系统到任务调度器的完整实现

构建高可靠C服务框架&#xff1a;从日志系统到任务调度器的完整实现 一、深度解析示例代码技术体系 1.1 日志系统的进阶应用 示例代码中的ZRY_LOG_XXX宏展示了基础日志功能&#xff0c;但在生产环境中我们需要更完善的日志系统&#xff1a; 推荐技术栈组合&#xff1a; sp…