当前位置: 首页 > news >正文

【Linux】冯诺依曼体系结构和操作系统概念


文章目录

  • 🎪 冯诺依曼体系结构
    • 🚀1.体系概述
    • 🚀2.CPU和内存的数据交换
    • 🚀3.体系结构中数据的流动
  • 🎪 操作系统概念理解
    • 🚀1.简述
    • 🚀2.设计目的
    • 🚀3.定位
    • 🚀4.理解
    • 🚀5.管理的本质
    • 🚀6.系统调用


🎪 冯诺依曼体系结构

数学家冯·诺依曼提出了计算机制造的三个基本原则,即采用二进制逻辑、程序存储执行以及计算机由五个部分组成(运算器、控制器、存储器、输入设备、输出设备),这套理论被称为冯·诺依曼体系结构。
在这里插入图片描述

🚀1.体系概述

现代计算机发展所遵循的基本结构形式始终是冯·诺依曼机结构。这种结构特点是“程序存储,共享数据,顺序执行”,需要 CPU 从存储器取出指令和数据进行相应的计算。
在这里插入图片描述

  • 输入设备:包含键盘,话筒,摄像头,网卡,磁盘(I)

  • 存储器:包含内存(寄存器、高速缓冲存储器以及主存储器,操作系统关机数据不复存在)和外存(硬盘,软盘,CD,磁带,操作系统关机数据也可保存)

  • CPU:包含运算器(数据流计算交换)和控制器(接收指令和发出控制指令)

  • 输出设备:包含显示器,磁盘,网卡,声卡声响

比如我们上qq聊天,我们需要把聊天内容通过键盘输入给计算机(通过键盘这种输入设备),然后消息发出,显示到对方屏幕上(这时对方显示器就是输出设备)

而且它们的运行速度也有很大差异,在市面上可以几百块钱可以买到512G或者1T的硬盘,而内存只能买到8G或者12G的,显然同等存储空间下内存比硬盘要贵很多,那么同等地,它的速度也会比硬盘或者外设快很多。

而越昂贵,它的速度也就越块,运行速度:CPU >> 内存 >> 外设

🚀2.CPU和内存的数据交换

既然前面说了CPU速度是最快的,那么为什么还要存在内存呢,直接把CPU连到外设是不是会大大提升效率?
在这里插入图片描述
答案是否定的,举个例子来说,CPU工作的速度是纳秒级,而内存是微秒级,最后外设是毫秒级,如果CPU直接跟外设打交道,那么将是纳秒跟微秒的对比,CPU造价最贵,自然速度也就最快,那么它的时间将是很昂贵的,一个外设输入就会占用很多CPU的时间,这就跟木桶原理是一样的
在这里插入图片描述

木桶所能盛放的最大水量取决于最短的那块木板,而不是最长的那块,所以CPU如果直接跟外设打交道,那么计算机的运行速度完全取决于外设的速度,而CPU那么快的速度显然是浪费掉了,这时便引入了内存。

内存的访问速度比外设快,但是又比CPU慢,CPU可以直接从内存中拿到数据,放进CPU计算的同时,DMA可以把外设的东西调到内存,下次CPU就可以直接从内存中拿取数据。

这就是为什么我们打开一个程序的时候,需要先把数据加载到内存中,然后再交给CPU运行,因为这是体系结构决定的

结论:在数据层面,CPU一般不和外设沟通,而是只和内存打交道

🚀3.体系结构中数据的流动

我们下面模拟一下qq消息在两台主机中的传递:
在这里插入图片描述
数据先由张三的键盘输入"晚安",然后该消息被刷新到我们自己的显示器上,然后点击发送,这期间由DMA将数据调入内存,内存中数据在调入CPU进行加密,然后将加密后的数据返回给网卡,网卡在通过网络进行输出给另一台主机,另一台主机的网卡(此时网卡为输入设备)接收到数据,将数据给CPU进行解密,最后显示到对方李四的显示器上。

结论:在数据层面上,外设一般不直接和CPU打交道,而是和内存打交道

🎪 操作系统概念理解

