目录
1.冯诺依曼体系结构
2.操作系统
2.1什么是操作系统
2.2为什么需要操作系统
2.3怎么实现操作系统
1.冯诺依曼体系结构
对于上图:
输入设备完成的是写入工作,输出设备完成输出工作,这两部分包含磁盘这类的外存。
存储器一般指的是内存,存储进程的数据和代码。
中央处理器即为cpu、寄存器、各级别缓存的集合。
生活中冯诺依曼体系的体现:
另外:
CPU不与外设打交道,CPU通过外设与内存的数据交互,进而直接与内存交互,间接和外设交互。这里体现了:内存是硬件级别的缓存,存放外设的数据,然后导进CPU中进行运算完成工作。
我们知道“程序在运行之前,必须先加载到内存中”,这里很容易解释一个程序的本质就是“代码”+“数据”,最终都需要CPU来处理,那么就需要将程序加载到内存中,才可以通过CPU进行运算。假设生成一个exe文件,只能存储在磁盘(外设)中保存,后续运行时也需要从外设加载到内存中经过CPU调度才能正常运行。
这里我们也可以总结出来,外设是长期存放文件、数据的地点,内存是临时存放便于CPU调度的地点。
讲到这里还是会有点抽象。接下来我们用一个例子讲解一下,冯诺依曼体系下数据是如何传输的。
当我们登录上微信跟同学进行聊天,这时数据是如何流通的?
显然数据的传输也是通过 “”输入设备->内存->CPU->内存->输出设备 --> 另一端冯诺依曼体系”来实现的。
如果是,需要转一个文件给同学呢?这时与上一个场景大概一致,不过多了需要从输入设备磁盘上拷贝文件到网卡传给另一端,接着在通过网卡接收,内存加载,CPU运算,最终下载到本地的磁盘。这时候输入、输出设备有磁盘的参与。
2.操作系统
2.1什么是操作系统
操作系统是一款“进行软硬件资源管理”的软件。即链接用户与计算机底层的桥梁
2.2为什么需要操作系统
设计OS的目的:
1.与硬件交互,管理所有的软硬件资源
2.为用户程序(应用程序)提供一个良好、稳定、高效、安全、便于使用的执行环境
我们先来学习一下冯诺依曼体系下为什么需要操作系统!这里从操作系统 链接 底层硬件这三层来分析。
因为人类描述事物是通过“属性”,描述一个事物就需要该事物的属性,为了更好的管理,就需要引入数据结构来实现。
2.3怎么实现操作系统
在2.2中我们可以大概猜到,操作系统内部一定存在大量的数据对象和数据结构。
我们之前在数据结构的学习时理解了数据结构本质上就是容器,是数据的容器。那么实现操作系统就是定义某个个体的字段,需要被管理的数据然后再把一个个个体连接然后形成集合。在不断分层,就形成了操作系统。
也就是:先描述再组织
另外我们在实际使用操作系统时,会发现我们只是调用了某一个操作,用了某一个接口,跨过了中间的过程,所以操作系统也是一个高度封装的软件。也需要防止 用户操作影响系统