Linux内核实战演练教程

Linux内核实战演练

网盘下载链接:http://pan.baidu.com/s/1fIYf0 密码: 341f

要是网盘失效了,请加我QQ: 3113533060

课程内容:

第1部分 Linux 内核中的基础数据结构

内核模块;

list链表;

rb_tree;

第2部分 Linux内核中的同步方法详解

lock锁;

mutex;

spin_lock;

RCU;

atomic operations原子操作

第3部分 内存管理和进程管理

page allocator;

slab allocator;

fork的实现;

exit的实现;

信号处理

第4部分 中断/异常处理,定时器,IPC的实现

中断/异常的硬件基础;

内核中中断的实现;

wall time;

定时器;

hrtimer;

xtimer;

CFS调度器;

共享内存;

信号量

目录(40课时,35个视频):

课时1:免费试听

课时2:付费学员服务指引

课时3:第一周课程介绍

课时4:Module and What‘s module

课时5:Complie a module

课时6:Write a module

课时7:1-5课时

课时8:Write a module (续)

课时9:Module signing

课时10:上下文:IRQ SoftIRQ

课时11:上下文:抢占

课时12:上下文:原子上下文和可睡眠环境

课时13:内核同步

课时14:第一份作业

课时15:第一周答疑视频

课时16:不可睡眠锁:自旋锁 spinlock 编码示例

课时17:不可睡眠锁:RCU read-copy-update

课时18:可睡眠锁-互斥量 mutex

课时19:可睡眠锁:信号量 semaphore

课时20:可睡眠锁:读写信号量 rwsem

课时21:可睡眠锁:完成变量 completion

课时22:可睡眠锁:SRCU sleepable_read-copy-update

课时23:原子操作

课时24:内存屏障

课时25:文字答疑

课时26:内核中的基本数据结构

课时27:课程中用到的源代码

课时28:第二份作业

课时29:内存管理

课时30:内存管理-续

课时31:第五周答疑

课时32:Linux内核答疑10号

课时33:Linux内核答疑17号

课时34:Page分配器与内存映射

课时35:内存映射 续

课时36:进程管理

课时37:中断/异常处理

课时38:中断子系统

课时39:timekeeping

课时40:itimer

时间: 2024-11-05 07:05:15

Linux内核实战演练教程的相关文章

[内核同步]浅析Linux内核同步机制

转自:http://blog.csdn.net/fzubbsc/article/details/37736683?utm_source=tuicool&utm_medium=referral 很早之前就接触过同步这个概念了,但是一直都很模糊,没有深入地学习了解过,近期有时间了,就花时间研习了一下<linux内核标准教程>和<深入linux设备驱动程序内核机制>这两本书的相关章节.趁刚看完,就把相关的内容总结一下.为了弄清楚什么事同步机制,必须要弄明白以下三个问题: 什么是互

浅析Linux内核同步机制

很早之前就接触过同步这个概念了,但是一直都很模糊,没有深入地学习了解过,近期有时间了,就花时间研习了一下<linux内核标准教程>和<深入linux设备驱动程序内核机制>这两本书的相关章节.趁刚看完,就把相关的内容总结一下.为了弄清楚什么事同步机制,必须要弄明白以下三个问题: 什么是互斥与同步? 为什么需要同步机制? Linux内核提供哪些方法用于实现互斥与同步的机制? 1.什么是互斥与同步?(通俗理解) 互斥与同步机制是计算机系统中,用于控制进程对某些特定资源的访问的机制. 同步

Unix/Linux环境C编程入门教程(12) openSUSECCPP以及Linux内核驱动开发环境搭建

1. openSUSE是一款优秀的linux. 2.选择默认虚拟机 3.选择稍后安装操作系统 4.选择linux  opensuse 5. 选择默认虚拟机名称 6.设置处理器为双核. 7.内存设置为2G 8. 选择网络地址转换 9.设置IO控制器 10. 选择默认磁盘类型 11.创建一个新的虚拟磁盘 12.设置磁盘大小 13.选择路径保存虚拟磁盘 14. 完成虚拟机创建 15.设置虚拟机 16.选择opensuse镜像 17.开启虚拟机 18.虚拟机启动 19.安装opensuse 20.安装程

Unix/Linux环境C编程新手教程(12) openSUSECCPP以及Linux内核驱动开发环境搭建

1. openSUSE是一款优秀的linux. watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaXRjYXN0Y3Bw/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" /> 2.选择默认虚拟机 3.选择稍后安装操作系统 4.选择linux  opensuse 5. 选择默认虚拟机名称 6.设置处理器为双核. watermark/2/text/a

Linux 内核中逻辑地址/虚拟地址/线性地址三者的区别

本博文引自我的知乎回答:Linux 线性地址,逻辑地址和虚拟地址的关系? 为了防止歧义,以下术语都用英文.部分术语不做解释了,不然答案就太长了. 以下讲解都是以代码段为例 在 Intel 平台下,逻辑地址(logical address)是 selector:offset 这种形式,selector 是 CS 寄存器的值,offset 是 EIP 寄存器的值.如果用 selector 去 GDT( 全局描述符表 ) 里拿到 segment base address(段基址) 然后加上 offse

Linux Kernel - Debug Guide (Linux内核调试指南 )

http://blog.csdn.net/blizmax6/article/details/6747601 linux内核调试指南 一些前言 作者前言 知识从哪里来 为什么撰写本文档 为什么需要汇编级调试 ***第一部分:基础知识*** 总纲:内核世界的陷阱 源码阅读的陷阱 代码调试的陷阱 原理理解的陷阱 建立调试环境 发行版的选择和安装 安装交叉编译工具 bin工具集的使用 qemu的使用 initrd.img的原理与制作 x86虚拟调试环境的建立 arm虚拟调试环境的建立 arm开发板调试环

Linux内核分析第五周作业

分析system_call中断处理过程 这次的目标是通过gdb来跟踪上周选择的uname系统调用.因为系统调用是通过中断在内核态实现的,gdb无法调试本机的系统调用.所以必须像之前的内核跟踪那样,用gdb远程连接至qemu虚拟机进行跟踪. 1. 首先修改之前的MenuOS,添加一个myuname函数通过API的方式调用uname系统调用,直接复制了上周的代码,注意要在main函数中把这个函数添加到菜单中 用make命令编译以后,会生成一个test的可执行文件,可以先在本地运行试一试 可以看到命令

LinuxConsole 2.5 发布,采用Linux内核4.1版本

LinuxConsole 2.5 发布,一个轻量级的.独立的分布特征和伴侣的版本LXDE桌面环境.据菜鸟教程QKXue.NET了解该版本采用了Linux内核4.1版本,提供了用于引导对UEFI的支持功能的硬件,包括许多游戏. 更多介绍内容请查看软件主页:LinuxConsole 首页 LinuxConsole是一份GNU/Linux操作系统,用户只需要进行最少的配置就能让它工作.

linux内核学习资料链接

1. 内核学习方法,编译.调试等常见问题1.1 关于编译升级内核到2.6.0的一些问题 作者:ommm        http://linux.chinaunix.net/bbs/thread-281831-1-5.html 1.2 VMWare Workstation 6.0调试Linux Kernel,竟如此方便 作者:albcamus        http://linux.chinaunix.net/bbs/thread-896214-1-5.html 1.3 基于S3C2410的Lin