在计算机中,操作系统是其最基本也是最为重要的基础性系统软件。从计算机用户的角度来说,计算机操作系统体现为其提供的各项服务;从程序员的角度来说,其主要是指用户登录的界面或者接口;如果从设计人员的角度来说,就是指各式各样模块和单元之间的联系。事实上,全新操作系统的设计和改良的关键工作就是对体系结构的设计,经过几十年以来的发展,计算机操作系统已经由一开始的简单控制循环体发展成为较为复杂的分布式操作系统,再加上计算机用户需求的愈发多样化,计算机操作系统已经成为既复杂而又庞大的计算机软件系统之一
在这里插入图片描述

🚀1.简述

操作系统(OS)是一组主管并控制计算机操作、运用和运行硬件、软件资源和提供公共服务来组织用户交互的相互关联的系统软件程序。根据运行的环境,操作系统可以分为桌面操作系统,手机操作系统,服务器操作系统,嵌入式操作系统等

操作系统包含:

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

🚀2.设计目的

  • 与硬件交互,管理所有的软硬件资源
  • 为用户程序(应用程序)提供一个良好的执行环境

🚀3.定位

  • 一款进行软硬件资源管理的软件

🚀4.理解

我们应该如何理解操作系统对硬件做管理呢?比如在IT公司中,有boss,还很多个团队,每个团队有队长和队员,我们可以拿boss - 队长 - 队员来解释。

在每个IT公司中,boss会做决策,比如开发某款产品,然后他会把任务下发给对应的团队,团队队长便会根据这个来组织队员进行软件的开发:

在以上的描述中:

  • boss:决策(管理者)
  • 队长:决策被执行
  • 队员:参与执行(被管理者)

在这里插入图片描述

在上述例子中我们看到,boss是不需要跟队员直接沟通达到执行决策的目的的,也就是:1.管理者和被管理者是不需要直接沟通的

那既然管理者和别管理者不需要直接沟通,那怎么做到管理的呢?我们想像一下,如果IT公司的员工订了一份外卖,此时外卖小哥把外卖送到了员工的办公桌上,那么他进入了公司大楼,但他是公司的员工吗?显然不是,要被定义为公司员工,得在公司电脑上能查到该员工的信息才行,不是进入公司大楼的就是该公司员工。同样的,假如说一个员工被炒鱿鱼了,他人离开公司就行了吗?显然不是,该公司需要删除这个员工的信息才行。所以说管理的本质是:2.对被管理对象的数据做管理

那么boss怎么拿到员工数据呢?这就需要每个团队的队长反馈队员数据给boss,boss才能拿到员工数据。也就是3.管理者通过一种媒介(这里是队长)拿到被管理者数据

所以说我们操作系统也是如此:
在这里插入图片描述
操作系统通过硬件驱动实现对硬件进行管理。

🚀5.管理的本质

正如我们上文所说,队长把队员数据交给boss,那么boss怎么看呢,一个大的IT公司至少有几百上千人,boss如果想查找业绩最低的人员开除,那岂不是得找很久?于是boss就想了一个办法:把所有队员的数据用一个类描述出来,比如叫Programmer,这个类里面有成员姓名(name),年龄(age),业绩(achievement)等基本信息,这就叫数据的描述然后每个人员的信息我们便可以清楚的看到:

在这里插入图片描述
如果我们要查找人员信息呢,我们得用一种数据结构来组织每个人员的基本信息
比如boss想用二叉树来组织:
在这里插入图片描述
此时我们只需要遍历这棵二叉树即可实现对员工信息的查找,操作系统也是,比如进程管理,操作系统会用PCB来描述进程的结构,又比如内存管理,操作系统会用页表来管理内存

总之,管理就是先描述,在组织,这句话会贯穿我们Linux的整个学习过程

🚀6.系统调用

操作系统的作用是对下提供管理好软硬件资源,、对上给用户提供良好(安全,高效,稳定,功能丰富)的良好环境,“系统调用”是操作系统提供给应用程序(程序员/编程人员)使用的接口,可以理解为一种可供应用程序调用的特殊函数,应用程序可以发出系统调用请求来获得操作系统的服务。会使处理器从用户态进入核心态

