首页 课程主页
课程分享  
Linux系统内核分析与设计
主讲教师 刘恒/安徽工业大学
学习人数 556
开课周期 2021年07月20日 ~ 2021年11月30日
教学进度
预报名
进行中
已结课
课程期次 共 20 周
  • 课程详情
  • 教辅教材
  • 课程评价
  • 常见问题

欢迎大家学习《Linux系统内核分析与设计》这门课程!

课程概述
本课程从理解计算机硬件的核心工作机制(存储程序计算机和函数调用堆栈)和用户态程序如何通过系统调用陷入内核(中断异常)入手,通过上下两个方向双向夹击的策略,并利用实际可运行程序的反汇编代码从实践的角度理解操作系统内核,然后开始分析Linux内核源代码,从系统调用陷入内核,进程调度与进程切换,最后返回到用户态进程,通过仔细分析梳理这一过程,并推广到硬件中断、缺页异常等内核执行路径,最终能从本质上把握Linux内核的实质,乃至在头脑中演绎Linux系统的运行过程。


课程大纲
  • 绪论
    • 绪论
  • 第一章
    • 第一节 存储程序计算机工作模型
    • 第二节 X86-32汇编基础
    • 第三节 C语言程序汇编及指令分析
    • 第四节 实验示例
  • 第二章
    • 第一节(一)函数调用栈帧、函数内部变量及入口参数存储
    • 第一节(二)函数调用栈帧、函数内部变量及入口参数存储
    • 第二节 内联(内嵌)汇编语法及案例
    • 第三节 Linux下进程与进程地址空间
    • 第四节 进程调度和内核代码模拟
    • 第五节 进程切换总结
  • 第三章
    • 第一节 Linux系统组成和源码介绍
    • 第二节 构造一个简单Linux系统
    • 第三节 跟踪调试Linux内核启动过程
  • 第四章
    • 第一节 用户态、内核态和中断处理
    • 第二节 系统调用概述
    • 第三节 库函数API和内嵌汇编触发同一个系统调用
  • 第五章
    • 第一节 给MenuOS增加命令
    • 第二节 gdb跟踪系统调用内核函数
    • 第三节 实验及疑点点评
    • 第四节 系统调用在内核代码中的处理过程
  • 第六章
    • 第一节(一) 进程的描述
    • 第一节(二) 进程的描述
    • 第二节 与进程创建相关的数据结构
    • 第三节(一) 进程创建的过程分析
    • 第三节(二) 进程创建的过程分析
  • 第七章
    • 第一节(一) ELF文件格式
    • 第一节(二) ELF文件格式
    • 第二节(一) 程序的编译与链接
    • 第二节(二) 程序的编译与链接
    • 第三节 程序的装载
  • 第八章
    • 第一节 进程调度时机
    • 第二节 进程调度策略与算法
    • 第三节(一) 进程上下文切换
    • 第三节(二) 进程上下文切换
    • 第四节 Linux系统运行的一般过程
  • 2021-2022学期《Linux操作系统内核分析》试卷
授课目标

目标1:通过阅读和调试相关内核代码片段,理解Linux内核启动过程和基本工作原理。掌握Linux系统调用的三层机制。掌握Linux的进程管理和调度的基本方法。

目标2:能够针对具体问题,确定所需用到的Linux内核编程技术,设计相关算法及功能模块,并通过修改和完善相关代码,确定方案的合理性和有效性。

目标3:能够基于Linux的实验平台,针对复杂应用场景,设计并实现模拟一定功能的内核系统程序。

目标4:能够在现有的Linux环境下,增加一些系统功能,为应用系统升级优化做准备。

目标5:  能够对Linux内核特别是进程调度的各种算法分析对比,从系统效率和系统代价方面给出综合结论,确定最优。

预备知识
配套教材
参考教材
0.0

0 条评价

本次开课 查看全部
5.0

1 条评价

本次开课 查看全部
授课教师
安徽工业大学
2024 e会学 皖ICP备05002528号-14 皖公网安备 34010402700145号 Copyright 安徽省网络课程学习中心版权所有