- 1、本文档共33页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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) 的系統呼叫。 時間管理的系統
您可能关注的文档
最近下载
- 京剧的服装课件.ppt VIP
- 保证供货周期的组织方案和人力资源安排.doc VIP
- 乌有先生历险记(原文,练习,注释,翻译)解读.doc
- 红色经典故事PPT课件.pptx VIP
- (人教版2024)生物七上2.2.1 无脊椎动物(新教材).pptx
- 2023-2024学年江西省上饶市余干县八年级上期中物理试卷附答案解析.pdf
- 西北师范大学教育学理论与实践期末试卷.doc VIP
- 2023年成都信息工程大学数据科学与大数据技术专业《数据结构与算法》科目期末试卷B(有答案).docx VIP
- 河北省衡水中学2024-2025学年高三上学期第一次综合素养测评数学试题(原卷版).docx
- 数据结构(用面向对象方法与C++语言描述)第二版.pdf VIP
文档评论(0)