操作系統的定義
操作系統是一種運行在內核態的軟件,是控制和管理計算機系統內各種硬件和軟件資源,有效組織多道程序運行的系統軟件(或程序集合),是用戶與計算機之間的接口。
操作系統的功能
操作系統的主要功能是資源管理,程序控制和人機交互等。
操作系統的歷史
第一代:真空管和穿孔卡片
第二代:晶體管和批處理系統
第三代:集成電路芯片和多道程序設計
第四代:個人計算機
操作系統的類型
大型機操作系統、服務器操作系統、多處理器操作系統、個人計算機操作系統、掌上計算機操作系統、嵌入式操作系統、傳感器節點操作系統、實時操作系統、智能卡操作系統
計算機硬件
CPU
從內存中讀指令,解碼並執行之。
每個CPU都有一套可執行的指令集
CPU中的寄存器:
- 通用寄存器(保存變量和臨時結果)
- 程序計數器(下一條指令的內存地址)
- 堆棧指針(指向內存中當前棧的頂端)
- 程序狀態字寄存器PSW(包括條件碼位、CPU優先級、模式(用戶態或內核態)及其他控制位)
三階段流水線:取指->解碼->執行
超標量CPU:有多個執行單元
存儲器
分層次的結構:寄存器-高速緩存-內存-磁盤-磁帶
現代CPU設計中設計了兩個緩存:
- 第一級L1緩存在CPU中,訪問不存在延時
- 第二級L2緩存,訪問存在一個或兩個時鐘週期延時
磁盤:磁道、柱面、扇區
磁帶:常用於磁盤的備份
I/O設備:包括設備控制器和設備本身,OS需要使用設備驅動程序來控制設備控制器
實現輸入輸出的方式:程序控制、中斷、直接存儲器訪問DMA
啓動計算機
Pentium的簡要啓動過程:
母版上BIOS運行,檢查設備,通過CMOS存儲器中的設備清單決定啓動設備,啓動設備的一個扇區被讀入並執行,操作系統詢問BIOS,以獲取配置信息,檢查驅動程序,初始化有關表格,創建背景進程,在每個終端上啓動登錄程序或GUI。
幾個概念:
進程
本質是正在執行的一個程序
包括:地址空間和資源集(寄存器、打開文件的清單、突出的報警、有關進程清單等)
進程表:保存於進程有關的所有信息,數組(或鏈表)結構,當前存在的每個進程都要佔用其中一項。
UNIX中進程的存儲空間分爲三段:正文段(程序代碼)、數據段(變量)、堆棧段
文件
目錄、根目錄、工作目錄
特殊文件:塊特殊文件、字符特殊文件(特殊文件是爲了使I/O設備看起來像文件一般)
管道:一種虛文件,可連接兩個進程
操作系統結構
單體系統、層次系統、微內核、客戶機-服務器模式、虛擬機、外核
多道程序設計
是在計算機內存中同時存放幾道相互獨立的程序,使它們在管理程序控制之下,相互穿插的運行。 兩個或兩個以上程序在計算機系統中同處於開始到結束之間的狀態。這就稱爲多道程序設計。多道程序技術運行的特徵:多道、宏觀上並行、微觀上串行。
CPU在內存中的進程快速切換,通常用來充分利用I/O過程中的CPU資源。