Linux进程(冯诺依曼体系结构、操作系统、进程)

news/2024/5/16 16:25:13/文章来源:https://blog.csdn.net/weixin_61661271/article/details/127154386

文章目录

  • 一、冯诺依曼体系结构:
    • 1.基本概念:
    • 2.为什么如此设计:
      • 2.1.运行速度优化:
      • 2.2.成本:
      • 3.总结:
  • 二、操作系统:
    • 1.基本概念:
    • 2.操作系统的作用:
    • 3.什么是管理:
  • 三、进程:
    • 1.基本概念:
    • 2.进程的管理:
    • 3.PCB—进程描述:
  • 总结


一、冯诺依曼体系结构:

1.基本概念:

我们常见的计算机设备大都遵循冯诺依曼体系结构。
请添加图片描述

  • 存储器:内存 输入设备:磁盘、网卡、键盘、话筒、摄像头…
  • 输出设备:磁盘、网卡、显示器、音响…
  • 中央处理器:CPU
  • 运算器:算数运算、逻辑运算
  • 控制器:CPU响应外部事件,协调外部就绪事件,比如,拷贝数据到内存。

2.为什么如此设计:

2.1.运行速度优化:

CPU&&寄存器 > 内存 > 磁盘 > 光盘 > 磁带
根据木桶原理,一只水桶能装多少水取决于它最短的那块木板。
在这里插入图片描述
如果直接让CPU和磁盘等交互,两者的运行速度差太多
内存的加入,使得内存和CPU,内存和外设之间运行速度数量级降低,再通过软件的优化,可以提前将数据加载到内存中,使得运行速度大大提高。

2.2.成本:

如果把磁盘全部换成内存,运行效率会大大提高,但是成本无疑是很高的,且磁盘这种磁性设备断电之后依然可以存储数据,内存是做不到的,所以冯诺依曼体系结构的设计在提高效率的基础上也降低了成本。

3.总结:

  1. CPU读取数据(数据+代码),都是从内存中读取,处理完后再写入到内存当中。
  2. CPU要处理数据,必须先将外设中的数据加载到内存,CPU只和内存打交道。

二、操作系统:

1.基本概念:

操作系统是进行软硬件资源管理的软件。

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

在这里插入图片描述

2.操作系统的作用:

  1. 对上:给用户减少使用成本,为用户提供良好的使用环境。
  2. 对下:与硬件交互->管理好软硬件资源。保证系统的稳定环境。

3.什么是管理:

在整个计算机软硬件架构中,操作系统的定位是: 一款纯正的“搞管理”的软件。那操作系统是如何管理的呢?

在现实生活中,管理者和被管理者不一定要直接交互:
例如:校长通过辅导员和班主任来对学生进行管理。
在这里插入图片描述
管理者通过执行者来拿到被管理者的信息,再通过“先描述,再组织”来进行管理决策。即通过一系列的数据结构来进行描述组织。

例如:编写一个学生成绩排名的算法:
可以把对象组织为结构体数组:这样对学生的管理工作,就变成对数组的增删查改。

三、进程:

当我们启动了一个软件,实际上就是启动了一个进程。
在linux下,./xxx运行的时候,其实就是在系统层面创建了一个进程。

1.基本概念:

  • 正在运行的程序称之为进程。
  • Linux是可以同时存在大量的进程在系统中。
  • Linux操作系统要不要管理这些进程呢?必须要!
  • 怎么管理这些进程的呢?答案是:先描述再组织

2.进程的管理:

人认识各种事物,就是通过“属性”来认识的。
通过“先描述再组织”,进程=对应代码和数据+进程对应的PCB结构体

struct PCB
{//进程所有的属性数据struct PCB *next;struct PCB *prev;
}

在这里插入图片描述

3.PCB—进程描述:

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

task_ struct内容分类

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

总结

以上就是今天讲的Linux进程的相关内容了,包含冯诺依曼体系结构、操作系统、进程的基本概念,希望对刚刚阅读本篇博客的你有所帮助!

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

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

相关文章

【Shell编程】Bash变量-用户自定义变量

目录系列文章Bash变量-用户自定义变量变量的命名规则变量分类本地变量实例系列文章 【Shell编程】Shell基本概述与脚本执行方式 【Shell编程】Shell中Bash基本功能 Bash变量-用户自定义变量 变量的命名规则 不能以数字开头在Bash中,变量的默认类型都是字符串型&…

关于XShell下载安装和连接Ubuntu(linux)

目录 1.XShell下载和安装 其实很多CSDN博主已经发表很多关于这个下载安装和连接的问题,但是我发现都是不完整的,所以自己再根据大佬写的,重新总结一下。 XSheel下载地址 XSheel安装教程 XShell连接的话看下面的教程,上面中的X…

系统调用,库函数以及Linux下与进程相关的指令操作

文章目录操作系统怎么为我们提供服务什么是系统调用库函数和系统调用Linux系统下操作进程的相关指令fork系统调用操作系统怎么为我们提供服务 我们知道,操作系统是管理的软件。那么有的时候,用户需要服务,那么对应的操作系统就要提供对应的服…

实验5 开源控制器实践——POX

实验5 开源控制器实践——POX 基础实验hub分析: 由于在hub模式下,采取广播帧的模式,交换机每收到一帧,会向所有端口进行广播,因而h1发给h2的数据包在h3的端口也能监听到switch分析: 由于在自学习模式下,交换机会根据mac高速缓存信息进行发送数据包,因而在实验过程中,对…

