系統中能夠隨機(不需要按順序)訪問固定大小資料片(chunks)的裝置被稱作塊裝置,這些資料片就稱作塊。最常見的塊裝置是硬碟,除此以外,還有軟碟機、CD-ROM磁碟機和快閃記憶體等等許多其他塊裝置。注意,它們都是以安裝檔案系統的方式使用的——這也是塊裝置一般的訪問方式。
Linux下 JNI的使用 學習Android其中涉及對JNI的使用,對於這種跨語言的調用真沒有見過,Java也都是最近才學的更別說對JNI的瞭解了,JNI的使用對於Android來說又是十分的重要和關鍵。那麼到底Java到底是如何調用C/C++的,通過網路達人的總結中學習,自己也順便總結一下這個學習的過程。什麼是JNI JNI是Java native
核心與作業系統: 核心是作業系統的核心部分,包含了系統啟動並執行核心過程,決定系統的效能,作業系統啟動核心被裝入到RAM中;作業系統與底層硬體裝置互動和為運行應用程式提供執行環境。Linux核心與微核心比較: 微核心:核心只需要一個很小的函數集,通常包括幾個同步原語,一個簡單的發送器和處理序間通訊機制。運行在微核心之上的幾個系統進程實現系統級功能:記憶體配置,裝置驅動程式……完全的模組化進程。任何操作系統層都是獨立的程式模組,通過模組化的方法定義明確清晰的軟體介面與其它層互動。
一 進程與線程 進程就是處於執行期的程式,包含了獨立地址空間,多個執行線程等資源。 線程是進程中活動的對象,每個線程都擁有獨立的程式計數器、進程棧和一組進程寄存器。 核心調度的對象是線程而不是進程。對Linux而言,線程是特殊的進程。二 進程描述符及任務結構 核心使用雙向迴圈鏈表的任務隊列來存放進程,使用結構體task_struct來描述進程所有資訊。1 進程描述符task_struct struct task_struct
轉自:http://www.cnblogs.com/zhy113/archive/2013/03/15/2960910.html 家在寫server的時候,不管server寫的是多麼健壯,還是經常出現core dump等程式異常退出的,但是一般情況下需要在無人為幹預情況下,能夠自動重新啟動,保證server程式能夠服務使用者。這時就需要一個監控程式來實現
Linux下編譯安裝原始碼無非就是三個步驟,./configure,make,make install第一步進入原始碼的目錄運行命令1 ./configure --prefix=安裝目錄
轉自:http://hyt19860117.love.blog.163.com/blog/static/127773729201042435553852/隨著人們生活水平的提高,我們用到的USB裝置也越來越多,但是Linux在硬體設定上仍然沒有做到完全隨插即用,對於Linux怎樣配置和使用他們,也越來越成為困擾我們的一大問題;本文的目地是使大家瞭解怎樣編製USB裝置驅動,為更好地配置和使用USB裝置提供方便;對於希望開發Linux系統下USB裝置驅動的人員,也可作為進一步學習USB驅動的大體架構
查看進程及子進程:ps -lax查看進程,以及父進程。找到自己需要查看的進程的pid,然後ps --ppid ****---------------------ps -ef |grep進程名ps -aux |grep 進程名ps --ppid xxxx ps -laxtop --------------------------得到進程的pid: ps -ef | grep process_name | grep -v "grep" | awk '{print $2}'查看進程的所有線程 #
轉自:http://zhangwenxin82.blog.163.com/blog/static/114595956201071934831530/進來分析libata模組,頗有所感,記錄如下,希望能對大家有所協助,同時也對自己的理解進一步深入。linux版本:linux-2.6.24.3註:因完全是個人理解,理解不當難免,懇請批評指正!!!!大家知道驅動程式在初始化sata controller後,
家在寫server的時候,不管server寫的是多麼健壯,還是經常出現core dump等程式異常退出的,但是一般情況下需要在無人為幹預情況下,能夠自動重新啟動,保證server程式能夠服務使用者。這時就需要一個監控程式來實現能夠讓程式自動重新啟動,現在筆者在寫portmap就遇到了這個問題,通過網上尋找資料,找到了一個相對靠譜的exec+fork解決方案。使用指令碼實現自動重啟首先想到的最簡單的使用shell指令碼,大概思路:ps -ef | grep “$1″ | grep -v
今天一時手快 rm -rf .* ,刪除了一個重要郵件目錄,幸好通過extundelete恢複了。記下操作流程:1.準備工作主要通過 extundelete 0.2.0完成恢複需要依賴兩個包sudo aptitude install e2fsprogs e2fslibs-dev下載頁面http://extundelete.sourceforge.net/快速下載: download extundelete tar -xjf extundelete-0.2.0.tar.bz2cd
兩塊網卡在同一網段會出現一塊斷線但是ping這塊網卡的ip依然能夠ping通,這兩個ip被指向了同一的MAC地址eth0 192.168.1.10eth1 192.168.1.11echo "252 net2" >> /etc/iproute2/rt_tables echo "251 net3" >> /etc/iproute2/rt_tables ip route add 192.168.1.0/24 dev eth0 src 192.168.1.10
發信人: zhllg (r0bertz A gentoo D org), 信區: LinuxDev標 題: Re: linux下刪除檔案就是unlink該檔案嗎?發信站: 水木社區 (Tue Oct 14 23:34:50 2008), 站內【 在 TestKing (Don't fuck your time!) 的大作中提到: 】: rm /my/file 實際就是 unlink(/my/file)
ubuntu10.04上內建的bochs不能調試,需要自行編譯帶有調試功能的bochs.1.源碼bochs-2.4.6.tar.gz2.安裝依賴庫sudo apt-get install build-essential xorg xorg-dev gnome-core-devel3.編譯bochs./configure --enable-debugger --enable-disasmmake -j5sudo make install4.
直接看代碼,即使已經理解了代碼,但是還是會有種沒有學到手的感覺.真正的掌握來自實踐,來自己動手做出來.“簡單AB任務切換程式”系列文章的目的是,在bochs下,實踐出簡單AB兩個任務的切換.1. bochs安裝或者編譯參考Ubuntu10.04搭建linux-0.11編譯環境(1.bochs安裝和使用)Ubuntu10.04搭建linux-0.11編譯環境(2.bochs編譯)2. 實現一個最簡單的bootloader(1)bootloader,顧名思義boot +
/etc/profile:此檔案為系統的每個使用者佈建環境資訊,當使用者第一次登入時,該檔案被執行.修改此檔案對所有使用者有效。並從/etc/profile.d目錄的設定檔中搜集shell的設定./etc/bashrc:為每一個運行bash shell的使用者執行此檔案.當bash
在串口編程模式下,open未設定O_NONBLOCK或O_NDELAY的情況下。c_cc[VTIME]和c_cc[VMIN]映像read函數的返回。VTIME定義等待的時間,單位是百毫秒(通常是一個8位的unsigned
我的開發環境是vmware,fedora14最近配置QTE的環境要編譯tslib和qte,中間遇到了很多問題,搗鼓了一天終於弄好了。我用是tslib-1.4,我的交叉編譯工具是arm-none-linux-gnueabi(注意這裡不是常用的arm-linux-gcc)。所以方法有所不同。arm-none-linux-gnueabi的安裝方法我就不說了。1.開啟終端進入tslib的解壓縮目錄2.輸入命令1 [root@localhost ~]#./autogen.sh2
在Linux上要擷取進程的資訊,需要讀取/proc/進程id/中的檔案,如果只是讀一個進程還好,如果要讀取很多進程,或者說像進程管理器一樣要擷取所有進程的資訊就有點麻煩了。總不能按1-1000一個一個的遍曆,效率太低。此時可以使用Linux中對目錄進行操作的函數opendir(),readdir()。轉自http://www.liweifan.com/2012/05/13/linux-system-function-files-operation/首先說說DIR這一結構體,以下為DIR結構體的定
struct timer_list :軟體時鐘,記錄了軟體時鐘的到期時間以及到期後要執行的操作。具體的成員以及含義見表3-1。 struct tvec_base :用於組織、管理軟體時鐘的結構。在 SMP 系統中,每個 CPU 有一個。具體的成員以及含義參見表3-2。 表3-1 struct timer_list 主要成員網域名稱 類型 描述entry struct list_head 所在的鏈表expires unsigned