Time of Update: 2018-12-03
本文全文轉載自http://blog.csdn.net/dog250/article/details/6243276。其它體繫結構我沒有深入研究過,然而對於x86而言,我們很多人都是很瞭解的。其記憶體可以支援4G(不考慮PAE),因為地址匯流排為32位,也就是說32條1位的線纜可以選擇4G的地址,因此我們想當然的認為我們買了兩條2G的記憶體插入以後,我們的系統就可以有4G的記憶體可用了,我們的系統記憶體在滿載運行,然而果真如此嗎?答案是否定的!
Time of Update: 2018-12-03
一、開啟視頻裝置開啟視頻裝置非常簡單,在V4L2中,視頻裝置被看做一個檔案。使用open函數開啟這個裝置:1. 用非阻塞模式開啟網路攝影機裝置int cameraFd;cameraFd = open("/dev/video0", O_RDWR | O_NONBLOCK); 2. 如果用阻塞模式開啟網路攝影機裝置,上述代碼變為:cameraFd = open("/dev/video0",
Time of Update: 2018-12-03
為了能讓E2能在UBUNTU下進行SyncML而忙乎。E2刷到了49P(屠龍刀),手機支援USB NET方式串連,在WINDOWS下裝好驅動後,WINDOWS能順利與E2進行USB NET串連,但無法使用同樣的設定,使其工作在UBUNTU LINUX下。 WINDOWS下網路連接自動擷取到了IP地址:192.168.16.1,手機IP:192.168.16.2,可以PING通。Ubuntu下,無
Time of Update: 2018-12-03
我想更有很多人沒有聽說過ZModem協議,更不知道有rz/sz這樣方便的工具。 好東西不敢獨享。以下給出我知道的一點皮毛。 下面一段是從SecureCRT的協助中copy的: ZModem is a full-duplex file transfer protocol that supports fast data transfer rates and effective error detection. ZModem is very user friendly, allowing
Time of Update: 2018-12-03
linux gdb 調試多線程 單獨調試線程http://coolshell.cn/articles/3643.html一、多線程調試多線程調試可能是問得最多的。其實,重要就是下面幾個命令:info thread 查看當前進程的線程。 thread <ID> 切換調試的線程為指定ID的線程。 break file.c:100 thread all 在file.c檔案第100行處為所有經過這裡的線程設定斷點。 set scheduler-locking
Time of Update: 2018-12-03
準備工作# yum -y install gd-devel# yum -y install libmcrypt# yum -y install libmcrypt-devel# yum -y install freetype# yum -y install freetype-devel# yum -y install libtool-ltdl# yum -y install libtool-ltdl-devel# yum -y install libjpeg-devel# yum -y
Time of Update: 2018-12-03
如何在2.6.24及以後版本的Linux核心中使用netlink最近做Netlink 2.6.24 移植,網上相關的教程也不少,有些寫得還十分系統,不過我拿來一測試,居然沒一個能編譯。後來仔細一看才發現,還是核心版本的問題。經過一番折騰,終於弄好了,下面簡要介紹一下經驗。 我用的redhat 5 x64
Time of Update: 2018-12-03
針對IA64體繫結構,在Linux作業系統中,特別是針對SMP或者NUMA架構的多CPU系統的時候,描述每個CPU的私人資料的時候,Linux作業系統提供了per_cpu機制。per_cpu機制就是讓每個CPU都有自己的私人資料區段,便於保護與訪問。通過宏DEFINE_PER_CPU,定義這種私人資料,只不過這種私人資料放在特定的資料區段中。#define DEFINE_PER_CPU(type, name)
Time of Update: 2018-12-03
linux核心中的Oops什麼是Oops?從語言學的角度說,Oops應該是一個擬聲詞。當出了點小事故,或者做了比較尷尬的事之後,你可以說"Oops",翻譯成中國話就叫做“哎呦”。“哎呦,對不起,對不起,我真不是故意打碎您的杯子的”。看,Oops就是這個意思。在Linux核心開發中的Oops是什麼呢?其實,它和上面的解釋也沒什麼本質的差別,只不過說話的主角變成了Linux。當某些比較致命的問題出現時,我們的Linux核心也會抱歉的對我們說:“哎呦(Oops),對不起,我把事情搞砸了”。Linux核
Time of Update: 2018-12-03
Linux驅動程式架構。 一、linux的裝置驅動程式與外界的介面可以分為三個部分: 1.驅動程式與作業系統核心的介面。通過file_operations(include/linux/fs.h)資料結構來完成的。 2.驅動程式與系統引導的介面。這部分利用驅動程式對裝置進行初始化。 3.驅動程式與裝置的介面。這部分描述了驅動程式如何與裝置進行互動,與具體的裝置密切相關。 二、根據功能劃分,裝置驅動程式的代碼有以下幾部分: 1.驅動程式的註冊和登出。 2.裝置的開啟和釋放。
Time of Update: 2018-12-03
http://hi.baidu.com/zengzhaonong/blog/item/8427c633c835de40ac4b5f47.html安裝配置minicom--------------------------------------------------# lsmod | grep usbserial (如果直接使用串口線,而沒有用到USB轉串口裝置,此步可以跳過) 如果有usbserial,說明系統支援USB轉串口。 安裝minicom
Time of Update: 2018-12-03
Linux Bluetooth Bluetooth 是用於替換電纜的短程無線技術,支援 723 kbps(不對稱)和 432 kbps(對稱)的速度,可以傳輸資料和語音。Bluetooth 裝置的傳輸範圍大約 10 米(30 英尺)。 BlueZ是官方 Linux Bluetooth 棧,由主機控制介面(Host Control Interface ,HCI)層、Bluetooth協議核心、邏輯連接控制與應用協定(Logical Link Control and
Time of Update: 2018-12-03
Linux send與recv函數詳解1.簡介#include <sys/socket.h>ssize_t recv(int sockfd, void *buff, size_t nbytes, int flags);ssize_t send(int sockfd, const void *buff, size_t nbytes, int
Time of Update: 2018-12-03
我們知道,要取得一部主機的所有權限,那就是需要取得該部主機的超級管理員 root 的權限! 所以一般駭客都會想盡辦法去取得 root 的權限的。那麼該如何取得 root 的權限呢? 最簡單的方法就是利用網路上流傳的 Root Kit 工具程式來進行入侵的動作了。由於 Root Kit 工具的取得相當的容易,因此難保我們一般使用者的主機不會被低級的怪客所幹擾, 所以我們當然要想辦法保護我們自己的主機啦!為了要偵測主機是否已經被 Root Kit 之類的程式所攻擊, 由自由軟體撰寫團體所開發的
Time of Update: 2018-12-03
問題:在Linux下正常換行的文字,到了Windows下後,不再換行。 在Windows下換行時,有兩個字元:斷行符號(/r)和換行(/n)。但在Linux下,只有一個換行(/n)可使用unix2dos和dos2unix命令進行格式的轉換:參數:-k 保持輸出檔案和輸入檔案的日期時間戳記不變-o file 預設模式 . 將file轉換,並輸出到file-n infile outfile 新模式. 轉換infile, 並輸出到outfile 1.
Time of Update: 2018-12-03
中文版書目《Apache Cookbook中文版(第二版)》 New!《Linux Networking Cookbook中文版》 New!《Shell指令碼學習指南》 New!《卓有成效的程式員》 New!《代碼之美》 New!《嵌入式硬體設計(第二版)》 New!《LPI Linux認證權威指南(第二版)》 New!《LINUX SERVER HACKS(卷二)》 New!《BSD Hacks》 New!《GNU Make專案管理(第三版)》 New!《CVS精髓》
Time of Update: 2018-12-03
Linux啟動過程(轉) 關於Windows啟動過程介紹的文章可謂多如牛毛,而對於Linux的介紹卻是鳳毛麟角。凡是曾經使用過Linux的使用者可能都會注意到,當電腦啟動時,螢幕上會出現很多資訊。一般情況下,這些資訊我們可以通過以下的命令看到: cat /var/log/dmesg | more 這些資訊究竟有什麼含義?這個問題看起來似乎很容易回答,因為只要在Linux參考書裡尋找一下,就會找出一個類似於這樣的答案:“這是一些核心啟動資訊……”。但是“
Time of Update: 2018-12-03
什麼殭屍進程 這裡簡單說一下,詳細的到網上搜一下就知道了:殭屍進程就是指子進程退出了,而父進程尚未退出,並且沒有對子進程進行wait,致使子進程的資源得不到釋放,依然佔據在記憶體中,從而變成了像"殭屍"一樣的進程(殭屍不能動,卻佔據著身體;進程不能執行了,卻佔據著記憶體等資源)。這種進程因為不再活動了,不會對訊號進行處理,使用kill向它發送訊號是沒有用的,也就是它變成了殺不死的進程。 wait是幹什麼的 wait不是來打醬油的,看一下man手冊的描述:All of these
Time of Update: 2018-12-03
要想弄懂Linux核心的工作原理,就必須懂點基本的硬體知識。這裡我們主要介紹Intel 80x86系列CPU保護模式下最核心的組件中幾個寄存器的作用,這些寄存器在Linux核心運行時起著至關重要的作用。至於其他那些各式各樣的硬體裝置,我們在講解裝置驅動時會針對具體的驅動程式來介紹的。首先,大家先看看CPU的主要架構: EU(通用寄存器、運算器和控制器)執行組件:完成指令所要求的功能。SU(段寄存器、段轉換器)分段組件:完成執行單元的地址請求,
Time of Update: 2018-12-03
那麼,程式什麼時候使用使用者棧,什麼時候使用核心棧呢?對,系統調用。也就是執行printf、open、read、write執行C語言庫函數時,其最終會用到對應的系統調用,如sys_open、sys_read等。這時候就切換到核心棧。1 Linux的堆棧切換我們針對80x86來討論,其實Linux只在四個地方用了它的堆棧段(由ss+esp指向其棧底地址):• 系統引導初始化臨時實模式下使用的堆棧• 進入保護模式後提供核心程式始化使用的堆棧,該堆棧也是後來進程0使用的使用者態堆棧•