无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 134609|回复: 279
打印 上一主题 下一主题

教你自己写一个简单的操作系统

  [复制链接]
跳转到指定楼层
1#
发表于 2007-12-18 19:16:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
看后请投票:
你认为写这篇文章对你有帮助么?



来无忧那么多年了,自己也从02年那个什么都不懂的菜鸟到现在的版主。自己却只学习,没有为无忧做什么贡献。

谨以此文送给那些想了解系统启动,操作系统原理的兄弟了解平时不知道的东西。高手就见笑了.


看懂本文的前提:

首先,你必须有一定的编程知识,汇编语言是必不可少的。但是,如果你只是了解,不懂汇编也没有关系。

其次,你还需要有冷静的头脑,因为汇编编译程序不比高级语言程序,只能帮你编译而除错的能力很差。你需要冷静的头脑去思考

自己在哪里出现了错误,并修正。

你必须树立一个信念,你是可以做到的。而且写一个操作系统(operating system) 并不是人们传说中的只有精英分子才能做的,那么的传神。




   中断向量与中断向量表
  
什么是中断向量呢?
简单地说,就是我们所说的中断函数(INT)。在DOS时代以至现在,都是经常用到的。

在中断源识别方法时提到:早期的微机系统中将由硬件产生的中断标识码
(中断源的识别标志,可用来形成相应的中断服务程序的入口地址或存放中断服务程序的首地址)称为中断向量。在Pc/AT中也用到这个名称,但含义有所不同。在Pc/AT机中,中断向量是指中断服务程序的入口地址,包括段地址CS和段内偏移 量IP共4个字节。在PC/AT中,规定内存储器的最低1 KB用来存放中断向量(共256个),称这一片内存区为中断向量表,如图所示。
  在Pc/AT中由硬件产生的中断标识码被称为中断类型号(当然,中断类型号还有其他的产生方法,如指令中直接给出、CPU自动形成等),即在中断响应期间8259A产生的是当前请求中断的最高优先级的中断源的中断类型号。中断类型号和中断向量之间有下面的关系:
  中断类型号×4=存放中断向量的首地址
  有了存放中断向量的首地址,从该地址开始的4个存储单元中取出的就是中断服务程序的入

以下就是中断列表:

