操作系統王道考研習題

1.1.4本節習題精選
一、單項選擇題
01.操作系統是對()進行管理的軟件。
A.軟件
B.硬件
C.計算機資源
D.應用程序

01.c
操作系統管理計算機的硬件和軟件資源,這些資源統稱為計算機資源。注意,操作系統不僅管理處理機、存儲器等硬件資源,而且也管理文件,文件不屬于硬件資源,但屬于計算機資源。

02.下面的()資源不是操作系統應該管理的。
A. CPU
B.內存
C.外存
D.源程序

02.D
源程序是一種計算機代碼,是用程序設計語言編寫的程序,經編譯或解釋后可形成具有一定功能的可執行文件,是直接面向程序員用戶的,而不是操作系統的管理內容。本題采用排除法可輕易得到答案,但有人會問操作系統不是也管理“文件”嗎?源程序也存儲在文件中吧?出現這種疑問的原因是,對操作系統管理文件的理解存在偏頗。操作系統管理文件,是指操作系統關心計算機中的文件的邏輯結構、物理結構、文件內部結構、多文件之間如何組織的問題,而不是關心文件的具體內容。這就好比你是操作系統,有十個水杯讓你管理,你負責的是將這些水杯放在何處比較合適,而不關心水杯中的是水還是飲料。后續章節會詳細介紹文件的管理。

03.下列選項中,()不是操作系統關心的問題。
A.管理計算機裸機
B.設計、提供用戶程序與硬件系統的界面
C.管理計算機系統資源
D.高級程序設計語言的編譯器

03.D
操作系統管理計算機軟/硬件資源,擴充裸機以提供功能更強大的擴充機器,并充當用戶與硬件交互的中介。高級程序設計語言的編譯器顯然不是操作系統關心的問題。編譯器的實質是一段程序指令,它存儲在計算機中,是上述水杯中的水。

04.操作系統的基本功能是().
A.提供功能強大的網絡管理工具
B.提供用戶界面方便用戶使用
c.提供方便的可視化編輯程序
D.控制和管理系統內的各種資源

04.D
操作系統是指控制和管理整個計算機系統的硬件和軟件資源,合理地組織、調度計算機的工作和資源的分配,以便為用戶和其他軟件提供方便的接口與環境的程序集合。選項A、B、C都可理解成應用程序為用戶提供的服務,是應用程序的功能,而不是操作系統的功能。

05.現代操作系統中最基本的兩個特征是().
A.并發和不確定
B.并發和共享
c.共享和虛擬
D.虛擬和不確定

05.B
操作系統最基本的特征是并發和共享,兩者互為存在條件。

06.下列關于并發性的敘述中,正確的是().
A.并發性是指若干事件在同一時刻發生
B.并發性是指若干事件在不同時刻發生
C.并發性是指若干事件在同一時間間隔內發生
D.并發性是指若干事件在不同時間間隔內發生

06.C
并發性是指若干事件在同一時間間隔內發生,而并行性是指若干事件在同一時刻發生。

07.用戶可以通過()兩種方式來使用計算機。
A.命令接口和函數
B.命令接口和系統調用
C.命令接口和文件管理
D.設備管理方式和系統調用

07.B
操作系統主要向用戶提供命令接口和程序接口(系統調用),此外還提供圖形接口;當然,圖形接口其實是調用了系統調用而實現的功能。

08.系統調用是由操作系統提供給用戶的,它( ).
A.直接通過鍵盤交互方式使用
B.只能通過用戶程序間接使用
c.是命令接口中的命令
D.與系統的命令一樣

08.B
系統調用是操作系統為應用程序使用內核功能所提供的接口。

09.操作系統提供給編程人員的接口是()。
A.庫函數
B.高級語言
C.系統調用
D.子程序

09.c
操作系統為編程人員提供的接口是程序接口,即系統調用。

10.系統調用的目的是()。
A.請求系統服務B. 中止系統服務C.申請系統資源D.釋放系統資源

  1. A
    操作系統不允許用戶直接操作各種硬件資源,因此用戶程序只能通過系統調用的方式來請求內核為其服務,間接地使用各種資源。

11.為了方便用戶直接或間接地控制自己的作業,操作系統向用戶提供了命令接口,該接口
又可進一步分為( )。
A.聯機用戶接口和脫機用戶接口
B.程序接口和圖形接口家園
C.聯機用戶接口和程序接口
D.脫機用戶接口和圖形接口

11.A
程序接口、圖形接口與命令接口三者并沒有從屬關系。按命令控制方式的不同,命令接口分為聯機用戶接口和脫機用戶接口。

12.用戶在程序中試圖讀某文件的第100個邏輯塊,使用操作系統提供的()接口。
A.系統調用
B.鍵盤命令
C.原語
D.圖形用戶接口

  1. A
    操作系統通過系統調用向用戶程序提供服務,文件IO需要在內核態運行。

13.操作系統與用戶通信接口通常不包括( )。
A. shell
B.命令解釋器
c.廣義指令
D.緩存管理指令

13.D
廣義指令就是系統調用命令,而命令解釋器屬于命令接口,shell是命令解析器,它也屬于命令接口。系統中的緩存全部由操作系統管理,對用戶是透明的,操作系統不提供管理系統緩存的系統調用。

14.下列選項中,不屬于多道程序設計的基本特征是()。
A.制約性
B.間斷性
C.順序性
D.共享性

14.C
引入多道程序設計后,程序的執行就失去了封閉性和順序性。程序執行因為共享資源及相互協同的原因產生了競爭,相互制約。考慮到競爭的公平性,程序的執行是斷續的。順序性是單道程序設計的基本特征。

15.以下關于操作系統的敘述中,錯誤的是()。
A.操作系統是管理資源的程序
B.操作系統是管理用戶程序執行的程序
C.操作系統是能使系統資源提高效率的程序
D.操作系統是用來編程的程序

15.D
操作系統是用來管理資源的程序,用戶程序也是在操作系統的管理下完成的。配置了操作系統的機器與裸機相比,資源利用率大大提高。操作系統不能直接用來編程,選項D錯誤。

16.【2009統考真題】單處理機系統中,可并行的是()。
I進程與進程II.處理機與設備Ⅲ.處理機與通道IV.設備與設備
A. I、II、III
B. I、II、IV
c.I、III、IV
D. II、III、IV

16.D
在單處理機系統中,同一時刻只能有一個進程占用處理機,因此進程之間不能并行執行。通道是獨立于CPU的、控制輸入/輸出的設備,兩者可以并行。顯然,處理器與設備是可以并行的。設備與設備是可以并行的,比如顯示屏與打印機是可以并行工作的。

17.【2010統考真題】下列選項中,操作系統提供給應用程序的接口是()。
A.系統調用
B.中斷
C.庫函數
D.原語

  1. A
    操作系統接口主要有命令接口和程序接口(也稱系統調用)。庫函數是高級語言中提供的與系統調用對應的函數(也有些庫函數與系統調用無關),目的是隱藏“訪管”指令的細節,使系統調用更為方便、抽象。但是,庫函數屬于用戶程序而非系統調用,是系統調用的上層。

18.【2013統考真題】計算機開機后,操作系統最終被加載到().
A.BIOS
B.ROM
C.EPROM
D. RAM

18.D
系統開機后,操作系統的程序會被自動加載到內存中的系統區,這段區域是RAM。部分未復習計算機組成原理的讀者可能對此題的答案并不熟悉,但熟悉了計算機組成原理中的各類存儲介質后,相信選對這道題并不難。

19.【2022統考真題】下列關于多道程序系統的敘述中,不正確的是()。
A.支持進程的并發執行
B.不必支持虛擬存儲管理
C.需要實現對共享資源的管理
D.進程數越多CPU利用率越高

19.D
操作系統的基本特點:并發、共享、虛擬、異步,其中最基本、一定要實現的是并發和共享,選項A、C正確。早期的多道批處理操作系統會將所有進程的數據全部調入主存,再讓多道程序并發執行,即使不支持虛擬存儲管理,也能實現“多道程序并發”,選項B正確。進程多并不意味著CPU利用率高,進程數量越多,進程之間的資源競爭越激烈,甚至可能因為資源競爭而出現死鎖現象,導致CPU利用率低,選項D錯誤。

1.2.7本節習題精選一、單項選擇題
01.提高單機資源利用率的關鍵技術是().
A.脫機技術
B.虛擬技術
c.交換技術
D.多道程序設計技術

01.D
脫機技術用于解決獨占設備問題。虛擬技術與交換技術以多道程序設計技術為前提。多道程序設計技術由于同時在主存中運行多個程序,在一個程序等待時,可以去執行其他程序,因此提高了系統資源的利用率。

02.批處理系統的主要缺點是()。
A.系統吞吐量小B. CPU利用率不高﹐C.資源利用率低D、無交互能力
02.D
批處理系統中,作業執行時用戶無法干預其運行,只能通過事先編制作業控制說明書來間接干預,缺少交互能力,也因此才有了分時操作系統的出現。

03.下列選項中,不屬于多道程序設計的基本特征的是().
A.制約性
B.間斷性
C.順序性
D.共享性

  1. C
    多道程序的運行環境比單道程序的運行環境更加復雜。引入多道程序后,程序的執行就失去了封閉性和順序性。程序執行因為共享資源及相互協同的原因產生了競爭,相互制約。
    考慮到競爭的公平性,程序的執行是斷續的。

04.操作系統的基本類型主要有().
A.批處理操作系統、分時操作系統和多任務系統
B.批處理操作系統、分時操作系統和實時操作系統
c.單用戶系統、多用戶系統和批處理操作系統
D.實時操作系統、分時操作系統和多用戶系統

04.B
操作系統的基本類型主要有批處理操作系統、分時操作系統和實時操作系統。

05.實時操作系統必須在()內處理來自外部的事件。
A.一個機器周期
B.被控制對象規定時間
c.周轉時間
D、時間片

  1. B
    實時系統要求能實時處理外部事件,即在規定的時間內完成對外部事件的處理。

06.實時系統的進程調度,通常采用()算法。
A.先來先服務
B.時間片輪轉
C.搶占式的優先級高者優先
D.高響應比優先

06.C
實時系統必須能足夠及時地處理某些緊急的外部事件,因此普遍用高優先級,并用“可搶占”來確保實時處理。

07.( )不是設計實時操作系統的主要追求目標。
A.安全可靠
B.資源利用率
C.及時響應
D.快速處理

07.B
實時性和可靠性是實時操作系統最重要的兩個目標,而安全可靠體現了可靠性,快速處理和及時響應體現了實時性。資源利用率不是實時操作系統的主要目標,即為了保證快速處理高優先級任務,允許“浪費”一些系統資源。

08.下列()應用工作最好采用實時操作系統平臺。
I、航空訂票
II.辦公自動化
III.機床控制
IV. AutoCADV.工資管理系統
VI.股票交易系統
A. I、II和III
B. I、IⅢI和IV
C. I、V和IV
D.I、IⅢI和VI

  1. D
    實時操作系統主要應用在需要對外界輸入立即做出反應的場合,不能有拖延,否則會產生嚴重后果。本題的選項中,航空訂票系統需要實時處理票務,因為票額數據庫的數量直接反映了航班的可訂機位。機床控制也要實時,不然會出差錯。股票交易行情隨時在變,若不能實時交易會出現時間差,使交易出現偏差。

09、分時系統的一個重要性能是系統的響應時間,對操作系統的()因素進行改進有利于
改善系統的響應時間。
A.加大時間片
B.采用靜態頁式管理
C.優先級+非搶占式調度算法
D.代碼可重入

  1. c
    采用優先級+非搶占式調度算法,既可讓重要的作業/進程通過高優先級盡快獲得系統響應,又可保證次要的作業/進程在非搶占式調度下不會遲遲得不到系統響應,這樣有利于改善系統的響應時間。加大時間片會延遲系統響應時間;靜態頁式管理和代碼可重入與系統響應時間無關。

10.分時系統追求的目標是()。
A.充分利用IO設備
B.比較快速響應用戶
C.提高系統吞吐率
D.充分利用內存

10.B
要求快速響應用戶是導致分時系統出現的重要原因。

11.在分時系統中,時間片一定時,()響應時間越長。
A.內存越多
B.內存越少
C.用戶數越多
D.用戶數越少

  1. c
    分時系統中,當時間片固定時,用戶數越多,每個用戶分到的時間片就越少,響應時間自然就變長,選擇選項C。注意,分時系統的響應時間T的比例關系可表達為TsQN,其中Q是時間片,而N是用戶數。

12.在分時系統中,為使多個進程能夠及時與系統交互,最關鍵的問題是能在短時間內,使
所有就緒進程都能運行。當就緒進程數為100時,為保證響應時間不超過2s,此時的時間片最大應為().
A. 10ms
B.20ms
c. 50ms
D.100ms

12.B
響應時間不超過2s,即在2s內必須響應所有進程。所以時間片最大為2s/100 = 20ms。

