【Linux】系统初识之冯诺依曼体系结构与操作系统

这篇具有很好参考价值的文章主要介绍了【Linux】系统初识之冯诺依曼体系结构与操作系统。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【Linux】系统初识之冯诺依曼体系结构与操作系统,Linux,linux,运维,服务器

👀樊梓慕:个人主页

 🎥个人专栏:《C语言》《数据结构》《蓝桥杯试题》《LeetCode刷题笔记》《实训项目》《C++》《Linux》

🌝每一个不曾起舞的日子,都是对生命的辜负


目录

前言

1.冯诺依曼体系结构

2.操作系统(OS)

(1)用户到操作系统再到底层是如何组织的?

(2)计算机是如何管理软硬件资源的?


前言

本篇文章主要与大家说明硬件层面与软件层面上计算机运行的一些机制。

  • 硬件上主要带大家认识冯诺依曼体系结构
  • 软件层面对应操作系统的相关概念

本篇文章也是为后面学习系统其他知识打基础,有关系统的学习大家需要翻越三座大山:进程周边、文件周边以及线程周边


欢迎大家📂收藏📂以便未来做题时可以快速找到思路,巧妙的方法可以事半功倍。

=========================================================================文章来源地址https://www.toymoban.com/news/detail-751877.html

GITEE相关代码:🌟fanfei_c的仓库🌟

=========================================================================


1.冯诺依曼体系结构

我们知道计算机的产生是为了解决人的问题,也就意味着计算机要有人机交互的功能,即输入与输出,人类发明计算机其实就如上面图片所表达的意思一样:人输入一个数据,经过计算机的处理,让我们得到一个结果数据,即输出。 

计算机通过输入设备得到数据,数据在计算机当中进行一系列的算术运算和逻辑运算后,并且经过控制(何时从输入设备获取数据,何时输出数据到输出设备等),最终通过输出设备进行输出。

算逻运算和控制的过程是由中央处理器完成的,也就是我们俗称的CPU。

计算机的诞生是为了计算庞大的数据,但是对于数据的传输不同的存储器又具备不同的效率,数据的传输过程,即拷贝的整体速度,是决定计算机效率的重要指标,在未提出冯诺依曼体系结构之前,我们往往需要造价高昂的寄存器来组成整个计算机,来达到高速运算的目的。

但是,现在的计算机我们发现早已进入千家万户,已然不是曾经的“奢侈品”,这一切就要归功于冯诺依曼体系结构,如今的计算机大部分都遵守冯诺依曼体系结构。

【Linux】系统初识之冯诺依曼体系结构与操作系统,Linux,linux,运维,服务器


冯诺依曼体系结构是如何降低成本的呢?

中央处理器显然是需要高速计算的,所以中央处理器内部就是由各种寄存器构成,所以CPU的价格一般很高。

当然寄存器不仅存在于CPU中,其他设备中也可能存在寄存器。

来看下物理存储金字塔:

【Linux】系统初识之冯诺依曼体系结构与操作系统,Linux,linux,运维,服务器

可以总结为:

  • 靠近CPU的存储单元(寄存器),效率高,造价贵,单体容量小;
  • 远离CPU的存储单元(服务器),效率低,造价低,单体容量大; 

输入设备与输出设备对于数据的处理很慢,如果直接与CPU相连,根据木桶效应,整个计算机的运行速度会被输入输出设备所拖累,那就不让输入输出设备与CPU直接交互,冯诺依曼引入了内存的概念,在CPU与输入输出设备之间设计了一个存储器,即内存。

内存有个特点就是,比输入设备和输出设备要快很多,但是比CPU又要慢。现在内存就处于慢设备和快设备之间,是一个不快也不慢的设备,能够在该体系结构当中就起到一个缓冲的作用。

从此以后,CPU只能对内存进行读写,不能直接访问外设。

外设要输入或输出数据时,也只能写入内存或者从内存中读取。


总结一下现在整个数据流动的过程

用户输入的数据先放到内存当中,CPU读取数据的时候就直接从内存当中读取,CPU处理完数据后又写回内存当中,然后内存再将数据输出到输出设备当中,最后由输出设备进行输出显示。


疑问:数据的流动过程中多了一个内存,不应该更慢了么?

局部性原理:根据统计学原理,当一个数据正在被访问时,那么下一次有很大可能会访问其周围的数据。所以当CPU需要获取某一行数据时,内存可以将该行数据之后的数据一同加载进来,而CPU处理数据和内存加载数据是可以同时进行的,这样下次CPU就可以直接从内存当中获取数据。