设计模式解析---------------单例模式

单例模式定义 确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。 单例模式的使用场景 确保某个类只有一个对象的场景,避免产生多个对象消耗过多的资源,或者某种对象有且只能有一个。 单例模式的UML图 角色介绍&#xff1…

数字媒体概论——系统篇

一:需求分析 需求分析三大要素: 表达内容 -> 媒体种类面向人群 -> 交互方式使用方式 -> 硬件需求 例如:海洋馆需要一个可以展示海洋生物知识的媒体交互系统,可供多人同时观赏,主要面向儿童,这里…

计算机二级C语言题库(44套真题+刷题软件)第一套

刷题软件 gongzhonghao:露露IT 1、循环队列的存储空间为Q(1:100),初始状态为frontrear100。经过一系列正常的入队与退队操作后,frontrear99,则循环队列中的元素个数为( )。 A. 0或100 B. 1 C. 2 D. 99 本题考查知识点是循环队列。当队头和队尾指针指向同一个元素…

常见的图片格式介绍

常见的图片格式介绍 图片(Picture)包括图形、图像。图形(Graph)是矢量图(Vector Drawn),图像(Image)是位图(Bitmap)。 图片(Picture…

【老板要我啥都会】|前端升全栈之项目使用express重构项目(下篇)

前言 承接上一篇文章,《前端升全栈之项目使用express重构项目(上篇)》,我们继续讲解下一篇的项目使用express重构项目完整的下一篇(主要是国庆,需要放松,所以该文章分为上下篇,请大…

2022年Webpack 5初学者完整指南

2022年Webpack 5初学者完整指南 从基础到高级学习 Webpack 5!将 Webpack 与 JS、CSS、NPM、模块联合和微前端一起使用 课程英文名:Webpack 5 in 2022 The Complete Guide For Beginners 此视频教程共2.5小时,中英双语字幕,画质…

都这麽大了还不快了解防病毒网关?

目录 一、思考 二、实验 1、实验拓扑 2、配置过程(网页端配置) 三、总结 1. 什么是恶意软件? 2. 恶意软件有哪些特征? 3. 恶意软件的可分为那几类? 4. 恶意软件的免杀技术有哪些? 5. 反病毒技术…

OceanBase 从0到1数据库内核实战教程学习笔记 - 3.OceanBase基础架构和开发技巧

这篇文章主要介绍王泽林老师分享的 《OceanBase 的基础架构和开发技巧》。如果您看过第一篇文章的对应视频,会发现整个系列主要分为 MiniOB 和 OceanBase 两个系列,本篇文章就是 OceanBase 系列的开篇,所以文章中会有很多 OceanBase 的概念和…

Java类的成员方法的创建以及调用|在使用时有何意义|附运行方式及题目

🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝 🥇博主昵称:Jovy. 🍟博客主页…

遥感航拍影像25篇CVPR39个数据集

摘要 本文讲解了39个数据集,关于高空卫星图和低空无人机航拍图像。 本文汇总了25篇CVPR2020年和2021年的论文。 本文详细介绍了这25篇论文的任务是什么,难点是什么,场景是什么。 同时,本文在需要的地方解释了一些卫星图和航拍…

Vue学习第35天——模拟项目上线基本流程

一、打包 将.vue文件生成为.html、.css、.js文件 npm run build执行完之后,会在项目中生成一个dist文件(执行的速度取决于项目的大小以及电脑的配置) 二、创建服务器 没有后端服务器,这里我们使用node.js express 搭建一个服…

(附源码)计算机毕业设计ssm餐厅管理系统

毕设帮助,指导,本源码分享,调试部署(见文末) 4.1.2系统的主要的功能结构 餐厅管理系统的主要功能的结构如图4-1所示。 图4-1系统功能结构图 4.2系统设计 4.2.1数据表E-R图 菜谱信息属性图如图4-2所示。 图4-2菜谱信息实体属性图 账单信息…

3、数据类型中的数据位置,stograge、memory、calldata

数据位置 所有的复杂类型,即 数组 和 结构 类型,都有一个额外属性,“数据位置”,说明数据是保存在 内存memory 中还是 存储storage 中。 根据上下文不同,大多数时候数据有默认的位置,但也可以通过在类型名后增加关键字 storage 或 memory 进行修改。 函数参数(包括返回的…

Day11 栈和队列

150. 逆波兰表达式求值 解法一:将计算部分抽象成一个函数,使代码更加简洁,避免了很多冗余操作。对比下面解法二(我自己写的),此解法(参考别人的)的代码更加精简。核心思想都是利用栈…

Linux学习 -- Shell面试题练习

1、使用Linux命令查询file1中空行所在的行号 awk /^$/ {print NR} file1 // 使用正则表达式^$ 来表示空行 2、使用Linux命令计算文件a.txt的第二列的和并输出 张三 40 李四 50 王五20 cat a.txt | awk -F " " {sum$2} END {print sum} 3、Shell脚本中如何检查一个文…

欧拉函数的power

在算数基本定理中有 $ N = p_{1}^{a1} p_{2}^{a2} p_{3}^{a3} ..... p_{k}^{ak} $ wuw在y总的课中是用了容斥原理进行推导得到了 $ \phi(x) = N * (1 - \frac{1}{p1}) * (1 - \frac{1}{p2}) * .... * ( 1 - \frac{1}{pk}) $ 所以就可以得到依靠该公式得出的欧拉公式的算法 #in…