冯诺依曼体系
输入设备:键盘,鼠标
存储器:内存,特点是掉电易失,与之相对的称为外设
中央处理器:即CPU,包括运算器,控制器及其他
输出设备:显示器
众所周知,文件是存储在磁盘上的,也就是存储在外设上。当执行一个文件时,电脑是怎么知道应该要执行哪个文件,并且是怎么执行的呢???
从上面的图中可以观察到,只有存储器与CPU是双向的。CPU又称为电脑的核心,所有的文件指令都是由CPU处理并执行的。所以得出的结论便是:文件必须是先加载到存储器中,再由存储器加载到CPU中,经过CPU处理后,通过输出设备展示给操作者。这里呢,只是解释文件加载到存储器之后是如何被执行的,并没有解释文件是如何加载到存储器中的。背后的一切其实是由操作系统来做的
操作系统先将待执行的文件加载到存储器中,存储器也就是缓冲区,许多待执行的文件都会被提前加载到缓冲区,当操作者通过输入设备输入指令时,操作系统通过分析指令将待执行的文件从缓冲区加载到CPU中,这里可能会有疑问,为什么CPU不能自己从缓冲区中将文件加载到CPU中呢???
CPU本身很笨,只能被动地接受指令,数据,既然能接受指令,那么CPU一定是认识这些指令,因为其有自己的指令集。也就可以很好地解释编译的本质,代码通过编译生成二进制的可执行程序,当可执行程序加载到CPU中时,CPU通过自己的指令集对可执行程序进行翻译并执行。
总结
- CPU只与内存打交道
- 当外设有数据或文件加载时,只能加载到内存中;当内存有数据输出时也只能输出到外设中
操作系统
概念
一个进行管理软件和硬件的软件,通过合理地管理软硬件资源,为用户提供良好的执行环境
理解管理
管理一定是双方的,一方是管理者;另一方是被管理者
管理者是做决策的一方;被管理者是执行一方
举个栗子:在大学中,校长是管理者,学生是被管理者。但是呢?基本上从没见过校长,但是学生仍然是管理者,因为在校长与学生之间存在辅导员,所以校长根本不需要直接接触学生,也可以对学生进行管理
也就是说管理者不需要和被管理者直接交互,也能够对被管理者进行管理
既然校长可以通过辅导员对学生进行管理,但是又是通过什么方式进行管理的呢???
在学生入学时,个人信息都会被统计,学期结束之后,成绩也会被统计;这些数据被统计之后,被辅导员向上传递给校长。校长只需要通过观察这些数据,当学生挂科严重乱纪时,校长便可通知辅导员对学生做思想工作。
所以管理的本质是对数据进行管理
既然管理的本质是对数据进行管理,哪有是如何进行管理的呢???
虽然每位学生的信息种类都有很多,但是都是相同的。在以往的学习中,结构体可以很好地解决这个问题。创建一个学生信息的结构体描述学生,根据学生的不同再依次创建不同的对象
学生的信息统计完毕之后,又该思考如何管理。如此之多的对象,应该通过什么连接在一起方便管理呢???
容器是用来存储相同类型的数据,这里采用链表将每个对象连接在一起进行管理,所以在描述学生信息的结构体中需要再加上指针
学生管理如下
所以,对学生数据进行管理就变成对链表进行管理
这个栗子中,校长就是操作系统;辅导员是驱动;学生是硬件
通过上面的栗子,可以得出一个结论:所谓的管理,是先描述,再组织,对数据进行管理
管理的思想是已经得到,那么如何应用到计算机中呢???
应用
再举个栗子,如果张三去银行存钱,他可不可以直接将钱放在金库里面呢?肯定是不行的,因为银行是不相信任何人的,所以需要将自己保护起来。
银行存在的意义是为人民服务,满足客户的需求,既然银行不让张三自己将钱放在金库中,那又是如何实现的呢?
在现实中,进入银行之后,会看到有几个窗口,张三可以根据自己的需求到相应的窗口完成自己的需求,但是银行又是怎么去完成张三的需求呢?
先介绍银行的系统,银行的核心是行长,行长通过管理各个部门经理,部门管理又各自管理其下属:银行柜员,安保,后勤,其他人…;银行中有许多设备,用来存储钱的金库,电脑设备,其他资源
为了完成张三的需求,银行提供窗口方便其述说需求,安保确保安全。后勤保持整个银行的卫生,窗口后面柜员执行其需求,满足需求。
银行既要保护自己也要对外提供服务
图示如下
将整个思想放在电脑中也是如此
总结
操作系统对下管理软硬件资源,对上为客户提供良好的服务
管理本质:对数据进行管理
管理方式:先描述,再组织