當前位置:首頁 » 軟體系統 » 操作系統可以線程套線程么
擴展閱讀
賣車可以發圖片嗎 2025-05-15 18:09:20
2014年arpg游戲可以轉職 2025-05-15 18:00:28
怎樣在紙上畫抖音的內容 2025-05-15 17:53:20

操作系統可以線程套線程么

發布時間: 2023-05-11 12:19:53

❶ 請教一個操作系統線程問題

線程可以在內核中實現,也可以在用戶空間實現。我自己的理解是這樣的:在內核中實現就是操作系統提供線程支持;在用戶空間中實現就是用戶自己實現。本來以為JVM的線程就是在用戶空間上實現的,但是搜了一下,貌似Linux平台下是調用Pthred庫實現的。這里還是深入學習一下這兩種線程的實現方式,為以後的工作和學習打下基礎,說不定什麼時候就用上了。
內核不知道線程的存在。當一個進程中的線程執行完畢,不需要進行系統調用(Trap)空消,不需要進行上下文交換,所以線程的切換非常快。
襪凳但斗好知是在發生I/O中斷的時候,必須要內核去處理了。那麼問題來了,內核會鎖住當前線程所在的進程,因為內核不知道線程的存在,只知道進程。解決這個辦法有點麻煩。《現代操作系統》中提出了一個解法,在某些UNIX版本中有一個select系統調用,它可以判斷I/O操作是否會阻塞。如果阻塞就不執行I/O操作。這樣run-time system(用的英文版教材,很多術語不會翻譯或者亂翻譯,囧)就知道是執行I/O,還是執行該進程的其它進程。

❷ 操作系統線程可以被不同進程共享嗎

在計算機科學中,執行線程是可由調度器獨立管理的最小程序拍告型指令序列,調度程序通常是操作系統的一部分。

線程和進程的實現因操作系統而異,但在大多數情況下,線程是進程的一個組成部分。多個線程可以存在於一個進程中,一個進程中的線程同時執行並共享內存等資友含源,而不同的進程不共享這些資源。特別是,同一個進程的線程可以在任何給定時間襲猜共享其可執行代碼及其動態分配變數和非線程全局變數的值。

❸ 操作系統 線程與進程

Solaris內核是多線程的,即內核服務和任務可以作為內核線程執行。內核線程是Solaris內核管理的核心執行單位。內核線程有包括全局優先順序和調度類的執行狀態和上下文;內核線程是調度,執行和在處理器上作上下文切換的基本單位。同樣的模型用於用戶級進程。用戶進程是定義了許多它的線程的執行上下文的容器。線程允許在單個虛擬內存環境中有多個執行流,因為不需要虛擬內存的上下文轉換,因此同一個進程之內的線程之間的執行切換代價很小。下列對象構成了Solaris內核線程模型和實現的核心。

�內核線程。在處理器上被調度和執行的對象。

�用戶線程。用戶進程中維護的用戶級(非內核)線程狀態。

�進程。程序的可執行形式;用戶程序的執行環境。

�輕量級進程(LWP)。用戶線程內核可見的執行上下文。

Solaris執行具有與內核相關任務的內核線程,例如中斷處理、內存頁面管理、設備驅動程序,等等。執行用戶進程,內核線程有對應的LWP;內核代表用戶進程調度這些內核線程的執行。在內核中,多個執行的線程共享內核環境,主要是內核地址空間。進程也包含一個或多個線程,它們共享進程的虛擬內存環境以及其他的進程上下文組件。

進程是包含用戶程序執行環境的抽象。它由虛擬內存環境(地址空間)、程序資源例如打開的文件列表和至少一個執行的線程構成。虛擬內存環境、打開的文件列表,及其他的進程環境組件被每個進程中的所有線程共享。

LWP和它對應的內核線程定義了用戶進程內線程的虛擬執行環境。從Solaris9開始,用戶線程、LWP和內核線程之間有一對一的關系。也就是說,用戶進程的每個線程綁定到一個LWP,穗鍵芹而每個LWP有一個內核線程。LWP允許進程內的每個線程獨立於同一進程內的其亮州他線程作系統調用。如果沒有LWP,每次只能猜畢有一個線程可以進入內核——每次只有一個線程可以做系統調用。每次線程做系統調用,它的寄存器被放在LWP的棧內。從系統調用返回後,系統調用返回碼被放在LWP內。圖1-2說明用戶線程、LWP、內核線程和進程間的關系。

❹ java中的線程和操作系統中的線程一樣嗎,多線程是多個線程同時運行還是一個時間點運行一個線程

java中的線程跟操作系統姿螞的是不一樣的,因為java使用了虛擬機。一個CPU一個時刻只能運行一個線程頌搭。多CPU的話,也野冊拿許能讓多個線程在各個CPU上同時跑,這要看線程能不能同時運行,有沒有搶占資源之類的。

❺ 請問操作系統的多線程與應用程序的多線程有關聯嗎

呵呵 個人認為 兩者大方向一樣 操作系統多線程 可以運行多個軟體 而軟體可以操作多個步驟。