1. 程式人生 > >【軟考教程】作業系統知識

【軟考教程】作業系統知識

這幾天的軟考複習,一直在和“真正”的計算機打交道,對計算機又有了一次整體結構上的認識。正是因為它那強大而又豐富的硬體資源,使得這一章要學習的軟體資源的重頭戲——作業系統知識,也很是龐大。
 從第1章我們就知道了計算機的基本硬體由五個部件構成:運算器、處理器、儲存器、輸入和輸出裝置。而本章的作業系統的功能便可從這裡講起,對應著五個部件,便對應著五大功能。在這裡,先有個巨集觀認識,至於每個管理,在後面都會有更加詳細的整理。
【作業系統】
計算機系統中的軟體極為豐富,通常分為應用軟體和系統軟體兩大類。應用軟體是指計算機使用者利用計算機的軟體、硬體資源為某一專門的應用目的而開發的軟體。系統軟體是計算機系統的一部分,由它支援應用軟體的執行。而作業系統是計算機系統中必不可少的核心繫統軟體,其他軟體是建立在作業系統的基礎上,並在作業系統的統一管理和支援下執行,是使用者和計算機之間的介面。
對作業系統的巨集觀知識主要包括以下三個方面: 1.2個重要作用:一是通過資源管理提高計算機系統的效率;二是改善人機介面向用戶提供友好的工作環境。 2.4個特徵:併發性、不確定性、共享性、虛擬性。 3.5個型別:從作業處理角度看,有批處理、分時和實時作業系統三類;從硬體結構角度看,有網路、分散式作業系統兩類。 下面便深入瞭解作業系統功能即五大管理的知識: 【處理機管理】 處理機管理也稱程序管理。程序是資源分配和獨立執行的基本單位。 程式、程序、執行緒,三個詞,看起來相似,實際上是存在著很大的不同。程序是程式的一次執行,該程式可以和其他程式並行執行。程序通常是由程式、資料和程序控制塊組成的。 由於在傳統的程序的建立、撤銷和切換中,系統需要付出較大的時空開銷,所以引入執行緒。執行緒是程序中的一個實體,是被系統獨立分配和排程的基本單位。執行緒可建立另一個執行緒,同一個程序中的多個執行緒可以併發執行。
程序一般有3種基本狀態:執行、就緒和等待。這在我們自考中已經接觸過,也算是很熟悉了,在這裡就不在贅述了。除此之外,加入了一個新建和終止狀態,便形成了軟考教程中所描述的五態模型。 在多道程式環境的系統中存在多個可以併發執行的程序,故程序間必然存在資源共享和合作的問題。程序通訊便是指各個程序交換資訊的過程。 程序的互斥:是指某一資源同時只允許一個訪問者對其進行訪問,具有唯一性和排它性。但互斥無法限制訪問者對資源的訪問順序,即訪問是無序的。 程序的同步:是指在互斥的基礎上(大多數情況),通過其它機制實現訪問者對資源的有序訪問。在大多數情況下,同步已經實現了互斥,特別是所有寫入資源的情況必定是互斥的。少數情況是指可以允許多個訪問者同時訪問資源。
PV操作在自考學習的時候是一片茫然的,也沒好好看,通過這一次的軟考學習,有種豐收的喜悅,做了些題目後,才發現PV操作原來是這麼回事。抓住要點:P操作是申請資源,訊號量減1,V操作是釋放資源,訊號量加1。 程序的排程演算法在自考中也是很詳細的學習了,看知識點的時候,便很容易就回想起來了。 【儲存管理】 儲存管理的物件是主存,也稱記憶體。 儲存管理的主要目的是解決多個使用者使用主存的問題,其儲存方案主要包括:分割槽、分頁、分段、段頁式和虛擬儲存管理。 【裝置管理】 裝置管理是作業系統中最複雜而且與硬體緊密相關的部分。不僅要管理實際I/O操作裝置(如印表機),還要管理諸如控制器和I/O處理機(通道)等支援裝置。 我把裝置管理分為兩個部分,一個是基本的概述,一個是緩衝技術,這樣內容便很清晰了。主要是磁碟的排程演算法部分,經常是讓我們計算如果不採用優化分佈時間多少,採用後時間又是多少。 【檔案管理】 檔案是日常生活中我們一直在接觸的,對於它,我們只是一直都在使用,要說起它的結構、組織等,我想都道不明白吧。 但是在學習了資料結構後,發現檔案的結構和它是一樣一樣的。 曾經在總結資料結構的時候,畫過這樣一張圖:  而檔案結構,也是分為邏輯結構和儲存結構兩類。 這樣就很容易想起檔案的組織形式了。檔案的目錄也是一個值得關注的點。檔案目錄結構的組織方式直接影響到檔案的存取速度。常見的目錄結構有3種,對比如下: 【作業管理】 作業是系統為完成一個使用者的計算任務(或一次事務處理)所做的工作總和,所以,自己將其放在了系統的輸入輸出部分下的管理。 通常,可以採用離線(無須人工干預)和聯機(需要人工干預)兩種控制方式控制使用者作業的執行。作業狀態分4種:提交、後備、執行和完成。至於作業的排程演算法,在自考中也都做過題,比較簡單。 【軟考點點】 作業系統這部分的知識在自考中是有專門的一科學過的,所以在學習的過程中,不是第一次接觸,接受起來也是比較容易的。 在軟考的考試中,作業系統這部分並沒有出現在大題中,之前的自考學習,各種演算法都考過大題目,所以當時也是掌握了各種管理中出現的各種演算法應該如何進行具體的計算,現在算是溫習了一遍,做軟考選擇題的時候問題就不大了。 通過軟考的這部分學習,自己最大的感受便是覺得知識更加系統化了,知識庫處在是不斷更新、不斷積累的過程中,所以,知識間建立的聯絡也就更多了,並不僅僅是侷限於這一部分的學習。