13.操作系統有多種類型。允許多個用戶以交互的方式使用計算機的操作系統,稱為(;
允許多個用戶將若干作業提交給計算機系統集中處理的操作系統,稱為(;在( )的控制下,計算機系統能及時處理由過程控制反饋的數據,并及時做出響應;在IBM-PC中,操作系統稱為()
A.批處理系統
B.分時操作系統
c.實時操作系統
D、微型計算機操作系統

13. B、A、C、D
這是操作系統發展過程中的幾種主要類型。

  1. 【2016統考真題】下列關于批處理系統的敘述中,正確的是()。
    I、批處理系統允許多個用戶與計算機直接交互
    II.批處理系統分為單道批處理系統和多道批處理系統
    II..中斷技術使得多道批處理系統的IO設備可與CPU并行工作
    A.僅II、III
    B.僅IⅡI
    c.僅I、II
    D.僅I、III

  2. A
    批處理系統中,作業執行時用戶無法干預其運行,只能通過事先編制作業控制說明書來間接干預,缺少交互能力,也因此才發展出分時操作系統,說法Ⅰ錯誤。批處理系統按發展歷程又分為單道批處理系統、多道批處理系統,說法Ⅱ正確。多道程序設計技術允許同時把多個程序放入內存,并允許它們交替在CPU中運行,它們共享系統中的各種硬/軟件資源,當一道程序因IO請求而暫停運行時,CPU便立即轉去運行另一道程序,即多道批處理系統的IO設備可與CPU并行工作,這都是借助于中斷技術實現的,說法IⅢ正確。

  3. 【2017統考真題】與單道程序系統相比,多道程序系統的優點是()。
    I. CPU利用率高
    I.系統開銷小
    I1I.系統吞吐量大
    IV. IO設備利用率高
    A.僅I、II
    B.僅I、IV
    C.僅I、III
    D.僅I、III、IV

15.D
多道程序系統通過組織作業(編碼或數據)使CPU總有一個作業可執行,從而提高了CPU的利用率、系統吞吐量和I/O設備利用率,說法I、III、IⅣ是優點。但系統要付出額外的開銷來組織作業和切換作業,說法ПI錯誤。所以選擇選項D。

16.【2018統考真題】下列關于多任務操作系統的敘述中,正確的是()。
I.具有并發和并行的特點
ⅡI.需要實現對共享資源的保護
II.需要運行在多CPU的硬件平臺上
A.僅I
B.僅II
C.僅I、ПI
D. I、II、III

16.C
多任務操作系統可在同一時間內運行多個應用程序,因此說法Ⅰ正確。多個任務必須互斥地訪問共享資源,為達到這一目標必須對共享資源進行必要的保護,因此說法Ⅱ正確。現代操作系統都是多任務的(主要特點是并發和并行),并不一定需要運行在多CPU的硬件上,單個CPU也可滿足要求,說法IⅢ錯誤。綜上所述,說法I、II正確,說法IⅢ錯誤,因此選擇選項C。

1.3.4 本節習題精選
一、單項選擇題
01.下列關于操作系統的說法中,錯誤的是
I.在通用操作系統管理下的計算機上運行程序,需要向操作系統預訂運行時間
II.在通用操作系統管理下的計算機上運行程序,需要確定起始地址,并從這個地址始執行
III.操作系統需要提供高級程序設計語言的編譯器
IV.管理計算機系統資源是操作系統關心的主要問題
A. I、III
B.II、III
C. I、II、ImI、IV
D.以上答案都正確

01.A
I:通用操作系統使用時間片輪轉調度算法,用戶運行程序并不需要預先預訂運行時間,因此Ⅰ項錯誤;II:操作系統執行程序時,必須從起始地址開始執行,因此Ⅱ項正確;II:編譯器是操作系統的上層軟件,不是操作系統需要提供的功能,因此III 項錯誤;IV:操作系統是計算機資源的管理者,管理計算機系統資源是操作系統關心的主要問題,因此IⅣ項正確。綜合分析,I和Ⅲ是錯誤項,因此選擇選項A。

02.下列說法中,正確的是().
I批處理的主要缺點是需要大量內存
I.當計算機提供了核心態和用戶態時,輸入/輸出指令必須在核心態下執行
III.操作系統中采用多道程序設計技術的最主要原因是提高CPU和外部設備的可靠性IV.操作系統中,通道技術是一種硬件技術
A.I、ПI
B.I、III
C. II、IV
D.II、III、IV

02.c
Ⅰ錯誤:批處理的主要缺點是缺少交互性。批處理系統的主要缺點是常考點,讀者對此要非常敏感。II正確:輸入/輸出指令需要中斷操作,中斷必須在核心態下執行。III錯誤:多道性是為了提高系統利用率和吞吐量而提出的。IV正確:IO通道實際上是一種特殊的處理器,它具有執行I/O指令的能力,并通過執行通道程序來控制IO操作。綜上分析,II、IV正確。

03.下列關于系統調用的說法中,正確的是()。
I.用戶程序設計時,使用系統調用命令,該命令經過編譯后,形成若干參數和陷入( trap )指令
II.用戶程序設計時,使用系統調用命令,該命令經過編譯后,形成若干參數和屏蔽中
斷指令
III.系統調用功能是操作系統向用戶程序提供的接口
IV.用戶及其應用程序和應用系統是通過系統調用提供的支持和服務來使用系統資源完
成其操作的
A. I、III
B.II、IV
C. I、II、IV
D.II、III、IV

  1. c
    Ⅰ正確:系統調用需要觸發trap指令,如基于x86的Linux系統,該指令為int 0x80或sysenteroⅡ是干擾項,程序設計無法形成屏蔽中斷指令。III 正確:系統調用的概念。IV正確:操作系統是一層接口,對上層提供服務,對下層進行抽象。它通過系統調用向其上層的用戶、應用程序和應用系統提供對系統資源的使用。

04.()是操作系統必須提供的功能。
A.圖形用戶界面(GUI)
B.為進程提供系統調用命令
c.中斷處理
D.編譯源程序

  1. c
    中斷是操作系統必須提供的功能,因為計算機的各種錯誤都需要中斷處理,核心態與用戶態切換也需要中斷處理。

05.用戶程序在用戶態下要使用特權指令引起的中斷屬于()。
A.硬件故障中斷
B.程序中斷
C.外部中斷
D.訪管中斷

05.D
因操作系統不允許用戶直接執行某些“危險性高”的指令,因此用戶態運行這些指令的結果會轉成操作系統的核心態去運行。這個過程就是訪管中斷。

06.處理器執行的指令被分為兩類,其中有一類稱為特權指令,它只允許()使用。
A.操作員
B.聯機用戶
C.目標程序
D.操作系統

06.D
內核可以執行處理器能執行的任何指令,用戶程序只能執行除特權指令外的指令。所以特權指令只能由內核即操作系統使用。

07.下列操作系統的各個功能組成部分中,()可不需要硬件的支持。
A.進程調度
B.時鐘管理
C.地址映射
D.中斷系統

  1. A
    中斷處理流程的前三個步驟是由硬件直接實現(隱指令)的。地址映射中需要基地址(或頁表)寄存器和地址加法器的支持。而在時鐘管理中,需要硬件計數器保持時鐘的運行。進程調度由調度算法決定CPU使用權,由操作系統實現,不需要硬件的支持。
    對于此類題型,需要掌握各個選項的基本原理才能解答。

08.在中斷發生后,進入中斷處理的程序屬于().
A.用戶程序
B.可能是用戶程序,也可能是OS程序
C.操作系統程序
D.單獨的程序,即不是用戶程序也不是OS程序

  1. C
    當中斷或異常發生時,通過硬件實現將運行在用戶態的CPU立即轉入核心態。中斷發生時,若被中斷的是用戶程序,則系統將從目態轉入管態,在管態下進行中斷的處理;若被中斷的是低級中斷,則仍然保持在管態,而用戶程序只能在目態下運行,因此進入中斷處理的程序只能是OS程序。中斷程序本身可能是用戶程序,但是進入中斷的處理程序一定是OS程序。

09.計算機區分核心態和用戶態指令后,從核心態到用戶態的轉換是由操作系統程序執行后
完成的,而用戶態到核心態的轉換則是由()完成的。
A.硬件
B.核心態程序
C.用戶程序
D.中斷處理程序

  1. A
    計算機通過硬件中斷機制完成由用戶態到核心態的轉換。選項B顯然不正確,核心態程序只有在操作系統進入核心態后才可以執行。選項D中的中斷處理程序一般也在核心態執行,因此無法完成“轉換成核心態”這一任務。若由用戶程序將操作系統由用戶態轉換到核心態,則用戶程序中就可使用核心態指令,這就會威脅到計算機的安全,所以選項C不正確。
    計算機通過硬件完成操作系統由用戶態到核心態的轉換,這是通過中斷機制來實現的。發生中斷事件時(有可能是用戶程序發出的系統調用),觸發中斷,硬件中斷機制將計算機狀態置為核心態。

10.在操作系統中,只能在核心態下運行的指令是().
A.讀時鐘指令
B.置時鐘指令
C.取數指令
D.寄存器清零

10.B
大多數計算機操作系統的內核包括四個方面的內容,即時鐘管理、中斷機制、原語和系統控制的數據結構及處理,其中第4部分實際上是系統調用類的指令(廣義指令)。A、C和D三項均可以在匯編語言中涉及,因此都可以運行在用戶態。從另外的角度考慮,若在用戶態下允許執行“置時鐘指令”,則一個用戶進程可在時間片還未到之前把時鐘改回去,從而導致時間片永遠不會用完,進而導致該用戶進程一直占用CPU,這顯然是不合理的。
注意:操作系統的主要功能是為應用程序的運行創建良好的環境,為了達到這個目的,內核提供一系列具備預定功能的多內核函數,通過一組稱為系統調用(system call)的接口呈現給用戶。系統調用把應用程序的請求傳給內核,調用相應的內核函數完成所需的處理,將處理結果返回給應用程序,如果沒有系統調用和內核函數,那么用戶將不能編寫大型應用程序。

11.“訪管”指令()使用。
A.僅在用戶態下
B.僅在核心態下
C.在規定時間內
D.在調度時間內

  1. A
    “訪管”指令僅在用戶態下使用,執行“訪管”指令將用戶態轉變為核心態。

12.當CPU執行操作系統代碼時,處理器處于().
A.自由態
B.用戶態
C.核心態
D.就緒態

12.C
運行操作系統代碼的狀態為核心態。

13.在操作系統中,只能在核心態下執行的指令是()。
A.讀時鐘
B.取數
c.廣義指令
D、寄存器清“0”

13.c
廣義指令即系統調用命令,它必然工作在核心態,所以答案為C。要注意區分“調用”和“執行”,廣義指令的調用可能發生在用戶態,調用廣義指令的那條指令不一定是特權指令,但廣義指令存在于核心態中,所以執行一定在核心態。

14.下列選項中,必須在核心態下執行的指令是()。
A.從內存中取數
B.將運算結果裝入內存
C.算術運算
D.輸入/輸出

14.D
輸入/輸出指令涉及中斷操作,而中斷處理是由系統內核負責的,工作在核心態。而選項A、B、C均可通過使用匯編語言編程來實現,因此它們可在用戶態下執行。當然,讀者也可用前面提到的“水杯”例子思考如何排除選項A、B、C。操作系統管理內存時,管理的是內存中的數據放在哪里、哪里可以放數據、哪里不可以放數據(內存保護)、哪里空閑等問題,而內存中的數據是什么、怎么讀和寫,都不是核心態關心的。就好像操作系統管理的是杯子擺在哪里、哪些杯子中的水可以喝、哪些杯子中的水不能喝,而杯子中是水還是飲料、你是拿起杯子喝還是把吸管插進去吸,都不是操作系統關心的問題。“杯子”的例子可以幫助我們準確理解操作系統的任務,后續章節中的很多問題采用這個例子進行對比,就會十分清晰。

  1. CPU處于核心態時,它可以執行的指令是()。
    A.只有特權指令
    B.只有非特權指令
    C.只有“訪管”指令
    D.除“訪管”指令的全部指令

15.D
訪管指令在用戶態下使用,是用戶程序“自愿進管”的手段,用戶態下不能執行特權指令。在核心態下,CPU可以執行指令系統中的任何指令。

  1. ()程序可執行特權指令。
    A.同組用戶
    B.操作系統
    C.特權用戶
    D.一般用戶

16.B
特權指令是指僅能由操作系統使用的指令,選擇選項B。

17.【2011統考真題】下列選項中,在用戶態執行的是()。
A.命令解釋程序
B.缺頁處理程序
c.進程調度程序
D.時鐘中斷處理程序

  1. A
    缺頁處理和時鐘中斷都屬于中斷,在核心態執行;進程調度是操作系統內核進程,無須用戶干預,在核心態執行;命令解釋程序屬于命令接口,是4個選項中唯一能面對用戶的,它在用戶態執行。

  2. 【2012統考真題】下列選項中,不可能在用戶態發生的事件是()。
    A.系統調用
    B.外部中斷
    c.進程切換
    D.缺頁

  3. c
    本題的關鍵是對“在用戶態發生”(與上題的“執行”區分)的理解。對于A,系統調用是操作系統提供給用戶程序的接口,系統調用發生在用戶態,被調用程序在核心態下執行。對于選項B,外部中斷是用戶態到核心態的“門”,也發生在用戶態,在核心態完成中斷過程。對于選項C,進程切換屬于系統調用執行過程中的事件,只能發生在核心態;對于選項D,缺頁產生后,在用戶態發生缺頁中斷,然后進入核心態執行缺頁中斷服務程序。

19.【2012統考真題】中斷處理和子程序調用都需要壓棧以保護現場,中斷處理一定會保存
而子程序調用不需要保存其內容的是()
A.程序計數器
B.程序狀態字寄存器
C.通用數據寄存器
D.通用地址寄存器

19.B
子程序調用只需保存程序斷點,即該指令的下一條指令的地址;中斷處理不僅要保存斷點(PC還要保存程序狀態字寄存器(PSW)的內容。在中斷處理中,最重要的兩個寄存器是PC和 PSWR。

20.【2013統考真題】下列選項中,會導致用戶進程從用戶態切換到內核態的操作是()
I.整數除以零II. sin()函數調用III. read系統調用
A.僅I、II
B.僅I、III
C.僅II、III
D.I、II和III

20.B
需要在系統內核態執行的操作是整數除零操作(需要中斷處理)和read 系統調用函數,sin()函數調用是在用戶態下進行的。

21.【2014統考真題】下列指令中,不能在用戶態執行的是().
A. trap指令
B.跳轉指令
C.壓棧指令
D.關中斷指令

21.D
trap指令、跳轉指令和壓棧指令均可以在用戶態執行,其中 trap指令負責由用戶態轉換為內核態。關中斷指令為特權指令,必須在核心態才能執行,選擇選項D。注意,在操作系統中,關中斷指令是權限非常大的指令,因為中斷是現代操作系統正常運行的核心保障之一,能把它關掉,說明執行這條指令的一定是權限非常大的機構(管態)。

  1. 【2015統考真題】處理外部中斷時,應該由操作系統保存的是().
    A.程序計數器(PC)的內容
    B.通用寄存器的內容
    C.塊表( TLB)中的內容
    D. Cache 中的內容

22.B
外部中斷處理過程,PC值由中斷隱指令自動保存,而通用寄存器內容由操作系統保存。

23.【2015統考真題】假定下列指令已裝入指令寄存器,則執行時不可能導致CPU從用戶態
變為內核態(系統態)的是()。
A. DIV RO,R1
; (RO)/(R1)→RO
B. INT n
;產生軟中斷
C. NOT RO
;寄存器RO的內容取非
D. MOV RO, addr;把地址addr 處的內存數據放入寄存器RO

  1. c
    考慮到部分指令可能出現異常(導致中斷),從而轉到核心態。指令A有除零異常的可能指令B為中斷指令,指令D有缺頁異常的可能,指令C不會發生異常。

24.【2016統考真題】異常是指令執行過程中在處理器內部發生的特殊事件,中斷是來自處
理器外部的請求事件。下列關于中斷或異常情況的敘述中,錯誤的是().
A.“訪存時缺頁”屬于中斷
B.“整數除以0”屬于異常
c.“DMA傳送結束”屬于中斷信
D“存儲保護錯”屬于異常

  1. A
    中斷是指來自CPU 執行指令以外事件的發生,如設備發出的IO結束中斷,表示設備輸入/輸出處理已經完成,希望處理機能夠向設備發出下一個輸入/輸出請求,同時讓完成輸入/輸出后的程序繼續運行。時鐘中斷,表示一個固定的時間片已到,讓處理機處理計時、啟動定時運行的任務等。這一類中斷通常是與當前程序運行無關的事件,即它們與當前處理機運行的程序無關異常也稱內中斷,指源自CPU執行指令內部的事件,如程序的非法操作碼、地址越界、算術溢出、虛存系統的缺頁及專門的陷入指令等引起的事件。選項A錯誤。

  2. 【2017統考真題】執行系統調用的過程包括如下主要操作精神家園
    ①返回用戶態
    ②執行陷入( trap)指令
    ⑧傳遞系統調用參數
    ④執行相應的服務程序
    正確的執行順序是().
    A.②一3一①→④
    B.②→④→③→①
    c. ③→②→④一①
    D.③→④一②一①

  3. C
    執行系統調用的過程如下:正在運行的進程先傳遞系統調用參數,然后由陷入( trap)指令負責將用戶態轉換為內核態,并將返回地址壓入堆棧以備后用,接下來CPU執行相應的內核態服務程序,最后返回用戶態。所以選項C正確。

26.【2018統考真題】定時器產生時鐘中斷后,由時鐘中斷服務程序更新的部分內容是()
I、內核中時鐘變量的值
I.當前進程占用CPU的時間
III.當前進程在時間片內的剩余執行時間
A.僅I、II
B.僅II、III
C.僅I、III
D.I、II、III

26.D
時鐘中斷的主要工作是處理和時間有關的信息及決定是否執行調度程序。和時間有關的所有信息包括系統時間、進程的時間片、延時、使用CPU 的時間、各種定時器,因此I、II、III均正確。

27.【2019統考真題】下列關于系統調用的敘述中,正確的是().
I,在執行系統調用服務程序的過程中,CPU處于內核態
II.操作系統通過提供系統調用避免用戶程序直接訪問外設
不同的操作系統為應用程序提供了統一的系統調用接口
IV.系統調用是操作系統內核為應用程序提供服務的接口
A.僅I、IV
B.僅II、III
C.僅I、II、IV
D.僅I、III、IV

  1. C
    用戶可以在用戶態調用操作系統的服務,但執行具體的系統調用服務程序是處于內核態的,Ⅰ正確;設備管理屬于操作系統的職能之一,包括對輸入/輸出設備的分配、初始化、維護等,用戶程序需要通過系統調用使用操作系統的設備管理服務,IⅡ正確;操作系統不同,底層邏輯、實現方式均不相同,為應用程序提供的系統調用接口也不同,IⅢ錯誤;系統調用是用戶在程序中調用操作系統提供的子功能,IV正確。

28.【2020統考真題】下列與中斷相關的操作中,由操作系統完成的是()。
I.保存被中斷程序的中斷點
.提供中斷服務
II.初始化中斷向量表
IV.保存中斷屏蔽字
A.僅I、II
B.僅I、II、IV
C.僅IⅢII、IV
D.僅I、III、IV

  1. D
    當CPU檢測到中斷信號后,由硬件自動保存被中斷程序的斷點(即程序計數器PC和程序狀態字寄存器PSW),Ⅰ錯誤。之后,硬件找到該中斷信號對應的中斷向量,中斷向量指明中斷服務程序入口地址(各中斷向量統一存放在中斷向量表中,該表由操作系統初始化,II正確)。接下來開始執行中斷服務程序,保存中斷屏蔽字、保存各通用寄存器的值,并提供與中斷信號對應的中斷服務,中斷服務程序屬于操作系統內核,ⅡI和IV正確。

  2. 【2021統考真題】下列指令中,只能在內核態執行的是().
    A. trap指令
    B. I/O指令
    c.數據傳送指令
    D.設置斷點指令

29.B
在內核態下,CPU可執行任何指令,在用戶態下 CPU只能執行非特權指令,而特權指令只能在內核態下執行。常見的特權指令有:①有關對I/O 設備操作的指令﹔②有關訪問程序狀態的指令;③存取特殊寄存器的指令;④其他指令。A、C和D都是提供給用戶使用的指令,可以在用戶態執行,只是可能會使CPU從用戶態切換到內核態。故選擇選項B。

  1. 【2022統考真題】下列關于CPU模式的敘述中,正確的是().
    A. CPU處于用戶態時只能執行特權指令
    B. CPU處于內核態時只能執行特權指令
    c. CPU處于用戶態時只能執行非特權指令
    D. CPU處于內核態時只能執行非特權指令

30.C
CPU在用戶態時只能執行非特權指令,在內核態時可以執行特權指令和非特權指令。

31.【2022統考真題】執行系統調用的過程涉及下列操作,其中由操作系統完成的是( )。
I.保存斷點和程序狀態字
II.保存通用寄存器的內容
III.執行系統調用服務例程
IV.將CPU模式改為內核態
A.僅I、III
B.僅II、III
C.僅II、IV
D、僅II、1I、IV

31.B
發生系統調用時,CPU 執行陷入(Trap)指令,檢測到“內中斷”后,由CPU負責保存斷點(PC)和程序狀態字,并將CPU模式改為內核態,然后執行操作系統內核的系統調用入口程序,該內核程序負責保存通用寄存器的內容,再調用某個特定的系統調用服務例程。綜上,I、IV是由硬件完成的,II、IⅢI是由操作系統完成的。

408其他課程完整版請私聊
1.6.2本節習題精選
單項選擇題
01.用()設計的操作系統結構清晰且便于調試。
A.分層式構架
B.模塊化構架
C.微內核構架
D.宏內核構架

  1. A
    分層式結構簡化了系統的設計和實現,每層只能調用緊鄰它的低層的功能和服務﹔便于系統的調試和驗證,在調試某層時發現錯誤,那么錯誤應在這層上,這是因為其低層都已調試好。

02.下列關于分層式結構操作系統的說法中,()是錯誤的。
A.各層之間只能是單向依賴或單向調用
B.容易實現在系統中增加或替換一層而不影響其他層
C.具有非常靈活的依賴關系
D.系統效率較低

  1. c
    單向依賴是分層式OS 的特點。分層式OS中增加或替換一個層中的模塊或整層時,只要不改變相應層間的接口,就不會影響其他層,因而易于擴充和維護。層次定義好后,相當于各層之間的依賴關系也就固定了,因此往往顯得不夠靈活,選項C錯誤。每執行一個功能,通常都要自上而下地穿越多層,增加了額外的開銷,導致系統效率降低。

03.相對于微內核系統,()不屬于大內核操作系統的缺點。
A.占用內存空間大
B.缺乏可擴展性而不方便移植
c.內核切換太慢
D.可靠性較低

03.c
微內核和宏內核作為兩種對立的結構,它們的優缺點也是對立的。微內核OS的主要缺點是性能問題,因為需要頻繁地在核心態和用戶態之間進行切換,因而切換開銷偏大。

04.下列說法中,()不適合描述微內核操作系統。
A.內核足夠小
B.功能分層設計
C.基于CIS模式
D.策略與機制分離

04.B
功能分層設計是分層式OS的特點。通常可以從四個方面來描述微內核OS:①內核足夠小;②基于客戶/服務器模式;③應用“機制與策略分離”原理;④采用面向對象技術。

05.對于以下五種服務,在采用微內核結構的操作系統中,()不宜放在微內核中。
I.進程間通信機制
II.低級IO
III.低級進程管理和調度
IV.中斷和陷入處理
V.文件系統服務
A. I、II和III
B.II和V
C.僅V
D.IV和V

  1. c
    進程(線程)之間的通信功能是微內核最頻繁使用的功能,因此幾乎所有微內核OS都將其放入微內核。低級IO和硬件緊密相關,因此應放入微內核。低級進程管理和調度屬于調度功能的機制部分,應將它放入微內核。微內核OS將與硬件緊密相關的一小部分放入微內核處理,此時微內核的主要功能是捕獲所發生的中斷和陷入事件,并進行中斷響應處理,識別中斷或陷入的事件后,再發送給相關的服務器處理,故中斷和陷入處理也應放入微內核。而文件系統服務是放在微內核外的文件服務器中實現的,故僅V不宜放在微內核中。

06.相對于傳統操作系統結構,采用微內核結構設計和實現操作系統有諸多好處,下列( )
是微內核結構的特點。
I使系統更高效
II.添加系統服務時,不必修改內核
III.微內核結構沒有單一內核穩定
IV.使系統更可靠
A. I、III、IV
B. I、II、IV
C. II、IV
D. I、IV

  1. C
    微內核結構需要頻繁地在管態和目態之間進行切換,操作系統的執行開銷相對偏大,那些移出內核的操作系統代碼根據分層的原則被劃分成若干服務程序,它們的執行相互獨立,交互則都借助于微內核進行通信,影響了系統的效率,因此Ⅰ不是優勢。由于內核的服務變少,且一般來說內核的服務越少內核越穩定,所以III錯誤。而I、IV正是微內核結構的優點。

07.下列關于操作系統結構的說法中,正確的是()。
I,當前廣泛使用的Windows XP操作系統,采用的是分層式OS結構
II、模塊化的OS結構設計的基本原則是,每一層都僅使用其底層所提供的功能和服務,
這樣就使系統的調試和驗證都變得容易
III.由于微內核結構能有效支持多處理機運行,故非常適合于分布式系統環境
IV.采用微內核結構設計和實現操作系統具有諸多好處,如添加系統服務時,不必修改
內核、使系統更高效。
A.I和ⅡI
B.Ⅰ和IⅢI
C. III
D.IⅢI和IV

07.C
Windows是宏內核操作系統,Ⅰ錯誤。I描述的是層次化構架的原則。在微內核構架中,客戶和服務器之間、服務器和服務器之間的通信采用消息傳遞機制,這就使得微內核系統能很好地支持分布式系統,III正確。添加系統服務時不必修改內核,這就使得微內核構架的可擴展性和靈活性更強;微內核構架的主要問題是性能問題,“使系統更高效”顯然錯誤。

08.對于計算機操作系統引導,描述不正確的是()。
A.計算機的引導程序駐留在ROM中,開機后自動執行
B.引導程序先做關鍵部位的自檢,并識別已連接的外設
C.引導程序會將硬盤中存儲的操作系統全部加載到內存中
D.若計算機中安裝了雙系統,引導程序會與用戶交互加載有關系統

08.c
常駐內存的只是操作系統內核,其他部分僅在福要時才大

09.計算機操作系統的引導程序位于( )中。
A.主板BIOS
B.片外Cache
c.主存ROM區
D、硬盤

09.D
操作系統的引導程序位于磁盤活動分區的引導扇區中。引導程序分為兩種:一種是位于ROM中的自舉程序(BIOS的組成部分),用于啟動具體的設備;另一種是位于裝有操作系統硬盤的活動分區的引導扇區中的引導程序(稱為啟動管理器),用于引導操作系統。

10.計算機的啟動過程是()。
①CPU加電,CS:IP指向FFFFOH;
②進行操作系統引導;
③執行JMP指令跳轉到BIOS;
④登記BIOS中斷程序入口地址;
⑤硬件自檢。
A. ①②③④⑤
B.3⑤④②
c. ①3④⑤②
D.⑤③④②

  1. C
    CPU激活后,會從最頂端的地址FFFFOH獲得第一條指令來執行,這個地址僅僅只有16字節,放不下一段程序,所以是一條JMP指令,以跳到更低地址去執行 BIOS程序。BIOS程序在內存最開始的空間構建中斷向量表和相應服務程序,在后續POST過程中要用到中斷調用等功能然后進行通電自檢POST(Power-on Self Test)以檢測硬件是否有故障。完成POST后,BIOS需要在硬盤、光驅或軟驅等存儲設備搜尋操作系統內核的位置以啟動操作系統。

11.檢查分區表是否正確,確定哪個分區為活動分區,并在程序結束時將該分區的啟動程序
(操作系統引導扇區)調入內存加以執行,這是()的任務。
A.MBR
B.引導程序
C.操作系統
D. BIOS

  1. A
    BIOS將控制權交給排在首位的啟動設備后,CPU將該設備主引導扇區的內容(主引導記錄MBR)加載到內存中,然后由MBR檢查分區表,查找活動分區,并將該分區的引導扇區的內容(分區引導記錄PBR)加載到內存加以執行。

12.下列關于虛擬機的說法中,正確的是().
I虛擬機可以用軟件實現
II.虛擬機可以用硬件實現
1.多臺虛擬機可同時運行在同一物理機器上,它實現了真正的并行
A.Ⅰ和II
B.Ⅰ和III
C.僅I
D. I、II和III

  1. A
    軟件能實現的功能也能由硬件實現,因為虛擬機軟件能實現的功能也能由硬件實現,軟件和硬件的分界面是系統結構設計者的任務,Ⅰ和Ⅱ正確。實現真正并行的是多核處理機,多臺虛擬機同時運行在同一物理機器上,類似于多個程序運行在同一個系統中。

13.下列關于VMware workstation虛擬機的說法中,錯誤的是().
A.真實硬件不會直接執行虛擬機中的敏感指令
B.虛擬機中只能安裝一種操作系統
C.虛擬機是運行在計算機中的一個應用程序
D.虛擬機文件封裝在一個文件夾中,并存儲在數據存儲器中

13.B
VMware workstation虛擬機屬于第二類虛擬機管理程序,如果真實硬件直接執行虛擬機中的敏感指令,那么該指令非法時可能會導致宿主操作系統崩潰,而這是不可能的,實際上是由第二類虛擬機管理程序模擬真實硬件環境。虛擬機看起來和真實物理計算機沒什么兩樣,因此當然可以安裝多個操作系統。VMware workstation就是一個安裝在計算機上的程序,在創建虛擬機時會為該虛擬機創建一組文件,這些虛擬機文件都存儲在主機的磁盤上。

14.【2022統考真題】下列選項中,需要在操作系統進行初始化過程中創建的是().
A.中斷向量表
B.文件系統的根目錄
C.硬盤分區表
D.文件系統的索引結點表

14.A
在操作系統初始化的過程中需要創建中斷向量表,以實現通電自檢POST,CPU檢測到中斷信號后,根據中斷號查詢中斷向量表,跳轉到相應的中斷處理程序,選項A正確。在硬盤邏輯格式化之前,需要先對硬盤進行分區,即創建硬盤分區表。分區完成后,對物理分區進行邏輯格式化(創建文件系統),為每個分區初始化一個特定的文件系統,并創建文件系統的根目錄。如果某個分區采用Unix文件系統,則還要在該分區中建立文件系統的索引結點表。

2.1.8 本節習題精選
一、單項選擇題
01.一個進程映像是().
A.由協處理器執行的一個程序
B.一個獨立的程序+數據集
C. PCB結構與程序和數據的組合
D.一個獨立的程序

01.c
進程映像是PCB、程序段和數據的組合,其中PCB是進程存在的唯一標志。

02.下列關于線程的敘述中,正確的是
A.線程包含CPU現場,可以獨立執行程序
B.每個線程有自己獨立的地址空間
c.進程只能包含一個線程
D、線程之間的通信必須使用系統調用函數

  1. A
    線程是處理機調度的基本單位,當然可以獨立執行程序,選項A對;線程沒有自己獨立的地址空間,它共享其所屬進程的空間,選項B錯;進程可以創建多個線程,選項C錯;與進程之間線程的通信可以直接通過它們共享的存儲空間,選項D錯。

03.進程之間交換數據不能通過()途徑進行。
A.共享文件
B.消息傳遞
c.訪問進程地址空間
D.訪問共享存儲區

  1. c
    每個進程包含獨立的地址空間,進程各自的地址空間是私有的,只能執行自己地址空間中的程序,且只能訪問自己地址空間中的數據,相互訪問會導致指針的越界錯誤(學完內存管理將會有更好的認識)。因此,進程之間不能直接交換數據,但可利用操作系統提供的共享文件、消息傳遞、共享存儲區等進行通信。

04.進程與程序的根本區別是().
A.靜態和動態特點
B.是不是被調入內存
C.是不是具有就緒、運行和等待三種狀態
D.是不是占有處理器

  1. A
    動態性是進程最重要的特性,以此來區分文件形式的靜態程序。操作系統引入進程的概念是為了從變化的角度動態地分析和研究程序的執行。

05.下面的敘述中,正確的是().
A.進程獲得處理器運行是通過調度得到的
B.優先級是進程調度的重要依據,一旦確定不能改動
C.在單處理器系統中,任何時刻都只有一個進程處于運行態
D.進程申請處理器而得不到滿足時,其狀態變為阻塞態

  1. A
    選項B錯在優先級分靜態和動態兩種,動態優先級是根據運行情況而隨時調整的。選項錯在系統發生死鎖時有可能進程全部都處于阻塞態,CPU空閑。選項D錯在進程申請處理器得不到滿足時就處于就緒態,等待處理器的調度。

06.操作系統是根據()來對并發執行的進程進行控制和管理的。
A.進程的基本狀態
B.進程控制塊
c.多道程序設計
D.進程的優先權

06.B
在進程的整個生命周期中,系統總是通過其PCB對進程進行控制。也就是說,系統是根據進程的PCB而非任何其他因素來感知到進程存在的,PCB是進程存在的唯一標志。同時PCB常駐內存。A和D選項的內容都包含在進程PCB中。

07.在任何時刻,一個進程的狀態變化()引起另一個進程的狀態變化。
A.必定
B.一定不
C.不一定
D.不可能

07.C
一個進程的狀態變化可能會引起另一個進程的狀態變化。例如,一個進程時間片用完,可能會引起另一個就緒進程的運行。同時,一個進程的狀態變化也可能不會引起另一個進程的狀態變化。例如,一個進程由阻塞態轉變為就緒態就不會引起其他進程的狀態變化。

08.在單處理器系統中,若同時存在10個進程,則處于就緒隊列中的進程最多有()個。
A.1
B.8
C.9
D. 10

  1. c
    不可能出現這樣一種情況。單處理器系統的10個進程都處于就緒態,但9個處于就緒態、1個正在運行是可能存在的。還要想到,可能10個進程都處于阻塞態。

09.一個進程釋放了一臺打印機,它可能會改變()的狀態。
A.自身進程
B.輸入/輸出進程
C.另一個等待打印機的進程
D.所有等待打印機的進程

  1. c
    由于打印機是獨占資源,當一個進程釋放打印機后,另一個等待打印機的進程就可能從阻塞態轉到就緒態。當然,也存在一個進程執行完畢后由運行態轉為終止態時釋放打印機的情況,但這并不是由于釋放打印機引起的,相反是因為運行完成才釋放了打印機。

10.系統進程所請求的一次IO操作完成后,將使進程狀態從()。
A.運行態變為就緒態
B.運行態變為阻塞態
C.就緒態變為運行態
D.阻塞態變為就緒態

  1. D
    IO操作完成之前進程在等待結果,狀態為阻塞態;完成后進程等待事件就緒,變為就緒態。

11.一個進程的基本狀態可以從其他兩種基本狀態轉變過去,這個基本的狀態一定是( )。
A.運行態
B.阻塞態
C.就緒態
D.終止態

  1. C
    只有就緒態可以既由運行態轉變過去又能由阻塞態轉變過去。時間片到,運行態變為就緒態;當所需要資源到達時,進程由阻塞態轉變為就緒態。

12.并發進程失去封閉性,是指( )。
A.多個相對獨立的進程以各自的速度向前推進
B.并發進程的執行結果與速度無關
C.并發進程執行時,在不同時刻發生的錯誤
D.并發進程共享變量,其執行結果與速度有關

12.D
程序封閉性是指進程執行的結果只取決于進程本身,不受外界影響。也就是說,進程在執行過程中不管是不停頓地執行,還是走走停停,進程的執行速度都不會改變它的執行結果。失去封閉性后,不同速度下的執行結果不同。

13.通常用戶進程被建立后,()。
A.便一直存在于系統中,直到被操作人員撤銷
B.隨著進程運行的正常或不正常結束而撤銷
C.隨著時間片輪轉而撤銷與建立
D.隨著進程的阻塞或者喚醒而撤銷與建立

13.B
進程有它的生命周期,不會一直存在于系統中,也不一定需要用戶顯式地撤銷。進程在時間片結束時只是就緒,而不是撤銷。阻塞和喚醒是進程生存期的中間狀態。進程可在完成時撤銷,或在出現內存錯誤等時撤銷。

14.進程在處理器上執行時,()。
A.進程之間是無關的,具有封閉特性
B.進程之間都有交互性,相互依賴、相互制約,具有并發性
C.具有并發性,即同時執行的特性
D.進程之間可能是無關的,但也可能是有交互性的

14.D
選項A和B都說得太絕對,進程之間有可能具有相關性,也有可能是相互獨立的。選項C錯在“同時”。

15.下面的說法中,正確的是().
A.不論是系統支持的線程還是用戶級線程,其切換都需要內核的支持
B.線程是資源分配的單位,進程是調度和分派的單位
C.不管系統中是否有線程,進程都是擁有資源的獨立單位
D.在引入線程的系統中,進程仍是資源調度和分派的基本單位

  1. C
    引入線程后,進程仍然是資源分配的單位。內核級線程是處理器調度和分派的單位,線程本身不具有資源,它可以共享所屬進程的全部資源,選項C對,選項B、D明顯是錯的。至于選項A,可以這樣來理解:假如有一個內核進程,它映射到用戶級后有多個線程,那么這些線程之間的切換不需要在內核級切換進程,也就不需要內核的支持。研人的精神家園

16.在多對一的線程模型中,當一個多線程進程中的某個線程被阻塞后,()。
A.該進程的其他線程仍可繼續運行
B.整個進程都將阻塞
C.該阻塞線程將被撤銷
D.該阻塞線程將永遠不可能再執行

16.B
在多對一的線程模型中,由于只有一個內核級線程,用戶級線程的“多”對操作系統透明,因此操作系統內核只能感知到一個調度單位的存在。因此該進程的一個線程被阻塞后,該進程就被阻塞,進程的其他線程當然也都被阻塞。
注意:作為對比,在一對一模型中將每個用戶級線程都映射到一個內核級線程,所以當某個線程被阻塞時,不會導致整個進程被阻塞。

17.用信箱實現進程間互通信息的通信機制要有兩個通信原語,它們是()。
A.發送原語和執行原語
B.就緒原語和執行原語
C.發送原語和接收原語
D.就緒原語和接收原語

17.C
用信箱實現進程間互通信息的通信機制要有兩個通信原語,它們是發送原語和接收原語。

18.下列幾種關于進程的敘述,()最不符合操作系統對進程的理解。
A.進程是在多程序環境中的完整程序
B.進程可以由程序、數據和PCB描述
C.線程( Thread)是一種特殊的進程
D.進程是程序在一個數據集合上的運行過程,它是系統進行資源分配和調度的一個獨立單元

18.A
進程是一個獨立的運行單位,也是操作系統進行資源分配和調度的基本單位,它包括PCB、程序和數據以及執行棧區,僅僅說進程是在多程序環境下的完整程序是不合適的,因為程序是靜態的,它以文件形式存放于計算機硬盤內,而進程是動態的。

19.支持多道程序設計的操作系統在運行過程中,不斷地選擇新進程運行來實現CPU的共
享,但其中()不是引起操作系統選擇新進程的直接原因。
A.運行進程的時間片用完
B.運行進程出錯
C.運行進程要等待某一事件發生
D.有新進程被創建進入就緒態

19.D
需要掌握不能進行進程調度與切換的情況(處理中斷的過程、訪問臨界區、原子操作),以及應該進行進程調度與切換的情況。運行的進程由于時間片用完、運行結束、需要等待事件的發生(如等待鍵盤響應)、出錯、自我阻塞等,均可以激活調度程序進行重新調度,選擇一個新的就緒進程投入運行。新進程加入就緒隊列不是引起調度的直接原因,當CPU正在運行其他進程時,該進程仍然需要等待。即使是在采用高優先級調度算法的系統中,一個最高優先級的進程進入就緒隊列,也需要考慮是否允許搶占,當不允許搶占時,仍然需要等待。

20.若一個進程實體由PCB、共享正文段、數據堆段和數據棧段組成,請指出下列C語言程
序中的內容及相關數據結構各位于哪一段中。
I、全局賦值變量()
I.未賦值的局部變量()
III.函數調用實參傳遞值( )
IV.用malloc()要求動態分配的存儲區()
V.常量值(如1995、“string”)( )VI.進程的優先級()
A. PCB
B.正文段
C.堆段
D.棧段

20.B、D、D、C、B、A
C語言編寫的程序在使用內存時一般分為三個段,它們一般是正文段(即代碼和賦值數據段)、數據堆段和數據棧段。二進制代碼和常量存放在正文段,動態分配的存儲區在數據堆段,臨時使用的變量在數據棧段。由此,我們可以確定全局賦值變量在正文段賦值數據段,未賦值的局部變量和實參傳遞在棧段,動態內存分配在堆段,常量在正文段,進程的優先級只能在PCB內。

21.同一程序經過多次創建,運行在不同的數據集上,形成了()的進程。
A.不同
B.相同
C.同步
D.互斥

21.A
一個進程是程序在一個數據集上的一次運行過程。運行于不同的數據集,將會形成不同的進程。

22.系統動態DLL庫中的系統線程,被不同的進程所調用,它們是()的線程。
A.不同
B.相同
C.可能不同,也可能相同
D、不能被調用

22.B
進程是暫時的,程序是永久的;進程是動態的,程序是靜態的;進程至少由代碼、數據和PCB組成,程序僅需代碼和數據即可;程序代碼經過多次創建可對應不同進程,而同一個系統的進程(或線程)可以由系統調用的方法被不同的進程(或線程)多次使用。

  1. PCB是進程存在的唯一標志,下列()不屬于PCB。
    A.進程ID
    B.CPU狀態
    C.堆棧指針
    D、全局變量

23.D
進程實體主要是代碼、數據和PCB。因此,要清楚了解PCB內所含的數據結構內容,主要有四大類:進程標志信息、進程控制信息、進程資源信息、CPU現場信息。由上述可知,全局變量與PCB無關,它只與用戶代碼有關。

24.一個計算機系統中,進程的最大數目主要受到()限制。
A.內存大小
B.用戶數目
C打開的文件數
D.外部設備數量

24.A
進程創建需要占用系統內存來存放PCB 的數據結構,所以一個系統能夠創建的進程總數是有限的,進程的最大數目取決于系統內存的大小,它在系統安裝時就已確定(若后期內存增加,系統能夠創建的進程總數也應增加,但一般需要重新啟動)。而用戶數目、外設數量和文件等均與此無關。

25.進程創建完成后會進入一個序列,這個序列稱為
A.阻塞隊列
B.掛起序列
C.就緒隊列
D.運行隊列

  1. C
    我們先要考慮創建進程的過程,當該進程所需的資源分配完成只等CPU時,進程的狀態為就緒態,因此所有的就緒PCB一般以鏈表方式鏈成一個序列,稱為就緒隊列。

26.在一個多道系統中,若就緒隊列不空,就緒的進程數目越多,處理器的效率()。
A.越高
B.越低
C.不變
D.不確定

26.C
由進程的狀態圖(見圖2.1)可以看出,進程的就緒數目越多,爭奪CPU的進程就越多,但只要就緒隊列不為空,CPU就總是可以調度進程運行,保持繁忙。這與就緒進程的數目沒有關系,除非就緒隊列為空,此時CPU進入等待態,導致 CPU的效率下降。

27.在具有通道設備的單處理器系統中實現并發技術后,().
A.各進程在某一時刻并行運行,CPU與IO設備間并行工作
B.各進程在某一時間段內并行運行,CPU與IO設備間串行工作
c.各進程在某一時間段內并發運行,CPU與IO設備間并行工作
D.各進程在某一時刻并發運行,CPU與IO設備間串行工作

27.c
由于是單處理器,在某一時刻只有一個進程能獲得處理器資源,所以是某一時間段內并發運行。此外,也正是因為CPU和IO設備的并行運行,才使各進程能并發執行。

28.進程自身決定().
A.從運行態到阻塞態
B.從運行態到就緒態
C.從就緒態到運行態
D.從阻塞態到就緒態

  1. A
    只有從運行態到阻塞態的轉換是由進程自身決定的。從運行態到就緒態的轉換是由于進程的時間片用完,“主動”調用程序轉向就緒態。雖然從就緒態到運行態的轉換同樣是由調度程序決定的,但進程是“被動的”。從阻塞態到就緒態的轉換是由協作進程決定的。

29.對進程的管理和控制使用()。
A.指令
B.原語
C.信號量
D.信箱

29.B
對進程的管理和控制功能是通過執行各種原語來實現的,如創建原語等。

30.下面的敘述中,正確的是()。
A.引入線程后,處理器只能在線程間切換
B.引入線程后,處理器仍在進程間切換
C..線程的切換,不會引起進程的切換
D.線程的切換,可能引起進程的切換

30.D
在同一進程中,線程的切換不會引起進程的切換。當從一個進程中的線程切換到另一個進程中的線程時,才會引起進程的切換,因此選項A、B、C錯誤。

31.下面的敘述中,正確的是().
A.線程是比進程更小的能獨立運行的基本單位,可以脫離進程獨立運行
B.引入線程可提高程序并發執行的程度,可進一步提高系統效率
C.線程的引入增加了程序執行時的時空開銷
D.一個進程一定包含多個線程

31.B
線程是進程內一個相對獨立的執行單元,但不能脫離進程單獨運行,只能在進程中運行。引入線程是為了減少程序執行時的時空開銷。一個進程可包含一個或多個線程。

32.下面的敘述中,正確的是()。
A.同一進程內的線程可并發執行,不同進程的線程只能串行執行
B.同一進程內的線程只能串行執行,不同進程的線程可并發執行
C.同一進程或不同進程內的線程都只能串行執行
D.同一進程或不同進程內的線程都可以并發執行

32.D
在無線程的系統中,進程是資源調度和并發執行的基本單位。在引入線程的系統中,進程退化為資源分配的基本單位,而線程代替了進程被操作系統調度,因而線程可以并發執行。

33.在以下描述中,()并不是多線程系統的特長。
A.利用線程并行地執行矩陣乘法運算
B. Web服務器利用線程響應HTTP請求
C.鍵盤驅動程序為每個正在運行的應用配備一個線程,用以響應該應用的鍵盤輸入
D、基于GUI的調試程序用不同的線程分別處理用戶輸入、計算和跟蹤等操作

  1. c
    整個系統只有一個鍵盤,而且鍵盤輸入是人的操作,速度比較慢,完全可以使用一個線程來處理整個系統的鍵盤輸入。

34.在進程轉換時,下列()轉換是不可能發生的。
A.就緒態→運行態
B.運行態→就緒態
C.運行態→阻塞態
D.阻塞態→運行態

34.D
阻塞的進程在獲得所需資源時只能由阻塞態轉變為就緒態,并插入就緒隊列,而不能直接轉變為運行態。
35.當()時,進程從執行狀態轉變為就緒態。
A.進程被調度程序選中
B.時間片到
c.等待某一事件
D.等待的事件發生

  1. B
    當進程的時間片到時,進程由運行態轉變為就緒態,等待下一個時間片的到來。

36.兩個合作進程(Cooperating Processes)無法利用()交換數據
A.文件系統
B.共享內存
C.高級語言程序設計中的全局變量
D.消息傳遞系統

  1. C
    不同的進程擁有不同的代碼段和數據段,全局變量是對同一進程而言的,在不同的進程中是不同的變量,沒有任何聯系,所以不能用于交換數據。此題也可用排除法做,選項A、B、D均是課本上所講的。管道是一種文件。

37.以下可能導致一個進程從運行態變為就緒態的事件是().
A.一次IO操作結束
B.運行進程需做IO操作
C.運行進程結束
D.出現了比現在進程優先級更高的進程

37.D
進程處于運行態時,它必須已獲得所需的資源,在運行結束后就撤銷。只有在時間片到或出現了比現在進程優先級更高的進程時才轉變成就緒態。選項A使進程從阻塞態到就緒態,選項B使進程從運行態到阻塞態,選項C使進程撤銷。

  1. ()必會引起進程切換。
    A.一個進程創建后,進入就緒態
    B.一個進程從運行態變為就緒態
    C.一個進程從阻塞態變為就緒態
    D.以上答案都不對

38.B
進程切換是指CPU調度不同的進程執行,當一個進程從運行態變為就緒態時,CPU 調度另一個進程執行,引起進程切換。

39.進程處于()時,它處于非阻塞態。
A.等待從鍵盤輸入數據
B.等待協作進程的一個信號
C.等待操作系統分配CPU時間
D.等待網絡數據進入內存

39.C
進程有三種基本狀態,處于阻塞態的進程由于某個事件不滿足而等待。這樣的事件一般是IO操作,如鍵盤等,或是因互斥或同步數據引起的等待,如等待信號或等待進入互斥臨界區代碼段等,等待網絡數據進入內存是為了進程同步。而等待CPU調度的進程處于就緒態,只有它是非阻塞態。

40.一個進程被喚醒,意味著()。
A.該進程可以重新競爭CPU
B.優先級變大
C. PCB移動到就緒隊列之首
D.進程變為運行態

  1. A
    當一個進程被喚醒時,這個進程就進入了就緒態,等待進程調度而占有CPU運行。進程被喚醒在某種情形下優先級可以增大,但一般不會變為最大,而由固定的算法來計算。也不會在喚醒后位于就緒隊列的隊首,就緒隊列是按照一定的規則賦予其位置的,如先來先服務,或者高優先級優先,或者短進程優先等,更不能直接占有處理器運行。

41.進程創建時,不需要做的是().
A.填寫一個該進程的進程表項
B.分配該進程適當的內存
C.將該進程插入就緒隊列
D.為該進程分配CPU

41.D
進程創建原語完成的工作是:向系統申請一個空閑PCB,為被創建進程分配必要的資源,然后將其PCB初始化,并將此PCB插入就緒隊列,最后返回一個進程標志號。當調度程序為進程分配CPU后,進程開始運行。所以進程創建的過程中不會包含分配CPU的過程,這不是進程創建者的工作,而是調度程序的工作。

42.計算機兩個系統中兩個協作進程之間不能用來進行進程間通信的是().
A.數據庫
B.共享內存
C.消息傳遞機制
D.管道

  1. A
    進程之間的通信方式主要有管道、消息傳遞、共享內存、文件映射和套接字等。數據庫不能直接作為進程之間的通信方式。

43.下面關于用戶級線程和內核級線程的描述中,錯誤的是()。
A.采用輪轉調度算法,進程中設置內核級線程和用戶級線程的效果完全不同
B.跨進程的用戶級線程調度也不需要內核參與,控制簡單
C.用戶級線程可以在任何操作系統中運行
D.若系統中只有用戶級線程,則處理機的調度對象是進程

43.B
采用輪轉調度算法時,如果進程中分別設置100個用戶級線程和100個內核級線程,則前者的執行時間是后者的100倍,選項A正確。在用戶級線程中,系統感知不到線程的存在,調度的對象是進程,因此,跨進程的用戶級線程調度需要內核參與,選項B錯誤,選項D正確。用戶級線程不需要內核的支持,與系統平臺無關,對線程管理的代碼是屬于用戶程序的一部分,選項C正確。

44、在內核級線程相對于用戶級線程的優點的如下描述中,錯誤的是()
A.同一進程內的線程切換,系統開銷小
B.當內核線程阻塞時,CPU將會調度同一進程中的其他內核線程執行
C.內核級線程的程序實體可以在內核態運行
D.對多處理器系統,核心可以同時調度同一進程的多個線程并行運行

  1. A
    在內核級線程中,同一進程中的線程切換,需要從用戶態轉到核心態進行,系統開銷較大,選項A錯誤。CPU調度是在內核進行的,在內核級線程中,調度是在線程一級進行的,因此內核可以同時調度同一進程的多個線程在多CPU上并行運行(用戶級線程則不行),選項B正確、選項D正確。當進程中的內核級線程運行在內核態時,說明該進程也運行在內核態,選項C正確。

45.在用戶級線程相對于內核級線程的優點的如下描述中,錯誤的是()
A.一個線程阻塞不影響另一個線程的運行
B.線程的調度不需要內核直接參與,控制簡單
C.線程切換代價小
D.允許每個進程定制自己的調度算法,線程管理比較靈活

  1. A
    進程中的某個用戶級線程被阻塞,則整個進程也被阻塞,即進程中的其他用戶級線程也被阻塞,選項A錯誤。用戶級線程的調度是在用戶空間進行的,節省了模式切換的開銷,不同進程可以根據自身的需要,對自己的線程選擇不同的調度算法,因此選項B、C和D都正確。

46.【2010統考真題】下列選項中,導致創建新進程的操作是()。
I.用戶登錄成功
II.設備分配
III.啟動程序執行
A.僅Ⅰ和ⅡI
B.僅ⅡI和III
c.僅Ⅰ和III
D. I、I、III

46.C
I.用戶登錄成功后,系統要為此創建一個用戶管理的進程,包括用戶桌面、環境等。所有用戶進程都會在該進程下創建和管理。II.設備分配是通過在系統中設置相應的數據結構實現的,不需要創建進程,這是操作系統中IO核心子系統的內容。IⅢI.啟動程序執行是引起創建進程的典型事件。

47.【2010統考真題】下列選項中,降低進程優先級的合理時機是().
A.進程時間片用完
B.進程剛完成IO操作,進入就緒隊列
C.進程長期處于就緒隊列
D.進程從就緒態轉為運行態

  1. A
    A中進程時間片用完,可降低其優先級以讓其他進程被調度進入執行狀態。選項B中進程剛完成IO,進入就緒隊列等待被處理機調度,為了讓其盡快處理I/O結果,因此應提高優先級。選項C中進程長期處于就緒隊列,為不至于產生饑餓現象,也應適當提高優先級。選項D中進程的優先級不應該在此時降低,而應在時間片用完后再降低。

48.【2011統考真題】在支持多線程的系統中,進程Р創建的若干線程不能共享的是().
A.進程Р的代碼段
1B.進程P中打開的文件T】
c.進程Р的全局變量
D.進程P中某線程的棧指針

48.D
進程是資源分配的基本單位,線程是處理機調度的基本單位。進程的代碼段、進程打開的文件、進程的全局變量等都是進程的資源,唯有進程中某線程的棧指針(包含在線程TCB中)是屬于線程的,屬于進程的資源可以共享,屬于線程的棧指針是獨享的,對其他線程透明。

  1. 【2012統考真題】下列關于進程和線程的敘述中,正確的是().
    A.不管系統是否支持線程,進程都是資源分配的基本單位
    B.線程是資源分配的基本單位,進程是調度的基本單位
    C.系統級線程和用戶級線程的切換都需要內核的支持
    D.同一進程中的各個線程擁有各自不同的地址空間

  2. A
    在引入線程后,進程依然是資源分配的基本單位,線程是調度的基本單位,同一進程中的各個線程共享進程的地址空間。在用戶級線程中,有關線程管理的所有工作都由應用程序完成,無須內核的干預,內核意識不到線程的存在。

50.【2014統考真題】一個進程的讀磁盤操作完成后,操作系統針對該進程必做的是()
A.修改進程狀態為就緒態
B.降低進程優先級
C.給進程分配用戶內存空間
D.增加進程時間片大小

  1. A
    進程申請讀磁盤操作時,因為要等待IO操作完成,會把自身阻塞,此時進程變為阻塞態;I/O操作完成后,進程得到了想要的資源,會從阻塞態轉換到就緒態(這是操作系統的行為)。而降低進程優先級、分配用戶內存空間和增加進程的時間片大小都不一定會發生,選擇選項A。

51.【2014統考真題】下列關于管道( Pipe)通信的敘述中,正確的是().
A.一個管道可實現雙向數據傳輸
B.管道的容量僅受磁盤容量大小限制
C.進程對管道進行讀操作和寫操作都可能被阻塞
D.一個管道只能有一個讀進程或一個寫進程對其操作

51.C
管道是一種固定大小的緩沖區,管道的大小通常為內存的一頁,其大小并不是受磁盤容量大小的限制,選項B錯誤。一個普通管道只允許單向通信,若要實現父子進程雙向通信,則需要定義兩個管道,而每個管道向不同方向發送數據,選項A錯誤。當管道滿時,寫進程在寫管道會被阻塞,而當管道空時,讀進程在讀管道會被阻塞,選項C正確。父進程創建一個管道后,由于管道是一種特殊的文件,因此所有子進程也繼承了父進程的管道,并使用它來與父進程進行通信,選項D錯誤。

52.【2015統考真題】下列選項中,會導致進程從執行態變為就緒態的事件是()。
A.執行P(wait)操作
B.申請內存失敗
C.啟動IO設備
D.被高優先級進程搶占

52.D
P(wait)操作表示進程請求某一資源,選項A、B和C都因為請求某一資源會進入阻塞態,而選項D只是被剝奪了處理機資源,進入就緒態,一旦得到處理機即可運行。

  1. 【2018統考真題】下列選項中,可能導致當前進程Р阻塞的事件是()
    I、進程Р申請臨界資源
    II.進程Р從磁盤讀數據
    IⅢ.系統將CPU分配給高優先權的進程
    A.僅I
    B.僅ПI
    C.僅I、II
    D. I、II、III

  2. C
    進程等待某資源為可用(不包括處理機)或等待輸入/輸出完成均會進入阻塞態,因此I、II正確;Ⅲ中情況發生時,進程進入就緒態,因此IⅢ錯誤,答案選擇選項C。

54.【2019統考真題】下列選項中,可能會將進程喚醒的事件是()。
I. IO結束
Ⅱ.某進程退出臨界區
II.當前進程的時間片用完
A.僅I
B.僅IⅢ
C.僅I、II
D. I、II、III

54.C
當被阻塞進程等待的某資源(不包括處理機)可用時,進程將會被喚醒。I/O結束后,等待該I/O結束而被阻塞的有關進程會被喚醒,Ⅰ正確;某進程退出臨界區后,之前因需要進入該臨界區而被阻塞的有關進程會被喚醒,II正確;當前進程的時間片用完后進入就緒隊列等待重新調度,優先級最高的進程獲得處理機資源從就緒態變成執行態,IⅢI錯誤。

  1. 【2019統考真題】下列關于線程的描述中,錯誤的是()。
    A.內核級線程的調度由操作系統完成
    B.操作系統為每個用戶級線程建立一個線程控制塊
    C.用戶級線程間的切換比內核級線程間的切換效率高
    D.用戶級線程可以在不支持內核級線程的操作系統上實現

55.B
應用程序沒有進行內核級線程管理的代碼,只有一個到內核級線程的編程接口,內核為進程及其內部的每個線程維護上下文信息,調度也是在內核中由操作系統完成的,選項A正確。在多線程模型中,用戶級線程和內核級線程的連接方式分為多對一、一對一、多對多,“操作系統為每個用戶線程建立一個線程控制塊”屬于一對一模型,選項B錯誤。用戶級線程的切換可以在用戶空間完成,內核級線程的切換需要操作系統幫助進行調度,因此用戶級線程的切換效率更高,選項C正確。用戶級線程的管理工作可以只在用戶空間中進行,因此可以在不支持內核級線程的操作系統上實現,選項D正確。

  1. 【2020統考真題】下列關于父進程與子進程的敘述中,錯誤的是( )
    A.父進程與子進程可以并發執行
    B.父進程與子進程共享虛擬地址空間
    c.父進程與子進程有不同的進程控制塊
    D.父進程與子進程不能同時使用同一臨界資源

56.B
父進程與子進程當然可以并發執行,選項A正確。父進程可與子進程共享一部分資源,但不能共享虛擬地址空間,在創建子進程時,會為子進程分配資源,如虛擬地址空間等,選項B錯誤臨界資源一次只能為一個進程所用,選項D正確。進程控制塊(PCB)是進程存在的唯一標志每個進程都有自己的PCB,選項C正確。

57.【2021統考真題】下列操作中,操作系統在創建新進程時,必須完成的是()。
I,申請空白的進程控制塊
II.初始化進程控制塊
IⅢI.設置進程狀態為執行態
A.僅I
B.僅I、II
C.僅I、III
D.僅I、III

57.B
操作系統感知進程的唯一方式是通過進程控制塊(PCB),所以創建一個新進程就是為其申請一個空白的進程控制塊,并且初始化一些必要的進程信息,如初始化進程標志信息、初始化處理機狀態信息、設置進程優先級等。I、I正確。創建一個進程時,一般會為其分配除CPU外的大多數資源,所以一般將其設置為就緒態,讓它等待調度程序的調度。

58.【2022統考真題】下列事件或操作中,可能導致進程Р由執行態變為阻塞態的是()。
I.進程Р讀文件
I.進程P的時間片用完
III.進程Р申請外設
IV.進程Р執行信號量的 wait()操作
A.僅I、IV
B.僅I、III
C.僅IMI、IV
D.僅I、III、IV

58.D
進程Р讀文件時,進程從執行態進入阻塞態,等待磁盤I/O完成,Ⅰ正確。進程Р的時間片用完,導致進程從執行態進入就緒態,轉入就緒隊列等待下次被調度,I錯誤。進程Р申請外設若外設是獨占設備且正在被其他進程使用,則進程Р從執行態進入阻塞態,等待系統分配外設.I正確。進程Р執行信號量的wait()操作,如果信號量的值小于或等于0,則進程進入阻塞態.等待其他進程用signal()操作喚醒,IⅣ正確。

408其他課程完整版請私聊
2.2.7本節習題精選
一、單項選擇題
01.時間片輪轉調度算法是為了( ).
A.多個用戶能及時干預系統
B.使系統變得高效
C.優先級較高的進程得到及時響應
D.需要CPU時間最少的進程最先做

  1. A
    時間片輪轉的主要目的是,使得多個交互的用戶能夠得到及時響應,使得用戶以為“獨占”計算機的使用,因此它并沒有偏好,也不會對特殊進程做特殊服務。時間片輪轉增加了系統開銷,所以不會使得系統高效運轉,吞吐量和周轉時間均不如批處理。但其較快速的響應時間使得用戶能夠與計算機進行交互,改善了人機環境,滿足用戶需求。

02.在單處理器的多進程系統中,進程什么時候占用處理器及決定占用時間的長短是由( )
決定的。
A.進程相應的代碼長度
B.進程總共需要運行的時間
C.進程特點和進程調度策略
D.進程完成什么功能

  1. C
    進程調度的時機與進程特點有關,如進程是CPU繁忙型還是IO繁忙型、自身的優先級等。但僅有這些特點是不夠的,能否得到調度還取決于進程調度策略,若采用優先級調度算法,則進程的優先級才起作用。至于占用處理器運行時間的長短,則要看進程自身,若進程是IO繁忙型,運行過程中要頻繁訪問IO端口,即可能會頻繁放棄CPU,所以占用CPU的時間不會長,一旦放棄CPU,則必須等待下次調度。若進程是CPU繁忙型,則一旦占有CPU,就可能會運行很長時間,但運行時間還取決于進程調度策略,大部分情況下,交互式系統為改善用戶的響應時間,大多數采用時間片輪轉的算法,這種算法在進程占用CPU達到一定時間后,會強制將其換下,以保證其他進程的CPU使用權。因此選擇選項C。

03.()有利于CPU繁忙型的作業,而不利于IO繁忙型的作業。
A.時間片輪轉調度算法
B.先來先服務調度算法
C.短作業(進程)優先算法
D.優先權調度算法

03.B
FCFS調度算法比較有利于長作業,而不利于短作業。CPU繁忙型作業是指該類作業需要占用很長的CPU時間,而很少請求IO操作,因此CPU繁忙型作業類似于長作業,采用FCFS可從容完成計算。IO繁忙型作業是指作業執行時需頻繁請求IO操作,即可能頻繁放棄CPU,所以占用CPU的時間不會太長,一旦放棄CPU,則必須重新排隊等待調度,故采用SJF比較適合。時間片輪轉法對于短作業和長作業的時間片都一樣,所以地位也幾乎一樣。優先級調度有利于優先級高的進程,而優先級和作業時間長度是沒有必然聯系的。因此選擇選項B。

04.下面有關選擇進程調度算法的準則中,不正確的是()。
A.盡快響應交互式用戶的請求
B.盡量提高處理器利用率
C.盡可能提高系統吞吐量
D.適當增長進程就緒隊列的等待時間

04.D
在選擇進程調度算法時應考慮以下幾個準則:①公平:確保每個進程獲得合理的CPU份額;②有效:使CPU盡可能地忙碌;③響應時間:使交互用戶的響應時間盡可能短;④周轉時間:使批處理用戶等待輸出的時間盡可能短;⑤吞吐量:使單位時間處理的進程數盡可能最多。由此可見選項D不正確。

05.進程(線程)調度的時機有().
I.運行的進程(線程)運行完畢
II.運行的進程(線程)所需資源未準備好
III.運行的進程(線程)的時間片用完
IV.運行的進程(線程)自我阻塞
V.運行的進程(線程)出現錯誤
A.II、III、IV和V
B.Ⅰ和IⅢI
C. II、IⅣ和V
D.全部都是

  1. D
    進程(線程)調度的時機包括:運行的進程(線程)運行完畢、運行的進程(線程)自我阻塞、運行的進程(線程)的時間片用完、運行的進程(線程)所需的資源沒有準備好、運行的進程(線程)出現錯誤。以上時機都在CPU方式為不可搶占方式時引起進程(線程)調度。在 CPU方式是可搶占方式時,就緒對列中的某個進程(線程)的優先級高于當前運行進程(線程)的優先級時,也會發生進程(線程)調度。故I、I、III、Ⅳ和都正確。

06.設有4個作業同時到達,每個作業的執行時間均為2h,它們在一臺處理器上按單道式運
行,則平均周轉時間為()。
A. 1h
B.5h
C.2.5h
D.8h

06.B
4個作業的周轉時間分別是2h, 4h, 6h,8h,所以4個作業的總周轉時間為2+4+6+8=20h.此時,平均周轉時間=各個作業周轉時間之和/作業數=20/4=5小時。

07.若每個作業只能建立一個進程,為了照顧短作業用戶,應采用());為了照顧緊急作業
用戶,應采用();為了能實現人機交互,應采用( );而能使短作業、長作業和交互作業用戶都滿意,應采用().
A. FCFS調度算法
B.短作業優先調度算法
C.時間片輪轉調度算法
D.多級反饋隊列調度算法
E.剝奪式優先級調度算法

07.B、E、C、D
照顧短作業用戶,選擇短作業優先調度算法;照顧緊急作業用戶,即選擇優先級高的作業優先調度,采用基于優先級的剝奪調度算法;實現人機交互,要保證每個作業都能在一定時間內輪到,采用時間片輪轉法;使各種作業用戶滿意,要處理多級反饋,所以選擇多級反饋隊列調度算法。

  1. ()優先級是在創建進程時確定的,確定之后在整個運行期間不再改變。
    A.先來先服務
    B.動態
    C.短作業
    D.靜態

  2. D
    優先級調度算法分靜態和動態兩種。靜態優先級在進程創建時確定,之后不再改變。

09.現在有三個同時到達的作業J,J和J,它們的執行時間分別是T, T2,T,,且T<T2<T。
系統按單道方式運行且采用短作業優先調度算法,則平均周轉時間是()。
A. T+T+T
B. (3T+2T+ T3)/3
c. (T+T2+ T)/3
D. (T+2T+3T)/3

09.B
系統采用短作業優先調度算法,作業的執行順序為J,J, J,J的周轉時間為T,J的周轉時間為T+TpJ的周轉時間為T+T2+T,則平均周轉時間為(T+T+T2+T+T+T)/3=(3T+2T2+T3)/3。

10.設有三個作業,其運行時間分別是2h, 5h,3h,假定它們同時到達,并在同一臺處理器上以單道方式運行,則平均周轉時間最小的執行順序是()。
A.J,J2,J3
B.J,J2,J1
C. J,J,J3
D. J,J,J2

10.D
在同一臺處理器上以單道方式運行時,要想獲得最短的平均周轉時間,用短作業優先調度算法會有較好的效果。就本題目而言:A選項的平均周轉時間=(2+7+10)/3h = 19/3h;B選項的平均周轉時間=(3+8+10)/3h=7h。C選項的平均周轉時間=(5+7+10)/3h= 22/3h; D選項的平均周轉時間=(2+5+10)/3h = 17/3h。

11.采用時間片輪轉調度算法分配 CPU時,當處于運行態的進程用完一個時間片后,它的
狀態是()狀態。
A.阻塞
B.運行
C.就緒
D.消亡

11.c
處于運行態的進程用完一個時間片后,其狀態會變為就緒態,等待下一次處理器調度。進程執行完最后的語句并使用系統調用exit請求操作系統刪除它或出現一些異常情況時,進程才會終止。

12.一個作業8:00到達系統,估計運行時間為1h。若10:00開始執行該作業,其響應比是
( )
A.2
B.1
C. 3
D. 0.5

12.c

13.關于優先權大小的論述中,正確的是().
A.計算型作業的優先權,應高于UO型作業的優先權
B.用戶進程的優先權,應高于系統進程的優先權
C.在動態優先權中,隨著作業等待時間的增加,其優先權將隨之下降
D.在動態優先權中,隨著進程執行時間的增加,其優先權降低

13.D
優先級算法中,I/O 繁忙型作業要優于計算繁忙型作業,系統進程的優先權應高于用戶進程的優先權。作業的優先權與長作業、短作業或系統資源要求的多少沒有必然的關系。在動態優先權中,隨著進程執行時間的增加其優先權隨之降低,隨著作業等待時間的增加其優先權相應上升。

14.下列調度算法中,()調度算法是絕對可搶占的。
A.先來先服務
B.時間片輪轉
C.優先級
D.短進程優先

14.B
時間片輪轉算法是按固定的時間配額來運行的,時間一到,不管是否完成,當前的進程必須撤下,調度新的進程,因此它是由時間配額決定的、是絕對可搶占的。而優先級算法和短進程優先算法都可分為搶占式和不可搶占式。

15.作業是用戶提交的,進程是由系統自動生成的,除此之外,兩者的區別是()。
A.兩者執行不同的程序段
B.前者以用戶任務為單位,后者以操作系統控制為單位
C.前者是批處理的,后者是分時的
D.后者是可并發執行,前者則不同

15.B
作業是從用戶角度出發的,它由用戶提交,以用戶任務為單位;進程是從操作系統出發的,由系統生成,是操作系統的資源分配和獨立運行的基本單位。

16.進程調度算法采用固定時間片輪轉調度算法,當時間片過大時,就會使時間片輪轉法算
法轉化為()調度算法。
A.高響應比優先
B.先來先服務
C.短進程優先
D.以上選項都不對

16.B
時間片輪轉調度算法在實際運行中也按先后順序使用時間片,時間片過大時,我們可以認為其大于進程需要的運行時間,即轉變為先來先服務調度算法。

17.有以下的進程需要調度執行(見下表)

1)若用非搶占式短進程優先調度算法,問這5個進程的平均周轉時間是多少?
2)若采用搶占式短進程優先調度算法,問這5個
3)進程的平均周轉時間是多少?
A.8.62;6.34
B.8.62;6.8
C. 10.62;6.34
D.10.62;6.8

