20169203《Linux内核原理与分析》第三周作业
通过近三周的学习我对Linux有了具体的了解,在这三周的学习中我觉得Linux最大的特点就在于它的模块化设计与其将一切视为文件的设计。
Linux系统按照程序运行空间(或权限)分用户空间和内核空间,内核空间运行linux内核程序代码。Linux内核代码属于单内核(monolithic kernel),其优点是允许效率高,所有的内核代码都集成一体,代码的耦合度高。然而其缺点就是其优点导致,可扩展性和维护性差,比较麻烦。LKM模块机制解决了linux内核的缺陷,其提供了内核可以动态接入和卸载一些程序代码,这类代码称之为模块模块是具有独立功能的程序,它可以被单独编译,但不能独立运行。它在运行时被链接到内核作为内核的一部分在内核空间运行,这与运行在用户空间的进程是不同的。总之,模块是一个为内核(从某种意义上来说,内核也是一个模块)或其他内核模块提供使用功能的代码块。若一个模块程序用于管理某些硬件设备的,如网卡,键盘、摄像头等,这种模块称为设备驱动模块。
对于Linux的文件结构, Windows的文件结构是多个并列的树状结构,最顶部的是不同的磁盘,Linux的文件结构是单个的树状结构.可以用tree进行展示。
这方便了我们对于Linux的整体管理,当需要添加文件系统是只需要将对应的文件系统挂载到文件目录中即可,在这里我有一个问题就是我们电脑上的所有的磁盘分区都必须被挂载上才能使用,那么我们机器上的硬盘分区是如何被挂载的?