【Liunx】操作系统

1.概念

任何计算机系统都包含一个基本的程序集合,称为操作系统(OS)。笼统的理解,操作系统包括:
内核(进程管理,内存管理,文件管理,驱动管理)
其他程序(例如函数库,shell程序等等)

总结起来,操作系统是一个进行软硬件资源管理软件

为什么要管理呢?

操作系统通过合理的管理软硬件资源(手段),为用户提高良好的(稳定的,高效的,安全的)执行环境(目的)。

2.如何理解管理

假如你是某某大学的学生属于被管理者,校长是这个大学的管理者。当你在被管理的时候,校长会和你直接见面对你进行管理吗?肯定是不会的,假设中间就只有辅导员。校长肯定吩咐辅导员,然后让辅导员对你进行管理。

管理者的理解管理者不需要和被管理者直接交互,依旧能把被管理者对象管理起来

怎么做到的呢?

今天校长要选择跑的最快的人去外出参加比赛。校长肯定不会和候选人直接见面,那校长是怎么做出决定的呢?校长让各个辅导员把候选人的名单交上去,他在做决定。

对数据做管理!

管理的本质:是对数据做管理!!!

这里所说的管理者就是操作系统,被管理者是硬件,中间的辅导员就是驱动
在这里插入图片描述

假设校长是一名出色的程序员,数据小的时候可以做个exclel表,数据多的时候会怎么办呢?
每个同学姓名,年龄,荣誉,跑步成绩等。。都是公共信息,校长利用自己的特长,根据这些公共信息做一个结构体,然后根据该结构体定义出一个个对象,最后找链表把学生一个个链接起来。把对学生数据的管理,变成了对链接做增删查改等。这也是对管理对象进行建模的过程!

总结:
操作系统(管理者)的思维方式。

1.先描述(把被管理者抽象处理变成一个对应的结构体)
2.在组织(根据该结构体,定义出一个个对象,将其设定成特定的数据结构在管理)

所有的"管理"本质逻辑都是:先描述,在组织

上述所有内容总结就是
管理的本质:对数据做管理
管理的方法:1.先描述 ,2.在组织

这个知识贯穿整个操作系统,务必牢记!!!

操作系统对硬件是这样管理的,对软件呢?
当然也同样如此了。

举一个银行的例子,来说明。
假设一个银行有如下资源和对应管理资源的职位
在这里插入图片描述
行长可不可以管理仓库,桌椅等?
当然是可以的
行长可不可以管理安保,后勤等?
当然也是可以的。

人能管理人,人也能管理硬件
同样软件也能管理软件,软件也能管理硬件。

如何管理?
1.先描述,在组织。

我们知道银行有一个个窗口,窗口都是很厚的玻璃,给需要的人办理业务。

假设银行没有窗口,随意的让别人存钱的时候自己操作电脑,取钱的时候也自己去仓库拿,这能行吗?如果少了钱,当对账的时候,就该出乱子了。

同样由于操作系统可以直接管理硬件,如果操作系统对用户不加限制,用户有可能对底层造成破坏,这种破坏是不可逆的,所以操作系统不会让用户直接接触底层,只提供一个接口,叫做系统调用接口(操作系统接口),因为Liunx是用C语言写的,因此这就是C式接口。

在这里插入图片描述

系统调用接口,不懂操作系统的人,去用太麻烦,根本看不懂

就比如,今天银行王大妈来办理业务,王大妈是一个没多少文化的人,这个时候银行还没有大堂经理等等,王大妈需要先去填单子,但是不知该怎么填单子,最终导致业务没有办理成功。

王大妈第二天换了一家银行,这个银行有大堂经理,在他的帮助下,王大妈一会就办理好了业务。

同样,不懂操作系统的人去直接使用系统调用接口根本看不懂,因此在系统调用接口上面又封装了一层。

在这里插入图片描述
整篇博文下来,最最最重要,并且贯穿整个Liunx学过过程,红字已经标出来。
喜欢的点赞,评论,收藏吧!!!
下篇继续总结。

猜你喜欢

转载自blog.csdn.net/fight_p/article/details/132450382
今日推荐