自然flw

2016年4月27日

linux学习之九 学习过程总结

摘要: ~写在前面 首先非常感谢孟老师的悉心讲解,使用这种新颖的教学方式(MOOC课堂+博客),也感到非常有幸随着老师的思路对linux的内核进行了初步的系统学习。结合代码和gdb调试工具跟踪分析对linux内核的一些重要机制有了更深刻的理解。 一 学习Linux内核的心得Linux系统的理解 liunx内 阅读全文

posted @ 2016-04-27 20:21 自然flw 阅读(288) 评论(0) 推荐(0) 编辑

2016年4月16日

linux 内核学习之八 进程调度过程分析

摘要: 一 关于进程的补充 进程调度的时机 中断处理过程(包括时钟中断、I/O中断、系统调用和异常)中,直接调用schedule(),或者返回用户态时根据need_resched标记调用schedule(); 内核线程可以直接调用schedule()进行进程切换,也可以在中断处理过程中进行调度,也就是说内核 阅读全文

posted @ 2016-04-16 20:43 自然flw 阅读(1400) 评论(0) 推荐(0) 编辑

2016年4月10日

linux内核学习之七 可执行程序的装载和运行

摘要: 一 程序的装载和运行的基本知识补充 1 当进程开始执行一个新的程序时,从父进程继承的所有页被释放,以便在新的用户地址空间开始执行新的计算,甚至进程的特权都可能发生改变,但是,进程的PID不会改变。 2 进程的信任状和权能 进程的信任状决定一个进程的权限,也就是能做什么,不能做什么。这对多用户系统,系 阅读全文

posted @ 2016-04-10 21:13 自然flw 阅读(516) 评论(0) 推荐(0) 编辑

2016年4月3日

linux内核学习之六 进程创建过程学习

摘要: 一 关于linux进程概念的补充 关于进程的基本概念这里不多说,把自己的学习所得作一些补充: 1. 在linux内核中,系统最多可以有64个进程同时存在。 2.linux进程包含的关键要素:一段可执行的程序;专用的系统堆栈空间;内核中它的控制块(进程控制块);独立的存储空间。 3. 系统的第一个进程 阅读全文

posted @ 2016-04-03 19:48 自然flw 阅读(420) 评论(0) 推荐(0) 编辑

2016年3月27日

linux 内核学习之五 system_call过程分析

摘要: 一 使用gdb工具跟踪分析一个自添加的系统调用 应用程序的进程通常在用户空间下运行,当它调用一个系统调用时,进程进入内核空间,执行的是kernel内部的代码,从而具有执行特权指令的权限,完成特定的功能。 在上次实验的基础上修改test.c,添加自己实现的setuid系统调用,部分代码修改如下: 重新 阅读全文

posted @ 2016-03-27 20:18 自然flw 阅读(693) 评论(0) 推荐(0) 编辑

2016年3月20日

linux内核学习之四 系统调用

摘要: 一 概念区分 提到linux系统调用,不得不区分几个比较容易混淆的概念: 系统调用:系统调用就是一种特殊的接口。通过这个接口,用户可以访问内核空间。系统调用规定了用户进程进入内核的具体位置。 应用程序接口(API,Application Programming Interface):是一些预定义的函 阅读全文

posted @ 2016-03-20 16:26 自然flw 阅读(361) 评论(0) 推荐(0) 编辑

2016年3月12日

linux内核学习之三 跟踪分析内核的启动过程

摘要: 一 前期准备工作 1 搭建环境 1.1下载内核源代码并编译内核 创建目录,并进入该目录: 下载源码: 解压缩,并进入该目录:xz -d linux-3.18.6.tar.xz tar -xvf linux-3.18.6 cd linux-3.18.6 选定x86架构的相关文件编译: 编译: 1.2 阅读全文

posted @ 2016-03-12 19:53 自然flw 阅读(638) 评论(0) 推荐(0) 编辑

2016年3月5日

linux内核学习之二 一个精简内核的分析(基于时间片轮转)

摘要: 一 实验过程及效果 1.准备好相关的代码,分别是mymain.c,mypcb.h,myinterrupt.c ,如下图,make make成功: 在qemu创建的虚拟环境下的运行效果:(使用的命令如上图所示) 效果分析:可以看到进程在不断切换,分别有进程0,1,2,3,每隔一段时间就进行一次切换。 阅读全文

posted @ 2016-03-05 16:48 自然flw 阅读(1027) 评论(0) 推荐(0) 编辑

2016年2月25日

linux内核学习之一 简单c语言反汇编

摘要: (我是第一次发技术博客的菜鸟,恳请大家指导!!) 一 由简单c程序生成汇编代码 首先给出本次我们要反汇编的简单c语言程序:(够简单吧~) 在linux环境中使用下面的命令条件编译: 生成汇编文件shiyan1.s: shiyan1.s的部分代码截图: 全部粘贴出来如下: 1 .file "shiya 阅读全文

posted @ 2016-02-25 19:10 自然flw 阅读(1642) 评论(0) 推荐(0) 编辑

导航