Linux内核学习
Demon的黑与白
Stay hungry,Stay foolish
展开
-
Windows下用Bochs编译运行Linux-0.11
简要介绍:Bochs主要是一个免费且开源的基于x86架构PC机模拟器。学习linux0.11内核,推荐在该模拟器上进行。环境搭建步骤:1、下载Linux0.11系统包,本链接的下载包已包含Bochs软件。点击打开链接http://oldlinux.org/Linux.old/bochs/linux-0.11-devel-040329.zip2、解压linux-0原创 2016-01-24 21:34:11 · 17168 阅读 · 20 评论 -
__asm__ volatile 之 C语言嵌入式汇编
备注:在原文的基础上,增加了标题,方便大家阅读。AT&T ASM Syntax(内嵌汇编)1、寄存器的使用:引用寄存器要在寄存器号前加百分号%,如“movl %eax, %ebx”。常用寄存器汇总:8个32-bit寄存器 %eax,%ebx,%ecx,%edx,%edi,%esi,%ebp,%esp; 8个16-bit寄存器,它们事实上是上面8个32-b转载 2016-01-28 19:46:04 · 3186 阅读 · 0 评论 -
进程实现原理
引文:进程是操作系统最重要的基础知识之一,本文基于linux 0.11内核,重点介绍进程的实现原理以及分析进程间的调度问题。problem:Linux内核是如何初始化操作系统,并开始运行第一个程序呢? 我们都知道,系统启动过程为:bootsect.s —>setup.s —>head.s。姑且不去讨论这些汇编源程序的功能,假设操作系统的pc指正已经运行到了head.s 处的部原创 2016-02-08 18:44:34 · 3445 阅读 · 0 评论 -
Linux 内核0.11 系统调用详解(上)
备注:本文通过三个问题,引出Linux 内核0.11的系统调用。操作系统为什么要引出系统调用?回答这个问题前,请先参看如下图: 由图可以看出,从操作系统的角度来看,一台计算机主要分为两级:用户级以及内核级,系统调用主要作用就是连接用户级和内核级的“插座”。上层用户的许多对计算机硬件的操作,如读写磁盘文件,让显示器输出字符等,都通过接口来完成。那再思考一个问题,不用接口直接操作原创 2016-01-29 18:21:45 · 2986 阅读 · 2 评论 -
Linux 内核0.11 系统调用详解(下)
备注:上讲中,博猪讲到了操作系统是如何让用户程序调用系统函数的,这讲继续接上讲的话题,从一个系统内核系统函数创建的小实验来学习系统内核具体做了些什么。理清下系统调用的整体过程。实验:在Linux 0.11上添加两个系统调用,并编写两个简单的应用程序测试它们。iam()第一个系统调用是iam(),其原型为:int iam(const char * name); 完成的功能是将字符串参数name的内原创 2016-01-31 18:52:13 · 3785 阅读 · 1 评论