我们所熟知的系统调用有:

  • GUI(图形化界面)
  • shell和命令行
  • C函数(stdio.h)
    在这里插入图片描述

相关文章:

【Linux】冯诺依曼体系结构和操作系统概念

文章目录🎪 冯诺依曼体系结构🚀1.体系概述🚀2.CPU和内存的数据交换🚀3.体系结构中数据的流动🎪 操作系统概念理解🚀1.简述🚀2.设计目的🚀3.定位🚀4.理解🚀5.管…...

HTML5之HTML基础学习笔记

列表标签 列表的应用场景 场景:在网页中按照行展示关联性的内容,如:新闻列表、排行榜、账单等特点:按照行的方式,整齐显示内容种类:无序列表、有序列表、自定义列表 这是老师PPT上的内容, 列表…...

FreeRTOS信号量 | FreeRTOS十

目录 说明: 一、信号量 1.1、信号量简介 1.2、信号量特点 二、二值信号量 2.1、二值信号量简介 2.2、获取与释放二值信号量函数 2.3、二值信号量使用过程与相关API函数 2.4、创建二值信号量函数了解 2.5、释放二值信号量了解 2.6、获取二值信号量了解 三…...

【SpringBoot】SpringBoot常用注解

一、前言首先这里说的SpringBoot常用注解是指在我们开发项目过程中,我们经常使用的注解,包含Spring、SpringBoot、SpringCloud、SpringMVC等这些框架中的注解,而不仅仅是SpringBoot中的注解。这里只是作一个注解列举,每个注解具体…...

数据一致性

目录一、AOP 动态代理切入方法(1) Aspect Oriented Programming(2) 切入点表达式二、SpringBoot 项目扫描类(1) ResourceLoader 扫描类(2) Map 的 computeIfAbsent 方法(3) 反射几个常用 api① 创建一个测试注解② 创建测试 PO 类③ 反射 api 获取指定类的指定注解信息(4) 返回…...

Docker不做虚拟化内核,对.NET有什么影响?

引子前两天刷抖音,看见了这样一个问题。问题:容器化不做虚拟内核,会有什么弊端?Java很多方法会跟CPU的核数有关,这个时候调用系统函数,读到的是宿主机信息,而不是我们限制资源的大小。思考&…...

HTML总结

CSS代码风格 空格规范&#xff1a; 1. 属性值前面&#xff0c;冒号后面&#xff0c;保留一个空格&#xff1b; 2. 选择器&#xff08;标签&#xff09;和大括号中间保留空格。 基本语法概述&#xff1a; 1.HTML标签是由尖括号包围的关键词&#xff0c;如<html> 2.HTM…...

ByteHouse:基于ClickHouse的实时数仓能力升级解读

更多技术交流、求职机会&#xff0c;欢迎关注字节跳动数据平台微信公众号&#xff0c;回复【1】进入官方交流群 ByteHouse是火山引擎上的一款云原生数据仓库&#xff0c;为用户带来极速分析体验&#xff0c;能够支撑实时数据分析和海量数据离线分析。便捷的弹性扩缩容能力&…...

[SSD固态硬盘技术 15] FTL映射表的神秘面纱

为什么需要映射表?固态硬盘的存储器件采用的是闪存[5],具有以下几个特点: (1)读写基本单位是以页(Page)为单位,擦除是以块(Block)为单位。...

浅析依赖注入框架的生命周期(以 InversifyJS 为例)

在上一篇介绍了 VSCode 的依赖注入设计&#xff0c;并且实现了一个简单的 IOC 框架。但是距离成为一个生产环境可用的框架还差的很远。 行业内已经有许多非常优秀的开源 IOC 框架&#xff0c;它们划分了更为清晰地模块来应对复杂情况下依赖注入运行的正确性。 这里我将以 Inv…...

HER2靶向药物研发进展-销售数据-上市药品前景分析

HER2长期作为肿瘤领域的热门靶点之一&#xff0c;其原因是它在多部位、多种形式的癌症中均有异常的表达&#xff0c;据研究表明HER2除了在胃癌、胆道癌、胆管癌、乳腺癌、卵巢癌、结肠癌、膀胱癌、肺癌、子宫颈癌、子宫浆液性子宫内膜癌、头颈癌、食道癌中的异常表达还存在于多…...

