- 博客(9)
- 收藏
- 关注
原创 对linux内核学习的一点感受
徐晨 + 原创作品转载请注明出处 + 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 ”跟着这门课不知不觉已经学了8个星期了,对Linux内核有了一个基本的认识,可以说是入门了。既然是课程总结,我大概描述一下这个课程,供对Linux内核感兴趣的同学参考。这门课没讲什么在学习操作系统的时候,我们知道了操作系统将CPU
2016-05-01 21:12:03
6723
2
原创 理解进程调度时机跟踪分析进程调度与进程切换的过程
Linux进程调度进程调度对于一个现代操作系统来说是必不可少的部分,为了表现出多个进程在CPU上同时运行的效果,Linux必须不断的从一个进程快速切换到另一个进程。在进程切换中有三个地方是值得注意的:一是如何调度,主要包括调度策略的设计,调度策略的作用是为了从运行队列中选择下一个被执行的进程; 二是何时调度,即进程调度的时机选择; 三是怎么切换,即选出来的下一个进程如何上CPU执行。内核通过sc
2016-04-17 23:04:39
1498
原创 Linux内核如何装载和启动一个可执行程序
徐晨 + 原创作品转载请注明出处 + 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 ”今天我们来看一下,Linux内核是如何装载和启动一个可执行程序的。Linux下如何生成一个可执行程序首先我们可以看一下,linux如何生成一个可执行程序。chenxu@ ~/Code/kernel/lab7$ gcc -E -o
2016-04-10 22:31:10
5482
原创 分析Linux内核创建一个新进程的过程
今天我们讨论一下linux内核如果创建一个新进程的过程,这里使用fork来创建一个子进程,代码如下所示:#include <stdio.h>#include <stdlib.h>#include <unistd.h>int main(int argc, char * argv[]){ int pid; /* fork another process */ pid =
2016-04-03 18:10:05
940
原创 分析system_call中断处理过程
徐晨 + 原创作品转载请注明出处 + 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 这次的作业要求从system_call开始到iret结束之间的整个过程。set_system_trap_gate(SYSCALL_VECTOR, &system_call);一但执行int
2016-03-27 23:02:54
1060
原创 使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用
徐晨 + 原创作品转载请注明出处 + 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 ”本周我们的实验是“使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用”,系统调用列表列出了x86-32下的系统调用名称及中断号的对应关系。我们在本试验中选用了文件读写相关的系统调用,包括打开
2016-03-20 01:17:14
972
原创 利用gdb分析从start_kernel到init启动的过程
徐晨 + 原创作品转载请注明出处 + 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 ”今天我们分析一下Linux Kernel启动时的最后一步,即从init/start_kernel()开始分析第一个用户态进程init是如何启动的。我们知道init/start_kernel()是内核启动后
2016-03-13 23:05:49
2079
原创 从mykernel来分析linux系统的启动过程
徐晨 + 原创作品转载请注明出处 + 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000我们本次分析一个精简过的内核代码mykernel,配合kernel3.9.4使用,该代码来自https://github.com/mengning/mykernel,源码的README中已经详细说明了如何下载源码
2016-03-06 23:01:43
1343
原创 通过汇编一个简单的C程序,分析汇编代码理解计算机工作原理
徐晨 + 原创作品转载请注明出处 + 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000这是一个简单的C语言程序,我们为了通过汇编语言分析其调用过程,首先将其编译成汇编代码。本实验中我们采用x86-32汇编,命令如下:gcc -S -o main.s main.c -m32我们去掉汇
2016-02-28 12:08:05
1269
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人