对概念的重新理解,理解它们是怎么互相辅助工作的
1、操作系统是做管理的,对什么做,怎么做?
【引言】世间万物都处于一种“运行状态”,处于这种状态下,无非做着两种事情:做决策、做执行,做决策就是一种管理,做执行就是一种被管理,那么根据什么做决策和执行呢?
根据数据,我们都是在根据数据做决策和执行,比如一个学校要管理学生,不需要接触这个学生,直接对学生信息数据管理,学生根据管理的结果做执行。
【正文】操作系统的出现就是为了帮我们更好的管理软硬件资源,所以操作系统就是一个管理者,而管理资源的本质就是对数据的管理,数据各种各样,那么怎么管理呢?
先描述,再组织的方案:将每个数据看成一个对象,提取相似对象中的共性,通过编程语言将这些共性描述成一种类型,就是所谓的类或结构体,这就叫先描述;再将类型实例化后的一个个对象放到容器中或者通过某种数据结构关联起来,这就是再组织。最后对数据的管理,就变成了对数据结构的增删查改了!上面的描述不就是语言的的工作,后面的再组织不就是数据结构的工作,最后再管理,怎么样能更好的管理,不就是算法的工作,整体看来这不就是算法与数据结构吗!我们学习算法与数据结构也即是为了更好的管理数据!
比如:每个学生都有姓名、学号、成绩、班级等,我们把每个学生看成一个对象,提取它们的共性(如姓名等),通过c语言将其描述成struct Student这样的结构体对象,其中有属性。最后将每个结构体定义的对象放到数据结构中(如链表等),最后对数据的管理就变成了对数据结构的增删查改。liunx操作系统内核也是采用这样的方案对内核数据管理,当然操作系统内核数据结构实现要比这还复杂的多。
struct Student
{
char name[10];
char id[20];
......
};
2、为什么语言都往面向对象发展
因为语言是为描述数据服务的,描述数据固然是要面向对象,这也是历史发展的必然趋势。