04H 1H 1 单步调试时处理器发出的中断
08H 2H 2 非屏蔽中断
0CH 3H 3 调试程序设置断点时处理器发出的中断
10H 4H 4 发生算术溢出时处理器发出的中断
14H 5H 5 调用BIOS的屏幕拷贝操作
18-1FH 6-7H 6-7 保留单元
20H 8H 8 每1/18.2秒定时器发出的中断
24H 9H 9 按压或释放键时产生的中断
28H 0AH 10 保留单元
2CH 0BH 11 通讯设备使用的硬件中断
30H 0CH 12 通讯设备使用的硬件中断
34H 0DH 13 交替打印时硬件产生的中断
38H 0EH 14 软驱操作结束时产生的硬件中断
3CH 0FH 15 打印机发出警告信号时产生的硬件中断
40H 10H 16 BIOS的显示I/O功能调用
44H 11H 17 BIOS设备确认调用
48H 12H 18 BIOS确认内存空间大小的功能调用
4CH 13H 19 BOIS的磁盘I/O功能调用
50H 14H 20 BIOS的RS-232串行I/O功能调用
54H 15H 21 在PC和XT机上是BIOS磁带I/O功能调用。在AT机上是AT扩充服务功能调用。
58H 16H 22 BIOS的键盘I/O功能调用
5CH 17H 23 BIOS的打印机I/O功能调用
60H 18H 24 ROM的BASIC解释和程序功能调用
64H 19H 25 BIOS的装载引导服务调用
68H 1AH 26 BIOS的日期时钟功能调用
6CH 1BH 27 Ctrl+Break处理程序功能调用。当键入Ctrl+Break键时指向可执行的程序入口初始化BIOS使该向量指向一条TRET指令。用户可修改该向量,使它指向自己的程序。
70H 1CH 28 指向每1/18.2秒时可执行的服务程序的入口。初始化时该向量指向一条IRET指令。用户可修改该向量,使它指向自己的Ctrl+Break 处理程序。
74H 1DH 29 指向显示控制器初始化参数。BIOS使这个向量指向ROM驻留表。
78H 1EH 30 指向软盘参数表。BIOS使这个向量指向ROM 驻留表,但是DOS把它改为指向DOS的RAM 驻留表。
7CH 1FH 31 指向一点阵表。在这个表中,BIOS可以找到字符集后128个字符的点阵
80H 20H 32 终止程序的DOS功能调用
84H 21H 33 任何种DOS功能调用  
88H 22H 34 指向DOS的结束地址
8CH 23H 35 指向DOS的Ctrl+Break处理程序
90H 24H 36 指向DOS的严重错误处理程序
94H 25H 37 DOS绝对磁盘读调用
98H 26H 38 DOS绝对磁盘写调用
9CH 27H 39 程序终止,但仍驻留内存的DOS功能调用
9DH 28H 40 DOS空闲
9EH 29H 41 支持驱动器程序输出
9FH-A1H 2AH-2CH 42-44 保留单元
A2H 2DH 45 DOS构件接口
A3H 2EH 46 COMMAND.COM退回入口
A4H 2FH 47 多路中断(空闲信号)
A5-FFH 30-3FH 48-63 为DOS保留的单元
100H 40H 64 保留单元
104H 41H 65 指向硬盘0的参数表,BOIS使这个向量指向ROM驻留的表。
108-10FH 42-43H  66-67 保留单元
110H 44H 68 PC机使用,用于指向低分辩率图形字符参数表
114H 45H 69 保留单元
118H 46H 70 指向硬盘1的参数表,BIOS使这个向量指向 ROM驻留的表。
11CH 47H 71 保留单元
120H 48H 72 PC机使用,用于把PC机的键盘代码变换为标准的键盘代码。
124H 49H 73 指向键盘增强服务变换表
128-17FH 4A-5FH 74-95 保留单元
180-19FH 60-67H 96-103 为用户程序保留的单元
1A0-1BFH 68-6FH 104-111 未使用
1C0H 70H 112 硬件中断(IRQ--interrupt request) 8--实时时钟中断
1C4H 71H 113 硬件中断9
1C8H 72H 114 硬件中断10
1CCH 73H 115 硬件中断11
1D0H 74H 116 硬件中断12
1D4H 75H 117 硬件中断13--BIOS把这个中断向量重定向为非屏蔽中断(NMI)
1D8H 76H 118 硬件中断14
1DCH 77H 119 硬件中断15
1E0-1FFH 78-7FH 120-127 未使用
200-217H 80-85H 128-133 为BASIC保留
218-3C3H 86-F0H 134-240 BASIC程序运行时提供给BASIC解释程序作用
3C4-#FFH F1-FFH <> 241-255 未作用






我们还需要了解计算机的启动过程:

(摘自网络)

