linux內核c
㈠ linux內核中GNU C和標准C的區別
Linux內核(英語:Linux kernel),是一種計算機操作系統內核,以c語言和匯編語言寫成,符合POSIX標准,以GNU通用公共許可證發布。Linux內核最早是由芬蘭黑客林納斯•托瓦茲為嘗試在自己的英特爾x86架構計算機上提供自由的類Unix系統而開發的。在計劃的早期有一些Minix的黑客提供了協助,而今天全球有無數程序員正在為該計劃無償提供幫助。
從技術上說Linux只是一個內核。逗內核地指的是一個提供硬體抽象層、磁碟及文件系統控制、多任務等功能的系統軟體。一個內核並不是一套完整的操作系統。有一套基於Linux內核的完整操作系統叫作Linux操作系統,或是GNU/Linux(在該系統中包含了很多GNU計劃的系統組件)。
更多相關linux的學習資料,請參考《Linux就該這么學》
㈡ linux c 內核 是做什麼的
Linux是最受歡迎的自由電腦操作系統內核。它是一個用C語言寫成,符合POSIX標準的類Unix操作系統。Linux最早是由芬蘭黑客 Linus Torvalds為嘗試在英特爾x86架構上提供自由免費的類Unix操作系統而開發的。該計劃開始於1991年,這里有一份Linus Torvalds當時在Usenet新聞組comp.os.minix所登載的貼子,這份著名的貼子標志著Linux計劃的正式開始。
在計劃的早期有一些Minix 黑客提供了協助,而今天全球無數程序員正在為該計劃無償提供幫助。
技術上說Linux是一個內核。「內核」指的是一個提供硬體抽象層、磁碟及文件系統控制、多任務等功能的系統軟體。一個內核不是一套完整的操作系統。一套基於Linux內核的完整操作系統叫作Linux操作系統,或是GNU/Linux。
目錄 [隱藏]
1 架構
2 可移植性
3 專利權
4 參見
5 外部資源
[編輯]架構
今天Linux是一個一體化內核(monolithic kernel)系統。設備驅動程序可以完全訪問硬體。Linux內的設備驅動程序可以方便地以模塊化(molarize)的形式設置,並在系統運行期間可直接裝載或卸載。
Linux不是微內核(microkernel)架構的事實曾經引起了Linus Torvalds與Andy Tanenbaum之間一場著名的爭論。在這里可以看到當時爭論的內容。
[編輯]可移植性
盡管Linus Torvalds的初衷不是使Linux成為一個可移植的操作系統,今天的Linux卻是全球被最廣泛移植的操作系統內核。從掌上電腦iPaq到巨型電腦IBM S/390,甚至於微軟出品的游戲機XBOX都可以看到Linux內核的蹤跡。Linux也是IBM超級計算機Blue Gene的操作系統。
Linux目前可以在以下結構上運行:
Acorn:Archimedes,A5000和RiscPC系列
康柏:Alpha
惠普:PA-RISC
IA64:英特爾Itanium個人電腦
IBM的S/390和AS/400
英特爾80386及之後的兼容產品:80386, 80486和整個奔騰系列;AMD Athlon, Duron, Thunderbird; Cyrix系列。對英特爾8086, 8088, 80186, 80188和80280晶元的支持正在開發中。
Mips
摩托羅拉68020及以上: 新的Amigas, 一些蘋果電腦
PowerPC:所有較新的蘋果電腦
SPARC和UltraSPARC:升陽微系統的工作站
Hitachi SuperH: SEGA Dreamcast
索尼公司: PlayStation 2
微軟公司: Xbox
ARM系列
[編輯]專利權
原先Linus Torvalds將Linux置於一個禁止任何商業行為的條例之下,但之後改用GNU通用公共許可證第二版。該協議允許任何人對軟體進行修改或發行,包括商業行為,只要其遵守該協議,所有基於Linux的軟體也必須以該協議的形式發表,並提供源代碼。
Linus Torvalds曾經公開聲稱將Linux置於GNU通用公共許可證之下是他一生中所做的「最好的決定」。
㈢ 求解,如今的Linux內核還是用C語言寫的嗎
是C語言寫的,但不調用C標准庫。因為C標准庫編出來5M左右,而一個內核有時候只有1M甚至更少。所以不會用C標准庫。所以你可以看到內核代碼,基本都是#include<system/...>開頭的
㈣ 為什麼linux內核堅持用c開發 知乎
這個東西很難講,我只能說,好比計算機,你徹底的了悟硬體,軟體就是軟體化的硬體。 這就好比,練習武功,如果你禪功 、道功都登峰造極,內力無限,那什麼招式都可以打的出來 。
㈤ 關於linux內核定義的c語言問題
這個是定義了一個函數的指針
指針指向什麼 就執行什麼
㈥ 如何看懂linux內核的c語言
以下內容完全原創,注意回答時間。
Linux內核直接看代碼很難讀透,而且不知從何看起,可以參考
《Linux內核完全剖析--基於0.12內核》
這本書對0.12內核代碼做了歸類,按照操作系統教材體系的順序進行了講解,是學習Linux內核的經典。
這里有試看:http://book.csdn.net/bookfiles/824/
另外,你提到的這些c語言的知識國外c語言教材基本都有詳細敘述,只是國內教材太過功利刪掉不講罷了。
可以查查《C Primer Plus》(有中文版,不過建議看原版)
㈦ 為什麼linux的內核用c不用c++
最主要的原因是C語言寫的程序你能大致知道編譯器會做些什麼,但C++的程序則會完全失控,你根本不知道編譯器會在背後做多少事情,這對於linux內核這樣的底層程序來說是很成問題的
另外,盡管C++在某些方面給開發者提供便利,但C語言如果用得好很多時候也能達到與之相當的便利程度
Linus Torvalds本人也反對使用C++開發內核,據說他曾經也試過C++,不過沒搞成功,以後應該也不會再折騰了
㈧ 為什麼linux的內核用c不用c++呢
這個有幾個層次的原因。
一是,C語言比C++精益,語言核心很小,C++的運行時庫和特性實現起來要比C的復雜的多,比如實現動態綁定的RTTI就會有開銷。而操作系統核心的一個主要設計概念就是要控制內存和速度的開銷,C++顯然沒有C語言更合適。
二是,Linux之父Linus,他自己就不喜歡C++語言,原因有很多也包括上面說的第一點,你可以在網上查到「Linus 炮轟 C++」這篇文章。
㈨ linux操作系統是用C++還是C語言寫的
linux內核是用c和匯編寫的,不是c++
kde桌面環境,就是用qt寫的,qt是c++的一個程序開發框架
linux主要還是用c語言