Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1138969
  • 博文数量: 196
  • 博客积分: 4141
  • 博客等级: 中将
  • 技术积分: 2253
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-21 20:04
文章存档

2019年(31)

2016年(1)

2014年(16)

2011年(8)

2010年(25)

2009年(115)

分类: 虚拟化

2009-11-28 19:58:42

引导程序(bootloader

运行流程

硬件自动将bootloader加载到0x7c00,然后自动跳转到0x7c00执行第一条指令,boot的运行流程:

1.      bootloader将自己拷贝到0x90000

2.      从实模式跳转到保护模式

3.      再将OS内核从硬盘拷贝到地址0x500然后自动跳转到0x500执行内核

限制性条件

加载的内核大小只能在64k

中断系统

使用IDT中断描述符。int 0x80是系统调用

进程管理

自带

内存管理

自带

驱动程序


主要做的工作

UCOS-II是从UCOS-II嵌入式实时操作系统中的例子移植过来的,主要做了一下一些工作:


1.      语法修改,因为用的是不同的编译器

2.      引导程序的编写

3.      中断处理

4.      实模式移植到保护模式,不过都是在保护模式的ring0下运行的

5.      一些数据结构是16位的,在保护模式下需要改成32位。


阅读(2393) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~