最簡單的linux核心模組 – hello – 及其Makefile

一個最簡單的linux核心模組。當他載入和退出時各會打出一行資訊。可以作為程式的架構,也可以測試載入模組。#include "linux/init.h"#include "linux/module.h"//MODULE_LICENSE("GPL"); --此處:編譯進核心的代碼一定要標識自己符合GPL協議等開源協議。模組可以不用static int mysc_init(void){ printk("hello\n"); return

x264在2440開發板linux下使用和.264檔案的播放

Arm9-linux-2.6.30.4X264進行yuv420視頻轉換。 進行各種嘗試結果出錯:[root@EmbedSky /media]# ./x264 -o qq.264 foreman_qcif.yuv 176X144raw [error]: raw input requires a resolution.x264 [error]: could not open input file `foreman_qcif.yuv' 然後再網上看到一段經典的話:raw [error]: raw

linux的qos機制 – cgroup篇 (2)

這篇重點講述cgroup如何控制blkio子系統的qos,首先看下設定blkio.weight blkio.weight_device 我的理解是blkio.weight是整個io子系統的權重值,而blkio.weight_device是針對特定的 major:minor 裝置的權重blkio.throttle.read_bps_device blkio.throttle.write_bps_device blkio.throttle.read_iops_device

linux通過tc控制網路QoS(1)

tc是linux traffic control的簡稱,原理是在協議棧出包的時候,通過qdisc (Queue Discipline)和 filter 機制把不同規則定義的流放到不同class的子qdisc中(對於classful qdisc是這樣,對於classless qdisc只有一個root qdisc)。網上關於tc的資料很多,本篇不去討論tc的各種qdisc, class, filter或者不同的classful/classless

linux的qos機制 – cgroup篇 (1)

cgroups全稱control groups,在RHEL6的2.6.32核心中已經包括了cgroup的patch。這裡強烈建議安裝RHEL6(CentOS6)來使用cgroups,如果沒有的話,只能升級核心了 ( > 2.6.26版本) 下面的例子通過對cgroups的blkio, cpuset, memory三個子系統的實現來示範如何應用cgroups,我們這裡不使用紅帽子的libcgroup package提供的工具,通過該工具進行cgroup的操作詳見這篇 http://docs.

TCP的Linux核心參數

1. /proc/sys/net/core/rmem_max — 最大的TCP資料接收緩衝2. /proc/sys/net/core/wmem_max — 最大的TCP資料發送緩衝3. /proc/sys/net/ipv4/tcp_timestamps — 時間戳記在(請參考RFC 1323)TCP的包頭增加12個位元組4. /proc/sys/net/ipv4/tcp_sack — 有選擇的應答5. /proc/sys/net/ipv4/tcp_window_scaling —

linux的CFQ調度器解析(2)

