x01.os.12: 在 windows 中写 OS

在 windows 中写操作系统,需要一系列的辅助工具。在此,要感谢川谷秀实!所有工具,都在 z_tools 文件夹中。有了大师的帮助,不妨也来尝试在 windows 中写一把 OS。

源代码及工具可到 x01.Lab.Download 中下载。进入 src 文件夹,只有两个文件,一个是 run.bat, 一个是 boot.s。boot.s  都是大同小异的,skip!run.bat 内容如下:

..\z_tools\nask boot.s boot.bin boot.txt

..\z_tools\edimg imgin:..\z_tools\fdimg0at.tek wbinimg src:boot.bin len:512 from:0 to:0 imgout:os.img

copy os.img ..\z_tools\qemu\os.img

..\z_tools\make -C ..\z_tools\qemu

值得一提的是,boot.txt 应该看看,它把机器码与汇编一一对应。edimg 是制作映像文件的关键,这也是川谷的作品。双击 run.bat 即可显示如下画面:

  

OK!看来,在 windows 中写操作系统,也是一件简单的事了。

时间: 2024-10-14 20:14:32

x01.os.12: 在 windows 中写 OS的相关文章

python中os模块在windows下的使用

今天学习了一下Python的os模块,主要是针对文件夹和文件路径的一系列操作. 与Python内置函数相比这里这里的函数功能更多样化,功能也更强大.但是学习过程中我发现很多函数都是只适用于unix系统,可能因为它是开源系统,涉及权限的api都是开放的缘故吧.但也正是如此,当我们再Windows上学习Python时,本来这个板块就难以理解,还具有不可操作性.学起来感觉很受打击. 所以这里把Windows上能用,且适用的函数记录下来,以便于以后复习: 1,os.lseek(fd,pos,how) 方

QT5.x应用在Mac OS X和Windows平台的发布过程

QT是一款非常牛逼的跨平台开发工具,目前可以开发Mac OS X.Windows.Linux.Android.iOS等平台的App.对于Android和iOS平台,发布相对容易,例如,Android平台是生成apk文件上传到Android设备的,所以直接安装apk文件即可.不过对于PC平台(Mac OS X.Windows和Linux)的应用,在发布时就显得麻烦些. 本文主要介绍Mac OS X和Windows平台的发布过程.这两个平台运行的应用都称为可执行程序.Windows平台可执行文件扩展

【转】操作系统Unix、Windows、Mac OS、Linux的故事

电脑,计算机已经成为我们生活中必不可少的一部分.无论是大型的超级计算机,还是手机般小巧的终端设备,都跑着一个操作系统.正是这些操作系统,让那些硬件和芯片得意组合起来,让那些软件得以运行,让我们的世界在科技的领域里一次又一次的享受生活 我们熟知的操作系统大概都是windows系列,近年来Apple的成功,让MacOS也逐渐走进普通用户.在服务器领域,恐怕Linux是无人不知无人不晓.他们都是操作系统,也在自己的领域里独领风骚.这都还得益于另外一个古董级别的操作系统--Unix,虽然说古董级别,只是

OS开发UI基础—手写控件,frame,center和bounds属性

OS开发UI基础—手写控件,frame,center和bounds属性 一.手写控件 1.手写控件的步骤 (1)使用相应的控件类创建控件对象 (2)设置该控件的各种属性 (3)添加控件到视图中 (4)如果是button等控件,还需考虑控件的单击事件等 (5)注意:View Contollor和view的关系 2.注意点 在OC开发中,Storyboard中的所有操作都可以通过代码实现,程序员一定要熟练掌握代码布局界面的能力! 设置控件监听方法的示例代码如下: [btn addTarget:sel

python 中的os模块

Python os 模块提供了一个统一的操作系统接口函数 一.对于系统的操作 1.os.name 当前使用平台 其中 'nt' 是 windows,'posix' 是linux 或者 unix 2.os.sep 输出操作系统的特定的路径分隔符.Win下为"\",Linux下为"/" 3.os.pathsep 输出分格符 输出用于分割文件路径的字符串. Windows下是':',Linux下为":" 4.os.linesep 换行符 输出当前平台是

操作系统Unix、Windows、Mac OS、Linux的故事

文章转自:http://blog.csdn.net/wenmingchan/article/details/49925379 http://www.jb51.net/os/other/159236.html 我们熟知的操作系统大概都是windows系列,近年来Apple的成功,让MacOS也逐渐走进普通用户.在服务器领域,恐怕Linux是无人不知无人不晓.他们都是操作系统,也在自己的领域里独领风骚.这都还得益于另外一个古董级别的操作系统--Unix,虽然说古董级别,只是他年纪大了,性能和功能,U

OS X 和iOS 中的多线程技术(下)

OS X 和iOS 中的多线程技术(下) 上篇文章中介绍了 pthread 和 NSThread 两种多线程的方式,本文将继续介绍 GCD 和 NSOperation 这两种方式.. 1.GCD 1.1 什么是GCD GCD 全称 Grand Central Dispatch,可译为"牛逼的中枢调度器" GCD 基于纯 C 语言,内部封装了强大的函数库 1.2 使用 GCD 有什么优势 GCD 是苹果公司为多核的并行运算提出的解决方案 GCD 会自动利用更多的CPU内核 (如 二核 ,

Mac OS X 访问 Windows 共享文件夹

Mac OS X 访问 Windows 共享文件夹 mac没有网络邻居,但可以使用finder访问局域网中windows共享的文件 1.点击 Finder 前往菜单中的「前往服务器」(或快捷键 command+k) 2.在连接服务器对话框中输入「smb://Windows主机的IP地址」,其中 smb 是访问 Windows 共享文件夹所使用的协议名称,SMB:服务器信息块协议(Server Message Block protocol). 也可以使用计算机名 3.连接Windows主机后会显示

【转】python中的os模块

在自动化测试中,经常需要查找操作文件,比如说查找配置文件(从而读取配置文件的信息),查找测试报告(从而发送测试报告邮件),经常要对大量文件和大量路径进行操作,这就依赖于os模块,所以今天整理下比较常用的几个方法.网上这方面资料也很多,每次整理,只是对自己所学的知识进行梳理,从而加深对某个模块的使用. 1.当前路径及路径下的文件 os.getcwd():查看当前所在路径. os.listdir(path):列举目录下的所有文件.返回的是列表类型 import os dir = os.getcwd(