『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天前
|
运维 自然语言处理 Ubuntu
OS Copilot-操作系统智能助手-Linux新手小白的福音
OS Copilot 是阿里云推出的一款操作系统智能助手,专为Linux新手设计,支持自然语言问答、辅助命令执行和系统运维调优等功能。通过简单的命令行操作,用户可以快速获取所需信息并执行任务,极大提升了Linux系统的使用效率。安装步骤简单,只需在阿里云服务器上运行几条命令即可完成部署。使用过程中,OS Copilot不仅能帮助查找命令,还能处理文件和复杂场景,显著节省了查找资料的时间。体验中发现,部分输出格式和偶尔出现的英文提示有待优化,但整体非常实用,特别适合Linux初学者。
50 10
|
1月前
|
安全 Linux 测试技术
OS 升级迭代与向前向后兼容问题
本次分享的主题是OS 升级迭代与向前向后兼容问题,由中科方德内核研发工程师李力琼分享。主要分为四个部分: 1. OS更新的兼容性问题 2. 内核API向后兼容 3. 内核API向前兼容 4. 内核API的修改
|
5天前
|
Linux
Linux 操作系统
在 Linux 中,UID(用户 ID)是标识用户身份的重要概念。UID 唯一标识每个用户,通过 UID 可区分不同用户类别:UID 0 为超级用户,1-999 为系统用户,1000 及以上为普通用户。因此,正确选项为:UID 标识用户、可区分用户类别、普通用户 UID 大于 1000。
|
14天前
|
应用服务中间件 Linux nginx
【Azure App Service】基于Linux创建的App Service是否可以主动升级内置的Nginx版本呢?
基于Linux创建的App Service是否可以主动升级内置的Nginx版本呢?Web App Linux 默认使用的 Nginx 版本是由平台预定义的,无法更改这个版本。
126 77
|
1月前
|
缓存 安全 Linux
Linux系统查看操作系统版本信息、CPU信息、模块信息
在Linux系统中,常用命令可帮助用户查看操作系统版本、CPU信息和模块信息
111 23
|
1月前
|
弹性计算 自然语言处理 Ubuntu
OS Copilot-操作系统智能助手-Linux新手小白的福音
OS Copilot是由阿里云推出的操作系统智能助手,专为Linux新手设计,支持自然语言问答、辅助命令执行等功能,极大提升了Linux系统的使用效率。用户只需通过简单的命令或自然语言描述问题,OS Copilot即可快速提供解决方案并执行相应操作。例如,查询磁盘使用量等常见任务变得轻松快捷。此外,它还支持从文件读取复杂任务定义,进一步简化了操作流程。虽然在某些模式下可能存在小问题,但总体上大大节省了学习和操作时间,提高了工作效率。
134 2
OS Copilot-操作系统智能助手-Linux新手小白的福音
|
1月前
|
弹性计算 运维 Ubuntu
os-copilot在Alibaba Cloud Linux镜像下的安装与功能测试
我顺利使用了OS Copilot的 -t -f 功能,我的疑惑是在换行的时候就直接进行提问了,每次只能写一个问题,没法连续换行更有逻辑的输入问题。 我认为 -t 管道 功能有用 ,能解决环境问题的连续性操作。 我认为 -f 管道 功能有用 ,可以单独创建可连续性提问的task问题。 我认为 | 对文件直接理解在新的服务器理解有很大的帮助。 此外,我还有建议 可以在非 co 的环境下也能进行连续性的提问。
75 7
|
1月前
|
存储 运维 安全
深入解析操作系统控制台:阿里云Alibaba Cloud Linux(Alinux)的运维利器
本文将详细介绍阿里云的Alibaba Cloud Linux操作系统控制台的功能和优势。
67 6
|
1月前
|
自然语言处理 算法 Ubuntu
GeneralUpdate应用程序自动升级跨平台解决方案,支持国产操作系统。
前些年随着技术的发展逐渐兴起“一次编码到处运行”、“国产化”的概念那么跨平台就是各大技术争相主推的能力之一。具备跨平台的能力同时也需要自动升级的能力,GeneralUpdate 随之应运而生。
167 11
|
1月前
|
安全 大数据 Linux
云上体验最佳的服务器操作系统 - Alibaba Cloud Linux | 飞天技术沙龙-CentOS 迁移替换专场
本次方案的主题是云上体验最佳的服务器操作系统 - Alibaba Cloud Linux ,从 Alibaba Cloud Linux 的产生背景、产品优势以及云上用户使用它享受的技术红利等方面详细进行了介绍。同时,通过国内某社交平台、某快递企业、某手机客户大数据业务 3 大案例,成功助力客户实现弹性扩容能力提升、性能提升、降本增效。 1. 背景介绍 2. 产品介绍 3. 案例分享