输出数据的时候也一样,CPU处理完数据后直接将数据放到内存当中,当输出设备需要时再在内存当中获取即可,这也就有了我们平常所说的缓冲区的概念。

例如,缓冲区满了才将数据打印到屏幕上,使用fflush函数将缓冲区当中的数据直接输出,都是将内存当中的数据直接拿到输出设备当中进行显示输出。


2.操作系统(OS)

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

当我们开机时,计算机第一个加载的软件就是操作系统。

我们可以将操作系统抽象理解为管理者。

那在现实生活中一个好的管理者必须具有如下素质:管理好下属,服务好客户。

映射到操作系统:

  • 对下管理好软硬件资源
  • 对上提供良好(稳定、高效、安全)的运行环境

(1)用户到操作系统再到底层是如何组织的?

首先我们从操作系统层向下研究: 

【Linux】系统初识之冯诺依曼体系结构与操作系统,Linux,linux,运维,服务器

如图,很显然校长不会直接对你进行管理,一般在你和校长之间还有一层甚至几层的次级管理者,比如辅导员。

那映射到计算机也是同样的:

在操作系统与底层硬件之间存在着驱动程序,由驱动程序来控制硬件的一些操作,并且驱动程序一般都是由硬件的生产商提供,这样在硬件的操作方式改变时,我们只需要对驱动程序进行相应的更改,而无需对操作系统进行重新设计。


然后我们向上研究:

在用户与操作系统之间又存在怎样的设计呢?

首先用户一定是好人么,操作系统我们可以抽象为金库,当用户需要取钱时,我们可以让用户自己到金库中取么,当然不能,群众中有坏人怎么办?

所以操作系统为了保护自己,隔绝用户的危险操作,设计出了系统调用接口

但普通用户怎么知道如何使用这些接口呢,因为要使用系统调用前提条件是你得对系统有一定了解。

所以在系统调用接口之上又构建出了一批库,例如libc和libc++,我们可以称之为用户操作接口

实际上在语言级别上使用的各种库,就是封装了系统调用接口的,我们就是通过调用这些库当中的各种函数(例如printf和scanf)进行各种程序的编写。

【Linux】系统初识之冯诺依曼体系结构与操作系统,Linux,linux,运维,服务器


(2)计算机是如何管理软硬件资源的?

首先什么是管理?

校长管理你需要和你见面么?

答案当然是不需要,因为管理的本质不是对人进行管理,而是对信息的管理

描述

那你的信息如何用计算机语言来描述呢?

在C语言中,我们一般使用结构体。

在C++、JAVA这种面向对象的高级语言中,我们使用类和对象。

组织

那当学生数量很多的时候,校长就需要将这些学生用某种数据结构(STL容器)组织起来。

  • 所以管理我们可以总结为:先描述,再组织。 

所有的计算机语言都遵循这一规则。

那计算机是如何管理软硬件资源的呢?

我相信大家肯定已经猜到了,一样的道理,我们可以把软硬件资源也描述为一个结构体或者类和对象,然后利用某种数据结构将他们组织起来,就在计算机层面上实现了对软硬件资源的管理。


=========================================================================

如果你对该系列文章有兴趣的话,欢迎持续关注博主动态,博主会持续输出优质内容

🍎博主很需要大家的支持,你的支持是我创作的不竭动力🍎

🌟~ 点赞收藏+关注 ~🌟

=========================================================================

