一、為什麼要有作業系統
作業系統是安裝在一堆硬體之上,給應用程式提供底層環境,幫助應用程式操作硬體的軟體系統,更簡化了程式設計師的工作;工作在使用者態的應用程式是不能拋開作業系統執行的。
二、作業系統的組成
作業系統位於計算機硬體和應用軟體之間,從本質上說他也是一種軟體系統,作業系統是有核心程式(執行於核心態)、各種介面組成(執行於使用者態,給應用程式提供系統呼叫)。
三、作業系統的發展史
1、真空管和穿卡打孔無作業系統:2023年第一台計算機誕生--20世紀50年代中期,還未出現作業系統,計算機工作採用手工操作方式。程式設計師將對應於程式和資料的已穿孔的紙帶(或卡片)裝入輸入機,然後啟動輸入機把程式和資料輸入計算機記憶體,接著通過控制台開關啟動程式針對資料執行;計算完畢,印表機輸出計算結果;使用者取走結果並卸下紙帶(或卡片)後,才讓下乙個使用者上機。
手工操作方式兩個特點:
(1)使用者獨佔全機。不會出現因資源已被其他使用者占用而等待的現象,但資源的利用率低。
(2)cpu 等待手工操作。cpu的利用不充分。
20世紀50年代後期,出現人機矛盾:手工操作的慢速度和計算機的高速度之間形成了尖銳矛盾,手工操作方式已嚴重損害了系統資源的利用率(使資源利用率降為百分之幾,甚至更低),不能容忍。唯一的解決辦法:只有擺脫人的手工操作,實現作業的自動過渡。這樣就出現了成批處理。
2、電晶體和批處理系統
批處理系統:載入在計算機上的乙個系統軟體,在它的控制下,計算機能夠自動地、成批地處理乙個或多個使用者的作業(這作業包括程式、資料和命令)。
聯機批處理系統: 首先出現的是聯機批處理系統,即作業的輸入/輸出由cpu來處理。 主機與輸入機之間增加乙個儲存裝置——磁帶,在執行於主機上的監督程式的自動控制下,計算機可自動完成:成批地把輸入機上的使用者作業讀入磁帶,依次把磁帶上的使用者作業讀入主機記憶體並執行並把計算結果向輸出機輸出。完成了上一批作業後,監督程式又從輸入機上輸入另一批作業,儲存在磁帶上,並按上述步驟重複處理。 監督程式不停地處理各個作業,從而實現了作業到作業的自動轉接,減少了作業建立時間和手工操作時間,有效克服了人機矛盾,提高了計算機的利用率。 但是,在作業輸入和結果輸出時,主機的高速cpu仍處於空閒狀態,等待慢速的輸入/輸出裝置完成工作: 主機處於「忙等」狀態。
離線批處理系統: 為克服與緩解:高速主機與慢速外設的矛盾,提高cpu的利用率,又引入了離線批處理系統,即輸入/輸出脫離主機控制。 這種方式的顯著特徵是:增加一台不與主機直接相連而專門用於與輸入/輸出裝置打交道的衛星機。 其功能是: (1)從輸入機上讀取使用者作業並放到輸入磁帶上。 (2)從輸出磁帶上讀取執行結果並傳給輸出機。 這樣,主機不是直接與慢速的輸入/輸出裝置打交道,而是與速度相對較快的磁帶機發生關係,有效緩解了主機與裝置的矛盾。主機與衛星機可並行工作,二者分工明確,可以充分發揮主機的高速計算能力。 離線批處理系統:20世紀60年代應用十分廣泛,它極大緩解了人機矛盾及主機與外設的矛盾。ibm-7090/7094:配備的監督程式就是離線批處理系統,是現代作業系統的原型。 不足:每次主機記憶體中僅存放一道作業,每當它執行期間發出輸入/輸出(i/o)請求後,高速的cpu便處於等待低速的i/o完成狀態,致使cpu空閒。 為改善cpu的利用率,又引入了多道程式系統。
3、積體電路晶元和多道處理系統
就是指允許多個程式同時進入記憶體並執行。即同時把多個程式放入記憶體,並允許它們交替在cpu中執行,它們共享系統中的各種硬、軟體資源。當一道程式因i/o請求而暫停執行時,cpu便立即轉去執行另一道程式。單道程式的執行過程:
在a程式計算時,i/o空閒, a程式i/o操作時,cpu空閒(b程式也是同樣);必須a工作完成後,b才能進入記憶體中開始工作,兩者是序列的,全部完成共需時間=t1+t2。
多道程式的執行過程:
將a、b兩道程式同時存放在記憶體中,它們在系統的控制下,可相互穿插、交替地在cpu上執行:當a程式因請求i/o操作而放棄cpu時,b程式就可占用cpu執行,這樣 cpu不再空閒,而正進行a i/o操作的i/o裝置也 不空閒,顯然,cpu和i/o裝置都處於「忙」狀態,大大提高了資源的利用率,從而也提高了系統的效率,a、b全部完成所需時間<4、分時系統
由於cpu速度不斷提高和採用分時技術,一台計算機可同時連線多個使用者終端,而每個使用者可在自己的終端上聯機使用計算機,好象自己獨佔機器一樣。
分時技術:把處理機的執行時間分成很短的時間片,按時間片輪流把處理機分配給各聯機作業使用。
若某個作業在分配給它的時間片內不能完成其計算,則該作業暫時中斷,把處理機讓給另一作業使用,等待下一輪時再繼續其執行。由於計算機速度很快,作業執行輪轉得很快,給每個使用者的印象是,好象他獨佔了一台計算機。而每個使用者可以通過自己的終端向系統發出各種操作控制命令,在充分的人機互動情況下,完成作業的執行。
具有上述特徵的計算機系統稱為分時系統,它允許多個使用者同時聯機使用計算機。
特點:(1)多路性。若干個使用者同時使用一台計算機。微觀上看是各使用者輪流使用計算機;巨集觀上看是各使用者並行工作。
(2)互動性。使用者可根據系統對請求的響應結果,進一步向系統提出新的請求。這種能使使用者與系統進行人機對話的工作方式,明顯地有別於批處理系統,因而,分時系統又被稱為互動式系統。
(3)獨立性。使用者之間可以相互獨立操作,互不干擾。系統保證各使用者程式執行的完整性,不會發生相互混淆或破壞現象。
(4)及時性。系統可對使用者的輸入及時作出響應。分時系統效能的主要指標之一是響應時間,它是指:從終端發出命令到系統予以應答所需的時間。
分時系統的主要目標:對使用者響應的及時性,即不至於使用者等待每乙個命令的處理時間過長。
分時系統可以同時接納數十個甚至上百個使用者,由於記憶體空間有限,往往採用對換(又稱交換)方式的儲存方法。即將未「輪到」的作業放入磁碟,一旦「輪到」,再將其調入記憶體;而時間片用完後,又將作業存回磁碟(俗稱「滾進」、「滾出「法),使同一儲存區域輪流為多個使用者服務。
多使用者分時系統是當今計算機作業系統中最普遍使用的一類作業系統。
三、作業系統網路基礎
1、應用層:為作業系統或網路應用程式提供訪問網路服務的介面
2、傳輸層:第四層的資料單元為資料段,這一層為上層的應用程式提供埠號,主要是tcp/udp協議;
3、網路層:ip協議,網路層的任務就是選擇合適的網間路由和交換結點, 確保資料及時傳送。網路層將資料鏈路層提供的幀組成資料報,包中封裝有網路層包頭,其中含有邏輯位址資訊- -源站點和目的站點位址的網路位址。
4、資料鏈路層:資料鏈路層 (datalinklayer):在物理層提供位元流服務的基礎上,建立相鄰結點之間的資料鏈路,通過差錯控制提供資料幀(frame)在通道上無差錯的 傳輸,並進行各電路上的動作系列。
資料鏈路層在不可靠的物理介質上提供可靠的傳輸。該層的作用包括:實體地址定址、資料的成幀、流量控制、數 據的檢錯、重發等。在這一層,資料的單位稱為幀(frame)。
5、物理層:規定通訊裝置的機械的、電氣的、功能的和過程 的特性,用以建立、維護和拆除物理鏈路連線。
五、dns解析流程
1、客戶端在瀏覽器輸入鏈結(或者在命令列通過命令請求);
2、作業系統首先會檢視本地hosts檔案,如果有相應的網域名稱和ip位址對應關係,則直接把請求發到對應的ip位址,如果沒有,則查詢本地dns伺服器;
3、本地dns伺服器上如果有相應的解析記錄,dns伺服器將把ip位址返回給應用程式,應用程式直接傳送請求;
4、本地dns伺服器上如果沒有相應記錄,dns伺服器將請求根網域名稱伺服器(全球一共13臺),根網域名稱伺服器將返回相應的頂級域伺服器ip位址;dns伺服器再到相應的頂級域伺服器上查詢二級網域名稱,頂級域伺服器返回相應的二級網域名稱伺服器的ip,以此類推,直到查詢到最終的a記錄ip位址。(dns查詢的方式遞迴加迭代的方式);
網路作業系統
1 網路作業系統 nos client server系統 1 lan manger 採用des資料加密標準 redirector與server。novell網路 redirector c向網路發出請求 message server。2 windows nt 需要vga,提供ipx傳輸協定,支援ras...
作業系統基礎
乙個計算機系統主要包括處理器 記憶體 硬碟 鍵盤 滑鼠等輸入輸出裝置。但是硬體的操作十分複雜繁瑣,程式設計師無法全部掌握,因此需要使用作業系統處理這些硬體。作業系統位於計算機硬體和應用軟體之間,本質是乙個軟體。它有作業系統的核心以及系統呼叫兩部分構成。核心 執行於核心態,管理硬體資源 系統呼叫 執行...
作業系統基礎
作業系統 當系統執行起來時,記憶體首先載入bios,完成加電自檢 檢測有哪些裝置可用 然後載入作業系統核心,剩下的記憶體用來分配給其他應用程式的。這裡有乙個問題,比如乙個應用程式啟動需要2mb,過一會需要載入一些東西,又需要2mb,然後又重新申請空間,而這兩部分記憶體是不連續的,這就造成了碎片 sh...