原创 進程管理的note,不要看

使用fork創建進程,進程便開始存活,fork()系統調用返回兩次,一次回到父進程,一次回到子進程,這樣的結果是使得父進程繼續執行,子進程開始執行。 exec()爲進程創建新的地址空間,並載入程序。 exit()終結進程,釋放

原创 省略一個操作數的三目運算符

Conditionals with Omitted Operands The middle operand in a conditional expression may be omitted. Then if the first

原创 摘抄 ——西蒙·佩雷斯的《大夢無疆》

No Room for Small Dreams. Courage, Imagination, and the Making of Modern Israel. “爲什麼你相信那個男孩?”我偶爾聽到人們問他。他的回答總是一樣。“三

原创 一些小概念

SSL(Secure Sockets Layer)協議,對普通socket進行數據加密、保證數據完整性以及安全認證。現在到SSL 3.0了,基於TCP協議。 TLS(Transport Layer Security),可認爲是S

原创 stdout行緩衝和stderr無緩衝的含義

stdout和stderr 有人說stdio是帶緩衝的,stderr是不帶緩衝的,這並不是指fd=1和fd=2這兩個設備文件,這兩個設備是字符設備,本身沒有緩存。並且你看一個進程的1和2兩個fd指向的其實是同一個終端設備文件: [

原创 exit() 和 _exit() 的區別

exit()和_exit()的效果都是讓程序退出執行,而_exit()用來“儘快”退出。 atexit() 先說一下atexit()函數。我們可以用atexit()註冊一個或多個函數退出清理函數(或者on_exit()但這個函數不

原创 Linux下使用system函數一定要謹慎

https://my.oschina.net/renhc/blog/53580 https://my.oschina.net/renhc/blog/54582 曾經的曾經,被system()函數折磨過,之所以這樣,是因爲對sys

原创 共享內存接口記錄

#include <sys/ipc.h> #include <sys/shm.h> #if 0 如何防止共享內存訪問衝突: 如果是mmap一個文件的方式,就要注意是否原來的數據被sync了再寫新的數據。跟讀DMA要先回寫cach

原创 Linux中的jiffies介紹

HZ和jiffies Linux中的軟定時器(低分辨率的timer_list定時器)利用CPU時鐘中斷來感知時間更新,並通過TIMER_SOFTIRQ軟中斷來運行到期的定時器。時鐘中斷每秒觸發HZ次,HZ的值可在編譯時通過CONF

原创 Linux中系統和進程的內存用量統計

這裏寫自定義目錄標題free命令的結果每個進程的物理內存進程內存消耗分析總體消耗堆內存靜態數據區和只讀數據區棧內存 free命令的結果 使用busybox-1.31.0中的free命令(procps/free.c實現,主要從/pr

原创 共享內存防止讀寫衝突

共享內存的讀寫衝突問題: 在設計上儘量就是一個寫,一個或多個讀。那麼要解決的問題有兩個: 1. 讀寫同步問題,例如如果寫一段數據中就有人來讀了,那就是讀到了一半舊的一半新的數據,播放幀就是花屏,又例如寫結構體,先寫幀地址,在寫

原创 C++模板的使用例子(別看)

#include <stdio.h> #include <iostream> #include <functional> template <typename MsgT> class Msg { public: Msg(int s

原创 收發包的設備變化

開關中斷: local_irq_disable() local_irq_enable() 下面的方法更安全: local_irq_save(flags) //保存中斷環境並關中斷 local_irq_restore(flags) //

原创 增加測試代碼

oprofile: 內核需要打開 CONFIG_PERF_EVENTS=y CONFIG_PERF_COUNTERS=y CONFIG_HW_PERF_EVENTS=y 重新編譯內核。 重新編譯你的程序。 操作步驟: 加載內核模塊:

原创 gprofile, oprofile, LTT

http://www.mamicode.com/info-detail-1383535.html