现阶段有无详细的教程?
从学习到完成需要经历多少时间?
MAC 环境下的操作
![]() | 1 matsuz 2018-03-11 00:44:17 +08:00 via iPhone ![]() 《 30 天自制操作系统》了解一下 |
![]() | 2 matsuz 2018-03-11 00:48:12 +08:00 via iPhone 自己照着教程写操作系统并不能倒逼你学会计算机组成原理 更多的是能给你一种虚无的成就感,因为这个东西做出来其实并没有什么鸟用 |
3 hourann 2018-03-11 00:56:06 +08:00 via iPhone ![]() 问题应改为“如何从零开始抄一个别人的操作系统?” |
4 Mirana 2018-03-11 01:01:49 +08:00 ![]() |
![]() | 6 akira 2018-03-11 01:05:38 +08:00 ![]() <<30 天自制操作系统>> https://book.douban.com/subject/11530329/ <<Orange'S:一个操作系统的实现>> https://book.douban.com/subject/3735649/ 一个专门给类似你这样的人群搭建的 wiki https://wiki.osdev.org/Main_Page 恭祝楼主早日成功 |
![]() | 7 cszhiyue 2018-03-11 01:06:39 +08:00 ![]() |
![]() | 8 echoZero 2018-03-11 01:11:36 +08:00 大学有门课程好像就是讲的这个 最后就会有个教程让自己做一个操作系统 |
9 Remember 2018-03-11 01:15:09 +08:00 xenix 了解一下 |
![]() | 11 feather12315 2018-03-11 01:15:42 +08:00 via Android 建议站在巨人的肩膀上,超前看。学习下理论就行了,有兴趣读读 Linux subsystem 相关的文档啥的。 |
![]() | 12 gtalk 2018-03-11 01:28:25 +08:00 你需要一部固话座机,然后 010101... |
13 yhzwy 2018-03-11 01:30:02 +08:00 ![]() mit 的 6.828 |
14 youxiachai 2018-03-11 01:31:21 +08:00 via iPad |
![]() | 15 kingcos 2018-03-11 01:38:55 +08:00 via iPhone 先从简单的开始呗,何必画个太大的饼(当然这个也不是很大的饼,但起码从楼主的问题感觉问的挺幼稚)。 一步一步按步骤来的教程,走下来除了卡壳的地方可能自己会去搜索,其他收获也并没有多少。 |
16 shutongxinq 2018-03-11 01:51:33 +08:00 |
![]() | 17 fghjghf 2018-03-11 02:12:01 +08:00 《 30 天自制操作系统》是本劣质书籍,只适合没啥基础,猎奇的读者。不建议看。 想做操作系统,商业的就不说了,你 100%做不到。就说做个试验品,也不是一件容易的事。 有心想做的话建议从基础学起,掌握一定高数基础后,从模电数电开始、到微机接口、组成原理、汇编、编译原理、再到上层的数据结构和算法、设计模式,当然,还有很多衍生学科要你遇到再补的。这些书你去参考豆瓣评分吧。学好了,再看 Intel 的手册,自己实现编译器,自己实现一门编译型语言,然后再以学习为目的做个操作系统。全日制的天天学,全年无休,估计全套下来,没个 5 年左右真不行。 |
![]() | 18 vegito2002 2018-03-11 02:16:08 +08:00 找个 Pintos 或者 xv6 的 OS 课程作业做做看再说, 认真做其实已经能学到很多东西了; 就算是这种高难度 OS 作业, 最后实际上你的内容也只是填空, 实现一些功能增强的代码而已, 基本 OS 的底层框架其实大部分是牛人提供的代码就已经帮你写好了; 如果想要自己从 0 开始做, 而且不是简单复制别人的, 先确定自己能看懂这些人的底层代码再说. 我作业做完之后看过作者提供的基础代码, 真的是这些人的水平不服不行. |
![]() | 20 20015jjw 2018-03-11 03:36:42 +08:00 via Android pintos 可以先做一下 |
![]() | 21 xupefei 2018-03-11 05:34:06 +08:00 https://www.cs.helsinki.fi/u/kutvonen/index_files/linus.pdf 这个如何,结构够简单,要点全都有. |
22 trn4 2018-03-11 05:41:56 +08:00 via iPhone @shutongxinq 巧了,我这学期就上这课 |
![]() | 23 gbin 2018-03-11 06:17:54 +08:00 via Android 战略性马克 |
24 snnn 2018-03-11 06:23:41 +08:00 via Android 你先去学怎么写一个 bootloader,怎么从实模式切换到保护模式。至少,把 intel handbook 通读一遍 |
![]() | 25 zhangxiaogang 2018-03-11 07:52:22 +08:00 via iPhone 之前也有这样想法,看的是《 Linux 内核完全剖析基于 0.12 内核》 非常不错。 |
![]() | 26 ynyounuo 2018-03-11 08:24:36 +08:00 via iPhone 可以看看 xv6 网上大把教程 |
![]() | 27 seaswalker 2018-03-11 09:39:45 +08:00 via iPhone @zhangxiaogang 读这本书之前建议先学汇编,从 8086 开始再到 X86 保护模式/div> |
28 lScarlet 2018-03-11 09:41:03 +08:00 via Android 000001111111 1111000000 |
![]() | 29 zjqzxc 2018-03-11 09:43:31 +08:00 如果不局限于电脑操作系统,可以先试试做一个嵌入式操作系统嘛 比如看看 FreeRTOS 的源码什么的,(相对)也不算多,有可能就弃坑了呢 当然,嵌入式 cpu 结构简单,如果操作系统这门课学得扎实的话,自己对照着芯片手册设计一个简单(简陋\半残)的操作系统也不是没可能。 当然能不能用另说。反正能实现任务切换就可以说自己是操作系统了呗。 |
![]() | 30 allenhu 2018-03-11 09:44:12 +08:00 via Android 发帖的时间都搜出不少资料了,你只是闲吧? |
![]() | 31 zhujinliang 2018-03-11 09:49:05 +08:00 via iPhone 大学时在 51 单片机上实现了一个只读的 FAT 文件系统,具体忘了花了几天了。一个可用的操作系统的话你可能需要实现上百个模块,不敢想 |
32 xpresslink 2018-03-11 09:54:55 +08:00 一看楼主就是个正常人,开发一套操作系统程序员的三大浪漫之一啊。 程序员的三大浪漫被认为是操作系统、编译原理和图形学。 为什么呢,因为都是穷尽个人毕生精力投入未见得有什么摸得着的成果的事业。 楼主之所以有这个想法,就是因为对这件事缺少了解。 |
33 shutongxinq 2018-03-11 10:20:06 +08:00 @xiadong1994 good luck。我二年级的时候给老板说想上这个课,他说如果你上了就做好晚一学期毕业的打算。我有个学弟这周三就因为这个课通宵了。。。 |
34 Mirana 2018-03-11 10:26:14 +08:00 我有个 os 项目做了一年了,从头开始写的 |
![]() | 35 cielpy 2018-03-11 10:37:12 +08:00 |
![]() | 36 cielpy 2018-03-11 10:38:18 +08:00 还有一个正在开发中的操作系统 https://github.com/redox-os/redox,了解一下? |
37 yomiko123 2018-03-11 10:50:33 +08:00 想法不错 |
![]() | 38 jsun 2018-03-11 10:51:38 +08:00 有这样的想法挺好,加油 |
![]() | 39 noahhhh 2018-03-11 10:53:43 +08:00 via Android 从前自己有过类似的,想做个游戏 233 |
![]() | 40 funcman 2018-03-11 11:05:36 +08:00 via Android hi 哥们 一般如果你有比较近的提升自己的想法 还是建议看比较偏应用的东西。 |
![]() | 41 BruceYuan 2018-03-11 11:09:08 +08:00 我抄过一个 mini 的(人家代码写的真的好)。不过我们老师不识货 |
42 jetbillwin 2018-03-11 11:15:33 +08:00 m |
![]() | 43 cabing 2018-03-11 11:24:19 +08:00 以前还想学习写一个,后来工作忙。。就丢下了这个想法了,再后来一直懒得开始了~ |
44 yangzhezjgs 2018-03-11 11:45:09 +08:00 ![]() |
![]() | 45 WinMain 2018-03-11 11:54:55 +08:00 当初看了一点点 Linux 开机的流程细节就觉得学到了不少东西,要是真能自己从头到尾设计一个简单的 OS,我觉得不管对于工作还是面试都是自身成长都是很好的。 |
![]() | 46 kajweb 2018-03-11 12:29:08 +08:00 同样想法,正在收集资料 |
![]() | 47 EricXuu 2018-03-11 12:35:52 +08:00 via Android MIT 的 JOS |
48 bulldozer 2018-03-11 12:36:35 +08:00 via iPhone 不如从零开始写个 android 实用…有人干过没? |
49 kotokz 2018-03-11 15:19:56 +08:00 |
50 aminic 2018-03-11 15:26:21 +08:00 via Android 楼上的兄弟们太勤快了,copy 一份 bsd 或者 linux 就 ok 了啊 |
51 wlwood 2018-03-11 16:21:49 +08:00 via Android @xpresslink 不是还有个 AI 吗?(逃 |
52 phoebuss 2018-03-11 17:00:46 +08:00 via Android ![]() |
![]() | 54 zjsxwc 2018-03-11 19:02:19 +08:00 按大学里课程学啊,先学习 8086 处理器以及汇编等硬件知识,然后找本操作系统的教材过一遍,最后自己实现个简单的多进程调度器就行了 |
55 trn4 2018-03-11 22:11:27 +08:00 via iPhone @shutongxinq 现在感觉还行,project 没有我想象中的那种无从下手的难 |
56 zzzz76 2018-03-11 22:31:53 +08:00 https://chyyuu.gitbooks.io/ucore_os_docs/content/ 清华的大三教程,资源很齐全的~ |
57 fakevam 2018-03-12 00:06:18 +08:00 写个 hypervisor 吧, 这个比写个 os 好玩点 |
58 oroge 2018-03-12 00:12:52 +08:00 via iPhone 斯坦福 cs140e 了解一下,用树莓派+rust。看上去符合你需求 |
![]() | 59 ioth 2018-03-12 10:25:04 +08:00 操作系统不只是底层了。 工资也快成底层了,现在忽悠的是区块链。 两张纸就可以融资几千万。 |
60 testuserll 2018-03-12 10:27:20 +08:00 ![]() 最近膨胀了,连这种主题都都敢点进来了。 |
![]() | 61 wangbenjun5 2018-03-12 12:40:32 +08:00 恕我直言,现代操作系统是很多牛人理论+实践共同奋斗了几十年的结果,一个人是不可能完成这个任务的,最多也就弄明白原理,然后山寨一个而已,除了吹牛逼毫无意义。真有这精力还不如把精力放在下一代操作系统的研究上 |
![]() | 62 nodekey 2018-03-12 14:01:25 +08:00 上学期的时候也有这个想法,听大佬说《操作系统真象还原》不错,然而看了三个月也没看完(当然中间穿插看了一些其他书),除了汇编和一些乱七八糟的知识以外就没什么收获了,搞得我现在春招实习我很尴尬…… |
![]() | 63 MarkLeeyun 2021-07-08 11:28:31 +08:00 @fghjghf 5 年都是保守估计。。不过现在比起 dos 那个时代可以参考的书多了许多而已。。。 |
64 Lizhecao &nbs;227 天前 加油! |