17.D
對于這種類型的題目,我們可以采用廣義甘特圖來求解,甘特圖的畫法在1.2節的習題中已經有所介紹。我們直接給出甘特圖(見右圖),以非搶占為例。
在0時刻,進程P到達,于是處理器分配給P,由于是不可搶占的,所以Pr一旦獲得處理器,就會運行直到結束;在9時刻,所有進程已經到達,根據短進程優先調度,會把處理器分配給P,接下來就是Ps;然后,由于P0P的預計運行時間一樣,所以在P和P,之間用先來先服務調度,優先把處理器分配給P,最后再分配給P4,完成任務。
周轉時間=完成時間-作業到達時間,從圖中顯然可以得到各進程的完成時間,于是Pl的周轉時間是9-O=9;Pz的周轉時間是16-0.4= 15.6;P的周轉時間是10-1=9;Ps的周轉時間是20-5.5=14.5;Ps的周轉時間是12-7=5;平均周轉時間為(9+15.6+9+14.5+5)/5=10.62。
同理,搶占式的周轉時間也可通過畫甘特圖求得,而且直觀、不易出錯。
搶占式的平均周轉時間為6.8。
甘特圖在操作系統中有著廣泛的應用,本節習題中會有不少這種類型的題目,若讀者按照上面的方法求解,則解題時就可以做到胸有成竹。

18.有5個批處理作業A, B,C, D,E幾乎同時到達,其預計運行時間分別為 10,6,2,4,8,其優先級(由外部設定)分別為3,5,2,1,4,這里5為最高優先級。以下各種調度算法中,平均周轉時間為14的是()調度算法。
A.時間片輪轉(時間片為1)
B.優先級調度
c.先來先服務(按照順序10,6,2,4,8)
D.短作業優先

  1. D
    這5個批處理作業采用短作業優先調度算法時,平均周轉時間=[2+(2+4)+(2+4+6)+(2+4+6+8)+(2+4+6+8+10)]/5= 14。
    這道題主要考查讀者對各種優先調度算法的認識。若按照17題中的方法求解,則可能要花費一定的時間,但這是值得的,因為可以起到熟練基本方法的效果。在考試中很少會遇到操作量和計算量如此大的題目,所以讀者不用擔心。

19.分時操作系統通常采用()調度算法來為用戶服務。
A.時間片輪轉
B.先來先服務
C.短作業優先
D.優先級

  1. A
    分時系統需要同時滿足多個用戶的需要,因此把處理器時間輪流分配給多個用戶作業使用,即采用時間片輪轉調度算法。

20。在進程調度算法中,對短進程不利的是()。
A.短進程優先調度算法
B.先來先服務調度算法
C.高響應比優先調度算法
D.多級反饋隊列調度算法

20.B
先來先服務調度算法中,若一個長進程(作業)先到達系統,則會使后面的許多短進程(作業)等待很長的時間,因此對短進程(作業)不利。

21.假設系統中所有進程同時到達,則使進程平均周轉時間最短的是()調度算法。
A.先來先服務
B.短進程優先
C.時間片輪轉
D.優先級

21.B
短進程優先調度算法具有最短的平均周轉時間。平均周轉時間=各進程周轉時間之和/進程數。因為每個進程的執行時間都是固定的,所以變化的是等待時間,只有短進程優先算法能最小化等待時間。

22.下列說法中,正確的是()。
I.分時系統的時間片固定,因此用戶數越多,響應時間越長
II. UNIX 是一個強大的多用戶、多任務操作系統,支持多種處理器架構,按照操作系
統分類,屬于分時操作系統
II.中斷向量地址是中斷服務例行程序的入口地址
IV.中斷發生時,由硬件保護并更新程序計數器(PC),而不是由軟件完成,主要是為
了提高處理速度
A. I、II
B. II、II
C.II、IV
D.僅IV

  1. A
    Ⅰ選項正確,分時系統中,響應時間與時間片和用戶數成正比。II選項正確。III選項錯誤,中斷向量本身是用于存放中斷服務例行程序的入口地址,因此中斷向量地址就應是該入口地址的地址。IⅣ選項錯誤,中斷由硬件保護并完成,主要是為了保證系統運行可靠、正確。提高處理速度也是一個好處,但不是主要目的。綜上分析,III、IⅣ選項錯誤。

23.【2009統考真題】下列進程調度算法中,綜合考慮進程等待時間和執行時間的是()。
A..時間片輪轉調度算法
B.短進程優先調度算法
c.先來先服務調度算法
D.高響應比優先調度算法

23.D
響應比R=(等待時間+執行時間)/執行時間。它綜合考慮了每個進程的等待時間和執行時間,對于同時到達的長進程和短進程,短進程會優先執行,以提高系統吞吐量;而長進程的響應比可以隨等待時間的增加而提高,不會產生進程無法調度的情況。

24.【2011統考真題】下列選項中,滿足短作業優先且不會發生饑餓現象的是()調度算法。
A.先來先服務
B.高響應比優先
C.時間片輪轉
D.非搶占式短作業優先

24.B
響應比=(等待時間+執行時間)執行時間。高響應比優先算法在等待時間相同的情況下,作業執行時間越短,響應比越高,滿足短任務優先。隨著長作業等待時間的增加,響應比會變大,執行機會也會增大,因此不會發生饑餓現象。先來先服務和時間片輪轉不符合短任務優先,非搶占式短任務優先會產生饑餓現象。

25.【2012統考真題】一個多道批處理系統中僅有P,和P,兩個作業,P比P晚5ms 到達,
它的計算和IO操作順序如下:
Pr:計算60ms,IVO 80ms,計算20msPz:計算120ms,I/O 40ms,計算40ms
若不考慮調度和切換時間,則完成兩個作業需要的時間最少是
A.240ms
B.260ms
c.340ms
D.360ms

25.B
由于P比P晚5ms 到達,P1先占用CPU,作業運行的甘特圖如下。

26.【2012統考真題】若某單處理器多進程系統中有多個就緒態進程,則下列關于處理機調
度的敘述中,錯誤的是().
A.在進程結束時能進行處理機調度
B.創建新進程后能進行處理機調度
c.在進程處于臨界區時不能進行處理機調度
D.在系統調用完成并返回用戶態時能進行處理機調度

26.C
選項A、B、D顯然屬于可以進行處理機調度的情況。對于選項C,當進程處于臨界區時,說明進程正在占用處理機,只要不破壞臨界資源的使用規則,就不會影響處理機的調度。比如,通常訪問的臨界資源可能是慢速的外設(如打印機),若在進程訪問打印機時,不能進行處理機調度,則系統的性能將非常差。

27.【2013統考真題】某系統正在執行三個進程Pl,,P和P,各進程的計算(CPU)時間和I/O時間比例如右表所示。為提高系統資源利用率,合理的進程優先級設置應為()。

A.P>P2 >P3
B. P3 >P>P
C. P2>P1=P3
D. P>P=P3

27.B
為了合理地設置進程優先級,應綜合考慮進程的CPU時間和IO時間。對于優先級調度算法,一般來說,I/O型作業的優先權高于計算型作業的優先權,這是由于IO操作需要及時完成,它沒有辦法長時間地保存所要輸入/輸出的數據,所以考慮到系統資源利用率,要選擇IO繁忙型作業有更高的優先級。

  1. 【2014統考真題】下列調度算法中,不可能導致饑餓現象的是().
    A.時間片輪轉
    B.靜態優先數調度
    c.非搶占式短任務優先
    D.搶占式短任務優先

  2. A
    采用靜態優先級調度且系統總是出現優先級高的任務時,優先級低的任務總是得不到處理機而產生饑餓現象;而短任務優先調度不管是搶占式的還是非搶占的,當系統總是出現新來的短任務時,長任務會總是得不到處理機,產生饑餓現象,因此選項B、C、D都錯誤。

29.【2016統考真題】某單CPU系統中有輸入和輸出設備各1臺,現有3個并發執行的作業,每個作業的輸入、計算和輸出時間均分別為2ms,3ms 和 4ms,且都按輸入、計算和輸出的順序執行,則執行完3個作業需要的時間最少是()。
A. 15ms
B.17ms
C…22ms
D. 27ms

29.B
這類調度題目最好畫圖。因CPU、輸入設備、輸出設備都只有一個,因此各操作步驟不能重疊,畫出運行時的甘特圖后,就能清楚地看到不同作業間的時序關系,如下圖所示。

  1. 【2017統考真題】假設4個作業到達系統的時刻和運行時間如右表所示。系統在t=2時開始作業調度。若分別采用先來先服務和短作業優先調度算法,則選中的作業分別是().

A.J2,J3
B.J1, J4
C. J2,J4
D. J1,J3

30.D
先來先服務調度算法是作業來得越早,優先級越高,因此會選擇J。短作業優先調度算法是作業運行時間越短,優先級越高,因此會選擇J。所以選項D正確。

31.【2017統考真題】下列有關基于時間片的進程調度的敘述中,錯誤的是().
A.時間片越短,進程切換的次數越多,系統開銷越大
B.當前進程的時間片用完后,該進程狀態由執行態變為阻塞態
C.時鐘中斷發生后,系統會修改當前進程在時間片內的剩余時間
D.影響時間片大小的主要因素包括響應時間、系統開銷和進程數量等

31.B
進程切換帶來系統開銷,切換次數越多,開銷越大,選項A正確。當前進程的時間片用完后,其狀態由執行態變為就緒態,選項B錯誤。時鐘中斷是系統中特定的周期性時鐘節拍,操作系統通過它來確定時間間隔,實現時間的延時和任務的超時,選項C正確。現代操作系統為了保證性能最優,通常根據響應時間、系統開銷、進程數量、進程運行時間等因素確定時間片大小,選項D正確。

32.【2018統考真題】某系統采用基于優先權的非搶占式進程調度策略,完成一次進程調度
和進程切換的系統時間開銷為1 us。在T時刻就緒隊列中有3個進程Pr、Pz和P,其在就緒隊列中的等待時間、需要的CPU時間和優先權如下表所示。

若優先權值大的進程優先獲得CPU,從T時刻起系統開始進程調度,則系統的平均周轉時間為().
A. 54us
B. 73us
C. 74us
D. 75us

32.D
由優先權可知,進程的執行順序為P,→P→Pr。P的周轉時間為1+15+24=40us;P的周轉時間為18+1+24+1+36= 80us; P的周轉時間為30+1+24+1+36+1+12= 105us;平均周轉時間為(40+ 80+ 105)/3 = 225/3= 75us,因此選擇選項D。

33.【2019統考真題】系統采用二級反饋隊列調度算法進行進程調度。就緒隊列Q采用時間
片輪轉調度算法,時間片為10ms;就緒隊列Q采用短進程優先調度算法;系統優先調度Q隊列中的進程,當Q為空時系統才會調度Q中的進程;新創建的進程首先進入Q;Q中的進程執行一個時間片后,若未結束,則轉入Q。若當前Q,Q為空,系統依次創建進程P,,Pz后即開始進程調度,P,,P需要的CPU時間分別為30ms 和20ms, 則進程P,P在系統中的平均等待時間為().
A. 25ms
B.20ms
C. 15ms
D. 10ms

33.C
進程P,P2依次創建后進入隊列Q,根據時間片調度算法的規則,進程P,P將依次被分配10ms的CPU時間,兩個進程分別執行完一個時間片后都會被轉入隊列Q,就緒隊列Q采用短進程優先調度算法,此時P還需要20ms 的 CPU時間,Pz還需要10ms 的CPU時間,所以P;會被優先調度執行,10ms后進程P執行完成,之后P再調度執行,再過20ms后P,也執行完成。運行圖表述如下。

進程P,P2的等待時間分別為圖中的虛橫線部分,平均等待時間=(Pr等待時間+Pz等待時間)/2=( 20 + 10 ) /2= 15,因此答案選C。

34.【2020統考真題】下列與進程調度有關的因素中,在設計多級反饋隊列調度算法時需要
考慮的是()。
I.就緒隊列的數量
II.就緒隊列的優先級
III.各就緒隊列的調度算法
IV.進程在就緒隊列間的遷移條件
A.僅I、II
B.僅III、IV
C.僅II、IHI、IV
D.I、II、III和IV

  1. D
    多級反饋隊列調度算法需要綜合考慮優先級數量、優先級之間的轉換規則等,就緒隊列的數量會影響長進程的最終完成時間,Ⅰ正確;就緒隊列的優先級會影響進程執行的順序,Ⅱ正確;各就緒隊列的調度算法會影響各隊列中進程的調度順序,IⅢI正確;進程在就緒隊列中的遷移條件會影響各進程在各隊列中的執行時間,IⅣ正確。

35.【2021統考真題】在下列內核的數據結構或程序中,分時系統實現時間片輪轉調度需要
使用的是()。
I、進程控制塊II.時鐘中斷處理程序ⅢI.進程就緒隊列 IV.進程阻塞隊列
A.僅II、III
B.僅I、IV
C.僅I、II、III
D.僅I、II、IV

35.C
在分時系統的時間片輪轉調度中,當系統檢測到時鐘中斷時,會引出時鐘中斷處理程序,調度程序從就緒隊列中選擇一個進程為其分配時間片,并且修改該進程的進程控制塊中的進程狀態等信息,同時將時間片用完的進程放入就緒隊列或讓其結束運行。I、II、III 正確。阻塞隊列中的進程只有被喚醒并進入就緒隊列后,才能參與調度,所以該調度過程不使用阻塞隊列。

36.【2021統考真題】下列事件中,可能引起進程調度程序執行的是()。
I.中斷處理結束ⅡI.進程阻塞―IⅢ.進程執行結束IⅣ.進程的時間片用完
A.僅I、III
B.僅II、IV
C.僅III、IV
D.I、II、III和IV

·36.D
在時間片調度算法中,中斷處理結束后,系統檢測當前進程的時間片是否用完,如果用完,就將其設為就緒態或讓其結束運行,若就緒隊列不空,則調度就緒隊列的隊首進程執行,I可能。當前進程阻塞時,將其放入阻塞隊列,若就緒隊列不空,則調度新進程執行,II可能。進程執行結束會導致當前進程釋放CPU,并從就緒隊列中選擇一個進程獲得CPU,III可能。進程時間片用完,會導致當前進程讓出CPU,同時選擇就緒隊列的隊首進程獲得CPU,IV可能。

37.【2022統考真題】進程P、Pr、P,和Pz進入就緒隊列的時刻、優先級(值越小優先權越
高)及CPU執行時間如下表所示。

若系統采用基于優先權的搶占式進程調度算法,則從Oms時刻開始調度,到4個進程都運行結束為止,發生進程調度的總次數為()。
A.4
B. 5
C.6
D.7

37.C
0時刻調度進程Po獲得CPU;10ms時P,進入就緒隊列,調度P搶占獲得CPU;15ms時P3進入就緒隊列,調度P;搶占獲得CPU;25ms時P執行完畢,調度P,獲得CPU;40ms時P,執行完畢,調度P獲得CPU;130ms時P執行完畢,調度P,獲得CPU;190ms時P,執行完畢,結束;總共調度6次。

2.3.8 本節習題精選
一、單項選擇題
01.下列對臨界區的論述中,正確的是()
A.臨界區是指進程中用于實現進程互斥的那段代碼
B.臨界區是指進程中用于實現進程同步的那段代碼
C.臨界區是指進程中用于實現進程通信的那段代碼
D.臨界區是指進程中用于訪問臨界資源的那段代碼

01.D
多個進程可以共享系統中的資源,一次僅允許一個進程使用的資源稱為臨界資源。訪問臨界資源的那段代碼稱為臨界區。

02.不需要信號量就能實現的功能是()。
A.進程同步
B.進程互斥
c.執行的前驅關系
D.進程的并發執行

02.D
在多道程序技術中,信號量機制是一種有效實現進程同步和互斥的工具。進程執行的前趨關系實質上是指進程的同步關系。除此之外,只有進程的并發執行不需要信號量來控制,因此正確答案為選項D。

03.若一個信號量的初值為3,經過多次PV操作后當前值為-1,這表示等待進入臨界區的
進程數是()。
A. 1
B.2
C.3
D.4

  1. A
    信號量是一個特殊的整型變量,只有初始化和PV操作才能改變其值。通常,信號量分為互斥量和資源量,互斥量的初值一般為1,表示臨界區只允許一個進程進入,從而實現互斥。當互斥量等于0時,表示臨界區已有一個進程進入,臨界區外尚無進程等待;當互斥量小于0時,表示臨界區中有一個進程,互斥量的絕對值表示在臨界區外等待進入的進程數。同理,資源信號量的初值可以是任意整數,表示可用的資源數,當資源量小于0時,表示所有資源已全部用完,而且還有進程正在等待使用該資源,等待的進程數就是資源量的絕對值。

04.一個正在訪問臨界資源的進程由于申請等待VO操作而被中斷時,它()
A.允許其他進程進入與該進程相關的臨界區
B.不允許其他進程進入任何臨界區
C.允許其他進程搶占處理器,但不得進入該進程的臨界區
D.不允許任何進程搶占處理器

04.C
進程進入臨界區必須滿足互斥條件,當進程進入臨界區但尚未離開時就被迫進入阻塞是可以的,系統中經常出現這樣的情形。在此狀態下,只要其他進程在運行過程中不尋求進入該進程的臨界區,就應允許其運行,即分配 CPU。該進程所鎖定的臨界區是不允許其他進程訪問的,其他進程若要訪問,必定會在臨界區的“鎖”上阻塞,期待該進程下次運行時可以離開并將臨界區交給它。所以正確答案為選項C。

05.兩個旅行社甲和乙為旅客到某航空公司訂飛機票,形成互斥資源的是()。
A.旅行社
B.航空公司
C.飛機票
D.旅行社與航空公司

05.C
一張飛機票不能售給不同的旅客,因此飛機票是互斥資源,其他因素只是為完成飛機票訂票的中間過程,與互斥資源無關。

06.臨界區是指并發進程訪問共享變量段的().
A.管理信息
B.信息存儲
C.數據
D.代碼程序

06.D
所謂臨界區,并不是指臨界資源,如共享的數據、代碼或硬件設備等,而是指訪問臨界資源的那段代碼程序,如P/V操作、加減鎖等。操作系統訪問臨界資源時,關心的是臨界區的操作過程,具體對臨界資源做何操作是應用程序的事情,操作系統并不關心。

07.以下不是同步機制應遵循的準則的是().
A.讓權等待
B.空閑讓進
C.忙則等待
D.無限等待

07.D
同步機制的4個準則是空閑讓進、忙則等待、讓權等待和有限等待。

08.以下()不屬于臨界資源。
A.打印機
B.非共享數據
C.共享變量
D.共享緩沖區

08.B
臨界資源是互斥共享資源,非共享數據不屬于臨界資源。打印機、共享變量和共享緩沖區都只允許一次供一個進程使用。

09.以下()屬于臨界資源。
A.磁盤存儲介質
B.公用隊列
C.私用數據
D.可重入的程序代碼

  1. B
    臨界資源與共享資源的區別在于,在一段時間內能否允許被多個進程訪問(并發使用),顯然磁盤屬于共享設備。公用隊列可供多個進程使用,但一次只可供一個進程使用,試想若多個進程同時使用公用隊列,勢必造成隊列中的數據混亂而無法使用。私用數據僅供一個進程使用,不存在臨界區問題,可重入的程序代碼一次可供多個進程使用。

10.在操作系統中,要對并發進程進行同步的原因是()。
A.進程必須在有限的時間內完成
B.進程具有動態性
c.并發進程是異步的
D.進程具有結構性

10.c
進程同步是指進程之間一種直接的協同工作關系,這些進程的并發是異步的,它們相互合作,共同完成一項任務。

11.進程A和進程B通過共享緩沖區協作完成數據處理,進程A負責產生數據并放入緩沖
區,進程B從緩沖區讀數據并輸出。進程A和進程B之間的制約關系是()。
A.互斥關系
B.同步關系
C.互斥和同步關系
D.無制約關系

  1. c
    并發進程因為共享資源而產生相互之間的制約關系,可以分為兩類:①互斥關系,指進程之間因相互競爭使用獨占型資源(互斥資源)所產生的制約關系;②同步關系,指進程之間為協同工作需要交換信息、相互等待而產生的制約關系。本題中兩個進程之間的制約關系是同步關系,進程B必須在進程A將數據放入緩沖區后才能從緩沖區中讀出數據。此外,共享的緩沖區一定是互斥訪問的,所以它們也具有互斥關系。

12.在操作系統中,P, V操作是一種()。
A.機器指令
B.系統調用命令
c.作業控制命令
D.低級進程通信原語

12.D
P、V操作是一種低級的進程通信原語,它是不能被中斷的。

13.P操作可能導致().
A.進程就緒
B.進程結束
C.進程阻塞
D.新進程創建

13.C
Р操作即 wait操作,表示等待某種資源直到可用。若這種資源暫時不可用,則進程進入阻塞態。注意,執行Р操作時的進程處于運行態。

14.原語是().
A.運行在用戶態的過程
B.操作系統的內核
C.可中斷的指令序列
D.不可分割的指令序列