到了这里,关于【Linux】系统初识之冯诺依曼体系结构与操作系统的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Linux】深入了解冯诺依曼体系结构与操作系统

    目录 导读 🌞专栏导读 🌞冯·诺依曼 🌞冯诺依曼体系结构 🌛木桶效应 🌞操作系统(Operator System) 🌛概念 🌛设计OS的目的 🌛系统调用和库函数概念  六一儿童节快到了,提前祝大家六一儿童节快乐哦!!! 六一儿童节的即将来到,祝愿我家宝🧡,愿你童心未泯,无忧无虑

    2024年02月06日
    浏览(64)
  • 『Linux升级路』冯诺依曼体系结构与操作系统

    🔥 博客主页: 小王又困了 📚 系列专栏: Linux 🌟 人之为学,不日近则日退 ❤️ 感谢大家点赞👍收藏⭐评论✍️ 目录 一、冯诺依曼体系结构 📒1.1为什么要有体系结构 📒1.2硬件介绍 📝1.2.1中央处理器 📝1.2.2输入、输出设备  📝1.2.3存储器  📝1.24.总线概念  📒1.3内存

    2024年02月04日
    浏览(51)
  • 【Linux】冯诺依曼体系结构与操作系统及其进程

    作者简介:დ旧言~,目前大二,现在学习Java,c,c++,Python等 座右铭:松树千年终是朽,槿花一日自为荣。 目标:了解冯诺依曼体系结构与操作系统,掌握Linux的进程 毒鸡汤:一花凋零荒芜不了整个春天,一次挫折也荒废不了整个人生。 望小伙伴们点赞👍收藏✨加关注哟💕

    2024年02月04日
    浏览(43)
  • 【Linux】进程概念(冯诺依曼体系结构、操作系统、进程)-- 详解

    1、概念 (1)什么是冯诺伊曼体系结构? 数学家冯·诺伊曼于 1946 年提出存储程序原理,把程序本身当作数据来对待,程序和该程序处理的数据用同样的方式储存。 冯·诺伊曼理论的要点是:计算机的数制采用二进制逻辑;计算机应该按照程序顺序执行。人们把冯·诺伊曼的

    2024年02月22日
    浏览(52)
  • 【Linux】冯诺依曼体系结构以及操作系统的初步认知

    🏖️作者:@malloc不出对象 ⛺专栏:Linux的学习之路 👦个人简介:一名双非本科院校大二在读的科班编程菜鸟,努力编程只为赶上各位大佬的步伐🙈🙈 本篇文章讲解是冯诺依曼体系结构以及操作系统的初步认知。 我们常见的计算机,如笔记本。我们不常见的计算机,如服

    2024年02月03日
    浏览(84)
  • 【Linux取经路】冯诺依曼结构体系与操作系统的碰撞

    我们现在常见的计算机,如笔记本,以及我们不常见的计算机,如服务器,它们本质都是一堆硬件(如:cpu、内存、网卡、磁盘等)的集合。并不是把这些硬件毫无章法的放在一起就能够组成计算机,各硬件之间首先要具备协同能力,这就要求硬件与硬件之间要组织好#x

    2024年02月14日
    浏览(46)
  • 【Linux】进程概念I --操作系统概念与冯诺依曼体系结构

    Halo,这里是Ppeua。平时主要更新C语言,C++,数据结构算法…感兴趣就关注我吧!你定不会失望。 计算机是由两部分组成的: 硬件+软件 .与硬件相关的为 冯诺依曼体系结构 ,与软件相关的为: 操作系统 . 如今大多数计算机(笔记本,服务器等)大多数都遵守冯诺依曼体系结构.实际中

    2024年02月09日
    浏览(35)
  • 【Linux】冯诺依曼体系结构思想

    🎉博客主页:小智_x0___0x_ 🎉欢迎关注:👍点赞🙌收藏✍️留言 🎉系列专栏:Linux入门到精通 🎉代码仓库:小智的代码仓库 我们常见的计算机,比如笔记本,还有我们不常见的计算机,比如服务器,大部分都遵守冯诺依曼体系。 当我们谈论计算机的体系结构时,冯·诺依

    2024年02月16日
    浏览(44)
  • 『Linux从入门到精通』第 ⑫ 期 - 深入了解冯诺依曼体系结构与操作系统(Operator System)

    🌸作者简介: 花想云 ,在读本科生一枚,C/C++领域新星创作者,新星计划导师,阿里云专家博主,CSDN内容合伙人…致力于 C/C++、Linux 学习。 🌸 专栏简介:本文收录于 Linux从入门到精通 ,本专栏主要内容为本专栏主要内容为Linux的系统性学习,专为小白打造的文章专栏。

    2024年02月10日
    浏览(49)
  • 『Linux从入门到精通』第 ⑫ 期 -深入了解冯诺依曼体系结构与操作系统(Operator System)

    🌸作者简介: 花想云 ,在读本科生一枚,C/C++领域新星创作者,新星计划导师,阿里云专家博主,CSDN内容合伙人…致力于 C/C++、Linux 学习。 🌸 专栏简介:本文收录于 Linux从入门到精通 ,本专栏主要内容为本专栏主要内容为Linux的系统性学习,专为小白打造的文章专栏。

    2023年04月23日
    浏览(84)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包