這兩天看了兩個(gè)項(xiàng)目,都是用Java編寫的操作系統(tǒng)。
1)JNode.org
2)JSysos
兩者都是可以用Java來寫驅(qū)動的。
前者幾乎全是Java源文件99%以上,少量的匯編語言,沒有C代碼。寫的很是賞心悅目。匯編語言編譯器使用的是Nasm,語法很清晰。
可惜很容易就沒內(nèi)存了,據(jù)使用懷疑是GC沒有很好的實(shí)現(xiàn)。在調(diào)用Java方法的時(shí)候采用即時(shí)編譯成匯編指令,
這樣性能不會很理想。
后者是C+java的方式,先把class編譯成匯編代碼,然后一塊鏈接。少量的匯編代碼,內(nèi)存管理使用CPP.
這種方式應(yīng)該性能優(yōu)于前者。這個(gè)系統(tǒng)里面沒有Java虛擬機(jī),操作系統(tǒng)用Java語言寫而已。既利用了Java的優(yōu)雅語法,又不損失性能,個(gè)人更看好這種方式的Java OS
話說回來,操作系統(tǒng)設(shè)計(jì)已經(jīng)好久沒有創(chuàng)新了,使用Java不失為一個(gè)好主意。利用Java的天生的安全性,寫出來的操作系統(tǒng)應(yīng)該不會像現(xiàn)在的操作系統(tǒng)一樣病毒橫生,期待他們的成功!
1)JNode.org
2)JSysos
兩者都是可以用Java來寫驅(qū)動的。
前者幾乎全是Java源文件99%以上,少量的匯編語言,沒有C代碼。寫的很是賞心悅目。匯編語言編譯器使用的是Nasm,語法很清晰。
可惜很容易就沒內(nèi)存了,據(jù)使用懷疑是GC沒有很好的實(shí)現(xiàn)。在調(diào)用Java方法的時(shí)候采用即時(shí)編譯成匯編指令,
這樣性能不會很理想。
后者是C+java的方式,先把class編譯成匯編代碼,然后一塊鏈接。少量的匯編代碼,內(nèi)存管理使用CPP.
這種方式應(yīng)該性能優(yōu)于前者。這個(gè)系統(tǒng)里面沒有Java虛擬機(jī),操作系統(tǒng)用Java語言寫而已。既利用了Java的優(yōu)雅語法,又不損失性能,個(gè)人更看好這種方式的Java OS
話說回來,操作系統(tǒng)設(shè)計(jì)已經(jīng)好久沒有創(chuàng)新了,使用Java不失為一個(gè)好主意。利用Java的天生的安全性,寫出來的操作系統(tǒng)應(yīng)該不會像現(xiàn)在的操作系統(tǒng)一樣病毒橫生,期待他們的成功!