1.Linux連結概念 Linux連結分兩種,一種被稱為永久連結(Hard Link),另一種被稱為符號連結(Symbolic Link)。預設情況下,ln命令產生永久連結。 【硬串連】 硬串連指通過索引節點來進行串連。在Linux的檔案系統中,儲存在磁碟分割中的檔案不管是什麼類型都給它分配一個編號,稱為索引節點號(Inode
死結 (deallocks): 是指兩個或兩個以上的進程(線程)在執行過程中,因爭奪資源而造成的一種互相等待的現象,若無外力作用,它們都將無法推進下去。此時稱系統處於死結狀態或系統產生了死結,這些永遠在互相等待的進程(線程)稱為死結進程(線程)。 由於資源佔用是互斥的,當某個進程提出申請資源後,使得有關進程(線程)在無外力協助下,永遠分配不到必需的資源而無法繼續運行,這就產生了一種特殊現象死結。
linux平台下要編譯安裝除gcc和gcc-c++之外,還需要兩個開發庫:bzip2-devel 和python-devel,因此在安裝前應該先保證這兩個庫已經安裝: #yum install gcc gcc-c++ bzip2 bzip2-devel bzip2-libs python-devel -y 然後是去官網下載源碼包, 地址 下載,解壓,按照如下步驟: #tar xvzf boost_1_50_0.tar.gz 進入boost_1_50_0
Linux下解壓命令大全 解壓縮 tar bz2 zip tar.gz gz 2008年05月25日 星期日 下午 04:57 大致總結了一下 linux下各種格式的壓縮包的壓縮、解壓方法。但是部分方法我沒有用到,也就不全,希望大家幫我補充,我將隨時修改完善,謝謝。 整理:會遊泳的魚 來自:www.LinuxByte.net 最後更新時間:
在孟寧老師的網易雲課堂《Linux核心分析》第四課上,簡單講述了系統調用的基礎知識。本文對課程中沒有詳述的幾個問題進行展開描述。 為什麼需要系統調用 牆與門 作為一個現代作業系統,保證系統安全穩定是最基本的需求。一個進程的行為不應該影響另一個進程,更不能影響整個系統。這就出現了使用者空間與核心空間的劃分,它在不同的進程間、進程與核心間築建了一道道保護牆。關閉了進程發出危險動作的所有可能。 而核心是經過仔細設計、被認為是更穩定可靠的。由核心來實施高危操作相對更安全。
目前Android廠商大都使用kernel+ramdisk.img+dt.img的方式打包成boot.img。 Device Tree的基本文法 DTS檔案主要由:root-node、child-node、property、include組成。 root-node:由‘/’表示,DT的Entry Point,所有裝置均以子節點的形式處於根節點下。
修改linux系統使用者密碼長度和複雜性 之前在修改Linux密碼長度的時候都是去修改/etc/login.defs檔案的pass_min_len 參數,可是地球人都知道,這個參數根本不具備強制性,使用者一樣可以使用短密碼. 真正要對密碼複雜性進行限制,還需要cracklib來完成. 紅帽的系統一般都已經安裝了, 可以rpm -qa|grep crack來查看,一般是兩個包 cracklib參數主要有: 1.debug
在Linux下怎麼看網路流量。 在Windows下,我們可以很方便的通過360來查看網路流量,知道哪個進程佔用的網路頻寬比較多。那在Linux下怎麼看流量呢,對於Web伺服器來說這是很重要的。 下面這邊部落格很仔細的介紹了Linux下看流量的方法: Linux 各種查看網卡流量的方法 http://jasonyong.blog.51cto.com/47753/174197
參見: http://blog.ednchina.com/exbob/254847/message.aspx Linux的幀緩衝裝置 幀緩衝(framebuffer)是 Linux 為顯示裝置提供的一個介面,把顯存抽象後的一種裝置,他允許上層應用程式在圖形模式下直接對顯示緩衝區進行讀寫操作。這種操作是抽象的,統一的。使用者不必關心物理顯存的位置、換頁機制等等具體細節。這些都是由Framebuffer 裝置驅動來完成的。幀緩衝驅動的應用廣泛,在
檔案清單: 代碼檔案 /* 下列代碼儲存到 plus.cpp */int my_plus(int x,int y) { return x + y; } /* 下列代碼儲存到 minus.cpp */int my_minus(int x,int y) { return x - y; } /* 下列代碼儲存到 my_math.h */int my_plus(int x,int y); int my_minus(int x,int y); /
和我們通常寫程式不同,如果僅僅是全域變數,雖然編譯核心的時候能串連成功,但是串連之後再就沒有辦法使用這個變數了 而模組的載入是運行時的,它引用某個變數時,核心需要解析它,否則模組不能工作,EXPORT_SYMBOL 的定義如下 fine __EXPORT_SYMBOL(sym, sec)
當你在使用者空間需要讀寫一大片資料的時候,這個就用上了。 以下來自:http://www.yuanma.org/data/2006/1207/article_1916.htm 假設我們在 kernel 裡產生一個 buffer,user 可以經由 read,write 等 system call 來讀取或寫資料到這個 buffer 裡。如果有一個 user 寫資料到 buffer 時,此時 buffer 已經滿了。那請問你要如何去處理這種情形呢 ?
說明:此博文是Kernel有關GDT,LDT以及LDT的相關源碼剖析,而對有關GDT,LDT以及IDT的詳細說明以及原理講解都可以在Intel IA-32架構手冊中查到。這裡不再贅述,(手冊地址) 1、描述符(64bits)分類 2、三者的關係 a、GDT,IDT都是全域的。LDT是局部的(在GDT中有它的描述符) b、GDT用來儲存描述符(門或非門);系統中幾個CPU,就有幾個GDT struct gdt_page { struct desc_struct
Linux客戶機 virtio裝置初始化 virtio裝置物理上串連在pci物理匯流排上,邏輯上串連在virtio虛擬匯流排。做為pci裝置便於資源分派與配置,邏輯裝置模型中,便於管理與組織。 1.qemu-kvm提供的virtio pci裝置 virtio-blk(硬碟),virtio-net(網路),virtio-balloon(氣球)等pci裝置,這些裝置串連在pci匯流排上。代碼位於qemu: hw/virtio-pci.c
/etc/resolv.conf被清空的原因是/etc/sysconfig/network-scripts/ifcfg-eth0中沒有dns server資訊, 所以重啟後系統自動使用/etc/sysconfig/network-scripts/ifcfg-eth0中的設定重新設定/etc/resolv.conf, 導致修改/etc/resolv.conf無效。只要將/etc/sysconfig/network-scripts/ifcfg-eth0中加入nameserver資訊,
在Linux中經常發現空閑記憶體很少,似乎所有的記憶體都被系統佔用了,表面感覺是記憶體不夠用了,其實不然。這是Linux記憶體管理的一個優秀特性,主要特點是,無論實體記憶體有多大,Linux
一、目的 在使用CentOS6.3版本linux系統的時候,發現根目錄(/)的空間不是很充足,而其他目錄空間有很大的空閑,所以本文主要是針對現在已有的空間進行調整。首先,先來查看一下系統的空間分配情況: [plain] view plaincopyprint? 01.[root@CentOS-78 /]# df -h 02.Filesystem
rpm -ivh install_rpm tar xvf informix-linux.tar inux下解壓命令大全 .tar 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (註:tar是打包,不是壓縮。) ——————————————— .gz 解壓1:gunzip FileName.gz 解壓2:gzip -
一、lsof介紹和使用 1.lsof 通過lsof命令工具可以查看某個進程佔用了哪些控制代碼。同時也可以看某個檔案被哪些進程使用了。 2.lsof常見的用法 (A)尋找應用程式開啟的檔案 lsof -p pid 可以查看進程號為pid的進程開啟了哪些檔案或者佔用了哪些fd。 (B)尋找開啟某個檔案的應用程式 lsof filename 可以查看名稱為filename的檔案被哪些進程開啟了。 (C)使用lsof查看網路連接
最近新入手一塊板子,裡面Gobinet 和 usbserial 這些都是模組編insmod插入進去的,雖然提供了源碼但是還是看不明白什麼意思,於是對這塊就有了興趣,因為公司有和移遠有合作,就要來了他們的Linux源碼(本身也是開源的)研究了一下,發現其實很簡單,主要參考醫院官方的檔案《Quectel_WCDMA<E_Linux_USB_Driver_User_Guide_V1.7.pdf》下面我就結合這個文檔給大家再捋一遍。 =====================