14.D
原語(Primitive/Atomic Action),顧名思義,就是原子性的、不可分割的操作。其嚴格定義為:由若干機器指令構成的完成某種特定功能的一段程序,其執行必須是連續的,在執行過程中不允許被中斷。

15.()定義了共享數據結構和各種進程在該數據結構上的全部操作
A.管程
B.類程
c.線程
D.程序

15.A
管程定義了一個數據結構和能為并發進程所執行(在該數據結構上)的一組操作,這組操作能同步進程并改變管程中的數據。

16.用V操作喚醒一個等待進程時,被喚醒進程變為()態。
A.運行
B.等待
C.就緒
D、完成

16.c
只有就緒進程能獲得處理器資源,被喚醒的進程并不能直接轉換為運行態。

17.在用信號量機制實現互斥時,互斥信號量的初值為()。
A.0
B.1
C. 2
D.3

17.B
互斥信號量的初值設置為1,Р操作成功則將其減1,禁止其他進程進入;V操作成功則將其加1,允許等待隊列中的一個進程進入。

18.用P,V操作實現進程同步,信號量的初值為()。
A.-1
B.0
C. 1
D.由用戶確定

  1. D
    與互斥信號量初值一般置1不同,用P,V操作實現進程同步時,,信號量的初值應根據具體情況來確定。若期望的消息尚未產生,則對應的初值應設為0;若期望的消息已存在,則信號量的初值應設為一個非0的正整數。

19.可以被多個進程在任意時刻共享的代碼必須是()。
A.順序代碼
B.機器語言代碼
c.不允許任何修改的代碼
D.無轉移指令代碼

19.c
若代碼可被多個進程在任意時刻共享,則要求任意一個進程在調用此段代碼時都以同樣的方式運行;而且進程在運行過程中被中斷后再繼續執行,其執行結果不受影響。這必然要求代碼不能被任何進程修改,否則無法滿足共享的要求。這樣的代碼就是可重入代碼,也稱純代碼,即允許多個進程同時訪問的代碼。

20.一個進程映像由程序、數據及PCB組成,其中()必須用可重入編碼編寫。
A. PCB
B.程序
C.數據
D.共享程序段

  1. D
    共享程序段可能同時被多個進程使用,所以必須可重入編碼,否則無法實現共享的功能。

21.用來實現進程同步與互斥的PV操作實際上是由()過程組成的。
A.一個可被中斷的
B.一個不可被中斷的
C.兩個可被中斷的
D.兩個不可被中斷的

21.D
Р操作和V操作都屬于原語操作,不可被中斷。

22.有三個進程共享同一程序段,而每次只允許兩個進程進入該程序段,若用PV操作同步
機制,則信號量S的取值范圍是()。
A.2,1,0,- 1
B. 3,2,1,0
C. 2,1,0,-1,-2
D. 1,0,-1,-2

  1. A
    因為每次允許兩個進程進入該程序段,信號量最大值取2。至多有三個進程申請,則信號量最小為-1,所以信號量可以取2,1,0,-1。

23.對于兩個并發進程,設互斥信號量為mutex(初值為1),若 mutex =0,則表示( ).
A.沒有進程進入臨界區
B.有一個進程進入臨界區
c.有一個進程進入臨界區,另一個進程等待進入
D.有一個進程在等待進入

23.B
mutex 的初值為1,表示允許一個進程進入臨界區,當有一個進程進入臨界區且沒有進程等待進入時,mutex 減1,變為0。|mutex|為等待進入的進程數。因此選擇選項B。

24.對于兩個并發進程,設互斥信號量為mutex(初值為1),若 mutex =-1,則()。
A.表示沒有進程進入臨界區
B.表示有一個進程進入臨界區
C.表示有一個進程進入臨界區,另一個進程等待進入
D.表示有兩個進程進入臨界區

24.C
當有一個進程進入臨界區且有另一個進程等待進入臨界區時,mutex =—1。mutex小于0時,其絕對值等于等待進入臨界區的進程數。

25.一個進程因在互斥信號量mutex 上執行V(mutex)操作而導致喚醒另一個進程時,執行V
操作后mutex的值為().
A.大于0
B.小于0
C.大于或等于0
D.小于或等于О

25.D
由題意可知,系統原來存在等待進入臨界區的進程,mutex小于或等于-1,因此在執行V(mutex)操作后,mutex的值小于或等于0。

26.一個系統中共有5個并發進程涉及某個相同的變量A,變量A的相關臨界區是由( )
個臨界區構成的。
A. 1
B.3
C. 5
D. 6

26.C
這里的臨界區是指訪問臨界資源A的那段代碼(臨界區的定義)。那么5個并發進程共有5個操作共享變量A的代碼段。

27.下述()選項不是管程的組成部分。
A.局限于管程的共享數據結構
B.對管程內數據結構進行操作的一組過程
C.管程外過程調用管程內數據結構的說明
D.對局限于管程的數據結構設置初始值的語句

27.c
管程由局限于管程的共享變量說明、對管程內的數據結構進行操作的一組過程及對局限于管程的數據設置初始值的語句組成。

28.以下關于管程的敘述中,錯誤的是().
A.管程是進程同步工具,解決信號量機制大量同步操作分散的問題
B.管程每次只允許一個進程進入管程
c.管程中signal 操作的作用和信號量機制中的操作相同
D.管程是被進程調用的,管程是語法范圍,無法創建和撤銷

  1. C
    管程的signal操作與信號量機制中的V操作不同,信號量機制中的V操作一定會改變信號量的值S=S+1。而管程中的signal操作是針對某個條件變量的,若不存在因該條件而阻塞的進程,則signal不會產生任何影響。

29、對信號量S執行Р操作后,使該進程進入資源等待隊列的條件是( )。
A. S.value <0
B.S.value <= 0
c. S.value >0
D. S.value >=0

29.A
參見記錄型信號量的解析。此處極易出S.value的物理概念題,現總結如下:
①S.value >0,表示某類可用資源的數量。每次Р操作,意味著請求分配一個單位的資源。②S.value≤O,表示某類資源已經沒有,或者說還有因請求該資源而被阻塞的進程,S.value的絕對值表示等待進程數目。
一定要看清題目中的陳述是執行Р操作前還是執行Р操作后。

30.若系統有n個進程,則就緒隊列中進程的個數最多有(①)個;阻塞隊列中進程的個數
最多有(②)個。
A. n+1
B. n
c. n-1
D. 1

A. n+1
B. n
C. n-1
D.1

  1. ①C ②B
    系統中有n個進程,其中至少有一個進程正在執行(處理器至少有一個),因此就緒隊列
    中的進程個數最多有n-1個。B選項容易被錯選,以為出現了處理器為空、就緒隊列全滿的情況,實際調度無此狀態。
    注意:系統中有n個進程,其中至少有一個進程正在執行(處理器至少有一個),其實這句話對于一般情況是錯誤的,但我們只需考慮就緒隊列中進程最多這種特殊情況即可。②此題C選項容易被錯選,阻塞隊列有n-1個進程這種情況是可能發生的,但不是最多的
    情況。可能不少讀者會忽視死鎖的情況,死鎖就是n個進程都被阻塞,所以最多可以有n個進程在阻塞隊列。

31.下列關于PV操作的說法中,正確的是().
I. PV操作是一種系統調用命令
II. PV操作是一種低級進程通信原語
Im. PV操作是由一個不可被中斷的過程組成
IV. PV操作是由兩個不可被中斷的過程組成
A. I、III
B.II、IV
C. I、II、IV
D. I、IV

31.B
PV操作是一種低級的進程通信原語,不是系統調用,因此Ⅱ正確;Р操作和V操作都屬于原子操作,所以PV操作由兩個不可被中斷的過程組成,因此IⅣ正確。

32.下列關于臨界區和臨界資源的說法中,正確的是( ).
I.銀行家算法可以用來解決臨界區 ( Critical Section)問題
II.臨界區是指進程中用于實現進程互斥的那段代碼
Ⅲ.公用隊列屬于臨界資源
IV.私用數據屬于臨界資源
A.I、II
B.I、IV
C.僅II
D.以上答案都錯誤

32.c
臨界資源是指每次僅允許一個進程訪問的資源。每個進程中訪問臨界資源的那段代碼稱為臨界區。Ⅰ錯誤,銀行家算法是避免死鎖的算法。I錯誤,每個進程中訪問臨界資源的那段代碼稱為臨界區。Ⅲ正確,公用隊列可供多個進程使用,但一次只可供一個程序使用。IⅣ錯誤,私用數據僅供一個進程使用,不存在臨界區問題。綜上分析,正確答案為選項C。

33.有一個計數信號量S:
1)假如若干進程對S進行28次Р操作和18次V操作后,信號量S的值為0。
2)假如若干進程對信號量S進行了15次Р操作和2次V操作。請問此時有多少個進
程等待在信號量S的隊列中?( )
A.2
B.3
C. 5
D.7

33.B
對S進行了28次Р操作和18次V操作,即S-28+18=0,得信號量的初值為10;然后,對信號量S進行了15次Р操作和2次V操作,即S-15+2=10-15 +2=-3,S信號量的負值的絕對值表示等待隊列中的進程數。所以有3個進程等待在信號量S的隊列中。

34、有兩個并發進程P和P2,其程序代碼如下:
P1(){
x=1;//A1
y=2;
Z=X+y ;
print z;//A2
}
P2() {
x=-3;//B1
c=x*x;
print c;//B2
}
可能打印出的z值有(),可能打印出的c值有()(其中x為P,P2的共享變量)
A.z= 1,-3; c=1,9
B.z=-1,3; c= 1,9
C. z=-1,3, 1;c=9
D.z=3; c = 1,9

34.B
本題的關鍵是,輸出語句A2,B2中讀取的x的值不同,由于A1,B1執行有先后問題,使得在執行A2,B2前,x的可能取值有兩個,即1,-3;這樣,輸出z的值可能是1+2=3或(-3)+2=-1;輸出c的值可能是1×1=1或(-3)×(-3)=9。

35.并發進程之間的關系是().
A.無關的
B.相關的
C.可能相關的
D.可能是無關的,也可能是有交往的

  1. D
    并發進程之間的關系沒有必然的要求,只有執行時間上的偶然重合,可能無關也可能有交往。

36.若有4個進程共享同一程序段,每次允許3個進程進入該程序段,若用PV操作作為同
步機制,則信號量的取值范圍是()。
A. 4,3,2,1,-1
B. 2,1,0,-1,–2
c.3,2,1,0,-11T
D.2,1,0,-2,-3

  1. C
    由于每次允許三個進程進入該程序段,因此可能出現的情況是:沒有進程進入,有一個進程進入,有兩個進程進入,有三個進程進入,有三個進程進入并有一個在等待進入,因此這5種情況對應的信號量值為3,2,1,0,-1。

37.在9個生產者、6個消費者共享容量為8的緩沖器的生產者-消費者問題中,互斥使用緩
沖器的信號量初始值為()。
A.1
B.6
C. 8
D.9

37.A
所謂互斥使用某臨界資源,是指在同一時間段只允許一個進程使用此資源,所以互斥信號量的初值都為1。

38.信箱通信是一種()通信方式。
A.直接通信
B.間接通信
c.低級通信
D.信號量

38.B
信箱通信是一種間接通信方式。

