【Linux】冯诺依曼体系结构

news2024/11/30 8:35:41

目录

  • 🌈前言
  • 🌷1、冯诺依曼体系结构
  • 🌸2、操作系统(Operator System)
    • 🌹2.1、概念
    • 🍀2.2、如何理解管理
  • 🍁3、进程
    • 🍂3.1、概念

🌈前言

本篇文章进行操作系统中进程的学习!!!


🌷1、冯诺依曼体系结构

我们常见的计算机,如:笔记本,不常见的计算机,比如:服务器,它们都遵循冯诺依曼体系结构

在这里插入图片描述


截至目前,我们所认识的计算机,都是有一个个的硬件组件组成:

  • 输入设备:键盘、话筒、鼠标、摄像头、网卡和显卡等等

  • 输出设备:显示器、音响、磁盘、网卡和显卡等等

  • 中央处理器(CPU):含有运算器和控制器等

  • 存储器:存储器就是一个内存


为什么输入设备和输出设备之间还要一块存储器呢?

【木桶原理】

  • CPU运算速度 > 寄存器 > L1~L3Cache(高速缓冲存储器) > 内存 >> 外设(磁盘) >> 光盘磁带

  • 外设不和CPU直接交互,而是和内存交换,CPU也是如此,CPU只与内存进行交互

  • 内存在我们看来,就是体系结构的一大缓存,为了解决CPU与外设速度不均的问题!!!

  • 从成本角度:寄存器 > 内存 > 磁盘,成本低,能获得较高的性能,让计算机蔓延全世界


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

  • 不考虑缓存情况,这里的CPU能且只能对内存进行读写,不能访问外设(输入或输出设备)

  • 外设(输入或输出设备)要输入或者输出数据,也只能写入内存或者从内存中读取

  • 一句话,所有设备都只能直接和内存打交道

  • 我们编写的代码,要运行,必须加载到内存(局部性原理)

  • 几乎所有硬件,只能被动的完成某种功能,不能主动的完成某种功能,一般都是要配合软件完成的(OS+CPU)


我们平时在qq跟网友聊天,是怎么实现的呢?(省略网络)

在这里插入图片描述

聊天时传输文件呢?

在这里插入图片描述


🌸2、操作系统(Operator System)

🌹2.1、概念

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

  • 内核(进程管理,内存管理,文件管理,驱动管理)

  • 其他程序(例如函数库(API), shell程序等等)

设计OS的目的:

  • 与硬件交互,管理所有的软硬件资源

  • 为用户程序(应用程序)提供一个良好的执行环境

定位:

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

🍀2.2、如何理解管理

概念:

  • 我们人与人之间的管理是通过管理者发出决策后,然后通过执行者去完成的这个过程

  • 执行者拿到被管理者对象的数据后,将执行的结果反馈给管理者

管理的本质:

  • 对数据进行管理

  • 不是对被管理对象直接进行管理,而是只要拿到被管理者对象所有的相关数据后。管理者对数据的管理,就可以体现出间接的对人管理

管理的核心理念:先描述,再组织

  • 人认识世界的方式:通过属性认识世界的

  • 在面向对象的语言中:我们经常说“”一切皆对象

  • 一切事物都可以通过抽取对象的属性,来达到描述对象的目的

// 比如有一个学生,可以通过它的属性去描述它
class Student
{
// 学生的属性 -- 学号、名字、身高、体重等等...
private:
	string name;	// 名字
	string Id;		// 学号
	int height;		// 身高
	int weight;		// 体重
};

管理理解一:管理的本质其实是对数据的管理

在这里插入图片描述

管理理解二:

在这里插入图片描述


总结:

  1. 计算机管理硬件,通过描述属性,用struct结构体

  2. 组织起来,用链表或其他高效的数据结构来进行管理


🍁3、进程

🍂3.1、概念

