《30天自制操作系统》笔记(01)——hello bitzhuwei’s OS!【转】

本文涉及的产品
文件存储 NAS,50GB 3个月
简介: 转自:http://www.cnblogs.com/bitzhuwei/p/OS-in-30-days-01-hello-bitzhuwei-OS.html 阅读目录(Content) 最初的OS代码 虚拟机加载helloos.

转自:http://www.cnblogs.com/bitzhuwei/p/OS-in-30-days-01-hello-bitzhuwei-OS.html

《30天自制操作系统》笔记(01)——hello bitzhuwei's OS!

最初的OS代码

复制代码
 1 ; hello-os
 2 ; TAB=4  3  4 ORG 0x7c00 ; 指明程序的装载地址  5  6 ; 以下这段是标准FAT12格式软盘专用的代码  7  8 JMP entry  9  DB 0x90 10 DB "HELLOIPL" ; freeparam 启动区的名称可以是任意的字符串(8字节) 11 DW 512 ; 每个扇区(sector)的大小(必须为512字节) 12 DB 1 ; 簇(cluster)的大小(必须为1个扇区) 13 DW 1 ; FAT的起始位置(一般从第一个扇区开始) 14 DB 2 ; FAT的个数(必须为2) 15 DW 224 ; 根目录的大小(一般设成224项) 16 DW 2880 ; 该磁盘的大小(必须是2880扇区) 17 DB 0xf0 ; 磁盘的种类(必须是0xf0) 18 DW 9 ; FAT的长度(必须是9扇区) 19 DW 18 ; 1个磁道(track)有几个扇区(必须是18) 20 DW 2 ; 磁头数(必须是2) 21 DD 0 ; 不使用分区,必须是0 22 DD 2880 ; 重写一次磁盘大小 23 DB 0,0,0x29 ; 意义不明,固定 24 DD 0xffffffff ; (可能是)卷标号码 25 DB "HELLO-OS " ; freeparam 磁盘的名称(11字节) 26 DB "FAT12 " ; 磁盘格式名称(8字节) 27 RESB 18 ; 先空出18字节 28 29 ; 程序核心 30 31 entry: 32 MOV AX,0 ; 初始化寄存器 33 MOV SS,AX 34 MOV SP,0x7c00 35 MOV DS,AX 36 MOV ES,AX 37 38 MOV SI,msg 39 putloop: 40 MOV AL,[SI] 41 ADD SI,1 ; 给SI加1 42 CMP AL,0 43 JE fin 44 MOV AH,0x0e ; 显示一个文字 45 MOV BX,15 ; 指定字符颜色 46 INT 0x10 ; 调用显卡BIOS 47 JMP putloop 48 fin: 49 HLT ; 让CPU停止;等待指令 50 JMP fin ; 无限循环 51 52 msg: ; 信息显示部分 53 DB 0x0a, 0x0a ; 换行2次 54 DB "hello, bitzhuwei's OS!" ; freeparam 55 DB 0x0a ; 换行 56 DB 0 57 58 RESB 0x7dfe-$ ; 填写0x00,直到0x001fe 59 60  DB 0x55, 0xaa 61 62 ; 以下是启动区以外部分的输出 63 64 DB 0xf0, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00 65 RESB 4600 66 DB 0xf0, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00 67 RESB 1469432
复制代码

 

 

虚拟机加载helloos.img

下载(30天自制操作系统光盘.rar),解压。

将"OS\projects\01_day\helloos1"文件夹复制到"OS\tolset"文件夹下,如下图所示。

进入"OS\tolset\helloos1"文件夹,删除"helloos.nas"文件,然后将上表中的"02helloos.nas"内容保存到此处,并重命名为"helloos.nas"。(即更新helloos.nas文件的内容)

双击"!cons_9x.bat"(若后续操作失败,则双击"!cons_nt.bat"重试),在弹出的命令行窗口中输入"asm",回车;然后输如"run",回车。

之后你就可以看到QEMU这个虚拟机加载启动了(以helloos.nas为源代码生成的)helloos.img这个及其简单的操作系统,如下图所示。

真机加载helloos.img

刚刚是用虚拟机启动的helloos.img这个操作系统,下面介绍如何用物理机器加载启动之。

制作启动盘

首先,准备一个U盘,保证里面的数据你都不需要了。

然后,下载一个UltraISO软件。运行之,打开刚刚生成的helloos.img,如下图所示。

然后,使用菜单项"启动-写入硬盘映像…",如下图所示。

在弹出的窗口中,确定"硬盘驱动器"中选中的是你准备好的U盘,然后点击"写入"按钮,稍候即可,如下图所示。

真机启动

刻录成功了,就是说启动盘做好了。下面就重启电脑,然后选择从U盘启动,你就可以看到真机启动helloos.img了。除了一些细节不同外,和虚拟机加载helloos.img的情况基本一致。

总结

以后继续编写OS用虚拟机测试比较方便。

操作系统的hello world就算完成了。

 

 点此查看下一篇《30天自制操作系统》笔记(02)——导入C语言

