005 Linux 冯诺依曼体系与操作系统的理解

前言

本文将会向您介绍冯诺依曼体系与操作系统的概念

文章重点

  1. 理解冯诺依曼体系为什么到现在也如此流行
  2. 理解操作系统的概念以及操作系统是如何控制软硬件资源的

冯诺依曼体系结构

常见的计算机,如笔记本。我们不常见的计算机,如服务器,都遵守冯诺依曼体系 在这里插入图片描述

1. 输入单元:包括键盘, 鼠标,扫描仪, 写字板等
2. 中央处理器(CPU):含有运算器和控制器等
3. 输出单元:显示器,打印机等
4. 既是输入单元也是输出单元:网卡等

这里的存储器指的是内存
内存和磁盘的区别

内存和磁盘是计算机中主要的存储部件,内存是利用了电效应实现了存储,一旦电脑断电它存储的数据就会丢失 然而磁盘是外设,是永久存储介质
内存的特点:高速度高价格
磁盘的特点:低速低价

内存分级 在这里插入图片描述
结论离CPU越近的设备,运行速度越快,造价也越贵

不考虑缓存情况,这里的CPU只能对内存进行读写,不能访问外设(输入或输出设备),这是因为外设磁盘离CPU很远,处理速度很慢,根据木桶的短板效应,所以CPU为了总体的运行速度不被拉低,就不会直接和磁盘外设打交道,而是和内存打交道, 外设(输入或输出设备)要输入或者输出数据,也只能写入内存或者从内存中读取

在这里插入图片描述

结论冯诺依曼系统中硬件既有高价格的设备用于处理复杂的数据,又有低价格的是设备用于存储数据或进行数据交互,这使得冯诺依曼体系下的计算机在价格不高的前提下,做到效率比较高
正是因为这种能让老百姓买的起的价格,并且使用起来比较高效的模式,才让冯诺依曼体系到现在也如此流行

硬件

硬件是指计算机系统中的物理部件,包括主板、中央处理器(CPU)、内存、硬盘、显示器、键盘、鼠标、网卡、声卡、USB接口等。硬件是计算机系统的基础,提供各种各样的功能和服务,支持计算机的各种应用。

示例一:微信发送消息与收到消息

在发送QQ消息时,除了消息内容,还会包含发送时间、发消息人的头像等信息。当从键盘输入消息内容时,这些数据会被加载到内存中,并经过CPU处理后被推送到输出设备(如网卡)。然后,通过网络传输,消息会被推送到接收消息的人的输入设备(也是网卡),接收方的设备将接收到的数据加载到内存中,并经过CPU处理后交给显示器显示收到的消息。

案例二: 微信发文件与接受文件

与发消息不同,发送文件是从自己的磁盘中将文件拷贝一份后加载到内存 经过CPU处理后推送到输出设备网卡上 要接受文件的人在经过网络后在网卡上
收到此文件,最终将文件存储至自己的磁盘上

结论
除了键盘和显示器,计算机系统中还有其他的输入和输出设备可以传递信息。例如,鼠标、触摸屏、扫描仪、打印机、摄像头、音频硬件设备等都可以作为输入或输出设备,用于传递不同类型的数据和信息。

操作系统的概念

操作系统的本质其实就是一款软件,是一款进行软硬件资源管理的软件

在开发角度,操作系统对外会表现为一个整体,但是会暴露自己的部分接口,供上层开发使用,这部分由操作系统提供的接口,叫做系统调用,虽然说操作系统是为用户提供服务的,但是它并不相信用户,就像银行一样,为你提供服务但是不信任你,于是在操作系统和用户之间还有系统调用窗口和shell外壳来阻止群众中的坏人直接获取Linux内核中的各种信息

在这里插入图片描述
接下来将会通过示例的角度向你介绍后三层: 既然操作系统的本质其实就是一款软件,是一款进行软硬件资源管理的软件 那么操作系统作为管理者与被管理者(底层硬件、软件部分)从来没有见过面,如何进行管理?

1.可以通过信息管理
2.驱动层可以帮管理者拿到数据(辅导员、楼管阿姨、图书管理员)
3.当“信息量”特别大的时候,信息就需要被组织起来了 比如:一万学生,每个学生的属性是类似的,先把角色描述起来
场景:某学校校长是一位程序员,原先需要对5位同学的个人信息进行录入到教务系统中,刚考完期末,本来只需要简简单单在程序中把学生的通过与补考状态改改就能达到目的,但是由于扩招,一下子学生达到了五万人,这就头疼了。 解决问题:

用结构体先把角色(每一个学生)描述起来

struct student  
{  int age;  double height;  double grade;  string name; 
} 

链表或其他高效的数据结构将这些结构体组织起来

struct student  
{  struct student* next; int age;  double height;  double grade;  string name; } 

结论:先描述,再组织 和校长管理学生一样,操作系统也不是直接管理硬件,而是管理硬件映射出来的信息,和校长创建的的结构题类似,操作系统也会对各个硬件创建一个结构体,结构体中存放硬件的各种新信息和健康状态等等,再通过链表等一些高效的数据结构将这些结构体连接起来统一管理

操作系统的管理有:
1.进程管理
2.内存管理
3.文件/io管理
4.驱动管理 这些管理都要遵守一个原则:先描述,再组织

现在我们再来看这张图,再来理解操作系统是如何管理软硬件资源 在这里插入图片描述