进程的基本概念:

  • 课本概念:程序的一个执行实例,正在执行的程序等

  • 内核观点:担当分配系统资源(CPU时间,内存)的实体

  • 操作系统中有内存管理、进程管理、文件管理和驱动管理,而进程是它们中的一种

描述进程(PCB):

  • 进程信息会被放在一个叫进程控制块的数据结构中,可以理解为进程属性的集合

  • 课本上称之为PCB(process control block),Linux操作系统下的PCB是:task_struct

task_struct是PCB中的一种:

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

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

在这里插入图片描述

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

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

相关文章

全新一代智慧园区数字孪生解决方案,为园区运营商和集成商赋能!

对于园区运营方而言,园区既要满足使用者的需求,还要面对后期运营过程中大量、繁琐的维护管理工作,同时还要兼顾园区运维效率和管理成本。 随着5G、物联网、云计算、人工智能、大数据等技术的快速发展和应用,园区运维智能化升级已…

自动控制原理 - 2 控制系统的数学模型 节2.7-2.10

2 控制系统的数学模型2.7 结构图的等效变换准则2.8 结构图等效变换的应用2.9 信号流图2.10 梅逊公式 2 控制系统的数学模型 2.7 结构图的等效变换准则 结构图没有直接给出系统输入与输出之间的定量关系。如何得到系统输入输出之间的传递函数,从而便于进一步分析系…

质量管理PPAP说明

PPAP是英文Production Part Approval Process的缩写,中文翻译为生产件批准程序。PPAP是TS16949质量管理体系五大工具之一,用于汽车整车或零部件生产过程的质量管控。 各种质量管理类书籍关于PPAP的介绍有很多,但什么情况下必须提交PPAP&…

Spring Boot + Docker实战

文章目录1.编写DockerFile2.构建镜像3.查看编译的镜像4.启动镜像测试5.创建私有仓库5.1查询registry镜像5.2加载镜像5.3运行镜像容器5.4检查容器6.搭建Registry web6.1首先搜索并拉取镜像6.2运行一个registry web容器6.3验证7.推送镜像到私有仓库8.服务器拉取镜像部署8.1 资源限…

在线电子书阅读小程序,微信小程序电子书阅读,微信小程序小说阅读器毕业设计作品

项目背景和意义 目的:本课题主要目标是设计并能够实现一个基于微信小程序在线电子书阅读系统,前台用户使用小程序,后台管理使用基JavaMySql技术;通过后台录入电子书信息、书目录信息,用户通过小程序登录,查…

CY3-peg-海藻酸钠|海藻酸钠-荧光染料CY3|alginate-Cyanine3

CY3-peg-海藻酸钠|海藻酸钠-荧光染料CY3|alginate-Cyanine3 FITC/Rhodamine/TRITC/Comarin/Bodipy/ICG/CY3/CY3.5/CY5/CY5.5/CY7/CY7.5标记海藻酸钠 海藻酸钠的结构海藻酸酸是一种线性的阴离子多糖,由β-D-甘露糖醛酸(M)和α-L-葡糖醛酸&am…

【Android】性能监控之帧率检测Tinydancer

git地址 使用 增加依赖 dependencies {debugCompile "com.github.brianPlummer:tinydancer:0.1.2"releaseCompile "com.github.brianPlummer:tinydancer-noop:0.1.2"testCompile "com.github.brianPlummer:tinydancer-noop:0.1.2"}在Applicati…

strcat · strstr | 使用场景与模拟实现

