其实写操作系统不难
- 四维写操作系统这个事,对于个人来说,最难的是:1.无比浓厚的兴趣;2.无穷的耐心;3.永无止境的时限;4.花不完的钱,对吃住完全不担心。这四大难题随便一个足够让一个普通程序中止步操作系统的梦。当然如果你的主业就是搞操作系统,第四点就不算问题
其实操作系统,可以简单可以复杂,简单的如单任务系统,操作系统只提供键盘屏幕磁盘的api和最基本的用户界面,用户运行程序时,整个电脑全权交给那个程序独占。DOS就是这种,提前写好键盘屏幕的api,用中断号代表,程序用int xxx来调用操作系统的api就可以了。
d版的程序员,用个人的力量,应该能做出这种级别的操作系统。
如果要复杂一点,比如多任务管理等。就要有做平台的概念。这个时候有点像做游戏。你可以把游戏看作多用户多任务操作系统,一个用户是玩家,另一个用户是游戏内部的脚本,脚本输入命令:house xxxx,yyyyy,zzzz然后游戏平台就协调硬件资源,在xxxx,yyyyy,zzzz空出个地,运行一个house当house被导弹炸了,平台就清空该house的相关资源
复杂的系统,就不是一个人的活,是一个团队的活。你要团队所有人,长时间保持热情,保持专注,保持耐性,花不完的钱,才是最难的。 人生如梦 - 木鱼虫写一个人用的OS跟写几亿人用的OS难度相差几亿倍
- amx_002写不难,有人用才难
- windxin这说起来,就是难度很大!
- longwayhome嗯 iOS fly ~
- jckimi我写个while(1);,他也是操作系统 Kimi
- lance6716> 操作系统只提供键盘屏幕磁盘的api和最基本的用户界面,用户运行程序时,整个电脑全权交给那个程序独占
你那个程序是怎么运行的,直接下载的编译好的东西吗?人家编译时是Linux版的,虚拟内存管理是交给操作系统的,那操作系统是不是就要提供虚拟内存管理功能?那是不是要自己维护缺页响应、内存空间权限、内核和动态库? - shadow12操作系统是计算机软件工程难题,并不是编码或者算法难题
- monkeyfunc这个我也会:
操作系统 - VIP.1有花不完的钱我还写毛的操作系统 iOS fly ~
- B-SIDE满足以上条件拿,上清华不难,诺贝尔奖不难,上天也不难。
- 瞎球逛花不完的钱有点夸张了,3~5K亿美元应该能做到一个不错的操作系统,操作系统是可以赚钱的,并不是非要把别的系统打趴下才开始赚钱。
- se_happy满足这些条件,还有什么是难的?
当美国总统也指日可待 iOS fly ~ - xuwei3电脑其实很简单,不就是0和1吗。
- ylwxb嗯,世上无难事只怕有心人。
小时候认为这话说的没毛病,差点成了座右铭,大了后觉的说这话的人脑子有毛病。 - crestlab来 lz写个最简单的操作系统我瞅瞅
- mozhenliang《30天自制操作系统》,日本佬写的,人民邮电出版,京东有售
- socode好像linux最早一个人写出来的吧?紫薯布丁
- trokey世上无难事,只有楼主肯下手。
- zengxin工程难度难到无法想象,这么多体系结构要支持,那么多外设驱动,用户层面也要考虑
- adsl写“也许”不难,但要别人用就难了 回复仅供参考
- alvise计算机专业的都学过 操作系统 课吧,真写起来没那么高不可攀,基础代码都有参考,经典教程 《操作系统: 设计及实现》 就是分析实现的操作系统。minx 。当年linus 就是参照这个来写linux的
- 寒冰炫操作系统不难,
我个人的理解是
输入,解析,处理,输出
难的是完善 - shadowmage差几千倍而已吧
- tbacc楼主你先来一个,然后再发帖
- 烂人村村民
- inhome这种几千人的团队,如何能保证协同效率,控制风险。作为外行我想都不敢。
- vonsyLinux 内核0.11 完全注释
http://www.oldlinux.org/download/clk011c-3.0.pdf
吹牛逼更简单, 比PPT还省事, 动动嘴皮子就造出来了.
在v2ex(https://www.v2ex.com/t/591198#reply70)看到...没有官网……没有文档……没有地方下代码……发布会上说的,都是“未来” - 四维这个属于周边配套开发工具的问题,根本不是操作系统问题
你问这个问题相当于:我一个Linux程序如何在windows下运行
开发windows程序时和linux程序时,都需要配套的sdk,也就是一大堆c,cpp,asm和h文件,不同的os对应不同的sdk库和工具链
对于初生的os,可以直接用机器码或者汇编语言。
搞单片机的经常要做类似os的东西。 人生如梦 - qiuyuke
- fy883写要看完整度,玩具类型确实不难 发个参考https://blog.csdn.net/qq_24328101/article/details/51926014
- tonie主要得有人用还得赚钱。。。
- SZERO你要看是写什么操作系统,有个日本人写了本叫30天自制操作系统的书,虽然我觉得30天写出来操作系统的不太可能,但是其中蕴含了操作系统的基本原理,个人写是能写,但是这个系统会有着各种漏洞,离真正使用还差得远。看“程序用int xxx”这句就知道楼主不懂什么程序,起码是import,难道都是整型数据?要设计出一个实际可用,安全性高,能处理多并发任务的操作系统这东西需要大量的人力物力,然而光有钱只是必要条件而不是充分条件,在最初的架构设计上需要的还有天赋和远见。程序开发可不是什么大力就一定能出奇迹的地方,即使真的有“花不完的钱”,也不一定能做出个好东西。最后想说一下,专业的事情只有专业的人才能做出评判,最可怕的就是不懂装懂的人在带节奏。
- 莲尖想当然了,写一个能用的操作系统很难。 iOS fly ~
- skyworch生个孩子也很简单
- forfun
- 又是春天这就够难了HiPDA怪兽版
- vlt先发明一种汉字语言,用汉字写,和国外的系统划清界限
- 四维看你说这句话,说明你不是计算机系毕业
int xxx
是汇编语言 的语句。前面我已经提到中断调用。int就是8086汇编语言的软中断语句。xxx是中断号。调用不同设备需要调用不同中断。磁盘我记得是int 13.在执行int 13之前,要往对应的地址mov一些参数和数据
dos有一个软中断表,是指向对应硬件的驱动程序的起始地址。
所以呢,病毒程序经常攻击中断表,以实现Hook - 四维+10086
操作系统从来不是技术难题,而是工程架构甚至是人员管理问题。 - 四维回复40#莲尖
ms-dos 1.x (不是1.0)是比尔盖茨的10人以下小团队(小团队还有个扫地阿姨)花几个月捣腾出来的,并且卖钱。他们的技能也就是当时程序员的标配:会CPU机器码和汇编语言。‘
当时的ms-dos 1.x 提供屏幕显示、键盘输入、磁盘操作、文件操作等int,以及外围工具如汇编语言编译器、磁盘格式化,文件拷贝等。没错,文件拷贝,磁盘格式化这种现代操作系统应该提供的功能,当时的操作系统并不内置,而是作为外围工具包存在。如果把外围工具包的磁碟从电脑拿走,这套电脑正在运行的操作系统是没有拷贝功能的。 - wuketidai弄个玩具出来当然不难,难得是十年如一日高质量的维护开发下去,光这个量级周边的功率,文档管理,build system 这些都是很挑战的
- 四维这句话没有毛病,前提是:1.有非常浓厚的兴趣,2.不为生活发愁
所以脑子正常的程序员,谁没事从零开始写操作系统?干点更有意义的事情不更好? - 莲尖回复47#四维
dos 是 盖茨买来接着改的 iOS fly ~