作業系統(7)

2021-08-02 01:23:16 字數 3057 閱讀 1421

作業系統的主要功能有:

處理機管理功能:在傳統的多道程式系統中,處理機的分配和執行都是以程序為基本單位的,因而對於處理機的管理可歸結為對程序的管理。處理機管理的主要功能有:建立和撤銷程序,對諸程序執行進行協調,實現程序之間的資訊交換,以及按照一定的演算法把處理機分配給程序。

1.程序控制主要功能就是為作業建立程序,撤銷(終止)已結束的程序,以及控制程序在執行過程中的狀態轉換。

2.程序同步包括程序互斥方式和程序同步方式,程序互斥方式是指諸程序在對臨界資源進行訪問的過程中,應採用互斥訪問的方式。程序同步方式是指互相合作去完成共同任務的諸程序,在同步機構對他們的同步機構加以協調。最簡單用於程序互斥的機構就是為每乙個臨界資源都配置一把鎖,當鎖開啟時,程序可以對該臨界資源進行訪問;而當鎖關閉的時候,則禁止程序訪問該臨界資源。而實現程序同步的時,最常用的方式就是訊號量機制。

3.程序通訊

當有一組相互合作的程序去完成乙個共同的任務的時候,在他們之間往往需要交換資訊。相互合作的程序處於同一計算機系統時,通常是在他們之間採用直接通訊的方式,即由源程序利用傳送命令直接將訊息掛到目標程序的訊息佇列上,以後由目標程序利用接收命令從其訊息佇列中取出資訊。

4.排程

作業排程:作業排程的基本任務是後備佇列中按照一定的演算法選擇出若干個作業,為他們分配執行所需的資源,在這些作業調入記憶體以後,就給他們分別建立程序,使他們都成為可能獲得處理機的就緒程序,並將它們插入就緒佇列。

程序排程:程序排程的任務就是從程序的就緒佇列中按照一定的演算法選出乙個程序,將處理機分配給他,並為他設定執行現場,使其投入執行。

儲存器管理功能

1.記憶體分配

分為靜態分配方式和動態分配方式

靜態分配方式:每個作業的記憶體空間是在作業裝入的時候確定的,在作業裝入後的整個執行期間,不允許作業再申請新的記憶體空間,也不允許作業在記憶體中浮動

動態分配方式:每個作業所要求的基本記憶體空間雖然也是在裝入時確定的,但是允許作業在執行的過程中繼續申請新的附加的記憶體空間,以適應程式和資料的動態增長,也允許作業在記憶體中移動。

2.記憶體保護:記憶體保護的主要的任務就是確保每道使用者程式都僅在自己記憶體空間內執行,彼此互相不干擾。絕不允許使用者程式訪問作業系統程式的程式和資料,也不允許使用者程式轉移到非法共享的其他使用者程式中去。為了確保每道程式都只在自己的記憶體區中執行,最簡單的方法就是設定乙個兩個界限暫存器,分別用於存放正在執行程式的上界和下界。在程式執行時,系統對每條指令所要訪問的位址進行檢查,如果發生越界就會發出越界中斷請求,停止該程式的執行。

3.位址對映

將位址空間中的邏輯位址轉換為記憶體空間中與之對應的實體地址,該功能應在硬體的支援下完成。

4.記憶體擴充

借助虛擬技術,在邏輯上擴充記憶體容量。

5.裝置管理功能:完成使用者程序提出的i/o請求,為使用者程序分配所需的i/o裝置,並完成指定的i/o操作。提高cup和i/o裝置的利用率,提高i/o裝置的速度,方便使用者使用i/o裝置

1.緩衝儲存

2.裝置分配

為實現裝置分配,系統中應該設定控制表,控制器控制表等資料結構,用於記錄裝置及控制器等識別符號和狀態。這些**可以了解指定的裝置是否可用,是否忙碌,以供進行裝置分配時參考。

3.裝置處理

又稱為裝置驅動程式,其基本功能就是實現cup和裝置控制器之間的通行,即由cpu向裝置控制器發出i/o命令,要求他完成指定的i/o操作,反之,當cpu接收從控制器發來的中斷請求,並給予迅速的相應和相應的處理。

