
Linux内核分析课程学习
文章平均质量分 82
1
__pop_
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Linux内核分析-2/时间片轮转多道程序
《Linux内核分析》MOOC课程 课程采用了mykernel的代码进行讲解 git地址 : https://github.com/mengning/mykernel.git 下面就是对mykernel代码的分析 大体上是在 start_kernel 中调用了 time_init,然后调用了my_start_kernel 而在time_init中将my_timer_handler 作为处理时钟中断的原创 2017-07-22 13:36:10 · 317 阅读 · 0 评论 -
Linux内核分析-3/Linux系统的启动分析
占坑原创 2017-07-24 14:54:03 · 238 阅读 · 0 评论 -
Linux内核分析-4/5/系统调用
《Linux内核分析》MOOC课程Linux内核分析-4/系统调用Linux内核分析-5/系统调用文章详解1/解释了系统调用所在的层次2/系统调用接口的过程(无代码)3/系统调用的不常用的两种调用方式4/linux-0.11的调用路径5/glibc-2.25和linux-3.10中的调用路径系统调用所在层次 上层系统调用 1/由于安全的问题,出现了系统调用,系统调用是内核提供的 唯一的 上层访问内核原创 2017-07-24 15:49:03 · 723 阅读 · 0 评论 -
Linux内核分析-6/进程fork
进程fork 前一段我们看了系统调用,那么fork不出意外,也是个系统调用,在x86下面也是int 80,那么既然这样子的话,我们分析一下fork下的sys_fork linux0.11中的fork//上层 //init/main.c static inline _syscall0(int,fork) //inlcude/unistd.h #define _syscall0(type,name) \原创 2017-07-25 16:52:41 · 354 阅读 · 0 评论 -
Linux内核分析-7/程序的装载(基于fork)
程序的装载(基于fork) 上篇博客说了fork的东西 下面我们要使用 fork 联合 exec 族函数来做一次程序的装载 我们知道fork就是复制了一个进程块(设置了ebp esp eip),并且加入了进程调度中. 然后exec函数改掉了进程块(修改了ebp esp eip). //假如一个函数中 fork 了,并 exec 了一个程序. fork我们已经知道,exec 也是一种系统调用. //另原创 2017-07-26 11:31:27 · 313 阅读 · 0 评论 -
Linux内核分析-8/进程的调度
进程的调度 之前我们在mykernel中体验了一次进程的调度,调度分为两个过程 1/保存当前进程 2/装载之前进程 和之前的fork exec 有什么区别呢? fork 和exec 只是创造和修改了一个task_struct 结构体,exec后的进程是要调度模块调度才能运行的. 而进程的调度就是保存一个结构体,并装载一个结构体.linux-0.11中的调度//init/main.c init //k原创 2017-07-26 17:12:22 · 400 阅读 · 0 评论 -
Linux内核分析-9/进程的调度时机
Linux内核分析-9/进程的调度时机 上篇博客已经讲了调度的路径 明白了 1/调度都是在内核中间进行的,调用调度函数的函数A都是在内核态 2/调用调度函数的函数A都是由两个路径 1/用户态陷入内核态,调用 调度 (时机根据内核版本不同而不同,但都是在内核态调用) 2/因为中断,进入中断处理函数,调用 调度 (中断处理函数在内核态中) linux-0.11中的调度时机 lin...原创 2017-07-27 16:01:56 · 1047 阅读 · 0 评论 -
Linux内核分析-1/反汇编(堆栈)
《Linux内核分析》MOOC课程运行环境:实验楼/*main.c*/ int g(int x) { return x + 3; }int f(int x) { return g(x); }int main(void) { return f(8) + 1; }/*Makefile*/ all: gcc –S –o main.s main.c -m32/*main.s*/原创 2017-07-20 22:54:48 · 933 阅读 · 0 评论