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 目录的作用。
  • 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 分步编译与链接过程
    1. 预编译:处理宏、头文件等,生成 .i 文件。
    2. 编译:将预处理后的代码编译成汇编代码,生成 .s 文件。
    3. 汇编:将汇编代码汇编成机器指令(目标文件),生成 .o 文件。
    4. 链接:将目标文件和库文件链接成最终的可执行文件(如 main)。
  • 4.4 程序与数据的存储
    • 硬盘 (IO设备):永久存储源代码 (.c) 和可执行文件 (main)。关机后数据不丢失。
    • 内存:程序运行时,其指令和临时数据被加载到内存中。关机后数据丢失。

总结

这个结构从用户层面的进程操作(第一部分),到系统层面的Shell和内核管理机制(第二、三部分),最后深入到程序本身的生成原理(第四部分),形成了一个由表及里、逐步深入的完整知识体系。

posted @ 2025-08-22 16:26  四毛mao  阅读(8)  评论(0)    收藏  举报