cfq_queue的屬性中,包括workload priority:IDLE, BE, RT,包括workload type:ASYNC, SYNC_NOIDLE, SYNC。同時cfq_queue雖然基於CFQ調度器,但其內部的演算法還是基於dead-line的cfq_group包含了多個紅/黑樹狀結構service tree,對應不同workload priority, workload type一些工具性質的函數:cfq_find_cfqg(struct cfq_data *cfqd,

Linux的RCU鎖機制

看了一堆RCU的文檔,總結一下,這玩意兒實際編程用得不多,權當自娛自樂https://www.ibm.com/developerworks/cn/linux/l-rcu/LDD3rd中 linux同步機制 章節有對RCU比較透徹的介紹http://hi.baidu.com/j_fo/blog/item/6e7f74c60711381d9c163df2.htmlhttp://www.rdrop.com/users/paulmck/rclock/http://lse.sourceforge.net/

linux核心網路通訊協定棧學習筆記:關於GRO/GSO/LRO/TSO等patch的分析和測試

TSO,全稱是TCP Segmentation Offload,我們知道通常乙太網路的MTU是1500,除去TCP/IP的包頭,TCP的MSS (Max Segment Size)大小是1460,通常情況下協議棧會對超過1460的TCP payload進行segmentation,保證產生的IP包不超過MTU的大小,但是對於支援TSO/GSO的網卡而言,就沒這個必要了,我們可以把最多64K大小的TCP

linux gdb調試工具簡介【一】

一:列檔案清單 1. List (gdb) list line1,line2 二:執行程式 要想運行準備調試的程式,可使用run命令,在它後面可以跟隨發給該程式的任何參數,包括標準輸入和標準輸出說明符(<和>)和外殼萬用字元(*、?、[、])在內。 如果你使用不帶參數的run命令,gdb就再次使用你給予前一條run命令的參數,這是很有用的。 利用set args 命令就可以修改發送給程式的參數,而使用show args 命令就可以查看其預設參數的列表。 (gdb)set args –

linux的CFQ調度器解析(1)

CFQ調度器是四種IO Scheduler中最複雜的一個,redhat有個文檔可以做為入門的文檔先瞭解下 red-hat-enterprise-linux-5-io-tuning-guide.pdfThe cfq scheduler maintains a maximum of 64 internal request queues; each process running on thesystem is assigned to any of these queues. Each time a

linux通過tc控制網路QoS(2)

先來看下traffic control在核心裡是如何?的,首先核心在發送資料時,最終會調用到dev_queue_xmit,    struct Qdisc *q    if (q->enqueue) {        rc = __dev_xmit_skb(skb, q, dev, txq);        goto out;    }   如果q->enqueue函數不為空白,此時就進入traffic control的邏輯,下面調用__dev_xmit_skbstatic

Linux Mint 12 Lisa 安裝筆記(2) 編譯3.2.6核心

環境:CPU: AMD Athlon64 X2 5200+ 很老不過支援硬體虛擬化,很實用晶片集:nForce . 不知道幾代,但是Linux對這種非主流的晶片集支援不好,導致系統各種不穩定顯卡:nForce 6150se 其實我用它跑過黑暗彌賽亞和羅馬全戰8000人戰。當然後者是沾了處理器的光。nouveau下使用OpenGL螢幕會賣萌其他:SATA硬碟、PATA燒錄機各一台

ELDD Chapter 2..3 Linux Kernel Facilities

Chapter

Linux Mint 12 Lisa 安裝筆記(3) 編譯Xen 4.1.3-rc1-pre

安裝xen使用的源碼管理工具Mercurial,用它下載較穩定的源碼。hg clone http://xenbits.xen.org/hg/xen-4.1-testing.hg/檢測依賴性cd tools/checkmake安裝缺失的包libssl-devuuid-devbcciasltexinfobridge-utilspython-dev編譯make xenmake toolsmake stubdom問題:make

Linux Mint 12 Lisa 安裝筆記(1) 安裝和語言設定

怒刪了Fedora以後,我覺得自己還得回到用的比較習慣的ubuntu系統上。哎……Linux Mint 12(Lisa)是源於ubuntu 11.10的一個衍生版本。既然聽說了,就用一下試試吧!0 安裝在Mint網站上下載【Linux Mint 12 featuring KDE 4.7.4

編譯支援Xen的Linux 3.1.0核心

文章目錄 Processor Types and Features -->  這是我第一次真心把Linux核心完整的編譯一遍……不過呢,從高版本起步,老核心裡出現的諸多問題已經被開發人員fix掉,反而更加容易。在核心中添加Xen支援就是這樣。從2.6.39版本開始,核心不需要patch 直接可以同時支援Xen Dom0和DomU ,但是想把Xen相關的編譯選項調開倒真不容易。也許是我沒習慣核心的編譯方式吧。環境:gcc4.5 處理器

探測linux是否運行xen

檢測linux主機是否運行  xen,其原理是讀取 CPUID 來判斷,Xen 原始碼下面有一段檢測是否是 Xen 的 C 語言代碼 tools/misc/xen-detect.c,這段代碼提供了一個很好的例子,重寫了代碼,用宏替代了函數。xentest.c#include <stdio.h>#include <string.h> #define HYPERVISOR_INFO 0x40000000 #define CPUID(idx, eax, ebx, ecx,

linux的PAM認證和shadow檔案中密碼的加密方式

PAM全稱是:Pluggable Authentication Modules,中文叫“可插入認證模組”。它是一種統一的認證方案。PAM 讓您能隨時改變您的認證方法以及需求,並且不需要重新編譯任何代碼就封裝了所有本地認證方法。具體見 PAM 網站。對於 PAM 您只需要做:對您的密碼採用不同於 DES 的加密方式(讓它們面對暴力解碼(brute-force

linux下的V4L2提取USB網路攝影機映像(一)

使用了是中星微的Z301B的USB網路攝影機,在天嵌的板子上啟動並執行,在網路上搜了好久的資料,自己也做了好就,可是還是不行啊,我是沒有ARM基礎的,接觸linux也就一兩個星期多,現在真的是沒有一點頭緒了,記下來吧,計算下來以後慢慢品嘗了~~一下的程式可以實現映像的採集,可是只能採集一張圖片,然後儲存為JPG格式的,就算我選擇的視頻格式為UYVY格式,儲存為YUV格式,但是最終檔案內部格式還是JPG格式的,因為利用YUV解碼器無法查看檔案,將尾碼改為JPG後可以用映像查看器查看········

總頁數: 4065 1 .... 470 471 472 473 474 .... 4065 Go to: 前往
Tags Index:

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。