編譯與操作系統哪個難
1. java虛擬機的技術難度比操作系統難嗎
兩者各有難點,個人覺得都很難,否則Sun就可以造一個和微軟一樣的操作系統, 而微軟也可以造一個虛擬機來和Sun對抗, 事實上微軟後來真的造了類似的東西出來, 微軟為了把java程序員吸引到他的平台上來,就有了VJ++。 後來有了 C# 平台。 但都是沒有像java那樣做得專業。 Sun是沒那麼容易被打敗的.所以你不覺得java的虛擬機還有點技術含量的吧? 哈哈
現在從技術細節上來分析:
1。 操作系統所面對的技術是有 內存管理、進程調度、設備管理等等等等
2。 相對於虛擬機,它相當於一個大管家,所有java做出來的應用,都先經過虛擬機,再由虛擬機轉交給操作系統。在這個意義上,虛擬機相當於一個大型軟體,它可以管理其它的軟體。然而,在虛擬機下面也運行著大大小小的N個java程序,也需要對這些程序進行內存管理,進程的調度。它為它下面的所有程序做好了內存安全機制,垃圾回收機制,try異常捕捉機制等等,(普通的C程序沒有這些) 在這個意義上,虛擬機又像是一個操作系統;
補充樓主的補充:
C語言的程序無法做到在一個平台上製作,代碼拿到另一個平台編譯後就可以運行! 最重要的原因是位元組長度問題,如在32位機器上一個整數佔4個位元組,但在64位機器上就佔8個位元組。 這時程序編譯就會出錯。
一個位元組佔8位,所以32位有4個位元組,所以32位機器每次進行操作的單位是4位元組,而64位機器是8位元組,這是速度明顯快過32機的原因。
所以~~~~~~~ 很多在windowsXP下可以跑的游戲和軟體在Windows Vista下去跑就會掛掉。 或者根本不給你安裝.
虛擬機在這兩年內是不太可能開源的,sun是有限制地進行了開源,他開源的是他的一部分Java編程語言, 你用這些java代碼是開源的,用它們來製作軟體,但是軟體必須跑在虛擬機之上,虛擬機就不是開源的了。也許過幾年java會做一些虛擬機的開源項目出來,但現在還不會。
另一方面,sun也做了一些開源項目, 如收購的Hibernater,mySql,等等
Bea是不是由sun做的我不太清楚,不過看Bea和sun的關系還是很緊的,我想既使不是sun做的,那技術也來源於sun
在嵌入式開發界,有很多公司都己經在開發虛擬機,但這些只是sun的冰山一角。這些虛擬機只能運行在手機、電視機頂盒等上面跑Kjava的 cdc和cldc程序
離sun的差距還挺大, 但過幾年世界上也許會有新的sun公司出來. 呵呵,讓我們拭目以待
2. 計算機科學與技術本科 操作系統 和編譯原理 選那本教材好啊 傾向於自學
看操作系統吧,實用一點,編譯學起來相當的難,沒學會之前沒什麼實用價值。
3. 編譯和操作系統哪個更底層
操作系統就是C語言編譯出來的,你問的這兩個東西其實是一個東西。
4. 做編譯器或操作系統哪個更有趣味
其實兩者沒什麼區別。如果你對硬體結構、硬體語言更感興趣,可以選擇做編譯器。如果你對人機交互、面向對象編程感興趣,可以選擇做操作系統。
但如果深入研究,編譯器需要向人機交互發展,操作系統需要更了解底層硬體。
5. 從工作角度出發,學習編譯原理和操作系統哪個對於個人幫助更大
我是學軟體工程的,你說的這些課程我們都已經學完。 如果你想從程序員做起的話,《編譯原理》就很重要了,你只有知道了編譯器是怎麼編譯你的程序的,你才可能編寫出高效,穩健,佔用內存少的程序。我們學編譯原理的時候還自己設計了解釋器。
6. 計算機網路和計算機操作系統哪個簡單
兩者都不簡單,計算機系統也很復雜,要想搞通搞透也很不容易,計算機網路所涉及的面更廣、更復雜,我建議你搞網路,而且研究網路必須要把計算機這塊也整明白,涉及領域更廣泛,能學到不少東西,而且比較發展前景哈!
7. 操作系統、資料庫系統、計算機網路、軟體工程導論、編譯原理這幾門課哪個比較簡單上手
操作系統應該最簡單了。簡單的office應用。還有很多。。。。。。。
資料庫系統需要編程的基礎。。。。。。。
計算機網路需要長時間的實踐才會對網路有深刻的了解。。。。。。
軟體工程導論也需要編程基礎。。。。。。。
編譯原理。。。。。。。。
8. 操作系統這門課程難嗎理由希望清楚
就我個人而言覺得挺難的,因為操作系統是硬體和軟體之間的一種軟體,它必須能同時協調軟體和硬體的溝通,屬於最底層的東西,一般來說底層的東西都比較難,而且會學匯編語言就是比機器語言高一級的。而且裡面涉及很多的演算法,什麼電梯演算法之類的。不過天下無難事,只要肯攀登,找到自己的興趣點就會覺得有動力了。
9. 各位編程前輩,是先學《操作系統原理》還是〈〈編譯原理〉〉
應該是先操作系統原理,後編譯原理.因為操作系統當中涉及到很多系統內部運行的一些原理性的知識,掌握了後對編程方面的理解有很大的促進作用.最後祝學習順利.
10. 考研復試操作系統、資料庫系統、計算機網路、軟體工程導論、編譯原理這幾門課哪個更簡單些
最好根據個人特長或有一定基礎的課程選取
相對而言操作系統、資料庫系統、計算機網路
比較熟悉的內容多且容易理解一些
祝您大吉大利,萬事如意!