在gnu上邊發布的都是原始碼,不可以直接拿來使用
源**都是文字格式的,需要找個編譯器編譯成不同機器上使用的二進位制,這樣機器才可以執行的起來
英特兒的cpu有著x86,x64架構之分,x64又叫amd64,debian的amd64版本說的就是x64,pc機上用的cpu都是x86相容cpu,屬於複雜指令級
unix早期使用的cpu是摩托羅拉生產的m68000又叫m68k架構的cpu
現在安卓手機上使用的cpu架構是arm
ibm生產的power系列cpu很強大,常用於伺服器,工作站,屬於精簡指令級,只能跑aix作業系統
sun生產的ultrasparc系列cpu常用於工作站,只能跑solaris作業系統
hp生產的alpha系列cpu,只能跑hp-ux作業系統
mips科技公司生產的mips架構cpu,屬於精簡指令級
每種機器都有自己的機器語言,所以不同的作業系統不能在不同的機器上使用;在機器語言上層有組合語言,組合語言可以通過彙編器來和機器語言進行轉換;利用組合語言來寫的作業系統其移植性很差,所以要獲得好的移植性,需要使用更高的語言,高階語言可以利用編譯器把高階語言轉換成組合語言,組合語言再通過彙編器把組合語言轉換成機器語言。高階語言的可移植性要好
kernel提供了系統介面(system call),在系統介面上還提供了一層庫(libraries call)
只要是遵循posix標準的源**軟體對於底層架構是相容的,比如nginx即可以在linux上用,也可以在windows上用
unix類的軟體可以在unix和linux上通用
軟體還分為閉源軟體和開源軟體,開源即可以提供源**
開源協定:
gpl:general public license
在旗下有乙個組織fsf:free software foundation
任何乙個程式只要用了gpl協定的源**,那麼這個程式必須遵循gpl協定,必須開源
lgpl:lesser gpl
僅使用gpl的庫時,可以不用開源
gplv2,gplv3
bsd:
apache:
apache旗下有一組織asf:apache software foundation
對於bsd,apache,如果只是更改了源**的幾行,可以進行商業活動,但是不能以原作者的名義進行商業活動,其它不管,這種寬鬆的協定大大促進了開源活動的進行
雙線授權:
community:通常遵循開源協定
enterprise:商業授權,一般會提供額外的服務
程式包管理器:
x:打包:把程式的組成檔案打包成乙個或有限幾個檔案
安裝:解除安裝:
查詢:debian:程式管理器為dpkg,前端管理工具為apt-get
redhat:程式管理器為rpm,前端管理工具為yum,由於yum有些問題存在,學習到s.u.s.e的包管理使用經驗後邊公升級為dnf
s.u.s.e:程式管理器為rpm,前端管理工具為zypper
archlinux:程式管理器為port
gentoo:整個安裝過程需要邊編譯邊安裝
lfs:liux from scratch 規格最高,從零構建自己的linux
kali:
安裝linux:
虛擬機器:linux
計算機:cpu,記憶體,i/o裝置
Linux系統組成
linux系統一般有4個主要部分 核心 shell 檔案系統和應用程式。核心 shell和檔案系統一起形成了基本的作業系統結構,它們使得使用者可以執行程式 管理檔案並使用系統。一 linux核心 核心是作業系統的核心,具有很多最基本功能,如虛擬記憶體 多工 共享庫 需求載入 可執行程式和tcp ip...
Linux系統核心組成
一 記憶體管理 記憶體管理主要完成的是如何合理有效管理整個系統物理記憶體,同時快速響應核心各個子系統對記憶體分配的請求。linux記憶體管理支援虛擬記憶體,即在系統上執行的所有程式占用的記憶體總量可以大於實際物理記憶體,而多餘出的這部分記憶體就是通過磁碟申請得到的,平時系統只把當前執行的程式塊保留在...
Linux系統核心組成
一 記憶體管理 記憶體管理主要完成的是如何合理有效管理整個系統物理記憶體,同時快速響應核心各個子系統對記憶體分配的請求。linux記憶體管理支援虛擬記憶體,即在系統上執行的所有程式占用的記憶體總量可以大於實際物理記憶體,而多餘出的這部分記憶體就是通過磁碟申請得到的,平時系統只把當前執行的程式塊保留在...