39.有兩個優先級相同的并發程序P和P,它們的執行過程如下所示。假設當前信號量s1=
0,s2=0。當前的z=2,進程運行結束后,x, y和z的值分別是()。

  1. c
    由于進程并發,因此進程的執行具有不確定性,在P,P,執行到第一個P,V操作前,應該是相互無關的。現在考慮第一個對s的P,V操作,由于進程Pz是P(s;)操作,因此它必須等待P執行完V(s)操作后才可繼續運行,此時的x, y, z值分別是2,3,4,當進程P執行完V(s⑴后便在P(sz上阻塞,此時P,可以運行直到V(s),此時的x, y,z值分別是5,3,9,進程P繼續運行到結束,最終的x,y,z值分別為5,12,9。

40.【2010統考真題】設與某資源關聯的信號量初值為3,當前值為1。若M表示該資源的
可用個數,N表示等待該資源的進程數,則M,N分別是().
A.0,1
B.1,0
C. 1,2
D.2,0

40.B
信號量表示相關資源的當前可用數量。當信號量K>0時,表示還有K個相關資源可用,所以該資源的可用個數是1。而當信號量K<0時,表示有|K個進程在等待該資源。由于資源有剩余,可見沒有其他進程等待使用該資源,因此進程數為0。

41.【2010統考真題】進程P和進程P的共享變量定義及其初值為:

則并發執行進程Po和進程P時產生的情況是().
A.不能保證進程互斥進入臨界區,會出現“饑餓”現象
B.不能保證進程互斥進入臨界區,不會出現“饑餓”現象
C.能保證進程互斥進入臨界區,會出現“饑餓”現象
D.能保證進程互斥進入臨界區,不會出現“饑餓”現象

41.D
這是Peterson算法的實際實現,保證進入臨界區的進程合理安全。
該算法為了防止兩個進程為進入臨界區而無限期等待,設置了變量turn,表示允許進入臨界區的編號,每個進程在先設置自己的標志后再設置turn標志,允許另一個進程進入。這時,再同時檢測另一個進程狀態標志和允許進入標志,就可保證當兩個進程同時要求進入臨界區時只允許一個進程進入臨界區。保存的是較晚的一次賦值,因此較晚的進程等待,較早的進程進入。先到先入,后到等待,從而完成臨界區訪問的要求。
其實這里可想象為兩個人進門,每個人進門前都會和對方客套一句“你走先”。若進門時沒別人,就當和空氣說句廢話,然后大步登門入室;若兩人同時進門,就互相先請,但各自只客套一次,所以先客套的人請完對方,就等著對方請自己,然后光明正大地進門。

42.【2011統考真題】有兩個并發執行的進程P,和進程P,共享初值為1的變量x。Pr對x
加1,P2對x 減1。加1和減1操作的指令序列分別如下:

A.可能為-1或3
B.只能為1
C.可能為0,1或2
D.可能為-1,0,1或2

  1. c
    將P中的3條語句依次編號為1,2,3,將P中的3條語句依次編號為4,5,6,則依次執行1,2,3,4,5,6得結果1,依次執行1,2,4,5,6,3得結果2,依次執行4,5,1,2,3,6得結果0。結果-1不可能得出。

43.【2016統考真題】進程P,和P2均包含并發執行的線程,部分偽代碼描述如下所示。

下列選項中,需要互斥執行的操作是().
A. a=1與a=2
B. a=x 與b-x
C. x+= 1與x+=2
D. x+=1與x+=3

  1. C
    P中對a進行賦值,并不影響最終的結果,因此a=1與a=2不需要互斥執行; a=x與b=X執行先后不影響a與b的結果,無須互斥執行;x=1與x +=2執行先后會影響x的結果,需要互斥執行;P1中的x和P2中的x是不同范圍中的x,互不影響,不需要互斥執行。

44.【2016統考真題】使用TSL ( Test and Set Lock)指令實現進程互斥的偽代碼如下所示。

下列與該實現機制相關的敘述中,正確的是().
A.退出臨界區的進程負責喚醒阻塞態進程
B.等待進入臨界區的進程不會主動放棄CPU
C.上述偽代碼滿足“讓權等待”的同步準則
D. while(TSL(&lock))語句應在關中斷狀態下執行

44.B
當進程退出臨界區時置lock為FALSE,會負責喚醒處于就緒態的進程,選項A錯誤。等待進入臨界區的進程會一直停留在執行 while(TSL(&lock))的循環中,不會主動放棄CPU,選項B正確。讓權等待,即進程不能進入臨界區時,應立即釋放處理器,防止進程忙等待。通過選項B的分析發現,上述偽代碼并不滿足“讓權等待”的同步準則,選項C錯誤。while(TSL(&lock))在關中斷狀態下執行時,若TSL(&lock)一直為true,不再開中斷,則系統可能會因此終止,選項D錯誤。

  1. 【2016統考真題】下列關于管程的敘述中,錯誤的是()。
    A.管程只能用于實現進程的互斥
    B.管程是由編程語言支持的進程同步機制
    C.任何時候只能有一個進程在管程中執行
    D.管程中定義的變量只能被管程內的過程訪問

  2. A
    管程是由一組數據及定義在這組數據之上的對這組數據的操作組成的軟件模塊,這組操作能初始化并改變管程中的數據和同步進程。管程不僅能實現進程間的互斥,而且能實現進程間的同步,因此選項A錯誤、選項B正確;管程具有如下特性:①局部于管程的數據只能被局部于管程內的過程所訪問;②一個進程只有通過調用管程內的過程才能進入管程訪問共享數據;③每次僅允許一個進程在管程內執行某個內部過程,因此選項C和選項D正確。

46.【2018統考真題】屬于同一進程的兩個線程thread1 和thread2并發執行,共享初值為0的全局變量x。thread1和 thread2實現對全局變量x加1的機器級代碼描述如下。

46.B
仔細閱讀兩個線程代碼可知,thread1和 thread2均是對x進行加1操作,x的初始值為0,若要使得最終x= 2,只能先執行完 thread1再執行thread2,或先執行完thread2再執行threadl,因此僅有2種可能,選擇選項B。

47.【2018統考真題】若x是管程內的條件變量,則當進程執行x.waitO)時所做的工作是().
A.實現對變量x的互斥訪問
B.喚醒一個在x上阻塞的進程
c.根據x的值判斷該進程是否進入阻塞態
D.阻塞該進程,并將之插入x的阻塞隊列中

  1. D
    “條件變量”是管程內部說明和使用的一種特殊變量,其作用類似于信號量機制中的“信號量”,都用于實現進程同步。需要注意的是,在同一時刻,管程中只能有一個進程在執行。若進程A執行了x.wait()操作,則該進程會阻塞,并掛到條件變量x對應的阻塞隊列上。這樣,管程的使用權被釋放,就可以有另一個進程進入管程。若進程B執行了x.signal()操作,則會喚醒x對應的阻塞隊列的隊首進程。在 Pascal 語言的管程中,規定只有一個進程要離開管程時才能調用signal()操作。

48.【2018統考真題】在下列同步機制中,可以實現讓權等待的是().
A. Peterson 方法
B. swap指令
c.信號量方法
D. TestAndSet指令

  1. C
    硬件方法實現進程同步時不能實現讓權等待,選項B和D錯誤;Peterson算法滿足有限等待但不滿足讓權等待,選項A錯誤;記錄型信號量由于引入阻塞機制,消除了不讓權等待的情況,選項C正確。

49.【2020統考真題】下列準則中,實現臨界區互斥機制必須遵循的是()。
I兩個進程不能同時進入臨界區
II.允許進程訪問空閑的臨界資源
IⅢ.進程等待進入臨界區的時間是有限的
IV.不能進入臨界區的執行態進程立即放棄CPU
A.僅I、IV
B.僅II、III
c.僅I、I1、III
D.僅I、III、IV

  1. c
    實現臨界區互斥需滿足多個準則。“忙則等待”準則,即兩個進程不能同時訪問臨界區,I正確。“空閑讓進”準則,若臨界區空閑,則允許其他進程訪問,I正確。“有限等待”準則,即進程應該在有限時間內訪問臨界區,I正確。I、I和IⅢ是互斥機制必須遵循的原則。TⅣ是“讓權等待”準則,不一定非得實現,如皮特森算法。

2.4.6本節習題精選
一、單項選擇題
01.下列情況中,可能導致死鎖的是()。
A.進程釋放資源
B.一個進程進入死循環
C.多個進程竟爭資源出現了循環等待
D.多個進程競爭使用共享型的設備

  1. C
    引起死鎖的4個必要條件是:互斥、占有并等待、非剝奪和循環等待。本題中,出現了循環等待的現象,意味著可能會導致死鎖。進程釋放資源不會導致死鎖,進程自己進入死循環只能產生“饑餓”,不涉及其他進程。共享型設備允許多個進程申請使用,因此不會造成死鎖。再次提醒,死鎖一定要有兩個或兩個以上的進程才會導致,而饑餓可能由一個進程導致。

02.在操作系統中,死鎖出現是指()。
A.計算機系統發生重大故障
B.資源個數遠遠小于進程數
C.若干進程因競爭資源而無限等待其他進程釋放已占有的資源
D.進程同時申請的資源數超過資源總數

  1. c
    死鎖是指多個進程因競爭系統資源或相互通信而處于永久阻塞態,若無外力作用,這些進程都將無法推進。

03.一次分配所有資源的方法可以預防死鎖的發生,它破壞死鎖4個必要條件中的()。
A.互斥
B.占有并請求
C.非剝奪
D.循環等待

03.B
發生死鎖的4個必要條件:互斥、占有并請求、非剝奪和循環等待。一次分配所有資源的方法是當進程需要資源時,一次性提出所有的請求,若請求的所有資源均滿足則分配,只要有一項不滿足,就不分配任何資源,該進程阻塞,直到所有的資源空閑后,滿足進程的所有需求時再分配。這種分配方式不會部分地占有資源,因此打破了死鎖的4個必要條件之一,實現了對死鎖的預防。但是,這種分配方式需要湊齊所有資源,因此當一個進程所需的資源較多時,資源的利用率會較低,甚至會造成進程“饑餓”。

04.系統產生死鎖的可能原因是()。
A.獨占資源分配不當
B.系統資源不足
c.進程運行太快
D. CPU內核太多

  1. A
    系統死鎖的可能原因主要是時間上和空間上的。時間上由于進程運行中推進順序不當,即調度時機不合適,不該切換進程時進行了切換,可能會造成死鎖;空間上的原因是對獨占資源分配不當,互斥資源部分分配又不可剝奪,極易造成死鎖。那么,為什么系統資源不足不是造成死鎖的原因呢?系統資源不足只會對進程造成“饑餓”。例如,某系統只有三臺打印機,若進程運行中要申請四臺,顯然不能滿足,該進程會永遠等待下去。若該進程在創建時便聲明需要四臺打印機,則操作系統立即就會拒絕,這實際上是資源分配不當的一種表現。不能以系統資源不足來描述剩余資源不足的情形。

05.死鎖的避免是根據()采取措施實現的。
A.配置足夠的系統資源
B.使進程的推進順序合理
C.破壞死鎖的四個必要條件之一
D.防止系統進入不安全狀態

05.D
死鎖避免是指在資源動態分配過程中用某些算法加以限制,防止系統進入不安全狀態從而避免死鎖的發生。選項B是避免死鎖后的結果,而不是措施的原理。

06.死鎖預防是保證系統不進入死鎖狀態的靜態策略,其解決辦法是破壞產生死鎖的四個必
要條件之一。下列方法中破壞了“循環等待”條件的是()。
A.銀行家算法
B.一次性分配策略
c.剝奪資源法
D.資源有序分配策略

06.D
資源有序分配策略可以限制循環等待條件的發生。選項A判斷是否為不安全狀態;選項B破壞了占有請求條件;選項C破壞了非剝奪條件。

07.某系統中有三個并發進程都需要四個同類資源,則該系統必然不會發生死鎖的最少資源
是()。
A. 9
B.10
C.11
D.12

07.B
資源數為9時,存在三個進程都占有三個資源,為死鎖;資源數為10時,必然存在一個進程能拿到4個資源,然后可以順利執行完其他進程。

08.某系統中共有11臺磁帶機,X個進程共享此磁帶機設備,每個進程最多請求使用3臺,
則系統必然不會死鎖的最大X值是()。
A.4
B. 5
C. 6
D.7

08.B
考慮一下極端情況:每個進程已經分配了兩臺磁帶機,那么其中任何一個進程只要再分配-臺磁帶機即可滿足它的最大需求,該進程總能運行下去直到結束,然后將磁帶機歸還給系統再次分配給其他進程使用。因此,系統中只要滿足2X+1=11這個條件即可認為系統不會死鎖,解得X=5,也就是說,系統中最多可以并發5個這樣的進程是不會死鎖的。

09.解除死鎖通常不采用的方法是()。
A.終止一個死鎖進程
B.終止所有死鎖進程
C.從死鎖進程處搶奪資源
D.從非死鎖進程處搶奪資源

09.D
解除死鎖的方法有,①剝奪資源法:掛起某些死鎖進程,并搶占它的資源,將這些資源分配給其他的死鎖進程;②撤銷進程法:強制撤銷部分甚至全部死鎖進程并剝奪這些進程的資源。

10.采用資源剝奪法可以解除死鎖,還可以采用()方法解除死鎖。
A.執行并行操作
B.撤銷進程
c.拒絕分配新資源
D.修改信號量

10.B
資源剝奪法允許一個進程強行剝奪其他進程所占有的系統資源。而撤銷進程強行釋放一個進程已占有的系統資源,與資源剝奪法同理,都通過破壞死鎖的“請求和保持”條件來解除死鎖。拒絕分配新資源只能維持死鎖的現狀,無法解除死鎖。

11.在下列死鎖的解決方法中,屬于死鎖預防策略的是().
A.銀行家算法
B.資源有序分配算法
C.死鎖檢測算法
D.資源分配圖化簡法

11.B
其中,銀行家算法為死鎖避免算法,死鎖檢測算法和資源分配圖化簡法為死鎖檢測,根據排除法可以得出資源有序分配算法為死鎖預防策略。

12.引入多道程序技術的前提條件之一是系統具有()。
A.多個CPU
B.多個終端
C.中斷功能
D.分時功能

12.C
多道程序技術要求進程間能實現并發,需要實現進程調度以保證CPU的工作效率,而并發性的實現需要中斷功能的支持。

13.三個進程共享四個同類資源,這些資源的分配與釋放只能一次一個。已知每個進程最多
需要兩個該類資源,則該系統()。
A.有些進程可能永遠得不到該類資源
B.必然有死鎖
c.進程請求該類資源必然能得到
D.必然是死鎖

13.c
不會發生死鎖。因為每個進程都分得一個資源時,還有一個資源可以讓任意一個進程滿足,這樣這個進程可以順利運行完成進而釋放它的資源。

14.以下有關資源分配圖的描述中,正確的是()。
A.有向邊包括進程指向資源類的分配邊和資源類指向進程申請邊兩類
B.矩形框表示進程,其中圓點表示申請同一類資源的各個進程
C.圓圈結點表示資源類
D.資源分配圖是一個有向圖,用于表示某時刻系統資源與進程之間的狀態

14.D
進程指向資源的有向邊稱為申請邊,資源指向進程的有向邊稱為分配邊,A選項張冠李戴;矩形框表示資源,其中的圓點表示資源的數目,選項B錯;圓圈結點表示進程,選項C錯;選項D的說法是正確的。

15.死鎖的四個必要條件中,無法破壞的是()。
A.環路等待資源.
B.互斥使用資源
c.占有且等待資源
D.非搶奪式分配

15.B
所謂破壞互斥使用資源,是指允許多個進程同時訪問資源,但有些資源根本不能同時訪問,如打印機只能互斥使用。因此,破壞互斥條件而預防死鎖的方法不太可行,而且在有的場合應該保護這種互斥性。其他三個條件都可以實現。

16.死鎖與安全狀態的關系是()。
A.死鎖狀態有可能是安全狀態
B.安全狀態有可能成為死鎖狀態
C.不安全狀態就是死鎖狀態
D.死鎖狀態一定是不安全狀態

16.D

17.死鎖檢測時檢查的是().
A.資源有向圖
B.前驅圖
C.搜索樹
D.安全圖

  1. A
    死鎖檢測一般采用兩種方法:資源有向圖法和資源矩陣法。前驅圖只是說明進程之間的同步關系,搜索樹用于數據結構的分析,安全圖并不存在。注意死鎖避免和死鎖檢測的區別:死鎖避免是指避免死鎖發生,即死鎖沒有發生;死鎖檢測是指死鎖已出現,要把它檢測出來。

18.某個系統采用下列資源分配策略。若一個進程提出資源請求得不到滿足,而此時沒有由
于等待資源而被阻塞的進程,則自己就被阻塞。而當此時已有等待資源而被阻塞的進程,則檢查所有由于等待資源而被阻塞的進程。若它們有申請進程所需要的資源,則將這些資源取出并分配給申請進程。這種分配策略會導致()。
A.死鎖
B.顛簸
C.回退
D、饑餓

18.D
某個進程主動釋放資源不會導致死鎖,因為破壞了請求并保持條件,選項A錯。
顛簸也就是抖動,這是請求分頁系統中頁面調度不當而導致的現象,是下一章討論的問題,這里權且斷定選項B是錯的。
回退是指從此時此刻的狀態退回到一分鐘之前的狀態,假如一分鐘之前擁有資源X,它有可能釋放了資源X,那就不稱回到一分鐘之前的狀態,也就不是回退,選項C錯。
由于進程過于“慷慨”,不斷把自己已得到的資源送給別人,導致自己長期無法完成,所以是饑餓,選項D對。

19.系統的資源分配圖在下列情況下,無法判斷是否處于死鎖狀態的有( )。
I.出現了環路
II.沒有環路
III.每種資源只有一個,并出現環路
IV.每個進程結點至少有一條請求邊
A. I、II、III、IV
B. I、III、IV
C. I、IV
D.以上答案都不正確

  1. c
    出現了環路,只是滿足了循環等待的必要條件,而滿足必要條件不一定會導致死鎖,Ⅰ對;沒有環路,破壞了循環等待條件,一定不會發生死鎖,I錯;每種資源只有一個,又出現了環路,這是死鎖的充分條件,可以確定是否有死鎖,Ⅲ錯;即使每個進程至少有一條請求邊,若資源足夠,則不會發生死鎖,但若資源不充足,則有發生死鎖的可能,IV對。
    綜上所述,選擇選項C。

20.下列關于死鎖的說法中,正確的有()。
I.死鎖狀態一定是不安全狀態
I,產生死鎖的根本原因是系統資源分配不足和進程推進順序非法
Im.資源的有序分配策略可以破壞死鎖的循環等待條件
IV.采用資源剝奪法可以解除死鎖,還可以采用撤銷進程方法解除死鎖
A. I、I1I
B.II
C.IV
D.四個說法都對

  1. D
    Ⅰ正確:見16題答案解析圖。
    II正確:這是產生死鎖的兩大原因。
    IⅢ正確:在對資源進行有序分配時,進程間不可能出現環形鏈,即不會出現循環等待。IⅣ正確:資源剝奪法允許一個進程強行剝奪其他進程占有的系統資源。而撤銷進程強行釋放一個進程已占有的系統資源,與資源剝奪法同理,都通過破壞死鎖的“請求和保持”條件來解除死鎖,所以選D。

21.下面是并發進程的程序代碼、正確的

21.B
遇到這種問題時千萬不要慌張,下面我們來慢慢分析,給讀者一個清晰的解題過程:
仔細考察程序代碼,可以看出這是一個擴展的單行線問題。也就是說,某單行線只允許單方向的車輛通過,在單行線的入口設置信號量y,在告示牌上顯示某一時刻各方向來車的數量c1和c2,要修改告示牌上的車輛數量必須互斥進行,為此設置信號量x1和x2。若某方向的車輛需要通過時,則首先要將該方向來車數量c1或c2增加1,并查看自己是否是第一個進入單行線的車輛,若是,則獲取單行線的信號量y,并進入單行線。通過此路段以后出單行線時,將該方向的車輛數c1或c2減1(當然是利用x1或x2來互斥修改),并查看自己是否是最后一輛車,若是,則釋放單行線的互斥量 y,否則保留信號量y,讓后繼車輛繼續通過。雙方的操作如出一轍。考慮出現一個極端情況,即當某方向的車輛首先占據單行線并后來者絡繹不絕時,另一個方向的車輛就再沒有機會通過該單行線了。而這種現象是由于算法本身的缺陷造成的,不屬于因為特殊序列造成的饑餓,所以它是真正的饑餓現象。由于有信號量的控制,因此死鎖的可能性沒有了(即雙方同時進入單行線,在中間相遇,造成雙方均無法通過的情景)。
①假設Р進程稍快,P2進程稍慢,同時運行;②P進程首先進入if條件語句,因此獲得了y的互斥訪問權,P被阻塞;③在第一個P進程未釋放y之前,又有另一個P進入,cl的值變成2,當第一個Pr離開時,P,仍然被阻塞,這種情形不斷發生;④在這種情況下會發生什么事? Pr順利執行,Pz很郁悶,長期被阻塞。
綜上所述,不會發生死鎖,但會出現饑餓現象。因此選B。

22.c
本題中兩個進程不能正確地工作,運行結果的可能性詳見下面的說明。1. x= 1;
5. x = O;
2. y =0;
6. t = 0;
3. If x>=1 then y=y+1;
7. if x<=1 then t=t+2;
4.z=y;
8. u=t;
不確定的原因是由于使用了公共變量x,考查程序中與變量x有關的語句共四處,執行的順序是1→2→3→4→5→6→7→8時,結果是y=l,z= 1, t = 2, u = 2,x = 0;并發執行過程是1→2→5→6→3→4→7→8時,結果是y =0,z = 0, t = 2,u = 2,x = 0;執行的順序是5→6→7→8→1→2→3→4時,結果是y= 1,z= 1,t =2,u=2,x = 1;執行的順序是5→6→1→2→7一8→3一4時,結果是y= 1,z= 1, t =2,u=2,x =1。可見結果有多種可能性。
很明顯,無論執行順序如何,x的結果只能是0或1,因此語句7的條件一定成立,即t=u=2的結果是一定的;而y=z必定成立,只可能有0,1兩種情況,又不可能出現x=1,y=z=0的情況,所以總共只有3種結果(答案中的3種)。

23.一個進程在獲得資源后,只能在使用完資源后由自己釋放,這屬于死鎖必要條件的()
A.互斥條件
B.請求和釋放條件
C.不剝奪條件
D.防止系統進入不安全狀態

  1. C
    一個進程在獲得資源后,只能在使用完資源后由自己釋放,即它的資源不能被系統剝奪,答案為C選項。

24.死鎖定理是用于處理死鎖的()方法。
A.預防死鎖
B.避免死鎖
C.檢測死鎖
D.解除死鎖

24.C
死鎖定理是用于檢測死鎖的方法。

25.假設具有5個進程的進程集合Р= {Po,P,P2, P3, P4},系統中有三類資源A, B,C,假設
在某時刻有如下狀態,見下表。

25.C

全狀態。
綜上分析:只有Ⅰ處于安全狀態。

26.【2009統考真題】某計算機系統中有8臺打印機,由K個進程競爭使用,每個進程最多
需要3臺打印機。該系統可能會發生死鎖的K的最小值是()。
A.2
B.3
C.4
D. 5

26.C
這種題要用到組合數學中鴿巢原理的思想。考慮最極端的情況,因為每個進程最多需要3臺打印機,若每個進程已經占有了2臺打印機,則只要還有多的打印機,總能滿足一個進程達到3臺的條件,然后順利執行,所以將8臺打印機分給K個進程,每個進程有⒉臺打印機,這個情況就是極端情況,K為4。

27.D
本題應采用排除法,逐個代入分析。剩余資源分配給P,待P執行完后,可用資源數為(2,2.1),此時僅能滿足P4的需求,排除選項A、B;接著分配給P,待P執行完后,可用資源數為(22,2),此時已無法滿足任何進程的需求,排除選項C。
此外,本題還可以使用銀行家算法求解(對選擇題來說顯得過于復雜)。

28.D
首先求得各進程的需求矩陣 Need 與可利用資源向量Available:

29.【2013統考真題】下列關于銀行家算法的敘述中,正確的是()。
A.銀行家算法可以預防死鎖
B.當系統處于安全狀態時,系統中一定無死鎖進程
C.當系統處于不安全狀態時,系統中一定會出現死鎖進程
D.銀行家算法破壞了死鎖必要條件中的“請求和保持”條件

29.B
銀行家算法是避免死鎖的方法,選項A、D錯。根據16題的答案解析圖,選項B對,選項C錯。

30.【2014統考真題】某系統有n臺互斥使用的同類設備,三個并發進程分別需要3,4,5臺
設備,可確保系統不發生死鎖的設備數n最小為().
A. 9
B.10
C. 11
D.12

30.B
三個并發進程分別需要3,4,5臺設備,當系統只有(3-1)+(4-1)+(5-1)=9臺設備時,第一個進程分配2臺,第二個進程分配3臺,第三個進程分配4臺。這種情況下,三個進程均無法繼續執行下去,發生死鎖。當系統中再增加Ⅰ臺設備,即共10臺設備時,最后1臺設備分配給任意一個進程都可以順利執行完成,因此保證系統不發生死鎖的最小設備數為10。

31.【2015統考真題】若系統S采用死鎖避免方法,S采用死鎖檢測方法。下列敘述中,正
確的是()。
I. S會限制用戶申請資源的順序,而S不會
II. S需要進程運行所需的資源總量信息,而S不需要
I1I. S,不會給可能導致死鎖的進程分配資源,而S會
A.僅I、II
B.僅II、III
C.僅I、I1I
D.I、II、III

31.B
死鎖的處理采用三種策略:死鎖預防、死鎖避免、死鎖檢測和解除。燈考研】
死鎖預防采用破壞產生死鎖的4個必要條件中的一個或幾個來防止發生死鎖。其中之一的“破壞循環等待條件”,一般采用順序資源分配法,首先給系統的資源編號,規定每個進程必須按編號遞增的順序請求資源,即限制了用戶申請資源的順序,因此I的前半句屬于死鎖預防的范疇。
銀行家算法是最著名的死鎖避免算法,其中的最大需求矩陣 Max定義了每個進程對m類資
源的最大需求量,系統在執行安全性算法中都會檢查此次資源試分配后,系統是否處于安全狀態,若不安全則將本次的試探分配作廢。在死鎖的檢測和解除中,系統為進程分配資源時不采取任何措施,但提供死鎖的檢測和解除手段,因此Ⅱ、Ⅲ正確。

32.【2016統考真題】系統中有3個不同的臨界資源R,R和Rg,被4個進程Pl,P2z, P,P4
共享。各進程對資源的需求為:Pr申請R和R,P2申請R和R,P申請R,和R,Pa申請R。若系統出現死鎖,則處于死鎖狀態的進程數至少是(料神家園
A.1
B.2
C.3
D.4

32.c
對于本題,先滿足一個進程的資源需求,再看其他進程是否出現死鎖狀態。因為 P4只申請一個資源,當將R分配給P4后,P4執行完后將R,釋放,這時使得系統滿足死鎖的條件是Ry分配給P,R分配給P,Rg分配給P;(或者R,分配給P,R;分配給P,R分配給P;)。窮舉其他情況如P申請的資源R和R,先都分配給P,運行完并釋放占有的資源后,可分別將R,R和R;分配給P3, P4和P,不滿足系統死鎖的條件。各種情況需要使得處于死鎖狀態的進程數至少為3。

33.【2018統考真題】假設系統中有4個同類資源,進程P;,P,和P需要的資源數分別為
4,3和1,P,P和P,已申請到的資源數分別為2,1和0,則執行安全性檢測算法的結果是().
A.不存在安全序列,系統處于不安全狀態
B.存在多個安全序列,系統處于安全狀態
C.存在唯一安全序列Ps,P1,P,系統處于安全狀態
D.存在唯一安全序列P3, Pz,Pi,系統處于安全狀態

  1. A
    由題意可知,僅剩最后一個同類資源,若將其分給P,或P,則均無法正常執行;若分給P,則P,正常執行完成后,釋放的這一個資源仍無法使P,P,正常執行,因此不存在安全序列。

34.【2019統考真題】下列關于死鎖的敘述中,正確的是()。
I.可以通過剝奪進程資源解除死鎖
II.死鎖的預防方法能確保系統不發生死鎖
III.銀行家算法可以判斷系統是否處于死鎖狀態
IV.當系統出現死鎖時,必然有兩個或兩個以上的進程處于阻塞態
A.僅I、III
B.僅I、II、IV
C.僅I、II、ImI
D.僅I、III、IV

34。B
剝奪進程資源,將其分配給其他死鎖進程,可以解除死鎖,Ⅰ正確。死鎖預防是死鎖處理策略(死鎖預防、死鎖避免、死鎖檢測)中最為嚴苛的一種策略,破壞死鎖產生的4個必要條件之一,可以確保系統不發生死鎖,Ⅱ正確。銀行家算法是一種死鎖避免算法,用于計算動態資源分配的安全性以避免系統進入死鎖狀態,不能用于判斷系統是否處于死鎖,IⅢI錯誤。通過簡化資源分配圖可以檢測系統是否為死鎖狀態,當系統出現死鎖時,資源分配圖不可完全簡化,只有兩個或兩個以上的進程才會出現“環”而不能被簡化,IV正確。

35.【2020統考真題】某系統中有A、B兩類資源各6個,t時刻的資源分配及需求情況如下
表所示。

35.B
首先求出需求矩陣:

36.【2021統考真題】若系統中有n (n≥2 )個進程,每個進程均需要使用某類臨界資源2
個,則系統不會發生死鎖所需的該類資源總數至少是( )。
A.2
B. n
C. n+ 1
D. 2n

36.C
考慮極端情況,當臨界資源數為n時,每個進程都擁有1個臨界資源并等待另一個資源,會發生死鎖。當臨界資源數為n +1時,則n個進程中至少有一個進程可以獲得2個臨界資源,順利運行完后釋放自己的臨界資源,使得其他進程也能順利運行,不會產生死鎖。

37.【2022統考真題】系統中有三個進程Po、P{、P,及三類資源A、B、C。若某時刻系統分
配資源的情況如下表所示,則此時系統中存在的安全序列的個數為()。

37.B
初始時系統中的可用資源數為<1,3,2>,只能滿足Po的需求<0,2,1>,所以安全序列第一個只能是Po,將資源分配給P后,Po執行完釋放所占資源,可用資源數變為<1,3,2>+<2,0,1>=<3,3,3>,此時可用資源數既能滿足P,又能滿足P,可以先分配給P,P執行完釋放資源再分配給P;也可以先分配給P,P2執行完釋放資源再分配給P|。所以安全序列可以是①Po、P,、P或②P、P、P。

3.1.8 本節習題精選
一、單項選擇題
01.下面關于存儲管理的敘述中,正確的是().
A.存儲保護的目的是限制內存的分配
B.在內存為M、有N個用戶的分時系統中,每個用戶占用MIN的內存空間
C.在虛擬內存系統中,只要磁盤空間無限大,作業就能擁有任意大的編址空間
D.實現虛擬內存管理必須有相應硬件的支持

01.D
選項A、B顯然錯誤,選項C中編址空間的大小取決于硬件的訪存能力,一般由地址總線寬度決定。選項D中虛擬內存的管理需要由相關的硬件和軟件支持,有請求分頁頁表機制、缺頁中斷機構、地址變換機構等。

02.段頁式存儲管理中,地址映射表是()。
A.每個進程一張段表,兩張頁表
B.每個進程的每個段一張段表,一張頁表
c.每個進程一張段表,每個段一張頁表
D.每個進程一張頁表,每個段一張段表

02.C
段頁式系統中,進程首先劃分為段,每段再進一步劃分為頁

03.內存保護需要由()完成,以保證進程空間不被非法訪問。
A.操作系統
B.硬件機構
C.操作系統和硬件機構合作
D.操作系統或者硬件機構獨立完成

03.C
內存保護是內存管理的一部分,是操作系統的任務,但是出于安全性和效率考慮,必須由硬件實現,所以需要操作系統和硬件機構的合作來完成。

04.存儲管理方案中,()可采用覆蓋技術。
A.單一連續存儲管理
B.可變分區存儲管理
c.段式存儲管理
D.段頁式存儲管理

  1. A
    覆蓋技術是早期在單一連續存儲管理中使用的擴大存儲容量的一種技術,它同樣可用于固定分區分配的存儲管理。

05.在可變分區分配方案中,某一進程完成后,系統回收其主存空間并與相鄰空閑區合并,
為此需修改空閑區表,造成空閑區數減1的情況是()。
A.無上鄰空閑區也無下鄰空閑區
B.有上鄰空閑區但無下鄰空閑區
C.有下鄰空閑區但無上鄰空閑區
D.有上鄰空閑區也有下鄰空閑區

05.D
將上鄰空閑區、下鄰空閑區和回收區合并為一個空閑區,因此空閑區數反而減少了一個。而僅有上鄰空閑區或下鄰空閑區時,空閑區數并不減少。

06.設內存的分配情況如右圖所示。若要申請一塊40KB的內存空間,采
用最佳適應算法,則所得到的分區首址為()。

A. 100K
B.190K
c. 330K
D. 410K

  1. c
    最佳適配算法是指,每次為作業分配內存空間時,總是找到能滿足空間大小需要的最小空閑分區給作業,可以產生最小的內存空閑分區。從圖中可以看出應選擇大小為60KB的空閑分區,其首地址為330K。

07.B
段號為2,其對應的首地址為480K,段長度為20K,大于154,所以邏輯地址(2,154)對應的物理地址為480K+154。

08.動態重定位是在作業的()中進行的。
A.編譯過程
B.裝入過程
C.鏈接過程
D.執行過程

08.D
靜態裝入是指在編程階段就把物理地址計算好。
可重定位是指在裝入時把邏輯地址轉換成物理地址,但裝入后不能改變
動態重定位是指在執行時再決定裝入的地址并裝入,裝入后有可能會換出,所以同一個模塊在內存中的物理地址是可能改變的。
動態重定位是指在作業運行過程中執行到一條訪存指令時,再把邏輯地址轉換為主存中的物理地址,實際中是通過硬件地址轉換機制實現的。

09.下面的存儲管理方案中,()方式可以采用靜態重定位。
A.固定分區
B.可變分區
C.頁式
D.段式

  1. A
    固定分區方式中,作業裝入后位置不再改變,可以采用靜態重定位。其余三種管理方案均可能在運行過程中改變程序位置,靜態重定位不能滿足其要求。

10.在可變分區管理中,采用拼接技術的目的是()。
A.合并空閑區
B.合并分配區
C.增加主存容量
D、便于地址轉換

  1. A
    在可變分區管理中,回收空閑區時采用拼接技術對空閑區進行合并。

11.A
按頁表內容可知,邏輯地址0對應塊號2,頁大小為4KB,因此轉換成的物理地址為2x4K=8K=8192。

12.不會產生內部碎片的存儲管理是().
A.分頁式存儲管理
B.分段式存儲管理
C.固定分區式存儲管理
D.段頁式存儲管理

12.B
分頁式存儲管理有內部碎片,分段式存儲管理有外部碎片,固定分區存儲管理方式有內部碎片,段頁式存儲管理方式有內部碎片。

13.多進程在主存中彼此互不干擾的環境下運行,操作系統是通過()來實現的。
A.內存分配
B.內存保護
c.內存擴充
D.地址映射

13.B
多進程的執行通過內存保護實現互不干擾,如頁式管理中有頁地址越界保護,段式管理中有段地址越界保護。

14.分區管理中采用最佳適應分配算法時,把空閑區按()次序登記在空閑區表中。
A.長度遞增
B.長度遞減
C。地址遞增
D.地址遞減

14.A
最佳適應算法要求從剩余的空閑分區中選出最小且滿足存儲要求的分區,空閑區應按長度遞增登記在空閑區表中。

15.首次適應算法的空閑分區()。
A.按大小遞減順序連在一起
B.按大小遞增順序連在一起
c.按地址由小到大排列
D.按地址由大到小排列

15.C
首次適應算法的空閑分區按地址遞增的次序排列。

16.采用分頁或分段管理后,提供給用戶的物理地址空間().
A.分頁支持更大的物理地址空間
B.分段支持更大的物理地址空間
C.不能確定
D.一樣大

16.C
頁表和段表同樣存儲在內存中,系統提供給用戶的物理地址空間為總空間大小減去頁表或段
表的長度。由于頁表和段表的長度不能確定,所以提供給用戶的物理地址空間大小也不能確定。

17.分頁系統中的頁面是為().
A.用戶所感知的
B.操作系統所感知的
C.編譯系統所感知的
D.連接裝配程序所感知的

17.B
內存分頁管理是在硬件和操作系統層面實現的,對用戶、編譯系統、連接裝配程序等上層是不可見的。

18.頁式存儲管理中,頁表的始地址存放在()中。
A.內存
B.存儲頁表
C.快表
D.寄存器

18.D
頁表的功能由一組專門的存儲器實現,其始址放在頁表基址寄存器(PTBR)中。這樣才能滿足在地址變換時能夠較快地完成邏輯地址和物理地址之間的轉換。

19.對重定位存儲管理方式,應().
A.在整個系統中設置一個重定位寄存器
B.為每道程序設置一個重定位寄存器
C.為每道程序設置兩個重定位寄存器
D.為每道程序和數據都設置一個重定位寄存器

  1. A
    為使地址轉換不影響到指令的執行速度,必須有硬件地址變換結構的支持,即需在系統中增設一個重定位寄存器,用它來存放程序(數據)在內存中的始址。在執行程序或訪問數據時,真正訪問的內存地址由相對地址與重定位寄存器中的地址相加而成,這時將始址存入重定位寄存器,之后的地址訪問即可通過硬件變換實現。因為系統處理器在同一時刻只能執行一條指令或訪問數據,所以為每道程序(數據)設置一個寄存器沒有必要(同時也不現實,因為寄存器是很昂貴的硬件,而且程序的道數是無法預估的),而只需在切換程序執行時重置寄存器內容。

20.采用段式存儲管理時,一個程序如何分段是在()時決定的。
A.分配主存
B.用戶編程
C.裝作業
D.程序執行

20.B
分段是指在用戶編程時,將程序按照邏輯劃分為幾個邏輯段。

21.下面的()方法有利于程序的動態鏈接。
A.分段存儲管理
B.分頁存儲管理
C.可變式分區管理
D.固定式分區管理

  1. A
    程序的動態鏈接與程序的邏輯結構相關,分段存儲管理將程序按照邏輯段進行劃分,因此有利于其動態鏈接。其他的內存管理方式與程序的邏輯結構無關。

22.當前編程人員編寫好的程序經過編譯轉換成目標文件后,各條指令的地址編號起始一般
定為(①),稱為(②)地址。
A. 1
B.0
C. IP
D. CS
A.絕對
B.名義
C.邏輯
D.實

22.B、C
編譯后一個目標程序所限定的地址范圍稱為該作業的邏輯地址空間。換句話說,地址空間僅指程序用來訪問信息所用的一系列地址單元的集合。這些單元的編號稱為邏輯地址。通常,編譯地址都是相對始址“0”的,因而也稱邏輯地址為相對地址。
注意:區分編譯后形成的邏輯地址和鏈接后形成的最終邏輯地址。

23.可重入程序是通過()方法來改善系統性能的。
A.改變時間片長度
B.改變用戶數
c.提高對換速度
D.減少對換數量

23.D
可重入程序主要是通過共享來使用同一塊存儲空間的,或通過動態鏈接的方式將所需的程序段映射到相關進程中去,其最大的優點是減少了對程序段的調入/調出,因此減少了對換數量。

24.操作系統實現()存儲管理的代價最小。
A.分區
B.分頁
c.分段
D.段頁式

24.A
實現分頁、分段和段頁式存儲管理需要特定的數據結構支持,如頁表、段表等。為了提高性能,還需要硬件提供快存和地址加法器等,代價高。分區存儲管理是滿足多道程序設計的最簡單的存儲管理方案,特別適合嵌入式等微型設備。

25.動態分區又稱可變式分區,它是系統運行過程中()動態建立的
A.在作業裝入時
B.在作業創建時
c.在作業完成時
D.在作業未裝入時

  1. A
    動態分區時,在系統啟動后,除操作系統占據一部分內存外,其余所有內存空間是一個大空閑區,稱為自由空間。若作業申請內存,則從空閑區中劃出一個與作業需求量相適應的分區分配給該作業,將作業創建為進程,在作業運行完畢后,再收回釋放的分區。

26.對外存對換區的管理應以()為主要目標。
A.提高系統吞吐量.
B.提高存儲空間的利用率
c.降低存儲費用
D.提高換入、換出速度

26.D
內存管理是為了提高內存的利用率,引入覆蓋和交換技術,即在較小的內存空間中采用重復使用的方法來節省存儲空間,但它付出的代價是需要消耗更多的處理器時間,因此實際上是一種以時間換空間的技術。為此,從節省處理器時間上來講,換入、換出速度越快,付出的時間代價就越小,反之就越大,當時間代價大到一定程度時,覆蓋和交換技術就沒有了意義。

27.下列關于虛擬存儲器的論述中,正確的是()。
A.作業在運行前,必須全部裝入內存,且在運行過程中也一直駐留內存
B.作業在運行前,不必全部裝入內存,且在運行過程中也不必一直駐留內存
C.作業在運行前,不必全部裝入內存,但在運行過程中必須一直駐留內存
D.作業在運行前,必須全部裝入內存,但在運行過程中不必一直駐留內存

27.B
在非虛擬存儲器中,作業必須全部裝入內存且在運行過程中也一直駐留內存;在虛擬存儲器中,作業不必全部裝入內存且在運行過程中也不用一直駐留內存,這是虛擬存儲器和非虛擬存儲器的主要區別之一。

28.在頁式存儲管理中選擇頁面的大小,需要考慮下列()因素。
I.頁面大的好處是頁表比較少
II.頁面小的好處是可以減少由內碎片引起的內存浪費
III,影響磁盤訪問時間的主要因素通常不是頁面大小,所以使用時優先考慮較大的頁面
A.I和III
B.II和IⅢ
C.I和II
D. I、II和IⅢI

  1. C
    頁面大,用于管理頁面的頁表就少,但是頁內碎片會比較大;頁面小,用于管理頁面的頁表就大,但是頁內碎片小。通過適當的計算可以獲得較佳的頁面大小和較小的系統開銷。

29.某個操作系統對內存的管理采用頁式存儲管理方法,所劃分的頁面大小( ).
A.要根據內存大小確定
B.必須相同
C.要根據CPU的地址結構確定
D.要依據外存和內存的大小確定

29.B
頁式管理中很重要的一個問題是頁面大小如何確定。確定頁面大小有很多因素,如進程的平均大小、頁表占用的長度等。而一旦確定,所有的頁面就是等長的(一般取2的整數冪倍),以便易于系統管理。

30.引入段式存儲管理方式,主要是為了更好地滿足用戶的一系列要求。下面選項中不屬于
這一系列要求的是().
A.方便操作
B.方便編程
c.共享和保護
D.動態鏈接和增長

  1. A
    引入段式存儲管理方式,主要是為了滿足用戶的下列要求:方便編程、分段共享、分段保護、動態鏈接和動態增長。

31.存儲管理的目的是()。
A.方便用戶
B.提高內存利用率
C.方便用戶和提高內存利用率
D.增加內存實際容量

  1. C
    存儲管理的目的有兩個:一個是方便用戶,二是提高內存利用率。

32.對主存儲器的訪問,( )。
A.以塊(即頁)或段為單位
B.以字節或字為單位
C.隨存儲器的管理方案不同而異
D.以用戶的邏輯記錄為單位

32.B
這里是指主存的訪問,不是主存的分配。對主存的訪問是以字節或字為單位的。例如,在頁式管理中,不僅要知道塊號,而且要知道頁內偏移。

33.把作業空間中使用的邏輯地址變為內存中的物理地址稱為().
A.加載
B.重定位
C.物理化
D、邏輯化

33.B
在一般情況下,一個作業在裝入時分配到的內存空間和它的地址空間是不一致的,因此,作業在CPU上運行時,其所要訪問的指令、數據的物理地址和邏輯地址是不同的。顯然,若在作業裝入或執行時,不對有關的地址部分加以相應的修改,則會導致錯誤的結果。這種將作業的邏輯地址變為物理地址的過程稱為地址重定位。

34.以下存儲管理方式中,不適合多道程序設計系統的是()。
A.單用戶連續分配
B.固定式分區分配
C.可變式分區分配
D.分頁式存儲管理方式

34.A
單用戶連續分配管理方式只適用于單用戶、單任務的操作系統,不適用于多道程序設計。

35.在分頁存儲管理中,主存的分配()。
A.以物理塊為單位進行
B.以作業的大小進行
C.以物理段進行
D.以邏輯記錄大小進行

  1. A
    在分頁存儲管理中,邏輯地址分配是按頁為單位進行分配的,而主存的分配即物理地址分配是以內存塊為單位分配的。

36、在段式分配中,CPU每次從內存中取一次數據需要()次訪問內存。
A.1
B.3
C. 2
D.4

36.C
在段式分配中,取一次數據時先從內存查找段表,再拼成物理地址后訪問內存,共需要2次內存訪問。

37、在段頁式分配中,CPU每次從內存中取一次數據需要()次訪問內存。
A.1
B.3
C.2
D.4

37.B
在段頁式分配中,取一次數據時先從內存查找段表,再訪問內存查找相應的頁表,最后拼成物理地址后訪問內存,共需要3次內存訪問。

  1. ()存儲管理方式提供一維地址結構。
    A.分段
    B.分頁行
    c.分段和段頁式
    D.以上答案都不正確

38.B
分頁存儲管理中,作業地址空間是一維的,即單一的線性地址空間,程序員只需要一個記憶符來表示地址。在分段存儲分配管理中,段之間是獨立的,而且段長不定長,而頁長是固定的,因此作業地址空間是二維的,程序員在標識一個地址時,既需給出段名,又需給出段內地址。簡言之,確定一個地址需要幾個參數,作業地址空間就是幾維的。

39.操作系統采用分頁存儲管理方式,要求()。
A.每個進程擁有一張頁表,且進程的頁表駐留在內存中
B.每個進程擁有一張頁表,但只有執行進程的頁表駐留在內存中
C.所有進程共享一張頁表,以節約有限的內存空間,但頁表必須駐留在內存中
D.所有進程共享一張頁表,只有頁表中當前使用的頁面必須駐留在內存中,以最大限
度地節省有限的內存空間

  1. A
    在多個進程并發執行時,所有進程的頁表大多數駐留在內存中,在系統中只設置一個頁表寄存器(PTR),它存放頁表在內存中的始址和長度。平時,進程未執行時,頁表的始址和頁表長度存放在本進程的PCB中,當調度到某進程時,才將這兩個數據裝入頁表寄存器中。每個進程都有一個單獨的邏輯地址,有一張屬于自己的頁表。

40.在分段存儲管理方式中,( ).
A.以段為單位,每段是一個連續存儲區
B.段與段之間必定不連續
C.段與段之間必定連續
D.每段是等長的

  1. A
    在分段存儲管理方式中,以段為單位進行分配,每段是一個連續存儲區,每段不一定等長,段與段之間可連續,也可不連續。

41.段頁式存儲管理汲取了頁式管理和段式管理的長處,其實現原理結合了頁式和段式管理
的基本思想,即().
A.用分段方法來分配和管理物理存儲空間,用分頁方法來管理用戶地址空間
B.用分段方法來分配和管理用戶地址空間,用分頁方法來管理物理存儲空間
C.用分段方法來分配和管理主存空間,用分頁方法來管理輔存空間
D.用分段方法來分配和管理輔存空間,用分頁方法來管理主存空間

41.B
段頁式存儲管理兼有頁式管理和段式管理的優點,采用分段方法來分配和管理用戶地址空間,采用分頁方法來管理物理存儲空間。但它的開銷要比段式和頁式管理的開銷大。

42.以下存儲管理方式中,會產生內部碎片的是()。
I。分段虛擬存儲管理
II.分頁虛擬存儲管理
I1I.段頁式分區管理
IV.固定式分區管理
A. I、II、III
B.III、IV
C.僅ⅡI
D. II、III、IV

42.D
只要是固定的分配就會產生內部碎片,其余的都會產生外部碎片。若固定和不固定同時存在(例如段頁式),則仍視為固定。分段虛擬存儲管理:每段的長度都不一樣(對應不固定),所以會產生外部碎片。分頁虛擬存儲管理:每頁的長度都一樣(對應固定),所以會產生內部碎片。段頁式分區管理:既有固定,又有不固定,以固定為主,所以會有內部碎片。固定式分區管理:很明顯固定,會產生內部碎片。綜上分析,II、III、IV選項會產生內部碎片。

43.下列關于頁式存儲的論述中,正確的是().
I、在頁式存儲管理中,若關閉 TLB,則每當訪問一條指令或存取一個操作數時都要訪問2次內存
II.頁式存儲管理不會產生內部碎片
III.頁式存儲管理中的頁面是為用戶所感知的IV.頁式存儲方式可以采用靜態重定位
A. I、II、IV
B. I、IV
C.僅I
D.全都正確

43.C
Ⅰ正確:關閉TLB后,每當訪問一條指令或存取一個操作數時都要先訪問頁表(內存中),得到物理地址后,再訪問一次內存進行相應操作。I錯誤:記住,凡是分區固定的都會產生內部碎片,而無外部碎片。IⅢI錯誤:頁式存儲管理對于用戶是透明的。Ⅳ錯誤:靜態重定位是在程序運行之前由裝配程序完成的,必須分配其要求的全部連續內存空間。而頁式存儲管理方案是將程序離散地分成若干頁(塊),從而可以將程序裝入不連續的內存空間,顯然靜態重定位不能滿足其要求。

  1. 【2009統考真題】分區分配內存管理方式的主要保護措施是( ).
    A.界地址保護
    B.程序代碼保護
    C.數據保護
    D.棧保護

44.A
每個進程都擁有自己獨立的進程空間,若一個進程在運行時所產生的地址在其地址空間之外,則發生地址越界,因此需要進行界地址保護,即當程序要訪問某個內存單元時,由硬件檢查是否允許,若允許則執行,否則產生地址越界中斷。

45.【2009統考真題】一個分段存儲管理系統中,地址長度為32位,其中段號占8位,則最大段長是()。

45.C
分段存儲管理的邏輯地址分為段號和位移量兩部分,段內位移的最大值就是最大段長。地址長度為32位,段號占8位,因此位移量占32-8=24位,因此最大段長為22B。

46.【2010統考真題】某基于動態分區存儲管理的計算機,其主存容量為55MB(初始為空),
采用最佳適配(Best Fit)算法,分配和釋放的順序為:分配15MB,分配30MB,釋放15MB,分配8MB,分配 6MB,此時主存中最大空閑分區的大小是().
A.7MB
B. 9MB
C. 10MB
D.15MB

46.B
最佳適配算法是指每次為作業分配內存空間時,總是找到能滿足空間大小需要的最小空閑分區給作業,可以產生最小的內存空閑分區。下圖顯示了這個過程的主存空間變化。

圖中,灰色部分為分配出去的空間,白色部分為空閑區。這樣,容易發現,此時主存中最大空閑分區的大小為9MB。

47.【2010統考真題】某計算機采用二級頁表的分頁存儲管理方式,按字節編址,頁大小為
210B,頁表項大小為2B,邏輯地址結構為

邏輯地址空間大小為2’頁,則表示整個邏輯地址空間的頁目錄表中包含表項的個數至少是().
A. 64
B.128
c.256
D.512

47.B
頁大小為2B,頁表項大小為2B,因此一頁可以存放29個頁表項,邏輯地址空間大小為216頁,即共需21個頁表項,因此需要2’k612’=27= 128個頁面保存頁表項,即頁目錄表中包含表項的個數至少是128。

48.【2011統考真題】在虛擬內存管理中,地址變換機構將邏輯地址變換為物理地址,形成
該邏輯地址的階段是()。
A.編輯
B.編譯
C.鏈接
D.裝載

  1. C
    編譯后的程序需要經過鏈接才能裝載,而鏈接后形成的目標程序中的地址也就是邏輯地址。以C語言為例:C程序經過預處理→編譯→匯編→鏈接產生了可執行文件,其中鏈接的前一步是產生可重定位的二進制目標文件.C語言采用源文件獨立編譯的方法,如程序main.c, file1.c, file2.c,file1.h, file2.h在鏈接的前一步生成了main.o, file1.o, file2.o,這些目標模塊的邏輯地址都從0開始,但只是相對于該模塊的邏輯地址。鏈接器將這三個文件、libc和其庫文件鏈接成一個可執行文件,從而形成整個程序的完整邏輯地址空間。
    例如,file1.o的邏輯地址為0~1023,main.o 的邏輯地址為01023,假設鏈接時將file1.o鏈接在main.o之后,則鏈接之后file1.o對應的邏輯地址應為1024~2047。

49.【2014統考真題】現有一個容量為10GB的磁盤分區,磁盤空間以簇為單位進行分配,
簇的大小為4KB,若采用位圖法管理該分區的空閑空間,即用一位標識一個簇是否被分配,則存放該位圖所需的簇為()個。
A. 80
B.320
C. 80K
D. 320K

  1. A
    簇的總數為10GB/4KB=2.5M,用一位標識一簇是否被分配,整個磁盤共需要2.5Mb,即需要2.5M/8 = 320KB,因此共需要320KB/4KB=80簇,選A。

50.【2014統考真題】下列選項中,屬于多級頁表優點的是().
A.加快地址變換速度
B.減少缺頁中斷次數
C.減少頁表項所占字節數
D.減少頁表所占的連續內存空間

50.D
多級頁表不僅不會加快地址的變換速度,還會因為增加更多的查表過程,使地址變換速度減慢;也不會減少缺頁中斷的次數,反而如果訪問過程中多級的頁表都不在內存中,會大大增加缺頁的次數,并不會減少頁表項所占的字節數,而多級頁表能夠減少頁表所占的連續內存空間,即當頁表太大時,將頁表再分級,把每張頁表控制在一頁之內,減少頁表所占的連續內存空間,因此選D。

51.【2016統考真題】某進程的段表內容如下所示。

51.D
分段系統的邏輯地址A到物理地址E之間的地址變換過程如下:

從邏輯地址A中取出前幾位為段號S,后幾位為段內偏移量w,注意段式存儲管理的題目中,邏輯地址一般以二進制數給出,而在頁式存儲管理中,邏輯地址一般以十進制數給出,讀者要具體問題具體分析。
比較段號S和段表長度M,若S≥M,則產生越界異常,否則繼續執行。段表中段號S對應的段表項地址=段表始址F+段號Sx段表項長度M,取出該段表項
的前幾位得到段長C。若段內偏移量≥C,則產生越界異常,否則繼續執行。從這句話可以看出,段表項實際上只有兩部分,前幾位是段長,后幾位是始址。
④取出段表項中該段的基址b,計算E=b+W,用得到的物理地址E去訪問內存。題目中段號為2的段長為300,小于段內地址400,因此發生越界異常,D正確。

52.B
回收始址為60K、大小為140KB 的分區時,它與表中第一個分區和第四個分區合并,成為始址為20K、大小為380KB的分區,剩余3個空閑分區。在回收內存后,算法會對空閑分區鏈按分區大小由小到大進行排序,表中的第二個分區排第一,所以選擇B。

53.【2019統考真題】在分段存儲管理系統中,用共享段表描述所有被共享的段。若進程P
和P2共享段S,則下列敘述中,錯誤的是().
A.在物理內存中僅保存一份段S的內容
B.段S在P和P2中應該具有相同的段號
C. P和Pz共享段S在共享段表中的段表項
D.Pr和Pz都不再使用段S時才回收段S所占的內存空間

53.B
段的共享是通過兩個作業的段表中相應表項指向被共享的段的同一個物理副本來實現的,因此在內存中僅保存一份段S的內容,A正確。段S對于進程P,,P來說,使用位置可能不同,所以在不同進程中的邏輯段號可能不同,B錯誤。段表項存放的是段的物理地址(包括段始址和段長度),對于共享段S來說物理地址唯一,C正確。為了保證進程可以順利使用段S,段S必須確保在沒有任何進程使用它(可在段表項中設置共享進程計數)后才能被刪除,D正確。.

54.【2019統考真題】某計算機主存按字節編址,采用二級分頁存儲管理,地址結構如下:

  1. A
    題中給出的是十六進制地址,首先將它轉化為二進制地址,然后用二進制地址去匹配題中對應的地址結構。轉換為二進制地址和地址結構的對應關系如下圖所示。

前10位、1120位、2132位分別對應頁目錄號、頁號和頁內偏移。把頁目錄號、頁號單獨拿出,轉換為十六進制時缺少的位數在高位補零,0000 1000 0001,0001 0000 0001分別對應081H,101H,選項A正確。

55.【2019統考真題】在下列動態分區分配算法中,最容易產生內存碎片
A.首次適應算法
B.最壞適應算法
c.最佳適應算法
D.循環首次適應算法的家克

55.C
最佳適應算法總是匹配與當前大小要求最接近的空閑分區,但是大多數情況下空閑分區的大小不可能完全和當前要求的大小相等,幾乎每次分配內存都會產生很小的難以利用的內存塊,所以最佳適應算法最容易產生最多的內存碎片,C正確。

56.【2021統考真題】在采用二級頁表的分頁系統中,CPU頁表基址寄存器中的內容是()
A.當前進程的一級頁表的起始虛擬地址
B.當前進程的一級頁表的起始物理地址
C.當前進程的二級頁表的起始虛擬地址
D.當前進程的二級頁表的起始物理地址

56.B
在多級頁表中,頁表基址寄存器存放的是頂級頁表的起始物理地址,故存放的是一級頁表的起始物理地址。

3.2.10本節習題精選
一、單項選擇題
01.請求分頁存儲管理中,若把頁面尺寸增大一倍而且可容納的最大頁數不變,則在程序順
序執行時缺頁中斷次數會().
A.增加
B.減少次號
C.不變
D.可能增加也可能減少

01.B
對于順序執行程序,缺頁中斷的次數等于其訪問的頁幀數。由于頁面尺寸增大,存放程序需要的頁幀數就會減少,因此缺頁中斷的次數也會減少。

02.進程在執行中發生了缺頁中斷,經操作系統處理后,應讓其執行()指令。.
A.被中斷的前一條
B.被中斷的那一條
C.被中斷的后一條
D.啟動時的第一條

02.B
缺頁中斷是訪存指令引起的,說明所要訪問的頁面不在內存中,進行缺頁中斷處理并調入所要訪問的頁后,訪存指令顯然應該重新執行。

03.虛擬存儲技術是()。
A.補充內存物理空間的技術
B.補充內存邏輯空間的技術
c.補充外存空間的技術
D.擴充輸入/輸出緩沖區的技術

03.B
虛擬存儲技術并未實際擴充內存、外存,而是采用相關技術相對地擴充主存。

04.以下不屬于虛擬內存特征的是().
A.一次性﹒
B.多次性
C.對換性
D.離散性

04.A
多次性、對換性和離散性是虛擬內存的特征,一次性則是傳統存儲系統的特征。

05.為使虛存系統有效地發揮其預期的作用,所運行的程序應具有的特性是().
A.該程序不應含有過多的O操作
B.該程序的大小不應超過實際的內存容量
C.該程序應具有較好的局部性
D.該程序的指令相關性不應過多

05.C
虛擬存儲技術基于程序的局部性原理。局部性越好,虛擬存儲系統越能更好地發揮作用。

06.()是請求分頁存儲管理方式和基本分頁存儲管理方式的區別。
A.地址重定向
B.不必將作業全部裝入內存
c.采用快表技術
D.不必將作業裝入連續區域

06.B
請求分頁存儲管理方式和基本分頁存儲管理方式的區別是,前者采用虛擬技術,因此開始運行時,不必將作業全部一次性裝入內存,而后者不是。

07.下面關于請求頁式系統的頁面調度算法中,說法錯誤的是().
A.一個好的頁面調度算法應減少和避免抖動現象
B. FIFO算法實現簡單,選擇最先進入主存儲器的頁面調出
C. LRU算法基于局部性原理,首先調出最近一段時間內最長時間未被訪問過的頁面
D. CLOCK算法首先調出一段時間內被訪問次數多的頁面

  1. D
    CLOCK算法選擇將最近未使用的頁面置換出去,因此又稱NRU算法。

08.考慮頁面置換算法,系統有m個物理塊供調度,初始時全空,頁面引用串長度為p,包含了n個不同的頁號,無論用什么算法,缺頁次數不會少于()
A. m
B. p
C. n
D. min(m, n)

08.C
無論采用什么頁面置換算法,每種頁面第一次訪問時不可能在內存中,必然發生缺頁,所以缺頁次數大于或等于n。

09、在請求分頁存儲管理中,若采用FIFO頁面淘汰算法,則當可供分配的頁幀數增加時,
缺頁中斷的次數( )。
A.減少
B.增加
C.無影響
D.可能增加也可能減少

09.D
請求分頁存儲管理中,若采用FIFO頁面淘汰算法,可能會產生當駐留集增大時頁故障數不減反增的Belady異常。然而,還有另外一種情況。例如,頁面序列為1,2,3,1,2,3,當頁幀數為2時產生6次缺頁中斷,當頁幀數為3時產生3次缺頁中斷。所以在請求分頁存儲管理中,若采用 FIFO頁面淘汰算法,則當可供分配的頁幀數增加時,缺頁中斷的次數可能增加,也可能減少。

10.設主存容量為1MB,外存容量為400MB,計算機系統的地址寄存器有32位,那么虛擬
存儲器的最大容量是().
A.1MB
B.401MB
C.1MB+232MB
D.232B

10.D
虛擬存儲器的最大容量是由計算機的地址結構決定的,與主存容量和外存容量沒有必然的聯系,其虛擬地址空間為232B。

11.虛擬存儲器的最大容量( )。
A.為內外存容量之和
B.由計算機的地址結構決定
C.是任意的
D.由作業的地址空間決定

11.B
雖然從實際使用來說,虛擬存儲器能使得進程的可用內存擴大到內外存容量之和,但進程的內存尋址仍由計算機的地址結構決定,這就決定了虛擬存儲器理論上的最大容量。比如,64位系統環境下,虛擬內存技術使得進程可用內存空間達24B,但外存顯然是達不到這個大小的。

12.某虛擬存儲器系統采用頁式內存管理,使用LRU頁面替換算法,考慮頁面訪問地址序
列18178272183821317137。假定內存容量為4個頁面,開始時是空的,則頁面失效次數是().
A.4
B. 5
C.6
D.7

13.導致LRU算法實現起來耗費高的原因是(-)。
A.需要硬件的特殊支持
B.需要特殊的中斷處理程序
C.需要在頁表中標明特殊的頁類型
D.需要對所有的頁進行排序

13.D
LRU算法需要對所有頁最近一次被訪問的時間進行記錄,查找時間最久的進行替換,這涉及排序,對置換算法而言,開銷太大。為此需要在頁表項中增加LRU位,選項A可視為“耗費高”這一結果,選項D才是造成選項A的原因。

14.在虛擬存儲器系統的頁表項中,決定是否會發生頁故障的是()
A.合法位
B.修改位
C.頁類型
D、保護碼

14.A
頁表項中的合法位信息顯示本頁面是否在內存中,即決定了是否會發生頁面故障。

15.在頁面置換策略中,()策略可能引起抖動。
A.FIFO
B.LRU
C.沒有一種
D、所有

15.D
抖動是進程的頁面置換過程中,頻繁的頁面調度(缺頁中斷〉行為,所有的頁面調度策略都不可能完全避免抖動。

16.虛擬存儲管理系統的基礎是程序的()理論。
A.動態性
B.虛擬性
C.局部性
D、全局性

  1. c
    基于局部性原理:在程序裝入時,不必將其全部讀入內存,而只需將當前需要執行的部分頁或段讀入內存,就可讓程序開始執行。在程序執行過程中,若需執行的指令或訪問的數據尚未在內存(稱為缺頁或缺段)中,則由處理器通知操作系統將相應的頁或段調入內存,然后繼續執行程序。由于程序具有局部性,虛擬存儲管理在擴充邏輯地址空間的同時,對程序執行時內存調換的代價很小。

17.請求分頁存儲管理的主要特點是()
A.消除了頁內零頭
B.擴充了內存
C.便于動態鏈接
D.便于信息共享

17.B
請求分頁存儲管理就是為了解決內存容量不足而使用的方法,它基于局部性原理實現了以時間換取空間的目的。它的主要特點自然是間接擴充了內存。

18.在請求分頁存儲管理的頁表中增加了若干項信息,其中修改位和訪問位供()參考。
A.分配頁面
B.調入頁面
c.置換算法
D.程序訪問

  1. C
    當需要置換頁面時,置換算法根據修改位和訪問位選擇調出內存的頁面。

19.產生內存抖動的主要原因是()。
A.內存空間太小
B. CPU運行速度太慢
c. CPU調度算法不合理
D.頁面置換算法不合理

19.D
內存抖動是指頻繁地引起主存頁面淘汰后又立即調入,調入后又很快淘汰的現象。這是由頁面置換算法不合理引起的一種現象,是頁面置換算法應當盡量避免的。

20.在頁面置換算法中,存在 Belady現象的算法是()。
A.最佳頁面置換算法( OPT)
B.先進先出置換算法(FIFO)
C.最近最久未使用算法(LRU)
D.最近未使用算法(NRU)

20.B
FIFO是隊列類算法,有Belady現象;選項C、D均為堆棧類算法,理論上可以證明不會出現Belady現象。

21.頁式虛擬存儲管理的主要特點是().
A.不要求將作業裝入主存的連續區域
B.不要求將作業同時全部裝入主存的連續區域
C.不要求進行缺頁中斷處理
D.不要求進行頁面置換

21.B
頁式虛擬存儲管理的主要特點是,不要求將作業同時全部裝入主存的連續區域,一般只裝入10%30%。不要求將作業裝入主存連續區域是所有離散式存儲管理(包括頁式存儲管理)的特點;頁式虛擬存儲管理需要進行缺頁中斷處理和頁面置換。

22.提供虛擬存儲技術的存儲管理方法有()。
A.動態分區存儲管理
B.頁式存儲管理
c.請求段式存儲管理
D.存儲覆蓋技術

22.C
虛擬存儲技術是基于頁或段從內存的調入/調出實現的,需要有請求機制的支持。

23.在計算機系統中,快表用于()。
A.存儲文件信息
B.與主存交換信息
C.地址變換
D.存儲通道程序

  1. C
    計算機系統中,為了提高系統的存取速度,在地址映射機制中增加一個小容量的硬件部件一一快表(又稱相聯存儲器),用來存放當前訪問最頻繁的少數活動頁面的頁號。快表查找內存塊的物理地址消耗的時間大大降低,使得系統效率得到很大提高。

24.在虛擬分頁存儲管理系統中,若進程訪問的頁面不在主存中,且主存中沒有可用的空閑
幀時,系統正確的處理順序為()。
A.決定淘汰頁→頁面調出→缺頁中斷→頁面調入
B.決定淘汰頁→頁面調入→缺頁中斷→頁面調出
C.缺頁中斷→決定淘汰頁→頁面調出→頁面調入
D.缺頁中斷→決定淘汰頁→頁面調入→頁面調出

24.C
根據缺頁中斷的處理流程,產生缺頁中斷后,首先去內存尋找空閑物理塊,若內存沒有空閑物理塊,則使用頁面置換算法決定淘汰頁面,然后調出該淘汰頁面,最后再調入該進程欲訪問的頁面。整個流程可歸納為缺頁中斷→決定淘汰頁→頁面調出→頁面調入。

25.已知系統為32位實地址,采用48位虛擬地址,頁面大小為4KB,頁表項大小為8B。
假設系統使用純頁式存儲,則要采用()級頁表,頁內偏移()位。
A.3,12
B.3,14
C.4,12
D.4,14

  1. C
    頁面大小為4KB,因此頁內偏移為12位。系統采用48位虛擬地址,因此虛頁號48-12= 36位。采用多級頁表時,最高級頁表項不能超出一頁大小;每頁能容納的頁表項數為4KB/8B= 512=29,36/9=4,因此應采用4級頁表,最高級頁表項正好占據一頁空間,所以本題選擇選項C.

26.下列說法中,正確的是()。
I先進先出( FIFO)頁面置換算法會產生Belady 現象
II.最近最少使用(LRU)頁面置換算法會產生Belady現象
IⅢ、在進程運行時,若其工作集頁面都在虛擬存儲器內,則能夠使該進程有效地運行,否則會出現頻繁的頁面調入/調出現象
IⅣV.在進程運行時,若其工作集頁面都在主存儲器內,則能夠使該進程有效地運行,否
則會出現頻繁的頁面調入/調出現象
A. I、III
B.I、IV
C.II、III
D.II、IV

26.B
FIFO算法可能產生 Belady現象,例如頁面走向為1,2,3,4,1,2,5,1,2,3,4,5時,當分配3幀時產生9次缺頁中斷,分配4幀時產生10次缺頁中斷,I正確。最近最少使用法不會產生Belady現象,II錯誤。若頁面在內存中,則不會產生缺頁中斷,即不會出現頁面的調入/調出,而不是虛擬存儲器(包括作為虛擬內存那部分硬盤),故IⅢI錯誤、IV正確。

27.測得某個采用按需調頁策略的計算機系統的部分狀態數據為:CPU利用率為20%,用于
交換空間的磁盤利用率為97.7%,其他設備的利用率為5%。由此判斷系統出現異常,這種情況下()能提高系統性能。
A.安裝一個更快的硬盤
B.通過擴大硬盤容量增加交換空間
C.增加運行進程數
D.加內存條來增加物理空間容量

27.D
用于交換空間的磁盤利用率已達97.7%,其他設備的利用率為5%,CPU的利用率為20%,說明在任務作業不多的情況下交換操作非常頻繁,因此判斷物理內存嚴重短缺。

28.假定有一個請求分頁存儲管理系統,測得系統各相關設備的利用率為:CPU的利用率為
10%,磁盤交換區的利用率為99.7%,其他IO設備的利用率為5%。下面()措施將可能改進CPU的利用率。
I、增大內存的容量
I.增大磁盤交換區的容量
III.減少多道程序的度數
IV.增加多道程序的度數
V.使用更快速的磁盤交換區
VI.使用更快速的CPU
A. I、II、II、IV
B. I、III
C. II、III、V
D. II、VI

28.B
Ⅰ正確:增大內存的容量。增大內存可使每個程序得到更多的頁框,能減少缺頁率,進而減少換入/換出過程,可提高CPU 的利用率。I錯誤:增大磁盤交換區的容量。因為系統實際已處于頻繁的換入/換出過程中,不是因為磁盤交換區容量不夠,因此增大磁盤交換區的容量無用。III正確:減少多道程序的度數。可以提高CPU的利用率,因為從給定的條件知道磁盤交換區的利用率為99.7%,說明系統現在已經處于頻繁的換入/換出過程中,可減少主存中的程序。IV錯誤:增加多道程序的度數。系統處于頻繁的換入/換出過程中,再增加主存中的用戶進程數,只能導致系統的換入/換出更頻繁,使性能更差。V錯誤:使用更快速的磁盤交換區。因為系統現在處于頻繁的換入/換出過程中,即使采用更快的磁盤交換區,其換入/換出頻率也不會改變,因此沒用。VI錯誤:使用更快速的CPU。系統處于頻繁的換入/換出過程中,CPU處于空閑狀態,利用率不高,提高CPU的速度無濟于事。綜上分析:I、III可以改進CPU的利用率。

29.【2011統考真題】在缺頁處理過程中,操作系統執行的操作可能是()。
I。修改頁表
II.磁盤UO
I1I.分配頁框
A.僅I、II
B.僅II
C.僅IⅢI
D. I、II和II

29.D
缺頁中斷調入新頁面,肯定要修改頁表項和分配頁框,所以I、IⅢI可能發生,同時內存沒有頁面,需要從外存讀入,會發生磁盤I/O。

  1. 【2011統考真題】當系統發生抖動時,可以采取的有效措施是()。
    I.撤銷部分進程
    II.增加磁盤交換區的容量
    II.提高用戶進程的優先級
    A.僅I
    B.僅IⅡI
    C.僅IⅢI
    D.僅I、II

  2. A
    在具有對換功能的操作系統中,通常把外存分為文件區和對換區。前者用于存放文件,后者用于存放從內存換出的進程。抖動現象是指剛剛被換出的頁很快又要被訪問,為此又要換出其他頁,而該頁又很快被訪問,如此頻繁地置換頁面,以致大部分時間都花在頁面置換上,導致系統性能下降。撤銷部分進程可以減少所要用到的頁面數,防止抖動。對換區大小和進程優先級都與抖動無關。

31.【2012統考真題】下列關于虛擬存儲器的敘述中,正確的是().
A.虛擬存儲只能基于連續分配技術
B.虛擬存儲只能基于非連續分配技術
C.虛擬存儲容量只受外存容量的限制
D.虛擬存儲容量只受內存容量的限制

31.B
采用連續分配方式時,會使相當一部分內存空間都處于暫時或“永久”的空閑狀態,造成內存資源的嚴重浪費,也無法從邏輯上擴大內存容量,因此虛擬內存的實現只能建立在離散分配的內存管理的基礎上。有以下三種實現方式:請求分頁;請求分段;請求段頁式。虛存的實際容量受外存和內存容量之和限制,虛存的最大容量是由計算機的地址位數決定的。

32.【2013統考真題】若用戶進程訪問內存時產生缺頁,則下列選項中,操作系統可能執行
的操作是()。
I、處理越界錯
II.置換頁
III.分配內存
A.僅I、II
B.僅II、III
C.僅I、III
D. I、II和IⅢ

32.B
用戶進程訪問內存時缺頁,會發生缺頁中斷。發生缺頁中斷時,系統執行的操作可能是置換頁面或分配內存。系統內沒有越界錯誤,不會進行越界出錯處理。

  1. 【2014統考真題】下列措施中,能加快虛實地址轉換的是().
    I.增大快表( TLB)容量
    II.讓頁表常駐內存
    II.增大交換區( swap )
    A.僅I
    B.僅II
    C.僅I、II
    D.僅II、III

33.C
虛實地址轉換是指邏輯地址和物理地址的轉換。增大快表容量能把更多的表項裝入快表,會加快虛實地址轉換的平均速率;讓頁表常駐內存可以省去一些不在內存中的頁表從磁盤上調入的過程,也能加快虛實地址轉換;增大交換區對虛實地址轉換速度無影響,因此I、I正確,選擇選項C。

34.【2014統考真題】在頁式虛擬存儲管理系統中,采用某些頁面置換算法會出現Belady異常現象,即進程的缺頁次數會隨著分配給該進程的頁框個數的增加而增加。下列算法中,可能出現Belady異常現象的是().
I LRU算法
I.FIFO算法
III. OPT算法
A.僅II
B.僅I、II
C僅I、III
D、僅ⅡI、III

34.A
只有FIFO算法會導致 Belady異常,選擇選項A。

35.【2016統考真題】某系統采用改進型CLOCK置換算法,頁表項中字段A為訪問位,M
為修改位。A=0表示頁最近沒有被訪問,A=1表示頁最近被訪問過。M手0表示頁未被修改過,M=1表示頁被修改過。按(A,M)所有可能的取值,將頁分為(O,0), (1,0),(0,1)和(1,1)四類,則該算法淘汰頁的次序為()。
A. (0,0),(0,1), (1,0), (1,1)
B.(0,0), (1,0), (O,1), (1,1)
c. (0,0),(O,1), (1,1), (1,0)
D. (0,0), (1,1), (0,1), (1,0)

  1. A
    改進型CLOCK置換算法執行的步驟如下:
    1)從指針的當前位置開始,掃描幀緩沖區。在這次掃描過程中,對使用位不做任何修改。選擇遇到的第一個幀(A=0, M=0)用于替換。
    2)若第1))步失敗,則重新掃描,查找(A=0, M = 1)的幀。選擇遇到的第一個這樣的幀用于替換。在這個掃描過程中,對每個跳過的幀,將其使用位設置成0。
    3)若第2)步失敗,則指針將回到它的最初位置,并且集合中所有幀的使用位均為0。重復第1)步,并在有必要時重復第2)步,這樣將可以找到供替換的幀。
    因此,該算法淘汰頁的次序為(0,0), (0,1), (1, 0), (1,1),即選項A正確。

