Time of Update: 2018-12-04
1.在下面的網站內下載目前最新的穩定版本的linux核心——linux-3.6.6http://www.kernel.org/ 2.解壓到目前的目錄tar –xvjf linux-3.6.6.tar.bz2 3.修改在根目錄下的Makefile檔案中的第195行和第196行:ARCH ?=armCROSS_COMPILE ?=
Time of Update: 2018-12-04
Linux中斷實現方法(二):中斷處理過程三、中斷處理過程 這一節將以S3C2410為例,描述linux-2.6.26核心中,從中斷開始,中斷是如何一步一步執行到我們註冊函數的。 3.1 中斷向量表 archarmkernelentry-armv.S__vectors_start: swi SYS_ERROR0 b vector_und + stubs_offset ldr pc, .LCvswi +
Time of Update: 2018-12-04
線程與進程的區別-----------------------------------------------------1.節儉:在Linux系統下,啟動新的進程,必須分配給它獨立的地址空間,建立眾多的資料表來維護它的程式碼片段、堆棧段和資料區段。運行於一個進程中的多個線程,它們彼此之間使用相同的地址空間,共用大部分資料,啟動一個線程所花費的空間遠遠小於啟動一個進程所花費的空間,而且,線程間彼此切換所需的時間也遠遠小於進程間切換所需要的時間。2.通訊方便:不同進程,它們具有獨立的資料空間,要進
Time of Update: 2018-12-04
以下文章包含了一些網上的內容,也有自己學習過程中自己的總結,以前在某個網站上發過一次,這裡也發一下,目的在於拋磚引玉。Linux開機不是簡單的按電源1、 電腦讀取BIOS來載入硬體資訊並完成硬體的自檢,然後讀取BIOS設定的第一個可開機的裝置。2、 讀取並執行第一個開機裝置的MBR的boot loader(grub、lilo、spfdisk等引導程式)a) boot
Time of Update: 2018-12-04
一、Linux USB 驅動層次1、裝置、配置、介面、端點在 USB 裝置的邏輯組織中,包含裝置、配置、介面和端點 4 個層次裝置通常具有一個或者更多的配置:每個 USB 裝置都提供了不同層級的配置資訊,可以包含一個或多個配置,不同的配置使裝置表現出不同的功能組合(在探測/串連期間需從其中選定一個),配置由多個介面組成。配置經常具有一個或者更多的介面 :介面通常 具有一個或者多個的設定:在 USB 協議中,介面由多個端點組成,代表一個基本的功能,是 USB
Time of Update: 2018-12-04
摘要:本文主要介紹了linux系統位於目錄/proc/sys/net/ipv4/下的部分核心網路參數,同時對通過linux核心網路參數的調整來提高linux系統的安全性和穩定性提出了自己的見解。從而為系統管理員進一步增強網路的安全性和系統的穩定性提供了參考。
Time of Update: 2018-12-04
Linux的 rename 命令有兩個版本,一個是C語言版本的,一個是Perl語言版本的,早期的Linux發行版基本上使用的是C語言版本的,現在已經很難見到C語言版本的了,由於曆史原因,在Perl語言大紅大紫的時候,Linux的工具開發人員們信仰Perl能取代C,所以大部分工具原來是C版本的都被Perl改寫了,因為Perl版本的支援正則處理,所以功能更加強大,已經不再需要C語言版本的了。1。如何區分系統裡的rename命令是哪個版本的?輸入 man rename 看到第一行是RENAME(1)
Time of Update: 2018-12-04
vi /etc/sysctl.conf編輯檔案,加入以下內容:net.ipv4.tcp_syncookies = 1net.ipv4.tcp_tw_reuse = 1net.ipv4.tcp_tw_recycle = 1net.ipv4.tcp_fin_timeout = 30然後執行/sbin/sysctl -p讓參數生效。net.ipv4.tcp_syncookies = 1表示開啟SYN Cookies。當出現SYN等待隊列溢出時,啟用cookies來處理,可防範少量SYN攻擊,預設為0,
Time of Update: 2018-12-04
在windows下可以很方便的查看磁碟空間,但是到了Linux下怎麼查看磁碟空間你可能就有點摸不著頭腦了,不要急,在Linux中,我們可以通過如下命令來查詢。使用df命令來查看磁碟的屬性,包括檔案系統的類型、磁碟大小、已使用大小、剩餘大小、使用百分比等。使用du命令來查看檔案夾和檔案的大小。 命令參數-h是為了方便你讀懂每個檔案的大小,如果沒有這個參數,顯示的檔案大小就沒有k,M,G等,所以建議每次都帶上。 查看磁碟還剩多少空間:[root@localhost ~]$ df
Time of Update: 2018-12-04
查詢、修改主機資訊 一、如何修改Linux主機名稱 1. 變更當前主機名稱 1.1 echo new-hostname > /proc/sys/kernel/hostname (系統啟動時,從此檔案中讀取主機名稱字) 1.2 hostname new-hostname (即時生效,但系統重啟後將失效) 2. 修改設定檔,使得下次重啟的時候,使用新的主機名稱 2.1 編輯檔案: /etc/sysconfig/network 2.2 修改:
Time of Update: 2018-12-04
在最佳化的層次中,從上到下依次是,業務級,演算法級,編碼級,指令級,平台級,和硬體級。 業務級表示很多最佳化可以在業務討論中被剪枝或者改進,例如業務真的需要用3個月的資料來做分析嗎?還是2個月就夠了?這需要產品經理,技術經理的經驗,不在話下。 演算法級主要集中在複雜度上,一個好的複雜度演算法,哪怕實現的在拙劣可能都要遠遠好於一個最佳化到極致的差方法。往往大公司考試喜歡涉及這些方面。 編碼級主要集中在語言上,語言使用的技巧,這方面的技巧非常多,也有很多書,
Time of Update: 2018-12-04
w命令直接運行w命令可以列出目前系統上登陸的所有使用者以及詳細資料,比如使用者名稱(USER),登陸時間(LOGIN@),從哪裡登陸過來的(FROM),以及以什麼方式登陸的(WHAT)使用who命令也可以查看,但是沒有如此詳細的資訊。如果想看詳細的最近一段時間內系統所有使用者的登陸和離開資訊以及開機或者關機的資訊,使用命令last。last命令會列出詳細的資訊youfu pts/2 192.168.1.32 Tue Sep 25 10:23 still
Time of Update: 2018-12-04
文章目錄 一. 概述 Linux核心升級LCD驅動的更換(開發板)關鍵字 核心升級 ,更換驅動 ,LCD 概 述 本文給出了將一個已有的LCD驅動添加進一個新的linux核心中的方法 一. 概述本文搜集整理了Linux系統編譯時間的主要配置選項(make config)的詳細說明,供Linux裁剪特別是裝置驅動和模組功能增刪時使用參考。需要注意的是,每個版本linux版本的config各選項意義,命名等都可能有所差異。1、
Time of Update: 2018-12-04
兩種I/O檔案函數fopen ANSI 標準檔案I/O,基於低層次I/Oopen 低層次I/O ANSI I/O本質DOS/WINDOWS平台,MS DOS 檔案讀寫, 組合語言編寫LINUX平台,unix/linux檔案讀寫,C語言編寫 檔案類型FILE包含一個指標包含一個stream (C語言把檔案看成stream) file openr Open text file for readingr+ Open for reading
Time of Update: 2018-12-05
To comply with the FSSTND the following directories, or symbolic links to directories, are required in /. /bin Essential command binaries/boot Static files of the boot loader /dev Device files /etc Host-specific system
Time of Update: 2018-12-05
前言: 在複習休眠的過程中,我想驗證自旋鎖中不可休眠,所以編寫了一個在自旋鎖中休眠的模組。但是在我的ARMv7的單核CPU(TI的A8晶片)中測試的時候,不會鎖死,並且自旋鎖可以多次擷取。實驗現象和我對自旋鎖和休眠的理解有出路。 我後來我將這個模組放到自己的PC上測試,成功鎖死了,說明我的模組原理上沒有問題。但是為什麼在ARM上會這樣呢???後來我將模組給了我的兩個同事測試,在Omap3530中一樣不會鎖死,但是在S3C6410中成功的鎖死了。這是怎麼回事??
Time of Update: 2018-12-05
一、在前面介紹了system v 訊息佇列的相關知識,現在來稍微看看posix 訊息佇列。其實訊息佇列就是一個可以讓進程間交換資料的場所,而兩個標準的訊息佇列最大的不同可能只是api 函數的不同,如system v 的系列函數是msgxxx,而posix 是mq_xxx。posix 訊息佇列也有一些對訊息長度等的限制,man 7 mq_overview:simba@ubuntu:~/Documents/code/linux_programming/UNP/posix$ cat
Time of Update: 2018-12-05
一、處理序間通訊每個進程各自有不同的使用者地址空間,任何一個進程的全域變數在另一個進程中都看不到,所以進程之間要交換資料必須通過核心,在核心中開闢一塊緩衝區,進程1把資料從使用者空間拷到核心緩衝區,進程2再從核心緩衝區把資料讀走,核心提供的這種機制稱為處理序間通訊(IPC,InterProcess Communication)。如所示。二、管道是一種最基本的IPC機制,由pipe函數建立:#include <unistd.h>int pipe(int
Time of Update: 2018-12-05
目前環境中經常會遇到編碼轉化的問題,UTF-8跟GB2312也有問題。只得在Linux上安裝GB2312(在Linux作業系統上又稱zh_CN.GB2312)的字元集,具體請看下文。Linux下幾個i18n(internationalization)相關的目錄和檔案/etc/sysconfig/i18n(檔案)
Time of Update: 2018-12-05
看網卡驅動的時候看到這兒不知道了,就查了下這個結構,下面共用一下2、隊列層什麼是隊列層?通常,在網卡收發資料的時候,需要維護一個緩衝區隊列,來緩衝可能存在的突發資料,類似於前面的DMA環形緩衝區。隊列層中,包含了一個叫做struct softnet_data:struct softnet_data{/*throttle 用於擁塞控制,當擁塞發生時,throttle將被設定,後續進入的資料包將被丟棄*/int throttle;/*netif_rx函數返回的擁塞層級*/int cng_level;