一、運(yùn)行時(shí)數(shù)據(jù)區(qū)域 1.1 程序計(jì)數(shù)器 一塊較小的內(nèi)存空間,可看作當(dāng)前線程所執(zhí)行的字節(jié)碼的行號(hào)指示器。字節(jié)碼指示器工作時(shí)就是通過(guò)改變這個(gè)計(jì)數(shù)器的值來(lái)選取下一條需要執(zhí)行的字節(jié)碼...
NetworkCapabilities.java[http://androidxref.com/9.0.0_r3/xref/frameworks/base/core/java...
頁(yè)高速緩存是Linux內(nèi)核實(shí)現(xiàn)磁盤(pán)緩存,主要用來(lái)減少對(duì)磁盤(pán)的I/O操作,這么做的原因是: 訪問(wèn)磁盤(pán)的速度遠(yuǎn)遠(yuǎn)低于訪問(wèn)內(nèi)存的速度 臨時(shí)局部原理:數(shù)據(jù)一旦被訪問(wèn),就很有可能在短期...
內(nèi)核除了管理本身的內(nèi)存外,還必須管理用戶空間中進(jìn)程的內(nèi)存,也就是進(jìn)程地址空間。 一、地址空間 進(jìn)程地址空間由進(jìn)程可尋址的虛擬內(nèi)存組成,內(nèi)核允許進(jìn)程使用這種虛擬內(nèi)存中的地址。每...
系統(tǒng)中能夠隨機(jī)(無(wú)需按順序)訪問(wèn)固定大小數(shù)據(jù)片的硬件設(shè)備稱(chēng)作塊設(shè)備(如硬盤(pán)、閃存等),這些固定大小的數(shù)據(jù)片就是塊。字符設(shè)備按照字符流的方式被有序訪問(wèn),如鍵盤(pán)。 本章學(xué)習(xí)內(nèi)核如...
虛擬文件系統(tǒng)(VFS)作為內(nèi)核子系統(tǒng),為用戶空間程序提供了文件和文件系統(tǒng)相關(guān)的接口。系統(tǒng)中所有的文件系統(tǒng)不但依賴VFS共存,而且依靠VFS系統(tǒng)協(xié)同工作。通過(guò)VFS,程序可以利...
1.okhttp源碼分析(一)——基本流程(超詳細(xì))2.okhttp源碼分析(二)——RetryAndFollowUpInterceptor過(guò)濾器3.okhttp源碼分析(三...
內(nèi)核不支持簡(jiǎn)單快捷的內(nèi)存分配方式。 一、頁(yè) 內(nèi)核把無(wú)力頁(yè)作為內(nèi)存管理的基本單位。內(nèi)存管理單元(MMU,管理內(nèi)存并把虛擬地址轉(zhuǎn)換為物理地址的硬件)通常以頁(yè)為單元進(jìn)行處理。體系結(jié)...
系統(tǒng)定時(shí)器是一種可編程硬件芯片,能以固定頻率產(chǎn)生中斷,也就是定時(shí)器中斷,其對(duì)應(yīng)的中斷處理程序負(fù)責(zé)更新系統(tǒng)時(shí)間,也負(fù)責(zé)執(zhí)行需要周期性運(yùn)行的任務(wù)。 系統(tǒng)定時(shí)器和時(shí)鐘中斷處理程序是...
一、原子操作 原子操作可以操作指令以原子的方式執(zhí)行,執(zhí)行過(guò)程不會(huì)被打斷。 1.1 原子整數(shù)操作 針對(duì)整數(shù)的原子操作只跟對(duì)atomic_t類(lèi)型的數(shù)據(jù)進(jìn)行處理。原子操作通常是內(nèi)聯(lián)...
臨界區(qū):訪問(wèn)和操作共享數(shù)據(jù)的代碼段 如果兩個(gè)執(zhí)行線程有可能處于同一個(gè)臨界區(qū)中同時(shí)執(zhí)行,那么就稱(chēng)其為競(jìng)爭(zhēng)條件 避免并發(fā)和防止競(jìng)爭(zhēng)條件稱(chēng)為同步。 加鎖 鎖是采用原子操作實(shí)現(xiàn)的,而...
操作系統(tǒng)必須有一個(gè)快速、異步、簡(jiǎn)單的機(jī)制負(fù)責(zé)對(duì)硬件做出迅速響應(yīng)并完成那些時(shí)間要求很?chē)?yán)格的操作,中斷處理程序很適合用于實(shí)現(xiàn)這些功能;然而對(duì)于其他對(duì)時(shí)間要求相對(duì)寬松的任務(wù),就應(yīng)該...
任何操作系統(tǒng)內(nèi)核的核心任務(wù),都包含有對(duì)連接到計(jì)算機(jī)上的硬件設(shè)備進(jìn)行有效管理,這就需要提供一種機(jī)制,讓硬件在需要的時(shí)候再向內(nèi)核發(fā)出信號(hào),這就是中斷機(jī)制。 一、中斷 中斷使得硬件...
Linux內(nèi)核實(shí)現(xiàn)了常用的通用數(shù)據(jù)結(jié)構(gòu): 鏈表 隊(duì)列 映射 二叉樹(shù)內(nèi)核開(kāi)發(fā)者應(yīng)盡可能使用這些數(shù)據(jù)結(jié)構(gòu),不要造輪子重復(fù)開(kāi)發(fā)。 一、鏈表 鏈表數(shù)據(jù)結(jié)構(gòu): 因?yàn)镃語(yǔ)言中,一個(gè)給定結(jié)...
一、與內(nèi)核通信 系統(tǒng)調(diào)用在用戶空間進(jìn)程和硬件設(shè)備之間添加一個(gè)中間層,主要有三個(gè)作用: 為用戶空間提供一種硬件的抽象接口 保證系統(tǒng)的穩(wěn)定和安全 每個(gè)進(jìn)程都運(yùn)行在虛擬系統(tǒng)種,實(shí)現(xiàn)...
調(diào)度程序負(fù)責(zé)決定將哪個(gè)進(jìn)程投入運(yùn)行,何時(shí)運(yùn)行以及運(yùn)行多長(zhǎng)時(shí)間。進(jìn)程調(diào)度程序可看作在可運(yùn)行態(tài)進(jìn)程之間分配有限的處理器時(shí)間資源的內(nèi)核子系統(tǒng),是像Linux這樣的多任務(wù)操作系統(tǒng)的基...
一、進(jìn)程 進(jìn)程就是處于執(zhí)行期的程序以及相關(guān)資源的總稱(chēng)(目標(biāo)碼存放在某種存儲(chǔ)介質(zhì)上),是正在執(zhí)行的程序代碼的實(shí)時(shí)結(jié)果。內(nèi)核需要有有效而又透明地管理所有細(xì)節(jié)。 執(zhí)行線程,簡(jiǎn)稱(chēng)線程...