36.【2015統考真題】在請求分頁系統中,頁面分配策略與頁面置換策略不能組合使用的是
().
A.可變分配,全局置換
B.可變分配,局部置換
C.固定分配,全局置換
D.固定分配,局部置換

  1. C
    對各進程進行固定分配時頁面數不變,不可能出現全局置換。而選項A、B、D是現代操作系統中常見的3種策略。

37.【2015統考真題】系統為某進程分配了4個頁框,該進程已訪問的頁號序列為2,0,2,9,3,
4,2,8,2,4,8,4,5。若進程要訪問的下一頁的頁號為7,依據LRU算法,應淘汰頁的頁號是()。
A.2
B.3
c.4
D.8

37.A
可以采用書中常規的解法思路,也可以采用便捷法。對頁號序列從后往前計數,直到數到4(頁框數)個不同的數字為止,這個停止的數字就是要淘汰的頁號(最近最久未使用的頁),題中為頁號2。

  1. 【2016統考真題】某進程訪問頁面的序列如下所示。

若工作集的窗口大小為6,則在t時刻的工作集為()
A.{6,0,3,2}
B.{2,3,0,4}
C. {0,4,3,2,9}
D.{4,5,6,0,3,23

  1. A
    在任意時刻t,都存在一個集合,它包含所有最近k次(該題窗口大小為6)內存訪問所訪問過的頁面。這個集合w(k, t)就是工作集。題中最近6次訪問的頁面分別為6,0,3,2,3,2,去除重復的頁面,形成的工作集為{6,0,3,2}。

39.【2019統考真題】某系統采用LRU頁置換算法和局部置換策略,若系統為進程Р預分配
了4個頁框,進程Р訪問頁號的序列為0,1,2,7,0,5,3,5,0,2,7,6,則進程訪問上述頁的過程中,產生頁置換的總次數是()。
A.3
B.4
C. 5
D. 6

  1. C
    最近最久未使用(LRU)算法每次執行頁面置換時會換出最近最久未使用過的頁面。第一次訪問5頁面時,會把最久未被使用的1頁面換出,第一次訪問3頁面時,會把最久未訪問的2頁面換出。具體的頁面置換情況如下圖所示。

40.【2020統考真題】下列因素中,影響請求分頁系統有效(平均)訪存時間的是()
I.缺頁率
II.磁盤讀寫時間
III.內存訪問時間
IV.執行缺頁處理程序的CPU 時間
A.僅II、IIIB.僅I、IV
C.僅I、III、IVD. I、II、III和IV

40.D
Ⅰ影響缺頁中斷的頻率,缺頁率越高,平均訪存時間越長;II和TⅣ影響缺頁中斷的處理時間,中斷處理時間越長,平均訪存時間越長;III影響訪問頁表和訪問目標物理地址的時間,故I、IT、ⅡI和IV均正確。

41.【2021統考真題】某請求分頁存儲系統的頁大小為4KB,按字節編址。系統給進程Р分
配2個固定的頁框,并采用改進型Clock置換算法,進程Р頁表的部分內容見下表。

41.c
頁面大小為4KB,低12位是頁內偏移。虛擬地址為02A01H,頁號為02H,02H頁對應的頁表項中存在位為0,進程Р分配的頁框固定為2,且內存中已有兩個頁面存在。根據Clock算法,選擇將3號頁換出,將2號頁放入60H頁框,經過地址變換后得到的物理地址是60A01H。

  1. 【2021統考真題】下列選項中,通過系統調用完成的操作是().
    A.頁置換
    B.進程調度
    C.創建新進程
    D.生成隨機整數

42.C
系統調用是由用戶進程發起的,請求操作系統的服務。對于選項A,當內存中的空閑頁框不夠時,操作系統會將某些頁面調出,并將要訪問的頁面調入,這個過程完全由操作系統完成,不涉及系統調用。對于選項B,進程調度完全由操作系統完成,無法通過系統調用完成。對于選項C,創建新進程可以通過系統調用來完成,如Linux中通過fork系統調用來創建子進程。對于選項D,生成隨機數只需要普通的函數調用,不涉及請求操作系統的服務,如C語言中random()函數。

43.【2022統考真題】某進程訪問的頁b不在內存中,導致產生缺頁異常,該缺頁異常處理
過程中不一定包含的操作是()。
A.淘汰內存中的頁
B.建立頁號與頁框號的對應關系
C.將頁b從外存讀入內存
D.修改頁表中頁b對應的存在位

43.A
缺頁異常需要從磁盤調頁到內存中,將新調入的頁與頁框建立對應關系,并修改該頁的存在位,選項B、C、D正確;如果內存中有空閑頁框,就不需要淘汰其他頁,選項A錯誤。

  1. 【2022統考真題】下列選項中,不會影響系統缺頁率的是()。
    A.頁置換算法
    B.工作集的大小
    C.進程的數量
    D.頁緩沖隊列的長度

44.D
頁置換算法會影響缺頁率,例如,LRU算法的缺頁率通常要比FIFO算法的缺頁率低,排除選項A。工作集的大小決定了分配給進程的物理塊數,分配給進程的物理塊數越多,缺頁率就越低,排除選項B。進程的數量越多,對內存資源的競爭越激烈,每個進程被分配的物理塊數越少,缺頁率也就越高,排除選項C。頁緩沖隊列是將被淘汰的頁面緩存下來,暫時不寫回磁盤,隊列長度會影響頁面置換的速度,但不會影響缺頁率,答案選擇選項D。

4.1.8 本節習題精選
一、單項選擇題

  1. UNIX操作系統中,輸入/輸出設備視為().
    A.普通文件
    B.目錄文件
    C.索引文件
    D.特殊文件

01.D
UNIX操作系統中,所有設備都被視為特殊的文件,因為UNIX操作系統控制和訪問外部設備的方式和訪問一個文件的方式是相同的。

02.文件系統在創建一個文件時,為它建立一個().
A.文件目錄項
B.目錄文件
C.邏輯結構
D.邏輯空間

  1. A
    一個文件對應一個FCB,而一個文件目錄項就是一個FCB。

03.打開文件操作的主要工作是()。
A.把指定文件的目錄項復制到內存指定的區域
B.把指定文件復制到內存指定的區域
C.在指定文件所在的存儲介質上找到指定文件的目錄項
D.在內存尋找指定的文件

  1. A
    打開文件操作是將該文件的FCB存入內存的活躍文件目錄表,而不是將文件內容復制到主存,找到指定文件目錄是打開文件之前的操作。

04.目錄文件存放的信息是().
A.某一文件存放的數據信息
B.某一文件的文件目錄
C.該目錄中所有數據文件目錄
D.該目錄中所有子目錄文件和數據文件的目錄

04.D
目錄文件是FCB的集合,一個目錄中既可能有子目錄,又可能有數據文件,因此目錄文件中存放的是子目錄和數據文件的信息。

  1. FAT32的文件目錄項不包括( ).
    A.文件名
    B.文件訪問權限說明
    c.文件控制塊的物理位置
    D.文件所在的物理位置

  2. c
    文件目錄項即FCB,通常由文件基本信息、存取控制信息和使用信息組成。基本信息包括文件物理位置。文件目錄項顯然不包括FCB的物理位置信息。

06.有些操作系統中將文件描述信息從目錄項中分離出來,這樣做的好處是().
A.減少讀文件時的IO信息量
B.減少寫文件時的IO信息量
C.減少查找文件時的IO信息量
D.減少復制文件時的IO信息量

06.C
將文件描述信息從目錄項中分離,即應用了索引結點的方法,磁盤的盤塊中可以存放更多的目錄項,查找文件時可以大大減少其I/O信息量。

07.操作系統為保證未經文件擁有者授權,任何其他用戶不能使用該文件,所提供的解決方
法是()。
A.文件保護
B、文件保密
c.文件轉儲
D.文件共享

  1. A
    文件保護是針對文件訪問權限的保護。

08.在文件系統中,以下不屬于文件保護的方法是()。
A.口令
B.存取控制
c.用戶權限表
D.讀寫之后使用關閉命令

  1. D
    在文件系統中,口令、存取控制和用戶權限表都是常用的文件保護方法。

09、對一個文件的訪問,常由()共同限制。
A.用戶訪問權限和文件屬性
B.用戶訪問權限和用戶優先級微信
C.優先級和文件屬性
D.文件屬性和口令

09.A
對于這道題,只要能區分用戶的訪問權限和用戶優先級,就能得到正確的答案。用戶訪問權限是指用戶有沒有權限訪問該文件,而用戶優先級是指在多個用戶同時請求該文件時應該先滿足誰。比如,圖書館的用戶排隊借一本書,某用戶可能有更高的優先級,即他排在隊伍的前面,但有可能輪到他時被告知他沒有借閱那本書的權限。
文件的屬性包括保存在FCB中對文件訪問的控制信息

10.加密保護和訪問控制兩種機制相比,()。
A.加密保護機制的靈活性更好
B.訪問控制機制的安全性更高
C.加密保護機制必須由系統實現
D.訪問控制機制必須由系統實現

  1. D
    相對于加密保護機制,訪問控制機制的安全性較差。因為訪問控制的級別和保護力度較小因此它的靈活性相對較高。若訪問控制不由系統實現,則系統本身的安全性就無法保證。加密機制若由系統實現,則加密方法將無法擴展。

11.為了對文件系統中的文件進行安全管理,任何一個用戶在進入系統時都必須進行注冊,這一級安全管理是()。
A.系統級
B.目錄級
C.用戶級
D.文件級

11.A
系統級安全管理包括注冊和登錄。另外,通過“進入系統時”這個關鍵詞也可推測出正確答案。

12.下列說法中,()屬于文件的邏輯結構的范疇。
A.連續文件
B.系統文件
C.鏈接文件
D、流式文件

12.D
邏輯文件有兩種:無結構文件(流式文件)和有結構式文件。連續文件和鏈接文件都屬于文件的物理結構,而系統文件是按文件用途分類的。

13.文件的邏輯結構是為了方便()而設計的。
A.存儲介質特性
B.操作系統的管理方式
c.主存容量
D.用戶

13.D
文件結構包括邏輯結構和物理結構。邏輯結構是用戶組織數據的結構形式,數據組織形式來自需求,而物理結構是操作系統組織物理存儲塊的結構形式。
因此說,邏輯文件的組織形式取決于用戶,物理結構的選擇取決于文件系統設計者針對硬件結構(如磁帶介質很難實現鏈接結構和索引結構)所采取的策略(即A和B選項)。

14.索引文件由邏輯文件和()組成。
A.符號表
B.索引表
C.交叉訪問表
D、鏈接表

14、B
索引文件由邏輯文件和索引表組成。文件的邏輯結構和物理結構都有索引的概念,引入邏輯索引和物理索引的目的是截然不同的。邏輯索引的目的是加快文件數據的定位,是從用戶角度出發的,而物理索引的主要目的是管理不連續的物理塊,是從系統管理的角度出發的。

15.下列關于索引表的敘述中,()是正確的。
A.索引表中每條記錄的索引項可以有多個
B.對索引文件存取時,必須先查找索引表
C.索引表中含有索引文件的數據及其物理地址
D.建立索引的目的之一是減少存儲空間

15.B
索引文件由邏輯文件和索引表組成,對索引文件存取時,必須先查找索引表。索引項只包含每條記錄的長度和在邏輯文件中的起始位置。因為每條記錄都要有一個索引項,因此提高了存儲代價。

16.有一個順序文件含有10000條記錄,平均查找的記錄數為5000個,采用索引順序文件
結構,則最好情況下平均只需約查找()次記錄。
A. 500
B.50
C. 101
D.100

16.C
采用索引順序文件時,最好情況是有√10000 = 100組,每組有100條記錄,則查找100組平均需要(1+100)/2=50.5次,組內查找平均需要(1+100)/2=50.5次,共需要50.5+50.5= 101次。

17.用磁帶做文件存儲介質時,文件只能組織成()。
A.順序文件
B.鏈接文件
C.索引文件
D.目錄文件

17.A
磁帶是一種順序存儲設備,用它存儲文件時只能采用順序存儲結構。注意:若允許磁帶來回倒帶,也可組織為其他的文件形式,本題不做討論。

18.以下不適合直接存取的外存分配方式是().
A.連續分配
B.鏈接分配
C.索引分配
D.以上答案都適合

18.B
直接存取即隨機存取,采用連續分配和索引分配的文件都適合于直接存取方式,只有采用鏈接分配的文件不具有隨機存取特性。

19.在以下文件的物理結構中,不利于文件長度動態增長的是().
A.連續結構
B.鏈接結構
C.索引結構
D.散列結構

  1. A
    要求有連續的存儲空間,所以必須事先知道文件的大小,然后根據其大小在存儲空間中找出一塊大小足夠的存儲區。如果文件動態地增長,那么會使文件所占的空間越來越大,即使事先知道文件的最終大小,在采用預分配的存儲空間的方法時,也是很低效的,它會使大量的存儲空間長期閑置。

20.文件系統中若文件的物理結構采用連續結構,則FCB中有關文件的物理位置的信息應
包括().
I首塊地址
II.文件長度
IⅢI.索引表地址
A.僅I
B. I、ⅡI
C. II、II
D. I、III

20.B
在連續分配方式中,為了使系統能找到文件存放的地址,應在目錄項的“文件物理地址”字段中,記錄該文件第一條記錄所在的盤塊號和文件長度(以盤塊數進行計量)燈考研)

21.在磁盤上,最容易導致存儲碎片發生的物理文件結構是().
A.隱式鏈接
B.順序存放
c.索引存放
D.顯式鏈接

21.B
順序文件占用連續的磁盤空間,容易導致存儲碎片外部碎片的發生。

22.文件系統采用兩級索引分配方式。若每個磁盤塊的大小為1KB,每個盤塊號占4B,則
該系統中,單個文件的最大長度是().
A. 64MB
B.128MB
c. 32MB
D.以上答案都不對

  1. A
    每個磁盤塊中最多有1KB/4B = 256個索引項,則兩級索引分配方式下單個文件的最大長度為256×256×1KB =64MB。

23.設有一個記錄文件,采用鏈接分配方式,邏輯記錄的固定長度為100B,在磁盤上存儲
時采用記錄成組分解技術。盤塊長度為512B。若該文件的目錄項已經讀入內存,則對第22個邏輯記錄完成修改后,共啟動了磁盤()次。7
A.3
B.4
C.5
D.6

23.D
第22個邏輯記錄存放在第5個物理塊中(22×100/512=4,余152),由于文件采用的物理結構是鏈接文件,因此需要從目錄項所指的第一個物理塊開始讀取,共啟動磁盤5次。修改后還需要寫回操作,由于寫回時已獲得該塊的物理地址,只需啟動磁盤1次,因此共需啟動磁盤6次。

24.物理文件的組織方式是由()確定的。
A.應用程序
B.主存容量
C.外存容量
D.操作系統

24.D
通常用戶可以根據需要來確定文件的邏輯結構,而文件的物理結構是由操作系統的設計者根據文件存儲器的特性來確定的,一旦確定,就由操作系統管理。

25.文件系統為每個文件創建一張(),存放文件數據塊的磁盤存放位置。
A.打開文件表
B.位圖
C.索引表
D.空閑盤塊鏈表

25.C
打開文件表僅存放已打開文件信息的表,將指名文件的屬性從外存復制到內存,再使用該文件時直接返回索引,選項A錯誤。位圖和空閑盤塊鏈表是磁盤管理方法,選項B、D錯誤。只有索引表中記錄每個文件所存放的盤塊地址,選項C正確。

26.下面關于索引文件的敘述中,正確的是()。
A.索引文件中,索引表的每個表項中含有相應記錄的關鍵字和存放該記錄的物理地址
B.順序文件進行檢索時,首先從FCB中讀出文件的第一個盤塊號;而對索引文件進行
檢索時,應先從FCB中讀出文件索引塊的開始地址
C.對于一個具有三級索引的文件,存取一條記錄通常要訪問三次磁盤
D.文件較大時,無論是進行順序存取還是進行隨機存取,通常索引文件方式都最快

26.B
索引表的表項中含有相應記錄的關鍵字和存放該記錄的邏輯地址;三級索引需要訪問4次磁盤;無論是順序存取還是隨機存取,順序文件通常都是速度最快的。

27.設某文件為鏈接文件,它由5個邏輯記錄組成,每個邏輯記錄的大小與磁盤塊的大小相
等,均為512B,并依次存放在50,121,75,80,63號磁盤塊上。若要存取文件的第1569邏輯字節處的信息,則應該訪問()號磁盤塊。
A.3
B.80
C.75
D. 63

27.B
因為1569= 512x3+ 33,故要訪問字節位于第4個磁盤塊上,對應的物理磁盤塊號為80。

28.【2009統考真題】文件系統中,文件訪問控制信息存儲的合理位置是()。
C.用戶口令表D.系統注冊表
A.文件控制塊B.文件分配表

  1. A
    為了實現“按名存取”,在文件系統中為每個文件設置用于描述和控制文件的數據結構,稱之為文件控制塊(FCB)。在文件控制塊中,通常包含三類信息,即基本信息、存取控制信息及使用信息。

29.【2009統考真題】下列文件物理結構中,適合隨機訪問且易于文件擴展的是()。
A.連續結構
B.索引結構
C.鏈式結構且磁盤塊定長
D.鏈式結構且磁盤塊變長

29.B
文件的物理結構包括連續、鏈式、索引三種,其中鏈式結構不能實現隨機訪問,連續結構的文件不易于擴展。因此隨機訪問且易于擴展是索引結構的特性。

