做一個操作系統(tǒng)不是特別難,除了主流Windows. Android. iOS. Linux.。 還有好多不太出名的操作系統(tǒng)比如朝鮮的紅星系統(tǒng),中國的cos,阿里的云os,黑客組織的Anonymous-OS等等。 但是做一個成功的系統(tǒng)并不是開發(fā)出來那么簡單,后續(xù)還有很多問題。最大的就是應(yīng)用的開發(fā),像主流的安卓.iOS.Windows都有數(shù)不清的應(yīng)用,但是一個新的系統(tǒng)由于使用人數(shù)少,并不會有很多的適配軟件,所以現(xiàn)在有的新開發(fā)出來的系統(tǒng)并不是軟件匹配系統(tǒng),而是讓系統(tǒng)兼容軟件。后續(xù)還有更新,修復(fù)bug等很多問題。 知道的不多,不喜勿噴!
13評論
分享
研發(fā)一款真正成功的操作系統(tǒng),其難度是要高于原子彈、核潛艇之類的,你看看前蘇聯(lián)或者其它國家,可以成功的爆炸原子彈,可以修建核電站,可以發(fā)射衛(wèi)星,但就是搞不出一款成功的操作系統(tǒng),請注意這里說的不是一般般的操作系統(tǒng),而是比較成功、高水準(zhǔn)的操作系統(tǒng),為什么這樣呢?原因有三: 1、一套高水準(zhǔn)的操作系統(tǒng),就是一個社會的縮影,它要兼顧萬般需求、兼容各類客戶,它的穩(wěn)定性、多功能性、兼容性、可擴(kuò)展性這些看似矛盾的要求必須提現(xiàn)在一套軟件內(nèi),因此首先就要求研制者本身具備對社會萬象具備極高的理解力,要見多識廣,否則一個社會可能的需要什么你都不清楚,又如何研發(fā)出一款可以滿足社會各類需求的軟件呢?不可能。 但很多社會本身就不發(fā)達(dá)、文化單一,那么這個社會的需求與見識就必定有限,這就意味著一套成功的操作系統(tǒng),只能在一個開放多元、高度發(fā)達(dá)社會、各類文化豐富多彩的社會內(nèi)才可能被研制出來,因為一套操作系統(tǒng)其實就是一個社會的縮影,沒有極為豐富的見識、沒有千奇百怪的需求,你如何做出一套可以兼容這個社會99%的需求的產(chǎn)品?這就是常說的“你的見識決定了你的高度”。 2、其次是競爭的壓力,即便是在一個發(fā)達(dá)的社會中,各類需求要素都被你掌握了,但如果沒有貌似殘酷的競爭,沒有巨大的壓力,一套成功的系統(tǒng)也不可能被研制出來。 這就像戰(zhàn)爭一樣,沒有生與死的壓力,你個人的才華與潛能根本就不可能被發(fā)揮出來。操作系統(tǒng)也是如此,如果你只是國家出面組織一幫人,關(guān)起門來埋頭研發(fā),我敢說“十年也只是搞出一個四不像來”,因為根本就沒有在市場中被反復(fù)的蹂躪、實證和PK過,不可能有好產(chǎn)品。只有在生與死的壓力下,才可能出好貨。 換言之: 只有在一個純粹市場經(jīng)濟(jì)的環(huán)境中才可能競爭出一個好的操作系統(tǒng)。 3、我們知道,天才之火也要靠利益之油來維持,在軟件行業(yè)特別依靠對知識產(chǎn)權(quán)的尊重,必須依靠購買正版軟件,讓研發(fā)的公司有巨大的利益,愿意持續(xù)投入,才能讓一套操作系統(tǒng)可以數(shù)十年的持續(xù)改進(jìn),維持高水準(zhǔn)、高性能、高的兼容性,在一個盜版橫生的市場上,是不可能誕生一套高級的操作系統(tǒng)的,因為研發(fā)人員早就餓死了。 綜合上述三個條件,就決定了這個地球上能夠研發(fā)一套成功的操作系統(tǒng)的國家只有一個: 美國
7評論
分享
目前操作系統(tǒng)內(nèi)核分為兩大類,1、windows NT內(nèi)核 2、unix內(nèi)核 windows內(nèi)核屬于封閉式僅用于windows系統(tǒng)。而unix的衍生系統(tǒng)太多了,其中最著名的linux和macos。linux不能稱作為系統(tǒng),linux本身就是內(nèi)核。從而又衍生出ubuntu,android。中國完全又能力開發(fā)出自己的操作系統(tǒng),難就難在系統(tǒng)后期的更新和維護(hù),這事一比不小的投資。還有生態(tài)鏈的建設(shè),要有上游的廠商支持,又要有下游的軟件開發(fā)做支撐。
評論
分享
自己玩的話到linux官網(wǎng)下載個linux內(nèi)核,搜索教程可以做個簡單的操作系統(tǒng),如果是像微軟那種閉源很強(qiáng)大很主流的操作系統(tǒng)非常難,我記得vista操作系統(tǒng)內(nèi)測開發(fā)一個開始菜單就用了很多工程師還有很多時間,相當(dāng)大的一個工程,據(jù)說工程師好幾千個。 還有不通架構(gòu)的芯片指令集也不一樣,像ARM是精簡指令集,X86架構(gòu)就復(fù)雜多了,像咱們中國也只能開發(fā)基于Unix或者Linux內(nèi)核的操作系統(tǒng),因為不是軟硬結(jié)合不算自主產(chǎn)權(quán),未來我想也沒辦法,畢竟世界上所有操作系統(tǒng)內(nèi)核和芯片都是國外尤其美國發(fā)明的,這么多年過來你根本沒法逆轉(zhuǎn)這個局勢,世界前10的超級計算機(jī)大半都是基于Linux內(nèi)核的操作系統(tǒng),你們覺得從零開始有多難,就算開發(fā)出來了還是要有硬件芯片指令集授權(quán),你肯定會想自己開發(fā)指令集,但還是難,總之沒有全世界各家硬件和軟件公司支持干不成事的。 Unix內(nèi)核系統(tǒng)分支好多個,目前做得做好是桌面版Mac OS和移動版的iOS,一開始還是開源免費后來大部分商業(yè)化了,直到Linux之父克隆Unix內(nèi)核提倡開源精神,導(dǎo)致一發(fā)不可收拾,我們生活中的很多設(shè)備都基于Linux內(nèi)核的操作系統(tǒng),像家里的路由器,安卓手機(jī),汽車,家電,生活中無處不在 Linux內(nèi)核操作系統(tǒng)一般分X86架構(gòu),ARM架構(gòu)兩個版本,X86架構(gòu)分32位和64位版,常用的有Debian,Redhat,F(xiàn)edora,Ubuntu好多好多,不過我對于Linux分常見的軟件集中管理版本,比如apt的debian、Ubuntu、Linux mint等,yum的Fedora,CenterOS,openSUSE等,像主流的Ubuntu基于debian開發(fā),Linux Mint基于Ubuntu,以前的BT5也是基于Ubuntu,現(xiàn)在的Kali Linux直接基于debian開發(fā),用于安全審計無線安全黑客…… 另外linux內(nèi)核系統(tǒng)桌面環(huán)境還分好多種,常見的GNOME,KDE,Unity(Ubuntu自家的),MATE,Cinnamon等 手打隨便看看,有些也不一定對,只是我這20年用電腦的經(jīng)驗之談,有興趣可以留言交流交流
評論
分享
在這里我也問些問題,不好意思了,本來回答者變提問者了。首先操作系統(tǒng)是什么,干什么用的,沒有操作系統(tǒng)可以嗎? 不知道操作系統(tǒng)是什么,就好像你要做一件產(chǎn)品而不知這產(chǎn)品是干什么用的。產(chǎn)品的功能都不知道怎么做產(chǎn)品?同樣操作系統(tǒng)都不知道是什么怎么做? 其實很多計算機(jī)是沒有操作系統(tǒng)的。沒有操作系統(tǒng)不見得就功能不強(qiáng)大。比如單片機(jī),就沒有操作系統(tǒng)。但它一的作用一點也不少,各種自動控制的家電都有單片機(jī)的存在。 總的來說不知道操作系統(tǒng)要做什么,就不知他的制作難度有多大。
42評論
分享
如果是說要從頭開始研發(fā)內(nèi)核的話,首先要有一群精通計算機(jī)集成電路的人來為內(nèi)核設(shè)計底層交互,要理解各項元器件的電氣原理,比如南橋芯片的總線定義,哪種操作需要用哪種脈沖之類的。有了這些理論基礎(chǔ)之后,內(nèi)核才能夠?qū)崿F(xiàn)與各個元器件之間的調(diào)度交互。 然后是通用可擴(kuò)展接口,比如我們常用的PCI接口,USB接口,這些通用接口可以接駁各種不同的硬件,每種硬件都有不同的電氣標(biāo)準(zhǔn),我們沒有辦法集成到內(nèi)核中,因此要開發(fā)一種通用可擴(kuò)展接口,讓第三方硬件廠家可以依照接口標(biāo)準(zhǔn)自行開發(fā)驅(qū)動程序。 在這之后就是開發(fā)核心功能,比如系統(tǒng)的啟動程序,任務(wù)調(diào)度器,進(jìn)程管理,內(nèi)存管理,IO調(diào)度等。 然后還要為上述功能開發(fā)開放的API,供應(yīng)用層的程序來調(diào)用。比如最基本的控制臺程序。 再然后是基本應(yīng)用程序,比如控制臺,各種資源的管理器,常用的通信協(xié)議的實現(xiàn),用戶界面,各種功能的開發(fā)套件等,涉及到很多東西。 所以你看,真的很難。
1評論
分享
制作一個操作系統(tǒng)并不難,很多大學(xué)計算機(jī)專業(yè)在學(xué)習(xí)操作系統(tǒng)原理、編譯原理課程中有要求學(xué)生自己寫一個簡單版本的操作系統(tǒng);又如現(xiàn)在的嵌入式操作系統(tǒng),代碼很小,具有操作系統(tǒng)的核心功能,也能仿寫一個。那么難在哪里呢?我按重要程度梳理幾條: 1.標(biāo)準(zhǔn)和專利保護(hù) 操作系統(tǒng)出現(xiàn)的時間短,從80年代算起,也就是40年不到,嚴(yán)重受專利保護(hù),其傳播成本又很低,只要優(yōu)先占領(lǐng)市場,就能排斥其他,所以windows系統(tǒng)雖然長期被人詬病,但市場占有率一直在90%以上。其實標(biāo)準(zhǔn)在其中有起重要作用,這跟語言有一比,想想看,在國內(nèi)你用中文發(fā)布消息,如果換成藏語會有那么多人看嗎,自然會選漢語。 2.核心技術(shù)和硬件的兼容 操作系統(tǒng)的核心功能改進(jìn)的比較緩慢,而且與硬件息息相關(guān)。
評論
分享
這個問題本事其實是有問題的,所謂操作系統(tǒng),你是指一個通用操作系統(tǒng),比如Windows一樣,還是一個核心,比如最小化的linux,還是一個嵌入式系統(tǒng),還是一個完整的操作系統(tǒng)生態(tài)。 我假設(shè)你問的是Windows一樣的通用操作系統(tǒng),可以參考windows95的開發(fā)周期,win95最早的測試版貌似是93年就有了,那么可以猜測至少92年就已經(jīng)開始開發(fā)了,到95年發(fā)布,應(yīng)該是三年,然后到中間出過補(bǔ)丁和加強(qiáng),合計算一年好了。要知道做win95之前微軟已經(jīng)開發(fā)過至少三代的windows,所以開發(fā)經(jīng)驗最少需要2年。把這些加起來,就是6年可以做一款成熟的操作系統(tǒng)。 用現(xiàn)代軟件開發(fā)的各種技術(shù)放進(jìn)去,我們假設(shè)可以節(jié)約三分之一的時間,那也需要4年。這需要一支上千人的團(tuán)隊,在極其有經(jīng)驗的項目經(jīng)理的帶領(lǐng)下完成。國內(nèi)找的出這樣的團(tuán)隊? Linux的開發(fā)就不要討論了,因為我們已經(jīng)有了一個Linux,再去開發(fā)一個Linux有多大意義?而且以Linux的開發(fā)模式,在天朝只會半途爛尾決沒成功的可能。 最后說一下,操作系統(tǒng)就算真的做出來,上面沒軟件的話,通通都是扯淡。
評論
分享
|
|
來自: 大隆龍 > 《編程技術(shù)》