全文约 1600 字,阅读时长预计: 5分钟
冯诺依曼
我们所认识的计算机,都是有一个个的硬件组件组成。
冯.诺依曼结构的核心思想(一)确定了:计算机的五个基本组成部分:输入设备、存储器、CPU(运算器控制器)、输出设备
这里的存储器指的是很贵的内存
输入、输出设备:键盘,显卡、显示器、网卡、磁盘、打印机等。输入输出设备也叫做外围设备。
核心、核、指的就是CPU
冯诺依曼结构的核心思想(二)规定了硬件层面上的数据流向:
不考虑缓存情况,这里的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是用C语言写的,通过用struct结构体描述这些硬件的属性信息;用链表或其他高效的数据结构将他们组织起来,有条不紊的高效管理。
硬件和操作系统,硬件决定软件,软件反作用于硬件。…马哲
系统调用接口和库函数
- 在开发角度,操作系统对外会表现为一个整体,但是会暴露自己的部分接口,供上层开发使用,这部分由操作系统提供的接口,叫做系统调用。干什么事情,都要经过我的手,我说了算…
- 系统调用在使用上,功能比较基础,对用户的要求相对也比较高,所以,有心的开发者可以对部分系统调用进行适度封装,从而形成库,有了库,就很有利于更上层用户或者开发者进行二次开发。
- 用户就是上帝,当一款产品足够便宜,又方便使用,才会被全世界广泛大众所接受…
- 那在还没有学习进程之前,操作系统是怎么管理进行进程管理的呢?很简单,先把进程描述起来,再把进程组织起来!…