Time of Update: 2018-12-04
From: http://blog.csdn.net/guosha/archive/2008/09/17/2943615.aspx Linux為實現訊號處理提供了比較多的介面,看似紛雜,但理清訊號的關係後還是很有條理的。主要分為以下四組,怎麼發送一個訊號,收到一個訊號後做什麼樣的處理,主動等待一個訊號的發生,對特定訊號只記錄是否發生供以後再處理;四組的API如下(不考慮多線程):發送訊號 kill, alarm, arise; 安裝訊號 signal, sigaction;等待訊號
Time of Update: 2018-12-04
簡而言之,產生段錯誤就是訪問了錯誤的記憶體段,一般是你沒有許可權,或者根本就不存在對應的實體記憶體,尤其常見的是訪問0地址. 一般來說,段錯誤就是指訪問的記憶體超出了系統所給這個程式的記憶體空間,通常這個值是由gdtr來儲存的,他是一個48位的寄存器,其中的32位是儲存由它指向的gdt表,後13位儲存相應於gdt的下標,最後3位包括了程式是否在記憶體中以及程式的在cpu中的運行層級,指向的gdt是由以64位為一個單位的表,在這張表中就儲存著程式啟動並執行程式碼片段以及資料區段的起始地
Time of Update: 2018-12-04
Linux環境處理序間通訊(四)號誌一、號誌概述號誌與其他處理序間通訊方式不大相同,它主要提供對進程間共用資源存取控制機制。相當於記憶體中的標誌,進程可以根據它判定是否能夠訪問某些共用資源,同時,進程也可以修改該標誌。除了用於存取控制外,還可用於進程同步。號誌有以下兩種類型:二值號誌:最簡單的號誌形式,號誌的值只能取0或1,類似於互斥鎖。
Time of Update: 2018-12-04
EXPORT_SYMBOL標籤內定義的函數或者符號對全部核心代碼公開,不用修改核心代碼就可以在您的核心模組中直接調用,即使用EXPORT_SYMBOL可以將一個函數以符號的方式匯出給其他模組使用。您還可以手工修改核心原始碼來匯出另外的函數,用於重新編譯並載入新核心後的測試。Linux symbol export method:[1] If we want export the symbol in a module, just use the EXPORT_SYMBOL(xxxx) in the
Time of Update: 2018-12-04
LXR (stands for Linux Cross-Reference), is a great tool which indexes the source code of the Linux Kernel and allows you browse the source in your favorite browser (Firefox), with quick references for allfunctions/files referenced in that code.
Time of Update: 2018-12-04
今天花了一整天的時間來解決insight 的連接埠無法修改的問題,雖然是解決了,但是也付出了很大的代價,花了一整天時間+毀掉了以前的系統。所以來重新安裝配置arm
Time of Update: 2018-12-04
雜湊表(Hashtable)又稱為“散置”,Hashtable是會根據索引鍵的雜湊程式碼組織成的索引鍵(Key)和值(Value)配對的集合。Hashtable 對象是由包含集合中元素的雜湊桶(Bucket)所組成的。而Bucket是Hashtable內元素的虛擬子群組,可以讓大部分集合中的搜尋和擷取工作更容易、更快速。 雜湊函數(Hash Function)為根據索引鍵來返回數值雜湊程式碼的演算法。索引鍵(Key)是被儲存物件的某些屬性值(Value)。當對象加入至 Hashtable時,
Time of Update: 2018-12-04
linux設定環境變數putenv() setenv() getenv()(ZZ)getenv(取得環境變數內容)相關函數 putenv,setenv,unsetenv表標頭檔 #include<stdlib.h>定義函數 char * getenv(const char *name);函數說明 getenv()用來取得參數name環境變數的內容。參數name為環境變數的名稱,如果該變數存在則會返回指向該內容的指標。環境變數的格式為name=value。傳回值
Time of Update: 2018-12-04
進行多線程編程,最應該注意的就是那些共用的資料,因為無法知道哪個線程會在哪個時候對它進行操作,也無法得知哪個線程會先運行,哪個線程會後運行。所以,要對這些資源進行合理的分配和正確的使用。在Linux下,提供了互斥鎖、條件變數和訊號量來對共用資源進行保護。一、互斥鎖互斥鎖,是一種訊號量,常用來防止兩個進程或線程在同一時刻訪問相同的共用資源。需要的標頭檔:pthread.h互斥鎖標識符:pthread_mutex_t(1)互斥鎖初始化:函數原型: int pthread_mutex_init
Time of Update: 2018-12-04
文章目錄 Linux系統下臨時檔案TMP清理 Linux系統下臨時檔案TMP清理系統使用時間長後會產生臨時檔案(/tmp下),需要清理。但清理的時候不推薦使用rm -rf.這樣有時會引起程式的僵死。 推薦使用tmpwatch命令來進行清理。關於tmpwatch的說明如下: 名稱 : tmpwatch 版本 : 2.8.4 發布號 : 5 所屬組 : 系統內容/基礎 源碼包:
Time of Update: 2018-12-04
1.Linux連結概念Linux連結分兩種,一種被稱為永久連結(Hard Link),另一種被稱為符號連結(Symbolic Link)。預設情況下,ln命令產生永久連結。【硬串連】硬串連指通過索引節點來進行串連。在Linux的檔案系統中,儲存在磁碟分割中的檔案不管是什麼類型都給它分配一個編號,稱為索引節點號(Inode Index)。在Linux中,多個檔案名稱指向同一索引節點是存在的。一般這種串連就是硬串連。硬串連的作用是允許一個檔案擁有多個有效路徑名,這樣使用者就可以建立硬串連到重要檔案,
Time of Update: 2018-12-04
這條命令挺有用,也貼出來了rm -dfr abc man rm (刪除abc檔案夾,其中abc檔案夾中含有子檔案夾,且子檔案夾中也含有檔案)我原來把crosstools_3.4.1_softfloat.tar.bz2交叉編譯工具鏈解壓到/tmp的目錄下了,後來不想放到此目錄下,就要把它整體刪除了,這個命令就可以做到下面來詳細說明整個交叉編譯環境的建立的過程先說一下我個人的配置環境主機:Windows XP sp2 虛擬機器:vmvare 5.5從機:RedHat
Time of Update: 2018-12-04
假設公司A在萬網a.org上註冊了一個網域名稱net.cn, 現在不想使用萬網的DNS伺服器,而是自己要建立兩個DNS伺服器,一個是主伺服器,一個是從伺服器,現有兩台機器: ns1.a.org , ns2.a.org 我們如何配置這兩台主機成為DNS伺服器?首先,這個公司A內部有如下需求:1.公司有一個mail伺服器,需要被解析 mail.a.org2.公司有一個ftp伺服器,需要被解析
Time of Update: 2018-12-04
好了,瞭解了這些檔案和目錄的作用,我們在回過頭來看那張流程圖:1. linux開機從POST加電自檢開始,當自檢完成,讀取第一個硬碟的第0個磁頭裡的前446個位元組,運行裡面的bootloader,linux一般用的是grub,如果不懂grub的話,可以看我的這篇文章:http://blog.csdn.net/deansrk/article/details/66524432.
Time of Update: 2018-12-04
SElinux的前身是NSA(美國國家安全域)發起的一個項目。它的目的是將系統加固到可以達到軍方層級。為什麼NSA選擇Linux呢?在目前市面上大多數作業系統都是商用閉源的,只有Linux是開源的,這樣修改並加入這項功能就方便許多,而且沒有著作權糾紛。所以,現在selinux就成為了Linux核心的一部分。 在瞭解selinux之間,我們需要知道DAC和CS的概念,它們是linux系統本身的安全機制。DAC:自主存取控制每一個使用者為了能夠實現和其他使用者共用檔案,在使用ACL之前,只能通過改變
Time of Update: 2018-12-04
前提條件: 確保安裝以下組件,否則可能在編譯一些選項時出錯。Legacy Software DevelopmentLegacy Network ServerX Software Development安裝mysql,由於mysql編譯比較慢,我們直接使用二進位包mysql安裝說明:安裝必須放在/usr/local/mysql1.解壓縮原始碼包到/usr/localtar mysql-5.5.15-linux2.6-i686.tar.gz -C /usr/local/mysql2.建立一個連結
Time of Update: 2018-12-04
2. 關於etc/rc.d/rc.sysyinit 和 /etc/rc.d/rc.Nd在inittab檔案中,我們瞭解到rc.sysinit是系統啟動並執行第一個指令碼,那麼它的作用都有哪些呢?如果有shell指令碼基礎的話可以用vim開啟這個檔案來看看,它有900多行...是linux裡最牛的指令碼,總結下它的作用,有如下幾點:(一定要牢記,必要時我們要重寫它!)1. 啟用udev和selinux2. 通過讀取/etc/sysct1.conf來設定核心參數3. 設定系統時鐘4. 設定鍵盤對應5
Time of Update: 2018-12-04
引言: 大家不要忘記,電腦說到底都是數字電路的運算,隨著電腦技術的飛速發展,所有的這些數位運算都給抽離出來,給予人性化的表示。網路也是這樣,所以都給換成了一些人性化的表示方法。其次怎樣定位到每一個使用者單元也具有他的規則。正如,我們到一個陌生地方尋找一個朋友一樣,事先肯定會要先有一個地址。
Time of Update: 2018-12-04
這是去年發表一篇老文章了,加到blog裡收藏一下了。從Windows到Linux——<1> 快速上手指南作者:乾坤一笑[smileonce]<1> 快速上手指南 從Windows到Linux -- 快速上手指南 /* * 乾坤一笑(smileonce) * EMail/Msn : smileonce@126.com * 寫於2003-10-
Time of Update: 2018-12-04
本文分析基於Linux Kernel 3.2.1原創作品,轉載請標明http://blog.csdn.net/yming0221/article/details/7984238更多請查看專欄http://blog.csdn.net/column/details/linux-kernel-net.html作者:閆明1、系統初始化過程中會調用sock_init函數進行通訊端的初始化,主要是進行緩衝的初始化static int __init sock_init(void){int err;