Linux操作系统分析

随堂模式

  • 什么是随堂模式?

    随堂模式课程一般为每学期一轮次,课程每周更新,作业、考试有截止时间,由课程提供方老师、助教指导,课程完结,成绩由老师确认后,统一发放证书。

  • 什么是自主模式?

    自主模式课程常年开放加入,课件全部开放,作业、考试无截止时间,有学堂在线招募选拔的助教指导,考核通过即可自动获得证书。

国家级精品

来自于: 中国科学技术大学 | 分类: 计算机(503)

课程描述

是不是学完操作系统原理后觉得纸上谈兵不过瘾?是不是面对浩若烟海的Linux内核源代码迷失在代码的海洋里不知所措?这门课可以带您用理论结合实践的方法一步一步抓住Linux内核最核心的部分代码,理解Linux操作系统运行的基本过程及涉及的核心机制。

什么是认证证书?
免费学习
认证学习
名师签名
实名认证
权威性
纸质证书
付费购买
免费赠送

课程简介

是不是学完操作系统原理后觉得纸上谈兵不过瘾?是不是面对浩若烟海的Linux内核源代码迷失在代码的海洋里不知所措?这门课可以带您用理论结合实践的方法一步一步抓住Linux内核最核心的部分代码,理解Linux操作系统运行的基本过程及涉及的核心机制。

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

--------------------------------

等不及啦,我要立即学习 http://mooc.study.163.com/course/USTC-1000072000 ,☜访问这里!

展开

课程章节

第一周:计算机是如何工作的?
1 存储程序计算机工作模型
2 32位X86汇编基础
3 汇编一个简单的C程序
单元测验
实验作业
第二周:操作系统是如何工作的?
1 函数调用堆栈
2 借助Linux内核部分源代码模拟存储程序计算机工作模型及时钟中断
3 构造一个简单的操作系统内核
4 单元测验
实验作业
第三周:构造一个简单的Linux系统MenuOS
1 Linux内核源代码导读
2 构造一个简单的Linux系统
3 跟踪调试Linux内核的启动过程
4 单元测验
实验作业
第四周:扒开系统调用的三层皮(上)
1 使用库函数触发一个系统调用
2 C代码中嵌入汇编代码的写法
3 使用嵌入式汇编代码触发同一个系统调用
第四周单元测试
实验作业
第五周:扒开系统调用的三层皮(下)
给MenuOS增加time和time-asm命令
使用gdb跟踪系统调用内核函数sys_time
系统调用在内核代码中的处理过程
单元测验
实验作业
第六周:进程的描述和进程的创建
1.进程的描述
2.进程的创建
单元测试
实验作业
第七周:可执行程序的装载
1 预处理、编译、链接和目标文件的格式
2 可执行程序、共享库和动态链接
3 可执行程序的装载
单元测试
实验作业
第八周:进程的切换和系统的一般执行过程
1 进程切换的关键代码switch_to分析
2 Linux系统的一般执行过程
3 Linux系统架构和执行过程概览
单元测试
实验作业
期末考试
客观题部分
主观题部分

授课教师

  • 孟宁 中国科学技术大学 软件学院 老师

    一个改行做教书匠的码农 个人主页:http://staff.ustc.edu.cn/~mengning/ 微博:http://weibo.com/mengning997

精华笔记

精华笔记正在评选中,去看看全部笔记

常见问题

目前还没有常见问题哟!