linux操作系统的管理

163 阅读3分钟

计算机的软硬件体系结构

image.png    1 计算机的软硬件体系结构底层是一系列硬件,例如网卡、硬盘、声卡等,这些底层硬件不是杂乱无章的,要以冯诺伊曼体系结构组织在一起。主板、总线:级联各种组件,按冯诺依曼结构的方式进行组织的。

   2 驱动程序:对硬件进行操作,提供用来操作硬件的接口。例如:os想读写磁盘的某一块区域,想打印数据到显示器里的某个坐标位置,实际都是调用驱动程序接口做的。

   3 操作系统:是进行软硬件资源管理的软件,对上提供良好的执行环境,对下管理好软硬件资源。os有4个核心工作:内存管理、进程管理、文件系统、驱动管理.

   4 系统调用:linux提供的c函数接口

   5 由于linux对外提供功能是以接口的方式提供的,使用成本较高,有些系统接口要传不少复杂的参数才能完成对应的功能,于是有人在os之上写了shell外壳程序和第三方库:

   (1) shell外壳程序:就是图形化界面和命令行。以命令行为例:用户输入指令给shell外壳程序,shell外壳程序作为中间人将指令翻译交给os,再将os的执行结果翻译给用户。

image.png

   (2) 第三方库:对系统调用接口的封装,封装后的接口会比系统调用更简单,例如c库里的printf、scanf。

操作系统怎么做到对软硬件资源做管理?

关于管理

1 所有行为都是在决策或执行,也有可能两者兼备,管理者的任务就是在做决策,让下面人去执行

2 以学校为例:

image.png

   校长要做开除学生的决策 —— 向辅导员拿到学生的成绩数据,发现某名学生挂科太多,让辅导员去通知学生,并从教务管理系统中删除这名学生的信息

3 怎么管理?

   (1) 通过执行者拿到被管理者的核心数据 -> 管理者对被管理者的管理,就是对被管理者核心数据的管理。例如:校长向辅导员拿到学生的成绩数据

   (2) 依据数据,做出对应决策,让执行者去执行。例如:挂科太多,让辅导员去通知学生,并从教务管理系统中删除这名学生的信息

   管理者 —— 操作系统

   辅导员 —— 驱动

   被管理者 —— 硬件

   (3) 如果把数据无序交给管理者,数据量太大太乱,很难管理。还以学校为例子:虽然学生多,但都是学生。将学生的共性数据放到一个结构体中,然后用数组组织起来。

   此时对学生的管理变成对数组的增删查改

struct stu{
//单个学生的所有共性信息
};//用结构体描述
//将对象用数组 组织起来
struct Stu students[10000];

小结

先描述,再组织

   先对被管理对象进行描述[找出共性,构建结构体],再将这些结构体对象,用数据结构组织起来

   例如:os为了管理各种硬件,要有描述硬件的结构体,用该结构体定义对象。再将所有硬件对象,用数据结构组织起来。对硬件的管理,就是对该数据结构的增删查改。