操作系統的一些概念題(1)
答案均取自網絡或是書本的理解整理(百度知道,百度百科,《操作系統》(張堯學),CSDN,百度題庫,知乎等)
PS:絕大部分的問題都是取自清華大學出版社的張堯學,史美林,張高編著的《計算機操作系統教程(第三版)》,答案很多都是對應的書本的答案
緒論
操作系統的基本功能?
操作系統主要包括以下幾個方面的功能 :
①進程管理,其工作主要是進程調度,在單用戶單任務的情況下,處理器僅為一個用戶的一個任務所獨占,進程管理的工作十分簡單,但在多道程序或多用戶的情況 下,組織多個作業或任務時,就要解決處理器的調度、分配和回收等問題
②存儲管理,分為幾種功能:存儲分配、存儲共享、存儲保護、存儲擴張
③設備管理,分有以下功能:設備分配、設備傳輸控制、設備獨立性
④文件管理:文件存儲空間的管理、目錄管理、文件操作管理、文件保護
⑤作業管理,是負責處理用戶提交的任何要求
批處理以及分時和實時系統概念?各自的特征?
批處理是指用戶將一批作業提交給操作系統后就不再干預,由操作系統控制它們自動運行,這種采用批量處理作業技術的操作系統稱為批處理操作系統。
分時操作系統,“分時”的含義:分時是指多個用戶分享使用同一台計算機,多個程序分時共享硬件和軟件資源。
分時操作系統是指在一台主機上連接多個帶有顯示器和鍵盤的終端,同時允許多個用戶通過主機的終端,以交互方式使用計算機,共享主機中的資源。分時操作系統是一個多用戶交互式操作系統
實時操作系統,所謂“實時”,是表示“及時”,而實時系統是指系統能及時響應外部事件的請求,在規定的時間內完成對該事件的處理,並控制所有實時任務協調一致的運行。
一、批處理系統的特點
1、多道:在內存中同時存放多個作業,一個時刻只有一bai個作業運行,這些作業共享CPU和外部設備等資源
2、成批:用戶和他的作業之間沒有交互性。用戶自己不能干預自己的作業的運行,發現作業錯誤不能及時改正
3、批處理系統的目的是提高系統吞吐量和資源的利用率
二、分時系統的特點
1、同時性:計算機系統能被多個用戶同時使用
2、獨立性:用戶和用戶之間都是獨立操作系統的,在同時操作時並不會發生沖突,破壞,混淆等現象
3、及時性:系統能以最快的速度將結果顯示給用戶
4、交互作用性:用戶能和電腦進行人機對話
三、實時操作系統的特點
1、高精度計時系統
計時精度是影響實時性的一個重要因素。在實時應用系統中,經常需要精確確定實時地操作某個設備或執行某個任務,或精確的計算一個時間函數。這些不僅依賴於一些硬件提供的時鍾精度,也依賴於實時操作系統實現的高精度計時功能
2、多級中斷機制
一個實時應用系統通常需要處理多種外部信息或事件,但處理的緊迫程度有輕重緩急之分。有的必須立即作出反應,有的則可以延后處理。因此,需要建立多級中斷嵌套處理機制,以確保對緊迫程度較高的實時事件進行及時響應和處理
3、實時調度機制
實時操作系統不僅要及時響應實時事件中斷,同時也要及時調度運行實時任務。但是,處理機調度並不能隨心所欲的進行,因為涉及到兩個進程之間的切換,只能在確保“安全切換”的時間點上進行
實時調度機制包括兩個方面,一是在調度策略和算法上保證優先調度實時任務;二是建立更多“安全切換”時間點,保證及時調度實時任務
多道程序設計和多重處理的區別?
一、主體不同
1、多道程序設計:是在計算機內存中z同時存放幾道相互獨立的程序,使它們在管理程序控制之下,相互穿插的運行
2、多重處理:一個計算機同時執行多道程序或多個指令序列
二、特點不同
1、多道程序設計:兩個或兩個以上程序在計算機系統中同處於開始到結束之間的狀態
2、多重處理:在內存中可同時駐留多道程序,並允許並發執行,從而有效地提高了資源的利用率和系統的吞吐量
三、優勢不同
1、多道程序設計:允許多個程序同時進入一個計算機系統的主存儲器並啟動進行計算的方法
2、多重處理:多個作業完成的先后順序與進入內存的順序之間沒有嚴格的對應關系
操作系統可以從哪些角度出發?如何將這些統一起來?
討論操作系統可以從以下角度出發:
(1)操作系統是計算機資源的管理者
(2)操作系統為用戶提供使用計算機及界面
(3)用進程管理觀點研究操作系統,即圍繞進程運行過程來討論操作系統
上述這些觀點彼此並不矛盾,分別代表了從不同角度對同一事物(操作系統)的觀點。每種觀點都有助於理解、分析和設計操作系統
操作系統用戶界面
什么是作業,作業步?作業由幾部分組成?各有什么功能?
作業步是作業的一部分,而作業是計算機操作者(或一個叫做作業調度器的程序)交給操作系統的一個執行的單位
作業由三部分組成:程序、數據和作業說明書,程序和數據完成用戶所要求的業務處理工作,作業說明書則體現用戶的控制意圖
作業是用戶在一次算題過程中或一個事務處理中要求計算機系統所做的工作的集合,作業是一個比程序更為廣泛的概念,它不僅包含了通常的程序和數據,而且還應配有一份作業說明書。系統通過作業說明書控制文件形式的程序和數據,使之執行和操作,並在系統中建立作業控制塊的數據結構。在批處理系統中,是以作業為基本單位從外存調入內存的
作業的輸入方式有幾種?各自的特點?
作業的輸入有聯機輸入、脫機輸入、直接耦合輸入、SPOOLing系統輸入和網絡輸入五種方式
聯機輸入,用於交互式系統中,用戶和系統通過交互對話輸入作業,但CPU和單設備相連時由於速度的差異,CPU 等待外設輸入而造成資源浪費
脫機輸入,是為解決單設備聯機輸入時CPU浪費的問題而設置的,用低速的外圍機控制設備的輸入,用高速的主機從磁盤中讀寫數據,但無法避免人工操作的干預
直接耦合輸入,把主機和外圍機通過公用的大容量外存直接耦合起來,既保留了脫機輸入方式的優點,又克服了其需要人工干預的缺點,具有較強的靈活性
SPOOLing系統輸入,又稱聯機外圍同時操作的輸入方式,通過系統輸入進程控制作業從外設向內存緩沖區、又從內存緩沖區向磁盤輸入井的寫入,既不同於脫機輸入方式,也不同於直接耦合方式,是利用並發進程實現的聯機輸入
網絡輸入,將作業從網絡中的一台主機傳誦到另一台主機
操作系統為用戶提供哪些接口?它們的區別是什么?
操作系統為用戶提供兩個接口:命令接口和系統調用
命令接口,是系統為用戶提供的,用戶利用這些操作命令來組織和控制作業的執行或管理計算機系統
系統調用,編程人員使用系統調用來請求操作系統提供服務
兩者的區別
1、使用者不同
命令接口:系統為用戶提供的。
系統調用:編程人員使用系統調用。
2、操作過程不同
命令接口:利用操作命令來組織和控制作業的執行或管理計算機系統。
系統調用:請求操作系統提供服務,例如申請和釋放外設等類資源、控制程序的執行速度等。
作業控制方式有幾種?
用戶的作業一般可分為兩大類,即批量型作業和終端型作業.對批量型作業的控制方式是脫機方式,終端型作業采用聯機方式進行控制
因此,作業控制方式有兩種:脫機方式和聯機方式
系統調用是什么?系統調用與一般用戶程序有什么區別?與庫函數和實用函數又有什么區別?
系統調用是通向操作系統本身的接口,是面向底層硬件的,通過系統調用,可以使得用戶態運行的進程與硬件設備(如CPU、磁盤、打印機等)進行交互,系統調用是操作系統留給應用程序的一個接口
各個操作系統的實現並不一樣,同樣操作系統在不同CPU上實現也有區別,但總的來說,操作系統都至少區分兩個運行狀態——核心態和用戶態,系統調用運行在內核態,用戶程序運行在用戶態,用戶態的所有代碼都無法直接訪問內核態的地址空間,只能通過系統調用來訪問系統功能
庫函數就是把函數放到庫里,供別人使用的一種方式,與系統調用的區別
首先來說,庫函數是語言或應用程序的一部分,而系統調用是內核提供給應用程序的接口,屬於系統的一部分
然后是,庫函數在用戶地址空間執行,系統調用是在內核地址空間執行,庫函數運行時間屬於用戶時間,系統調用屬於系統時間,庫函數開銷較小,系統調用開銷較大
再者說,庫函數是有緩沖的,系統調用是無緩沖的,而且,系統調用依賴於平台,庫函數並不依賴
至於實用程序,可能是開發人員自行開發的程序?
系統調用的實現過程?
系統調用是操作系統提供給軟件開發人員的唯一接口,開發人員可以利用它使用系統功能。OS核心中都有一組實現系統功能的過程(子程序),系統調用是對上述過程的調用。因此系統調用直觀上就像一個黑匣子,對用戶屏蔽操作系統的具體動作而只提供有關的功能
為了實現系統調用,系統設計人員還必須為實現各種系統調用功能的子程序編造入口地址表,每個入口地址都與相應的系統子程序名相對應。然后,由陷阱處理程序把陷阱指令中所包含的功能號與該入口地址表中的有關項對應起來,從而由系統調用功能號驅動有關系統子程序執行
由於在系統調用處理結束后,用戶程序還需利用系統調用的返回結果繼續執行,因此,在進入系統調用處理之前,陷阱處理機構還需保存處理機現場。再者,在系統調用處理結束之后,陷阱處理機構還要恢復處理現場。在操作系統中,處理機的現場一般被保護在特定的內存區或寄存器中
有關系統調用的另一個問題是參數傳遞問題,不同的系統調用需要傳遞給系統子程序以不同的參數。而且,系統調用的執行結果也是以參數形式返回給用戶程序的。一般把處理機在用戶程序中執行稱為用戶態,而把處理機在系統程序中執行稱為系統態
對操作系統用戶界面的總結
簡要介紹了操作系統的用戶界面,操作系統的用戶界面是評價一個操作系統優劣的重要指標
操作系統的用戶界面包括命今控制界面和編程界面兩部分,其中命令控制界面是基於編程界面,也就是系統調用之上開發而成的
操作系統的命令控制界面已從早期的脫機控制方式(批處理系統)和聯機控制方式(分時系統)轉向多窗口、菜單、按鈕以及聲控等圖形化多媒體方式
命令控制界面的革命與進步是操作系統最顯著的變化之一
系統調用是操作系統提供給編程人員的唯一接口
編程人員通過系統調用使用操作系統內核所提供的各種功能
系統調用的執行不同於一般用戶程序的執行,系統調用執行是在核心態下執行系統子程序,而用戶程序則是在用戶態下執行
一般來說,操作系統提供的系統調用越多,功能也就越豐富,系統也就越復雜
太難了,這小年過得