一位独立开发者gusc准备开发自己的系统了,但是今天他准备分享一下具体怎样开发的步骤。
对于初学者来说,就是让你的代码成功在cpu上运行,且不需要任何底层操作系统,但首先你得有个计划:
一.计划
1. 瞄准现代架构,intel 64,比如ivy bridge, 酷睿3rd i5 cpu 集成intel hd 4000 gpu 以及 b75 express芯片组
2.避免遗留数据,尽快的删除它们,甚至可以跳过保护模式而直接进入长模式
3. 尽快跳到c语言
4. 忘掉旧pci、ide、ps/2、串行/并行端口;也忘掉bios( basic input output system)、uefi,我自己准备瞄准pcie, sata, usb
5. 避免使用grub或任何其他multiboot引导装载程序,一切以c代码为唯一执行代码
二.更详尽的一些计划
1. 使用c、c 和一些流行的脚本语言(python 或 interpreted c):c作为内核和核心路径语言;c 作为gui的语言;用户空间使用脚本语言,没有编译,也能深度集成到操作系统,可让编写应用程序更加容易
2. 模式驱动程序基于uri,例如:file://localhost/my documents/ or just /my documents/ in the file browser
3. 不用unix目录树,这个不能告诉用户什么东西,比如我第一次使用/ etc并不知道它是是存储配置文件的意思,也分不清 /bin, /usr/bin以及 /usr/local/bin 的意思。而是简单的:
/applications –安装用户空间应用程序
/configuration – 保存所有用户空间配置文件
/documents – 保存用户所有的文件
/system – 这是系统目录 – 这个目录除了驱动和内核不能被任何人访问等等
4. 对于创建api我有自己的一些想法, 不用posix,它只是api上的一个抽象层
5. 从一开始使用gui,命令bios显示一个可爱的logo并试图避免任何闪烁
三.从我个人的研究我所发现的事情是
1. 启动顺序:bios、master boot record (mbr)、bootloader、内核
2. 在windows上, 如何编写自己的mbr并将它写到磁盘上。我已经用visual c 写了小实用程序,允许直接从磁盘读/写
3. 如何用visual studio编写功能
四.有用的工具
1. visual c 2010 express edition ——我自己用的xp,所以没用vs2012 express
2. netwide assembler
3. bochs——x86模拟器, 所以你不需要写入磁盘, 连接、启动、看到错误, 关闭,重写你的内核, 写入磁盘
4. cygwin—windows unix 工具
via gusc.lv
(雷锋网 济慈专稿,转载请注明来自雷锋网及作者)
请帮我这个服务器设置个定时重启腾讯云服务器校园机不能买国外客户反映这个网站的打不开为什么seo要做链接优化 seo深度链接优化作用云服务器备案查询主机遭到攻击该主机主要用于旅游网站服务阿里云服务器租部署管家婆云服务器多少钱