Linux 知识点
总标题:Linux 系统核心概念:从进程管理到程序编译
第一部分:进程管理与操作 (Process Management & Operation)
- 1.1 进程查看与信息 (
ps命令)ps:打印当前进程。ps -f:显示进程详细信息(UID, PID, PPID等)。ps -ef:显示所有正在运行的进程。
- 1.2 进程关系与属性
- PID (进程ID) 与 PPID (父进程ID)。
- UID (用户ID) 与
root管理员。 - 进程号回收机制。
- 1.3 进程控制命令
- 前台执行与
sleep命令。 - 后台执行:
&符号。 - 任务管理:
jobs命令及+/-号含义。
- 前台执行与
- 1.4 进程信号控制
- 终止进程:
Ctrl + C(SIGINT),kill PID,kill -9 PID(SIGKILL)。 - 暂停进程:
Ctrl + Z(SIGTSTP)。 - 前后台切换:
bg %JOBID(后台运行),fg %JOBID(前台运行)。
- 终止进程:
- 1.5 前后台概念解析
- 前台:独占终端。
- 后台:不独占终端,可并发操作。
第二部分:Shell 解释器与终端环境 (Shell Interpreter & Terminal Environment)
- 2.1 Shell 的作用与本质
- 作为用户与内核之间的命令解释器桥梁。
- Bash 作为默认 Shell。
- 2.2 Shell 的所在与命令存储
- 查找 Shell:
which bash。 - 命令存储:
/bin目录的作用。
- 查找 Shell:
- 2.3 终端、Shell 与内核的关系
- 多终端共享一个内核。
- 每个终端对应一个独立的 Shell 进程。
- 2.4 其他 Shell 种类
sh,tcsh,zsh,dash等简介。
第三部分:操作系统内核中的进程管理 (Process Management in OS Kernel)
- 3.1 进程标识符 (PID)
- 数据类型为整型。
- 3.2 进程控制块 (PCB)
- 核心数据结构
struct task_struct。 - 包含进程名、PID、PPID 等信息。
- 核心数据结构
- 3.3 进程的生命周期
- 进程创建、执行、终止。
- PID 的分配与回收。
- 3.4 内核管理进程的数据结构
- 双向链表:内核管理
task_struct的主要方式。 - 单向链表与循环链表简介。
- 双向链表:内核管理
第四部分:GCC 编译原理与程序执行 (GCC Compilation & Program Execution)
- 4.1 编程语言的层次
- 高级语言 (如C):易于人类编写和理解。
- 汇编语言:低级语言,使用助记符,与硬件架构相关。
- 机器语言:二进制指令,计算机直接执行。
- 4.2 GCC 的角色
- 将高级语言编译成机器语言的工具。
- 4.3 分步编译与链接过程
- 预编译:处理宏、头文件等,生成
.i文件。 - 编译:将预处理后的代码编译成汇编代码,生成
.s文件。 - 汇编:将汇编代码汇编成机器指令(目标文件),生成
.o文件。 - 链接:将目标文件和库文件链接成最终的可执行文件(如
main)。
- 预编译:处理宏、头文件等,生成
- 4.4 程序与数据的存储
- 硬盘 (IO设备):永久存储源代码 (
.c) 和可执行文件 (main)。关机后数据不丢失。 - 内存:程序运行时,其指令和临时数据被加载到内存中。关机后数据丢失。
- 硬盘 (IO设备):永久存储源代码 (
总结
这个结构从用户层面的进程操作(第一部分),到系统层面的Shell和内核管理机制(第二、三部分),最后深入到程序本身的生成原理(第四部分),形成了一个由表及里、逐步深入的完整知识体系。

浙公网安备 33010602011771号