原创 mmap函數使用

UNIX網絡編程第二捲進程間通信對mmap函數進行了說明。該函數主要用途有三個:1、將一個普通文件映射到內存中,通常在需要對文件進行頻繁讀寫時使用,這樣用內存讀寫取代I/O讀寫,以獲得較高的性能;2、將特殊文件進行匿名內存映射,可以爲關聯

原创 dev、devfs、 udev和sysfs之間的關係

一、/dev存儲的是linux可以認識的所有的文件設備名,無論這個設備有沒有在系統裏。爲了解決/dev目錄過大的問題,就 產生了devfs,但devfs是基因內核的,有很多無法解決的問題(參考前面的文章),所以就出現了udev。而udev

原创 對Linux內核中進程上下文和中斷上下文的理解

作者:楊碩,華清遠見嵌入式學院講師。 內核空間和用戶空間是操作系統理論的基礎之一,即內核功能模塊運行在內核空間,而應用程序運行在用戶空間。現代的CPU都具有不同的操作模式,代表不同的級別,不同的級別具有不同的功能,在較低的級別中將禁止

原创 linux中的 IO端口映射和IO內存映射

CPU地址空間(一)地址的概念1)物理地址:CPU地址總線傳來的地址,由硬件電路控制其具體含義。物理地址中很大一部分是留給內存條中的內存的,但也常被映射到其他存儲器上 (如顯存、BIOS等)。在程序指令中的虛擬地址經過段映射和頁面映射後,

原创 爲什麼中斷上下文不可以休眠

不可在中斷例程中休眠的原因      如果在某個系統調用中把當前進程休眠,是有明確目標的,這個目標就是過來call這個系統調用的進程(注意這個進程正在running)。      但是中斷和進程是異步的,在中斷上下文中,當前進程大部分時

原创 mmap詳解

from http://nieyong.github.io/wiki_cpu/mmap%E8%AF%A6%E8%A7%A3.html 內存映射,簡而言之就是將內核空間的一段內存區域映射到用戶空間。映射成功後,用戶對這段內存區

原创 機器學習中的相似性度量

在做分類時常常需要估算不同樣本之間的相似性度量(Similarity Measurement),這時通常採用的方法就是計算樣本間的“距離”(Distance)。採用什麼樣的方法計算距離是很講究,甚至關係到分類的正確與否。   本文的目的

原创 Linux下的利器——supervise

supervise是daemontools的一個工具,可以用來監控管理unix下的應用程序運行情況,在應用程序出現異常時,supervise可以重新啓動指定程序。本文簡單介紹一下supervise的安裝和使用。 一、      安裝 創

原创 Arduino的圖形化開發環境: ArduBlock

轉載自http://youngmakers.cn/groups/articles/54f9466b9835fed6656d4dd6 ArduBlock是一款爲Arduino設計的開源圖形化編程軟件,由上海新車間創客開發。使用ArduB

原创 python 根據類名實例化對象

方法一: class obj(object):        pass   a = eval('obj()') 方法二: 如果是經常需要這樣可以 #將用來創建對象的字符串預編譯成code對象. create_o

原创 使用pypi鏡像源加速第三方庫在線安裝

用easy_install和pip來安裝第三方庫很方便它們的原理其實就是從Python的官方源pypi.python.org/pypi 下載到本地,然後解包安裝。不過因爲某些原因,訪問官方的pypi不穩定,很慢甚至訪問不了。跟ubuntu

原创 Linux——bash shell 使用技巧

使用GNU/Linux系統使用bash是家常便飯,知道一些bash常用的快捷鍵就顯得非常有必要,bash快捷鍵大全Ctrl-A 相當於HOME鍵,用於將光標定位到本行最前面,回到命令行開始,UNIX上只能用這個組合鍵Ctrl-E 相當於E

原创 二叉樹集錦

1. 求二叉樹第K層的節點個數 遞歸解法: (1)如果二叉樹爲空或者k<1返回0(2)如果二叉樹不爲空並且k==1,返回1(3)如果二叉樹不爲空且k>1,返回左子樹中k-1層的節點個數與右子樹k-1層節點個數之和參考代碼如下: [cp

原创 一些常見的概率生成器的題目

1. 百度的一個面試題目: .已知一隨機發生器,產生0的概率是p,產生1的概率是1-p,現在要你構造一個發生器,  使得它構造0和1的概率均爲1/2;構造一個發生器,使得它構造1、2、3的概率均爲1/3;…,  構造一個發生器,使得

原创 卡塔蘭數

卡塔蘭數規定C0=1而C1=1,C2=2,C3=5,C4=14,C5=42,C6=132,C7=429,C8=1430,C9=4862,C10=16796, C11=58786,C12=208012,C13=742900,C14