0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

計算機底層知識之操作系統

jf_78858299 ? 來源:前端柒八九 ? 作者:前端柒八九 ? 2023-03-31 15:55 ? 次閱讀

操作系統功能的歷史

在計算機中尚不存在操作系統的年代,完全沒有任何程序,因此程序員就需要編寫出處理相關的所有程序。用機器語言編寫程序,然后再使用開關將程序輸入,這個過程非常麻煩。于是,有人開發(fā)出僅具有 「加載」「運行功能」「監(jiān)控程序」 ,這就是操作系統的原型。

通過事先啟動監(jiān)控程序,程序員就可以根據需要將各種程序加載到內存中運行。

圖片

隨著時代的發(fā)展,人們在利用 「監(jiān)控程序」 編寫程序的過程中,發(fā)現很多程序都有 「共通」 的部分。例如,鍵盤輸入、顯示器輸出文字等。因此,基本的 「輸入輸出」 部分的程序被追加到了監(jiān)控程序中。因此,初期的操作系統就應用而生了。

圖片

初期的操作系統 = 監(jiān)控程序 + 基本的輸入輸出程序

之后,開始有更多的功能被追加到監(jiān)控程序中。例如,硬件控制程序、語言處理器匯編、編譯、解析)以及各種實用程序等。從此可知, 「操作系統本身并不是單獨的程序,而是多個程序的集合體」

圖片


意識到操作系統的存在

我們希望制作應用的程序員意識到一點,那就是他們制作的不是硬件,而是 「利用操作系統功能的應用」 。

雖然,對程序員來說,掌握硬件的基本知識是必需的,不過,在操作系統誕生后,就沒有必要再編寫直接控制硬件的程序了。不過,「要想成為一個全面的程序員,有一點需要清楚的是,掌握基本的硬件知識,并借助操作系統進行抽象化,可以大大提高編程效率?!?/strong>

?在操作環(huán)境這個運行環(huán)境下,應用并不是直接控制硬件,而是通過操作系統來 「間接」 控制硬件。

?

圖片


系統調用和高級編程語言的移植性

操作系統的硬件控制功能,通常是通過一些小的 「函數集合」 的形式來提供的。這些函數及調用函數的行為統稱為系統調用System Call,也就是應用對操作系統的功能進行調用。

C語言等高級編程語言并不依存于特定的操作系統。這是因為無論Windows還是Linux都能使用幾乎相同的源代碼。因此, 「高級編程語言的機制就是,使用獨自的函數名,然后再在編譯時將其轉換成相應操作系統的系統調用」 。

用高級編程語言編寫的應用在 「編譯后」 ,就轉換成了利用系統調用的 「本地代碼」 。

圖片


操作系統和高級編程語言使硬件抽象化

通過使用操作系統提供的 「系統調用」 ,程序員就沒必要編寫直接控制硬件的程序了。而且,通過使用高級編程語言,有時甚至也無需考慮系統調用的存在。這是因為 「操作系統和高級編程語言能夠使硬件抽象化」 。

我們用C語言編寫一個往文件中寫入字符串的應用。

#include 

void main(){
  //打開文件
  FILE *fp = fopen("MyFile.txt","w");
  
  /寫入文件
  fputs("前端柒八九",fp);
  // 關閉文件
  fclose(fp);
}
  • fopen()是用來打開文件的函數
  • fputs()是用來往文件中寫入字符串的函數
  • fclose()是用來關閉文件的函數

在應用被編譯運行后,MyFile文件中就會被寫入前端柒八九字符串。

?文件是操作系統對磁盤媒介空間的抽象化

?

正如前面介紹過,硬件被劃分為了多個扇區(qū),并以扇區(qū)為單位對磁盤進行讀寫。圖片

變量fp中被賦予的是fopen()函數的返回值。該值稱為 「文件指針」 。應用打開文件后,操作系統就會自動申請分配用來管理文件讀寫的內存空間。這個內存空間的地址可以通過fopen()函數的返回值獲得。用fopen()打開文件后,接下來就是通過指定文件指針來對文件進行操作。


Windows 操作系統的特征

  1. 32/64位操作系統
  2. 通過 「API函數集」 來提供系統調用
  3. 提供采用了圖形用戶界面Graphical User Interface的用戶界面
  4. 通過WYSIWYG實現打印輸出
  5. 提供多任務功能
  6. 提供網絡功能及數據庫功能
  7. 通過 「即插即用」 實現設備驅動的自動設定

我們來挑幾個我們比較感興趣的來簡單講講。

通過WYSIWYG實現打印輸出

WYSIWYGWhat You See Is What You Get的縮寫。翻譯成中文就是 「所見即所得」 。

WYSIWYG指的是顯示器上顯示的內容可以直接通過打印機打印輸出。在Windows中,顯示器和打印機是被作為同等的圖形輸出設備處理的,而該功能也就為WYSIWYG的實現提供了條件。

借助WYSIWYG功能,基本上在同一個程序中就可以實現顯示和打印這兩方面的操作了。

提供多任務功能

? 「多任務」 指的是同時運行多個程序的功能。Windows是通過 時鐘分割」 技術來實現多任務功能的。

?

時鐘分割指的是在短時間間隔內,多個程序切換運行的方式。在用戶看來,就是多個任務在同時運行。而Windows會自動切換多個程序的運行。此外,Windows還具有 「以程序中的函數為單位來進行時鐘分割的多線程功能」 。

