系统调用

系统调用指的是用户进程与内核的交互。Linux上的语义遵循POSIX标准。可分为如下类别:

  1. 进程管理:创建新进程、查询信息与调试
  2. 信号:发送信号,定时器与相关处理机制(嵌入式的中断函数?)
  3. 文件:创建、打开、关闭、读取、写入、查询状态信息
  4. 目录和文件系统:同上。
  5. 保护机制:读取与修改UID/GID,处理命名空间。
  6. 定时器函数:个人理解是一种断函数。

系统设备

Linux中,万物皆是文件。与外围设备的通讯可通过文件,与内核的通讯,亦可通过文件。

外设可分为以下两类:
  1. 字符设备:提供连续的数据流,只能顺序读取,按照字节/字符来读写。
  2. 块设备:可随机访问,可自行读取指定的位置。数据的读写单位是快。

理解就是:一次读写1 byte或者是一次读写一个byte array

网络系统

网络是Linux中唯一不能直接以文件来操作的设备文件。因其数据需要打包到各个协议层。但是Linux采用BSD的套接字抽象,实现了“文件操作”。

文件系统

Linux系统由无数文件组成。存储采样层次文件系统。且支持很多格式的文件系统:ext2、ext3、ext4、XFS、VFAT等等。
特点在于文件的inode,inode包含一个文件的元信息,有时候文件名乱码等情况可以通过获取文件的inode去删除、修改、重命名,
还有就是VFS文件系统,一个位于软件层的文件系统,将底层实现与应用层隔离,VFS向下实现对底层的操作,向上为应用层实现操作接口。

模块与热拔插

主要目的就是为了实现像Windows的设备驱动一样的东西,不同的驱动使用不同的模块,而内核是一样的。

Last modification:June 24, 2022
If you think my article is useful to you, please feel free to appreciate