『Linux升级路』冯诺依曼体系结构与操作系统

简介: 『Linux升级路』冯诺依曼体系结构与操作系统



一、冯诺依曼体系结构

📒1.1为什么要有体系结构

    我们现在常见的计算机,如笔记本,它们本质都是一堆硬件(如:cpu、内存、网卡、磁盘等)的集合。并不是把这些硬件毫无章法的放在一起就能够组成计算机,而是要让各个硬件和软件之间建立协同能力,让它们具有逻辑结构,这就要求硬件与硬件之间要组织好,构建成一个系统,这样才能对外提供计算输出服务,所以就要有体系结构将它们连接。计算机体系结构是计算机系统中的核心。

我们常见的计算机,大部分都遵守冯诺依曼体系。

📒1.2硬件介绍

📝1.2.1中央处理器

    中央处理器简称CPU,它由运算器和控制器共同组成。在不考虑缓存的情况下,CPU只能对存储器(内存)进行读写,不能访问外设(输入、输出设备)。它的主要功能就是解释计算机指令以及处理计算机软件中的数据。这意味着,电脑中所有操作都由CPU负责读取指令并进行处理。

  • 运算器是对用户输入的数据执行计算任务,分为算数运算逻辑运算,前者就是加减乘除,后者就是真假判断。
  • 控制器是对计算过程,即硬件流程进行控制,它控制着指令的执行和数据的传输,协调各组件与各单元间的工作。

📝1.2.2输入、输出设备

    输入、输出设备,也被称为IO设备,是计算机的关键外部设备之一,它允许与计算机本体进行交互使用。这类设备使得用户可以向计算机输入数据和信息,同时也能从计算机获取处理结果。常见的输入设备包括键盘、鼠标、麦克风、摄像头、磁盘、网卡等。例如:键盘是字符输入设备,可以将文字信息输入到计算机中;而鼠标则是一种图形输入设备,用户可以通过移动鼠标来控制光标的移动,并与屏幕上的对象进行交互。 常见的输出设备包括:显示器、打印机、音响、磁盘、网卡等。例如:显示器,它可以将计算机处理后的信息以图像或文字的形式展示给用户。无论是输入还是输出设备,它们都对计算机系统的运行至关重要,并且极大地方便了用户的使用。

注意:磁盘、网卡等设备既时输入设备,也是输出设备。

📝1.2.3存储器

     存储器是计算机系统中的记忆设备,主要用于存放程序和数据。它可以分为内存储器和外存储器两大类,这里的存储器指的是内存。在冯诺依曼体系结构中占据核心地位。

📝1.24.总线概念

    总线是计算机中设备与设备之间传输信息的公共通道。它是一条由导线组成的传输线束,用于连接计算机硬件系统内的各种设备,实现它们之间的信息交换和通信。总线作为一种内部结构,是CPU与主存、I/O设备(输入、输出设备)各大部件之间进行信息交换的关键通道。它极大的方便了设备的连接和使用,提升了计算机整体的运行效率。

📒1.3内存的重要性

    我们要先了解计算机中的存储数据的硬件,硬件有很多种,例如:寄存器、缓存、内存、硬盘、网盘等,它们按照访问速度的快慢形成了一个存储金字塔,如下图所示:

寄存器的读取速度更快,为什么体系结构不是下面这种情况呢?

   在我们的人之中,CPU直接与输入设备和输出设备直接进行交互,这样的效率更高。 但事实情况并不是这样,由于木桶原理:一只木桶能装多少水,并不取决于桶壁上最高的那块木块,而恰恰取决于桶壁上最短的那块。这样计算机的效率并没有提高,反而效率降低了。

   这时我们引入一种速度快于外设,慢于CPU的存储设备——内存。它起着第三方中转站的作用,我们可以把数据从输入设备先预加载到内存,CPU完成计算后存放到缓存中,当需要输出时,直接从缓存中读取。CPU的运算和内存从外设读取数据是可以同时进行的。合理利用预加载和缓存可以大大提高效率,引入内存也节省了成本。

总结:一个程序想要运行,就必须先加载到内存。

二、操作系统

    操作系统是管理和控制计算机系统中各种硬件和软件资源、合理地组织计算机工作流程的系统软件,也是用户与计算机之间的接口。

操作系统是一款纯正的“搞管理”的软件

📒2.1操作系统的概念

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

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

📒2.2设计操作系统的目的

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

📒2.3计算机的底层结构

📝什么是驱动程序?

    驱动程序是一种特殊的程序,它的主要功能是让计算机和设备进行相互通信。我们可以将驱动程序视为硬件的接口,只有通过这个接口,操作系统才能控制硬件设备的工作。例如:当我们插入一个打印机到电脑上时,电脑并不能直接理解这个硬件是什么以及它能做什么,而只有在安装了驱动程序后,电脑才能理解这个硬件设备,因为驱动程序中包含了配置信息和描述。