【第38天】不同路径数问题 | 网格 dp 入门

本文已收录于专栏&#x1f338;《Java入门一百例》&#x1f338;学习指引序、专栏前言一、网格模型二、【例题1】1、题目描述2、解题思路3、模板代码4、代码解析5.原题链接三、【例题2】1、题目描述2、解题思路3、模板代码4、代码解析5.原题链接三、推荐专栏四、课后习题序、专…...

LINUX之链接命令

链接命令学习目标能够说出软链接的创建方式能够说出硬链接的创建方式1. 链接命令的介绍链接命令是创建链接文件&#xff0c;链接文件分为:软链接硬链接命令说明ln -s创建软链接ln创建硬链接2. 软链接类似于Windows下的快捷方式&#xff0c;当一个源文件的目录层级比较深&#x…...

1628_MIT 6.828 xv6_chapter0操作系统接口

全部学习汇总&#xff1a; GreyZhang/g_unix: some basic learning about unix operating system. (github.com) 这本书最初看名字以为是对早期unix的一个解读&#xff0c;但是看了开篇发现 不完全是&#xff0c;只是针对JOS教学OS系统来做的一些讲解。 Xv6是对UNIX v6的重新实…...

使用 Sahi 实现 Web 自动化测试

Sahi 是 Tyto Software 旗下的一个基于业务的开源 Web 应用自动化测试工具。Sahi 运行为一个代理服务器&#xff0c;并通过注入 JavaScript 来访问 Web 页面中的元素。Sahi 支持 HTTPS 并且独立于 Web 站点&#xff0c;简单小巧却功能强大。它相对于 Selenium 等自动化测试工具…...

天津菲图尼克科技携洁净及无菌防护服解决方案与您相约2023生物发酵展

BIO CHINA 生物发酵产业一年一度行业盛会&#xff0c;由中国生物发酵产业协会主办&#xff0c;上海信世展览服务有限公司承办&#xff0c;2023第10届国际生物发酵产品与技术装备展览会&#xff08;济南&#xff09;于2023年3月30-4月1日在山东国际会展中心&#xff08;济南市槐…...

Java 网络编程详解

1、什么是网络编程 在网络通信协议下&#xff0c;不同计算机上运行的程序&#xff0c;可以进行数据传输。 应用场景&#xff1a;     1、即时通信 2、网游对战 3、邮件等等 Java中可以使用java.net包下的技术轻松开发出常见的网络应用程序 2、网络编程三要素 2.1 IP地址 要…...

Scratch少儿编程案例-几何形式贪吃蛇

专栏分享 点击跳转=>Unity3D特效百例点击跳转=>案例项目实战源码点击跳转=>游戏脚本-辅助自动化点击跳转=>Android控件全解手册点击跳转=>Scratch编程案例👉关于作者...

一定要收藏的面试思维导图,粉丝分享面试经验

一位粉丝分享面试经验&#xff1a;1.常见面试题有哪些&#xff1f;主要从以下一些知识点做了准备&#xff1a; 常用的分析方法、Excel、SQL、 A/B测试、产品分析。然后每份面试针对职位要求&#xff0c;还有前期和HR聊天一点点了解这个职位之后&#xff0c;定向准备。 Excel、S…...

【博客615】通过systemd设置cgroup来限制服务资源争抢

通过systemd设置cgroup来限制服务资源争抢 1、场景 我们的宿主机上通常会用systemctl来管理一些agent服务&#xff0c;此时我们需要限制服务的cpu&#xff0c;memory等资源用量&#xff0c;以防止服务之前互相争抢资源&#xff0c;导致某些核心agent运行异常 2、systemd与cgro…...

从零构建可控AI智能体中枢:Comobot部署、配置与实战指南

1. 项目概述&#xff1a;从零构建一个可控的智能体中枢如果你和我一样&#xff0c;对市面上的AI助手感到既兴奋又有些许无奈——兴奋于它们强大的能力&#xff0c;无奈于它们要么是“黑盒”服务&#xff0c;数据安全存疑&#xff1b;要么部署复杂&#xff0c;难以深度定制——那…...