先让我们来了解一些基本概念。第一个是大家非常熟悉的BIOS(基本输入输出系统),BIOS是直接与硬件打交道的底层代码,它为操作系统提供了控制硬件设备的基本功能。BIOS包括有系统BIOS(即常说的主板BIOS)、显卡BIOS和其它设备(例如IDE控制器、SCSI卡或网卡等)的BIOS,其中系统BIOS是本文要讨论的主角,因为计算机的启动过程正是在它的控制下进行的。BIOS一般被存放在ROM(只读存储芯片)之中,即使在关机或掉电以后,这些代码也不会消失。

  第二个基本概念是内存的地址,我们的机器中一般安装有32MB、64MB或128MB内存,这些内存的每一个字节都被赋予了一个地址,以便CPU访问内存。32MB的地址范围用十六进制数表示就是0~1FFFFFFH,其中0~FFFFFH的低端1MB内存非常特殊,因为最初的8086处理器能够访问的内存最大只有1MB,这1MB的低端640KB被称为基本内存,而A0000H~BFFFFH要保留给显示卡的显存使用,C0000H~FFFFFH则被保留给BIOS使用,其中系统BIOS一般占用了最后的64KB或更多一点的空间,显卡BIOS一般在C0000H~C7FFFH处,IDE控制器的BIOS在C8000H~CBFFFH处。

  第一步: 当我们按下电源开关时,电源就开始向主板和其它设备供电,此时电压还不太稳定,主板上的控制芯片组会向CPU发出并保持一个RESET(重置)信号,让CPU内部自动恢复到初始状态,但CPU在此刻不会马上执行指令。当芯片组检测到电源已经开始稳定供电了(当然从不稳定到稳定的过程只是一瞬间的事情),它便撤去RESET信号(如果是手工按下计算机面板上的Reset按钮来重启机器,那么松开该按钮时芯片组就会撤去RESET信号),CPU马上就从地址FFFF0H处开始执行指令,从前面的介绍可知,这个地址实际上在系统BIOS的地址范围内,无论是Award BIOS还是AMI BIOS,放在这里的只是一条跳转指令,跳到系统BIOS中真正的启动代码处。

  第二步: 系统BIOS的启动代码首先要做的事情就是进行POST(Power-On Self Test,加电后自检),POST的主要任务是检测系统中一些关键设备是否存在和能否正常工作,例如内存和显卡等设备。由于POST是最早进行的检测过程,此时显卡还没有初始化,如果系统BIOS在进行POST的过程中发现了一些致命错误,例如没有找到内存或者内存有问题(此时只会检查640K常规内存),那么系统BIOS就会直接控制喇叭发声来报告错误,声音的长短和次数代表了错误的类型。在正常情况下,POST过程进行得非常快,我们几乎无法感觉到它的存在,POST结束之后就会调用其它代码来进行更完整的硬件检测。

  第三步: 接下来系统BIOS将查找显卡的BIOS,前面说过,存放显卡BIOS的ROM芯片的起始地址通常设在C0000H处,系统BIOS在这个地方找到显卡BIOS之后就调用它的初始化代码,由显卡BIOS来初始化显卡,此时多数显卡都会在屏幕上显示出一些初始化信息,介绍生产厂商、图形芯片类型等内容,不过这个画面几乎是一闪而过。系统BIOS接着会查找其它设备的BIOS程序,找到之后同样要调用这些BIOS内部的初始化代码来初始化相关的设备。

  第四步: 查找完所有其它设备的BIOS之后,系统BIOS将显示出它自己的启动画面,其中包括有系统BIOS的类型、序列号和版本号等内容。

  第五步: 接着系统BIOS将检测和显示CPU的类型和工作频率,然后开始测试所有的RAM,并同时在屏幕上显示内存测试的进度,我们可以在CMOS设置中自行决定使用简单耗时少或者详细耗时多的测试方式。

  第六步: 内存测试通过之后,系统BIOS将开始检测系统中安装的一些标准硬件设备,包括硬盘、CD-ROM、串口、并口、软驱等设备,另外绝大多数较新版本的系统BIOS在这一过程中还要自动检测和设置内存的定时参数、硬盘参数和访问模式等。

  第七步: 标准设备检测完毕后,系统BIOS内部的支持即插即用的代码将开始检测和配置系统中安装的即插即用设备,每找到一个设备之后,系统BIOS都会在屏幕上显示出设备的名称和型号等信息,同时为该设备分配中断、DMA通道和I/O端口等资源。

  第八步: 到这一步为止,所有硬件都已经检测配置完毕了,多数系统BIOS会重新清屏并在屏幕上方显示出一个表格,其中概略地列出了系统中安装的各种标准硬件设备,以及它们使用的资源和一些相关工作参数。

  第九步: 接下来系统BIOS将更新ESCD(Extended System Configuration Data,扩展系统配置数据)。ESCD是系统BIOS用来与操作系统交换硬件配置信息的一种手段,这些数据被存放在CMOS(一小块特殊的RAM,由主板上的电池来供电)之中。通常ESCD数据只在系统硬件配置发生改变后才会更新,所以不是每次启动机器时我们都能够看到“Update ESCD… Success”这样的信息,不过,某些主板的系统BIOS在保存ESCD数据时使用了与Windows 9x不相同的数据格式,于是Windows 9x在它自己的启动过程中会把ESCD数据修改成自己的格式,但在下一次启动机器时,即使硬件配置没有发生改变,系统BIOS也会把ESCD的数据格式改回来,如此循环,将会导致在每次启动机器时,系统BIOS都要更新一遍ESCD,这就是为什么有些机器在每次启动时都会显示出相关信息的原因。

  第十步: ESCD更新完毕后,系统BIOS的启动代码将进行它的最后一项工作,即根据用户指定的启动顺序从软盘、硬盘或光驱启动。以从C盘启动为例,系统BIOS将读取并执行硬盘上的主引导记录,主引导记录接着从分区表中找到第一个活动分区,然后读取并执行这个活动分区的分区引导记录。
  如果系统之中安装有引导多种操作系统的工具软件,通常主引导记录将被替换成该软件的引导代码,这些代码将允许用户选择一种操作系统,然后读取并执行该操作系统的基本引导代码(DOS和Windows的基本引导代码就是分区引导记录)。

   BIOS在最后的一步,计算机就会检查磁盘盘的0面0磁道1扇区,如果发现它以0xAA55结束,则BIOS认为它是一个引导扇区。将这512B的内容装载到内存的0000:7C00处,然后开始执行”



  上面介绍的便是计算机在打开电源开关(或按Reset键)进行冷启动时所要完成的各种初始化工作,如果我们在DOS下按Ctrl+Alt+Del组合键(或从Windows中选择重新启动计算机)来进行热启动,那么POST过程将被跳过去,直接从第三步开始,另外第五步的检测CPU和内存测试也不会再进行。我们可以看到,无论是冷启动还是热启动,系统BIOS都一次又一次地重复进行着这些我们平时并不太注意的事情,然而正是这些单调的硬件检测步骤为我们能够正常使用电脑提供了基础。

