1.3系統安裝及初步認識

Linux:
        API: 應用編程接口   一般是:
            syscall   系統調用接口
            libcall    庫調用接口
        ABI: 不一樣操做系統的內核對於二進制格式文件的支持是各不相同的
                        對應平臺支持的可執行環境
Linux和windows所支持的二進制文件格式是不徹底相同的
在每一個應用程序的開頭幾個字節,有一些符號用來標記這是什麼格式的可執行文件,後面就是可執行的數據
Linux 支持的格式爲 ELF格式的   windows上支持的是exe,msi格式的   他們的二進制格式是不一樣的
當任何程序須要運行時,先向內核申請須要運行,內核識別看是否可運行,如發現能夠運行,則劃分紅一部分cpu,讓其運行
   
        .so: Shared Object   共享對象
    .dll: Dynamic Link Libraries  動態連接庫
鏈接是有兩種方式的
靜態連接:可以獨立運行,可是連接後空間很龐大
動態連接:java

編譯時,移植能成功,API須要同樣     庫兼容
編譯後,移植能成功,ABI須要同樣linux

早期IEE定義的規範叫:POS API   可移植操做系統接口   操做系統的兼容規範
        Portable OS  爲了可以兼容UNIX的使用風格,POS API --> POSIX APIc++

    x86
        32bits linux: p1
        64bits linux: p1shell

自由軟件:  都是支持開源協定的   遵循開源協定的都是自由軟件
    FSF:Free Software Fundation     自由軟件基金會
    ASF:Apache Software Fundation   Apache軟件基金會
        特色:
        自由學習、自由修改源代碼
        能夠出於任何目的獲取源代碼
        自由分發源代碼
        自由建立衍生版編程

    開源許可協議:開源協定
        GPLv2 ,  GPLv3   通用公共許可證(GPL)的幾個版本
        LGPL: Lesser(鬆散的)   僅調用庫無需開源
        BSD:
            一、若是二次發佈的產品中包含源代碼,則在源代碼中必須帶有原來的代碼中的BSD協議;
            二、若是二次發佈的只是二進制格式的庫或程序,則須要在發佈的文檔或版權聲明中說明包含原來的代碼中的BSD協議;
            三、不能夠用開源代碼的做者/組織和原來的產品名字作市場推廣;
        Apache License: 也和BSD類似,但比BSD更寬泛小程序

        Copyright  版權
        Copyleft  公共版權swift

    各類發行版: 各類開源程序 + Linux內核     都是編譯好的
        GPL, LGPL, BSD, APLwindows

    Android系統: 
        Linux + jvm(虛擬機) + java程序    處理垃圾時,是不能運行程序的bash

    IOS:
        FreeBSD + Object-C (swift) (面向對象的C)ssh

    Linux基本法則:
        一切皆文件(包括硬件)
        由多個單一目的小程序組成
        組合小程序完成複雜任務
        儘量避免捕獲用戶接口,爲了方便腳本編程以實現自動化執行;
        使用文本文件保存程序的配置數據:使用一個文本編輯器便可完成系統及服務配置工做;

    Linux系統層次:

        運行程序:經過內核把某應用程序調度至硬件執行其執行;

        用戶接口:是一種獨特的應用程序,可以爲用戶提供啓動其它應用程序的機制;有兩種接口:
            CLI:
                命令提示符,用戶輸入要執行的命令便可;
                shell: 外殼
                    sh, csh, ksh, bash, zsh, tcsh
             [root@root scripts]#echo $SHELL    查看當前用戶所用shell
               /bin/bash
            GUI:
                經過點擊操做來啓動應用程序;
        Linux下經常使用的GUI
                    Gnome, c, gtk
                    KDE, c++, qt 界面研發
                    xface, 輕量級桌面
終端:
        虛擬終端(程序)
            Ctrl-Alt-F[1-6]
            全部的虛擬終端表示:/dev/tty#
        圖形終端   用戶使用的GUI終端
            Ctrl-Alt-F7
        僞終端
            使用ssh遠程鏈接
            在圖形界面下打開的命令提示符
            全部的僞終端表示:/dev/pts/#
        物理終端(控制檯console)  沒有啓動虛擬終端也沒有啓動僞終端,經過顯卡直接連到顯示器,在啓動虛擬終端啓動程序以前的終端就是物理終端。
            表示:/dev/console
        串行終端:  不使用vga顯示    一個一個字符來顯示,使用圖形程序時,須要用到VGA
            表示:/dev/ttyS#


        設備文件:

    此前未啓動X window:
        startx &
        startx -- :2 &

    總結命令:         ifconfig, tty, ls, startx, echo

相關文章
相關標籤/搜索