圖片

提供網絡功能及數據庫功能

Windows中,網絡功能是作為 「標準功能」 提供的。數據庫功能有時也會在之后進行追加。網絡功能和數據庫功能,雖并不是操作系統本身不可欠缺的功能,但因為它們和操作系統很接近,所以被統稱為 「中間件」 而不是應用。

?中間件的意思是處于 「操作系統和應用的中間」 。

?

操作系統和中間件合在一起,也稱為**「系統軟件」**

圖片

通過即插即用實現設備驅動的自動設定

即插即用Plug-and-Play指的是新的設備連接(Plug)后立刻就可以使用(Play)的機制。新的設備連接到計算機后,系統就會自動安裝和設定用來控制該設備的 「設備驅動」 程序。

設備驅動是操作系統的一部分,提供了同硬件進行基本的輸入輸出的功能。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • 計算機
    +關注

    關注

    19

    文章

    7174

    瀏覽量

    87158
  • 程序員
    +關注

    關注

    4

    文章

    945

    瀏覽量

    29682
  • 機器語言
    +關注

    關注

    0

    文章

    35

    瀏覽量

    10730
收藏 人收藏

    評論

    相關推薦

    計算機操作系統PPT

    計算機操作系統PPT操作系統引論(1章)進程管理(2-3章)存儲管理(4章)設備管理(5章)文件管理(6章)操作系統接口(7章)系統安全性(
    發(fā)表于 11-07 11:19

    計算機軟件與操作系統

    計算機軟件與操作系統  功能強大的計算機自從走進了人類的生活就發(fā)揮著越來越重要的作用,隨著時代的發(fā)展,計算機已與人們的日常生活息息相關。不能不說計算
    發(fā)表于 09-13 10:09

    計算機操作系統

    計算機操作系統-進程(2)進程的狀態(tài)與轉換
    發(fā)表于 05-25 16:45

    在ARM中計算機技術和知識的分享

    1.相關資料的分享,c/c++語言面試寶典,從面試的角度看待編程語言應該如何學習2.計算機基礎和操作系統資料分享,在應用的計算機底層的時候必須得掌握的
    發(fā)表于 10-21 14:27

    什么是計算機操作系統

    什么是計算機操作系統?操作系統是一種為應用程序提供服務的系統軟件,是一個完整的計算機系統的有機組成部分。從層次上來看,
    發(fā)表于 12-14 06:50

    嵌入式系統與通用計算機操作系統的區(qū)別是什么

    嵌入式系統與通用計算機操作系統的區(qū)別以前僅學習并接觸過嵌入式系統,通過對比,可以把以前學過的知識對應到
    發(fā)表于 12-22 06:35

    計算機操作系統課件

    計算機操作系統課件內容如下第1章  計算機操作系統概述.ppt1.1  存儲程序式計算機模型1.2 
    發(fā)表于 11-07 09:43 ?0次下載
    <b class='flag-5'>計算機</b><b class='flag-5'>操作系統</b>課件

    2004年計算機操作系統試題

    計算機專業(yè)計算機操作系統試題 2004年1月一、選擇題(選擇一個正確答案的代號填入括號中,共40分)1.操作系統是為了提高計算機的C1](
    發(fā)表于 01-07 19:24 ?2次下載

    計算機操作系統》課程教學探討

    計算機操作系統課是一門涉及知識面廣的專業(yè)基礎課程,該課程的教學一直在計算機專業(yè)教學計劃中居重要位置.本文在分析了目前國內計算機
    發(fā)表于 04-18 21:12 ?48次下載

    計算機測控系統操作系統概述集合【labview基礎知識

    計算機測控系統操作系統概述集合,labview基礎知識
    發(fā)表于 01-12 11:13 ?19次下載

    計算機操作系統原理與設計

    計算機操作系統原理與設計算機操作系統原理與設計 計算機操作系統原理與設計
    發(fā)表于 06-03 14:30 ?42次下載

    操作系統是什么?計算機操作系統的詳細資料介紹

    操作系統計算機學科的基礎課程,是理解計算機運行原理的重要基石,學習操作系統不僅能夠讓編程人員了解計算機運行邏輯而且還有助于培養(yǎng)編程“軟實力
    的頭像 發(fā)表于 02-04 12:24 ?1.7w次閱讀
    <b class='flag-5'>操作系統</b>是什么?<b class='flag-5'>計算機</b><b class='flag-5'>操作系統</b>的詳細資料介紹

    計算機操作系統的幾種分類方式

    操作系統是管理計算機硬件與軟件的計算機程序,是計算機系統的核心,是計算機系統中最基礎和最重要的系統
    的頭像 發(fā)表于 03-21 14:58 ?2w次閱讀

    計算機操作系統的最基本特征是什么_計算機操作系統是什么的接口

    計算機操作系統是用戶與計算機的接口,在計算機中,操作系統是其最基本也是最重要的基礎性系統軟件;
    發(fā)表于 09-03 15:36 ?1.5w次閱讀

    為什么計算機需要操作系統?

    今天,我們從三個方面來簡單聊聊為什么計算機系統需要操作系統這個話題。
    的頭像 發(fā)表于 02-03 11:00 ?2055次閱讀