linux新核心的時鐘機制代碼讀後感

如果說cfs是linux的一個很有創意的機制的話,那麼linux中另一個創意就是nohz,我在前面已 經寫了好幾篇關於nohz的文章了,因此本文就不再闡述代碼細節了,linux的創意在於設計而不在代碼,代碼主要解決的問題是實用性,就像gcc一樣, 就是一個編譯器,應用編譯原理設計而出,它內部卻充實著編譯原理之外的巧妙。有血有肉才活得精彩,如果說nohz之前的linux核心是骨架的話,那麼從

Linux Linux函數 Linux聊天程式 基於socket的TCP(有串連的)聊天程式

/*在此只付上標頭檔,如需要去我的資源下載。    http://download.csdn.net/detail/ta893115871/4322905O(∩_∩)O謝謝暫時實現的功能有:1.群聊2.私聊3.登陸驗證4.註冊5.所用的線上使用者6.退出7.管理員踢出某使用者8.管理員禁止某使用者聊天9.管理員提升某使用者為管理員10.管理員把某使用者降為普通使用者*//*Author QQ: 893115871Author Email:gfj19900401@163.com

Linux Linux開發 Linux進階編程 Linux文檔

今天上傳了一本課本。是我們班的同學共同書寫完成。還是很不錯的。希望大家多多支援啊。:http://download.csdn.net/detail/ta893115871/43689331.這本書中詳細介紹了Linux進階編程的知識,並且伴有很多的例題。 對於初學者和在學者會很有協助。2.這本書市團隊編寫,因此每個章節會很詳細的介紹。3.如有任何問題請聯絡書中的作者。

豐富linux驅動內容筆記(二)

 一、驅動設計的分層和分隔分層設計可以提高代碼的可重用性。它利用已有的代碼,做一些重載或修改,就可以完成驅動程式設計。除了分層的設計思想外,還有分隔。一般用在匯流排外設控制器上,這樣驅動就分為了兩部分,一部分寫控制器驅動,一部分寫外設驅動,互不干涉。二、一些簡述輸入裝置驅動分配和釋放一個輸入裝置struct input_dev *input_allocate_device(void);void input_free_device(struct input_dev

Linux子系統系列-PCI

趁這幾天有空,將PCI這塊的東西也簡單整理一下。關於PCI,fudan_abc大俠的“PCI那些事兒”是最佳的,這裡簡單根據一些工作筆記做些整理,點一下大致架構,以作備忘。0,背景1,PCI driver結構2,PCI driver實現3,關於PCI

Linux基礎系列-Kernel 初始化宏

在看linux代碼時,很多驅動的init函數裡面都有類似core_initcall,subsys_initcall的宏,一開始可能不明白這些宏是做什麼用的,後來可能猜得出是核心初始化時調用的,再後來可能對核心如何調用這些初始化的宏感興趣,這裡就總結一下,權當備忘。前言   宏定義__define_initcall(level,fn)對於核心的初始化很重要,它指示   編譯器在編譯的時候,將一系列初始化函數的起始地址值按照一定的順序  

Linux基礎系列-DEBUG-2

gdb能為我們做些什麼:之前有篇文章稍微介紹了點debug工具-gdb的工作原理。我們可能對gdb如何發揮作用有了一些瞭解,可問起gdb能為我們做些什麼時,可能大多數人除了偵錯工具外,難以有一個具體點的回答,這篇文章也就權當做一個小總結,讓我們除了知道攪拌機是如何工作的,還知道用攪拌機能解決些什麼問題。本文很多內容來自Jim

Linux核心VFS—rootfs檔案系統載入

 linux-2.6.34源碼1.核心啟動調用start_kernel函數進行初始化。asmlinkage void __init start_kernel(void) //init\Main.c:528{    buffer_init();    key_init();    security_init();    vfs_caches_init(totalram_pages);//678行,vfs初始化    signals_init();}2.start_kernel調用vfs_cache

基於mdev(udev)的驅動架構與linux裝置驅動模型之class

來自:http://hi.baidu.com/ss0ss70/blog/item/b62aaeef4376a6dd2f2e21a1.html   分析過mdev(udev的BusyBox簡化版)源碼的都知道mdev的基本原理:  a、執行mdev

Linux基礎系列-記憶體與I/O操作

該文大部轉自宋寶華老師的文章,自是將它納入自己整理的一個小體系中,這個系列中如果沒有很合適的文章,會用原創補上。  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 對於提供了MMU(儲存管理器,輔助作業系統進行記憶體管理,提供虛真實位址轉換等硬體支援)的處理器而言,Linux提供了複雜的儲存管理系統,使得進程所能訪問的記憶體達到4GB。進程的4GB記憶體空間被人為的分為兩個

Linux基礎系列-定時器與時間管理

一段經典摘抄,OS的心跳,很重要,但很少引起人的注意,除非碰到相關問題。1、節拍率——HZ:在alpha體繫結構上是1024,而在其它平台上,都為10數量級倍。在嵌入式ARM上為100(2.6核心)。這個值的意義是什麼呢,也就是在arm平台上時鐘中斷100次,為一秒。一般的情況下編程者不要改變這個值,因為核心編很多代碼都是有時間要求的,而且核心編寫都在很多地方都做了相應的最佳化與折衷處理,改變HZ的值會對系統的效能有很大的影響。2、jiffies:這個值是用來記錄系統自系統啟動以來產生的節拍的總

Linux子系統系列-網路

該網卡了,之前一直不敢接觸的一塊。先簡單化在複雜化吧,可以提綱挈領,一覽全域。0,簡介1,架構2,實現 0,簡介網卡裝置在Linux的地位比較特殊,不同於其他裝置,網卡裝置沒有特定的檔案對應,Linux對他做了專門的處理。Linux的網路裝置子系統主要是基於Unix的Socket機制。在系統和驅動程式之間定義有專門的資料結構(sk_buff)進行資料的傳輸。網路子系統主要關注三個方面:1,發送和接收2,中斷3,時鐘

Linux基礎系列-DEBUG

linux的調試包括了使用者層的調試和核心的調試,主要使用的工具就包括gdb和kgdb。該篇著重介紹linux編程環境中,調試器的工作原理,關鍵技術,平台依賴部分的區別,較少著墨用法。如果時間充分,會touch一下multi—thread的調試+++++++++++++++++++++++++++++++++++++++++++++++++++++++ 一,debugger

Linux子系統系列-USB

最近調查了MUSB的一個問題,將USB這塊的架構簡單梳理了一下,趁熱這次做下記錄,能提綱挈領即可/*****************************************************************/目錄0,背景1,USB 子系統結構2,USB