啊我摔倒了..有没有人扶我起来学习.... 👱个人主页:《CGod的个人主页》\color{Darkorange}{《CGod的个人主页》}《CGod的个人主页》交个朋友叭~ 💒个人社区:《编程成神技术交流社区》\color{Darkorange}{《编程成神技术交流社区》…

java计算机毕业设计家教管理系统(附源码、数据库)

java计算机毕业设计家教管理系统(附源码、数据库) 项目运行 环境配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技…

单调队列/单调栈优化dp

从这几篇博客学习的: DP优化小技巧(单调队列/单调栈) (单调队列优化DP) 代码源每日一题 Div1 选元素(数据加强版) 算法学习笔记(67): 单调栈 牛客多校第九场I (单调栈优化dp/单调栈的常用套路) 一. 单调队列 NC50528…

擎创技术流 | ClickHouse实用工具—ckman教程(1)部署安装

前言: 在数据量日益增长的当下,传统数据库的查询性能已满足不了业务需求。而Clickhouse在OLAP(On-Line Analysis Processing——即一种在线分析处理的,用于数据分析的计算方法)领域的应用,可以助力企业打造…

云原生之快速使用Nacos Spring Cloud

本文主要面向 Spring Cloud 的使用者,通过两个示例来介绍如何使用 Nacos 来实现分布式环境下的配置管理和服务注册发现。 通过 Nacos Server 和 spring-cloud-starter-alibaba-nacos-config 实现配置的动态变更。通过 Nacos Server 和 spring-cloud-starter-alibab…

iwebsec靶场 SSRF关卡通关笔记

iwebsec靶场SSRF漏洞通关笔记。 1. 源码分析 由于URL参数无经过严格的过滤,那么攻击者可以构造任意的url利用SSRF漏洞 如上所示,分析可知有SSRF漏洞 2.SSRF漏洞文件读取 (1)访问网址根目录下ssrf文件夹下的1.txt 构造SSRF漏洞访…

云原生 · DevOps | Sonar Qube

啊我摔倒了..有没有人扶我起来学习.... 👱个人主页:《CGod的个人主页》\color{Darkorange}{《CGod的个人主页》}《CGod的个人主页》交个朋友叭~ 💒个人社区:《编程成神技术交流社区》\color{Darkorange}{《编程成神技术交流社区》…

软银集团:从零到一万亿

第一章 公司发展概况 1.1 企业创始人和发展史 软银集团在1981年由孙正义在日本创立并于1994年在日本上市,是一家综合性的风险投资公司,主要致力IT产业的投资,包括网络和电信。 1981-1996年(个人电脑及软件业务时期)…

C语言函数针对训练--递归篇(动画讲解,由易到难递归例题)

CSDN话题挑战赛第2期 参赛话题:学习笔记 前言 💖作者:龟龟不断向前 ✨简介:宁愿做一只不停跑的慢乌龟,也不想当一只三分钟热度的兔子。 👻专栏:C初阶知识点 👻工具分享: …

【FreeRTOS】队列的使用

队列的使用前言创建队列发送数据接收数据查询队列数据个数使用示例创建两个线程配置按键驱动编写按键发送子函数编写按键读取子函数前言 基于 FreeRTOS 的应用程序由一组独立的任务构成——每个任务都是具有独立权限的小程序。这些独立的任务之间很可能会通过相互通信以提供有…

leetcode算法每天一题010: 正则表达式,判断pattern和string是否匹配(动态规划)

题目描述 ‘.’ 匹配任意单个字符‘*’ 匹配零个或多个前面的那一个元素 PATTERNTRUEFALSEa.baab,abb,acba, ab,ba*bb,ab,aab,aaaba,abb,acbc*a.baab,caab,cccccacb,ccabbbaab,cabbbdp[i] [j] 的含义是当字符串 s 的长度为 i,模式串 p 的长度为 j 时,两…

KubeVela 插件指南:轻松扩展你的平台专属能力

KubeVela 插件(addon)可以方便地扩展 KubeVela 的能力。正如我们所知,KubeVela 是一个微内核高度可扩展的平台,用户可以通过模块定义(Definition)[1]扩展 KubeVela 的系统能力,而 KubeVela 插件…

C# Winform程序开发笔记

C#d的开发发展到今天,已经改进了不少,对于非常多的应用可以使用C#进行开发,也非常方便,希望以下笔记对于高级开发者(网络通信、线程应用)而言能有所帮助吧。 1、INI文件的读写操作 1.1 类文件 using System; using System.Collections.Generic; using System.IO; usin…