linux體系結構


linux體系結構

從大面上來說,linux體系結構分為:

用戶空間:C庫、用戶應用程序

內核空間:系統調用接口、內核、硬件平台依賴代碼

 

具體來講,linux可划分為5個部分:linux內核、GNU工具鏈、桌面環境、應用軟件

 

 

linux內核

 

系統調用接口(SCI層):給應用用戶提供一套標准的系統調用函數,上層用戶可以通過這一套標准接口來訪問底層

內存管理:

進程管理:

文件管理:

設備驅動管理:

內存管理

1.作用:管理物理內存、創建和管理虛擬內存

為了使有限的物理內存滿足應用程序對內存的需求,linux采用“虛擬內存”的內存管理方式實現,實現原理:

交換空間:內核在硬盤上化一段存儲空間來實現虛擬內存,這段存儲空間稱為“交換空間”

頁面:內存存儲單元被分割成很多塊,稱為“頁面”

頁面內存表:內核會維護一張表,來指明哪些頁面位於物理內存,那么頁面位於交換空間

換出:物理內存---->交換空間

換入:交換空間---->物理內存

工作過程:

  1、內核將程序運行用到的頁面就放到內存里,暫時不用就放到交換空間中(換出)。

  2、當用到交換空間的頁面時,就把它們調到內存中(換入),然后把物理內存其他用不到的頁面換出到交換空間。

查看內存

#cat /proc/meminfo

MemTotal: 1035244 kB #物理內存1G
MemFree: 786616 kB #空閑內存700M左右

...

SwapTotal:     2096472 kB        #有2G的交換空間

....

查看內存使用情況

#free

total used free shared buffers cached
Mem: 502360 489964 12396 0 53852 283372
-/+ buffers/cache: 152740 349620
Swap: 1015800 0 1015800

共享內存頁面:

 創建一寫共享內存頁面,用於多個進程共享使用。

 #ipcs -m   #查看共享內存頁面

key               shmid    owner   perms   bytes      nattch status
0x00000000       0         rich      600       52228    6      dest
#owner:共享內存段的所有者
#perms:權限

進程管理

參見進程管理

文件管理

linux內核文件管理采用虛擬文件系統(VFS),隱藏各種文件系統的具體細節,為文件操作提供統一的接口。Linux提供了一個大的通用模型,如下:

常見文件系統:

ext3:第3闊啊站文件系統,支持日志功能

ext4 :第4擴展文件系統,支持高級日志功能

iso9660:ISO 9660文件系統(CD-ROM)

nfs :網絡文件系統

ntfs:支持Microsoft NT文件系統

proc:訪問系統信息

smb:支持網絡訪問的Samba SMB文件系統

vfat:Windows 95文件系統(FAT32)

硬件設備管理:

內核代碼中必須加入設備驅動程序代碼,才能與硬件進行通信,linux內核提供2種方法來插入設備驅動代碼:

   1.編譯進內核的設備驅動代碼,缺點:添加新設備時,需要重新編譯內核。

   2.可插入內核的設備驅動模塊:增加新設備,驅動模板插入內核中,無需重新編譯。設備不可用時,也可從內核模塊中移走。

 GNU工具鏈

操作系統還需要工具鏈來執行一些標准功能,將linux內核和GNU操作系統工具整合起來,就可以創造一個完整的、功能豐富的免費操作系統

GNU工具鏈包括:

   1.核心GNU工具鏈:有一組核心工具,稱為GNU軟件包,包括:處理文件、操作文件、管理進程的工具。

   2.shell:是用戶和操作系統溝通的橋梁:(用戶----shell----kernel----硬件)

linux桌面環境

1.X-window系統

2.KDE桌面

3.GNOME桌面:已成為許多linux發行版,默認的桌面環境。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM