linux小白–第一節linux作業系統簡介
前言:初次見面概念–通過響應使用者指令達到控制硬體的效果,稱為作業系統
如在terminal上敲乙個"echo helloworld >/mnt/1.txt"指令,這句命令在bash中輸入,echo就是linux系統中常用的乙個二進位制檔案,這裡可以理解為函式,helloworld這個字元檔案就是echo函式需要處理的量。接下來分為兩步看下作業系統做了什麼
1 賦予該命令乙個程序/執行緒,將helloworld轉化為二進位制檔案(1100…0011這種)壓入程序buffer中,短的二進位制檔案直接壓入fd暫存器,把硬碟中儲存的/mnt/1.txt檔案也調取出來放入buffer中,呼叫系統c程式庫函式echo和">",這些函式也被轉化為二進位制的數(因為cpu只認識0和1),這些動作在使用者態下完成。接下來切換到核心態,這些二進位制數被放在虛擬記憶體中,作業系統按照虛擬記憶體頁面位址對應map找到實際物理記憶體位址,找不到的進行頁面置換,cpu的程式計數器壓入下乙個需要執行的物理記憶體位址,開始對這些二進位制數進行操作
以上就可以看出雖然只是乙個簡單的bash命令但是作業系統做了大量的操作,在其中賦予程序、呼叫函式、檔案系統、呼叫驅動細化的操作其實更多,但是作業系統幫我們完成了這一系列動作,使用cpu、記憶體、硬碟等等,而我們感知到的可能就是0.1s的等待,那麼程式執行,就可以理解是100條、1000條這樣的命令組合起來執行了
由於linux的開源特性,到今天我們能看到各種各樣的linux作業系統
ubuntu—一般開發者/程式設計師喜歡使用
redhat—使用廣泛的linux作業系統,包括各個企業
fedora—一般個人使用
suse—由德國opensuse社群維護的linux專業版
linux mint—基於debain和ubuntu提供了更多的功能
debian—類似於ubuntu
manjaro—也就是arch linux
mageia—在法國巴黎建立。完全由社群執行的linux發行版
centos—將redhat系統某些程式進行一些二次編譯後退出發行,紅帽系統的社群版,我個人比較喜歡
arch—由二進位制軟體包組成,無圖形化介面,被稱為「不懼怕命令列的中高階linux使用者」
這個相信很多人都知道了,開源、免費、多使用者多工、支援多種平台(386、x86、alpha)等等,不過我個人喜歡linux作業系統還是它將系統的底層開放得比較透徹,方便自己學習,還有就是字型好看hahaha
感謝閱讀zzz
第一節 Linux系統簡介
一.linux定義 linux 是乙個作業系統,就像你多少已經了解的 windows xp,7,8 和 max os.作業系統在整個計算機系統中的角色 linux 是系統呼叫和核心那兩層,直觀的來看,我們使用的作業系統還包含一些在其上執行的應用程式,比如文字編輯器,瀏覽器,電子郵件.二.linux歷...
第一節綜述
shader是什麼?shader是著色器。渲染流水線的概念?渲染流水線的工作任務在於由乙個三維場景出發,生成一張二維影象。渲染流程分為3個階段 應用階段 幾何階段 光柵化階段。1 應用階段 由cpu負責實現,由開發者主導。最重要的輸出是渲染所需的幾何資訊,即渲染圖元。這些渲染圖元傳遞給幾何階段。2 ...
第一節 熱機
一.熱機 內燃機是熱機的一種,以汽油或柴油為燃料 二.汽油機 練1.三.柴油機 練2.從能量轉化的角度看,一台四衝程內燃機在乙個迴圈中 1 哪個衝程存在著化學能轉化為內能的過程?2 哪個衝程存在著內能轉化為機械能的過程?3 哪個衝程具有很明顯的機械能轉化為內能的過程?練3.關於單缸四衝程內燃機,下列...