📝操作系统为什么要对软硬件进行管理?

    操作系统是计算机系统的内核与基石,其关键作用之一就是管理计算机的硬件和软件资源。它的主要任务包括管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络以及管理文件系统等。操作系统位于底层硬件与用户之间,作为两者沟通的桥梁,它提供了一种让用户与系统交互的操作界面,如命令行或图形用户界面。这使得用户可以通过操作系统的用户界面,输入所需的命令。对计算机的软硬件资源进行管理对于提高计算机系统的效率和可用性至关重要。

📝操作系统是怎样进行管理的?

     我们以学校为例,校长作为学校的管理者,学生作为被管理对象,那校长是如何管理学生的呢?每个学校的教务系统中存储了学生的各种信息,如姓名、学号、年龄、考试成绩、挂科情况等等。要评选奖学金的时候,校长只需要在教务系统中依据每个学生的成绩排个名,根据排名就可以把奖学金发给对应的学生。因此我们可以得出下面的结论:

  • 管理者和被管理者并不需要见面。
  • 管理本质上是对信息(数据)进行维护。

那这些信息是哪里来的呢?这些信息就是我们入学时,辅导员让我们填写的个人信息,然后汇总在一起。辅导员也是执行者。

管理者和执行者的本质区别在于,管理者拥有决策权,而执行者是没有决策权的,执行者只能按照管理者的要求去执行任务。回到计算机,操作系统就相当于是校长,属于管理者;驱动程序就相当于是辅导员,属于执行者;硬件就相当于学生,属于被管理者。

计算机管理硬件:(先描述,在组织

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

操作系统对硬件设备的管理最终都会转换成对某种数据结构的增删查改。这种管理方式就决定了操作系统中含有大量的数据结构。


🎁结语:

    本次的内容到这里就结束啦。希望大家阅读完可以有所收获,同时也感谢各位读者三连支持。文章有问题可以在评论区留言,博主一定认真认真修改,以后写出更好的文章。你们的支持就是博主最大的动力。

相关文章
|
5天前
|
Web App开发 iOS开发 MacOS
关于MAC-OS 10.13.6 升级到10.15的实战
关于MAC-OS 10.13.6 升级到10.15的实战
|
17天前
|
监控 Unix Linux
Linux操作系统调优相关工具(四)查看Network运行状态 和系统整体运行状态
Linux操作系统调优相关工具(四)查看Network运行状态 和系统整体运行状态
31 0
|
19天前
|
Linux 编译器 开发者
Linux设备树解析:桥接硬件与操作系统的关键架构
在探索Linux的庞大和复杂世界时🌌,我们经常会遇到许多关键概念和工具🛠️,它们使得Linux成为了一个强大和灵活的操作系统💪。其中,"设备树"(Device Tree)是一个不可或缺的部分🌲,尤其是在嵌入式系统🖥️和多平台硬件支持方面🔌。让我们深入了解Linux设备树是什么,它的起源,以及为什么Linux需要它🌳。
Linux设备树解析:桥接硬件与操作系统的关键架构
|
1月前
|
Linux 数据安全/隐私保护 虚拟化
Linux技术基础(1)——操作系统的安装
本文是龙蜥操作系统(Anolis OS) 8.4 的安装指南,用户可以从[龙蜥社区下载页面](https://openanolis.cn/download)获取ISO镜像。安装方法包括物理机的光驱和USB闪存方式,以及虚拟机中的VMware Workstation Pro设置。安装过程涉及选择语言、配置安装目标、选择软件集合和内核,设置Root密码及创建新用户。安装完成后,可通过文本模式或图形化界面验证系统版本,如Anolis OS 8.4,标志着安装成功。
|
17天前
|
Linux
Linux操作系统调优相关工具(三)查看IO运行状态相关工具 查看哪个磁盘或分区最繁忙?
Linux操作系统调优相关工具(三)查看IO运行状态相关工具 查看哪个磁盘或分区最繁忙?
21 0
|
5天前
|
存储 Linux API
软件体系结构 - 嵌入式系统(2)- 嵌入式操作系统
软件体系结构 - 嵌入式系统(2)- 嵌入式操作系统
10 0
|
14天前
|
安全 Ubuntu Linux
软件体系结构 - 操作系统
【4月更文挑战第10天】软件体系结构 - 操作系统
23 1
|
25天前
|
存储 Ubuntu Linux
制作一个嵌入式Linux的应用程序升级文件
制作一个嵌入式Linux的应用程序升级文件
12 2
|
1月前
|
存储 缓存 算法
Linux--系统结构与操作系统
Linux--系统结构与操作系统
|
1月前
|
Linux 网络安全 数据安全/隐私保护
如何在 VM 虚拟机中安装 CentOS Linux 9 操作系统保姆级教程(附链接)
如何在 VM 虚拟机中安装 CentOS Linux 9 操作系统保姆级教程(附链接)
172 0