我的编程空间,编程开发者的网络收藏夹
学习永远不晚

【Linux】冯诺依曼体系和操作系统:

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

【Linux】冯诺依曼体系和操作系统:

在这里插入图片描述

1.冯诺依曼体系结构:

1.1体系概述理清:

我们常见的计算机,如笔记本。我们不常见的计算机,如服务器,大部分都遵守冯诺依曼体系。

  • 🔥我们将冯诺依曼体系结构分为输入设备、输出设备、存储器和CPU

image-20230415103207014

  • 上述部分的常见硬件:

输入设备:键盘、话筒、摄像头、网卡、磁盘

输出设备:显示器、磁盘、网卡、声卡音响

外设一般都会比较慢一些,以磁盘为例

相对于内存,磁盘较慢,但是价格并不贵,三五百块钱就可以买到一块512G的硬盘,贵一点的话可能像磁盘,价格在900 ~ 1200不等,但是它们都有一个优点就是:存储容量大、可以长久保存数据不丢失!

内存还不是最快的,CPU最快

❓那我们为什么还需要内存呢?

因为外设较慢,CPU很快,但是整体的效率以外设的速度为准,这样就不太合适,为了解决这个问题,就出现内存。

💡内存的存在就可以大大缓解外设的效率低的问题,内存的存在可以对数据进行预加载,CPU以后在进行数据计算的时候,根本不需要访问外设,只要访问内存就可以了

1.2内存的重要性:

我们是否可以不要寄存器,让CPU直接和外设链接呢?

image-20230504154714424

对于像【磁盘】这种外围设备来说虽然它有着大容量的内存,但是读写速度却非常慢,机械硬盘读写速度平均60---80M每秒;固态硬盘不同品牌型号之间,平均大约在150---300M每秒

但是对CPU来说,也就我们上面说到过的运算器 + 控制器,它的运算速度读者可以自行去网上看看,那比磁盘不知道要快出多少倍了。那一个写入很慢,一个读入很快,真的可以兼容吗?

大家应该都听过木桶效益,木桶效益的时候,能乘多少水取决于最短的木板,而不是最长的木板,磁盘内存和CPU同样的道理

木桶效应 的图像结果

我们的外设很慢,而CPU非常快,这样就会照成我们计算机的运行速度由外设来决定,CPU的高速运转将没有优势

此时就还是需要使用到冯诺依曼体系结构中的【存储器】,也就是我们俗称的内存

,因为对于内存这个东西,它虽然比CPU来得慢一些,但是却比磁盘快多了,它们三者的速度大概可以像下面这样对比

CPU —— 纳秒(ns) 内存 —— 微秒(us) 外设 —— 毫秒(ms)

我们可以知道CPU和外设差距是非常大的,因此我们需要内存这个东西来进行过渡

因为有了内存的存在,虽然它掉电易失,但还是局部短时间的存储,因此外设可以将数据暂存到内存中,此时,CPU后面想要去处理这些数据的话直接去内存中拿就可以了,无需再与外设进行交互造成不兼容的问题

  • 🔥在数据层面,一般CPU不和外设沟通,直接和内存打交道

❓可执行程序是不是一个文件?为什么我们的程序,必须先被加载到内存中的呢?

💡可执行程序是一个文件。我们的代码编译后,有CPU执行,CPU会向内存索要数据,冯诺依曼体系结构决定的

❓在硬件层面,单机和跨主机之间,数据流是然后流向的?

💡以播放网易云音乐为例,把软件加载到内存,然后CPU执行这个,当我点击播放,在将网络从输入设备加载到内存,然后做一堆计算,然后通过输出设备播放

对冯诺依曼的理解,不能停留在概念上,要深入到对软件数据流理解上

❓请解释,从你登录上qq开始和某位朋友聊天开始,数据的流动过程。从你打开窗口,开始给他发一个消息(在吗?),到他的到消息之后的数据流动过程。如果是在qq上发送文件呢

image-20230504165327078