30.【2010統考真題】設文件索引結點中有7個地址項,其中4個地址項是直接地址索引,2個地址項是一級間接地址索引,1個地址項是二級間接地址索引,每個地址項大小為4B,若磁盤索引塊和磁盤數據塊大小均為256B,則可表示的單個文件最大長度是()。
A. 33KB
B. 519KB
c. 1057KB
D. 16516KB

  1. C
    每個磁盤索引塊和磁盤數據塊大小均為256B,每個磁盤索引塊有256/4=64個地址項。因此,4個直接地址索引指向的數據塊大小為4x256B;2個-一級間接索引包含的直接地址索引數為2×(256/4),即其指向的數據塊大小為2×(256/4)×256B。1個二級間接索引所包含的直接地址索引數為(256/4)×(256/4),即其所指向的數據塊大小為(256/4)×(256/4)×256B。因此,7個地址項所指向的數據塊總大小為4x256+2×(256/4)×256+(256/4)×(256/4)×256 = 1082368B= 1057KB。

31.【2012統考真題】若一個用戶進程通過read系統調用讀取一個磁盤文件中的數據,則下
列關于此過程的敘述中,正確的是()。
I若該文件的數據不在內存,則該進程進入睡眠等待狀態II.請求read系統調用會導致CPU從用戶態切換到核心態III. read系統調用的參數應包含文件的名稱
A.僅I、II
B.僅I、III
C.僅II、III
D.I、II和III

  1. A
    對于I,當所讀文件的數據不在內存時,產生中斷(缺頁中斷),原進程進入阻塞態,直到所需數據從外存調入內存后,才將該進程喚醒。對于ⅡI,read系統調用通過陷入將CPU從用戶態切換到核心態,從而獲取操作系統提供的服務。對于IⅢI,要讀一個文件,首先要用open系統調用打開該文件。open中的參數包含文件的路徑名與文件名,而read只需使用open返回的文件描述符,并不使用文件名作為參數。read 要求用戶提供三個輸入參數:①文件描述符fd;②buf緩沖區首址;⑧傳送的字節數n。read的功能是試圖從fd所指示的文件中讀入n個字節的數據,并將它們送至由指針buf所指示的緩沖區中。

32.【2013統考真題】用戶在刪除某文件的過程中,操作系統不可能執行的操作是().
A.刪除此文件所在的目錄
B.刪除與此文件關聯的目錄項
C.刪除與此文件對應的文件控制塊
D.釋放與此文件關聯的內存緩沖區

  1. A
    此文件所在目錄下可能還存在其他文件,因此刪除文件時不能(也不需要)刪除文件所在的目錄,而與此文件關聯的目錄項和文件控制塊需要隨著文件一同刪除,同時釋放文件關聯的內存緩沖區。

33.【2013統考真題】若某文件系統索引結點( inode)中有直接地址項和間接地址項,則下
列選項中,與單個文件長度無關的因素是( ).
A.索引結點的總數
B.間接地址索引的級數
C.地址項的個數
D.文件塊大小

  1. A
    四個選項中,只有A選項是與單個文件長度無關的。

34.【2013統考真題】為支持CD-ROM中視頻文件的快速隨機播放,播放性能最好的文件數
據塊組織方式是().
A.連續結構B.鏈式結構llC.直接索引結構D.多級索引結構

34.A
為了實現快速隨機播放,要保證最短的查詢時間,即不能選取鏈表和索引結構,因此連續結構最優。

35.【2014統考真題】在一個文件被用戶進程首次打開的過程中,操作系統需做的是()。
A.將文件內容讀到內存中
B.將文件控制塊讀到內存中
C.修改文件控制塊中的讀寫權限
D.將文件的數據緩沖區首指針返回給用戶進程

35.B
一個文件被用戶進程首次打開即被執行了open 操作,會把文件的FCB調入內存,而不會把文件內容讀到內存中,只有進程希望獲取文件內容時才會讀入文件內容;選項C、D明顯錯誤,選擇選項B。

36.【2015統考真題】在文件的索引結點中存放直接索引指針10個,一級和二級索引指針各1個。磁盤塊大小為1KB,每個索引指針占4B。若某文件的索引結點已在內存中,則把該文件偏移量(按字節編址)為1234和307400處所在的磁盤塊讀入內存,需訪問的磁盤塊個數分別是()。
A. 1,2
B. 1,3
C. 2,3
D. 2,4

36.B
10個直接索引指針指向的數據塊大小為10×1KB =10KB。每個索引指針占4B,則每個磁盤塊可存放1KB/4B= 256個索引指針,一級索引指針指向的數據塊大小為256×1KB = 256KB,二級索引指針指向的數據塊大小為256×256×1KB=21 KB=64MB。
按字節編址,偏移量為1234時,因1234B<10KB,由直接索引指針可得到其所在的磁盤塊地址。文件的索引結點已在內存中,因此地址可直接得到,因此僅需Ⅰ次訪盤即可。
偏移量為307400時,因10KB + 256KB<307400B<64MB,可知該偏移量的內容在二級索引指針所指向的某個磁盤塊中,索引結點已在內存中,因此先訪盤﹖次得到文件所在的磁盤塊地址,再訪盤1次即可讀出內容,共需3次訪盤。

37.【2017統考真題】某文件系統中,針對每個文件,用戶類別分為4類:安全管理員、文
件主、文件主的伙伴、其他用戶;訪問權限分為5種:完全控制、執行、修改、讀取、寫入。若文件控制塊中用二進制位串表示文件權限,為表示不同類別用戶對一個文件的訪問權限,則描述文件權限的位數至少應為()。
A.5
B.9
C. 12
D. 20

  1. D
    可以把用戶訪問權限抽象為一個矩陣,行代表用戶,列代表訪問權限。這個矩陣有4行5列,1代表true,0代表false,所以需要20位,選擇選項D。

  2. 【2018統考真題】下列優化方法中,可以提高文件訪問速度的是()。
    I.提前讀
    I.為文件分配連續的簇
    III.延遲寫
    IV.采用磁盤高速緩存
    A.僅I、II
    B.僅ⅡI、III
    C.僅I、III、IV
    D. I、II、III、IV

  3. D
    II和IⅣ顯然均能提高文件訪問速度。對于I,提前讀是指在讀當前盤塊時,將下一個可能要訪問的盤塊數據讀入緩沖區,以便需要時直接從緩沖區中讀取,提高了文件的訪問速度。對于IⅢI,延遲寫是指先將數據寫入緩沖區,并置上“延遲寫”標志,以備不久之后訪問,當緩沖區需要再次被分配出去時,才將緩沖區數據寫入磁盤,減少了訪問磁盤的次數,提高了文件的訪問速度,IⅢI也正確,答案選擇選項D。

39.【2020統考真題】下列選項中,支持文件長度可變、隨機訪問的磁盤存儲空間分配方式
是()。
A.索引分配
B.鏈接分配
C.連續分配
D.動態分區分配

  1. A
    索引分配支持變長的文件,同時可以隨機訪問文件的指定數據塊,選項A正確。鏈接分配不支持隨機訪問,需要依靠指針依次訪問,選項B錯誤。連續分配的文件長度固定,不支持可變文件長度(連續分配的文件長度雖然也可變,但是需要大量移動數據,代價較大,相比之下不太合適),選項C錯誤。動態分區分配是內存管理方式,不是磁盤空間的管理方式,選項D錯誤。

40.【2020統考真題】某文件系統的目錄項由文件名和索引結點號構成。若每個目錄項長度
為64字節,其中4字節存放索引結點號,60字節存放文件名。文件名由小寫英文字母構成,則該文件系統能創建的文件數量的上限為()。
A.226
B.232
c. 260
D.264

40.B
在總長為64字節的目錄項中,索引結點占4字節,即32位。不同目錄下的文件的文件名可以相同,所以在考慮系統創建最多文件數量時,只需考慮索引結點的個數,即創建文件數量上限=索引結點數量上限。整個系統中最多存儲23個索引結點,因此整個系統最多可以表示23個文件.選項B正確。

4.2.7 本節習題精選
一、單項選擇題
01.一個文件系統中,其FCB占64B,一個盤塊大小為1KB,采用一級目錄。假定文件目
錄中有3200個目錄項。則查找一個文件平均需要())次訪問磁盤。
A. 50
B. 54
C. 100
D. 200

  1. c
    3200個目錄項占用的盤塊數為3200×64B/1KB = 200個。因為一級目錄平均訪盤次數為1/2盤塊數(順序查找目錄表中的所有目錄項,每個目錄項為一個FCB),所以平均的訪問磁盤次數為200/2=100次。

02.下列關于目錄檢索的論述中,正確的是()。
A.由于散列法具有較快的檢索速度,因此現代操作系統中都用它來替代傳統的順序檢索方法
B.在利用順序檢索法時,對樹形目錄應采用文件的路徑名,且應從根目錄開始逐級檢索
C.在利用順序檢索法時,只要路徑名的一個分量名未找到,就應停止查找
D.利用順序檢索法查找完成后,即可得到文件的物理地址

02.c
實現用戶對文件的按名存取,系統先利用用戶提供的文件名形成檢索路徑,對目錄進行檢索。在順序檢索中,路徑名的一個分量未找到,說明路徑名中的某個目錄或文件不存在,不需要繼續檢索,選項C正確。目錄的查詢方式有兩種:順序檢索法和 Hash法,通常采用順序檢索法,選項A錯誤。在樹形目錄中,為了加快文件檢索速度,可設置當前目錄,于是文件路徑可以從當前目錄開始查找,選項B錯誤。在順序檢索法查找完成后,得到的是文件的邏輯地址,選項D錯誤。

03.一個文件的相對路徑名是從()開始,逐步沿著各級子目錄追溯,最后到指定文件的
整個通路上所有子目錄名組成的一個字符串.
A.當前目錄
B.根目錄
C多級目錄業主
D.二級目錄

  1. A
    相對路徑是從當前目錄出發到所找文件通路上所有目錄名和數據文件名用分隔符連接起來而形成的,注意與絕對路徑的區別。

04.文件系統采用多級目錄結構的目的是()。
A.減少系統開銷
B.節省存儲空間
C.解決命名沖突
D、縮短傳送時間

  1. C
    在文件系統中采用多級目錄結構后,符合了多層次管理的需要,提高了文件查找的速度,還允許用戶建立同名文件。因此,多級目錄結構的采用解決了命名沖突。

05.若文件系統中有兩個文件重名,則不應采用().
A.單級目錄結構
B.兩級目錄結構
C.樹形目錄結構
D.多級目錄結構

  1. A
    在單級目錄文件中,每當新建一個文件時,必須先檢索所有的目錄項,以保證新文件名在目錄中是唯一的。所以單級目錄結構無法解決文件重名問題。

06.下面的說法中,錯誤的是()。
I,一個文件在同一系統中、不同的存儲介質上的復制文件,應采用同一種物理結構
II.對一個文件的訪問,常由用戶訪問權限和用戶優先級共同限制
Ⅲ.文件系統采用樹形目錄結構后,對于不同用戶的文件,其文件名應該不同
IV.為防止系統故障造成系統內文件受損,常采用存取控制矩陣方法保護文件
A.II
B. I、Im
C.I、III、IV
D.全選

06.D
文件在磁帶上通常采用連續存放方法,在硬盤上通常不采用連續存放方法,在內存上采用隨機存放方法,Ⅰ錯誤。對文件的訪問控制,常由用戶訪問權限和文件屬性共同限制,Ⅱ錯誤。在樹形目錄結構中,對于不同用戶的文件,文件名可以不同也可以相同,IⅢI錯誤。防止文件受損常采用備份的方法,而存取控制矩陣方法用于多用戶之間的存取權限保護,IⅣ錯誤。

07.【2010統考真題】設置當前工作目錄的主要目的是().
A.節省外存空間
B.節省內存空間
C.加快文件的檢索速度
D.加快文件的讀/寫速度

07.C
當一個文件系統含有多級目錄時,每訪問一個文件,都要使用從樹根開始到樹葉為止、包括各中間結點名的全路徑名。當前目錄又稱工作目錄,進程對各個文件的訪問都相對于當前目錄進行,而不需要從根目錄一層一層地檢索,加快了文件的檢索速度。選項A、B都與相對目錄無關;選項D,文件的讀/寫速度取決于磁盤的性能。

08.【2009統考真題】設文件F1的當前引用計數值為1,先建立文件F1的符號鏈接(軟鏈
接)文件F2,再建立文件F1的硬鏈接文件F3,然后刪除文件F1。此時,文件F2和文件F3的引用計數值分別是()。
A.0,1
B. 1,1
C. 1,2
D.2,1

  1. B
    建立符號鏈接時,引用計數值直接復制;建立硬鏈接時,引用計數值加1。刪除文件時,刪除操作對于符號鏈接是不可見的,這并不影響文件系統,當以后再通過符號鏈接訪問時,發現文件不存在,直接刪除符號鏈接;但對于硬鏈接則不可直接刪除,引用計數值減1,若值不為0,則不能刪除此文件,因為還有其他硬鏈接指向此文件。
    當建立F2時,F1和F2的引用計數值都為1。當再建立F3時,F1和F3的引用計數值就都變成了2。當后來刪除F1時,F3的引用計數值為2-1=1,F2的引用計數值不變。

09.【2017統考真題】若文件fl的硬鏈接為f2,兩個進程分別打開f1和f2,獲得對應的文
件描述符為fd1和fd2,則下列敘述中正確的是()。
I. f1和f2的讀寫指針位置保持相同
I. fl和f2共享同一個內存索引結點
III. fd1和fd2分別指向各自的用戶打開文件表中的一項
A.僅II
B.僅Ⅱ、II
C.僅I、II
D. I、II和IⅢ

09.B
硬鏈接指通過索引結點進行鏈接。一個文件在物理存儲器上有一個索引結點號。存在多個文件名指向同一個索引結點的情況,Ⅱ正確。兩個進程各自維護自己的文件描述符,III正確,Ⅰ錯誤。所以選擇選項B。

  1. 【2020統考真題】若多個進程共享同一個文件F,則下列敘述中,正確的是().
    A.各進程只能用“讀”方式打開文件F
    B.在系統打開文件表中僅有一個表項包含F的屬性
    C.各進程的用戶打開文件表中關于F的表項內容相同
    D.進程關閉F時,系統刪除F在系統打開文件表中的表項

10.B
多個進程可以同時以“讀”或“寫”的方式打開文件,操作系統并不保證寫操作的互斥性,進程可通過系統調用對文件加鎖,保證互斥寫(讀者-寫者問題),選項A錯誤。整個系統只有一個系統打開文件表,同一個文件打開多次只需改變引用計數,選項B正確。用戶進程的打開文件表關于同一個文件不一定相同,例如讀寫指針位置不一定相同,選項C錯誤。進程關閉文件時,文件的引用計數減1,引用計數變為0時才刪除系統打開文件表中的表項,選項D錯誤。

11.【2021統考真題】若目錄dir下有文件file1,則為刪除該文件內核不必完成的工作是().
A.刪除file1的快捷方式
B.釋放file1的文件控制塊
C.釋放file1占用的磁盤空間
D.刪除目錄dir中與file1對應的目錄項

11.A
刪除一個文件時,會根據文件控制塊回收相應的磁盤空間,將文件控制塊回收,并刪除目錄中對應的目錄項。選項B、C、D正確。快捷方式屬于文件共享中的軟連接,本質上創建的是一個鏈接文件,其中存放的是訪問該文件的路徑,刪除文件并不會導致文件的快捷方式被刪除,正如在Windows中刪除一個程序后,其快捷方式可能仍然留在桌面上,但是已經無法打開。

4.3.7本節習題精選
一、單項選擇題
01.從用戶的觀點看,操作系統中引入文件系統的目的是()。
A.保護用戶數據
B.實現對文件的按名存取
c.實現虛擬存儲
D.保存用戶和系統文檔及數據

01.B
從系統角度看,文件系統負責對文件的存儲空間進行組織、分配,負責文件的存儲并對存入文件進行保護、檢索。從用戶角度看,文件系統根據一定的格式將用戶的文件存放到文件存儲器中適當的地方,當用戶需要使用文件時,系統根據用戶所給的文件名能夠從文件存儲器中找到所需要的文件。

02.UNIX操作系統中,文件的索引結構放在().
A.超級塊
B.索引結點
C.目錄項
D、空閑塊

02.B
UNIX采用樹形目錄結構,文件信息存放在索引結點中。超級塊是用來描述文件系統的。

03.位示圖可用于().
A.文件目錄的查找
B.磁盤空間的管理
c.主存空間的管理
D.文件的保密

  1. B
    位示圖方法是空閑塊管理方法,用于管理磁盤空間。

04.文件的存儲空間管理實質上是對()的組織和管理。
A.文件目錄
B.外存已占用區域
C.外存空閑區
D、文件控制塊

04.C
文件存儲空間管理即文件空閑空間管理。文件管理要解決的重要問題是,如何為創建文件分配存儲空間,即如何找到空閑盤塊,并對其管理。

05.若用8個字(字長32位)組成的位示圖管理內存,假定用戶歸還一個塊號為100的內
存塊時,它對應位示圖的位置為()。
A.字號為3,位號為5
B.字號為4,位號為4
c.字號為3,位號為4
D.字號為4,位號為5

05.B
先求出塊號100所在的行號,132在行號1中,3364在行號2中,6596在行號3中97128在行號4中,所以塊號100在行號4中;然后求出塊號100在行號4中的哪列,行號4的第1列是塊號97,以此類推,塊號100在行號4中的第4列。另解,行號row和列號col分別為
row =(100-1) DIV 32+ 1= 4
col = (100- 1) MOD 32+1=4
即字號為4,位號也為4。注意,如果注明行號和列號從0開始,那么答案是不同的。

06.下列選項中,()不是Linux實現虛擬文件系統VFS所定義的對象類型。
A.超級塊( superblock)對象
B.目錄項( inode)對象
C.文件( file)對象
D.數據( data)對象

06.D
為了實現虛擬文件系統(VFS),Linux主要抽象了四種對象類型:超級塊對象、索引結點對象、目錄項對象和文件對象。D錯誤。

07.【2015統考真題】文件系統用位圖法表示磁盤空間的分配情況,位圖存于磁盤的32~127
號塊中,每個盤塊占1024B,盤塊和塊內字節均從О開始編號。假設要釋放的盤塊號為409612,則位圖中要修改的位所在的盤塊號和塊內字節序號分別是().
A. 81,1
B. 81,2
C.82,1
D. 82,2

  1. c
    盤塊號=起始塊號+L盤塊號/(1024×8)]= 32+L409612/(1024×8)]= 32+50=82,這里問的是塊內字節號而不是位號,因此還需除以8(1B=8位),塊內字節號=L(盤塊號%(1024×8))/8]=

08.【2019統考真題】下列選項中,可用于文件系統管理空閑磁盤塊的數據結構是()。
I.位圖II.索引結點IⅢ.空閑磁盤塊鏈IV.文件分配表(FAT)
A.僅I、II
B.僅I、III、IV
C.僅I、III
D.僅II、III、IV

  1. B
    傳統文件系統管理空閑磁盤的方法包括空閑表法、空閑鏈表法、位示圖法和成組鏈接法,I、IⅢ正確。文件分配表(FAT)的表項與物理磁盤塊一一對應,并且可以用一個特殊的數字-1表示文件的最后一塊,用-2表示這個磁盤塊是空閑的(當然也可用-3,-4來表示),因此FAT不僅記錄了文件中各個塊的先后鏈接關系,同時還標記了空閑的磁盤塊,操作系統可以通過FAT對文件存儲空間進行管理,IV正確。索引結點是操作系統為了實現文件名與文件信息分開而設計的數據結構,存儲了文件描述信息,索引結點屬于文件目錄管理部分的內容,ⅡI錯誤。

5.1.6本節習題精選
一、單項選擇題
01.以下關于設備屬性的敘述中,正確的是()
A.字符設備的基本特征是可尋址到字節,即能指定輸入的源地址或輸出的目標地址
B.共享設備必須是可尋址的和可隨機訪問的設備
C.共享設備是指同一時間內允許多個進程同時訪問的設備
D.在分配共享設備和獨占設備時都可能引起進程死鎖

01.B
可尋址是塊設備的基本特征,A選項不正確;共享設備是指一段時間內允許多個進程同時訪
問的設備,因此C選項不正確。分配共享設備是不會引起進程死鎖的,D選項不正確。

02.虛擬設備是指()。
A.允許用戶使用比系統中具有的物理設備更多的設備
B.允許用戶以標準化方式來使用物理設備
c.把一個物理設備變換成多個對應的邏輯設備
D.允許用戶程序不必全部裝入主存便可使用系統中的設備

02.C
虛擬設備是指采用虛擬技術將一臺獨占設備轉換為若干邏輯設備。引入虛擬設備是為了克服獨占設備速度慢、利用率低的特點。這種設備并不是物理地變成共享設備,一般的獨享設備也不能轉換為共享設備,只是用戶在使用它們時“感覺”是共享設備,是邏輯的概念。

03.磁盤設備的IO控制主要采取()方式。
A.。位
B.字節
C.幀
D.DMA

03.D
DMA方式主要用于塊設備,磁盤是典型的塊設備。這道題也要求讀者了解什么是I/O控制方式,選項A、B、C顯然都不是I/O控制方式。

04.為了便于上層軟件的編制,設備控制器通常需要提供()。
A.控制寄存器、狀態寄存器和控制命令
B. IO地址寄存器、工作方式狀態寄存器和控制命令
c.中斷寄存器、控制寄存器和控制命令
D.控制寄存器、編程空間和控制邏輯寄存器

04.A
中斷寄存器位于計算機主機;不存在I/O地址寄存器;編程空間一般是由體系結構和操作系統共同決定的。控制寄存器和狀態寄存器分別用于接收上層發來的命令并存放設備狀態信號,是設備控制器與上層的接口;至于控制命令,每種設備對應的設備控制器都對應一組相應的控制命令,CPU 通過控制命令控制設備控制器。