用STM32F103和DHT11做个智能温湿度报警器,附ESP8266远程监控代码

STM32F103与DHT11打造智能环境监测系统&#xff1a;从本地报警到云端监控全解析 在智能家居和工业物联网快速发展的今天&#xff0c;环境监测系统已成为许多创客和开发者入门的首选项目。本文将带你用STM32F103微控制器和DHT11温湿度传感器&#xff0c;构建一个功能完善的智能…...

OpenClaw QQ机器人一键接入指南

​准备工作 软件环境 已成功安装并运行 OpenClaw Windows 版本OpenClaw Gateway 运行状态正常&#xff08;建议保持在线状态&#xff09; 账号准备 已准备好有效的 QQ 账号&#xff08;用于平台扫码登录&#xff09;已安装 QQ 手机客户端&#xff08;用于扫码登录及机器人功…...

3分钟掌握音乐文件解密:NCM加密格式终极转换指南

3分钟掌握音乐文件解密&#xff1a;NCM加密格式终极转换指南 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 你是否曾在网易云音乐下载了心爱的歌曲&#xff0c;却发现只能在官方App中播放&#xff1f;那些神秘的NCM格式文件就像被锁…...

微信小程序逆向工程终极指南:wxappUnpacker深度解析与实用技巧

微信小程序逆向工程终极指南&#xff1a;wxappUnpacker深度解析与实用技巧 【免费下载链接】wxappUnpacker forked from https://github.com/qwerty472123/wxappUnpacker 项目地址: https://gitcode.com/gh_mirrors/wxappu/wxappUnpacker 微信小程序逆向工程是开发者深入…...

Blender 3MF插件:从设计到打印的无缝桥梁 [特殊字符]

Blender 3MF插件&#xff1a;从设计到打印的无缝桥梁 &#x1f680; 【免费下载链接】Blender3mfFormat Blender add-on to import/export 3MF files 项目地址: https://gitcode.com/gh_mirrors/bl/Blender3mfFormat 还在为3D模型在不同软件间转换而烦恼吗&#xff1f;B…...

嘉兴看牙哪家靠谱?2026年本地6家口腔机构实测排行榜(纯生活体验版)

问这个问题的人&#xff0c;多半是被坑过、排过队、或者被推销烦过。作为一个在嘉兴生活了快十年的普通市民&#xff0c;补牙、洗牙、带孩子看牙都经历过&#xff0c;我也踩过不少坑。这次花了两周时间&#xff0c;跑了南湖、秀洲、平湖几家口碑还行的口腔机构&#xff0c;纯从…...

《机密计算破局政务金融、截图工具漏洞泄露NTLM哈希、智能体仿冒日增200+:AI安全的三场“攻防战”》

一、全链路机密计算破局&#xff1a;政务/金融敏感数据进入“可信推理”时代当前&#xff0c;大模型落地过程中面临的核心矛盾在于&#xff1a;越是高价值的专业技术领域&#xff0c;其训练数据和实时推理数据的安全级别就越高。在政务场景中&#xff0c;政府规划、财政数据、内…...

LinkedIn Liger Kernel:移动设备内核定制与性能优化实战

1. 项目概述&#xff1a;一个面向移动设备的开源内核探索如果你在移动设备开发、嵌入式系统或者内核研究的圈子里待过一段时间&#xff0c;大概率听说过或者接触过“Liger Kernel”这个名字。它不是一个商业产品&#xff0c;而是一个在GitHub上由LinkedIn开源并维护的Android内…...

MCP图像生成服务器:在IDE中无缝集成AI绘图,提升开发与设计效率

1. 项目概述&#xff1a;一个能“听懂人话”的智能图像生成服务器 如果你和我一样&#xff0c;经常在 Cursor、Claude Code 这类 AI 编程工具里写代码、做设计&#xff0c;那你肯定遇到过这样的场景&#xff1a;脑子里有个很棒的视觉创意&#xff0c;比如“一个赛博朋克风格的…...