首頁>技術>

我們都知道沒有插電的計算機就是一堆廢鐵,那麼插了電的計算機其實也就是帶了電的廢鐵,哈哈,沒有軟體的運作,計算機的功能也無從發揮。就好像行屍走肉,所以我們要了解一下軟體是什麼。

計算機程式和編譯程式

計算機只認識 0 與1 而已,而且計算機最重要的運算與邏輯判斷是在CPU 內部, 而

CPU 其實是具有微指令集的。因此,我們需要CPU 幫忙工作時,就得要參考微指令集的內容, 然後撰寫讓CPU 讀的懂的指令碼給CPU 執行,這樣就能夠讓CPU 運作了。

不過這樣的流程有幾個很麻煩的地方,包括:

· 需要了解機器語言:機器只認識0 與1,所以你必須天天在鍵盤上打0和1,你說你記的了多少編碼嘛?

·硬體的相關功能函式:因為你的程式必須要寫給機器看, 當然你就得要參考機器本身的功能,函式是一個自我包含的完成一定相關功能的執行程式碼段。

說白了就是將要實現的功能進行模組化,

它是實現某種功能的演算法集合,有助於程式的可重用性。

程式不可移植性:每個CPU 都有獨特的微指令集,同樣的,每個硬體都有其功能函式。因此,你為C計算機寫的程式,理論上是沒有辦法在D 計算機上面運作的!而且程式程式碼的修改非常困難! 因為是機器碼,並不是人類看的懂得程式語言啊!

程式專一性:因為這樣的程式必須要針對硬體功能函式來撰寫, 如果已經開發了一支瀏覽器程式,想要再開發檔案管理程式時,還是得從頭再參考硬體的功能函式來繼續撰寫, 每天都在和『硬體』挑戰!可能會累死你。

既然這麼多的問題,那該怎麼解決呢?所以啊,科學家就創造了“編譯程式“,這樣人類就可以編寫一些人類看的懂的程式碼,然後交給編譯器再翻譯成機器能看的懂的機器碼,目前常見的編譯程式有c,c++,java等等。

越高階的程式越接近人類的語言,所以比如c語言和python的差別就有點大了,c更近機器語言而python就更接近人類的語言,而且學c的難度會比python大。

1、作業系統

我們剛剛談到計算機沒有軟體就是一堆廢鐵,那麼作業系統的功能就是讓cpu可以開始判斷與運算數值、讓主儲存器可以開始載入/讀出資料與程式程式碼、讓硬碟可

以開始被存取、讓網路卡可以開始傳輸資料、讓所有周邊可以開始運轉等等。總之,硬體的所有動作都必須要透過這個作業系統來達成就是了。

我個人理解,作業系統就是一個大的軟體,響應使用者的操作,呼叫各個電腦的硬體,完成各類任務。

2、 作業系統核心

說到系統,就不得不談系統核心了,你的計算機能不能做到某些事情,都與核心有關! 只有

核心有提供的功能,你的計算機系統才能幫你完成!舉例來說,你的核心並不支援某顯示卡

議, 那麼無論你購買了什麼樣的顯示卡,這個核心都無法提供螢幕顯示能力的!

3、系統呼叫(System Call)

既然我的硬體都有核心管理,那麼我想開發軟體的話,自然就要去參考這個核心的相關功能,這樣就從參考硬體函式變成參考核心功能,依然麻煩。

為了解決這個問題,作業系統通常就會提供開發介面給工程師來開發軟體,比如,我們學習c語言,只要參考c程式的函式就可以,不需要參考其他核心的功能。

計算機系統主要有硬體構成,然後核心程式主要再管理硬體,提供合理的系統資源分配,但是人只要操作應用程式,這樣才能夠作業系統。

簡單的總結一下:

1、 作業系統的核心層直接參考硬體的規格寫成的,所以同一個作業系統不能夠再不一樣的硬體架構下執行,比如window的作業系統就不能在蘋果的作業系統執行。

2、 作業系統知識管理硬體資源,例如cpu、記憶體等,如果沒有其他的程式來支援,作業系統沒啥用,至少在我眼裡是這樣的,所以你要看電影啥的就要安裝播放軟體了吧!

3、 應用程式的開發都是參考系統提供的開發介面,我個人理解是小軟體在大軟體上面執行,哈哈。而且在安卓開發的應用程式只能在安卓的系統上執行,蘋果的就不行了。

等等下篇說說系統的核心功能噢!!這個已經算比較難了!

就會自動分享給你群號。歡迎大家加入我們的安全大家庭。提高大家的安全意識,提升大家的網路安全技能一直是我們的初衷和願景,讓我們共同成為守護資訊世界的“SaFeMAN”。

最新評論
  • 1 #

    我一直不明白軟體是怎麼驅動硬體來工作的

  • 2 #

    CPU的微指令集是什麼,有資料文件嗎。

  • 3 #

    –––摘自《鳥哥的linux私房菜》

  • 4 #

    班主,來位大帽唄,合作愉快

  • 5 #

    和標題有什麼關係?

  • 6 #

    通過阿克斯碼,數字可以對應所有的字元,比如數字95代表字母a,95通過二進位制表示為1011111,計算機識別1011111就代表a。以此類推,任何文字字元都可以被計算機識別

  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • 2019年新書-《基於PyTorch的自然語言處理》pdf免費分享