💡==在吗?==通过我的电脑的输入设备加载到内存后,由CPU计算,再反馈给输出设备(网卡),通过网络传递给朋友的电脑的网卡(输入设备),以同样的方式,==在吗?==被加载到内存由CPU计算,传给显示器,出现朋友的QQ聊天界面上,文件也是同样的道理

2.操作系统:

2.1操作系统的概念:

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

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

操作系统是一款进行软硬件资源管理的软件

image-20230505084212431

2.2设计OS的目的和定位

先看这一张思维导图,我们再详细展开讲解。

image-20230505084630239

我们先用一个简单的例子来理解

📚例子

以下谁是管理者?校长,管理者做的事情是决策

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6EyX43qu-1683251638516)(C:\Users\小卢\AppData\Roaming\Typora\typora-user-images\image-20230416143409922.png)]

假设我们的校长要在学校举办一个校级的编程笔试,校长先把辅导员小张叫过来,安排辅导员给我们学校学生开会和一些奖励制度,让辅导员去做,然后辅导员就给我(学生)来开会了

就比如我们上大学,修了多少学分,挂了多少学分,校长就可以通过教务系统直接看到,校长不跟你接触,但是辅导员天天跟你接触,辅导员通过让你们填表得到信息,假设校长是一个程序员,校长想要学生的班级姓名电话成绩紧急联系人,讲这些抽象成一个类,

image-20230416144045580

管理者和被管理者,其实是不需要直接沟通的!

❓管理者和被管理者都没有直接沟通,他如何管理我呢?

💡管理的本质:对被管理对象的数据做管理!!!

管理者是如何拿到被管理者的数据呢?

学生的数据:

struct student{string Name;int Class;int phone[12];int score;int parenter_phone[12];struct student* next;};

管理的本质:先描述,再组织

我们可以把学生理解为硬件(软件也可以),校长就是操作系统,辅导员就为硬件驱动

image-20230416153040789

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

💡操作系统对下进行管理好软硬件资源(手段),对上给用户提供良好(安全、稳定、高效、功能丰富等)的执行环境

  • 🔥操作系统作为计算机系统资源的管理者

操作系统是一款进行软硬件资源管理的软件

image-20230505092510417

  • 处理器(CPU)管理

在多道程序环境下,cpu的分配和运行都以进程(或线程)为基本单位,因此对cpu的管理可理解为对进程的管理。进程管理的主要功能包括进程控制、进程同步、进程通信、死锁处理、处理机调度等。附上一张图理解对进程的管理。

image-20230505093149685

  • 存储器(内存)管理

为多道程序的运行提供良好的环境,方便用户使用及提高内存的利用率,主要包括内存分配与回收、地址映射、内存保护与共享和内存扩充等功能。

image-20230505093434448

  • 文件管理

计算机中所有的信息都是以文件的形式存在的,操作系统中负责文件的管理的部分称为文件系统,文件管理包括文件存储空间的管理、目录管理及文件读写管理和保护

image-20230505093934821

  • 设备管理

设备管理的主要任务是完成用户的I/O请求,方便用户使用各种设备,并提高设备的利用率,主要包括缓存管理、设备分配、设备处理和虚拟设备等功能。

image-20230505094120857

  • 🔥操作系统作为用户与计算机硬件系统之间的接口

为了让用户方便、快捷、可靠的操作计算机硬件并执行自己的程序,操作系统提供了用户接口

操作系统提供的接口分为两类:命令接口和程序接口

命令接口:用户可以直接使用的,利用这些操作命令来组织和控制作业的执行

程序接口:用户通过程序间接使用的,编程人员可以使用它们来请求操作系统服务

image-20230505094627448

  • 命令接口

命令接口分为两类:联机命令接口和脱机命令接口,用户可以直接调用

联机命令接口:又称交互式命令接口,适用于分时或实时系统的接口,由一组键盘操作命令组成。用户输入一条指令,操作系统就执行一条指令;

  • 脱机命令接口

又称批处理接口,使用于批处理系统,由一组作业控制命令组成。用户输入一堆指令,操作系统运行一堆指令。在操作系统运行这些命令时用户不可干预。

  • 程序接口

程序接口:由一组系统调用(也称广义指令)组成