一个好的操作系统,也是由许多模块组成。


最基本的操作系统也需要以下部分组成:

1. Boot Sector我们一般称软盘上的为引导扇区,在硬盘盘上的一般上我们就说是硬盘主引导记录(MBR) +  硬盘分区表

2.实时的内核

3.文件系统


再看看以下的建议:

一个相当不错的网站:http://my.execpc.com/~geezer/osd/index.htm

虽然是英文的,但写的很清楚明白。页面也很简单。

这篇文章就是其中一篇文章的一部分。觉得相当不错,我翻译了一下,和大家共享。

因为有些地方可能翻译的不是很准确所以先把原文贴出来。


Some advice on writing your own bootloader

Don't do it. At least, don't make the bootloader the first thing you work on. Reasons:
lA bootloader is not an OS.
lA bootloader is a VERY SMALL part of an OS.
lWriting a GOOD bootloader is as much work as writing a small OS (e.g. GRUB).
lWriting a robust and flexible bootloader is difficult. (Writing a crappy and inflexible bootloader is distressingly easy.)
lWriting a bootloader requires a lot of arcane knowledge (e.g. unreal mode, A20 gate, BIOS bugs and subtleties) that is otherwise useless.
lBootloaders are very difficult to test and debug.
lBecause of the hybrid 16- and 32-bit nature of x86 CPUs, x86 boot code is ugly.
lIf booting your kernel fails, you won't know if the error is in your kernel or in your bootloader.
lIf you are developing under DOS or Windows 9x, you can use DOS (or FreeDOS) as your bootloader. Otherwise, use GRUB. It's not perfect, but it's still better than writing your own, and it's the closest thing to a 'standard' bootloader there is.


不要自己写!至少,不要让bootloader成为你开始做的第一件事情。理由如下:

lbootloader并不是一个操作系统,而只是一个bootloader只是操作系统中很小的一部分。

l它会消耗你想当多的精力——写一个强壮的、灵活的bootloader非常难。(完成一个蹩脚的缺少灵活的bootloader非常简单)。完成一个好的bootloader需要做的工作和完成一个小的操作系统的工作量相同。比如GRUBl写一个bootloader需要的不是算法,而是令人头疼的硬件细节方面的知识。(比如非实模式下的A20地址线、BIOS的bug和其它细节),实际上这些东西都没有用。(我不知道这里我翻译的是不是合适,原文是:Writing a bootloader requires a lot of arcane knowledge (e.g. unreal mode, A20 gate, BIOS bugs and subtleties) that is otherwise useless.)

1.Bootloader很难被调试和测试

2.由于x86 CPU的需要,bootloader的代码不得不以16位和32位的汇编混合,因此它看起来一点都不漂亮

3.如果你的内核启动失败了,那么你不会清楚问题是在你的内核还是你的bootloader。

所以,如果你正在DOS、Windows 9x下开发,那么完全可以使用DOS(或这是FreeDOS)的引导程序。或者使用GRUB。虽然这样做并不完美,但是还是比你自己写要好的多。




不过虽然看到了这篇文章,但是我还是要自己写。个人感觉这些话都是写给那些想做出一个想当规模操作系统的牛人的。而我的目的并不是完成一个很完美的OS,而只是一个小的试验性质的操作系统,可以说只是学习。bootloader将会对我理解整个计算机的工作结构有很大的帮助


这里的BOOTLOADER是指对引导代码





说完了这些,那么,我们来开始编写操作系统的旅程吧!


我们需要比较多的工具。

1. BCHOS  一个模拟PC的软件
ftp://down:down@ddyou.3322.org/emulator-demo402.zip


2.NASM 开源的ASM(汇编)编译程序。
ftp://down:down@ddyou.3322.org/emulator-demo402.zip


3.Vfloppy 一个虚拟软盘启动工具

