linux内核由哪几部分组成,简述各部分作用?
一个完整的Linux内核一般由5部分组成,它们分别是内存管理、进程管理、进程间通信、虚拟文件系统和网络接口。
1、内存管理
内存管理主要完成的是如何合理有效地管理整个系统的物理内存,同时快速响应内核各个子系统对内存分配的请求。
Linux内存管理支持虚拟内存,而多余出的这部分内存就是通过磁盘申请得到的,平时系统只把当前运行的程序块保留在内存中,其他程序块则保留在磁盘中。在内存紧缺时,内存管理负责在磁盘和内存间交换程序块。
2、进程管理
进程管理主要控制系统进程对CPU的访问。当需要某个进程运行时,由进程调度器根据基于优先级的调度算法启动新的进程。:Linux支持多任务运行,那么如何在一个单CPU上支持多任务呢?这个工作就是由进程调度管理来实现的。
3、进程间通信
进程间通信主要用于控制不同进程之间在用户空间的同步、数据共享和交换。由于不用的用户进程拥有不同的进程空间,因此进程间的通信要借助于内核的中转来实现。
一般情况下,当一个进程等待硬件操作完成时,会被挂起。当硬件操作完成,进程被恢复执行,而协调这个过程的就是进程间的通信机制。
4、虚拟文件系统
Linux内核中的虚拟文件系统用一个通用的文件模型表示了各种不同的文件系统,这个文件模型屏蔽了很多具体文件系统的差异,使Linux内核支持很多不同的文件系统。
5、网络接口
网络接口提供了对各种网络标准的实现和各种网络硬件的支持。网络接口一般分为网络协议和网络驱动程序。网络协议部分负责实现每一种可能的网络传输协议。
绛旓細搴旇鏄簲涓瓙绯荤粺锛氳繘绋嬭皟搴︼紝鍐呭瓨绠$悊锛岃櫄鎷熸枃浠剁郴缁燂紝缃戠粶鎺ュ彛锛岃繘绋嬮棿閫氫俊銆Linux鍐呮牳涓昏鐢变簲涓瓙绯荤粺缁勬垚锛氳繘绋嬭皟搴︼紝鍐呭瓨绠$悊锛岃櫄鎷熸枃浠剁郴缁燂紝缃戠粶鎺ュ彛锛岃繘绋嬮棿閫氫俊銆傝繘绋嬭皟搴︼紙SCHED锛夛細鎺у埗杩涚▼瀵笴PU鐨勮闂傚綋闇瑕侀夋嫨涓嬩竴涓繘绋嬭繍琛屾椂锛岀敱璋冨害绋嬪簭閫夋嫨鏈鍊煎緱杩愯鐨勮繘绋嬨傚彲杩愯杩涚▼瀹為檯涓婃槸浠呯瓑寰匔PU...
绛旓細鐗堟湰鍙Linux鍐呮牳浣跨敤涓夌涓嶅悓鐨勭増鏈紪鍙锋柟寮忋傜涓绉嶆柟寮忕敤浜1.0鐗堟湰涔嬪墠锛堝寘鎷1.0锛夈傜涓涓増鏈槸0.01锛岀揣鎺ョ潃鏄0.02銆0.03銆0.10銆0.11銆0.12銆0.95銆0.96銆0.97銆0.98銆0.99鍜屼箣鍚庣殑1.0銆傜浜岀鏂瑰紡鐢ㄤ簬1.0涔嬪悗鍒2.6锛屾暟瀛楃敱涓閮ㄥ垎鈥淎.B.C鈥濓紝A浠h〃涓荤増鏈彿锛孊浠h〃娆′富...
绛旓細銆愮瓟妗堛戯細D Linux鍐呮牳涓昏鐢5涓瓙绯荤粺缁勬垚锛氳繘绋嬭皟搴︼紱鍐呭瓨绠$悊锛涜櫄鎷熸枃浠剁郴缁燂紱缃戠粶鎺ュ彛锛涜繘绋嬮棿閫氫俊銆傛晠鏈閫夋嫨D銆
绛旓細涓銆Linux鍐呮牳 鍐呮牳鏄搷浣滅郴缁熺殑鏍稿績锛屽叿鏈夊緢澶氭渶鍩烘湰鍔熻兘锛屽铏氭嫙鍐呭瓨銆佸浠诲姟銆佸叡浜簱銆侀渶姹傚姞杞姐佸彲鎵ц绋嬪簭鍜孴CP/IP缃戠粶鍔熻兘銆侺inux鍐呮牳鐨勬ā鍧楀垎涓轰互涓鍑犱釜閮ㄥ垎锛氬瓨鍌ㄧ鐞嗐丆PU鍜岃繘绋嬬鐞嗐佹枃浠剁郴缁熴佽澶囩鐞嗗拰椹卞姩銆佺綉缁滈氫俊銆佺郴缁熺殑鍒濆鍖栧拰绯荤粺璋冪敤绛夈備簩銆丩inuxshell shell鏄郴缁熺殑鐢ㄦ埛鐣岄潰锛屾彁渚涗簡...
绛旓細linux鍐呮牳鐨勪富瑕佹ā鍧(鎴栫粍浠)鍒嗕互涓鍑犱釜閮ㄥ垎锛氬瓨鍌ㄧ鐞嗐乧pu鍜岃繘绋嬬鐞嗐佹枃浠剁郴缁熴佽澶囩鐞嗗拰椹卞姩銆佺綉缁滈氫俊锛屼互鍙婄郴缁熺殑鍒濆鍖(寮曞)銆佺郴缁熻皟鐢ㄣ
绛旓細杩涚▼璋冨害鍣:杩欎釜鍐呮牳瀛愮郴缁熻礋璐e湪绯荤粺涓婂悓鏃惰繍琛岀殑鎵鏈夎繘绋嬩箣闂村叕骞冲湴鍒嗛厤CPU鏃堕棿銆傚唴瀛樼鐞嗗崟鍏:杩欎釜鍐呮牳瀛愬崟鍏冭礋璐e湪绯荤粺涓婅繍琛岀殑鍚勭杩涚▼涔嬮棿鍚堢悊鍒嗛厤鍐呭瓨璧勬簮銆侻MU涓嶄粎浠呬负姣忎釜杩涚▼鎻愪緵鍗曠嫭鐨勮櫄鎷熷湴鍧绌洪棿銆傝櫄鎷熸枃浠剁郴缁:杩欎釜瀛愮郴缁熻礋璐f彁渚涗竴涓粺涓鐨勬帴鍙f潵璺ㄤ笉鍚岀殑鏂囦欢绯荤粺鍜岀墿鐞嗗瓨鍌ㄤ粙璐ㄨ闂瓨鍌ㄧ殑鏁版嵁銆
绛旓細锛4锛夌綉缁滄帴鍙 锛5锛夎繘绋嬩箣闂寸殑閫氫俊 linux鐗堟湰鐨勫彂琛岀増鍜屽唴鏍哥増鏄粈涔堟剰鎬濓紵Linux鍐呮牳鏄疞inux鎿嶄綔绯荤粺鍒涘浜轰富鎸佺殑缃戠珯www.kernel.org 涓婂彂甯冪殑鎿嶄綔绯荤粺鐨勬渶鍩烘湰鐨勯偅浜涗笢瑗裤侺inux鍙戣鐗堝垯鏄墠杩伴偅浜涗笢瑗跨殑鍩虹涓婃坊鍔犱簡涓浜涘伐鍏疯蒋浠剁殑鍩虹涓鏋勬垚鐨涓濂楀簽澶у鏉傜殑鎿嶄綔绯荤粺銆傝櫧鐒跺唴鏍搁兘鏄竴鏍风殑锛屼絾娣诲姞閮ㄥ垎...
绛旓細鍏舵锛孡inux鍐呮牳涓殑瀹氭椂鍣ㄥ姛鑳(timer)鏄叧閿紝瀹冮氳繃绮剧‘鐨勬椂闂撮棿闅旀潵瑙﹀彂浜嬩欢锛屾瘮濡傚畾鏃朵换鍔°佽鏃跺櫒鍞ら啋绛夛紝瀵逛簬绯荤粺鐨勬椂闂村悓姝ュ拰璋冨害鑷冲叧閲嶈銆備腑鏂鐞(interrupt management)鏄唴鏍哥殑鍙堜竴鏍稿績閮ㄥ垎锛瀹冨鐞嗙‖浠惰澶囦骇鐢熺殑涓柇璇锋眰锛屼娇寰楁搷浣滅郴缁熻兘澶熷強鏃跺搷搴斿苟澶勭悊澶栭儴浜嬩欢锛屼繚鎸佺郴缁熺殑绋冲畾杩愯銆傚唴瀛樼鐞(...
绛旓細Linux鎿嶄綔绯荤粺鐨勬牳蹇冮儴鍒嗗寘鎷摢浜涳紵Linux鎿嶄綔绯荤粺涓昏鐢卞唴鏍銆乻hell銆佹枃浠剁郴缁熷拰搴旂敤绋嬪簭鍥涗釜閮ㄥ垎鏋勬垚銆傚唴鏍搞乻hell鍜屾枃浠剁郴缁熸瀯鎴愪簡Linux鎿嶄綔绯荤粺鐨勬渶鍩烘湰缁撴瀯锛屼娇鐢ㄦ埛鑳藉杩愯绋嬪簭銆佺鐞嗘枃浠朵互鍙婁娇鐢ㄧ郴缁熷姛鑳姐1. Linux鍐呮牳锛氫綔涓烘搷浣滅郴缁熺殑鏍稿績锛屽唴鏍歌礋璐g鐞嗙郴缁熻祫婧愶紝鍖呮嫭铏氭嫙鍐呭瓨銆佸浠诲姟澶勭悊銆佸叡浜簱銆佸姩鎬...
绛旓細杩涚▼绠$悊锛坧rocess management锛夈 1瀹氭椂鍣紙timer锛夈 2涓柇绠$悊锛坕nterrupt management锛夈 3鍐呭瓨绠$悊锛坢emory management锛夈 4妯″潡绠$悊锛坢odule management锛夈 5铏氭嫙鏂囦欢绯荤粺鎺ュ彛锛圴FS layer锛夈 6鏂囦欢绯荤粺锛坒ile system锛夈 7璁惧椹卞姩绋嬪簭锛坉evice driver锛夈 8杩涚▼闂撮氫俊锛坕nter-process communication锛...