《自己动手写操作系统》实践(一)
《自己动手写操作系统》是刚看到的一本书,(虽然已经出版很久了。。。。仅作为操作系统的实现练习和加强对操作系统的理解)。我会把每次遇到的问题和解决方法都一一记录下来,给以后学习的人提供一点点帮助,这就是一件很开心的事了。
这本书由于比较久远了,而且现在很多的软件更新的很快,所以需要很多新的软件代替。
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 ; 结束标志
打开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实践。谢谢大家
《自己动手写操作系统》实践(一)相关推荐
- 自己动手写操作系统-实践
https://blog.csdn.net/charcy/article/details/6230032?utm_medium=distribute.pc_relevant_download.none ...
- 自己动手写操作系统--个人实践
近期開始看于渊的<自己动手写操作系统>这本书,刚開始看就发现做系统的引导盘居然是软盘!心里那个汗啊! 如今都是U盘了,谁还用软盘.于是考虑用U盘. 于是開始下面步骤: 1.既然书上说给先要 ...
- 「操作系统」《自己动手写操作系统》1.1前期准备工作
一.软硬件 1.硬件 一台计算机(笔者使用的是Win7 x64操作系统) 2.软件 点击此处下载<自己动手写操作系统>的光盘配套文件以及相应工具 汇编编译器:NASM(资源文件中有) 软盘 ...
- 自己动手写java虚拟机_自己动手写操作系统(要了解的知识点)
自己动手写操作系统(开篇) 自己动手写操作系统(字符显示) 说明:Intel 8086 或者不同的处理器,开机寄存器数据可能不一样,但是大致原理差不多 了解过计算机启动的同学肯定知道,当计算机启动的时 ...
- 《自己动手写操作系统》读书笔记——初识保护模式
<自己动手写操作系统>读书笔记--初识保护模式 http://www.cnblogs.com/pang123hui/archive/2010/11/27/2309930.html 书本第三 ...
- 全面剖析《自己动手写操作系统》第四章---加载Loader.bin
全面剖析<自己动手写操作系统>第四章--FAT12文件系统 http://blog.csdn.net/zgh1988/article/details/7284834 1.突破512字 ...
- 自己动手写操作系统0
文章目录 自己动手写操作系统0 环境搭建 NASM VirtualBox 添加软盘启动 VMware 开启虚拟机 其他软件 Floppy 自己动手写操作系统0 参考余渊老师写的<自己动手写操作系 ...
- 自己动手写操作系统之环境构建篇
自己动手写操作系统之环境构建篇 最近开始看自己动手写操作系统,但是书中采用软盘启动很是郁闷,于是想是否可以从优盘启动呢?作为一名BIOS工程师,曾经用优盘启动过dos,linux等系统,于是做了如下尝 ...
- 自己动手写操作系统——(1)将引导写入U盘
为什么写博客呢,想了一下,首先是为了给自己留着复习用,因为时间一长,肯定有好多东西会忘记的,在这里留个记录,以后再整理起来就不会太麻烦了:再者是为了分享一下经验,由于在下比较愚笨,说不定在哪个方面就理 ...
- 磨刀不误砍柴工 —— 自己动手写操作系统 入门导引
磨刀不误砍柴工 刺猬@http://blog.csdn.net/littlehedgehog <自己动手写操作系统>其实阅读所需要的前提不过只是C和汇编了,里面涉及到很多操作系统的东西.于 ...
最新文章
- OpenGL纹理上下颠倒翻转的三种解决办法(转)
- php error 2,一起搞懂PHP的错误和异常(二)
- 深入php-fpm的两种进程管理模式详解
- linux用户登录实验,Linux用户和组相关命令及实验
- 内蒙古师范大学计算机科学技术学院,内蒙古师范大学计算机科学技术硕士生导师——李成城...
- Windows中导出电脑文件名或者文件结构的方法
- SQL中过滤条件放在on和where中的区别
- 迭代器 in C++
- 【语义分割】深度学习中常见概念回顾(全大白话解释,一读就能懂!)
- 教你如何正确使用CSDN下载,福利贴,个别方法免积分
- 手机自动签到简易应用
- UE4 遮挡剔除文档
- Google Chrome Frame 自定义渲染方式,调用ActiveX
- eplan连接定义点不显示_CAD和EPLAN!电气制图你会选择哪个?
- 哈佛幸福课中提到的书_借助虚拟现实,在哈佛最大的班级中排在前列
- Win10系统重装方法 简单实现一键重装win10系统
- android lut格式文件下载,一键调色?教你用Lut直接调出电影色调(内含下载)
- mbp网速很慢_mac网速慢的解决办法_mac上网速度极其慢如何处理-win7之家
- php面向过程求圆 三角形 长方形计算,求,圆,三角形,长方形,梯形的面积,周长公式...
- 左连接,右连接与自然连接语法以及注意点
热门文章
- Passthrough技术简介
- PDF文件有密码怎么解除?
- 基于C#的房屋租赁管理系统设计与实现
- Altium Designer 21/AD21程序安装及注意事项
- Revit中导入的CAD标高不统一处理及“标高管理”
- PPT训练营-【目录页】
- C1083: 无法打开包括文件: “opencv2/opencv.hpp”: No such file or directory
- 计算机图形学 dda,计算机图形学直线DDA算法和Bresenham算法精选.doc
- 华为hwics格式产品文档打开方式
- linux 安装adobe字体,Adobe Creative Cloud应用程序已更新,为iOS 13和iPadOS提供免费的自定义字体...