05.在設備控制器中用于實現設備控制功能的是()。
A.CPU`
B.設備控制器與處理器的接口
C. IO邏輯
D.設備控制器與設備的接口

  1. C
    接口用來傳輸信號,IO邏輯即設備控制器,用來實現對設備的控制。

06.在設備管理中,設備映射表( DMT)的作用是()。
A.管理物理設備
B.管理邏輯設備
C.實現輸入/輸出
D.建立邏輯設備與物理設備的對應關系

  1. D
    設備映射表中記錄了邏輯設備所對應的物理設備,體現了兩者的對應關系。對設備映射表來說,不能實現具體的功能及管理物理設備。

07.DMA方式是在( )之間建立一條直接數據通路。
A.IO設備和主存
B.兩個IO設備
c. IO設備和CPU
D. CPU和主存

  1. A
    DMA是一種不經過CPU而直接從主存存取數據的數據交換模式,它在IO設備和主存之間建立了一條直接數據通路,如磁盤。當然,這條數據通路只是邏輯上的,實際并未直接建立一條物理線路,而通常是通過總線進行的。

08.通道又稱IO處理機,它用于實現()之間的信息傳輸。
A.內存與外設
B. CPU與外設
C.內存與外存
D. CPU與外存

  1. A
    設置通道后,CPU只需向通道發送一條IO指令。通道在收到該指令后,便從內存中取出本次要執行的通道程序,然后執行該通道程序,僅當通道完成規定的T/O任務后,才向CPU發出中斷信號。因此通道用于完成內存與外設的信息交換。

09.在操作系統中,()指的是一種硬件機制。
A.通道技術
B.緩沖池
C. SPOOLing技術
D.內存覆蓋技術

  1. A
    通道是一種特殊的處理器,所以屬于硬件技術。SPOOLing、緩沖池、內存覆蓋都是在內存的基礎上通過軟件實現的。

10.若TO設備與存儲設備進行數據交換不經過CPU來完成,則這種數據交換方式是()
A.程序查詢
B.中斷方式
C. DMA方式
D.無條件存取方式

  1. c
    在DMA方式中,設備和內存之間可以成批地進行數據交換而不用CPU干預,CPU只參與預處理和結束過程。

11.計算機系統中,不屬于DMA控制器的是().
A.命令/狀態寄存器
B.內存地址寄存器
C.數據寄存器
D.堆棧指針寄存器

11.D
命令/狀態寄存器控制DMA的工作模式并給CPU反映它當前的狀態,地址寄存器存放DMA作業時的源地址和目標地址,數據寄存器存放要DMA轉移的數據,只有堆棧指針寄存器不需要在DMA控制器中存放。

  1. ()用作連接大量的低速或中速IO設備。
    A.數據選擇通道
    B.字節多路通道
    C.數據多路通道
    D.IO處理機

12.B
字節多路通道,它通常含有許多非分配型子通道,其數量可達幾十到幾百個,每個通道連接一臺IO設備,并控制該設備的I/O操作。這些子通道按時間片輪轉方式共享主通道。各個通道循環使用主通道,各個通道每次完成其IO設備的一個字節的交換,然后讓出主通道的使用權這樣,只要字節多路通道掃描每個子通道的速率足夠快,而連接到子通道上的設備的速率不太高時,便不至于丟失信息。

13.在下列問題中,()不是設備分配中應考慮的問題。
A.及時性
B.設備的固有屬性
C.設備獨立性
D.安全性

  1. A
    設備的固有屬性決定了設備的使用方式;設備獨立性可以提高設備分配的靈活性和設備的利用率;設備安全性可以保證分配設備時不會導致永久阻塞。設備分配時一般不需要考慮及時性。

14、將系統中的每臺設備按某種原則統一進行編號,這些編號作為區分硬件和識別設備的代
號,該編號稱為設備的().
A.絕對號
B.相對號
C.類型號
D.符號

14.A
計算機系統為每臺設備確定一個編號以便區分和識別設備,這個確定的編號稱為設備的絕對號。

15.關于通道、設備控制器和設備之間的關系,以下敘述中正確的是().
A.設備控制器和通道可以分別控制設備
B.對于同一組輸入/輸出命令,設備控制器、通道和設備可以并行工作
C.通道控制設備控制器、設備控制器控制設備工作
D.以上答案都不對

  1. C
    三者的控制關系是層層遞進的,只有C選項正確。

16.有關設備管理的敘述中,不正確的是().
A.通道是處理輸入/輸出的軟件
B.所有設備的啟動工作都由系統統一來做
C.來自通道的IO中斷事件由設備管理負責處理
D.編制好的通道程序是存放在主存中的

  1. A
    通道為特殊的處理器,所以不屬于軟件。其他幾項均正確。

17.IO中斷是CPU與通道協調工作的一種手段,所以在()時,便要產生中斷。
A. CPU執行“啟動IO”指令而被通道拒絕接收
B.通道接收了CPU的啟動請求
C.通道完成了通道程序的執行
D.通道在執行通道程序的過程中

  1. C
    CPU啟動通道時不管啟動成功與否,通道都要回答CPU,通道在執行通道程序(用來傳送數據〉的過程中,CPU與通道并行,通道完成通道程序的執行時,便發IO中斷向CPU報告。

18.一個計算機系統配置了2臺繪圖機和3臺打印機,為了正確驅動這些設備,系統應該提
供()個設備驅動程序。
A. 5
B.3
C.2
D. 1

18.c
因為繪圖機和打印機屬于兩種不同類型的設備,系統只要按設備類型配置設備驅動程序即可,即每類設備只需一個設備驅動程序。

19.將系統調用參數翻譯成設備操作命令的工作由()完成。
A.用戶層IO
B.設備無關的操作系統軟件
c.中斷處理
D.設備驅動程序

19.B
系統調用是操作系統提供給用戶程序的通用接口,屬于設備無關軟件的功能,不會因為具體設備的不同而改變。而設備驅動程序負責執行操作系統發出的I/O命令,它因設備不同而不同。

20.一個典型的文本打印頁面有50行,每行80個字符,假定一臺標準的打印機每分鐘能打
印6頁,向打印機的輸出寄存器中寫一個字符的時間很短,可忽略不計。若每打印一個字符都需要花費50us 的中斷處理時間(包括所有服務),使用中斷驅動IO方式運行這臺打印機,中斷的系統開銷占CPU的百分比為()。
A. 2%
B.5%
c. 20%
D. 50%

  1. A
    這臺打印機每分鐘打印50x80x6= 24000個字符,即每秒打印400個字符。每個字符打印中斷需要占用CPU時間50us,所以每秒用于中斷的系統開銷為400×50us = 20ms。若使用中斷驅動IO,則 CPU剩余的980ms可用于其他處理,中斷的開銷占CPU的2%。因此,使用中斷驅動I/O方式運行這臺打印機是有意義的。

21.【2010統考真題】本地用戶通過鍵盤登錄系統時,首先獲得鍵盤輸入信息的程序是()
A.命令解釋程序
B.中斷處理程序
C.系統調用服務程序
D.用戶登錄程序

21.B
鍵盤是典型的通過中斷IO方式工作的外設,當用戶輸入信息時,計算機響應中斷并通過中斷處理程序獲得輸入信息。

22.【2011統考真題】用戶程序發出磁盤IO請求后,系統的正確處理流程是()。
A.用戶程序→系統調用處理程序→中斷處理程序→設備驅動程序
B.用戶程序→系統調用處理程序→設備驅動程序→中斷處理程序
C.用戶程序→設備驅動程序→系統調用處理程序→中斷處理程序
D.用戶程序→設備驅動程序→中斷處理程序→系統調用處理程序

22.B
輸入/輸出軟件一般從上到下分為4個層次:用戶層、與設備無關的軟件層、設備驅動程序及中斷處理程序。與設備無關的軟件層也就是系統調用的處理程序。
當用戶使用設備時,首先在用戶程序中發起一次系統調用,操作系統的內核接到該調用請求后,請求調用處理程序進行處理,再轉到相應的設備驅動程序,當設備準備好或所需數據到達后,設備硬件發出中斷,將數據按上述調用順序逆向回傳到用戶程序中。

23.【2012統考真題】操作系統的IO子系統通常由4個層次組成,每層明確定義了與鄰近
層次的接口,其合理的層次組織排列順序是()。
A.用戶級IO軟件、設備無關軟件、設備驅動程序、中斷處理程序
B.用戶級VO軟件、設備無關軟件、中斷處理程序、設備驅動程序
c.用戶級IO軟件、設備驅動程序、設備無關軟件、中斷處理程序
D.用戶級IO軟件、中斷處理程序、設備無關軟件、設備驅動程序家園

  1. A
    考查內容同上題。設備管理軟件一般分為4個層次:用戶層、與設備無關的系統調用處理層、設備驅動程序及中斷處理程序。

24.【2013統考真題】用戶程序發出磁盤IO請求后,系統的處理流程是:用戶程序→系統
調用處理程序→設備驅動程序→中斷處理程序。其中,計算數據所在磁盤的柱面號、磁頭號、扇區號的程序是()。
A.用戶程序
B.系統調用處理程序
C.設備驅動程序
D.中斷處理程序

  1. C
    計算柱面號、磁頭號和扇區號的工作是由設備驅動程序完成的。題中的功能因設備硬件的不同而不同,因此應由廠家提供的設備驅動程序實現。

25.【2017統考真題】系統將數據從磁盤讀到內存的過程包括以下操作:
DMA控制器發出中斷請求
初始化 DMA控制器并啟動磁盤從磁盤傳輸一塊數據到內存緩沖區④執行“DMA結束”中斷服務程序正確的執行順序是()。
A.③一①→②一④
B.②→③→①→④
c. ②-①一⑧一④
D. 1→②→④→③

  1. B
    在開始DMA傳輸時,主機向內存寫入DMA命令塊,向DMA 控制器寫入該命令塊的地址,啟動I/O 設備。然后,CPU繼續其他工作,DMA 控制器則繼續直接操作內存總線,將地址放到總線上開始傳輸。整個傳輸完成后,DMA 控制器中斷CPU。因此執行順序是2,3,1,4,選B。

5.2.7本節習題精選
一、單項選擇題
01.設備的獨立性是指()。
A.設備獨立于計算機系統
B.系統對設備的管理是獨立的
C.用戶編程時使用的設備與實際使用的設備無關
D.每臺設備都有一個唯一的編號

01.C
設備的獨立性主要是指用戶使用設備的透明性,即使用戶程序和實際使用的物理設備無關。

02.引入高速緩沖的主要目的是( .)。
A.提高CPU的利用率
B.提高IO設備的利用率
C.改善CPU與IO設備速度不匹配的問題
D.節省內存

  1. C
    CPU 與IO 設備執行速度通常是不對等的,前者快、后者慢,通過高速緩沖技術來改善兩者不匹配的問題。

03.為了使并發進程能有效地進行輸入和輸出,最好采用()結構的緩沖技術。
A.緩沖池
B.循環緩沖
C.單緩沖
D.雙緩沖

  1. A
    緩沖池是系統的共用資源,可供多個進程共享,并且既能用于輸入又能用于輸出。其–般包含三種類型的緩沖:①空閑緩沖區;②裝滿輸入數據的緩沖區;③裝滿輸出數據的緩沖區。為了管理上的方便,可將相同類型的緩沖區鏈成一個隊列。B、C、D屬專用緩沖。

04.緩沖技術中的緩沖池在()中。
A.主存
B.外存
C.ROM
D.寄存器

04.A
輸入井和輸出井是在磁盤上開辟的存儲空間,而輸入/輸出緩沖區則是在內存中開辟的,因為CPU 速度比IO設備高很多,緩沖池通常在主存中建立。

05.設從磁盤將一塊數據傳送到緩沖區所用的時間為80us,將緩沖區中的數據傳送到用戶區
所用的時間為40us,CPU處理一塊數據所用的時間為30us。若有多塊數據需要處理,并采用單緩沖區傳送某磁盤數據,則處理一塊數據所用的總時間為()。
A. 120us
B.110us
C.-150us
D.7Ous

05.A
采用單緩沖區傳送數據時,設備與處理機對緩沖區的操作是串行的,當進行第i次讀磁盤數據送至緩沖區時,系統再同時讀出用戶區中第i-1次數據進行計算,此兩項操作可以并行,并與數據從緩沖區傳送到用戶區的操作串行進行,所以系統處理一塊數據所用的總時間為max(80us.30us)+ 40us = 120us。

06.某操作系統采用雙緩沖區傳送磁盤上的數據。設從磁盤將數據傳送到緩沖區所用的時間
為T,將緩沖區中的數據傳送到用戶區所用的時間為T2(假設T,遠小于T),CPU處理數據所用的時間為T,則處理該數據,系統所用的總時間為()。
A. T+T+T3
B. max(T2, T3)+T
C. max(T, T)+T
D. max(T, T3)

06.D
處理該數據所用的總時間,即可以默認初始狀態緩沖區1已將數據傳送到用戶區。然后分情況討論:若T>T,即CPU處理數據塊比數據傳送慢,意味著IO設備可連續輸入,磁盤將數據傳送到緩沖區,再傳送到用戶區,與CPU處理數據可視為并行處理,時間的花費取決于CPU最大花費時間,則系統所用總時間為T。若T<T),即CPU處理數據比數據傳送快,此時CPU不必等待IO設備,磁盤將數據傳送到緩沖區,與緩沖區中數據傳送到用戶區及CPU數據處理可視為并行執行,則花費時間取決于磁盤將數據傳送到緩沖區所用時間T。所以選D。

07.若UO所花費的時間比 CPU的處理時間短得多,則緩沖區().
A.最有效
B.幾乎無效
c.均衡
D.以上答案都不對

07.B
緩沖區主要解決輸入/輸出速度比CPU處理的速度慢而造成數據積壓的矛盾。所以當I/O花費的時間比 CPU處理時間短很多時,緩沖區沒有必要設置。

08.緩沖區管理著重要考慮的問題是()。
A.選擇緩沖區的大小
B.決定緩沖區的數量
C.實現進程訪問緩沖區的同步
D.限制進程的數量

08.C
在緩沖機制中,無論是單緩沖、多緩沖還是緩沖池,由于緩沖區是一種臨界資源,所以在使用緩沖區時都有一個申請和釋放(即互斥)的問題需要考慮。

09.考慮單用戶計算機上的下列IO操作,需要使用緩沖技術的是().
I,圖形用戶界面下使用鼠標
I.多任務操作系統下的磁帶驅動器(假設沒有設備預分配)
Ⅲ.包含用戶文件的磁盤驅動器
IV.使用存儲器映射IO,直接和總線相連的圖形卡
A. I、III
B.II、IV
C.II、ImI、IV
D.全選

  1. D
    在鼠標移動時,若有高優先級的操作產生,為了記錄鼠標活動的情況,必須使用緩沖技術,Ⅰ正確。由于磁盤驅動器和目標或源IO設備間的吞吐量不同,必須采用緩沖技術,I正確。為了能使數據從用戶作業空間傳送到磁盤或從磁盤傳送到用戶作業空間,必須采用緩沖技術,II正確。為了便于多幅圖形的存取及提高性能,緩沖技術是可以采用的,特別是在顯示當前一幅圖形又要得到下一幅圖形時,應采用雙緩沖技術,IV正確。切八A9個月T中四
    綜上所述,本題正確答案為選項D。

10.以下()不屬于設備管理數據結構。
A.PCB
B. DCT
C. COCT
D. CHCT

  1. A
    DCT是設備控制表;COCT是控制器控制表;CHCT是通道控制表;PCB是進程控制塊,不屬于設備管理的數據結構。

11.下列()不是設備的分配方式。
A.獨享分配
B.共享分配
c.虛擬分配
D.分區分配

11.D
設備的分配方式主要有獨享分享、共享分配和虛擬分配,選項D是內存的分配方式。

12.下面設備中屬于共享設備的是().
A.打印機
B.磁帶機
C.磁盤
D.磁帶機和磁盤

12.c
共享設備是指在一個時間間隔內可被多個進程同時訪問的設備,只有磁盤滿足。打印機在一個時間間隔內被多個進程訪問時打印出來的文檔就會亂;磁帶機旋轉到所需的讀寫位置需要較長時間,若一個時間間隔內被多個進程訪問,磁帶機就只能一直旋轉,沒時間讀寫。

13.提高單機資源利用率的關鍵技術是().
A. SPOOLing技術
B.虛擬技術
C.交換技術
D.多道程序設計技術

13.D
在單機系統中,最關鍵的資源是處理器資源,最大化地提高處理器利用率,就是最大化地提高系統效率。多道程序設計技術是提高處理器利用率的關鍵技術,其他均為設備和內存的相關技術。

14、虛擬設備是靠()技術來實現的。
A.通道
B.緩沖
C. sPOOLing
D、控制器

  1. c
    SPOOLing 技術是操作系統中采用的一種將獨占設備改造為共享設備的技術。通過這種技術處理后的設備通常稱為虛擬設備。

  2. SPOOLing技術的主要目的是().
    A.提高CPU和設備交換信息的速度
    B.提高獨占設備的利用率
    C.減輕用戶編程負擔
    D.提供主、輔存接口

15.B
SPOOLing 技術可將獨占設備改造為共享設備,其主要目的是提高系統資源/獨占設備的利用率。

16.在采用SPOOLing 技術的系統中,用戶的打印結果首先被送到()。
A.磁盤固定區域
B.內存固定區域
C.終端
D.打印機

  1. A
    輸入井和輸出井是在磁盤上開辟的兩大存儲空間。輸入井模擬脫機輸入時的磁盤設備,用于暫存IO設備輸入的數據;輸出井模擬脫機輸出時的磁盤,用于暫存用戶程序的輸出數據。為了緩和CPU,打印結果首先送到位于磁盤固定區域的輸出井。

17.采用SPOOLing技術的計算機系統,外圍計算機需要()
A.一臺
B.多臺
C.至少一臺
D.0臺

17.D
SPOOLing技術需要使用磁盤空間(輸入井和輸出井)和內存空間(輸入/輸出緩沖區),不需要外圍計算機的支持。

  1. SPOOLing系統由()組成。
    A.預輸入程序、井管理程序和緩輸出程序
    B.預輸入程序、井管理程序和井管理輸出程序
    C.輸入程序、井管理程序和輸出程序
    D.預輸入程序、井管理程序和輸出程序

  2. A
    SPOOLing 系統主要包含三部分,即輸入井和輸出井、輸入緩沖區和輸出緩沖區以及輸入進程和輸出進程。這三部分由預輸入程序、井管理程序和緩輸出程序管理,以保證系統正常運行。

19.在SPOOLing 系統中,用戶進程實際分配到的是(
A.用戶所要求的外設
B.外存區,即虛擬設備
c.設備的一部分存儲區
D.設備的一部分空間

19.B
通過SPoOLing 技術可將一臺物理IO設備虛擬為I/O設備,同樣允許多個用戶共享一臺物理IO設備,所以 SPOOLing 并不是將物理設備真的分配給用戶進程。

20.下面關于SPOOLing系統的說法中,正確的是()。
A.構成SPOOLing系統的基本條件是有外圍輸入機與外圍輸出機
B.構成SPOOLing系統的基本條件是要有大容量、高速度的硬盤作為輸入井和輸出井C.當輸入設備忙時,SPOOLing 系統中的用戶程序暫停執行,待I/O空閑時再被喚醒執
行輸出操作
D. SPOOLing 系統中的用戶程序可以隨時將輸出數據送到輸出井中,待輸出設備空閑
時再由SPOOLing系統完成數據的輸出操作

20.D
構成SPOOLing系統的基本條件是不僅要有大容量、高速度的外存作為輸入井和輸出井,而且還要有SPOOLing 軟件,因此A錯誤、B不夠全面,同時利用SPOOLing 技術提高了系統和IO設備的利用率,進程不必等待IO操作的完成,因此C選項也不正確。

21.下面關于SPOOLing 的敘述中,不正確的是().
A.SPOOLing 系統中不需要獨占設備
B. SPOOLing系統加快了作業執行的速度
c. SPOOLing系統使獨占設備變成共享設備
D. SPOOLing系統提高了獨占設備的利用率

  1. A
    因為SPOOLing 技術是一種典型的虛擬設備技術,它通過將獨占設備虛擬成共享設備,使得多個進程共享一個獨占設備,從而加快作業的執行速度,提高獨占設備的利用率。既然是將獨占設備虛擬成共享設備,所以必須先有獨占設各才行。√H個同T寧I

22.()是操作系統中采用的以空間換取時間的技術。
A. SPOOLing 技術﹐
B.虛擬存儲技術
C.覆蓋與交換技術
D.通道技術

  1. A
    SPOOLing 技術需有高速大容量且可隨機存取的外存支持,通過預輸入及緩輸出來減少CPU等待慢速設備的時間,將獨享設備改造成共享設備。

23.采用假脫機技術,將磁盤的一部分作為公共緩沖區以代替打印機,用戶對打印機的操作
實際上是對磁盤的存儲操作,用以代替打印機的部分由()完成。
A.獨占設備
B.共享設備
C.虛擬設備
D.一般物理設備

  1. C
    打印機是獨享設備,利用SPOOLing 技術可將打印機改造為可供多個用戶共享的虛擬設備。

24.下面關于獨占設備和共享設備的說法中,不正確的是().
A.打印機、掃描儀等屬于獨占設備
B.對獨占設備往往采用靜態分配方式
C.共享設備是指一個作業尚未撤離,另一個作業即可使用,但每個時刻只有一個作業使用D.對共享設備往往采用靜態分配方式

24.D
獨占設備采用靜態分配方式,而共享設備采用動態分配方式。

25.【2009統考真題】程序員利用系統調用打開I/O設備時,通常使用的設備標識是( )
A.邏輯設備名
B.物理設備名
c.主設備號
D.從設備號

25.A
用戶程序對I/O設備的請求采用邏輯設備名,而程序實際執行時使用物理設備名,它們之間的轉換是由設備無關軟件層完成的。主設備和從設備是總線仲裁中的概念。

  1. 【2011統考真題】某文件占10個磁盤塊,現要把該文件的磁盤塊逐個讀入主存緩沖區,
    并且送到用戶區進行分析,假設一個緩沖區與一個磁盤塊大小相同,把一個磁盤塊讀入緩沖區的時間為100us,將緩沖區的數據傳送到用戶區的時間是50us,CPU對一塊數據進行分析的時間為50us。在單緩沖區和雙緩沖區結構下,讀入并分析完該文件的時間分別是()。
    A. 1500us, 1000us B. 1550us, 1100us C. 1550us, 1550us D.2000us, 2000us

26.B
在單緩沖區中,當上一個磁盤塊從緩沖區讀入用戶區完成時,下一磁盤塊才能開始讀入,也就是當最后一塊磁盤塊讀入用戶區完畢時所用的時間為150×10= 1500us,加上處理最后一個磁盤塊的時間50us,得1550us。雙緩沖區中,不存在等待磁盤塊從緩沖區讀入用戶區的問題,10個磁盤塊可以連續從外存讀入主存緩沖區,加上將最后一個磁盤塊從緩沖區送到用戶區的傳輸時間50us及處理時間50us,也就是100×10+ 50+ 50= 1100us。

27.【2012統考真題】下列選項中,不能改善磁盤設備UO性能的是().
A.重排IO請求次序
B.在一個磁盤上設置多個分區
C.預讀和滯后寫
D、優化文件物理塊的分布

27.B
對于選項A,重排 IO請求次序也就是進行IO調度,使進程之間公平地共享磁盤訪問,減少I/O完成所需要的平均等待時間。對于選項C,緩沖區結合預讀和滯后寫技術對于具有重復性及陣發性的IO進程改善磁盤IO性能很有幫助。對于選項D,優化文件物理塊的分布可以減少尋找時間與延遲時間,從而提高磁盤性能。在一個磁盤上設置多個分區與改善設備I/O性能并無多大聯系,相反還會帶來處理的復雜性,降低利用率。

28.【2013統考真題】設系統緩沖區和用戶工作區均采用單緩沖,從外
設讀入一個數據塊到系統緩沖區的時間為100,從系統緩沖區讀入一個數據塊到用戶工作區的時間為5,對用戶工作區中的一個數據塊進行分析的時間為90(如右圖所示)。進程從外設讀入并分析2個數據塊的最短時間是()。

A.200
B.295
c. 300
D.390

  1. C
    數據塊1從外設到用戶工作區的總時間為105,在這段時間中,數據塊⒉未進行操作。在數據塊1進行分析處理時,數據塊⒉從外設到用戶工作區的總時間為105,這段時間是并行的。再加上數據塊2進行處理的時間90,總共是300,答案為選項C。

  2. 【2015統考真題】在系統內存中設置磁盤緩沖區的主要目的是(
    A.減少磁盤IO次數
    B.減少平均尋道時間
    C.提高磁盤數據可靠性
    D.實現設備無關性

  3. A
    磁盤和內存的速度差異,決定了可以將內存經常訪問的文件調入磁盤緩沖區,從高速緩存中復制的訪問比磁盤IO的機械操作要快很多。

  4. 【2016統考真題】下列關于SPOOLing技術的敘述中,錯誤的是()。
    A.需要外存的支持
    B.需要多道程序設計技術的支持
    C.可以讓多個作業共享一臺獨占式設備
    D.由用戶作業控制設備與輸入/輸出井之間的數據傳送

  5. D
    SPOOLing利用專門的外圍控制機,將低速IO設備上的數據傳送到高速磁盤上,或者相反。SPOOLing 的意思是外部設備同時聯機操作,又稱假脫機輸入/輸出操作,是操作系統中采用的一項將獨占設備改造成共享設備的技術。高速磁盤即外存,選項A正確。SPOOLing 技術需要進行輸入/輸出操作,單道批處理系統無法滿足,選項B正確。SPOOLing技術實現了將獨占設備改造成共享設備的技術,選項C正確。設備與輸入井/輸出井之間數據的傳送是由系統實現的,選項D錯誤。.

31.【2020統考真題】對于具備設備獨立性的系統,下列敘述中,錯誤的是()。
A.可以使用文件名訪問物理設備
B.用戶程序使用邏輯設備名訪問物理設備
C.需要建立邏輯設備與物理設備之間的映射關系
D.更換物理設備后必須修改訪問該設備的應用程序

31.D
設備可視為特殊文件,選項A正確。用戶使用邏輯設備名來訪問物理文件,有利于設備獨立性,選項B正確。通過邏輯設備名訪問物理設備時,需要建立邏輯設備和物理設備之間的映射關系,選項C正確。應用程序按邏輯設備名訪問設備,再經驅動程序的處理來控制物理設備,若更換物理設備,則只需更換驅動程序,而無須修改應用程序.#項1進涅月T葉

32.【2022統考真題】下列關于驅動程序的敘述中,不正確的是()。
A.驅動程序與IO控制方式無關
B.初始化設備是由驅動程序控制完成的
C.進程在執行驅動程序時可能進入阻塞態
D.讀/寫設備的操作是由驅動程序控制完成的

  1. A
    廠家在設計一個設備時,通常會為該設備編寫驅動程序,主機需要先安裝驅動程序,才能使用設備。當一個設備被連接到主機時,驅動程序負責初始化設備(如將設備控制器中的寄存器初始化),選項B正確。當進程在執行驅動程序時,可能會因為設備忙碌而進入阻塞態,選項C正確。設備的讀/寫操作本質就是在設備控制器和主機之間傳送數據,而只有廠家知道設備控制器的內部實現,因此也只有廠家提供的驅動程序能控制設備的讀/寫操作,選項D正確。廠家會根據設備特性,在驅動程序中實現一種合適的IO控制方式,選項A錯誤。

5.3.6本節習題精選
一、單項選擇題
01.磁盤是可共享設備,但在每個時刻()作業啟動它。
A.可以由任意多個
B.能限定多個
c.至少能由一個
D.至多能由一個

01.D
磁盤是可共享設備(分時共享),是指某段時間內可以有多個用戶進行訪問。但某一時刻只能有一個作業可以訪問。

02.既可以順序讀寫,又可以按仕意次序項的行 (磁盤
I.光盤
II.磁帶
II.U盤
IV.磁盤
A.II、III、IV
B.I、III、IV
C. II、IV
D.僅IV

02.B
順序訪問按從前到后的順序對數據進行讀寫操作,如磁帶。直接訪問或隨機訪問,則可以按任意的次序對數據進行讀寫操作,如光盤、磁盤、U盤等。

03.磁盤調度的目的是縮短()時間。
A.找道
B.延遲
C.傳送
D、啟動

03.A
磁盤調度是對訪問磁道次序的調度,若沒有合適的磁盤調度,則尋找時間會大大增加。

04.磁盤上的文件以()為單位讀/寫。
A.塊
B.記錄
C.柱面
D.磁道

04.A
文件以塊為單位存放于磁盤中,文件的讀寫也以塊為單位。

05.在磁盤中讀取數據的下列時間中,影響最大的是()。
A.處理時間
B.延遲時間
C.傳送時間
D、尋找時間

05.D
磁盤調度中,對讀/寫時間影響最大的是尋找時間,尋找過程為機械運動,時間較長,影響較大。

06.硬盤的操作系統引導扇區產生在()。
A.對硬盤進行分區時
B.對硬盤進行低級格式化時
C.硬盤出廠時自帶
D.對硬盤進行高級格式化時

06.D
操作系統的引導程序位于磁盤活動分區的引導扇區,因此必然產生在分區之后。分區是將磁盤分為由一個或多個柱面組成的分區(即C盤、D盤等形式),每個分區的起始扇區和大小都記錄在磁盤主引導記錄的分區表中。而對于高級格式化(創建文件系統),操作系統將初始的文件系統數據結構存儲到磁盤上,文件系統在磁盤上布局介紹詳見第4章。

07.在下列有關旋轉延遲的敘述中,不正確的是()。
A.旋轉延遲的大小與磁盤調度算法無關
B.旋轉延遲的大小取決于磁盤空閑空間的分配程序
C.旋轉延遲的大小與文件的物理結構有關
D.扇區數據的處理時間對旋轉延遲的影響較大

07.D
磁盤調度算法是為了減少尋找時間。扇區數據的處理時間主要影響傳輸時間。選項B、.C均與旋轉延遲有關,文件的物理結構與磁盤空間的分配方式相對應,包括連續分配、鏈接分配和索引分配。連續分配的磁盤中,文件的物理地址連續;而鏈接分配方式的磁盤中,文件的物理地址不連續,因此與旋轉延遲都有關。

08.下列算法中,用于磁盤調度的是()。
A.時間片輪轉調度算法
B. LRU算法
C.最短尋找時間優先算法
D.優先級高者優先算法

  1. C
    選項A是進程調度算法;選項B是頁面淘汰算法,選項D可以用于進程調度和作業調度。只有選項C是磁盤調度算法。

09.以下算法中,()可能出現“饑餓”現象。
A.電梯調度
B.最短尋找時間優先
C.循環掃描算法
D.先來先服務

09.B
最短尋找時間優先算法中,當新的距離磁頭比較近的磁盤訪問請求不斷被滿足時,可能會導致較遠的磁盤訪問請求被無限延遲,從而導致“饑餓”現象。

10.在以下算法中,()可能會隨時改變磁頭的運動方向。
A.電梯調度
B.先來先服務
C.循環掃描算法
D.以上答案都不對

10.B
先來先服務算法根據磁盤請求的時間先后進行調度,因而可能隨時改變磁頭方向。而電梯調度、循環掃描算法均限制磁頭的移動方向。

11.已知某磁盤的平均轉速為r秒/轉,平均尋找時間為T秒,每個磁道可以存儲的字節數為
N,現向該磁盤讀寫b字節的數據,采用隨機尋道的方法,每道的所有扇區組成一個簇,其平均訪問時間是()。
A. (r+ T)b/N
B. b/NT
C. (b/N+ T)r
D.bTIN+r

11.A
將每道的所有扇區組成一個簇,意味著可以將一個磁道的所有存儲空間組織成一個數據塊組,這樣有利于提高存儲速度。讀寫磁盤時,磁頭首先找到磁道,稱為尋道,然后才可以將信息從磁道里讀出或寫入。讀寫完一個磁道后,磁頭會繼續尋找下一個磁道,完成剩余的工作,所以在隨機尋道的情況下,讀寫一個磁道的時間要包括尋道時間和讀寫磁道時間,即T+r秒。由于總的數據量是b字節,它要占用的磁道數為b/N個,所以總平均讀寫時間為(r+T)b/N秒。

12.設磁盤的轉速為3000轉/分,盤面劃分為10個扇區,則讀取一個扇區的時間為()
A.20ms
B. 5ms
C.2ms
D. 1ms

  1. C
    訪問每條磁道的時間為60/3000s =0.02s= 20ms,即磁盤旋轉一圈的時間為20ms,每個盤面10個扇區,因此讀取一個扇區的時間為20ms/10=2ms。

13.一個磁盤的轉速為7200轉/分,每個磁道有160個扇區,每扇區有512B,那么理想情況
下,其數據傳輸率為().
A.7200×160KB/s
B.7200KB/s
c. 9600KB/s
D. 19200KB/s

13.C
磁盤的轉速為7200轉/分= 120轉/秒,轉一圈經過160個扇區,每個扇區為512B,所以數據傳輸率=120×160×512/1024KB/s = 9600KB/s。

14.設一個磁道訪問請求序列為55,58,39,18,90,160,150,38,184,磁頭的起始位置為100,
若采用SSTF(最短尋道時間優先)算法,則磁頭移動()個磁道。
A. 55
B.184
C. 200
D.248

14.D
對于SSTF 算法,尋道序列應為100,90,58,55,39,38,18,150,160,184;移動磁道次數分別為10,32,3,16,1,20,132,10,24,故磁頭移動總次數為248。另外也可以畫出草圖來解答,從100尋道到18需要82次,然后加上從18到184需要的184-18= 166次,共移動166+82=248次。

15.假定磁帶的記錄密度為400字符/英寸( l in=0.0254m),每條邏輯記錄為80字符,塊間
隙為0.4英寸,現有3000個邏輯記錄需要存儲,存儲這些記錄需要長度為()的磁帶,磁帶利用率是()。
A.1500英寸,33.3%
B.1500英寸,43.5%
C. 1800英寸,33.3%
D.1800英寸,43.5%

15.C
一個邏輯記錄所占的磁帶長度為80/400=0.2英寸,因此存儲3000條邏輯記錄需要的磁帶長度為(0.2+0.4)×3000= 1800英寸,利用率為0.2/(0.2+0.4)= 33.3%。

16.下列關于固態硬盤((SSD)的說法中,錯誤的是(石).
A.基于閃存的存儲技術
B.隨機讀寫性能明顯高于磁盤
C.隨機寫比較慢
D.不易磨損

16.D
固態硬盤基于閃存技術,沒有機械部件,隨機讀寫不需要機械操作,因此速度明顯高于磁盤,選項A和B正確。選項C已在考點講解中解釋過。SSD的缺點是容易磨損,洗項D錯誤。

17.下列關于固態硬盤的說法中,正確是的()。
A.固態硬盤的寫速度比較慢,性能甚至弱于常規硬盤
B.相比常規硬盤,固態硬盤優勢主要體現在連續存取的速度
C.靜態磨損均衡算法比動態磨損均衡算法的表現更優秀
D.寫入時,每次選擇使用長期存放數據而很少擦寫的存儲塊

  1. C
    SSD的寫速度慢于讀速度,但不至于比常規機械硬盤差,選項A錯誤。SSD基于閃存技術,沒有機械部件,隨機存取速度很快,傳統機械硬盤因為需要尋道和找扇區的時間,所以隨機存取速度慢;傳統機械硬盤轉速很快,連續存取比隨機存取快得多,因此SSD 的優勢主要體現在隨機存取的速度上,選項B錯誤。靜態磨損算法在沒有寫入數據時,SSD 監測并自動進行數據分配,因此表現更為優秀,選項C正確。因為閃存的擦除速度較慢,若每次都選擇寫入存放有數據的塊,會極大地降低寫入速度,選項D混淆了靜態磨損均衡,靜態磨損均衡是指在沒有寫入數據時,SSD監測并自動進行數據分配,從而使得各塊的擦寫更加均衡,并不是說寫入時每次都選擇存放老數據的塊。

18.【2009統考真題】假設磁頭當前位于第105道,正在向磁道序號增加的方向移動。現有
一個磁道訪問請求序列為35,45,12,68,110,180,170,195,采用SCAN調度(電梯調度)算法得到的磁道訪問序列是()。
A. 110,170,180,195,68,45,35,12
B.110,68,45,35,12,170,180,195
C. 110,170,180,195,12,35,45,68
D.12,35,45,68,110,170,180,195

  1. A
    SCAN算法的原理類似于電梯。首先,當磁頭從105道向序號增加的方向移動時,便會按照從小到大的順序服務所有大于105的磁道號(110,170,180,195);往回移動時又會按照從大到小的順序進行服務(68,45,35,12),結果如下圖所示。

19.【2015統考真題】某硬盤有200個磁道(最外側磁道號為0),磁道訪問請求序列為130,
42,180,15,199,當前磁頭位于第58號磁道并從外側向內側移動。按照SCAN調度方法處理完上述請求后,磁頭移過的磁道數是()。
A. 208
B.287
C. 325
D.382

19.c
SCAN算法就是電梯調度算法。顧名思義,若開始時磁頭向外移動,就一直要到最外側,然后返回向內側移動,就像電梯若往下則一直要下到底層才會再上升一樣。當前磁頭位于58號并從外側向內側移動,先依次訪問130、180和199,然后返回向外側移動,依次訪問42和15,因此磁頭移過的磁道數是(199-58)+ (199-15)= 325。

  1. 【2017統考真題】下列選項中,磁盤邏輯格式化程序所做的工作是().
    I.對磁盤進行分區
    II.建立文件系統的根目錄II.確定磁盤扇區校驗碼所占位數
    IV.對保存空閑磁盤塊信息的數據結構進行初始化A.僅II
    B.僅I、IV
    c.僅III、IV
    D.僅I、II、IV

  2. B
    新磁盤是空白的,必須分成各個扇區以便磁盤控制器能讀和寫,這個過程稱為低級格式化(或物理格式化)。低級格式化為磁盤的每個扇區采用特別的數據結構,包括校驗碼,IⅢI錯誤。為了使用磁盤存儲文件,操作系統還需要將自己的數據結構記錄在磁盤上。這分為兩步。第一步是將磁盤分為由一個或多個柱面組成的分區,每個分區可以作為一個獨立的磁盤,Ⅰ錯誤。在分區之后,第二步是邏輯格式化(創建文件系統)。在這一步,操作系統將初始的文件系統數據結構存儲到磁盤上。這些數據結構包括空閑和已分配的空間及一個初始為空的目錄,I、IⅣ正確。

21.【2017統考真題】某文件系統的簇和磁盤扇區大小分別為1KB和512B。若一個文件的
大小為1026B,則系統分配給該文件的磁盤空間大小是().
A.1026B
B.1536B
C.1538B
D.2048B

21.D
絕大多數操作系統為改善磁盤訪問時間,以簇為單位進行空間分配,因此答案選擇選項D。

22.【2018統考真題】系統總是訪問磁盤的某個磁道而不響應對其他磁道的訪問請求,這種
現象稱為磁臂黏著。下列磁盤調度算法中,不會導致磁臂黏著的是().
A.先來先服務( FCFS)
B.最短尋道時間優先( SSTF )
C.掃描算法( SCAN )
D.循環掃描算法( CSCAN)

22.A
當系統總是持續出現某個磁道的訪問請求時,均持續滿足最短尋道時間優先、掃描算法和循環掃描算法的訪問條件,會一直服務該訪問請求。而先來先服務按照請求次序進行調度,比較公平,因此選擇選項A。

  1. 【2021統考真題】某系統中磁盤的磁道數為200 (0~199),磁頭當前在184號磁道上。
    用戶進程提出的磁盤訪問請求對應的磁道號依次為184,187,176,182,199。若采用最短尋道時間優先調度算法( SSTF)完成磁盤訪問,則磁頭移動的距離(磁道數)是().A. 37
    B.38
    C.41
    D.42

  2. C
    最短尋道時間優先算法總是選擇調度與當前磁頭所在磁道距離最近的磁道。可以得出訪問序列184,182,187,176,199,從而求出移動距離之和是0+2+5+11+23=41。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/88255.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/88255.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/88255.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C語言extern的用法(非常詳細,通俗易懂)

以往我們都是將所有的代碼寫到一個源文件里面&#xff0c;對于小程序&#xff0c;代碼不過幾百行&#xff0c;這或許無可厚非&#xff0c;但當程序膨脹代碼到幾千行甚至上萬行后&#xff0c;就應該考慮將代碼分散到多個文件中&#xff0c;否則代碼的閱讀和維護將成為一件痛苦的…

Git【開源分布式版本控制工具】安裝-配置-常用指令-Git遠程倉庫-IDEA使用Git

參考博客&#xff1a;Git&#xff08;分布式版本控制工具&#xff09;_為什么嗶哩嗶哩有些視頻沒有字幕-CSDN博客 Git就是一個類似于百度云盤的倉庫&#xff1b;重點是要掌握使用idea操作Git&#xff0c;企業用的最多&#xff0c;一般不會去使用命令 Git通過不斷階段保存文件…

JavaScript數組鍵值去重方法

使用 filter 和 Map 根據鍵值去重我來詳細解釋方法2&#xff0c;這是一種高效且簡潔的數組去重方法&#xff0c;特別適合根據對象中的某個鍵值進行去重操作。完整代碼function uniqueByKey(arr, key) {return [...new Map(arr.map(item > [item[key], item])).values()]; }分…

【機器學習筆記Ⅰ】9 特征縮放

特征縮放&#xff08;Feature Scaling&#xff09;詳解 特征縮放是機器學習數據預處理的關鍵步驟&#xff0c;旨在將不同特征的數值范圍統一到相近的尺度&#xff0c;從而加速模型訓練、提升性能并避免某些特征主導模型。1. 為什么需要特征縮放&#xff1f; (1) 問題背景 量綱不…

10.9 大模型訓練數據優化實戰:3步讓準確率從68%飆升至79%

大模型訓練過程分析與數據優化 一、訓練過程關鍵指標分析 (插入mermaid流程圖:訓練過程監控與優化閉環) #mermaid-svg-Gni031LkHA93fQYM {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-Gni031LkHA93fQYM .erro…

深度學習模型在C++平臺的部署

一、概述深度學習模型能夠在各種生產場景中發揮重要的作用&#xff0c;而深度學習模型往往在Python環境下完成訓練&#xff0c;因而訓練好的模型如何在生產環境下實現穩定可靠的部署&#xff0c;便是一個重要內容。C開發平臺廣泛存在于各種復雜的生產環境&#xff0c;隨著業務效…

若以部署在linux,nginx反向代理,登錄404,刷新404問題

history模式在router下面的index.js文件的最下面history: createWebHistory(import.meta.env.VITE_APP_CONTEXT_PATH),這兩個配置文件都加上然后nginx里面的配置是這個位置按照實際情況&#xff0c;我的是用docker掛載的&#xff0c;所以在/usr/share/nginx/html/lw-clothing為…

SQL Server通過存儲過程實現HTML頁面生成

引言在現代企業應用中&#xff0c;數據可視化是提升決策效率的關鍵。SQL Server作為核心數據庫管理系統&#xff0c;不僅處理數據存儲和查詢&#xff0c;還具備強大的擴展能力。通過存儲過程直接生成HTML頁面&#xff0c;企業能減少對中間層&#xff08;如Web服務器或應用程序&…

qt繪制餅狀圖并實現點擊即放大點擊部分

做得比較low #ifndef TEST_POWER_H #define TEST_POWER_H#include <QWidget> #include <QtMath> #include <QPainter> #include <QPushButton> #include <QVector> #include <cmath>namespace Ui { class test_power; } struct PieData {Q…

HashMap的put、get方法詳解(附源碼)

put方法 HashMap 只提供了 put 用于添加元素&#xff0c;putVal 方法只是給 put 方法調用的一個方法&#xff0c;并沒有提供給用戶使用。 對 putVal 方法添加元素的分析如下&#xff1a;如果定位到的數組位置沒有元素 就直接插入。如果定位到的數組位置有元素就和要插入的 key …

雙立柱式帶鋸床cad【1張總圖】+設計說明書+絳重

雙立柱式帶鋸床 摘 要 隨著機械制造技術的進步&#xff0c;制造業對于切割設備的精度、效率和穩定性要求越來越高。雙立柱式帶鋸床作為一種重要的切割設備&#xff0c;必須能夠滿足工業生產對于高精度、高效率的需求。 雙立柱式帶鋸床是一種重要的工業切割設備&#xff0c;其結…

在線JS解密加密配合ECC保護

在線JS解密加密配合ECC保護 1. ECC加密簡介 定義 ECC&#xff08;Elliptic Curve Cryptography&#xff09;是一種基于橢圓曲線數學的公鑰加密技術&#xff0c;利用橢圓曲線離散對數問題&#xff08;ECDLP&#xff09;實現高安全性。 背景 1985年&#xff1a;Koblitz&#xff0…

使用 Docker Compose 簡化 INFINI Console 與 Easysearch 環境搭建

前言回顧 在上一篇文章《搭建持久化的 INFINI Console 與 Easysearch 容器環境》中&#xff0c;我們詳細介紹了如何使用基礎的 docker run 命令&#xff0c;手動啟動和配置 INFINI Console (1.29.6) 和 INFINI Easysearch (1.13.0) 容器&#xff0c;并實現了關鍵數據的持久化&…

Word 怎么讓段落對齊,行與行之間寬一點?

我們來分兩步解決&#xff1a;段落對齊 和 調整行距。 這兩個功能都集中在Word頂部的【開始】選項卡里的【段落】區域。 第一步&#xff1a;讓段落對齊 “對齊”指的是段落的左右邊緣如何排列。通常有四種方式。 操作方法&#xff1a;將鼠標光標點在你想修改的那個段落里的任意…

Attention機制完全解析:從原理到ChatGPT實戰

一、Attention的本質與計算步驟 1.1 核心思想 動態聚焦&#xff1a;Attention是一種信息分配機制&#xff0c;讓模型在處理輸入時動態關注最重要的部分。類比&#xff1a;像人類閱讀時用熒光筆標記關鍵句子。 1.2 計算三步曲&#xff08;以"吃蘋果"為例&#xff09; …

2025年3月青少年電子學會等級考試 中小學生python編程等級考試三級真題答案解析(判斷題)

博主推薦 所有考級比賽學習相關資料合集【推薦收藏】1、Python比賽 信息素養大賽Python編程挑戰賽 藍橋杯python選拔賽真題詳解

HTML5 新特性詳解:從語義化到多媒體的全面升級

很多小伙伴本都好奇&#xff1a;HTML5有什么功能是以前的HTML沒有的&#xff1f; 今天就給大家說道說道 HTML5 作為 HTML 語言的新一代標準&#xff0c;帶來了諸多革命性的新特性。這些特性不僅簡化了前端開發流程&#xff0c;還大幅提升了網頁的用戶體驗和功能性。本文將深入…

mac安裝docker

1、下載docker-desktop https://www.docker.com/products/docker-desktop/2、安裝&#xff0c;雙擊安裝 3、優化docker配置 默認配置 cat ~/Library/Group\ Containers/group.com.docker/settings-store.json {"AutoStart": false,"DockerAppLaunchPath": …

mapbox進階,繪制不隨地圖旋轉的矩形,保證矩形長寬沿屏幕xy坐標方位

????? 主頁: gis分享者 ????? 感謝各位大佬 點贊?? 收藏? 留言?? 加關注?! ????? 收錄于專欄:mapbox 從入門到精通 文章目錄 一、??前言1.1 ??mapboxgl.Map 地圖對象1.2 ??mapboxgl.Map style屬性1.3 ??line線圖層樣式1.4 ??circle點圖層樣…

${project.basedir}延申出來的Maven內置的一些常用屬性

如&#xff1a;${project.basedir} 是 Maven 的內置屬性&#xff0c;可以被 pom.xml 直接識別。它表示當前項目的根目錄&#xff08;即包含 pom.xml 文件的目錄&#xff09;。 Maven 內置的一些常用屬性&#xff1a; 項目相關&#xff1a; ${project.basedir} <!-- 項…