Linux子系統系列-TTY

處理過幾個串口的問題,這幾天才稍微有了些時間來整理一下這一塊的東西。目錄暫時大致分為以下幾部分吧:0,背景1,串口驅動的結構2,串口驅動的實現3,關於TTY core---------------------------------------------------------------------------------------------------0,背景往常review這塊代碼的時候,經常會被linux代碼樹中東一片西一片的uart,tty,serial

要將linux核心的帶層級控制的printk內容列印出來,在命令列 輸入 dmesg -n 8 就將所有層級的資訊都列印出來

要將linux核心的帶層級控制的printk內容列印出來,在命令列 輸入 dmesg -n 8 就將所有層級的資訊都列印出來 Linux命令:dmesg  功能說明:顯示開機資訊。  語 法:dmesg [-cn][-s <緩衝區大小>]  補充說明:kernel會將開機資訊儲存在ring buffer中。您若是開機時來不及查看資訊,可利用dmesg來查看。開機資訊亦儲存在/var/log目錄中,名稱為dmesg的檔案裡。  參 數:  -c 顯示資訊後,清除ring

Linux基礎系列-訊號及訊號處理

基礎系列比子系統系列好些,這個系列大部分都是摘抄,很多兄弟在前面做了很好的總結,在此感謝他們。最近處理一個調試的問題,涉及到linux的訊號,在此總結一下,以作備忘+++++++++++++++++++++++++++++++++++++++++++++++++++++目錄:1,linux的訊號2,訊號處理3,debug中如何處理訊號4,如何在多線程應用中編寫安全的訊號處理函數 一,linux的訊號1,概念 訊號是在軟體層次上對中斷機制的一種類比,在原理上,一個進程收到一個訊號與處理器收到一個插

linux中鏈表函數問題

  25[ 標籤:linux,鏈表函數 ]在學習核心鏈表時,有下列函數希望比較懂的人來回答以下這些函數及結構體的作用struct list_head

Linux基礎系列-可執行程式的產生過程

Linux通常使用gcc,利用gcc編譯器如何產生可執行程式在這裡將有一個清楚介紹,以備參考: 一、GCC快速入門Gcc指令的一般格式為:Gcc [選項] 要編譯的檔案 [選項] [目標檔案]其中,目標檔案可預設,Gcc預設產生可執行檔檔案名稱為:編譯檔案.out我們來看一下經典入門程式"Hello World!"# vi hello.c#include #include void main(void){printf("hello world!/r/n");}用gcc編譯成執行程式。#gcc

Linux子系統系列-I2C

該篇不屬於原創,主要是最近解決了一個I2C的問題,期間看了很多大俠的博文,現在將這個子系統整理一下。整個I2C framework, eric.xiao大俠做了很詳盡的敘述,給了我很大協助,在此表示感謝,好像也是成都的,有緣....++++++++++++++++++++++++++++++++++++ 這裡用稍微“粗俗”一點的語言稍微記錄一下,方便記憶即可, i2c 驅動架構套件含三層:1,i2c core:提供通用的一些方法和通訊演算法供i2c bus操作使用,這是與具體硬體無關的一層。2,

總頁數: 4065 1 .... 396 397 398 399 400 .... 4065 Go to: 前往
Tags Index:

聯繫我們

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

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