原创 Cortex-A相對經典ARM處理器的擴展

(一)Cortex-A多了一種工作模式:monitor 1. usr 用戶模式:               非特權模式,大部分應用程序運行在這個模式下 2. fiq 快中斷模式:            高優先級的中斷 3. irq

原创 ARM內聯彙編

首先,讓我們來共同瞭解一下 GCC 內聯彙編的一般格式: asm( 代碼列表 : 輸出運算符列表 : 輸入運算符列表 : 被更改資源列表 ); 在代碼列表中,每個彙編語句都要用"  "括起來。 例: asm( " add %

原创 廣播和組播

一、廣播 1、受限廣播  限制廣播地址(255.255.255.255)。對本機來說,這個地址指本網段內(同一廣播域)的所有主機(可能由於實現而不同)。這個地址不能被路由器轉發。可以進行廣域網傳輸,但一般會被阻止。 2、子網廣播 當

原创 exec函數族

         用fork函數創建子進程後,子進程往往要調用一種exec函數以執行另一個程序。當進程調用一種exec函數時,該進程完全由新程序代換,而新程序則從其 main函數開始執行。因爲調用exec並不創建新進程,所以前後的進

原创 環境表

environ環境指針指向環境表,是一個全局變量,稱爲環境指針,其指向的數組稱爲環境數組。使用時需用extern聲明 例程: #include <stdio.h> #include <unistd.h> #include <s

原创 進程狀態及轉換關係

一個進程在其生存期內,可處於一組不同的狀態下,稱爲進程狀態,如圖所示。進程狀態保存在進程任務結構的state字段中。當進程正在等待 系統中的資源而處於等待狀態時,則稱其處於睡眠等待狀態。在Linux系統中,睡眠等待狀態分爲

原创 高級IO

幾種IO模型優缺點: 阻塞型:當資源臨時不可獲得時,調用者進程阻塞等待。節省系統資源,運行效率低。 非阻塞型(輪詢):當資源不可獲得時,系統調用出錯返回,影響浪費系統資源,運行效率高。 多路IO複用型:既節省系統資源,服務效率又高

原创 ARM的快速上下文切換(FCSE)

一、FCSE的原理       通常情況下,如果兩個進程佔用的虛擬地址空間由重疊,系統在這兩個進程之間進行切換時,必須進行虛擬地址到物理地址的重映射。而虛擬地址到物理地址的重映射涉及到重建MMU中的頁表,而且cache 及TLB中的內容都

原创 線程的互斥

一、互斥量:        保證同一時間只有一個線程訪問數據,在線程訪問數據前先對數據加鎖,這樣數據只能爲該線程所用,其他試圖對數據加鎖的線程將被阻塞直到當前線程釋放對該數據的鎖。              如果釋放互斥鎖時,有多個線程阻

原创 ARM僞指令和僞操作

(一)GNU彙編書寫格式 註釋符:@和# 語句分離符: ; 立即數前綴: #或$ 段內標號的地址值在彙編時確定 段外標號的地址值在連接時確定 局部標號:主要在局部範圍內使用而且局部標號可以重複出現。它由兩部分組成,開頭是一個直接的數

原创 殭屍進程

1. 產生原因:   在UNIX 系統中,一個進程結束了,但是他的父進程沒有等待(調用wait / waitpid)他,那麼他將變成一個殭屍進程。通過ps命令查看其帶有defunct的標誌。殭屍進程是一個早已死亡的進程,但在進程表

原创 ARM協處理器CP15寄存器詳解

用於系統存儲管理的協處理器CP15 MCR{cond}     coproc,opcode1,Rd,CRn,CRm,opcode2 MRC {cond}    coproc,opcode1,Rd,CRn,CRm,opcode2 cop

原创 IP地址詳解

一、IP地址概念            IP地址就是給每個連在Internet網的主機分配一個在全世界範圍內唯一的標示符。IP地址(英語:Internet Protocol Address)是一種在Internet上的給主機編址的方式,

原创 標準IO

一、關於標準IO緩衝區 標準IO提供緩衝的目的是儘可能減少使用read和write調用的此數,他對每個IO流自動地進行緩衝管理。標準IO提供三種類型的緩衝: 1、全緩衝:這種情況下,當標準IO緩衝區填滿後才進行實際IO操作。在一個流上執

原创 ARM的cache和寫緩衝器(write buffer)

一、cache簡介         通常CPU與外部主存之間的訪問速度差距很大,因爲外部主存的低速率讀寫而降低了CPU的執行效率,所以引入了高速緩衝存儲器cache,cache存儲器是一種容量小,速度快的存儲器。其實cache說到底就是一