每一个硬件都有对应的驱动程序来做管理,如键盘,鼠标,网卡等都有对应的驱动程序,然后操作系统再通过一套成熟的驱动程序来管理下层的硬件,并且在此基础上衍生出各种软件业务,和用户服务,例如,一个音频编辑软件需要访问音频设备,就需要通过操作系统提供的音频设备驱动程序来访问和控制音频设备。

小结

今日的分享就到这里啦,这一小节并没有代码和指令,仅是对冯诺依曼体系和操作系统的概念作了介绍,如果本文存在疏漏或错误的地方还请您能够指出!

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

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

相关文章

CoCa论文笔记

摘要 计算机视觉任务中,探索大规模预训练基础模型具有重要意义,因为这些模型可以可以极快地迁移到下游任务中。本文提出的CoCa(Contrastive Captioner),一个极简设计,结合对比损失和captioning损失预训练一…

解决vmware安装ubuntu虚拟机显示不全以及无法实现windows与虚拟机之间无法相互复制粘贴问题

01、存在问题 02、解决方案 sudo apt-get autoremove open-vm-tools sudo apt-get install open-vm-tools sudo apt-get install open-vm-tools-desktop reboot //重启在这里插入图片描述 存在Bug 如果遇到一下问题,请先执行下列命令,然后…

【QT】基本的绘图操作和高级绘图

基本绘图 新建项目 重新绘图事件 画基本图形 #include "widget.h" #include "ui_widget.h" #include <QPainter>Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }/…

MATLAB ROS Toolbox 官网教程

系列文章目录 文章目录 系列文章目录前言一、ROS 2 入门1.1 ROS 2 术语1.2 启动 ROS 2 网络1.3 话题和服务质量策略1.4 消息1.5 从 ROS 2 网络断开连接1.6 DDS 和 RMW 实施 二、连接到 ROS 2 网络2.1 在默认域中创建 ROS 2 节点2.2 在不同域上创建 ROS 2 节点2.3 更改默认域 ID…

Leetcode—1588.所有奇数长度子数组的和【简单】

2023每日刷题&#xff08;十九&#xff09; Leetcode—1588.所有奇数长度子数组的和 直接法实现代码 int sumOddLengthSubarrays(int* arr, int arrSize){int i 1;int sum 0;int left 0, right;int k;int j 0;while(i < arrSize) {for(left 0; left < arrSize; lef…

虽然许多人表示对Windows 11的透明任务栏不满,但有时效果还是挺好的

Windows 11支持透明任务栏&#xff0c;这项功能可以在几秒钟内启用&#xff0c;但许多人表示他们对它的工作方式不满意。 在今天的指南中&#xff0c;我们将向你展示如何使用此功能&#xff0c;并通过一些技巧进一步自定义任务栏。 如何在Windows 11中使任务栏透明 使用个性…

FMC+DAM驱动LVGL刷屏

前提条件 使用FMC驱动LCD刷屏 LVGL移植 开启DMA 需要开启MEMTOMEMDMA。 开启MPU 有MPU时需要 使能I-cache D-cache时 使用DMA传输数据时要保证数据的完整行和准确性 修改代码 逻辑 等待DMA传输完成然后再刷屏。 修改 在DMA初始化函数中最后添加 注册DMA传输完成调用函…

音频修复增强软件iZotope RX 10 mac中文特点

iZotope RX 10 mac是一款音频修复和增强软件。 iZotope RX 10 mac主要特点 声音修复&#xff1a;iZotope RX 10可以去除不良噪音、杂音、吱吱声等&#xff0c;使音频变得更加清晰干净。 音频增强&#xff1a;iZotope RX 10支持对音频进行音量调节、均衡器、压缩器、限制器等处…

FreeRTOS-定时器\二值信号互斥信号\事件组

FreeRTOS整体知识框架可以参考下文: FreeRTOS整体知识框架 一. FreeRTOS定时器 FreeRTOS定时器 博文路径 FreeRTOS提供了一种软件定时器&#xff0c;用来快速实现一些周期性的操作&#xff0c;并且节约了硬件定时器。不过尽量还是不要做过多的操作&#xff0c;以免影响其他…

MySQL(8):聚合函数

聚合函数介绍 聚合函数&#xff1a; 对一组数据进行汇总的函数&#xff0c;输入的是一组数据的集合&#xff0c;输出的是单个值。 聚合函数类型&#xff1a;AVG(),SUM(),MAX(),MIN(),COUNT() AVG / SUM 只适用于数值类型的字段&#xff08;或变量&#xff09; SELECT AVG(…

verdi技巧分享--合并多个fsdb文件、统计信号边沿

文章目录 0 前言1 如何显示信号高位的02 统计信号的上升沿、下降沿3 合并信号4 将多个fsdb文件合并成一个 0 前言 分享几个这段时间学到的verdi操作 1 如何显示信号高位的0 这个可能对一些有强迫症的有帮助吧 nand相关的操作&#xff0c;有一些特定的cmd&#xff0c;比如 r…

小程序https证书

小程序通常需要与服务器进行数据交换&#xff0c;包括用户登录信息、个人资料、支付信息等敏感数据。如果不使用HTTPS&#xff0c;这些数据将以明文的方式在网络上传输&#xff0c;容易被恶意攻击者截获和窃取。HTTPS通过数据加密来解决这个问题&#xff0c;确保数据在传输过程…