Mac作業系統XNU核心(三)程序執行緒結構

2022-02-02 06:52:33 字數 1015 閱讀 7766

(xnu,是蘋果作業系統os x的核心)

task結構

mach層,沒有程序概念,只有與程序對應的task

mach task可以看作乙個機器無關的thread執行環境的抽象;或者乙個包括虛擬位址空間、ipc空間、處理器資源、排程控制、thread的容器。

proc結構

這是bsd層的程序結構,擴充套件了mach層的task結構

也就是說,task結構是proc結構的一部分

uthread結構

這是bsd層的uthread結構,擴充套件了mach層的thread結構

thread結構是uthread結構的一部分

thread結構

mach thread可以看作mach task的獨立可排程單元,task中使用多個thread可以顯著提高效能;thread結構包括下面資訊:

1.排程優先順序、排程策略和相關資訊

2.處理器使用率統計

3.thread級port(ports實現資訊傳送),比如核心port和異常port

4.機器狀態(thread狀態依賴機器狀態)

附贈

Mac作業系統XNU核心(一)組成

xnu,是蘋果作業系統os x的核心 mach部分介紹 核心mach部分位於最底層,作為乙個 微核心 承擔最基本的職責 1.程序 任務 和執行緒抽象 2.虛擬記憶體 3.執行緒排程 4.程序間通訊機制 mach ports 5.提供bsd所不能提供的api bsd部分介紹 bsd在mach基礎上實現...

作業系統 程序同步(三)

程序同步中很著名的問題就是生產者 消費者問題,描述如下 有一群生產者程序在生產產品,並將這些產品提供給消費者程序去消費。為使生產者程序與消費者程序能併發執行,在兩者之間設定了乙個具有 n 個緩衝區的緩衝池,生產者程序將它所生產的產品放入乙個緩衝區中 消費者程序可從乙個緩衝區中取走產品去消費。儘管所有...

作業系統 程序

在作業系統中,作業系統將記憶體,網路,檔案系統抽象為資源的統一抽象表示。1 什麼是程序 程序就是進入記憶體中正在執行的程式。把程序當做一組元素組成的實體。程序包括兩個部分,一部分是 部分,另一部分是 相關的資料集合。程序控制塊 每乙個程序,在核心中都對應著乙個程序控制塊。程序控制塊中儲存著程序的所有...