Linux系统结构
Linux四个主要部分
-
内核
- Linux操作系统的核心部分,它管理计算机硬件的资源,包括CPU、内存、磁盘、网络等。它是操作系统与硬件之间的接口,提供了一个操作系统所需的各种基本服务和功能,如进程管理、文件系统、内存管理、网络协议栈等。
-
shell
- Shell是用户与Linux内核之间的接口,是一个命令解释器,提供了一种命令行界面供用户进行交互。在Shell中,用户可以输入命令和参数,执行脚本和程序,管理文件和目录等
-
文件系统
- 文件系统是Linux操作系统中用于管理文件和目录的机制,是用户与操作系统之间进行文件交互的接口。Linux支持多种文件系统,如ext4、NTFS、FAT32等。它们管理着磁盘上的文件和目录,并提供文件读写、权限控制等基本功能
-
应用程序
- 应用程序是运行在Linux操作系统上的各种软件,如文本编辑器、浏览器、视频播放器、编译器等。Linux操作系统拥有众多的应用程序,涵盖了各种领域,可以满足不同用户的需求
Linux 的体系结构
Linux 的体系结构是一个多层次的体系结构,包括硬件层、内核层、应用程序层和用户层。 硬件层包括计算机硬件设备,如 CPU、内存、磁盘、网络等。 内核层是 Linux 的核心,负责管理硬件和提供系统服务。它包括系统调用、设备驱动程序、网络协议栈、虚拟文件系统等应用。 程序层是构建在内核之上的各种应用程序,如图形用户界面、Web 服务器、数据库、邮件服务器等。 用户层是用户与系统交互的界面,包括 shell、图形用户界面、命令行工具等。用户可以通过这些界面来与系统交互、操作文件和程序。
Linux系统结构 --进程管理
在Linux中,进程是指正在执行的程序实例。每个进程都拥有自己独立的虚拟地址空间、寄存器集合和打开文件的描述符等资源。进程是Linux中最为重要的概念之一。
进程的特点
-
进程是正在执行的一个程序或命令
- 进程是操作系统中正在执行的一个程序或命令的实例。每个进程都有一个唯一的进程标识符(PID)和一组相关的系统资源,例如内存、打开的文件和输入/输出设备
-
进程有自己的地址空间,占用一定的系统资源
- 独立性:每个进程都是独立的实体,拥有自己的虚拟地址空间,因此一个进程无法访问另一个进程的内存空间,从而保证了进程的独立性和安全性
-
一个CPU核同一时间只能运行一个进程
- 在单核 CPU 上,同时只能运行一个进程。因为 CPU 在同一时间只能执行一条指令,而每个进程都有自己的一组指令需要被执行,因此同一时间只能有一个进程在执行。当有多个进程需要执行时,操作系统会使用时间片轮转算法,轮流为每个进程分配 CPU 时间,以达到看起来多个进程同时运行的效果。但实际上,每个进程都只在短暂的时间内运行了一小段代码。在多核 CPU 上,可以同时运行多个进程,每个进程都可以被分配到一个 CPU 核心上运行。
-
进程由它的进程ID(PID)和它父进程的进程D(PPID)唯一识别
-
程的唯一识别是通过进程ID(PID)来实现的,PID是一个唯一的数字标识符,用于区分正在运行的不同进程。在Linux中,每个进程都有一个唯一的PID,而且PID不会重复,因此可以通过PID来确定进程的身份
-
与进程ID相关的另一个重要的属性是父进程ID(PPID),它是创建该进程的父进程的进程ID。在Linux中,每个进程都是由另一个进程创建的,所以每个进程都有一个PPID。通过PPID,我们可以建立进程之间的父子关系,形成进程树的结构
-
除了PID和PPID之外,每个进程还有许多其他属性,例如进程的状态、优先级、打开的文件和共享内存等信息。这些属性可以通过/proc文件系统中的相应文件来查看
-