您的位置:首页 > 运维架构 > Linux

Linux 内核学习总结

2017-04-21 20:23 281 查看
内容说明

本次的内容,是一次 MOOC 课程《Linux 内核分析》的考试作业。具体的,是对课程学习进行总结,并汇总历次的作业内容。

作业声明

qianyizhou17 + 原创作品转载请注明出处 + 《Linux 内核分析》MOOC 课程 http://mooc.study.163.com/course/USTC-1000029000

学习心得

本次的课程学习真的是一次神奇之旅,从未想到内核的学习竟然要从汇编基础学起——而这竟然是十分必要的!

Linux 内核代码中许多关键代码使用汇编进行编写

Linux 进程堆栈的管理、切换需要通过汇编才能够实现

老师费心提供了完备的实验环境,使得一个对内核、Linux 接触不多的人也能够轻松完成内核、关键代码的跟踪

课程的系统调用部分对我来说十分重要——作为一名 Linux 应用开发人员,平时的根就是系统调用,却从未想过系统调用与 Linux 系统是如何交互的,学过课程之后才有一定的理解。

进程创建的过程通过 fork 调用进行讲述,详细讲述了 Linux 进程的创建过程,以及 fork 的 “奇怪” 返回特性

进程装载以及执行的课程中,对我来说几乎是扫盲!进程竟然是这样加载的?程序加载竟然有这么多说法?

课程作业列表

汇编代码的简单分析

机制分析:基于简易的时间片轮转多道程序的 linux 内核

Linux kernel 的启动跟踪

Linux 系统调用机制(上)

Linux 系统调用机制(下)

Linux 进程创建过程的分析

Linux 装载可执行程序过程的分析

Linux 进程调度、切换的分析

课程收获

通过汇编的方式了解进程的栈空间、进程的切换过程:之前疑惑过,进程切换是如何实现的?C 方式?却又实在想不出来用 C 如何实现。通过课程的学习,才知道原来通过汇编指令以及栈的操作来实现

第一次敢于接触实际的内核:Linux 内核对于我而言实在太过庞大。通过本次课程,实在是一个了解内核、接触内核的契机

明白了进程的由来:进程如何创建、加载?进程在切换时又进行了哪些的操作?通过本次课程,对于脉络性的知识有了了解

课程遗憾

课程的遗憾主要在于自己仅满足于课程上的内容,没有扩展开来去对课程内容进行进一步学习,偏向于形式

自己博客写得很少,排版和编写都遇到了不少的困难,往往是花了时间效果却不好
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  内核