我喜欢编码,但我目前只做网络开发.我想做一些独特而有趣的事情,与网络编程有很大不同.
是的,这可能是一个愚蠢的问题,但我认为构建一个非常简单的操作系统真的很酷.所以请不要说粗鲁.我只想知道以下事项:
*从哪儿开始?*资源*我会使用哪种语言?
我在想一些简单的基于cmd的东西
mar*_*c_s 19
操作系统设计的绝对"圣经"是Andrew Tanenbaum的操作系统设计和实现 - "龙"书:-)

还有很多其他参考资料,例如开发自己的32位操作系统.
Microsoft Research还有一个关于在托管代码(C#)中创建名为Singularity的操作系统的项目- 可能会提供一些见解/论文等.
编写完整的操作系统既不是一项微不足道的工作,也不是一项快速的任务,
从webdev切换到后端将非常令人沮丧.
首先,选择一个板/硬件/架构 - 甚至可以选择一个可以在你的机器上运行的OS模拟器.学习C和一些程序集(intel,MIPS,ARM,coldfire/motorolla 68k),具体取决于您构建操作系统的CPU架构.
我已经看过C++软件包,它允许你用C++编写一个操作系统,然后自动将它转换为汇编,但要让它们正确转换是一件令人头疼的问题.我不推荐他们.
在开始编写代码之前,您应该设计您的操作系统.也许甚至可以将您的设计决策放在50页的纸上,并附上一些图表.
有些事情要考虑:
message envelopes {sender process id, receiver process id, message type, message})编辑 - URL更新 开发您自己的32位操作系统已绝版,但可在线获取:http: //www.ipdatacorp.com/mmurtl/mmurtlv1.pdf
以下是一些可以帮助您入门的链接:
http://www.brokenthorn.com/Resources
http://wiki.osdev.org/Main_Page/
你需要GCC和NASM.我想你也可以使用GASM.
学习BIOS中断.
在您开始之前还要开始采用一系列标准,例如:APIC A20 Gate PCI和PCIEx - 祝您好运之一.花费一些变化.英特尔和AMD - 看看这些,给你很多信息.VGA ATA和SATA等......有很多.
还可以抓取仿真器:bochs和qemu
了解计算机的工作原理,即它是如何启动的.
那里有很多信息你只需做你的研究.
祝好运.