用户通过在程序中使用这些系统调用来请求操作系统为其提供服务,只能通过用户程序间接调用

如使用各种外部设备、申请分配和回收内存及其它各种要求

📚例子

就银行,银行有电脑、服务器、桌椅板凳、仓库、员工宿舍….

IT部门,后勤部门,保安,阿姨

image-20230416154434192

行长就是OS(操作系统)

就拿取款来说,你去取500块,银行行长会跟你说,你的500在金库里面,你进门右转就是金库,你进去后拿了你的500块就出来吗? 不可以根本不可能

操作系统给我们提供非常良好的服务,并不代表OS会想想我们,反而操作系统不相信任何人!!!

  • 🔥计算机软硬件体系结构:
    image-20230416155702410

  • 🔥计算机的体系的结构是层状的,一般不可以跳过某个层

image-20230418145410652
在这里插入图片描述

来源地址:https://blog.csdn.net/m0_69061857/article/details/130500433

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

【Linux】冯诺依曼体系和操作系统:

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

【Linux】冯诺依曼体系和操作系统:

1.冯诺依曼体系结构: 1.1体系概述理清: 我们常见的计算机,如笔记本。我们不常见的计算机,如服务器,大部分都遵守冯诺依曼体系。 🔥我们将冯诺依曼体系结构分为输入设备、输出设备、存储器和CPU 上述部分的常见硬件:
2023-08-18

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

文章目录 🎪 冯诺依曼体系结构🚀1.体系概述🚀2.CPU和内存的数据交换🚀3.体系结构中数据的流动 🎪 操作系统概念理解🚀1.简述
2023-08-18

2021下半年网络工程师高频考点:冯·诺依曼体系结构

  为帮助大家备考2021下半年网络工程师考试,今天编程学习网小编为大家整理了2021下半年网络工程师高频考点:冯·诺依曼体系结构,希望对大家备考会有帮助。  考点3、冯·诺依曼体系结构  【考法分析】  本考点的基本考法是能分辨出CPU的两大核心部件:运算器和控制器中的子部件,以及各子部件所起
2021下半年网络工程师高频考点:冯·诺依曼体系结构
2024-04-19

Linux操作系统文件系统的安装和卸载方法

这篇文章主要介绍“Linux操作系统文件系统的安装和卸载方法”,在日常操作中,相信很多人在Linux操作系统文件系统的安装和卸载方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux操作系统文件系统的安
2023-06-17

虚拟机安装Linux rhel7.3操作系统(具体步骤)

安装虚拟化软件在虚拟机安装操作系统之前要先确保你的主机中有虚拟化管理软件,如果没有的话可以用以下命令进行安装虚拟化:grep --color -E "vmx|svm" /proc/cpuinfo yum install qemu-kvm q
2022-06-04

Unix和Linux操作系统中Cron的用法

这篇文章主要讲解了“Unix和Linux操作系统中Cron的用法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Unix和Linux操作系统中Cron的用法”吧!/sbin/service c
2023-06-16

Unix和Linux操作系统有什么区别呢

本篇文章给大家分享的是有关Unix和Linux操作系统有什么区别呢,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。  现在操作系统有很多种,比如说Windows、Linux、Un
2023-06-05

Linux文件系统的目录和操作有哪些

这篇文章主要讲解了“Linux文件系统的目录和操作有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux文件系统的目录和操作有哪些”吧!内存使用部分目录说明/binbin是Binar
2023-06-29

如何在麒麟操作系统上安装和管理字体

在麒麟操作系统上安装和管理字体,可以按照以下步骤进行:1. 下载字体文件:首先,在互联网上找到需要安装的字体文件,并下载到本地计算机上,通常字体文件的扩展名为.ttf、.otf等。2. 打开字体文件夹:在麒麟操作系统中,点击桌面左上角的“启
2023-10-12

Linux操作系统的NTFS和内核的示例分析

今天就跟大家聊聊有关Linux操作系统的NTFS和内核的示例分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。传统编译内核模块的方法繁琐而费时,这里介绍一种快速编译所需要内核模块的新
2023-06-17

编程热搜

目录