实现操作系统
文章目录
实现最小操作系统
前言
一.准备软件
阅读了下《Orange’s一个操作系统的实现》于渊 著,发现上面有个实现最小系统的实验,便尝试了下,发现无法成功,后面又在网络上查看了不少博客。然后才知道书里面使用的是软盘实现的系统。
实验需要的工具链接放在文章前面
-
nasm.exe
-
编译asm文件为.bin文件
- 需要在cmd下执行,powerShell 会有问题
-
将.bin文件写入IMG
- 文件在Release文件夹中
-
虚拟机VMWARE
创建软盘,安装此最小系统
二.编写代码
创建文件boot.asm
- 直接右键新建文本
- 再改名字和后缀 为
TINUX.IMG即可
org 07c00h ; 告诉编译器程序加载到7c00处
mov ax, cs
mov ds, ax
mov es, ax
call DispStr ; 调用显示字符串例程
jmp $ ; 无限循环
DispStr:
mov ax, BootMessage
mov bp, ax ; ES:BP = 串地址
mov cx, 16 ; CX = 串长度
mov ax, 01301h ; AH = 13, AL = 01h
mov bx, 000ch ; 页号为0(BH = 0) 黑底红字(BL = 0Ch,高亮)
mov dl, 0
int 10h ; 10h 号中断
ret
BootMessage: db "Hello, OS world!" ;设置显示文字
times 510-($-$$) db 0 ; 填充剩下的空间,使生成的二进制代码恰好为512字节
dw 0xaa55 ; 结束标志
三.编译代码
-
将编译器
nasm.exe和文件boot.asm放在同一文件夹下 -
文件路径栏打开
cmd -
运行命令 编译代码
nasm boot.asm -o boot.bin
四.写入文件到镜像Image
1.创建镜像文件 TINUX.IMG
- 直接右键新建文本
- 再改名字和后缀 为
TINUX.IMG即可
2.打开 FloppyWriter.exe转换器
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XDawdyVW-1648276549807)(D:\文档\计算机基础\实现操作系统.assets\image-20220119151152215.png)]](/https://i-blog.csdnimg.cn/blog_migrate/353f4c5085c0b812efceb6f86a2dc5a7.png)
3.选择写入文件到镜像
打开选择镜像
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-o2Kxng1B-1648276549808)(D:\文档\计算机基础\实现操作系统.assets\image-20220119151323415.png)]](/https://i-blog.csdnimg.cn/blog_migrate/1691860936a0bb3829a67fb74c2841a7.png)
完成
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EVtmq2vX-1648276549809)(D:\文档\计算机基础\实现操作系统.assets\image-20220119151409023.png)]](/https://i-blog.csdnimg.cn/blog_migrate/28e0e9be891b2a49dfd4a7dc81babfa2.png)
五.在VmWare虚拟机中创建虚拟机
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cp6n0Hdz-1648276667169)(D:\文档\计算机基础\实现操作系统.assets\image-20220119151546555.png)]](/https://i-blog.csdnimg.cn/blog_migrate/300a0b65bdc455d941736215e68db391.png)
选择稍后安装操作系统
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NIIyiRmj-1648276549810)(D:\文档\计算机基础\实现操作系统.assets\image-20220119151617632.png)]](/https://i-blog.csdnimg.cn/blog_migrate/514c2837525c21ed0b76c04ab7d2b045.png)
选择其他操作系统
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RjxrM4RR-1648276549811)(D:\文档\计算机基础\实现操作系统.assets\image-20220119151633763.png)]](/https://i-blog.csdnimg.cn/blog_migrate/74b8cb9bcde937f3d38b9437fe31f7d9.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ztKnEHjF-1648276721934)(D:\文档\计算机基础\实现操作系统.assets\image-20220119153242922.png)]](/https://i-blog.csdnimg.cn/blog_migrate/a9f26a758bc28b7aafa0ebd2d79f7b20.png)
命名虚拟机选择虚拟机存储位置
一般放在自定义的文件夹或者默认皆可
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KChJr8uE-1648276549813)(D:\文档\计算机基础\实现操作系统.assets\image-20220119153504446.png)]](/https://i-blog.csdnimg.cn/blog_migrate/6d41c278989b8fceaec79c5649908b96.png)
指定磁盘容量
此处选最小即可
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eH6NERL5-1648276549814)(D:\文档\计算机基础\实现操作系统.assets\image-20220119153548043.png)]](/https://i-blog.csdnimg.cn/blog_migrate/c102e636f7d4c3aa6d24e6a5801f6418.png)
自定义硬件
此处自定义,或者之后自定义皆可
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0ai5RTGm-1648276549815)(D:\文档\计算机基础\实现操作系统.assets\image-20220119153621020.png)]](/https://i-blog.csdnimg.cn/blog_migrate/e0f1a94ae86015dec4e15ebc6885f172.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OTu5ND9e-1648276549815)(D:\文档\计算机基础\实现操作系统.assets\image-20220119152007957.png)]](/https://i-blog.csdnimg.cn/blog_migrate/e0742495c5fdb39eda883791a827718c.png)
添加软盘
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ok7vZluk-1648276549816)(D:\文档\计算机基础\实现操作系统.assets\image-20220119152201335.png)]](/https://i-blog.csdnimg.cn/blog_migrate/d59d9a244aedb1464d6f8d59d5e75bdd.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JFrUzpdE-1648276549816)(D:\文档\计算机基础\实现操作系统.assets\image-20220119152253424.png)]](/https://i-blog.csdnimg.cn/blog_migrate/2747897572dc6baf7ca7903a8a002561.png)
加载镜像
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wl6wEQT6-1648276549817)(D:\文档\计算机基础\实现操作系统.assets\image-20220119152320887.png)]](/https://i-blog.csdnimg.cn/blog_migrate/a1e805268489b65899169e9d1b8e54a9.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qA0pN3vx-1648276549817)(D:\文档\计算机基础\实现操作系统.assets\image-20220119152352136.png)]](/https://i-blog.csdnimg.cn/blog_migrate/c2a73878c3e44ae27248a51feb4f1cca.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-S5V9jzb7-1648276549818)(D:\文档\计算机基础\实现操作系统.assets\image-20220119152942278.png)]](/https://i-blog.csdnimg.cn/blog_migrate/af3d8254fd7b591cdef9449bc78f1e20.png)
开启虚拟机

效果
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-x8pwyrzA-1648276549819)(D:\文档\计算机基础\实现操作系统.assets\image-20220119153029035.png)]](/https://i-blog.csdnimg.cn/blog_migrate/a27a379fe43416ecea074948b5ddb1f5.png)


3289

被折叠的 条评论
为什么被折叠?



