![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
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 · 283 阅读 · 0 评论 -
Linux内核分析-3/Linux系统的启动分析
占坑原创 2017-07-24 14:54:03 · 214 阅读 · 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 · 652 阅读 · 0 评论 -
Linux内核分析-6/进程fork
进程fork前一段我们看了系统调用,那么fork不出意外,也是个系统调用,在x86下面也是int 80,那么既然这样子的话,我们分析一下fork下的sys_forklinux0.11中的fork//上层//init/main.cstatic inline _syscall0(int,fork)//inlcude/unistd.h#define _syscall0(type,name) \原创 2017-07-25 16:52:41 · 319 阅读 · 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 · 276 阅读 · 0 评论 -
Linux内核分析-8/进程的调度
进程的调度之前我们在mykernel中体验了一次进程的调度,调度分为两个过程1/保存当前进程2/装载之前进程和之前的fork exec 有什么区别呢?fork 和exec 只是创造和修改了一个task_struct 结构体,exec后的进程是要调度模块调度才能运行的.而进程的调度就是保存一个结构体,并装载一个结构体.linux-0.11中的调度//init/main.cinit//k原创 2017-07-26 17:12:22 · 346 阅读 · 0 评论 -
Linux内核分析-9/进程的调度时机
Linux内核分析-9/进程的调度时机上篇博客已经讲了调度的路径明白了1/调度都是在内核中间进行的,调用调度函数的函数A都是在内核态2/调用调度函数的函数A都是由两个路径 1/用户态陷入内核态,调用 调度 (时机根据内核版本不同而不同,但都是在内核态调用)2/因为中断,进入中断处理函数,调用 调度 (中断处理函数在内核态中)linux-0.11中的调度时机lin...原创 2017-07-27 16:01:56 · 996 阅读 · 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 · 813 阅读 · 0 评论