ftp://down:down@ddyou.3322.org/VFLOPPY.RAR








下载BOOT.rar文件,然后解压到NTLDR的目录下,在BOOT.ini上添一句:  C:\boot.bin="Boot Loader"

然后重新开机,选择Boot Loader,看看,出现了什么 ?

(未完,待续)

[ 本帖最后由 lintel 于 2008-1-10 06:24 PM 编辑 ]
单选投票, 共有 719 人参与投票
您所在的用户组没有投票权限

writebin.rar

940 Bytes, 下载次数: 1485, 下载积分: 无忧币 -2

一个引导程序写入工具

boot.rar

198 Bytes, 下载次数: 1596, 下载积分: 无忧币 -2

最简单的引导器!

评分

参与人数 1无忧币 +200 收起 理由
2010ttt + 200 我很赞同、精品文章

查看全部评分

2#
发表于 2007-12-18 19:20:43 | 只看该作者
晕,这也原创??建议到书店看看,这类书好多了……随书光盘还有源码
回复

使用道具 举报

3#
发表于 2007-12-18 19:25:09 | 只看该作者
菜鸟不懂,路过&nbsp;
回复

使用道具 举报

4#
 楼主| 发表于 2007-12-18 19:25:42 | 只看该作者
原帖由 无优处男 于 2007-12-18 07:20 PM 发表
晕,这也原创??建议到书店看看,这类书好多了……随书光盘还有源码

回复

使用道具 举报

5#
发表于 2007-12-18 19:34:45 | 只看该作者
刚刚在龙族看过了!!
回复

使用道具 举报

6#
发表于 2007-12-18 20:00:27 | 只看该作者
建议不要原创一些己经有很多而且书上写得非常详细的东东……
直接扫描粘贴过来似乎更好一些(这样的话好像就不叫原创了)
回复

使用道具 举报

7#
发表于 2007-12-18 20:12:36 | 只看该作者
路过..............没符合前提条件........
回复

使用道具 举报

8#
发表于 2007-12-18 20:23:36 | 只看该作者
楼主太健忘了,又把老帖翻上来
回复

使用道具 举报

9#
 楼主| 发表于 2007-12-18 21:16:09 | 只看该作者
原帖由 无优处男 于 2007-12-18 08:00 PM 发表
建议不要原创一些己经有很多而且书上写得非常详细的东东……
直接扫描粘贴过来似乎更好一些(这样的话好像就不叫原创了)


这个就不一定了,上次是简单的,让您嘲笑了一番,这次我要写的不是简单的了,而是能够实现类似DOS那样的了

我还是谢谢你,如果不是你上次的嘲笑,我也不可能去研究那个清华的X86汇编教程了,还是要谢谢小弄大叔^_^
回复

使用道具 举报

10#
 楼主| 发表于 2007-12-18 21:22:35 | 只看该作者
原帖由 fzfchao 于 2007-12-18 07:34 PM 发表
刚刚在龙族看过了!!


应该不一样吧,估计是HELLO WORLD !那样的系统吧?
这样的话是引导器而不是完整的系统,真正的系统需要一个完整的内核
回复

使用道具 举报

11#
 楼主| 发表于 2007-12-18 21:45:38 | 只看该作者
原帖由 无优处男 于 2007-12-18 09:42 PM 发表
转贴(不是我原创)
当然更不是那些杂志里面的写个MBR就称为操作系统骗稿费的东东。
看了下目录感觉这本书还是有点内容的,有兴趣的可以学习下。我现在是没兴趣了……
Intel要是有他的光盘的话发上来不错,里 ...


你这个就是于渊写的《自己动手写操作系统》
回复

使用道具 举报

12#
 楼主| 发表于 2007-12-18 22:01:40 | 只看该作者
原帖由 无优处男 于 2007-12-18 09:48 PM 发表
你点他同类书就会看到有几本了
国外的:


既然这样,那么你也应该教我们吧,一味得嘲笑别人太不好了。

如果这样的话,那么我这个东东就不要继续了,上课还是重要点。而且这个东东花费的时间太长了,是大量的脑力活动。
回复

使用道具 举报

13#
发表于 2007-12-18 22:14:08 | 只看该作者
晕,那你当我没说过……我的意思是如果你是跟别人相同的话那还不如直接放个下载的上来。如果不相同的,是你原创的,那继续……说不定明年可以看到你的书呢。时间应该不是问题,大脑不活动就算你粘贴完了固计自己的系统也启动不了吧。年青人大脑应该多活动活动,我现在老了,不想大脑活动了,只想床上运动……
回复

