Linux内核
Linux最重要的就是内核,什么是内核?内核就像是一个大脑:
1.系统内存管理
2.应用程序管理
3.硬件设备管理
4.文件系统管理
Linux系统
Linux系统主要分为两块结构:
用户态:主要用于用户的应用程序,C库等
内核态:内核包括系统调用接口,内核,平台架构相关代码
用户态也是为了保护内核的安全,防止内核被随意修改
Linux进程间通信方式
1、管道(pipe)、流管道(s_pipe)、有名管道(FIFO)。
2、信号(signal) 。
3、消息队列。
4、共享内存。
5、信号量。
6、套接字(socket) 。
GLI与CUI
命令行界面(CLI)
图形用户界面(GUI)
简单 Linux 文件系统
- 普通文件
- 目录文件
- 链接文件
- 设备文件
- 命名管道
什么是 inode ?
文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector)。每个扇区储存512字节(相当于0.5KB)。
操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块"(block)。这种由多个扇区组成的"块",是文件存取的最小单位。"块"的大小,最常见的是4KB,即连续八个 sector组成一个 block。
文件数据都储存在"块"中,那么很显然,我们还必须找到一个地方储存文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。这种储存文件元信息的区域就叫做inode,中文译名为"索引节点"。
每一个文件都有对应的inode,里面包含了与该文件有关的一些信息。
硬链接与软链接
1.硬链接
由于 Linux 下的文件是通过索引节点(inode)来识别文件,硬链接可以认为是一个指针,指向文件索引节点的指针,系统并不为它重新分配 inode 。每添加一个一个硬链接,文件的链接数就加 1 。
2.软链接
软链接克服了硬链接的不足,没有任何文件系统的限制,任何用户可以创建指向目录的符号链接。因而现在更为广泛使用,它具有更大的灵活性,甚至可以跨越不同机器、不同网络对文件进行链接。