Linux:冯诺伊曼体系结构 | 操作系统 | 显卡 | 主板

文章目录

  • 冯诺依曼
    • 主板、显卡、外设
    • 数据流的流向
  • 操作系统OS
    • 系统调用接口和库函数
  • 参考

全文约 1600 字,阅读时长预计: 5分钟


冯诺依曼

  • 我们所认识的计算机,都是有一个个的硬件组件组成。

  • 冯.诺依曼结构的核心思想(一)确定了:计算机的五个基本组成部分:输入设备、存储器、CPU(运算器控制器)、输出设备

    • 这里的存储器指的是很贵的内存

      输入、输出设备:键盘,显卡、显示器、网卡、磁盘、打印机等。输入输出设备也叫做外围设备。

      核心、核、指的就是CPU
      Linux:冯诺伊曼体系结构 | 操作系统 | 显卡 | 主板_第1张图片

  • 冯诺依曼结构的核心思想(二)规定了硬件层面上的数据流向:

    • 不考虑缓存情况,这里的CPU能且只能对内存进行读写,不能访问外设(输入或输出设备)

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

      一句话,所有设备都只能直接和内存打交道,CPU只和内存打交道(外设的控制信号除外)。

  • 冯诺依曼结构的核心思想(三):程序、数据的最终形态都是二进制编码,程序和数据都是以二进制方式存储在存储器中的,二进制编码也是计算机能够所识别和执行的编码。


主板、显卡、外设

  • 主板:上面一个个都是独立的硬件,通过总线把他们联系在一起,进行数据的运输处理。
  • 显卡:电脑中所有数据都交由CPU进行处理和运算,CPU毕竟是通用处理器,性能并不专偏某一方面;显卡根据CPU处理过的数据和发送的命令来进行对图形数据深加工,通过显示器显示出来。
  • 外设的控制信号:cpu有很多针脚,可以接受数字脉冲,脉冲信号可以对接到外设。
    • 外设是可以直接给CPU发中断的,有各种各样的中断,外设的相关操作转换成电信号,通过中断控制器如8259A,触发CPU的中断,进而让CPU去执行OS相关的中断上下文的代码。

数据流的流向

A通过QQ发送消息给B为例:

  • 通过键盘在聊天框输入:“在吗”,内存上的QQ程序获得以后,给CPU封包加密等,消息再写回内存,qq定期把数据刷新出去给网卡;
    • 为什么你的显示器聊天框上也有,因为这是顺带的事情;也是站在用户使用的观感上…
  • 消息通过网络传输给B,通过B的网卡接受输入,写到内存,QQ获取消息,传给CPU解包解密,再写会内存,定期刷新输出到B的显示器上。
  • 定期的期的时间单位,都是纳秒,毫秒级别的。

操作系统OS

  • 任何计算机系统都包含一个基本的程序集合(软件),称为操作系统(OS)。笼统的理解,操作系统包括:
    • 内核(进程管理,内存管理,文件管理,驱动管理)

      其他程序(例如函数库,shell程序等等)

  • 操作系统设计的目的
    • 向下:与硬件交互,管理所有的软硬件资源

      向上:为用户程序(应用程序)提供一个良好的执行环境

  • OS定位:在整个计算机软硬件架构中,操作系统的定位是:一款纯正的“搞管理”的软件
    Linux:冯诺伊曼体系结构 | 操作系统 | 显卡 | 主板_第2张图片
  • Linux是用C语言写的,通过用struct结构体描述这些硬件的属性信息;用链表或其他高效的数据结构将他们组织起来,有条不紊的高效管理。

  硬件和操作系统,硬件决定软件,软件反作用于硬件。…马哲


系统调用接口和库函数

  • 在开发角度,操作系统对外会表现为一个整体,但是会暴露自己的部分接口,供上层开发使用,这部分由操作系统提供的接口,叫做系统调用。干什么事情,都要经过我的手,我说了算…
  • 系统调用在使用上,功能比较基础,对用户的要求相对也比较高,所以,有心的开发者可以对部分系统调用进行适度封装,从而形成库,有了库,就很有利于更上层用户或者开发者进行二次开发。
  • 用户就是上帝,当一款产品足够便宜,又方便使用,才会被全世界广泛大众所接受…

  • 那在还没有学习进程之前,操作系统是怎么管理进行进程管理的呢?很简单,先把进程描述起来,再把进程组织起来!…

参考

  • 【快问快答】CPU多核到底是指什么 - 埃米博士的文章 - 知乎
  • 三分钟带你了解冯.诺依曼结构 - quan的文章 - 知乎
  • 什么是主板,如何制作主板? - 朗锐智科的文章 - 知乎
  • 显示器与显卡的关系? - 知乎用户ob9JLM的回答 - 知乎
  • CPU如何与外设交互工作
  • 一文讲透计算机的“中断” - 程序员小灰的文章 - 知乎
  • 小林 x 图解计算机基础

你可能感兴趣的:(Linux,linux,开发语言,centos,windows)