- 博客(14)
- 资源 (36)
- 收藏
- 关注
原创 linux 0.11 内核学习 -- keyboard.s,键盘原来是这么干的。
/* * linux/kernel/keyboard.S * * (C) 1991 Linus Torvalds */ /* * Thanks to Alfred Leung for US keyboard patches * Wolfgang Thiel for German keyboard patches * Marc Corsini for
2010-01-29 22:49:00 2515
原创 linux 0.11 内核学习 -- floppy.c,驱动你的软盘
/* * linux/kernel/floppy.c * * (C) 1991 Linus Torvalds */ /* * 02.12.91 - Changed to static variables to indicate need for reset * and recalibrate. This makes some things easier (
2010-01-29 19:21:00 1546
原创 linux 0.11 内核学习 -- sched.c,调度进程。
/* * 2010-1-21 * 该文件时内核中有关任务调度的函数程序,其中包含基本函数sleep_on, * wakeup,schedule等,以及一些简单的系统调用。同时将软盘的几个操作 * 函数也放置在这里。 * * schedule函数首先对所有的任务检查,唤醒任何一个已经得到信号的任务, * 具体的方法是针对任务数组中的每个任务,检查其警报定时值alar
2010-01-28 21:57:00 1703
原创 linux 0.11 内核学习 -- system_call.s,系统调用仅是如此。
/* * 本程序主要是实现系统调用中断int 0x80的入口处理过程机信号检测过程, * 同时给出了两个系统调用功能的底层接口sys_execve和sys_fork。还列出了 * 处理过程类似的协处理器出错int 16,设备不存在int 7,硬盘中断int 46, * 软盘中断int 38的中断处理程序。 * */ /* * linux/kernel/sy
2010-01-28 21:53:00 1630
原创 linux 0.11 内核学习 -- asm.s,机器难免出故障。
/* * linux/kernel/asm.s * * (C) 1991 Linus Torvalds */ /* * asm.s contains the low-level code for most hardware faults. * page_exception is handled by the mm, so that isnt here.
2010-01-28 21:50:00 762
转载 linux0.11系统调用的执行过程是怎样的?
linux0.11系统调用的执行过程是怎样的? (1) 答:当执行系统调用函数时,系统调用函数会执行int 0x80中断命令,同时将系统调用号放入eax寄存器中,并将要传递给系统的参数放入ebx,ecx,edx中。中断处理程序会执行system_call()函数。(2) system_call()函数首先保存原段寄存器,在将调用参数压
2010-01-20 22:53:00 921 1
原创 linux 0.11 内核学习 -- main.c,调用函数而已。
到了main.c,其实main.c中的大部分的内容是调用函数来实现初始化的工作,但是还是将它看完了。下面就是代码了。主要参考的是linux内核完全注释,在一些不太明白的地方,参考网上的介绍。废话少说。还有很长的路啊。努力啊O(∩_∩)O~。 /* * main.c功能描述。 *///main.c程序的主要功能是利用setup.s程序取得的系统参数设置系统的// 的根文件设备号和一些全局变量
2010-01-20 09:33:00 1466
原创 闲来瞎扯 -- 在vs2008下编写linux程序
虽说vim很强大,但是个人感觉器代码提示功能不如visual assist来的强大。如何使用visual assist来实现代码的提示功能呢?首先说明我的环境 : 宿主机是xp(O(∩_∩)O~还是xp的好使),虚拟机vmware + ubuntu 9.04 1.首先设置文件共享:安装vmware tools。安装笔记如下 : 将安装文件拷贝到/tmp路径下,解压,进入解压完的目录
2010-01-19 10:43:00 2954 5
原创 linux 0.11 内核学习 -- setup.s
参考资料 Linux内核完全注释.pdf 网上相关资料 ! setup程序的主要作用是利用rom bios的中断来读取机器系统参数,并将这些数据保存在0x90000! 开始的位置(覆盖掉了bootsect程序所在的位置),所取得的参数被内核的相关程序使用。注意在bootsect! 中已经将该模块和system、模块加载到内存中。! 然后setup程序将system
2010-01-19 08:36:00 929
原创 linux 0.11 内核学习 -- bootsect.s, 万里长征第一步
呵呵,终于将linux 0.11 下面的boot文件夹下的三个文件读完,下面是相关注释,没有汇编基础的人也是可以读的。废话少说,下面就是linux的源码了。 参考资料 Linux内核完全注释.pdf 网上相关资料 !时间 : 2010-1-14!工作 : 阅读linux 0.11 源码中的bootsect.s!总体linux启动过程如下:!!当PC得
2010-01-19 08:29:00 1144
原创 linux下内存管理简介
计算机中的存储器分为:主存和辅存。其中需要指明的是主存是可以被处理器直接访问的,而辅存是不能被处理器直接访问的。主存的容量一般相对于辅存而言是较小的,所以在现代的计算机体系中,通常使用的是耳机存储模式。利用辅存的大容量来提供较大的存储空间,存储准备运行的程序和数据,当需要时,在将其载入主存中。计算机中的存储管理都是由操作系统来实现的。但是需要说明的是操作系统在实现存储管理时需要硬件的支持。比如
2010-01-17 09:53:00 638
原创 语言混编之c调用java
经过验证可以实现,先将实现代码贴出,以备以后使用。 本文默认你的java开发环境已经安装成功,并且对于java语言和c++语言有过了解。 编写测试用类:Demo.java代码如下:public class Demo{ public static int COUNT = 8; private String msg; private int[] counts; public
2010-01-12 11:32:00 860
原创 语言混编之java调用c dll jni技术小试
刚从网上看到c和java混编的文章,就亟不可待的尝试了一下。呵呵,效果还是很好的。下面将自己成果粘贴出来(转载于http://www.zxbc.cn/html/20070518/19986.html)。实验之后可以通过。 1java中调用c语言 首先编写Main.javapublic class Main { public native static int getStr
2010-01-12 10:46:00 953
原创 linux下bool值未定义
在gcc的编译器上使用bool值的话需要使用包含头文件如果直接使用编译器会报错。 查看可以看到其实bool值只是一个define得常量true 1false 0
2010-01-01 16:07:00 8389
ASP.Net web server demo
2010-03-05
iinniitt进程探悉
2010-02-05
linux 内存使用方法
2010-02-05
source insight使用方法
2010-01-17
Skyeye安装笔记和使用
2010-01-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人