Linux
文章平均质量分 92
cxsmarkchan
Electrical Engineering
展开
-
汇编学习笔记:函数调用过程中的堆栈分析
原创作品:陈晓爽(cxsmarkchan) 转载请注明出处 《Linux操作系统分析》MOOC课程 学习笔记本文通过汇编一段含有简单函数调用的C程序,说明在函数调用过程中堆栈的变化。原创 2016-02-28 11:52:52 · 4849 阅读 · 4 评论 -
linux内核分析学习笔记:操作系统的进程切换
原创作品(陈晓爽 cxsmarkchan) 转载请注明出处 《Linux内核分析》MOOC课程学习笔记操作系统中有大量进程在运行,而在单核CPU中,每个时刻只能有一个进程的指令在被执行。因此,操作系统需要不断进行进程切换,即分时工作。问题是:如果一个进程在执行过程中被中断,如何记录其中断位置?在下一次执行的时候,如何保证该进程的数据没有被破坏?这些都是进程切换时需要做的工作。原创 2016-03-04 17:33:47 · 1080 阅读 · 2 评论 -
用asm内联汇编实现系统调用
原创内容(cxsmarkchan 陈晓爽) 转载请注明出处 《Linux内核分析》MOOC课程学习笔记 为保证系统的稳定运行,CPU运行状态被分为内核态和用户态。操作系统在内核态下运行,因此拥有所有计算机资源的操作权限。而一般的应用程序则在用户态下运行,它们不能直接操作底层的硬件设备,从而保证应用软件不会破坏系统的稳定。但是,应用程序在运行时常常需要和各种资源打交道,为此,操作系统提供了“系统原创 2016-03-20 23:11:16 · 3660 阅读 · 0 评论 -
linux内核分析学习笔记:用gdb跟踪linux内核启动过程
原创作品(陈晓爽 cxsmarkchan) 转载请注明出处 《Linux内核分析》MOOC课程学习笔记 操作系统的内核启动是一个复杂的过程,在这里,我们仅仅抓住内核启动的主要脉络,了解linux内核的启动过程。需要了解的问题包括:linux内核启动入口、启动时的初始化操作、0号进程和1号进程的启动、主循环的启动等。 本文实验平台为实验楼Linux内核分析,实验所用的代码可以参考这里。1 li原创 2016-03-13 13:40:17 · 974 阅读 · 0 评论 -
Linux asm系统调用:32位和64位的区别
最近在学习系统调用,一段用asm内联汇编写的简单程序始终得不出正确的系统调用结果。经过提醒,我才了解到这是32位平台和64位平台的系统调用方法不同的原因。在此列出相关的程序和我的理解。原创 2016-03-26 15:48:47 · 3654 阅读 · 1 评论 -
Linux内核分析学习笔记:system_call中断处理过程
前两篇博文从汇编的角度分析了linux系统的系统调用方法,本博客在实验楼平台下写了一个简单的系统调用程序,并分析系统调用的实际过程。本文实验平台为实验楼Linux内核分析的第5个实验:分析system_call中断处理过程。原创 2016-03-27 17:33:32 · 837 阅读 · 0 评论