裝置處理的過程就是首先要檢查i/o請求的合法性,了解裝置狀態是否為空閒,讀取有關的傳遞引數以設定裝置的工作方式,然後向裝置控制器發出i/o命令,啟動i/o裝置完成指定的操作。此外裝置驅動程式還能及時地相應由控制器發來的中斷請求,並根據中斷請求的型別,呼叫相應的中斷處理程式來處理進行處理,對於設定了通道的計算機系統,裝置處理程式還應該根據使用者的i/o請求自動的構成通道。

6.檔案管理功能

1.檔案儲存空間的管理

2.目錄管理

目錄管理的主要任務就是為每個檔案建立乙個檔案項,目錄項包括檔名,檔案屬性,檔案在磁碟上的物理位置等,對眾多的檔案項進行有效的組織,以實現方便的按名訪問。及使用者只提供檔名,即可對檔案進行訪問。目錄管理還應該能實現檔案的共享,這樣只需要在外存上保留乙份共享檔案的副本。此外還應該提供快速的目錄查詢手段,以提供對檔案檢索的速度。

3.檔案的讀/寫管理和保護

7.作業系統與使用者的介面:為了方便使用者對作業系統的使用,作業系統向使用者提供了使用者與作業系統的介面,包括下面兩種:

1.使用者介面

為了使用者直接或者間接地控制自己的作業,作業系統向使用者提供了命令的介面。使用者可通過該介面向作業發出命令已控制作業的執行。

1)連線使用者介面

這是為聯機使用者提供的,他有一組鍵盤命令及命令解釋程式組成。當使用者在終端或者控制台輸入一條命令後,系統便立即轉入命令解釋程式,對該命令加以解釋執行,在完成指定的功能後,系統便又回到終端或者控制台上等待使用者鍵入下一條命令。

2)離線使用者介面

這是為批處理的使用者提供的。使用者用作業控制語言jcl把所需要對作業進行調控和和干預的命令事先寫在作業說明書上,然後將它與作業一起提交給系統,當系統呼叫到該作業執行時,通過呼叫命令解釋程式去對作業說明書上的命令逐條解釋執行,直到遇到作業結束語句的時候停止該作業的執行。

3)圖形使用者化介面

2.程式介面

程式介面就是為使用者在程式執行中訪問系統資源而設定的,是使用者取得作業系統服務的唯一途徑,它是由一組系統呼叫組成的,每乙個系統呼叫就是能完成特定功能的子程式。每當要應用程式要求os提供某種服務的時候,便呼叫呼叫具有相應功能子程式。早期的系統呼叫都是用組合語言寫的,只有組合語言編寫的程式中才能直接使用系統呼叫。在高階語言以及c語言中,往往提供了與各個系統呼叫一一對應的庫函式。這樣程式便可以通過呼叫對應的庫函式來使用系統呼叫。但在近幾年所推出的作業系統中,如unix,os/2版本中,其系統呼叫本身就是用c語言編寫,並以函式的形式提供,故在c語言的編制的過程中,可直接使用系統呼叫。

現代作業系統的新功能

1.系統安全

1)認證技術

2)密碼技術

3)訪問控制技術

4)反病毒技術

2.網路的功能和服務

1)網路通訊

2)資源管理

3)應用互操作

3.支援多**

1)接納控制功能

2)實時排程

3)多**檔案的處理

作業系統7 shell

使用者體驗 命令執行 the shell 一旦作業系統載入之後,他就開始等待命令。命令可以通過 cli command line inte ce 或者 gui graphical user inte ce 輸入。命令輸入會進入乙個命令的解析器 在unix世界這個叫做shell shell 用自己的規...

reactos作業系統實現 7

l freeloader 記憶體布局 0000 0000 0000 0fff 中斷向量表和 bios 資料0000 1000 0000 6fff 實模式的棧記憶體 0000 7000 0000 7fff 命令列 multiboot 0000 8000 x x freeloader 程式和資料 x x...

作業系統 作業系統介面

介面表現為函式呼叫,由作業系統提供,連線作業系統和應用軟體。出於安全性考慮,應用程式不能直接在記憶體中任意訪問 將核心程式和使用者程式隔離 通過比較訪問資料段cpl和rpl的特權級和當前段dpl的特權級之間的關係 應用程式呼叫庫函式printf printf呼叫庫中的write函式 write將函式...