冯诺依曼体系结构
冯·诺依曼体系结构,也被称为普林斯顿结构,是一种计算机架构,其核心特点包括将程序指令存储和数据存储合并在一起的存储器结构,程序指令和数据的宽度相同,通常都是16位或32位
我们常见的计算机,笔记本等大部分都遵守冯诺依曼体系
截至目前,我们所认识的计算机都是由一个个硬件组成:
存储器: 指的是内存
输入设备: 键盘,摄像头,话筒,磁盘,网卡…
输出设备: 显示器,音响,磁盘,网卡…
CPU: 运算器,算术运算,逻辑运算
控制器: CPU是可以响应外部事件,协调外部就绪事件,如拷贝数据到内存
为什么在中间要加一个存储器,也就是内存的结构。不直接访问cpu
因为cpu里寄存器之类,拿数据是最快的,到内存,磁盘,光盘,磁带等效率都是递减。如果直接访问cpu,需要存储4gb等较大数据就需要很大的寄存器,成本很贵。用内存作为中间介质,cpu需要数据访问内存,从外部读取数据放到内存,不直接访问cpu,节省了很多成本。
输入input,输出output,通过内存这两个就是IO
强调
存储器指内存
不考虑缓存情况,cpu只对内存进行读写,不能访问外设
外设要输入输出数据,也只能写入内存或从内存中读取
一句话,所有设备都只能直接和内存打交道
对冯诺依曼体系的理解,不能停留在概念上,要深入到软件数据流理解,从登上qq开始和朋友聊天,数据的流动过程,从键盘输入设备到内存,然后输出到网卡发送过去,朋友断网卡收到数据,通过内存到输出设备显示出来
操作系统(Operator System)
概念
任何计算机系统都包含一个基本的程序集合,称为操作系统(OS)。笼统的理解,操作系统包括
- 内核(进程管理,内存管理,文件管理,驱动管理)
- 其他程序(函数库,shell程序等)
OS的目的
与硬件交互,管理所有的软硬件资源
为用户程序提供一个稳定、安全、简单的执行环境
定位
操作系统的定位是一款纯正搞管理的软件
如何理解管理
- 管理的例子
- 描述被管理的对象
- 组织被管理对象
操作系统的管理是对被管理对象的数据的管理,管理和被管理者可以不直接沟通,拿到被管理者的数据支持管理决策,然后执行才是最重要的。就比如学校的校长决策,实现对学生的管理,入学毕业等,只需要修改学生的相关数据,不需要直接和学生沟通。这就形成了先描述,再组织。先描述学生数据的结构,然后组织信息的增删查改,就完成了管理
和下面的银行结构类似
行长就是操作系统,如何管理银行系统,首先是各种硬件设备,有各自的管理者来管理,这就是各种驱动程序直接管理。操作系统需要对内存、驱动、进程、文件等进行管理,不需要直接和软硬件打交道,和它们的对应管理沟通。对外提供了各种接口,也就是系统接口的函数调用,但这些很不方便。操作系统假设对所有人都不信任 ,因为人直接操作困难也很容易出错。所以和银行柜台前面的引导员一样,形成了shell外壳程序和图形化界面,供用户很方便的操作,告诉需求,程序来让操作系统执行,对于程序员,封装了各种库和编程语言。客户在银行存钱,实际上是对数据的修改,最后也是先描述,后组织,对每个客户的数据和仓库数据进行描述,然后组织数据的结构执行,操作系统也一样,对每个硬件和软件的行为归根到底都是对数据的管理
总结
计算机管理硬件
描述:用struct结构体
组织:用链表或其他高效的数据结构
系统调用和库函数
在开发家都,操作系统对外表现为一个整体,会开放自己的一些接口,供上层开发使用,这部分就是系统调用
系统调用功能基础,要求也高,所以适度封装,有了库,有利于进行二次开发
承上启下
进程管理是怎么管理,也是先描述,然后组织