處理元與執行緒.ppt

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
處理元與執行緒

運用在RPC中的執行緒觀念 執行緒的種類 在執行緒的實作上,有兩個比較大的執行緒類別,即使用者層次的執行緒(user-level threads)與核心層次的執行緒(kernel-level threads) 在單純的使用者執行緒的環境中,執行緒的管理由應用本身負責,作業系統核心可以完全不管 應用系統使用threads library來處理跟執行緒相關的工作 執行緒的種類 Windows 2000處理元的主要特徵 Windows 2000的處理元以物件(objects)來表示。 一個處理元可能包含一個或多個執行緒。 處理元物件與執行緒物件。 Linux對於執行緒與處理元的管理 Linux中的處理元是以一個叫做task_struct的資料結構來表示的,系統記錄一個task表格,有指標指向目前定義的task_struct資料結構 Linux的處理元有一個比較特殊的Zombie狀態,這是當處理元已經終止(terminated) ,但是task_structure仍然存在於process table中 Linux沒有使用另外的結構來表示執行緒,所以Linux基本上沒有區分處理元與執行緒的觀念 基本觀念 處理元(process)也有人翻譯成行程,是作業系統裡頭執行當中的程式 通常使用者在電腦的作業系統中可以下指令或是執行各種程式,結果就是產生一些處理元 假如作業系統中有許多使用者,則可能產生的處理元的數量就非常多,可是CPU的處理能力有限,所以作業系統必須安排好處理元的執行先後順序,這就是處理元的排程(process scheduling) 電腦系統中正在執行的程式 微軟Windows作業系統:透過[工作管理員]可以打開視窗,裡頭的處理程序就是我們這裡講的處理元。 UNIX類型的作業系統:可以使用ps指令,顯示目前執行當中的處理元。 記憶體中處理元的內容結構 處理元的內涵 執行的目標程式碼(object code)。 程式執行時所用到的資料。 程式執行時所需要的資源(resources)。 處理元執行時的狀態(status of execution)。 處理元的內涵與所處的環境 處理元描述資料(process descriptor) 處理元上回暫停(suspend)時,處理器暫存器內儲存的內容。 處理元在處理器內的狀態(即processor state)。 位址空間對應(address space mapping)的細節。 處理元使用的記憶體狀態(memory state)。 處理元堆疊的指標(stack pointer)。 已配置給處理元的資源。 處理元所需要的資源。 處理元的狀態圖 從作業系統的啟動程序觀察 處理元的衍生過程 電腦開機以後,CPU會開始從記憶體中所謂的開機始點(bootstrap entry point) ,擷取指令執行。這是系統開始執行的第一個程式,裡頭包括了一些最基本的作業,最後的目標當然是建立起作業系統執行的環境 一旦作業系統開始載入執行,馬上會控制電腦系統的硬體資源,同時產生所需要的資料結構與硬體設備的狀態(device state) 作業系統的啟動程序決定於第一個執行的處理元,這也是作業系統執行前唯一執行中的處理元 UNIX的啟動程序 UNIX系統開始是以單一使用者(single user)與多處理元(multiple process)的模式執行 單一使用者指superuser,UNIX系統的啟動程序中有一部分是執行/etc/rc檔案,rc代表run control,裡頭含有shell commands,將一些要先執行的程式執行起來, 通常rc執行的工作與系統的組態(configuration)有關 傳統的UNIX系統 傳統的UNIX系統供多人登入使用, 通常伺服器的每個序列埠(serial port)都會執行一個對應的getty程式 getty會呼叫login程式執行,讓使用者登入 使用者登入之後,所用的就是shell介面,使用者執行的shell有個別的資料與堆疊,使用者登出(logout)之後,shell結束,回到login程式,等待下一個使用者登入 系統呼叫(system call) 系統呼叫是作業系統和使用者程式(user program)之間的介面 不同的作業系統所提供的系統呼叫也不太一樣,但是觀念都十分類似 假如從電腦開始啟動的時候想起,我們可以發現最初執行的處理元不必太複雜,只要能把作業系統帶起來就行了 作業系統本身的功能複雜,有許多功能是借著系統呼叫再產生的,如此一來,系統就能在已有的基礎上發展出來 常見的幾種系統呼叫的類型 處理元管理的系統呼叫。 傳訊(Signaling) 的系統呼叫。 檔案管理的系統呼叫。 目錄管理的系統呼叫。 保護(protection) 的系統呼叫。 時間管理的系統

文档评论(0)

cynthia_h + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档