如何从零开始写一个自己的操作系统?

2018-03-11 00:35:30 +08:00
 yiran7324

最近实在是想做一点别人不能做的事情,除了装逼还想倒逼自己多学习些基础的计算机组成原理。

  1. 现阶段有无详细的教程?

  2. 从学习到完成需要经历多少时间?

  3. MAC 环境下的操作

20827 次点击
所在节点    程序员
63 条回复
xupefei
2018-03-11 05:34:06 +08:00
https://www.cs.helsinki.fi/u/kutvonen/index_files/linus.pdf
这个如何,结构够简单,要点全都有.
xiadong1994
2018-03-11 05:41:56 +08:00
@shutongxinq 巧了,我这学期就上这课
gbin
2018-03-11 06:17:54 +08:00
战略性马克
snnn
2018-03-11 06:23:41 +08:00
你先去学怎么写一个 bootloader,怎么从实模式切换到保护模式。至少,把 intel handbook 通读一遍
zhangxiaogang
2018-03-11 07:52:22 +08:00
之前也有这样想法,看的是《 Linux 内核完全剖析——基于 0.12 内核》 非常不错。
ynyounuo
2018-03-11 08:24:36 +08:00
可以看看 xv6
网上大把教程
seaswalker
2018-03-11 09:39:45 +08:00
@zhangxiaogang 读这本书之前建议先学汇编,从 8086 开始再到 X86 保护模式
lScarlet
2018-03-11 09:41:03 +08:00
000001111111 1111000000
zjqzxc
2018-03-11 09:43:31 +08:00
如果不局限于电脑操作系统,可以先试试做一个嵌入式操作系统嘛
比如看看 FreeRTOS 的源码什么的,(相对)也不算多,有可能就弃坑了呢

当然,嵌入式 cpu 结构简单,如果操作系统这门课学得扎实的话,自己对照着芯片手册设计一个简单(简陋\半残)的操作系统也不是没可能。
当然能不能用另说。反正能实现任务切换就可以说自己是操作系统了呗。
allenhu
2018-03-11 09:44:12 +08:00
发帖的时间都搜出不少资料了,你只是闲吧?
zhujinliang
2018-03-11 09:49:05 +08:00
大学时在 51 单片机上实现了一个只读的 FAT 文件系统,具体忘了花了几天了。一个可用的操作系统的话你可能需要实现上百个模块,不敢想
xpresslink
2018-03-11 09:54:55 +08:00
一看楼主就是个正常人,开发一套操作系统程序员的三大浪漫之一啊。
程序员的三大浪漫被认为是操作系统、编译原理和图形学。
为什么呢,因为都是穷尽个人毕生精力投入未见得有什么摸得着的成果的事业。

楼主之所以有这个想法,就是因为对这件事缺少了解。
shutongxinq
2018-03-11 10:20:06 +08:00
@xiadong1994 good luck。我二年级的时候给老板说想上这个课,他说如果你上了就做好晚一学期毕业的打算。我有个学弟这周三就因为这个课通宵了。。。
Mirana
2018-03-11 10:26:14 +08:00
我有个 os 项目做了一年了,从头开始写的
cielpy
2018-03-11 10:37:12 +08:00
cielpy
2018-03-11 10:38:18 +08:00
还有一个正在开发中的操作系统 https://github.com/redox-os/redox,了解一下?
yomiko123
2018-03-11 10:50:33 +08:00
想法不错
jsun
2018-03-11 10:51:38 +08:00
有这样的想法挺好,加油
noahhhh
2018-03-11 10:53:43 +08:00
从前自己有过类似的,想做个游戏 233
funcman
2018-03-11 11:05:36 +08:00
hi 哥们 一般如果你有比较近的提升自己的想法 还是建议看比较偏应用的东西。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/436880

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX