大运天成赖搏击

进步最重要

导航

2012年4月1日 #

linux0.11学习笔记-技术铺垫-简单AB任务切换程序(3)-调试手段和方法

摘要: 写底层代码,我们需要特别的手段去调试,去debug.本文针对几种应用场景,介绍几种手段.1. 查看文件的二进制值 - hexdump命令以文章(2)中的head程序为例子ld head.o -m elf_i386 -Ttext 0 -e startup_32 -o system之后,生成system是有文件头的可执行文件,并不是纯粹的代码.hexdump system命令输出如下:0000000 457f 464c 0101 0001 0000 0000 0000 00000000010 0002 0003 0001 0000 0000 0000 0034 00000000020 1140 0 阅读全文

posted @ 2012-04-01 15:30 linucos 阅读(716) 评论(0) 推荐(0)

linux0.11学习笔记-技术铺垫-简单AB任务切换程序(2)-可加载执行其他程序的bootloader

摘要: 上篇文章我们完成了一个简单的bootloader,与其说是bootloader,不如说是boot,本篇我们完成loader部分功能.loader部分是在boot部分基础上,通过到约定好的启动盘位置上读数据载入内存,达到loader的目的。到启动盘读数据是bios提供的功能调用.1. 铺垫(1)我们这次的程序分两个部分,一个部分是bootloader,boot和loader功能;一个是head程序,这个程序什么也不做,简单的几条指令,我们只是要加载它执行它而已.(2)bootloader是as86+ld86的产物,语法遵从as86语法;head是gnu汇编器语法,使用gcc编译ld链接,是32位 阅读全文

posted @ 2012-04-01 12:54 linucos 阅读(1306) 评论(1) 推荐(0)

linux0.11学习笔记-技术铺垫-简单AB任务切换程序(1)-实现一个简单的bootloader

摘要: 直接看代码,即使已经理解了代码,但是还是会有种没有学到手的感觉.真正的掌握来自实践,来自己动手做出来.“简单AB任务切换程序”系列文章的目的是,在bochs下,实践出简单AB两个任务的切换.1. bochs安装或者编译参考Ubuntu10.04搭建linux-0.11编译环境(1.bochs安装和使用)Ubuntu10.04搭建linux-0.11编译环境(2.bochs编译)2. 实现一个最简单的bootloader(1)bootloader,顾名思义boot + loader,我们现在只实现boot,loader其实就是简单bios中断调用,后面接触.(2)此处使用汇编语言,汇编和连接器分 阅读全文

posted @ 2012-04-01 11:11 linucos 阅读(1019) 评论(0) 推荐(0)