《自己动手写操作系统》是刚看到的一本书,(虽然已经出版很久了。。。。仅作为操作系统的实现练习和加强对操作系统的理解)。我会把每次遇到的问题和解决方法都一一记录下来,给以后学习的人提供一点点帮助,这就是一件很开心的事了。

这本书由于比较久远了,而且现在很多的软件更新的很快,所以需要很多新的软件代替。

Capter1

问题:

第一,书中的软盘问题

软盘是一个已经落时的东东了,所以刚刚开始准备用一个U盘来做启动盘,后来觉着比较麻烦就使用虚拟软盘.img文件(就是和磁盘具有一样的结构,有MBR,boot Sector,但是虚拟的)来模拟。

第二,虚拟机的问题

我使用的是最新的VMware12.0来加载虚拟软盘模拟出自己制作的OS。

第三,书本的软件nasm,floppywriter(可能的话我会将这些软件上传)

具体操作:

接下来就开始写第一个程序了。保存文件名boot.asm

  org 07c00h          ; 告诉编译器程序加载到7c00处mov    ax, csmov   ds, axmov   es, axcall  DispStr         ; 调用显示字符串例程jmp  $           ; 无限循环
DispStr:mov ax, BootMessagemov  bp, ax          ; ES:BP = 串地址mov   cx, 16          ; CX = 串长度mov  ax, 01301h      ; AH = 13,  AL = 01hmov   bx, 000ch       ; 页号为0(BH = 0) 黑底红字(BL = 0Ch,高亮)mov   dl, 0int    10h         ; 10h 号中断ret
BootMessage:        db  "Hello, OS world!"
times   510-($-$$)  db  0   ; 填充剩下的空间,使生成的二进制代码恰好为512字节
dw  0xaa55              ; 结束标志
使用的是书本提供的软件nasm进行编译得到boot.bin文件
nasm boot.asm -o boot.bin
接下来就是将boot.bin文件使用flooywrite写入Tinux.img文件(这里也可以自己创建.img文件镜像)。自己创建一个文件夹(的叫MyOS)我,将Tinux.img和boot.bin放入其中。

打开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. 自己动手写操作系统-实践

    https://blog.csdn.net/charcy/article/details/6230032?utm_medium=distribute.pc_relevant_download.none ...

  2. 自己动手写操作系统--个人实践

    近期開始看于渊的<自己动手写操作系统>这本书,刚開始看就发现做系统的引导盘居然是软盘!心里那个汗啊! 如今都是U盘了,谁还用软盘.于是考虑用U盘. 于是開始下面步骤: 1.既然书上说给先要 ...

  3. 「操作系统」《自己动手写操作系统》1.1前期准备工作

    一.软硬件 1.硬件 一台计算机(笔者使用的是Win7 x64操作系统) 2.软件 点击此处下载<自己动手写操作系统>的光盘配套文件以及相应工具 汇编编译器:NASM(资源文件中有) 软盘 ...

  4. 自己动手写java虚拟机_自己动手写操作系统(要了解的知识点)

    自己动手写操作系统(开篇) 自己动手写操作系统(字符显示) 说明:Intel 8086 或者不同的处理器,开机寄存器数据可能不一样,但是大致原理差不多 了解过计算机启动的同学肯定知道,当计算机启动的时 ...

  5. 《自己动手写操作系统》读书笔记——初识保护模式

    <自己动手写操作系统>读书笔记--初识保护模式 http://www.cnblogs.com/pang123hui/archive/2010/11/27/2309930.html 书本第三 ...

  6. 全面剖析《自己动手写操作系统》第四章---加载Loader.bin

    全面剖析<自己动手写操作系统>第四章--FAT12文件系统    http://blog.csdn.net/zgh1988/article/details/7284834 1.突破512字 ...

  7. 自己动手写操作系统0

    文章目录 自己动手写操作系统0 环境搭建 NASM VirtualBox 添加软盘启动 VMware 开启虚拟机 其他软件 Floppy 自己动手写操作系统0 参考余渊老师写的<自己动手写操作系 ...

  8. 自己动手写操作系统之环境构建篇

    自己动手写操作系统之环境构建篇 最近开始看自己动手写操作系统,但是书中采用软盘启动很是郁闷,于是想是否可以从优盘启动呢?作为一名BIOS工程师,曾经用优盘启动过dos,linux等系统,于是做了如下尝 ...

  9. 自己动手写操作系统——(1)将引导写入U盘

    为什么写博客呢,想了一下,首先是为了给自己留着复习用,因为时间一长,肯定有好多东西会忘记的,在这里留个记录,以后再整理起来就不会太麻烦了:再者是为了分享一下经验,由于在下比较愚笨,说不定在哪个方面就理 ...

  10. 磨刀不误砍柴工 —— 自己动手写操作系统 入门导引

    磨刀不误砍柴工 刺猬@http://blog.csdn.net/littlehedgehog <自己动手写操作系统>其实阅读所需要的前提不过只是C和汇编了,里面涉及到很多操作系统的东西.于 ...

最新文章

  1. OpenGL纹理上下颠倒翻转的三种解决办法(转)
  2. php error 2,一起搞懂PHP的错误和异常(二)
  3. 深入php-fpm的两种进程管理模式详解
  4. linux用户登录实验,Linux用户和组相关命令及实验
  5. 内蒙古师范大学计算机科学技术学院,内蒙古师范大学计算机科学技术硕士生导师——李成城...
  6. Windows中导出电脑文件名或者文件结构的方法
  7. SQL中过滤条件放在on和where中的区别
  8. 迭代器 in C++
  9. 【语义分割】深度学习中常见概念回顾(全大白话解释,一读就能懂!)
  10. 教你如何正确使用CSDN下载,福利贴,个别方法免积分
  11. 手机自动签到简易应用
  12. UE4 遮挡剔除文档
  13. Google Chrome Frame 自定义渲染方式,调用ActiveX
  14. eplan连接定义点不显示_CAD和EPLAN!电气制图你会选择哪个?
  15. 哈佛幸福课中提到的书_借助虚拟现实,在哈佛最大的班级中排在前列
  16. Win10系统重装方法 简单实现一键重装win10系统
  17. android lut格式文件下载,一键调色?教你用Lut直接调出电影色调(内含下载)
  18. mbp网速很慢_mac网速慢的解决办法_mac上网速度极其慢如何处理-win7之家
  19. php面向过程求圆 三角形 长方形计算,求,圆,三角形,长方形,梯形的面积,周长公式...
  20. 左连接,右连接与自然连接语法以及注意点

热门文章

  1. Passthrough技术简介
  2. PDF文件有密码怎么解除?
  3. 基于C#的房屋租赁管理系统设计与实现
  4. Altium Designer 21/AD21程序安装及注意事项
  5. Revit中导入的CAD标高不统一处理及“标高管理”
  6. PPT训练营-【目录页】
  7. C1083: 无法打开包括文件: “opencv2/opencv.hpp”: No such file or directory
  8. 计算机图形学 dda,计算机图形学直线DDA算法和Bresenham算法精选.doc
  9. 华为hwics格式产品文档打开方式
  10. linux 安装adobe字体,Adobe Creative Cloud应用程序已更新,为iOS 13和iPadOS提供免费的自定义字体...