Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 操作系统 > 其他操作系统 > netbsd的引导部分
【标  题】:netbsd的引导部分
【关键字】:netbsd
【来  源】:http://www.cublog.cn/u/16553/showart.php?id=104296

netbsd的引导部分

Your Ad Here 现在对netbsd的引导部分还有很多不明白,但大致知道流程了,记录如下,以下部分记录的是最普通的启动过程,即从磁盘启动,不保证完全正确 netbsd3.0的引导程序主要分为这样几个部分:一部分是主程序,还有一部分是库函数,库函数分为体系结构相关的和体系结构无关的。相应程序所在目录 是这样分配的:
以下提到的目录都以/usr/src/sys为起点
主程序第一部分:boot1
在arch/i386/stand/bootxx下,由四个文件组成,pbr.S,lable.S bootxx.S boot1.c
这四个文件编译后形成bootxx_${FS},顾名思义就是和文件系统相关的引导程序,因为mbr的程序不可能认识文件系统,而这部分是认识文件系统, 这部分要通过特殊的工具些到netbsd分区的第一个磁道,一共15个sector,sector0 是pbr.S sector1是ptn_disklable(lable.S),sector2及后面的就是bootxx.S和boot1.c组成的程序。这部分程序负 责把/boot载入到内存的0x1000:0x0

第二部分:boot2
在arch/i386/stand/boot下,Makefile.boot里面是有5个文件组成,但是我始终没找到exec.c这个文件,呵呵, pmake还看不习惯,很多都没看懂。这个目录下的文件编译成boot,就是根目录下的那个boot。这部分好像没什么特殊要求。

第三部分:库函数
和i386相关的库函数在arch/i386/stand/lib中,主要是利用bios写的一些辅助函数,和体系结构无关的在lib/libsa中主要是一些必须的c库函数的简单实现,我想是为了减小移直的难度。

上面介绍的这些都是和内核无关的,所以叫stand,就是stand alone的意思。

现在来介绍启动过程:
有必要把mbr的行文先介绍一下,nerbsd的mbr会把自己移到0x0600处,然后加载上面的pbr到0x7c00,再把控制权交到0x7c00, pbr只需要一个参数:%dl,这个寄存器里保存了启动设备的bios设备号,所以这个工作也可以有其他程序来做,只要传来这个参数就可以了。
pbr先会加载netbsd所在分区的trace0的前15个sector到0x600,然后跳转到bootxx继续运行,bootxx做了最基本的准备 工作之后就转到保护模式,执行boot1,boot1把/boot加载到0x1000:0x0处,退回到bootxx,bootxx然后切换到实模式,跳 转到0x1000:0x0继续执行。
boot负责把netbsd加载到内存,并运行它,由于这部分涉及到的函数和文件很多,我还没有理清楚,所以就不能细说了。

在上面的这些程序中会有很多象open,read,exec,printf这样的好像是unix的系统调用的或者是c的库函数的,其定义应该可以在lib/libsa中找到。

彻底搞定JSP的在线人数:【上一篇】
我老妹的大作!(朋友给点意见,点评一下,读高三的美女,文笔如何):【下一篇】
【相关文章】
  • netbsd的中断
  • NetBSD上电启动到内核运行之前流程的简单介绍
  • BSD家族大观—FreeBSD、OpenBSD、NetBSD
  • netbsd mbr code annotation
  • NetBSD笔记
  • NetBSD的网络配置
  • NetBSD prog的Makefile
  • 制作RAMDISK in KERNEL的NetBSD微系统
  • NetBSD文档计划中文版
  • NetBSD的上网设置(VMware)
  • 【随机文章】
  • Microsoft Visual C++ 与 MinGW,附图
  • Asp.net程序的身份
  • FreeBSD全能服务器安装手册之邮件服务器篇--选择邮件系统的准则
  • sql中压缩日志文件和ntextl转化为varchar的处理(downmoon)
  • vmware adserver static ip indexing service
  • vsftpd最简安装
  • FTP命令全集
  • boost库---系列解读一
  • Fireworks 仿MSN浏览器按钮
  • MSSQL数据库:存储过程学习
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.