专栏首页聊聊技术原 《Linux内核分析》小节

原 《Linux内核分析》小节

笔者作为通信工程的学生,在学习这门课之前虽然会用Linux完成一些简单的任务,但却从没有接触过这个操作系统的内在之美。之前学完C语言的时候,就想认识这个神秘的Linux内核了,可是一直在数学建模和各种活动中抽不开身,学习的过程也是不得其法。直到我看到孟宁老师的《Linux内核分析》这门课时,我想我大概可以在二十年后吹牛了:“当年我大二,读Linux内核源码的时候.....”

只是在学习的过程中,没有找到合适的参考书,导致复习有些困难。到了第六、七周早早的把视频看完,周末想写博客的时候却记不起来了。与其参考别人的博文拼凑出一片,我觉得倒不如不写吧。

下面是学习这门MOOC的过程中写的6篇博文:

汇编一个简单的C程序

说到计算机,大家都知道现代计算机都是由冯诺依曼体系结构组成的,也就是储存程序计算机。让我先从它的工作模型说起。

通过一个简单的时间片轮转多道程序内核代码,分析linux操作系统

mykernel是一个基于Linux 3.9.4的内核模拟程序,通过观察软件模拟的操作系统运行过程可以帮助我们理解操作系统的进程工作、调度机制。

跟踪分析Linux系统的启动过程

MenuOS是一个基于Linux 3.18.6内核的微型操作系统,本文使用gdb来观察系统的启动过程,至init进程被启动为止。

Linux下嵌入汇编代码调用API

在Linux系统下,我们不仅可以通过API,还可以直接使用系统调用号来进行系统调用。本文简要介绍了fork函数,进而使用C代码内嵌汇编代码的形式直接进行系统调用,并与直接使用API进行调用的C代码进行对比。

分析system_call的中断处理过程

本文在原有MenuOS的基础上添加了fork和fork-asm命令,再使用gdb跟踪调试,最后分析了Linux系统调用从system_call开始到iret结束之间的整个过程。

浅谈Linux进程调度过程

在操作系统运行过程中,由于CPU bound和I/O bound,进行进程的调度自然是常事。进行进程调度时,操作系统使用某些特定算法(如FIFO、SCBF、轮转法等)在进程队列中选出一个进程作为下一个运行的进程,调用schedule。

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

从来没觉得内核距离自己这么近。老师还曾批评过我说学Linux内核有些“不务正业”,但我觉得在这门MOOC中学习到的是系统底层的“内功心法”,学会了这些,再去学各种上层的知识也更加得心应手了。

陈政/arc001    原创作品转载请注明出处  《Linux内核分析》MOOC课程

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 原 浅谈Linux进程调度过程

    不高不富不帅的陈政_
  • 原 2015 Multi-Universi

    不高不富不帅的陈政_
  • Research on Batch Normalization

    摘要:本文主要针对Batch Normalization技术,探究其对神经网络的作用,总结BN能够加速神经网络训练的原因,并对Internal covariat...

    不高不富不帅的陈政_
  • Linux达人养成3--使用远程工具操作Linux

    今天,我们讲讲用远程工具来管理我们的Linux,以及一些常用的网络命令。如果没还没学过基本的Linux命令以及网络配置,可以看我前两篇文章哦。

    帅地
  • Linux从入门到精通系列之基础篇

    我们一般都听说过Windows,而一提到linux大部分人都很陌生,毕竟台式机、笔记本都是Windows操作系统。首先我们要知道 Linux 这玩意儿跟Wind...

    DevinGeng
  • 嵌入式 Arm Linux 入门必读书籍推荐

    前段时间有个刚开始学习 Arm Linux 的同学问我:对于还处于入门阶段的新手,有什么建议。并让我推荐一些好的书籍。

    HackforFun
  • Linux 操作系统对程序员太太太重要了。

    Linux 操作系统对程序员来说,简直太太太重要了,为什么呢,因为我们开发的程序,绝大部分都会部署到 Linux 服务中,那么排查问题的时候就看你对 Linux...

    纯洁的微笑
  • 「Windows」window 系统也能畅玩Linux系统啦,不用虚拟机,安装配置超简单

    Windows Subsystem for Linux(简称WSL)是一个在Windows 10上能够运行原生Linux二进制可执行文件(ELF格式)的兼容层。...

    老夫编程说
  • 思维导图之《鸟哥的Linux私房菜基础篇-第三版》

    作者:被称为L的男人 原文链接:http://www.jianshu.com/p/ec06e1ace0bd 说明 使用思维导图 Mindjet MindMana...

    java思维导图
  • 01.Linux简介

    01.Linux简介 Linux 简介 ---- Linux内核最初只是由芬兰人李纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而...

    Java帮帮

扫码关注云+社区

领取腾讯云代金券