如何才能自己写一个简单的linux操作系统

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
头像
k9288k
帖子: 812
注册时间: 2012-02-21 22:27
系统: Ubuntu12.04

如何才能自己写一个简单的linux操作系统

#16

帖子 k9288k » 2013-03-11 12:35

cjxgm 写了:
sighforever 写了: 我大学还做过CPU呢,我会告诉你吗?
不过就是在可编程逻辑器件上运行个小程序
我初中还画过 CPU 图纸呢,我会告诉你吗?
当时不知道三极管,用了一堆电磁继电器
macy90
帖子: 1
注册时间: 2013-03-26 17:40
系统: xp

Re: 如何才能自己写一个简单的linux操作系统

#17

帖子 macy90 » 2013-03-26 17:48

请问 9楼的楼主,如果我不是计算机系的,而且想学Linux操作系统,那么应该怎么学学好哪些方面?
C语言我学过还算是理解了,数据结构的就没学,对于操作系统的原理理解到哪几个基本方面才能做出一个最简单的Linux操作系统?
谢宝良
帖子: 1983
注册时间: 2010-05-01 21:23

Re: 如何才能自己写一个简单的linux操作系统

#18

帖子 谢宝良 » 2013-03-26 18:16

楼主干嘛非要写操作系统?
这不是一个人能完成的。
比如xp系统,据说世上还没有一个能全部理解xp系统的全部代码呢。
taohunter
帖子: 1555
注册时间: 2012-03-31 3:29

Re: 如何才能自己写一个简单的linux操作系统

#19

帖子 taohunter » 2013-03-27 17:22

macy90 写了:请问 9楼的楼主,如果我不是计算机系的,而且想学Linux操作系统,那么应该怎么学学好哪些方面?
C语言我学过还算是理解了,数据结构的就没学,对于操作系统的原理理解到哪几个基本方面才能做出一个最简单的Linux操作系统?
对操作系统的理解做到:如果能够清楚地用代码(或算法分析中使用的伪代码,或者流程图都可以)表述从按下电源键开机到在命令行执行一条命令整个过程中包括异常处理的所有步骤,其实就具备了书写一个简单的操作系统的基本能力。有了“流程图”,剩下来的就是用真正的代码去实现它的各个模块了。最基本的模块应该包括:引导、内存管理、进程管理、文件系统管理、设备管理(最基本的包括硬盘、鼠标、键盘、显示器)、用户界面(最简单的就是提示符命令行界面了)。

如果是非计算机系的,恐怕难度会更加大,因为类似数据结构、编译原理、算法分析、计算机系统架构、操作系统原理这类计算机系的理论性的课程几乎是必须用到的知识,这些知识在大学里是要用2年甚至更长的时间系统学习的,仅靠自学或逛逛论坛是很难全面掌握的--除非你周围有一堆计算机工程师或系统软件编程高手可以经常交流,象盖茨和老乔一样。

重复一句,纯粹是个人兴趣的话,尝试写一个类似dos的系统其实就足够有挑战性了,如果再加上一些简单的图标功能就具备了一个现代桌面系统的基本框架了。时代不同了,就连PC也已经复杂到有点儿令人生畏,现在的一两个年轻人已经不太可能有当年盖茨、老乔甚至Linus那种从头做一个操作系统的机会了。一个新款bios里的功能就得花上至少几个月才能研究透,用来引导自己的boot模块吧,更别提多CPU、各种复杂功能的总线结构、显卡、其他控制卡了,Linus可是只花了几个月就有了Linux的最初代码的。

从这一点来说,真怀念当年的Apple II、PC XT。。。
三年后终于回到16.04--稳定了!
ti8er
帖子: 497
注册时间: 2006-10-18 8:48

Re: 如何才能自己写一个简单的linux操作系统

#20

帖子 ti8er » 2013-03-28 21:21

搂主的意思应该是:作出一个自己的操作系统,而不是“写"。
在中国我敢说没一个人能自己写得出的。连LINUX排名第一的大神LINUS都要别人配合。
自己做系统就简单多了。楼主去看看LFS就可以了。
http://www.linuxfromscratch.org
也可以去linuxsir上看看,有中文的。 :em11
回复