freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

操作系統(tǒng)概念第七版習(xí)題答案(中文版)完整版-文庫吧

2025-06-13 09:50 本頁面


【正文】 個(gè)滿意的配置文件,其中的代碼塊都應(yīng)積極覆著被程序在代碼的不同的部分花費(fèi)時(shí)間。一旦這個(gè)配置文件被獲得,程序員可以盡可能的優(yōu)化那些消耗大量CPU資源的代碼段。?Answer:(非易失的)的存儲(chǔ)媒介上備份文件。?Answer:每一個(gè)設(shè)備都可以被得到只要它是一個(gè)在文件系統(tǒng)的文件。因此大多數(shù)內(nèi)核通過文件接口處理設(shè)備,這樣相對(duì)容易,加一個(gè)新的設(shè)備通過執(zhí)行硬件確定代碼來支持這種抽象的文件接口。因此,這種方式不僅有利于用戶程序代碼的發(fā)展,用戶程序代碼可以被寫入設(shè)備和文件用相同的方式,還有利于設(shè)備驅(qū)動(dòng)程序代碼,因此,結(jié)果或者是丟失功能或者是丟失性能。但有些能夠被克服通過使用ioctl操作,這個(gè)操作為了進(jìn)程在設(shè)備上援引操作提供一個(gè)通用接口。?為什么它經(jīng)常與內(nèi)核是分開的?用戶有可能通過使用由操作系統(tǒng)提供的系統(tǒng)調(diào)用接口發(fā)展一個(gè)新的命令解釋器?Answer:命令解釋器從用戶或文件中讀取命令并執(zhí)行,一般而言把他們轉(zhuǎn)化成系統(tǒng)調(diào)用。它通常是不屬于內(nèi)核,因?yàn)槊罱忉寱?huì)有所變動(dòng)。用戶能夠利用由操作系統(tǒng)提供的系統(tǒng)調(diào)用接口開發(fā)新的命令解釋器。這命令解釋器允許用戶創(chuàng)建、管理進(jìn)程和確定它們通信的方法(例如通過管道和文件)。所有的功能都被用戶程序通過系統(tǒng)調(diào)用來使用,這個(gè)也可能有用戶開發(fā)一個(gè)新的命令行解釋。?這兩種模式的優(yōu)點(diǎn)和缺點(diǎn)是什么?Answer:通信的兩種模式是1)共享內(nèi)存,2)消息傳遞。這兩種模式的最基本的不同是在它們的性能上。一個(gè)內(nèi)存共享塊是通過系統(tǒng)調(diào)用創(chuàng)建的。然而,一旦內(nèi)存共享塊在兩個(gè)或更多的進(jìn)程間建立,這些進(jìn)程可以借助內(nèi)存共享塊來通信,不再需要內(nèi)核的協(xié)助。另一方面,當(dāng)send()和receive()操作被調(diào)用時(shí),信息傳遞通常包含系統(tǒng)調(diào)用。因此,因?yàn)閮?nèi)核是直接的包含在進(jìn)程間通信的,一般而言,它的影響比內(nèi)存共享小。然而,消息傳遞可以用作同步機(jī)制來處理通信進(jìn)程間的行動(dòng)。也就是說,send()和receive()段可以用來協(xié)調(diào)兩個(gè)通信進(jìn)程的動(dòng)作。另一方面,內(nèi)存共享沒有提供這種同步機(jī)制的進(jìn)程。?Answer:機(jī)制和策略必須區(qū)分開來,來保證系統(tǒng)能夠被很容易的修改。沒有兩個(gè)系統(tǒng)的裝置是完全相同的,所以每一個(gè)裝置都想要把操作系統(tǒng)改為適合自己的。當(dāng)機(jī)制和政策分開時(shí),政策可以隨意的改變但機(jī)制還是不能改變。這種安排提供了一個(gè)更靈活的制度++編寫的本地方法的能力?舉出一個(gè)本地方法有用的例子。Answer:Java程序的開發(fā)是用來作為I/O獨(dú)立的平臺(tái)。因此,這種語言沒有提供途徑給許多特殊的系統(tǒng)資源,例如從I/O設(shè)備讀取。為了運(yùn)行一個(gè)系統(tǒng)特定的I/O操作,你必須用一種支持這些特性的語言(例如C或C++)寫。記住一個(gè)Java程序調(diào)用由另外一種語言編寫的本地方法寫將不再結(jié)構(gòu)中立。識(shí)別一個(gè)方案,在這個(gè)方案中并不非常清楚如何為兩個(gè)作用緊密相連的系統(tǒng)部件分層。Answer:虛擬內(nèi)存子系統(tǒng)和存儲(chǔ)子系統(tǒng) 通常是緊密耦合,并由于以下的相互作用需要精心設(shè)計(jì)的層次 系統(tǒng)。許多系統(tǒng)允許文件被映射到一個(gè)執(zhí)行進(jìn)程的虛擬內(nèi)存空間。另一方面,虛擬內(nèi)存子系統(tǒng)通常使用存儲(chǔ) 系統(tǒng)來提供當(dāng)前不在內(nèi)存中的頁。此外,在刷新磁盤之前,更新的文件有時(shí)會(huì)緩沖到物理內(nèi)存,從而需要認(rèn)真 協(xié)調(diào)使用的內(nèi)存之間的虛擬內(nèi)存 子系統(tǒng)和文件系統(tǒng)。?在微內(nèi)核中如何使客戶程序和系統(tǒng)服務(wù)相互作用?微內(nèi)核方法的缺點(diǎn)是什么?Answer:優(yōu)點(diǎn)主要包括以下幾點(diǎn):a)增加一個(gè)新的服務(wù)不需要修改內(nèi)核b) 在用戶模式中比在內(nèi)核模式中更安全、更易操作 c) 一個(gè)簡(jiǎn)單的內(nèi)核設(shè)計(jì)和功能一般導(dǎo)致一個(gè)更可靠的操作系統(tǒng)用戶程序和系統(tǒng)服務(wù)通過使用進(jìn)程件的通信機(jī)制在微內(nèi)核中相互作用,例如發(fā)送消息。這些消息由操作系統(tǒng)運(yùn)送。微內(nèi)核最主要的缺點(diǎn)是與進(jìn)程間通信的過度聯(lián)系和為了保證用戶程序和系統(tǒng)服務(wù)相互作用而頻繁使用操作系統(tǒng)的消息傳遞功能。?什么方式與分層方法不同?Answer:模塊化內(nèi)核方法要求子系統(tǒng)通過創(chuàng)建的一般而言狹隘(從功能方面來說是揭露外部模塊)的接口來相互作用。分層內(nèi)核方法在細(xì)節(jié)上與分層方法相似。但是,分層內(nèi)核必須要是有嚴(yán)格排序的子系統(tǒng),這樣的子系統(tǒng)在較低層次中不允許援引業(yè)務(wù)相應(yīng)的上層子系統(tǒng) 。在模塊化內(nèi)核方法中沒有太多的限制,模式在哪方面是隨意援引彼此的是沒有任何約束的。 操作系統(tǒng)設(shè)計(jì)員采用虛擬機(jī)結(jié)構(gòu)的主要優(yōu)點(diǎn)是什么?對(duì)用戶來說主要有什么好處?Answer:系統(tǒng)是容易被調(diào)試的,此外,安全問題也是容易解決的。虛擬機(jī)同樣為運(yùn)作體系提供了一個(gè)很好的平臺(tái),因?yàn)樵S多不同的操作系統(tǒng)只可以在一個(gè)物理系統(tǒng)中運(yùn)行。?Answer:Java是一種解釋語言。這就意味著Java虛擬機(jī)一次解釋一個(gè)字節(jié)代碼。一般來說,絕大多數(shù)解釋環(huán)境是比運(yùn)行本地二進(jìn)制慢,因?yàn)榻忉屵M(jìn)程要求把每一個(gè)命令轉(zhuǎn)化為本地機(jī)器代碼。一個(gè)JIT編譯器把字節(jié)代碼轉(zhuǎn)換成本地機(jī)器代碼,第一次這種方法是偶然碰到的。這就意味著Java程序作為一個(gè)本地用途(當(dāng)然,JIT的這種轉(zhuǎn)換過程是要花費(fèi)時(shí)間的,但并沒有像字節(jié)代碼花費(fèi)的這么多)是非常重要的一種運(yùn)行方式。此外,JIT存儲(chǔ)器編譯代碼以便能夠在下一次需要時(shí)使用。一個(gè)是被JIT運(yùn)行的而不是傳統(tǒng)的一般的解釋運(yùn)行的Java程序是非常快的。(例如VWware)中,來賓作業(yè)系統(tǒng)和主機(jī)操作系統(tǒng)的關(guān)系是什么?在選擇主機(jī)操作系統(tǒng)時(shí)哪些因素需要考慮?Answer:一個(gè)來賓作業(yè)系統(tǒng)提供它的服務(wù)通過映射到有主機(jī)操作系統(tǒng)提供的功能上。一個(gè)主要的事情需要被考慮,為了能夠支持與來賓作業(yè)系統(tǒng)相聯(lián)系的功能,選擇的主機(jī)操作系統(tǒng),從系統(tǒng)調(diào)用接口而言,是否足夠一般。為了優(yōu)化系統(tǒng)調(diào)用的性能,內(nèi)核通過在內(nèi)核空間內(nèi)匯編程序來縮短系統(tǒng)調(diào)用在內(nèi)核必須經(jīng)過的途徑。這是一種與分層設(shè)計(jì)相對(duì)立的方法,經(jīng)過內(nèi)核的途徑在這種設(shè)計(jì)中被延伸了,使操作系統(tǒng)的構(gòu)造更加容易。分別從支持和反對(duì)的角度來綜合設(shè)計(jì)方式對(duì)討論這種內(nèi)核設(shè)計(jì)和系統(tǒng)性能優(yōu)化的影響。Answer:綜合是令人欽佩的由于這種性能通過即時(shí)復(fù)雜化取得了成功。不幸的是,由于代碼的流動(dòng)很難在內(nèi)核中調(diào)試問題。這種復(fù)雜化是系統(tǒng)的詳細(xì)的表現(xiàn),讓綜合很難port(一個(gè)新的編譯器必須寫入每一種架構(gòu))。 論述短期,中期和長期調(diào)度之間的區(qū)別.Answer::在內(nèi)存作業(yè)中選擇就緒執(zhí)行的作業(yè),并為他們分配CPU。:作為一種中等程度的調(diào)度程序,尤其被用于分時(shí)系統(tǒng),一個(gè)交換方案的實(shí)施,將部分運(yùn)行程序移出內(nèi)存,之后,從中斷處繼續(xù)執(zhí)行。(作業(yè)調(diào)度程序):確定哪些作業(yè)調(diào)入內(nèi)存以執(zhí)行.它們主要的不同之處是它們的執(zhí)行的頻率。短期調(diào)度必須經(jīng)常調(diào)用一個(gè)新進(jìn)程,由于在系統(tǒng)中,長期調(diào)度處理移動(dòng)的作業(yè)時(shí),并不頻繁被調(diào)用,可能在進(jìn)程離開系統(tǒng)時(shí)才被喚起。 問:描述一下內(nèi)核在兩個(gè)進(jìn)程間進(jìn)行上下文功換的動(dòng)作.Answer:總的來說,操作系統(tǒng)必須保存正在運(yùn)行的進(jìn)程的狀態(tài),恢復(fù)進(jìn)程的狀態(tài)。保存進(jìn)程的狀態(tài)主要包括CPU寄存器的值以及內(nèi)存分配,上下文切換還必須執(zhí)行一些確切體系結(jié)構(gòu)的操作,包括刷新數(shù)據(jù)和指令緩存。(書中答案)進(jìn)程關(guān)聯(lián)是由進(jìn)程的PCB來表示的,它包括CPU寄存器的值和內(nèi)存管理信息等。當(dāng)發(fā)生上下文切換時(shí),內(nèi)核會(huì)將舊進(jìn)程的關(guān)聯(lián)狀態(tài)保存在其PCB中,然后裝入經(jīng)調(diào)度要執(zhí)行的新進(jìn)程的已保存的關(guān)聯(lián)狀態(tài)。考慮的RPC機(jī)制。描述不可取的情況下可能出現(xiàn)或者不執(zhí)行的”最多一次”或”到底一旦“語義。說明在沒有這些保障的情況下,可能使用的一種機(jī)制。Answer:如果一個(gè)RPC機(jī)制無法支持無論是“最多一次” 或“至少一次”的語義,那么RPC服務(wù)器不能保證遠(yuǎn)端程序不會(huì)引起多個(gè)事件的發(fā)生。試想,如果一個(gè)遠(yuǎn)端程序在一個(gè)不支持這些語義的系統(tǒng)上從銀行賬戶中撤回投資的資金。很可能一個(gè)單一調(diào)用的遠(yuǎn)程過程會(huì)導(dǎo)致多種服務(wù)器的撤回。如果一個(gè)系統(tǒng)不能支持這兩種語義,那么這樣一個(gè)系統(tǒng)只能安全提供遠(yuǎn)程程序,這些遠(yuǎn)程程序沒有改變數(shù)據(jù),沒有提供時(shí)間敏感的結(jié)果,用我們的銀行賬戶做例,我們當(dāng)然需要“最多一次” 或“至少一次”的語義執(zhí)行撤銷(或存款)。然而,賬戶余額成其它賬戶信息的查詢,如姓名,地址等,不需要這些語義。 ,說明A行將會(huì)輸出什么?Answer:當(dāng)控制回到父進(jìn)程時(shí),它的值會(huì)保持在5,而子進(jìn)程將更新并拷貝這個(gè)值。 問:下面設(shè)計(jì)的好處和壞處分別是什么?系統(tǒng)層次和用戶層次都要考慮到.A,對(duì)稱和非對(duì)稱通信B,自動(dòng)和顯式緩沖C,復(fù)制發(fā)送和引用發(fā)送D,固定大小和可變大小消息Answer::對(duì)稱通信的影響是它允許發(fā)送者和接收者之間有一個(gè)集合點(diǎn)。缺點(diǎn)是阻塞發(fā)送時(shí),不需要集合點(diǎn),而消息不能異步傳遞。因此,消息傳遞系統(tǒng),往往提供兩種形式的同步。:自動(dòng)緩沖提供了一個(gè)無限長度的隊(duì)列,從而保證了發(fā)送者在復(fù)制消息時(shí)不會(huì)遇到阻塞,如何提供自動(dòng)緩存的規(guī)范,一個(gè)方案也許能保存足夠大的內(nèi)存,但許多內(nèi)存被浪費(fèi)緩存明確指定緩沖區(qū)的大小。在這種狀況下,發(fā)送者不能在等待可用空間隊(duì)列中被阻塞。然而,緩沖明確的內(nèi)存不太可能被浪費(fèi)。:復(fù)制發(fā)送不允許接收者改變參數(shù)的狀態(tài),引用發(fā)送是允許的。引用發(fā)送允許的優(yōu)點(diǎn)之一是它允許程序員寫一個(gè)分布式版本的一個(gè)集中的應(yīng)用程序。Java’s RMI 公司提供兩種發(fā)送,但引用傳遞一個(gè)參數(shù)需要聲明這個(gè)參數(shù)是一個(gè)遠(yuǎn)程對(duì)象。:涉及的太多是有關(guān)緩沖問題,帶有定長信息,一個(gè)擁有具體規(guī)模的緩沖課容納已知數(shù)量的信息緩沖能容納的可變信息數(shù)量是未知的??紤] Windows 2000 如何處理這種情況。帶有定長信息(256bytes),信息從發(fā)送者的地址空間被復(fù)制至接受進(jìn)程的地址空間。更大的信息(如變長信息)使用共享內(nèi)存?zhèn)鬟f信息。第四章線程答:1)任何形式的順序程序?qū)€程來說都不是一個(gè)好的形式。例如一個(gè)計(jì)算個(gè)人報(bào)酬的程序。2)另外一個(gè)例子是一個(gè)“空殼”程序,如Cshell和korn shell。這種程序必須密切檢測(cè)其本身的工作空間。如打開的文件、環(huán)境變量和當(dāng)前工作目錄。答:用戶線程之間的上下文切換和內(nèi)核線程之間的相互轉(zhuǎn)換是非常相似的。但它依賴于線程庫和怎樣把用戶線程指給內(nèi)核程序。一般來說,用戶線程之間的上下文切換涉及到用一個(gè)用戶程序的輕量級(jí)進(jìn)程(LWP)和用另外一個(gè)線程來代替。這種行為通常涉及到寄存器的節(jié)約和釋放。答:當(dāng)一個(gè)內(nèi)核線程的頁面發(fā)生錯(cuò)誤時(shí),另外的內(nèi)核線程會(huì)用一種有效的方法被轉(zhuǎn)換成使用交錯(cuò)時(shí)間。另一方面,當(dāng)頁面發(fā)生錯(cuò)誤時(shí),一個(gè)單一線程進(jìn)程將不能夠發(fā)揮有效性能。因此,在一個(gè)程序可能有頻繁的頁面錯(cuò)誤或不得不等待其他系統(tǒng)的事件的情況下,多線程方案會(huì)有比單處理器系統(tǒng)更好的性能。?答:一個(gè)線程程序的線程共享堆內(nèi)存和全局變量,但每個(gè)線程都有屬于自己的一組寄存值和棧內(nèi)存。4.5一個(gè)采用多用戶線程的多線程方案在多進(jìn)程系統(tǒng)中能夠取得比在單處理器系統(tǒng)中更好的性能嗎?答:一個(gè)包括多用戶線程的多線程系統(tǒng)無法在多處理系統(tǒng)上同時(shí)使用不同的處理器。操作系統(tǒng)只能看到一個(gè)單一的進(jìn)程且不會(huì)調(diào)度在不同處理器上的不同進(jìn)程的線程。因此,多處理器系統(tǒng)執(zhí)行多個(gè)用戶線程是沒有性能優(yōu)勢(shì)的。,Linux沒有區(qū)分進(jìn)程和線程的能力。且Linux線程都是用相同的方法:允許一個(gè)任務(wù)與一組傳遞給clone()系統(tǒng)調(diào)用的標(biāo)志的進(jìn)程或線程。但許多操作系統(tǒng),例如windows XP和Solaris,對(duì)進(jìn)程和線程都是一視同仁?;旧?,這種使用notation的系統(tǒng),一個(gè)進(jìn)程的數(shù)據(jù)結(jié)構(gòu)包括一個(gè)指向?qū)儆谶M(jìn)程的不同線程的指針。區(qū)別建模過程和在內(nèi)核中線程的兩種方法。答:一方面,進(jìn)程和線程被視為相似實(shí)體的系統(tǒng)中,有些系統(tǒng)代碼可以簡(jiǎn)化。例如,一個(gè)調(diào)度器可以在平等的基礎(chǔ)上考慮不同的進(jìn)程和線程,且不需要特殊的代碼,在調(diào)度中審查有關(guān)線程的進(jìn)程。另一方面,這種統(tǒng)一會(huì)使進(jìn)程資源限制更加困難。相反,一些額外的復(fù)雜性被需要,用來確定哪個(gè)線程與哪個(gè)進(jìn)程一致和執(zhí)行重復(fù)的計(jì)數(shù)任務(wù)。(API),在程序的第c行和第p行分別會(huì)輸出什么?答:c行會(huì)輸出5,p行會(huì)輸出0.。讓程序中的用戶線程數(shù)量多于系統(tǒng)中的處理器的數(shù)量,討論下列情況下的性能意義: b. 由程序分配的內(nèi)核線程的數(shù)量與處理器相同c. 由程序分配的內(nèi)核線程的數(shù)量大于處理器數(shù)量但少于用戶線程的數(shù)量答:當(dāng)內(nèi)核線程的數(shù)量少于處理器時(shí),一些處理器將仍然處于空閑狀態(tài)。因?yàn)?,調(diào)度圖中只有內(nèi)核線程的處理器,而不是用戶線程的處理器。當(dāng)程序分配的內(nèi)核線程的數(shù)量與處理器相同時(shí),那么有可能所有處理器將同時(shí)使用。然而,當(dāng)一個(gè)內(nèi)核塊內(nèi)的內(nèi)核(因頁面錯(cuò)誤或同時(shí)援引系統(tǒng)調(diào)用)相應(yīng)的處理器將閑置。當(dāng)由程序分配的內(nèi)核線程的數(shù)量大于處理器數(shù)量時(shí),封鎖一個(gè)內(nèi)核線程并調(diào)出,換入另一個(gè)準(zhǔn)備執(zhí)行的內(nèi)核線程。因此,增加多處理器系統(tǒng)的利用率。第五章 CPU調(diào)度,區(qū)分I/0限制的程序和CPU限制的程序是重要的?答:I/0限制的程序有在運(yùn)行I/O操作前只運(yùn)行很少數(shù)量的計(jì)算機(jī)操作的性質(zhì)。這種程序一般來說不會(huì)使用很多的CPU。另一方面,CPU限制的程序利用整個(gè)的時(shí)間片,且不做任何阻礙I/O操作的工作。因此,通過給I/O限制的程序優(yōu)先權(quán)和允許在CPU 限制的程序之前運(yùn)行,可以很好的利用計(jì)算機(jī)資源。 答::當(dāng)經(jīng)常性的上下文切換減少到最低時(shí),CPU利用率增加。通過減少使用上下文切換程序來降低經(jīng)常性的上下文切換。但這樣可能會(huì)導(dǎo)致進(jìn)程響應(yīng)時(shí)間的增加。:通過最先執(zhí)行最短任務(wù)可以使平均周轉(zhuǎn)時(shí)間最短。然而,這種調(diào)度策略可能會(huì)使長時(shí)間運(yùn)行的任務(wù)永遠(yuǎn)得不到調(diào)度且會(huì)增加他們的等待時(shí)間。:CPU利用率的最大化可以通過長時(shí)間運(yùn)行CPU 限制的任務(wù)和同時(shí)不實(shí)行上下文切換。I/O設(shè)備利用率的最大化可以通過盡可能調(diào)度已經(jīng)準(zhǔn)備好的I/O限制的任務(wù)。因此,導(dǎo)致上下文切換 。,使用以下參數(shù)值會(huì)有什么影響?=0和t=100毫秒==10毫秒答:當(dāng)a=0和t=100毫秒時(shí),公式總是會(huì)預(yù)測(cè)下一次的CPU區(qū)間為100毫秒。當(dāng) a==10毫秒時(shí),進(jìn)程最近的行為是給予更高的重量和過去的就能成相比。因此,調(diào)度算法幾乎是無記憶的,且簡(jiǎn)單預(yù)測(cè)未來區(qū)間的長度為下一次的CPU執(zhí)行的時(shí)間片。,進(jìn)程占用的 CPU 區(qū)間長度以毫秒來計(jì)算:進(jìn)程區(qū)間時(shí)間優(yōu)先級(jí)P1103P211P323P414P552假設(shè)在時(shí)刻 0 以進(jìn)程 P1,P2,P3,P4,P5 的順序到達(dá)。 4 個(gè) Gantt 圖分
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1