如果您愿意花几块钱请我喝杯茶的话,可以用手机扫描下方的二维码,通过微信捐赠。我会努力写出更好的文章。
微信捐赠不显示捐赠者的个人信息,如需要,请注明您的联系方式(微信留言只显示10个汉字)
Thank you for your kindly donation!

【作者】 张昺华
【新浪微博】 张昺华--sky
【twitter】 @sky2030_
【facebook】 张昺华 zhangbinghua
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
目录
相关文章
|
2月前
|
存储 人工智能 运维
龙蜥副理事长张东:加速推进 AI+OS 深度融合,打造最 AI 的服务器操作系统
操作系统如何满足 AI 应用场景需求?未来发展趋势如何?
|
8天前
|
存储 弹性计算 运维
云端问道 7 期实践教学-使用操作系统智能助手 OS Copilot 轻松运维与编程
使用操作系统智能助手 OS Copilot 轻松运维与编程
31 14
|
2天前
|
弹性计算 运维 自然语言处理
操作系统智能助手OS Copilot新功能
作为一名运维工程师,我体验了OS Copilot的-t/-f/管道功能。通过安装组件并运行`co`命令,顺利测试了系统健康度评估、复杂任务处理和配置文件解析等功能。-t参数可快速进入agent模式,-f参数能高效执行复杂任务,管道功能则帮助理解系统配置。建议增加平台支持、明确提示、更多自定义选项及优化自然语言处理能力。OS Copilot极大提升了Linux系统的使用效率,未来有望成为更多用户的得力助手。
|
1天前
|
弹性计算 自然语言处理 Ubuntu
OS Copilot-操作系统智能助手-Linux新手小白的福音
OS Copilot是由阿里云推出的操作系统智能助手,专为Linux新手设计,支持自然语言问答、辅助命令执行等功能,极大提升了Linux系统的使用效率。用户只需通过简单的命令或自然语言描述问题,OS Copilot即可快速提供解决方案并执行相应操作。例如,查询磁盘使用量等常见任务变得轻松快捷。此外,它还支持从文件读取复杂任务定义,进一步简化了操作流程。虽然在某些模式下可能存在小问题,但总体上大大节省了学习和操作时间,提高了工作效率。
22 2
|
1天前
|
自然语言处理 运维 前端开发
OS Copilot-操作系统智能助手-新手小白入门必选~
作为一名安卓开发工程师,我日常专注于前端和移动端开发。然而,在项目推进中偶尔需要部署服务端,这对不熟悉Linux的我来说颇具挑战。每次用命令行工具操作时,常需频繁查阅命令及参数,效率低下。 幸运的是,我发现了阿里云推出的OS Copilot智能助手。它通过自然语言问答功能,让命令行操作变得轻松流畅,帮助我快速定位并解决问题,显著提升了工作效率。安装简单,配置便捷,支持单命令模式和命令行模式,极大简化了Linux操作,成为我得力的开发利器。 总结而言,OS Copilot让我这个Linux小白也能高效处理服务端任务,操作体验焕然一新,是不可多得的智能助手。
|
3天前
|
弹性计算 运维 网络安全
评测报告:阿里云操作系统智能助手OS Copilot体验
评测报告:阿里云操作系统智能助手OS Copilot体验
14 3
|
2天前
|
自然语言处理 运维 Ubuntu
操作系统智能助手OS Copilot新功能评测
OS Copilot是阿里云基于大模型构建的操作系统智能助手,支持自然语言问答、辅助命令执行、系统运维调优等功能,帮助用户更高效地使用Linux系统。主要优势包括智能学习、专业解答、高效协作和便捷的阿里云CLI调用。支持的操作系统有Alibaba Cloud Linux、Ubuntu、Anolis OS和CentOS等。通过简单的命令行操作,用户可以轻松安装、升级或卸载OS Copilot,并利用其多种功能提升工作效率。具体使用方法包括单命令模式、交互模式及问号指令,适用于不同场景下的需求。
14 0
|
2月前
|
存储 人工智能 自然语言处理
OS Copilot"作为一款操作系统辅助软件应运而生,旨在提升用户使用电脑的效率
随着AI技术的发展,"OS Copilot"作为一款操作系统辅助软件应运而生,旨在提升用户使用电脑的效率。它具备智能命令建议、代码片段生成、文件管理助手及任务自动化等功能,适合日常办公与专业开发。安装简便,上手容易,能显著提高工作效率。
41 3
|
3月前
|
存储 人工智能 自然语言处理
“OS Copilot”的操作系统辅助软件
【10月更文挑战第7天】随着AI技术的发展,"OS Copilot"作为一款操作系统辅助软件,通过智能命令建议、代码片段生成、文件管理助手及任务自动化等功能,极大提升了用户的工作效率,无论是日常办公还是专业开发都提供了强有力的支持。其简洁的安装流程、友好的用户界面和强大的搜索能力,使得这款软件成为提升生产力的得力助手。
52 2