我從2016年春節過後開始背,背到2017年秋招。面試的時候面試官都快哭了。國內BAT,國外facebook、微軟、google的offer全都拿到了。有個創業公司直接開了85W年薪。只要努力,沒什麼事是辦不成的!背完以後的感覺就是,再學幾個月的圖形學,我可以自己研發一個操作系統!
⑵ 哪些linux源代碼是比較核心的
幾種主要的Linux版本之間的比較
我們很難從大量Linux版本中選擇一款正好適合某個特定環境的版本。每一個版本都有自己的側重點,有一套自己的文件,安裝方式和自己的Linux內核版本。本文我將比較四種主要的Linux版本——Debian,Mandrake,Red Hat,和SuSE—並討論如何制訂選擇適合特定商業環境Linux版本的標准。
Debian
Debian Project誕生於1993年8月13日,它的目標是提供一個穩定容錯的Linux版本。支持Debian的不是某家公司,而是許多在其改進過程中投入了大量時間的開發人員,這種改進吸取了早期Linux的經驗。 Debian以其穩定性著稱,雖然它的早期版本Slink有一些問題,但是它的現有版本Potato已經相當穩定了。這個版本更多的使用了pluggable authentication moles (PAM),綜合了一些更易於處理的需要認證的軟體(如winbind for Samba)。 Debian的安裝完全是基於文本的,對於其本身來說這不是一件壞事。但對於初級用戶來說卻並非這樣。因為它僅僅使用fdisk 作為分區工具而沒有自動分區功能,所以它的磁碟分區過程令人十分討厭。 磁碟設置完畢後,軟體工具包的選擇通過一個名為dselect的工具實現,但它不向用戶提供安裝基本工具組(如開發工具)的簡易設置步驟。 最後需要使用anXious工具配置X Windows,這個過程與其他版本的X Windows配置過程類似。完成這些配置後,Debian就可以使用了。 Debian主要通過基於Web的論壇和郵件列表來提供技術支持。作為伺服器平台,Debian提供一個穩定的環境。為了保證它的穩定性,開發者不會在其中隨意添加新技術,而是通過多次測試之後才選定合適的技術加入。有一點要注意的是:它的當前版本採用的是2.2內核而不是2.4內核。大部分系統管理員注重伺服器環境的穩定性,Debian正好能提供這一點。但是,因為2.4版本內核擁有許多2.2版本內核所沒有的新特性,所以我認為採用2.2版本內核是Debian的一個缺陷,另外不夠友好的磁碟分區設置也是它的一個缺陷。
最後,我給Debian打7分(分數從1到10)。
Mandrake
MandrakeSoft,Linux Mandrake的發行商,在1998年由一個推崇Linux的小組創立,它的目標是盡量讓工作變得更簡單。最終,Mandrake給人們提供了一個優秀的圖形安裝界面,它的最新版本還包含了許多Linux軟體包。 作為Red Hat Linux的一個分支,Mandrake將自己定位在桌面市場的最佳Linux版本上。但該公司還是支持伺服器上的安裝,而且成績並不壞。 Mandrake的安裝非常簡單明了,為初級用戶設置了簡單的安裝選項。它完全使用GUI界面,還為磁碟分區製作了一個適合各類用戶的簡單GUI界面。軟體包的選擇非常標准,另外還有對軟體組和單個工具包的選項。安裝完畢後,用戶只需重啟系統並登錄進入即可。 Mandrake主要通過郵件列表和Mandrak 自己的Web論壇提供技術支持。Mandrak對桌面用戶來說是一個非常不錯的選擇,它還可作為一款優秀的伺服器系統,尤其適合Linux新手使用。它使用最新版本的內核,擁有許多用戶需要在Linux伺服器環境中使用的軟體——資料庫和Web伺服器。 Mandrak沒有重大的軟體缺陷,只是它更加關注桌面市場,較少關注伺服器市場。因為本文是一篇討論伺服器系統版本的文章,所以這也算是一個缺陷吧。
我也給這個版本打7分。
Red Hat Linux
可能這是最著名的Linux版本了,Red Hat Linux已經創造了自己的品牌,越來越多的人聽說過它。Red Hat在1994年創業,當時聘用了全世界500多名員工,他們都致力於開放的源代碼體系。 Red Hat Linux是公共環境中表現上佳的伺服器。它擁有自己的公司,能向用戶提供一套完整的服務,這使得它特別適合在公共網路中使用。這個版本的Linux也使用最新的內核,還擁有大多數人都需要使用的主體軟體包。 Red Hat Linux的安裝過程也十分簡單明了。它的圖形安裝過程提供簡易設置伺服器的全部信息。磁碟分區過程可以自動完成,還可以選擇GUI工具完成,即使對於Linux新手來說這些都非常簡單。選擇軟體包的過程也與其他版本類似;用戶可以選擇軟體包種類或特殊的軟體包。系統運行起來後,用戶可以從Web站點和Red Hat那裡得到充分的技術支持。 我發現Red Hat是一個符合大眾需求的最優版本。在伺服器和桌面系統中它都工作得很好。Red Hat的唯一缺陷是帶有一些不標準的內核補丁,這使得它難於按用戶的需求進行定製。 Red Hat通過論壇和郵件列表提供廣泛的技術支持,它還有自己公司的電話技術支持,後者對要求更高技術支持水平的集團客戶更有吸引力。
而且我個人用的也是他的桌面版哦,我給它打9分。
SuSE
總部設在德國的SuSE AG在商界已經奮鬥了8年多,它一直致力於創建一個連接資料庫的最佳Linux版本。為了實現這一目的,SuSE與Oracle 和IBM合作,以使他們的產品能穩定地工作。SuSE還開發了SuSE Linux eMail Server III,一個非常穩定的電子郵件群組應用。 基於2.4.10內核的SuSE 7.3,在原有版本的基礎上提高了易用性。安裝過程通過GUI完成,磁碟分區過程也非常簡單,但它沒有為用戶提供更多的控制和選擇。 在SuSE 操作系統下,可以非常方便地訪問Windows磁碟,這使得兩種平台之間的切換,以及使用雙系統啟動變得更容易。SuSE的硬體檢測非常優秀,該版本在伺服器和工作站上都用得很好。 SuSE擁有界面友好的安裝過程,還有圖形管理工具,可方便地訪問Windows磁碟,對於終端用戶和管理員來說使用它同樣方便,這使它成為了一個強大的伺服器平台。 SuSE也通過基於Web的論壇提供技術支持,另外我還發現它有電話技術支持。
我也給它打9分。
結束語
Linux伺服器現在正風靡各個公司,因為它價格低廉,能支持多種服務,所以這種情況可能會持續下去。在我的環境中,我使用了Red Hat伺服器,我看重的是它優秀的技術支持和廣泛的應用。但是,那些對系統穩定性要求很高的用戶應該考慮一下Debian;不熟悉Linux的用戶應該選擇Mandrake;需要使用資料庫高級服務和電子郵件網路應用的用戶應當選擇SuSE。 選擇使用的伺服器版本,構建相應環境是工作中的重要一步。我希望本文可以幫助用戶理清自己的要求,做好最佳選擇。
另外,站長團上有產品團購,便宜有保證
⑶ Linux操作系統源代碼有多少行
Linux現在內核版本2.6.34,其中共14002個c文件(9415676行),頭文件14069個(2141641行代碼),總代碼量約1100w行
⑷ Linux內核源代碼情景分析適合初學linux的人嗎
如果你有一定的c語言基礎並且對linux的文件系統比較了解的話,可以直接看linux的內核源碼分析
⑸ 我現在想讀linux源碼,哪個版本最合適
SourceInsight.目前各大知名企業做linux開發,很多都用到。需要注冊碼,網上可以搜到。然後你用幾天時間熟悉軟體操作之後,你就可以熟練的查看,更改源代碼了。
⑹ 怎麼才能背過linux源碼
每天背五個函數。我背了3年多,背完了。現在linux任何問題,記住是任何問題,都難不倒我了。
⑺ Linux操作系統的源代碼
Linux是一個開放的,自由的類Unix操作系統,它的源代碼是公開的, 各個版本的Linux,包括從內核到許許多多的應用程序的源代碼, 以及可執行文件都可以免費從互聯網上下載。
你也可以通過光碟得到Linux系統,和一般的軟體不同的是, 你可以合法的和你的朋友分享Linux光碟。很顯然Linux光碟的價格不會很高, 第一,因為你可以免費從網上下載;第二,你可以和你的朋友合夥湊錢買一套Linux光碟, 再和你的朋友分享使用。
Linux和一般的軟體不同,是可以和你的朋友分享的。 舉個例子來說:
如果朋友家有張非常漂亮的窗子,但是這窗子是95牌的, 那麼你仿製是違法的,如果這窗子是X牌的,或者說牌子是GPL, 那麼你仿製就不違法。如果你不想違法,但又想要漂亮的窗子, 答案是選擇自由軟體。選擇Linux。
Linux准確的說,是一個系統內核,它是最初在91年, 由芬蘭的了不起的學生Linus Torvalds發起, 接著又有全世界的志願者加入進來開發的。
現在有一些軟體公司在做Linux的生意, 著名的有RedHat,SuSE以及Caldera等等, 這些公司發布自己的基於Linux內核的一整套的Linux系統: 這些整套的系統通常包括有:一個C語言及C++編譯器,Perl腳本解釋程序, 外殼Shell,圖形用戶界面X窗口系統,包括有X Server以及眾多的應用程序等等。
這些整套的Linux系統按照習慣叫做Linux發布(distribution)。 目前使用最廣泛的Linux發布是RedHat公司的RedHat Linux。 以前使用廣泛的Slackware,現在也還有許多人在使用, 我自己的第一個Linux系統就是Slackware,現在我玩的是Debian, Debian和其他的Linux發布的不同之處在於:Debian是完全由志願者開發的, 不像RedHat和SuSE,是由軟體公司所支持的。
RedHat是使用最廣泛的Linux發布,並且RedHat公司現在得到了Netscape, 以及Intel的支持,前景看好,根據一般的看法Redhat也是最容易上手的Linux發布。
SLackware和RedHat相比要稍微復雜一些,這主要是指軟體的安裝方面, 由於RedHat使用rpm打包系統,安裝新軟體簡單到只要一行命令即可。 而Slackware往往要從源代碼重新編譯,稍微費事一些。
SuSE也是基於rpm打包系統,SuSE的特別之處在於它對X窗口系統的支持非常好, SuSE的吉祥物是一隻綠色的蜥蜴,非常可愛。
Debian基於自己的Deb格式的打包系統,但是它也可以安裝rpm軟體包。
Linux可以運行在DEC公司的Alpha機上,也可以運行在Sun公司的Sparc機器上。 當然也可以運行在Intel公司的386以上的機器上。 編寫的好的源代碼可以不經修改的在各種不同的Linux平台上直接編譯安裝運行, 但是顯然,不同的硬體平台之間的可執行文件是不兼容的。 但是一個特別針對Intel機器的rpm軟體包是可以輕易的在for Intel的RedHat,SuSE,Debian, 以及Slackware上安裝運行起來的。
RedHat,SuSE,Slackware以及Debian等各個發布之間的另一個不同是, 它們都帶有自己的系統管理工具。 RedHat使用著名的控制面板+Linuxconf, Debian使用臭名昭著的dselect(為什麼說臭名昭著?因為它非常難控制, 我自己只要有可能,就盡量不碰它) Slackware使用pkgtool, SuSE也有自己的管理工具。
Linux是一個開放的操作系統,它的各個部分:內核,應用程序, 庫程序是有機的結合的。並不是固定的死死的,碰都不能碰。Linux的內核的版本號是XX.XX.XX格式的,由三個數字組成, 第一個數字是主版本好,第三個數字是輔版本號,中間的數字如果是奇數, 表示這是一個開發版的內核,如果是偶數,表示是一個相對穩定的,可靠的內核。 一般來講,除非你正在研究Linux內核,或有特別的需要, 否則不要擺弄奇數版本的內核。
今天演示的第三個部分是Linux下的軟體。常常有人抱怨Linux缺乏有效的軟體的支持, 這在一定情況下的確如此,但是另一方面也是我們對Linux了解太少, Linux平台上現在已經有了相當多的應用軟體。 並且Linux正在得到越來越多的廠家的支持。 這段時間炒的非常火的Oracle,Sybase等等大型資料庫的Linux版本就是一例。
Linux下不但有類似於PhotoShop的免費的圖像編輯軟體:gimp, 還有免費的類似於3DS的三維設計軟體:MoonLight。 並且所有這些軟體,你都可以得到源代碼。
Linux下的圖形用戶界面是基於X窗口系統的, 這也秉承了Linux的一貫傳統:開放的,有機結合的。 XFree86隻是圖形界面的伺服器,上面可以運行各種不同的窗口管理器, 現在著名的窗口管理器有AfterStep,WindowMaker,以及Enlightenment。 有的窗口管理器做得非常的漂亮,真是叫做不看不知道,一看嚇一跳。 另外,如果你不喜歡花哨的窗口管理器,你可以選擇wm2或者9wm, 它們只佔用非常少的系統資源,我自己經常使用的就是9wm。
有了X伺服器和一個窗口管理器,你就有了圖形用戶界面。 你就可以運行Gimp或者Moonlight了,甚至你還可以運行Doom和quake!
現在還有一批程序員正在為Linux開發免費的,開放源代碼的紅色警報。
對Linux的一個最主要的批評是:Linux缺乏支持。 坦白的說,就我自己作為一個個人用戶來講,我覺得Linux的支持非常的好。 我曾經在安裝Debian的時候遇到幾個問題, 到Debian的Mail List里發信詢問了一下,幾個小時後就得到了答案。
⑻ 如何編譯linux源代碼
首先uname -r看一下你當前的linux內核版本
1、linux的源碼是在/usr/src這個目錄下,此目錄有你電腦上各個版本的linux內核源代碼,用uname -r命令可以查看你當前使用的是哪套內核,你把你下載的內核源碼也保存到這個目錄之下。
2、配置內核 make menuconfig,根據你的需要來進行選擇,設置完保存之後會在當前目錄下生成.config配置文件,以後的編譯會根據這個來有選擇的編譯。
3、編譯,依次執行make、make bzImage、make moles、make moles
4、安裝,make install
5、.創建系統啟動映像,到 /boot 目錄下,執行 mkinitramfs -o initrd.img-2.6.36 2.6.36
6、修改啟動項,因為你在啟動的時候會出現多個內核供你選擇,此事要選擇你剛編譯的那個版本,如果你的電腦沒有等待時間,就會進入默認的,默認的那個取決於 /boot/grub/grub.cfg 文件的設置,找到if [ "${linux_gfx_mode}" != "text" ]這行,他的第一個就是你默認啟動的那個內核,如果你剛編譯的內核是在下面,就把代表這個內核的幾行代碼移到第一位如:
menuentry 'Ubuntu, with Linux 3.2.0-35-generic' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
gfxmode $linux_gfx_mode
insmod gzio
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set=root 9961c170-2566-41ac-8155-18f231c1bea5
linux/boot/vmlinuz-3.2.0-35-generic root=UUID=9961c170-2566-41ac-8155-18f231c1bea5 ro quiet splash $vt_handoff
initrd/boot/initrd.img-3.2.0-35-generic
}
當然你也可以修改 set default="0"來決定用哪個,看看你的內核在第幾位,default就填幾,不過我用過這種方法,貌似不好用。
重啟過後你編譯的內核源碼就成功地運行了,如果出現問題,比如滑鼠不能用,usb不識別等問題就好好查查你的make menuconfig這一步,改好後就萬事ok了。
最後再用uname -r看看你的linux內核版本。是不是你剛下的那個呢!有沒有成就感?
⑼ 如何閱讀linux源碼
閱讀linux源代碼要掌握一定的386硬體知識,AT&T匯編語言結構,操作系統原理等等基礎知識。但是及時掌握這些知識讀懂源碼還是很困難的(當然掌握操作系統原理也是一件不容易的事情),建議你先去看一下u/cos源代碼,根據其源代碼試著自己給51單片機寫一個小的分時操作系統,移植到單片機上試試效果。然後再根據對u/cos理解自己寫一個自己的u/cos,並移植到arm7平台上,一步一步來。。。。。。總之linux操作系統是一個很復雜的軟體,它不僅僅要求你對大型軟體架構有很深入的認識,還要求你對硬體的操作非常熟悉,我們經常看到在linux系統中常常會有匯編語言與c語言的嵌套。閱讀linux源代碼不是一件容易的事情,要不斷的學習,讓我們一起來努力吧!
⑽ 怎樣學習並研究LINUX的源碼
學習linux最好也最值得去學的是源碼分析,因為只有做好了這項工作,才能搞操作系統,尤其是嵌入式系統——一個現在包括以後的很長一段時間內會是一個很熱門的東西。可以說LINUx是中國的系統軟體,包括嵌入式系統,開發自己的系統,在計算機領域打出一片自己的天下的很好的契機。
有一本書很值得一看,是趙炯的《Linux內核完全注釋》,我有電子版本,但太大了,如果你需要可以給我發信息。我可以傳給你。不過我還是喜歡看紙版的書,因此我又買了一本。
你也可以去買一本,相信我,這本書很值得買的。