绪论?:
“心灵纯洁的人,生活充满甜蜜和喜悦。——列夫·托尔斯泰”,本章的主要内容是介绍了硬件的组成结构冯诺依曼体系结构以及操作系统的概念和操作系统的作用,本章的内容主要是理论他起到承上启下的作用只有理解了操作系统的运行逻辑,我们才能更好的去了解一些软硬件的运行逻辑!下一章是初步了解进程,大多数人可能都听过但可能并不深刻,敬请期待(早关注不迷路!)。
话不多说安全带系好,发车啦(建议电脑观看)。
冯诺依曼体系结构是当今计算机组成的基本框架结构,是由输入设备、输出设备、存储器、运算器、控制器(一般把运算器和控制器看成CPU)五个部分组成。
下面是冯诺依曼体系结构的知识大概总结:
- 存储器指的并不是磁盘(硬盘),而是内存。
- CPU一般是不和外设(输入输出设备)直接交互的,而是CPU优先通过内存直接打交道的。
- 这是因为CPU本身的运算是很快的,这样就会要求磁盘的读取速度,但是因为CPU的速度要远远快于磁盘,所以这样就会导致计算机速率的降低,对此为了优化这种情况我们会在CPU和输入输出设备之间会加上内存(其中包含许多寄存器和高速缓存所以速度会快于磁盘的)
- 那为什么不全用内存的,在速度的情况下肯定价格就会比较的高,因为为了计算机能够给老百姓也能使用,所以存储是分级的,这样就能把价格平均下去,大部分用磁盘(固态ssd),小部分用内存(将要用的磁盘内容先逐步加载进内存中缓存起再交给CPU处理).存储的分级结构:(网上找的图若侵权联系立删)
在上图中:越往上面(越接近CPU)的存储介质越贵且速度越快(相较于同样大小的硬盘),反之越向下的则是越便宜且更慢。- 硬盘就是外设,它属于永久存储介质。内存则是掉电易失性存储单元(当机器电源关闭时,存于其中的数据就会丢失)。
- 其实各种外设其实都是有一定的存储能力的(只不过比较小)
- 通过上面的总结不难看出:内存可以和外设以及CPU交互信息(所以整机的效率是由内存决定)
- 我们的程序 = 代码 + 数据,最终通过内存传递给CPU来运行,所以注定了进程(程序)在运行之前必须得先加载到内存,然后才能交给CPU处理。当CPU要读取这些代码和数据时,因为CPU只和内存层面进行交互,而我们编译形成的.exe(可执行程序)本质就是个文件所以就会保存的磁盘(外设)中,由于体系结构决定,那么要若要运行的话就需要从磁盘中加载进内存,在经过内存到CPU处理运行最后返回到输出设备。
- 那么总结来说:当我们进行信息的传递的过程本质上就还是肯定要通过冯诺依曼体系结构的输入设备、输出设备、存储器、中央处理器,如下在网络通信大概能概括成如下图(硬件逻辑):
操作系统是一款软硬件资源管理的软件,它是在开机时第一个加载的软件。
操作系统的作用是他将上层的软件和下层的硬件进行管理,为用户提供良好的(稳定、高效、安全)的使用环境。
计算机软硬件框架:
操作系统管理的本质就是管理数据!,所以操作系统管理的就是底层硬件所有的数据。
在底层的硬件其实都是一个个对象(所以说硬件都是被先描述再组织的),其内部封装了许多硬件的信息和方法,我们通过操作系统就能通过管理这些对象结构来管理这些硬件(其底层使用链表链接起来的那么管理硬件也就相当于对链表进行操作)。
具体如:管理硬盘的文件系统的数据时,操作系统是通过驱动程序来帮他到其硬盘内部的找到某个数据,而在操作系统中是将这些使用驱动程序的过程写成了一个个函数调用,当我们要去管理某个硬件就去调用驱动程序(函数)就能得到其对应的数据。一般来说所有的硬件对象其内部都会有一个next指针来链接起来所有硬件(就类似于一个链表,为了方便找到要使用的硬件),这样操作系统就相当于可以通过链表来管理结构来管理所有硬件。总结来说管理一个硬件就是首先硬件是一个结构体对象,然后再用链表将这些对象链接起来进行管理。
操作系统所要管理的核心是进程管理、内存管理(磁盘)、文件/IO管理(文件)、驱动管理,而这些硬件的管理底层同样的还是先描述再组织
虽然操作系统已经将底层管理好了,但是用户是并不能直接的使用操作系统来访问底层硬件,而是要通过系统调用来间接的使用它(这里的主要原因是避免自身信息被不法分子容易的调用计算机信息),而这些系统调用接口就相当于一个个函数,若要用户想获取操作系统内的信息(或访问硬件)就只能通过这些接口。(可以理解为银行以及银行的窗口),总结来说就是必须从上往下逐一的进行(上图!)
操作系统的示意图:
本章完。预知后事如何,暂听下回分解。
如果有任何问题欢迎讨论哈!
如果觉得这篇文章对你有所帮助的话点点赞吧!
持续更新大量Linux细致内容,早关注不迷路。
?