【選擇題】
【D】01.在分時多工(time-sharing multitasking)作業系統核心中,下列何者不是因為時間片段(time slice)用盡時導致上下文交換(context switch)必定要執行的動作? (A)儲存目前執行中程序的狀態(process state) (B)中斷處理 (C)CPU暫存器的設定 (D)把目前執行中的程序所修改過的虛擬記憶體分頁(pages)回存到硬碟中。[109地方四等資處]
執行中的程序會繼續等待,不會回存到硬碟中,才不會造成資料不一致。
【B】02.假設一台單CPU的電腦採用循環(round-robin)分時多工作業系統,而且每次進行上下文交換(context switch)所花的時間是500微秒(microseconds)。假設現在所有的工作都是純粹的計算行為,I/O部分的量小到可以忽略,而且所有工作的優先權一樣高。如果要讓上下文交換的執行時間占CPU總時間的比例不大於5%,那麼系統的時間片斷(time slice)至少要定為多少毫秒(milliseconds)? (A)10 (B)9.5 (C)9
(D)8.5。[109地方四等資處]
500µs = 0.5ms
CPU總時間 = 上下文交換執行時間 + 系統的時間片斷
上下文交換執行時間:系統的時間片斷 = 5%:95% = 0.5ms:9.5ms
【C】03.有關作業系統的主要功能,下列何者錯誤? (A)記憶體管理 (B)檔案系統管理 (C)電子郵件管理 (D)周邊設備管理。[109身心五等]
電子郵件管理爲郵件應用程式的功能。
【D】04.某作業系統中有五個程序P1~P5, 四種資源類型(Resource Types):資源類型A有7個例子(Instances), 資源類型B有5個例子, 資源類型C有6個例子, 資源類型D有7個例子, 以下為某一時間T0時的系統資源狀態:程序P1~P5對於A, B, C, D四種資源類型所得到的分配(Allocation)情形為P1(0, 1, 0, 1), P2(4, 0,
2, 1), P3(2, 1, 2, 0), P4(1, 1, 0, 3), P5(0, 0, 2, 0), 程序P1~P5對於A, B, C, D四種資源類型的最大需求(Maximum)情形為P1(6, 4, 3, 1), P2(4, 2,
2, 2), P3(6, 1, 2, 1), P4(2, 2, 2, 3), P5(7, 3, 3, 1), 此時作業系統中A, B, C, D四種資源類型的可用(Available)數量為(0, 2, 0, 2), 則下列敘述何者正確? (A)系統處於死結(Deadlock)狀態 (B)系統處於不安全(Unsafe)狀態 (C)此系統處於安全(Safe)狀態, 其安全順序可為(Safe Sequence)P2, P3,
P5, P1, P4 (D)此系統處於安全(Safe)狀態, 其安全順序可為(Safe Sequence)P2, P4,
P3, P1, P5。[109普考資處]
要判斷是否能正常運作, 只要將可用資源加上分配的資源是否足夠最大需求即可。
(0, 2, 0, 2) + P2(4, 0, 2, 1) = (4, 2, 2, 3)>P2(4, 2, 2, 2)
(4, 2, 2, 3) + P4(1, 1, 0, 3) = (5, 3, 2, 6)>P4(2, 2, 2, 3)
(5, 3, 2, 6) + P3(2, 1, 2, 0) = (7, 4, 4, 6)>P3(6, 1, 2, 1)
(7, 4, 4, 6) + P1(0, 1, 0, 1) = (7, 5, 4, 7)>P1(6, 4, 3, 1)
(7, 5, 4, 7) + P5(0, 0, 2, 0) = (7, 5, 6, 7)>P5(7, 3, 3, 1)
【B】05.有適當保護機制的作業系統核心所管理的程序,通常可以分成核心空間(kernel space)下的程序,和使用者空間(user space)下的程序兩大類。下列敘述何者錯誤? (A)核心空間的程序比使用者空間的程序具有較高的權限 (B)驅動程式(device driver)一定是要從頭到尾在核心空間下執行 (C)應用程式一般是在使用者空間下執行,只有在使用到作業系統核心提供的服務時,才可能切換到核心空間執行 (D)中斷處理必須在核心空間下進行。[109關務四等]
(B)許多應用程式,包含驅動程式,須由核心空間和使用者空間的程序透過相互交換資訊來完成任務。
【C】06.在多工作業系統中,有些輸出裝置(例如印表機)一次只能處理一個輸出的工作,為了讓多個程序(processes)能同時使用這個裝置,不用等待其它先佔有這個裝置的程序使用完畢,應該使用下列那一個技術? (A)記憶體映射的輸入輸出(memory mapped I/O) (B)分時多工(time sharing) (C)排存(spooling) (D)佔先式多工處理(preemptive
multitasking)。[109關務四等]
排存:利用緩衝區暫存周邊設備的資料,避免CPU與I/O設備間直接工作,提升CPU的工作效率。
【B】07.下列有關作業系統的敘述何者錯誤? (A)作業系統用於協調管理應用程式(application, APP)的CPU控制、記憶體分配、硬體控制等工作 (B)作業系統正常運行時,因為要管理APP,所需CPU執行時間分配常常超過50%以上 (C)微軟-Windows10與Linux-Ubuntu均為作業系統 (D)手機裡面也有作業系統。[110身心五等]
正確有(A)(C)(D)。
【D】08.一個多工優先權作業系統核心(multitasking prioritized OS
kernel)必須把每一個程序的狀態存在其工作控制區塊(task control block)中。下列那一項資訊不是工作控制區塊所要存的資訊? (A)CPU暫存器的值 (B)程序的優先權 (C)程序的執行模式(準備執行、等待狀態、或休眠等等) (D)程序所使用的輸出輸入裝置列表。[110身心四等]
工作控制區塊:記錄程序相關狀態資訊的資料區。
1.程序狀態。2.程式計數器。3.CPU暫存器。4.CPU排班法。5.記憶體管理。6.會計資訊。7.輸入輸出狀態。
【D】09.下列那一個不是作業系統(Operating System)主要提供的功能? (A)為正在執行的程式提供執行時額外需要的記憶體空間 (B)管理電腦硬體設備的輸出與輸入裝置 (C)顯示系統錯誤訊息給應用程式或是使用者 (D)解譯程式指令並且完成程式指令的計算功能。[110國安五等資處]
作業系統的功能:1.提供使用者操作介面。2.提供程式執行環境。3.分配及管理系統資源。4.監視系統防止錯誤發生。5.提供網路服務與安全管理。
【D】10.下列那一個軟體模組和作業系統核心的本文切換(context switch)的行為並無直接關聯? (A)中斷處理(interrupt handling) (B)排程器(scheduler) (C)調度器(dispatcher) (D)命令列殼層(command shell)。[110普考資處]
(A)在接受到中斷時,CPU必須進行上下文交換。
(B)排程器:由就緒佇列(Ready Queue)中選出下一個執行的行程。
(C)調度器:當排程器選出下一個行程後,即將工作交給分派器執行下列動作
1.本文切換
2.將行程轉換至使用者模式,排程在核心模式進行
3.重新回到使用者的程式,從適當位址開始執行
【C】11.下列那一項非作業系統的四大資源管理項目? (A)記憶體管理(Memory Management) (B)程序管理(Process Management) (C)函式庫管理(Library Management) (D)設備管理(Device Management)。[111地方四等資處]
作業系統的四大資源管理:記憶體管理、程序管理、設備管理、檔案管理(資訊管理)
【B】12.有關作業系統中的Critical section problem,主要是在討論 (A)CPU job scheduling
(B)Process synchronization (C)Deadlock prevention (D)Memory management。[111身心四等]
臨界區段問題(critical-section problem)是存取共用資源的程式片段,而共用資源無法同時被多個執行緒存取,需要Process
Synchronization(同步)來確保程式的正確性。
【A】13.下列何者不屬於作業系統的主要功能? (A)即時通訊 (B)行程管理 (C)記憶體管理 (D)裝置驅動程式。[111初考資處]
1.提供使用者操作介面:GUI。
2.提供程式執行環境。
3.分配及管理系統資源:程序管理、記憶體管、檔案管理、輸出/入管理。
4.監視系統防止錯誤發生。
5.提供網路服務與安全管理。
【D】14.現代的作業系統通常在下列那兩種模式下交互運行?①使用者模式(user mode)②實體模式(physical mode)③特權模式(privileged mode)④核心模式(kernel mode) (A)使用者模式與實體模式 (B)實體模式與特權模式 (C)特權模式與核心模式 (D)核心模式與使用者模式。[111初考資處]
使用者模式(user mode)和核心模式(kernel mode,亦稱監督模式supervisor mode,系統模式system mode,特權模式privileged mode)。在作業系統啟動時,硬體的操控由核心模式開始,然後將系統程式從儲存體載入到記憶體,接著在使用者模式執行使用者的行程。
【B】15.下列何者被作業系統用來預防使用者的程序因為無窮迴圈占據整個電腦系統,導致其他程序無法獲得CPU執行? (A)快取控制器(cache controller) (B)計時器(timer) (C)程式計數器(program counter) (D)系統除錯器(system debugger)。[111初考資處]
利用計時器(timer)紀錄process使用CPU的最大時限。當process取得CPU後,計時器就開始遞減直到0,會發出time-out interrupt,通知作業系統強制process結束CPU的使用權。
【D】16.根據一般作業系統的概念,一個程序(process)可能的狀態包含了建立(new)、執行(running)、就緒(ready)、結束(terminated)以及另一狀態為何? (A)忙碌(busy) (B)恢復(resumed) (C)排程(scheduling) (D)等待(waiting)。[111關務四等]
程序(Process)可能的狀態:建立(new)、執行(running)、等待(waiting)、就緒(ready)、結束(terminated)。
【D】17.一部僅有一個中央處理器的電腦中,為讓不同的使用者可以同時執行各自的程序,必需要採用下列那種技術,才可以讓每個使用者覺得電腦持續為他的程序進行運算? (A)分散式系統(distributed systems)
(B)管理系統(management systems) (C)平行系統(parallel systems) (D)分時系統(time-sharing systems)。[111關務四等]
分時系統:一台電腦主機連接多個終端機,讓多個使用者分時共享硬體和軟體資源;特性有即時性、互動性、獨立性。
【D】18.在作業系統的環境中,何謂系統呼叫(system calls)? (A)作業系統定期執行的任務,每次執行時常需要修改系統紀錄檔 (B)作業系統內部共用的函式庫,作業系統中的各個子系統皆可呼叫該函式庫 (C)作業系統在開機時所執行的系統初始化程式,透過初始化程式的執行來建置基礎核心資料結構與設定硬體狀態 (D)作業系統功能的介面,使用者應用程式得以透過使用系統呼叫來調用作業系統之功能。[112地方四等資處]
系統呼叫:提供使用者程式與作業系統之間的介面,讓使用者應用程式可向作業系統核心請求更高權限的服務。
【C】19.下列何者是應用程式(application software)與電腦硬體(hardware)之間的介面? (A)瀏覽器 (B)啟動程式 (C)作業系統 (D)編譯程式。[112地方四等資處]
作業系統:電腦硬體與使用者、應用軟體間溝通的橋樑,
【B】20.下列那一個作業系統是專門為雲端計算設計的使用者端設備(client-provided
equipment, CPE)的作業系統? (A)Ubuntu作業系統 (B)Chrome作業系統 (C)安卓(Android)作業系統 (D)視窗 10(Windows 10)作業系統。[112地方四等資處]
Chrome作業系統是專門為雲端計算的使用者端設備所設計的作業系統。
【C】21.某一電腦系統使用multiprogramming的作業系統,關於該電腦系統的敘述,下列何者正確? (A)該電腦必是採用多核心(multi-core)的CPU,不能是單核心的CPU (B)該電腦執行的程式,是由多種程式語言所寫成 (C)該電腦的CPU可以在多個程序(process)中切換執行 (D)該電腦執行的程式,是由多個函式(function)所組成。[112地方四等電子]
【B】22.當一個行程(Process)需要從鍵盤讀取資料時,該行程會進入什麼狀態(Status)? (A)預備狀態(Ready State) (B)等待狀態(Waiting State) (C)執行狀態(Running State) (D)保留狀態(Hold State)。[112身心五等]
(A)預備狀態:等待使用CPU。
(C)執行狀態:正在使用CPU。
(B)等待狀態:等待某事件的發生。
(D)保留狀態:等待資源分配/等待其他行程完成。
【D】23.下列何者不是作業系統的功能? (A)提供介面讓使用者和硬體互動 (B)管理和配置電腦資源 (C)協助程序間的溝通 (D)提供編譯程式的功能。[112國安五等]
編譯器軟體提供編譯程式的功能。
【B】24.一個演算法具有較低的複雜度(algorithm complexity),下列何者必然成立? (A)在不同運算環境中都具有較佳效率 (B)問題規模趨近無限大時,比其他較高複雜度演算法所需步驟數目較少 (C)可以解決NP-hard的問題 (D)可以提供最佳結果(optimized solution)。[112普考資處]
複雜度較低的演算法,成長率較慢,執行時間增加速度相對較慢,可更有效率地處理大規模問題。
【C】25.一個行程(process)在下列那種情況時,由等待(waiting)狀態轉移到就緒(ready)狀態? (A)執行完畢 (B)得到CPU使用權 (C)完成輸入輸出(I/O) (D)要求載入主記憶體。[112普考資處]
一個行程完成輸入輸出操作時,通常會由等待狀態轉移到就緒狀態,表示準備進入執行狀態。
【C】26.一個單CPU核心的分時多工作業系統如果想要在每一秒內能執行到更多的執行緒,一個簡單想法是縮短時間片斷(time slice)的長度。下列那一項不是縮短時間片斷所會產生的影響? (A)CPU會花較多的時間在執行本文切換(context switch) (B)CPU實際花在執行應用程式的時間會變短 (C)增加每一次中斷處理所需的時間 (D)對批次處理(batch processing)的工作效率會降低。[112普考資處]
(C)中斷處理的時間是由中斷的性質和處理程式的效率決定。
【B】27.將時間切割成很多小片段,讓CPU不停地在許多程序(Process)之間切換執行,每位使用者以為自己的程序一直持續在執行,這種作業系統稱為 (A)多元(Multi-programming)系統 (B)分時(Time-sharing)系統 (C)多執行緒(Multi-thread)系統 (D)即時(Real-time)系統。[112普考電子]
(A)多元系統:在記憶體中同時載入多個程序,但在同一時間點只有一個程序在執行。
(C)多執行緒系統:一個程序中包含多個執行緒,每個執行緒可以獨立執行不同的任務。
(D)即時系統:在一個固定時間內完成任務的系統。
【C】28.作業系統中,banker algorithm是用在解決下列那種問題? (A)memory management
(B)process synchronization (C)deadlock avoidance (D)intrusion management。[109地方四等電子]
銀行家演算法(Banker's Algorithm):1965年,Edsger Wybe Dijkstra為T.H.E系統設計的一種避免死結(deadlock avoidance)產生的演算法。
【C】29.作業系統中,如果對一個行程(process)的資源(resources)使用沒有任何條件限制的話,則最有可能發生下列何種情形? (A)Swapping (B)Page
fault (C)Deadlock (D)Starvation。[109地方四等電子]
最有可能發生死結(Deadlock)。
【D】30.若程式要存取多種資源時都依照一定的資源順序,此種預防死結(Deadlock)的方法,主要是避免下列何種死結的形成條件? (A)相斥(Mutual Exclusion) (B)持有並等待(Hold and Wait) (C)無插隊(No Preemption) (D)循環等待(Circular Wait)。[109普考電子]
循環等待:每個程序都握有另一個程序需求的資源,導致每一個程序都在等待另一個程序釋放資源。
【B】31.下列何者不是會使得程序(Process)產生死結(Deadlock)的必要條件(Necessary Condition)? (A)資源互斥(Mutual Exclusion) (B)有先占權(Preemption) (C)循環等待(Circular Waiting) (D)握有資源才可執行(Resource Holding)。[110國安五等資處]
產生死結的必要條件:
1.資源互斥(Mutual Exclusion):資源只能分配給一個程序,無法多個程序共享。
2.持有與等待(Hold and Wait):當程序持有某項資源,尚需其他系統資源才能繼續進行,但該資源被占有而進入等待。
3.不可先占(No Preemption):程序占用的資源無法被其他先占式程序搶走。
4.循環等待(Circular Wait):程序之間互相持有其他程序所需要的資源。
【A】32.作業系統中兩個執行程序(process)因為互搶資源互不相讓,造成兩個程序都無法完成工作的現象稱之為 (A)Deadlock (B)Spooling
(C)Critical Section (D)Queueing。[110國安五等資處]
作業系統中,多個執行程序都須依照一定的資源順序,才能避免死結(Deadlock)的發生。
【D】33.多程序(process)在作業系統中執行,要預防死結(deadlock prevention),下列敘述何者錯誤? (A)要求程序執行前,請求所有資源並獲得配置 (B)要求程序未握有資源下,才能請求資源 (C)若程序已握有資源但無法立即獲得請求資源,放棄握有的所有資源 (D)指定各種類別資源的整體循環排序,要求程序依序請求資源。[111初考資處]
(D)確保循環等待的條件不成立,給予每個資源唯一的編號,規定程序需依資源編號遞增的方式提出請求。
【C】34.對於多工的電腦作業系統,同時可以讓多個程序(process)在系統裡執行,但因為資源限制的關係,有可能會讓程序彼此之間造成死結(deadlock),無法順利完成工作。下列那一個不是死結發生的必要條件 (A)一個資源只能被一個程序所持有,不能同時共同使用 (B)作業系統不能強迫重新分配資源 (C)某個程序需要的資源,碰巧目前被另一個程序所使用中 (D)一個程序一旦搶到某個資源,一直會持有到其他所有需要的資源都占有,完成他的工作後才會釋出。[112國安五等]
死結發生的必要條件:
1.互斥(Mutual Exclusion):同一資源不可同時被兩個以上進程共用。
2.占有並等待(Hold and Wait):進程占有資源的同時,並等候其他進程釋出其資源。
3.不可搶先(No Preemption):不可剥奪已被占用的資源。
4.循環等待(Circular Wait):各進程循環等待其他進程的資源,形成迴圈。
【C】35.作業系統可以採用死鎖避免(deadlock avoidance)來處理死鎖相關的議題,下列何者是死鎖避免的定義? (A)定期偵測是否有死鎖,如果發現死鎖則進行回溯(roll back)的操作來消除死鎖 (B)讓發生死鎖的必要條件至少有一項不成立 (C)確保系統中有一個安全序列(safe sequence),可依序執行完所有程序(processes) (D)釋放死鎖占用的記憶體空間。[112關務四等]
(A)死鎖避免旨在防止死鎖的發生,並非在死鎖發生後再來處理。
(B)死鎖避免策略,防止互斥、占有和等待、不可剝奪、循環等待的成立。
(C)安全序列。確保系統隨時都維持在安全狀態,使所有進程都能順利完成。
(D)釋放死鎖占用的記憶體空間與死鎖避免無關。
【B】36.下列何者不是死結(Dead lock)發生的必要條件? (A)互斥(Mutual exclusion) (B)飢餓(Starvation) (C)不可搶先(No preemption) (D)循環等待(Circular waiting)。[112鐵路員級]
死結須同時滿足四個條件:互斥、不可搶先、循環等待、持有和等待(hold and wait)。
【C】37.在可移植性作業系統介面(Portable Operating System
Interface),也就是POSIX的國際標準規範下,關於程序(process)和執行緒(thread)的特性,下列何者錯誤? (A)每個程序有自己獨立的位址空間(address space) (B)由同一個程序所產生的不同執行緒之間共享記憶體內的資料(shared memory)會比由同一個程序所產生的不同子程序之間共享記憶體內的資料容易 (C)一個程序可以產生多個執行緒,但是一個執行緒不能產生多個程序 (D)要產生一個新的程序可以使用fork()和exec()函式。[109關務四等]
(C)沒有限制執行緒不能產生多個程序。
【B】38.現今應用程式的計算行為相當複雜,常常要在一段時間內同時執行好幾個不同的執行緒(thread)。在多執行緒的程式中,下列何者是thread-safe的函數(function)必要的特性? (A)在函數中不可以呼叫任何系統呼叫(system calls) (B)在函數中所有用到的共享全域變數(shared global
variables)都會加以保護,以保證一次只有一個執行緒可以修改其值 (C)這個函數不可以使用遞迴 (D)這個函數不可以有忙碌等待迴圈(busy-waiting loops)。[110地方四等資處]
Thread-safe函數:能夠正確處理多個執行緒之間的共享全域變數,使程式能正確執行。
【A】39.關於Windows Threads、POSIX Threads(Pthreads)以及Java Threads三種常用的執行緒程式庫(Thread Library),下列何者正確? (A)Pthreads可以在使用者層次(User-level)或核心層次(Kernel)執行 (B)Java Threads只可以在核心層次(Kernel)執行 (C)Windows Threads只可以在使用者層次(User-level)執行 (D)Java Threads的執行效率優於Windows Threads。[112普考資處]
(B)Java Threads可以在使用者層次或核心層次執行。
(C)Windows Threads可以在使用者層次或核心層次執行。
(D)執行效率須視實際的系統環境和使用情境,無法一概而論。
【D】40.假設有兩個輸出輸入為主(I/O-bound)的非即時性工作,只會從硬碟讀取資料進行計算,算出結果後再寫回硬碟。如果在一部單處理器計算機上執行這兩項工作,可以選擇讓計算機使用不同的作業系統排程方式。下列那一個排程演算法通常會最慢完成這兩件工作? (A)排程器一旦選定一個工作,就會一直執行直到該工作等待I/O時,立即切換到另一個可以執行的工作 (B)排程器把CPU的使用權按時間切分成許多固定時間的小等分,每個工作輪流分享CPU直到它所屬的時間等分用完為止 (C)同選項(B),但是如果一個工作的時間等分還沒用完就進入I/O等待,那麼CPU就會執行下一個工作 (D)排程器會把一個工作從頭到尾執行完畢,再切換到下一個工作。[109地方四等資處]
由快至慢排序:最短優先法>優先權排班法>輪流法>先到先服務法
【A】41.作業系統工作處理的排程方法中,下列那個方法不會造成飢餓(starvation)現象? (A)先到先服務(FCFS, First Come First
Served) (B)最短工作優先(SJF, Shortest Job First) (C)剩餘最短工作處理優先(SRTF, Shortest
Remaining Time First) (D)優先權排程法(PS ,Priority Scheduling)。[109身心五等]
飢餓現象:低優先權process可能無限期或長期等待CPU的資源。
【A】42.核心程序(Kernel Process)所需記憶體的分配與管理,通常是採取夥伴系統(Buddy System)或平板分配(Slab Allocation)演算法。下列敘述何者錯誤? (A)夥伴系統之記憶體分配與收回是以核心物件(Kernel Object)為單位 (B)夥伴系統中分配給一個核心程序的實體記憶體是連續的實體空間 (C)平板分配的實體記憶體利用率與處理速度均優於夥伴系統 (D)夥伴系統會產生內部碎裂(Internal Fragmentation)。[109普考資處]
夥伴系統:可以讓固定大小的區段組成更大的連續區段。
【B】43.考慮硬碟排程,目前讀寫頭(read-write head)在磁柱(cylinder)4的位置,電腦系統中僅有4個將被讀取的資料A、B、C、D分別位於磁柱1、磁柱5、磁柱8、磁柱9的位置,若採用最短搜尋時間優先(shortestseek-time-first)排程演算法,四筆資料被讀取出來的先後次序,由先至後的排序為何? (A)A、B、D、C (B)B、C、D、A (C)B、A、C、D (D)D、B、C、A。[110地方四等資處]
最短搜尋時間優先排程,從距離4最近的開始讀取,依序5891 → BCDA
【B】44.最短剩餘時間優先(Shortest Remaining Time First,
SRTF)排程法是作業系統中一種安排程序執行順序的方法。假設有5個程序P1、P2、P3、P4、P5,分別於時間0、1、1、2、3到達工作佇列,其所需的CPU執行時間(CPU Burst Time)分別為4、2、1、2、1,若以SRTF法排程,這5個程序的等待時間總和為何? (A)10 (B)11 (C)12 (D)13。[110地方四等資處]
等待時間總和=6+1+0+3+1=11
【C】45.某個200磁軌(編號0..199)的磁碟中,其讀寫頭目前的位置在磁軌100,且磁碟佇列(Disk Queue)中對於磁碟磁軌存取的要求順序如下:65,87,4,106,187,31,145。若分別以FCFS(First-Come,
First-Served)、SSTF(Shortest Seek Time First)、SCAN演算法(讀寫頭往磁軌0的方向移動)來進行磁碟排程,則所有三種方法會造成磁頭移動距離之總和為多少磁軌? (A)963 (B)1116 (C)1171
(D)1207。[110地方四等資處]
FCFS:100,65,87,4,106,187,31,145 →
35+22+83+102+81+156+114=593
SSTF:100,106,87,65,31,4,145,187 →
6+19+22+34+27+141+42=291
SCAN:100,87,65,31,4,0,106,145,187 →
13+22+34+27+4+106+39+42=287
593+291+287=1171
【B】46.動態記憶體配置(dynamic memory allocation)的演算法有很多種,如果系統不對可用記憶區塊的鏈接串列(linked list)依區塊大小進行排序,那麼採用下列那一種演算法可以讓系統花在記憶區塊分配(memory allocation)的時間較少? (A)最佳適合(best-fit) (B)最先適合(first-fit) (C)最差適合(worst-fit) (D)隨機適合(random-fit)。[110地方四等資處]
(B)最先適合:尋找第一個適合的記憶區塊,花費時間會最少。
【D】47.固態硬碟(solid state disk, SSD)由於不需要傳統硬碟移動讀寫頭所花費的搜尋時間(seek time)以及轉動磁盤的旋轉延遲(rotational latency),下列何者是一般SSD常用的讀寫排程演算法? (A)最短搜尋時間優先演算法(shortest-seek-time-first
algorithm) (B)掃描演算法(SCAN algorithm) (C)環形掃描演算法(circular-SCAN
algorithm) (D)先到先服務演算法(first-come, first-served algorithm)。[110身心四等]
先到先服務演算法(FCFS):先進入FIFO佇列的行程先執行。行程終止或執行I/O時,才轉換為下一個行程。會發生護送效應(Convoy effect)現象,CPU使用率低,不適用於分時系統。
【A】48.在佔先式多工處理(preemptive multitasking)的作業系統中,每一個程序可以輪流分配到一些CPU的執行時間,系統通常是透過下列那一個機制,在某個程序的CPU執行時間用完時,將CPU分配給另一個程序? (A)計時中斷(timer interrupt) (B)重設中斷(reset interrupt) (C)軟體中斷(software interrupt) (D)使用者中斷(user interrupt)。[110身心四等]
佔先式多工處理:由CPU運用中斷服務來強制某程序式交出控制權,系統穩定度也相對提高。
【C】49.關於程序排程(Process Scheduling)演算法,下列敘述何者正確? (A)輪流(Round Robin, RR)演算法有護衛效應(Convoy Effect) (B)先到先服務(First-Come,
First-Served, FCFS)演算法會有飢餓現象(Starvation) (C)多層次回授佇列(Multilevel Feedback Queue)排程可以用來實現最短工作優先的目的 (D)不可搶奪式最短工作優先(Non-preemptive Shortest
Job First)演算法可以得到最小平均等待時間。[110普考資處]
沒有飢餓現象:輪流(RR),先到先服務(FCFS),多層次回授佇列(MFQ)。
【D】50.下列關於實作一個即時作業系統須考慮的條件,何者錯誤? (A)將事件潛伏期(event latency,亦即事件的等待時間)最小化 (B)以優先權繼承(Priority Inheritance)解決優先權倒置(Priority Inversion)的問題 (C)對於週期性即時工作,採用頻率單調式排班法(Rate Monotonic
Scheduling)是最佳的靜態優先權(Static Priority)排班演算法 (D)若無法以期限最先到達者優先(Earliest Deadline
First, EDF)排班法將一組即時工作均排入其期限內完成,則使用頻率單調式排班法仍有機會來將這組即時工作排入其期限內完成。[110關務四等]
頻率單調式排班法:依據頻率高低決定優先權,頻率高有高優先權,但有時會錯過期限。
最先到達者優先排班法:依據期限先到,有高優先權,可彌補頻率單調式排班法的缺點。
【B】51.下列那一項技術是在多核心電腦的作業系統的排程機制中,負責平均分配工作給所有核心的方法? (A)循環分時多工機制(Round-robin
time-sharing) (B)推拉轉移機制(push and pull migration) (C)優先權排程機制(Priority-based
scheduling) (D)本文切換機制(Context switching)。[110關務四等]
push migration,週期性的檢查每個處理器上的負載,如果發現不平衡,即將工作從超載處理器移到空閒處理器,來平均分配負載。當空閒處理器從超載處理器上推送一個等待工作時,發生pull migration。push migration和pull migration不能互相排斥。
【B】52.作業系統的程序排程器(process scheduler)會管理電腦中每一個程序(process)的狀態。若某一程序P1原本在使用CPU,但遇到需要從鍵盤讀取資料的狀況,則程序P1會被改變為何種狀態? (A)Ready state
(B)Waiting state (C)Running state (D)Finished state。[110鐵路員級]
等待狀態(Waiting state):程序處理中,被迫暫停執行的狀態。
【B】53.考慮下列三種排班演算法︰先到先服務排班法(FCFS)、循環排班法(RR)、最短剩餘時間優先排班法(SRTF),其中有多少種有機會導致飢餓(starvation)問題? (A)0 (B)1 (C)2 (D)3。[110鐵路員級]
SRTF有機會導致飢餓問題。FCFS、RR會公平排班。
【D】54.若一作業系統之CPU排程採用依序循環方法(round-robin scheduling),每次程序使用CPU的時間配額(time quantum)為t毫秒。今有某一排程,共有三個程序P1、P2及P3,所需CPU使用時間分別為6毫秒、9毫秒、7毫秒;且開始的執行順序為P1、P2、P3。若內容轉換(context switch)時間不計,根據下列不同的時間配額設定,那個設定產生的平均執行時間(turn-around time)最短? (A)t = 1 (B)t = 3 (C)t
= 5 (D)t = 7。[111地方四等資處]
(A)[(6-1)+(9-1)+(7-1)]÷3≒6.33
(B)[(6-3)+(9-3)+(7-3)]÷3≒4.33
(C)[(6-5)+(9-5)+(7-5)]÷3≒2.33
(D)[(6-7)+(9-7)+(7-7)]÷3≒0.33
【D】55.在一個多元程式規劃(multiprogramming)作業系統中,CPU的排程是一個重要的功能。假設在時間0秒時有三個工作(tasks)在大約相同的時間到達,但工作A比工作B稍早到達,而工作B比工作C稍早到達。工作A需要2秒的CPU時間,工作B是8秒,而工作C是7秒,且每次工作可使用的時間配額(time quantum)為1秒。若此CPU採用依序循環排班法(Round Robin Scheduling),並假設排程所耗費的時間可略,請問工作B的回覆時間(turnaround time)為何? (A)1秒 (B)4秒 (C)16秒 (D)17秒。[111身心五等]
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
A |
x |
|
|
x |
|
|
|
|
|
|
|
|
|
|
|
|
|
B |
|
x |
|
|
x |
|
x |
|
x |
|
x |
|
x |
|
x |
|
x |
C |
|
|
x |
|
|
x |
|
x |
|
x |
|
x |
|
x |
|
x |
|
回覆時間:A 4秒,B 17秒,C 16秒
【C】56.當一個程序(Process)得到CPU控制權後,可以被更高優先權的程序暫時暫停,是下列那一種作業系統的排程策略? (A)先到先做排程(FCFS) (B)不可搶先排程(Non-Preemptive
Scheduling) (C)可搶先排程(Preemptive
Scheduling) (D)最短工作先做排程(SJF)。[111身心四等]
可搶先排程:Process取得CPU在執行時,有可能被迫放棄CPU,以便將CPU資源交給其它Process執行。
【A】57.Dijkstra演算法是一很有名的找出最短路徑演算法,根據其方法特性,屬於下列何類演算法?
(A)Dynamic Programming Algorithm (B)Linear Programming Algorithm (C)Genetic
Algorithm (D)Deep Learning Algorithm。[111身心四等]
Dijkstra演算法屬於動態規劃演算法。
【D】58.對於先到先服務的工作排程法,下列敘述何者錯誤? (A)是一種不可奪取(Non-Preemptive)的排程法 (B)不適合使用者進行交談 (C)不適用於分時系統 (D)有最小的平均等待時間。[111關務四等]
先到先服務(First
Come First Served,FCFS):不可奪取的排程法,依照處理程序要求的執行順序,依序讓處理程序占有CPU執行。不適用於交談式處理、分時系統。
【C】59.考慮四個工作P1、P2、P3、P4,其所需的執行時間分別為20ms、60ms、40ms、80ms,依照P1、P2、P3、P4的順序採用循環排程(round-robin
scheduling)的方式來排程這四個工作並且完成執行,如果循環排程採用的時間量(time
quantum)為40ms,則這四個工作的平均工作完成時間(average turnaround time)為何? (A)100ms (B)105ms (C)120ms (D)140ms。[111關務四等]
1~20ms,P1完成
21ms~60ms,P2未完成,尚須20ms
61ms~100ms,P3完成
101ms~140ms,P4未完成,尚須40ms
141ms~160ms,P2完成
161ms~200ms,P4完成
平均工作完成時間=(20+160+100+200)÷4=120ms
【A】60.在互動式系統(Interactive
System)中,若要評估一個CPU排程演算法,通常最注重下列那一項指標? (A)反應時間(Response Time) (B)產量(Throughput)
(C)CPU使用率(CPU Utilization) (D)回復時間(Turnaround Time)。[112地方四等資處]
在互動式系統中,要能快速回應使用者的需求。
【A】61.假設有3個行程在排班佇列中,依先到先服務排班法(FCFS)執行,且其執行時間依序為15、12和30單位時間,則平均等待時間為多少單位? (A)14
(B)19 (C)24 (D)33。[112地方四等電子]
平均等待時間=(等待時間1+等待時間2+等待時間3)÷3
平均等待時間=[0+15+(15+12)]÷3=14
【A】62.假設有3個行程在排班佇列中,依先到後順序排列,且其完成工作需要的時間分別為11、7和9單位時間。若使用循環排班法(RR),並設定時間片段為2單位時間,則總等待時間為多少單位? (A)47 (B)48 (C)49 (D)50。[112地方四等電子]
|
P2 |
P3 |
P1 |
P2 |
P3 |
P1 |
P2 |
P3 |
P1 |
P2 |
P3 |
P1 |
P3 |
P1 |
|
|
2 |
2 |
2 |
2 |
2 |
2 |
2 |
2 |
2 |
2 |
1 |
2 |
2 |
1 |
2 |
0 |
2 |
4 |
6 |
8 |
10 |
12 |
14 |
16 |
18 |
20 |
21 |
23 |
25 |
26 |
28 |
P1:0+(6-2)+(12-8)+(18-14)+(23-20)+(26-25)=16
P2:2+(8-4)+(14-10)+(20-16)=14
P3:4+(10-6)+(16-12)+(21-18)+(25-23)=17
總等待時間=16+14+17=47
【B】63.作業系統中需使用排程器(Scheduler),使得執行行程(Process)的切換更具效率,下列策略何者比較不適合? (A)最先到的工作先做 (B)最後到的工作先做 (C)耗時最短的工作先做 (D)具高優先權的工作先做。[112身心五等]
最後到的工作先做(Last-Come-First-Served, LCF):若一直執行後到的工作,會導致先到的工作長時間的等待。
【B】64.最短工作優先(Shortest Job First, SJF)排班法是一種常見的CPU排班演算法,假設新進三個行程依序為P1、P2、P3,其工作時間依序為7、3、8,利用最短工作優先排班法的等待時間總和為何? (A)10 (B)13 (C)17 (D)18。[112國安五等]
執行順序:P2 → P1 → P3
等待時間:0+3+(3+7)=13
【D】65.下列那一種作業系統排程演算法,理論上能得到最短的平均等待時間? (A)優先權(Priority) (B)先到先做(FCFS) (C)循環分配(RR) (D)最短工作先做(SJF)。[112普考電子]
SJF(Shortest Job First ):最短行程優先執行,減少平均等待時間,會出現飢餓現象(starvation)。
【B】66.下列何種排程(scheduling)演算法不會發生飢餓(starvation)的情形?
(A)shortest-remaining-time-first (B)round-robin (C)priority
(D)shortest-job-first。[112關務四等]
不會發生飢餓的情形:不可搶先,先到先服務(First-Come
First-Served, FCFS,非優先權),依序循環(Round Robin, RR)。
【A】67.假設作業系統採用循環排程(round-robin scheduling)的方式來排程三個工作,這三個工作其執行時間依序為10ms、15ms、40ms,若循環排程每次執行工作所使用的時間量(time quantum)為10ms,則這三個工作的平均等待時間(average waiting time)為何? (A)15ms (B)16ms (C)17ms
(D)18ms。[112關務四等]
1~10ms,P1完成
11ms~20ms,P2未完成,尚須5ms
21ms~30ms,P3未完成,尚須30ms
31ms~35ms,P2完成
36ms~45ms,P3未完成,尚須20ms
46ms~55ms,P3未完成,尚須10ms
56ms~65ms,P3完成
平均等待時間=[(10+35+65)-(10+15+40)]÷3=15ms
沒有留言:
張貼留言
注意:只有此網誌的成員可以留言。