一、計算機基礎知識
(希望自己能更加喜歡這個系統的學習)
1、計算機系統
2、存儲網絡分類
DAS--(DirectAttached Storage)直接連接存儲
直接存儲,存儲設備與主機的緊密相連。
NAS--(NetworkAttached Storage)網絡連接存儲
通過局域網在多個文件服務器之間實現了互聯,基於文件的協議(NFS、SMB/CIFS ),實現文件共享。
SAN--(StorageArea Networks)存儲區域網絡
利用高速的光纖網絡鏈接服務器與存儲設備,基於SCSI,IP,ATM等多種高級協議,實現存儲共享。
表一:三種方式優缺點簡要
分類 | 優點 | 缺點 |
DAS | 管理成本較低,實施簡單。 | 因儲時直接依附在服務器上,連接距離較短,故存儲共享受到限制。 CPU必須同時完成磁盤存取和應用運行的雙重任務,所以不利於CPU的指令週期的優化,增加系統負擔。 |
NAS | 集中管理數據,從而釋放帶寬、提高性能,可提供跨平臺文件共享功能,較易安裝。 | 可靠性較差,適用於局域網或較小的網絡。 |
SAN | 服務器跟儲存裝置兩者各司其職,高擴展性,利用光纖信道來傳輸數據﹐以達到一個服務器與儲存裝置之間多對多的高效能、高穩定度的存儲環境。 | 實施複雜,管理成本高。 |
3、開發接口標準
ABI--(Application Binary Interface)
ABI描述了應用程序與OS之間的底層接口,允許編譯好的目標代碼在使用兼容ABI的系統中無需改動就能運行。
API--(Application Programming Interface)
API定義了源代碼和庫之間的接口,因此同樣的源代碼可以在支持這個API的任何系統中編譯(AIEEE在操作系統上定義的一系列API標準)。
4、Linux運行文件格式
ELF:可運行文件格式(類似於Windows下.exe文件格式)。
.so(shared object):動態庫基本格式。
.a:靜態庫基本格式。
5、庫存函數(Library function)及系統調用(system call)
簡易圖(老師課件cp)
函數庫調用 | 系統調用 |
在所有的ANSI C編譯器版本中,C庫函數是相同的 | 各個操作系統的系統調用是不同的 |
它調用函數庫中的一段程序(或函數) | 它調用系統內核的服務 |
與用戶程序相聯繫 | 是操作系統的一個入口點 |
在用戶地址空間執行 | 在內核地址空間執行 |
它的運行時間屬於-用戶時間 | 它的運行時間屬於-系統時間 |
屬於過程調用,調用開銷較小 | 需要在用戶空間和內核上下文環境間切換,開銷較大。 |
在C函數庫libc中有大概300個函數 | 在UNIX中大約有90個系統調用 |
典型的C函數庫調用:system fprintf mall oc | 典型的系統調用:chedir fork write brk |
用戶空間--(User space)
用戶程序的運行空間。爲了安全,它們是隔離的,即使用戶的程序崩潰了,內核也不受影響,只能執行簡單的運算,不能直接調用系統資源,必須通過系統接口(system call),才能向內核發出指令。
內核空間--(Kernel space)
是Linux 內核的運行空間,可以執行任意命令,調用系統的一切資源。
簡易圖(老師課件cp)
6、Linux哲學思想
一切都是一個文件(包括硬件)
小型,單一用途的程序
鏈接程序,共同完成複雜的任務
避免令人困惑的用戶界面
配置數據存儲在文本中
備註:CentOS下載地址
https://wiki.centos.org/Download
http://mirrors.aliyun.com
http://mirrors.sohu.com
http://mirrors.163.com