使用道具 举报

14#
 楼主| 发表于 2007-12-18 22:17:05 | 只看该作者
磁盘(指硬盘和软盘)的0扇区实际上是一个引导扇区。它的目的是找出并加载系统的内核,或者是 second-stage loader这里的second stage loader对应着刚才我们说的如果512字节的引导程序不能容纳引导代码,那么你就需要各two stage loader。这个second对应着的就是第2步。有3种方法能够实现:

1.从相邻的扇区加载内核或是second stage (没有文件系统)
2.不相邻的扇区(无论磁盘是否有文件系统)。这个bootloader的安装程序必须创建一个不相邻的扇区的映射,并且把这个映射写到first-stage代码中。(可能这段话按照原文翻译下来不是很好理解,我对这段话的理解就是:这是侯你不需要文件系统,那么你需要将第一阶段的引导代码的最后将第二阶段的引导代码从磁盘读出装入内存,使得第一阶段的引导代码运行结束后能够跳转到第二阶段的代码处继续执行。)
3. 使用磁盘上现有的文件系统加载


于渊选择的是第3种方法。

那么从相邻的扇区加载内核或是second stage,这样应该在硬盘上能够成功运行吧?在这个时候我还没有想好这个系统文件格式要怎么样定义,自己定义一个文件系统,不知道会怎么样^_^

[ 本帖最后由 lintel 于 2007-12-18 10:19 PM 编辑 ]
回复

使用道具 举报

15#
发表于 2007-12-18 22:41:04 | 只看该作者
LS说的好象是GRUB安装到MBR的过程
回复

使用道具 举报

16#
 楼主| 发表于 2007-12-18 22:48:00 | 只看该作者
原帖由 123 于 2007-12-18 10:41 PM 发表
LS说的好象是GRUB安装到MBR的过程


NO,完全是两码事!
回复

使用道具 举报

17#
发表于 2007-12-18 23:30:28 | 只看该作者
这方面到现在还是菜鸟纯粹过来看看!
回复

使用道具 举报

18#
发表于 2007-12-19 08:40:51 | 只看该作者
适合我这样的菜鸟们学习一下。自己虽然做不成可也会学习到它的原理吧!最好详细点。
回复

使用道具 举报

19#
发表于 2007-12-19 10:38:56 | 只看该作者
虽然有的一下没理解,但佩服LZ的雄心,大力支持一下,继续等待中。。。。。。
回复

使用道具 举报

20#
发表于 2007-12-19 15:55:10 | 只看该作者
不过我菜得很 只能想像一下而已
回复

使用道具 举报

21#
发表于 2007-12-19 15:57:27 | 只看该作者
路过,学习了.!
学习!!!
回复

使用道具 举报

22#
发表于 2007-12-19 22:38:25 | 只看该作者
感觉不错,支持楼主....
回复

使用道具 举报

23#
发表于 2007-12-20 01:12:54 | 只看该作者
谢谢楼主分享!长见识了!
回复

使用道具 举报

24#
发表于 2007-12-20 08:59:36 | 只看该作者
LZ没有提及逻辑磁盘的引导扇概念,其中的数据结构也很重要,该扇区程序是本逻辑盘启动的必不可少的环节,等待详细描述。。。。。。
回复

使用道具 举报

25#
发表于 2007-12-20 17:28:57 | 只看该作者
支持,谢谢楼主!
做做看看。
回复

使用道具 举报

26#
发表于 2007-12-20 19:18:04 | 只看该作者
好高深啊^_^
待续到哪里去了啊?
回复

使用道具 举报

27#
发表于 2007-12-20 22:12:52 | 只看该作者
编程,我不会,你说的原理我看到过,也明白一些,但要我自己去写,相信要下辈子了......
回复

使用道具 举报

28#
发表于 2007-12-22 08:57:36 | 只看该作者
写操作系统呀,不会吧,我可没这能力
回复

使用道具 举报

29#
发表于 2007-12-22 12:12:43 | 只看该作者
一般人没有必要去动手做这些事,了解其原理就够了。
回复

使用道具 举报

30#
发表于 2007-12-22 12:42:48 | 只看该作者
就是很想详细了解系统的启动过程
所以想实践下,系统到底怎么启动的
过程的每一步都尽在自己掌握中
这种感觉应该不错的

用了这么多年电脑,还是不是很了解从按下POWER键
到出现桌面
系统到底干了些什么
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-25 00:50

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表