linux内核
pk_20140716
缘起于BIOS,发展于内核,直至进程启动,电脑的世界开启了!
展开
-
linux1.0内核硬件须知
主要归纳一些linux1.0内核中处理的硬件的资料。操作系统作用之一是管理硬件,操作系统也是在硬件的基础上提出一层抽象。我们面对的是操作系统,但我们也要知道硬件。原创 2015-06-22 19:07:34 · 386 阅读 · 0 评论 -
键盘处理
键盘通过中断来提醒CPU产生了数据,按下与松开都会产生扫描码。 键盘产生的扫描码个数不同,从1个到4个,这应该是键盘设计时的问题。设计时没充分考虑向后兼容,结果大量生产后像修改也无法修改。这在软件行业处处可见。原创 2015-07-30 19:18:28 · 259 阅读 · 0 评论 -
Linux1.0内核主设备号
/* * assignments * * devices are as follows (same as minix, so we can use the minix fs): * * character block comments * -------------------- ------------原创 2015-06-29 17:50:27 · 307 阅读 · 0 评论 -
x86—EFLAGS寄存器详解
鉴于EFLAGS寄存器的重要性,所以将这一部分内容从处理器体系结构及寻址模式一文中单独抽出另成一文,这部分内容主要来自Intel Developer Mannual,在后续的内核系列中遇到的许多和EFLAGS寄存器有关的内容将直接从本文引用。众所周知,IA-32体系结构为通用系统(general system)提供了16个基本的程序执行寄存器:包含一些通用目的寄存器(General-purpo转载 2015-07-19 20:09:01 · 388 阅读 · 0 评论 -
Intel硬件中断
Intel保留的中断含义原创 2015-06-27 19:28:32 · 490 阅读 · 0 评论 -
Linux1.0内核中断体系的建立
head.S中设置了IDT的指针,共256项,都指向ignore_int函数ignore_int: cld pushl %eax pushl %ecx pushl %edx push %ds push %es push %fs movl $(KERNEL_DS),%eax mov %ax,%ds mov %ax,%es原创 2015-06-27 18:16:56 · 337 阅读 · 0 评论 -
8259A中断控制器
级联式8259A控制系统 开机时ROM BIOS设置的硬件请求处理中断号 Linux对BIOS设置的中断号进行了修改,在setup.s文件中,将中断号映射在0x20-0x2f中。关于IRQIRQ全称为Interrupt Request,即是“中断请求”的意思,IRQ的作用就是在我们所用的电脑中,执行硬件中断请求的动作,比如我们需要读取硬盘中的一段数据时,当数据读取完毕,硬盘就通过IRQ来通知系统原创 2015-06-26 19:27:47 · 812 阅读 · 0 评论 -
浅谈阅读LINUX内核源码
大三选择向嵌入式方向发展,主要学习linux的驱动开发,期间网上各种资料显示阅读linux内核源码(下面简称内核源码)的重要性,于是我便走上了这条不归路。在这篇文章中,我想讲三个内容,一是阅读内核源码有什么用,二是如何阅读内核源码,三是谈一下我阅读内核源码的经历: 首先声明我对linux内核源码并不精通,也不算熟悉(虽然在简历中我曾写着阅读过linux内核源码(0.11版本)),下面的内容转载 2015-09-04 20:24:09 · 522 阅读 · 0 评论 -
linux内核bootsect.S和setup.S流程
bootsect.s流程将0x07c00的代码移动到0x90000处并跳转到0x90000处继续执行。 (0x07c00的代码BOIS加载的引导扇区)跳转后重新设置寄存器(设置段寄存器为0x9000,sp为0x4000-12,代码段,数据段,堆栈段都设置完毕)从内存0x00078复制原软驱参数表到0x94000-12处,然后修改表中的每磁道最大扇区数为18.加载setuo模块(后面的4个扇原创 2015-07-26 19:13:28 · 1347 阅读 · 2 评论