现阶段有无详细的教程?
从学习到完成需要经历多少时间?
MAC 环境下的操作
1
matsuz 2018-03-11 00:44:17 +08:00 via iPhone 3
《 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 3
问题应改为“如何从零开始抄一个别人的操作系统?”
|
4
Mirana 2018-03-11 01:01:49 +08:00 2
|
6
akira 2018-03-11 01:05:38 +08:00 5
<<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 1
|
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 3
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
xiadong1994 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 保护模式
|
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 1
|
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 1
|
54
zjsxwc 2018-03-11 19:02:19 +08:00
按大学里课程学啊,先学习 8086 处理器以及汇编等硬件知识,然后找本操作系统的教材过一遍,最后自己实现个简单的多进程调度器就行了
|
55
xiadong1994 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 1
最近膨胀了,连这种主题都都敢点进来了。
|
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 那个时代可以参考的书多了许多而已。。。
|