《自己动手写操作系统》实践(一)
来源:互联网 发布:非结构化数据的处理 编辑:程序博客网 时间:2024/05/17 07:18
《自己动手写操作系统》是刚看到的一本书,(虽然已经出版很久了。。。。仅作为操作系统的实现练习和加强对操作系统的理解)。我会把每次遇到的问题和解决方法都一一记录下来,给以后学习的人提供一点点帮助,这就是一件很开心的事了。
这本书由于比较久远了,而且现在很多的软件更新的很快,所以需要很多新的软件代替。
Capter1
问题:
第一,书中的软盘问题:
软盘是一个已经落时的东东了,所以刚刚开始准备用一个U盘来做启动盘,后来觉着比较麻烦就使用虚拟软盘.img文件(就是和磁盘具有一样的结构,有MBR,boot Sector,但是虚拟的)来模拟。
第二,虚拟机的问题
我使用的是最新的VMware12.0来加载虚拟软盘模拟出自己制作的OS。
第三,书本的软件nasm,floppywriter(可能的话我会将这些软件上传)
具体操作:
接下来就开始写第一个程序了。保存文件名boot.asm
org07c00h; 告诉编译器程序加载到7c00处movax, csmovds, axmoves, axcallDispStr; 调用显示字符串例程jmp$; 无限循环DispStr:movax, BootMessagemovbp, ax; ES:BP = 串地址movcx, 16; CX = 串长度movax, 01301h; AH = 13, AL = 01hmovbx, 000ch; 页号为0(BH = 0) 黑底红字(BL = 0Ch,高亮)movdl, 0int10h; 10h 号中断retBootMessage:db"Hello, OS world!"times 510-($-$$)db0; 填充剩下的空间,使生成的二进制代码恰好为512字节dw 0xaa55; 结束标志
打开floppywriter/Release/FloppyWriter.exe选择write file to image 第一次选择到boot.bin这个文件然后打开,第二次选择Tinux.img(自己制作的.img也是可以的)然后打开,不出意外的话应该会成功的。
接下来使用虚拟机加载这个虚拟软盘(Tinux.img文件)。
打开VMware创建新的虚拟机,这里使用的是典型的安装(因为主要是用来加载虚拟软盘的,无需更多的配置)。单击下一步。先选择安装,单击下一步
再然后一定要这样,(在选择iso游览时,选择到Tinux.img所在的文件夹,文件类型选择所有文件),最后点击 稍后安装。
单击下一步,选择其他
虚拟机的名称和位置自己定义,单击 下一步,接下来选择 默认的选项,最后点击完成。
点击编辑虚拟机设置
接下来重点来了(一定要点击下面的添加),再选择软盘驱动器(当时不知道这个,弄了好长时间都不对),单击 下一步 , 选择使用 软盘映像
软盘映像选择 刚开始制作的Tinux.img文件,然后单击 完成。 最后点击 确定。
点击 开启此虚拟机。 最后会出现 Hello,OS world 。 你就成功了第一步了。哈哈
希望看到的人能够给我点支持,让我完成所有的OS实践。谢谢大家
- 《自己动手写操作系统》实践(一)
- 自己动手写操作系统(一)
- 自己动手写操作系统(一)
- 自己动手写操作系统(一)
- 自己动手写操作系统(一)
- 自己动手写操作系统(一)
- 自己动手写操作系统(一)
- 自己动手写操作系统--个人实践
- 自己动手写操作系统--个人实践
- 自己动手写操作系统--个人实践
- 自己动手写操作系统--个人实践
- 自己动手写操作系统 - 实践记录
- [自己动手写操作系统]的学习实践【第一章】
- 《自己动手写一个操作系统》个人实践1
- 自己动手写OS(操作系统)
- 自己动手写操作系统(三)
- 自己动手写操作系统( 转)
- 自己动手写操作系统(三)
- geotrellis使用(三十二)大量GeoTiff文件实时发布TMS服务
- Top-K in MapReduce Haddop Framework
- shiro session存redis
- JavaScript : Array.prototype.concat()中涉及嵌套数组
- Search Range in Binary Search Tree
- 《自己动手写操作系统》实践(一)
- 非常可乐 HDU
- 461_Hamming_Distance
- 双列集合
- Lua 变量和赋值运算
- adb应用安装失败分析
- 悦读---《读者》(4)
- [LeetCode 解题报告]016. 3Sum Closest
- 人脸检测算法MTCNN