一、冯诺依曼体系结构
我们常见的计算机,如笔记本和我们不常见的计算机,如服务器大多都遵循冯诺依曼体系结构。
根据冯诺依曼结构 ,我们可以了解到计算机是由一个个硬件组成,共分为三部分:输入、内存/CPU和输出。
如果一个进程想要运行,就必须由磁盘输入到内存中,再从内存中写到CPU里面,然后再输出到外设中。
但是对冯诺依曼的理解不能仅此停留于硬件层面,还要更加深入到软件的数据流理解上。
二、操作系统底层的实现
操作系统是帮助用户管理软硬件资源的存在,那么在底层它是如何将如此多的资源进行“描述”,再“组织”的呢?
2.1先描述,再组织
在讲解操作系统之前,我们可以先行借用学校的管理方式进行理解。
在学校里,共分为三大人群:校长、老师、学生,但是校长只有一个,他是如何对这么多学生进行管理的呢?
原因就是采用了先描述再组织的方法,首先可以把每个学生的属性和信息描绘成一个个结构体,结构体里面有学生的姓名、年级、班级等信息,然后再利用链式结构或者其他高效的结构方法将这些结构体进行统一的管理起来,进行增删查改的操作,如此一来,就可以将庞大的学生流管理的井井有条了。
在计算机中也是如此,系统软件部分会被描述成一个个结构体,然后通过链表的方式对其进行很好的内存管理、进程管理、文件管理、驱动管理。
而在硬件部分中,也就是在学校中,谁对学生进行直接的管理呢?那自然是非老师莫属了,所以能直接管理硬件的也就是各种驱动程序了。
学校和操作系统的映射关系也就是校长----操作系统、老师----驱动程序、学生----软硬件资源。
2.2用户与计算机的交互
虽然操作系统把软硬件资源管理的井井有条,那么对于用户来说,需要怎样与其进行交互呢?
那就是在操作系统的上层,会给用户提供接口,用户可以通过调用接口对计算机进行间接的操作。
如上图所示,用户、操作系统、软硬件之间的关系就是通过操作系统来进行维护连接的,管理方法也自然是先描述再组织。