Linux基础—系统结构介绍(一)

一、系统结构由内核、shell、文件系统、应用程序一起组合而成的文件操作系统,它们使得用户可以运行程序、管理文件、资源调度、计算。

Linux基础—系统结构介绍(一)_第1张图片

1、Linux 内核由如下几部分组成:SCI 层系统调用接口、虚拟文件系统、内存管理、进程管理、设备驱动程序、文件系统和网络管理等

2、Linux shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行,是一个命令解释器。

3、Linux 系统能够支持的文件系统非常多,除 Linux 默认文件系统 Ext2、Ext3 和 Ext4 之外,还能支持 fat16、fat32、NTFS。Filesystem Hierarchy Standard(文件系统目录标准)采用树形结构组织文件,定义了系统中每个区域的用途、最小构成的文件和目录。

Linux基础—系统结构介绍(一)_第2张图片

二、Linux 系统空间逻辑结构划分为两个空间:一部分为核心软件,即是kernel,也称作内核空间,另一部分为普通应用程序,这部分称为用户空间。

1、区分用户空间和内核空间的目的是为确保系统安全。CPU将指令分为特权指令和非特权指令,对于那些危险的指令,只允许操作系统及其相关模块使用,普通的应用程序只能使用那些不会造成灾难的指令。以Intel的CPU为例,CPU将特权级别分为4个级别:RING0,RING1,RING2,RING3, 内核空间级别为“RING0”, 用户空间级别为RING3。

2、处理器总处于以下状态中的一种:

  •       内核态,运行于进程上下文,内核代表进程运行于内核空间;
  •       内核态,运行于中断上下文,内核代表硬件运行于内核空间;
  •       用户态,运行于用户空间。

3、从用户空间到内核空间有两种触发手段:

  • 系统调用:

       用户空间的应用程序,通过系统调用,进入内核空间。这个时候用户空间的进程要传递很多变量、参数的值给内核,内核态运行的时候也要保存用户进程的一些寄存器值、变量等。所谓的“进程上下文”,可以看作是用户进程传递给内核的这些参数以及内核要保存的那一整套的变量和寄存器值和当时的环境等。

  • 中断:  

       硬件通过触发信号,导致内核调用中断处理程序,进入内核空间。例如网卡发送一个数据包或硬盘驱动器提供一次 IO 请求等。这个过程中,硬件的一些变量和参数也要传递给内核,内核通过这些参数进行中断处理。所谓的“中断上下文”,其实也可以看作就是硬件传递过来的这些参数和内核需要保存的一些其他环境(主要是当前被打断执行的进程环境)。

下一篇:Linux 基础—shell 常用命令(二)

参考:

Linux系统结构详解_hguisu的博客-CSDN博客_linux系统

你可能感兴趣的:(Linux,基础知识,linux)