深入理解linux系统


linux系统一般有4个主要部分:内核、shell、文件系统和应用程序。内核、shell和文件系统一起形成了基本的操作系统结构,使得用户可以运行程序、管理文件并使用系统。

Linux系统结构

下面对每个部分进行讲解。

1.linux内核

内核时操作系统的核心,负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。

Linux 内核由如下几部分组成:内存管理、进程管理、设备驱动程序、文件系统和网络管理等。如图:

Linux内核结构

1.1系统调用接口

系统调用接口提供从用户空间到内核的函数调用。

1.2内存管理

linux采用虚拟内存的内存管理方式,将内存划分为容易处理的“内存页”。

1.3进程管理

进程是某特定应用程序的一个运行实体。linux通过在时间间隔(时间片)内轮流运行这些进程来实现多任务,被称作进程调度。其主要是控制进程对cpu的访问,linux采用了基于优先级的进程调度算法。

多任务机制需要进程间通信进行辅助,常见的有信号,管道,共享内存,信号量和套接字

系统调用API:①创建新进程:fork,exec,POSIX函数②停止进程:kill,exit③通信和同步:signal,POSIX机制

1.4文件系统

linux系统将独立的文件系统组合成一个层次化的树形结构,将新的文件系统通过挂载操作,挂载到某个目录上。从而让不同的文件系统组合成一个整体。

linux最普遍使用的文件系统时Ext2,但是也支持其他不同类型的文件系统,并且将其组织成一个统一的虚拟文件系统

1.4.1虚拟文件系统VFS

VFS为所有设备提供了统一的接口。其可以分为逻辑文件系统和设备驱动程序。逻辑文件系统指linux支持的文件系统,设备驱动程序指硬件控制器所编写的设备驱动程序模块。

  • VFS上面是open,close,read和write等通用系统调用API
  • VFS下面是文件系统抽象
  • 文件系统下面是缓存区缓存,通过将数据保留一段时间从而优化对物理设备的访问
  • 缓存区之下是设备驱动程序,实现了特定物理设备的接口

文件系统结构

1.5设备驱动程序

设备驱动程序运行在高特权级的处理器环境中,从而可以直接对硬件进行操作。

1.6网络接口

网络接口分为网络协议和网络驱动程序。


文章作者: sdj
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 sdj !
  目录