
《Linux操作系统分析》MOOC课程
loufand
啊哈哈哈哈哈哈哈哈哈哈哈哈
展开
-
Linux内核分析实验3——分析linux内核启动过程
本文大量内容引用自孟宁老师在《LINUX操作系统分析》课程中的内容 《Linux内核分析》MOOC课程 http://www.xuetangx.com/courses/course-v1:ustcX+USTC001+_/aboutLinux内核启动过程相关的参考资料计算机的启动过程概述1.x86 CPU启动的第一个动作CS:EIP=FFFF:0000H(换算为物理地址为000原创 2017-02-28 20:46:30 · 404 阅读 · 0 评论 -
Linux系统内核分析实验——system_call中断处理过程
在linux中,当一个系统调用发生时,linux内核会做什么事?linux system_call处理代码,该处理函数大量直接操作寄存器ENTRY(system_call) RING0_INT_FRAME # can't unwind into user space anyway ASM_CLAC pus原创 2017-03-18 18:09:28 · 456 阅读 · 0 评论 -
Linux内核分析实验1——汇编一个简单的C程序
实验代码int g(int x){return x + 3;}int f(int x){return g(x);}int main(void){return f(2) + 1;}汇编指令:gcc -S main.c汇编结果g: pushl %ebp movl %esp, %ebp movl 8(%ebp),%eax addl $原创 2017-02-19 23:27:42 · 367 阅读 · 0 评论 -
Linux内核分析实验2——一个简单的内核代码分析
mypcb.h/* * linux/mykernel/mypcb.h * * Kernel internal PCB types * * Copyright (C) 2013 Mengning * */#define MAX_TASK_NUM 4 //最大进程数#define KERNEL_STACK_SIZE 1024*8 //进程堆栈大小/* CPU原创 2017-02-26 20:38:26 · 477 阅读 · 0 评论 -
Linux内核分析实验4——系统调用
CPU工作状态分为内核态与用户态,他们的执行的指令的权限不同,用户态程序不能访问0xb00000以后的的内存(虚拟内存) 系统内核会提供一些系统调用,它们执行一些底层的,有关硬件的功能,出于安全与兼容的考虑,用户态程序无法访问硬件,需要通过系统调用来实现一些功能,如获取当前事件,在屏幕上显示等。 操作系统提供了一些系统api以供程序调用,一个系统api可能调用多个系统调用,一个系统调用也可能有多原创 2017-03-12 23:03:15 · 489 阅读 · 0 评论