高校網站建設研究意義楓林seo工具
1、下列關于線程的描述中,錯誤的是
A.內核級線程的調度由操作系統(tǒng)完成
B.操作系統(tǒng)為每個用戶級線程建立一個線程控制塊
C.用戶級線程間的切換比內核級線程間的切換效率高
D.用戶級線程可以在不支持內核級線程的操作系統(tǒng)上實現
答案:B
解析:應用程序沒有進行線程管理的代碼,只有一個到內核級線程的編程接口,內核為進程及其內部的每個線程維護上下文信息,調度也是在內核中由操作系統(tǒng)完成的,即A選項正確;
在多線程模型中,用戶級線程和內核級線程的連接方式分為多對一、一對一和多對多,操作系統(tǒng)為每個用戶級線程建立一個線程控制塊是屬于一對一模型,其他兩個模型沒有為用戶級線程建立一個線程控制塊,即B選項錯誤;
用戶級線程的切換可以在用戶空間內完成,內核級線程的切換需要操作系統(tǒng)幫助進行調度,需要一定的開銷,即用戶級線程間的切換比內核級線程間的切換效率高,即C選項正確;
用戶級線程的管理工作可以只在用戶空間中進行,因此可以在不支持內核級線程的操作系統(tǒng)上實現,即D選項正確。
多線程模型
(1)多對一模型

(2)一對一模型

(3)多對多模型

2、下列關于多任務操作系統(tǒng)的敘述中,正確的是____。
?Ⅰ.具有并發(fā)和并行的特點?
?Ⅱ.需要實現對共享資源的保護?
?Ⅲ.?需要運行在多CPU的硬件平臺上?
?A.?僅Ⅰ??
?B.?僅Ⅱ??
?C.?僅Ⅰ、Ⅱ??
?D.?Ⅰ、Ⅱ、Ⅲ
答案:C,多CPU并非是多任務操作系統(tǒng)的必備硬件,單CPU也可運行多任務。
并行:指在同一時刻,有多條指令在多個處理器上同時執(zhí)行。所以無論從微觀還是從宏觀來看,二者都是一起執(zhí)行的。
并發(fā):指在同一時刻只能有一條指令執(zhí)行,但多個進程指令被快速的輪換執(zhí)行,使得在宏觀上具有多個進程同時執(zhí)行的效果,但在微觀上并不是同時執(zhí)行的,只是把時間分成若干段,使多個進程快速交替的執(zhí)行
3、某單CPU系統(tǒng)中有輸入和輸出設備各1臺,現有3個并發(fā)執(zhí)行的作業(yè),每個作業(yè)的輸入、計算和輸出時間均分別為2ms、3ms和4ms,且都按輸入、計算和輸出的順序執(zhí)行,則執(zhí)行完3個作業(yè)需要的時間最少是 ()。
A.15ms
B.22ms
C.17ms
D.27ms
解析:
CPU、輸入設備、輸出設備都只有一個,各操作步驟不能重疊,
畫出運行圖后就能清楚地看到不同作業(yè)間的時序關系,如下圖所示。

4、下列選項中,會導致用戶進程從用戶態(tài)切換到內核態(tài)的操作是()。
I.整數除以零 II. sin()函數調用 III. read 系統(tǒng)調用
僅 I、 II
僅 I、 III
僅 II、 III
I、 II 和 II
用戶態(tài)切換到內核態(tài)的三種方式:
系統(tǒng)調用:比如讀取命令行輸入。本質上是通過中斷實現的。系統(tǒng)調用指代的是系統(tǒng)函數調用。這是發(fā)生在用戶態(tài)主動請求切換到內核態(tài)的過程中的。
用戶程序發(fā)生異常:比如發(fā)生缺頁異常。會觸發(fā)當前運行的進程切換到處理此內核異常的內核相關程序中,即切換到內核態(tài)。
外圍設備的中斷:外圍設備完成用戶請求的操作之后,會先CPU發(fā)出中斷信號,這時CPU會轉去處理對應的中斷處理程序
sin() 函數不是系統(tǒng)函數。
5、

1、計算要占CPU
2、I/O不占CPU
3、先出發(fā)的先執(zhí)行
4、計算使用CPU可以與I/O一起進行,但是不能與I/O并行

6、下列關于父進程與子進程的敘述正確的是(ABC)
A、父進程與子進程有不同的進程控制塊
B、父進程與子進程不能同時使用同一臨界資源
C、父進程與子進程可以并發(fā)執(zhí)行
D、父進程與子進程共享虛擬地址空間
解析:父進程和子進程可以并發(fā)執(zhí)行;
父進程和子進程可以共享一部分資源,但不能共享虛擬地址空間,在創(chuàng)建子進程時會為子進程分配資源比如虛擬地址空間,即D選項錯誤;
進程控制塊PCB是進程存在的唯一標志,每個進程都有自己的PCB,即父進程和子進程有不同的進程控制塊;
臨界資源一次只能為一個進程所使用,父進程和子進程不能同時使用同一臨界資源
7、下列選項中,會導致進程從執(zhí)行態(tài)變?yōu)榫途w態(tài)的事件是( )。
A.執(zhí)行P(wait)操作
B.申請內存失敗
C.啟動IO設備
D.被高優(yōu)先級進程搶占

8、下列關于進程和線程的敘述中,正確的是( )。
A.不管系統(tǒng)是否支持線程,進程都是資源分配的基本單位
B.線程是資源分配的基本單位,進程是調度的基本單位
C.系統(tǒng)級線程和用戶級線程的切換都需要內核的支持
D.同一進程中的各個線程擁有各自不同的地址空間
A/B:在引入線程后,進程是資源分配的基本單位,線程是調度的基本單位。
C:在用戶級線程中,有關線程管理的所有工作都由應用程序完成,無須內核的干預。
D:同一進程中的各個線程共享進程的地址空間。
9、在支持多線程的系統(tǒng)中,進程Р創(chuàng)建的若干線程不能共享的是( )。
A.進程Р的代碼段
B.進程Р中打開的文件
C.進程P的全局變量
D.進程Р中某線程的棧指針
進程中的線程共享進程中的全部資源,但進程中某線程的棧指針對其它線程是透明的,不能與其它線程共享。
進程是擁有資源的基本單位,線程作為調度分配的基本單位基本不擁有資源,只擁有一些必不可少的資源,如:程序計數器,局部變量,少數狀態(tài)參數,返回地址以及堆棧等,這些都是線程私有的,不共享。