Linux那些事兒之我是隨身碟(1)小城故事

這個故事中使用的是2.6.10的核心代碼.Linux核心代碼目錄中, 所有去裝置驅動程式有關的代碼都在drivers/目錄下面,在這個目錄中我們用ls命令可以看到很多子目錄.localhost:/usr/src/linux-2.6.10/drivers # lsKconfig   atm        cdrom    eisa      ide       macintosh  message  net       parport  s390    tc         w1Makefile 

Linux那些事兒之我是隨身碟(2)Makefile不是Make Love

出來混,遲早要還的.從前在複旦,混了四年,沒有學到任何東西,每天就是逃課,上網,玩遊戲,睡覺.畢業的時候,身邊的人讀研的讀研,出國的出國,找工作的吧,去麥肯錫的去麥肯錫,去IBM的去IBM.而自己卻一無所長,沒有任何技能,直到這時候才發現那四年欠了很多債,早知今日,何必當初.幸運的是,我還有一張複旦的文憑,依靠著這張文憑,混進了Intel.然而,工作以後,更是發現當初在校期間沒有好好讀書其實真是在欠債,當初沒學,工作以後還是要學,的確是遲早要還的,逃是逃不掉的.畢業的時候,人家跟我說Makefi

Linux那些事兒之我是隨身碟(4)想到達明天,現在就要啟程

既然知道了怎麼編寫一個模組,那麼編寫裝置驅動程式自然也就不難了.我相信,每一個會寫模組的人都不會覺得寫裝置驅動有困難.對自己行不行不確定的話,可以去問一下葛優,他准說:"(神州行),我看行."真的,我沒說假話.寫驅動不是什麼難事,你完全可以很自信的說,你已經可以寫Device Driver了.對,沒錯,飄柔,就這麼自信.前面說了每一個模組都是以module_init開始,以module_exit結束,那麼我們就來看一下隨身碟的驅動的這個模組.在茫茫人海中,我們很容易找到這個檔案:drivers/

Linux開啟FTP(vsftpd)服務

Linux開啟FTP(vsftpd)服務 1. 查看是否安裝 # rpm -qa | grep vsftpd 2. 全新安裝 # rpm -ivh vsftpd-2.0.1-5.i386.rpm 3. 啟動/停止/重啟 # service vsftpd start # service vsftpd stop # service vsftpd restart 4. 主設定檔 # vi /etc/vsftpd.conf # 匿名使用者配置 anonymous_enable=YES         #

linux命令建立和修改使用者及密碼

linux下建立使用者1、添加ftp使用者useradd ftpname -d /home/ftppasswd ftppwd以下操作都以root許可權進行:service vsftpd start 啟動Linux內建的FTP服務2. 添加普通使用者useradd nagios –d /usr/local/nagioschown nagios.nagios /usr/local/nagios將使用者切換到nagios 使用者,添加nagios的訪問使用者:su nagioshtpasswd –c

linux下tar.gz、tar、zip等解壓縮、壓縮命令

tar-c: 建立壓縮檔案-x:解壓-t:查看內容-r:向壓縮歸檔檔案末尾追加檔案-u:更新原壓縮包中的檔案這五個是獨立的命令,壓縮解壓都要用到其中一個,可以和別的命令連用但只能用其中一個。下面的參數是根據需要在壓縮或解壓檔案時可選的。-z:有gzip屬性的-j:有bz2屬性的-Z:有compress屬性的-v:顯示所有過程-O:將檔案解開到標準輸出下面的參數-f是必須的-f: 使用檔案名字,切記,這個參數是最後一個參數,後面只能接檔案名。# tar -cf all.tar

linux 的set,env和export的區別

set命令顯示當前shell的變數,包括目前使用者的變數;env命令顯示目前使用者的變數;export命令顯示當前置出成使用者變數的shell變數。每個shell有自己特有的變數(set)顯示的變數,這個和使用者變數是不同的,目前使用者變數和你用什麼shell無關,不管你用什麼shell都在,比如HOME,SHELL等這些變數,但shell自己的變數不同shell是不同的,比如BASH_ARGC,

linux下設定ORACLE_SID和ORACLE_HOME變數

 今天遇到了一個資料庫異常重啟的錯誤.登入出現如下提示:           could not logon as stat     ORA-01034:ORACLE not available     ORA-27101:shared memory realm does not exist     IBM AIX RISC System/6000 Error:2:No such file or directory網上查詢之後發現有可能是因為環境變數沒有設定的緣故.因此telnet

linux 下oralce啟動和關閉

linux下啟動oracle除了命令還需要事先設定相關環境變數,環境變數一般都是安裝oralce的時候設定的,現在說說啟動oralce的過程:1)一般通過SSH或者其它遠端連線工具,串連oracle資料庫所在伺服器 linux系統可以在終端中直接用ssh命令建立遠端連線: ssh -l user serverIp 如:ssh -l root 192.168.168.1682) 建立串連後,切換到oracle使用者下,su -l oralce,說明此處切換時加 -l

linux基本命令備忘(持續更新)

2013/6/5 24:20 init 0 ---關機init 1 ---登出註:這兩個命令都需要root許可權才可以運行。2013/6/5 17:51普通使用者擷取root許可權:su然後輸入root密碼即可。pwd ---顯示路徑拷貝檔案並刪除源檔案:mv  [源檔案路徑及檔案名稱]   [目的檔案及檔案名稱]絕對路徑用/xxx/xxx/xxx.x表示,/ 是必須的。相對路徑是基於目前的目錄的。其中 .. 表示回退到上一級目錄。. 表示目前的目錄。可表示為 ../XXX/XXX/XXX.X

Linux那些事兒之我是UHCI(25)實戰電源管理(一)

車上的乘客大家請注意,下一站車上將上來幾個小偷,大家一定要看管好自己的錢包和隨身攜帶的物品.——東北某報記者在葫蘆島聽到公用汽車售票員這樣提示.此刻,我也需要預先提示你,關於uhci,我們如果想結束,現在就可以結束,如果不想,那麼繼續往前走一點也未嘗不可.繼續走的話我們會關注電源管理的部分,就如同我們在hub驅動中關注的一樣.由於這部分代碼頗為抽象,我們於是利用kdb,並且以做實驗的方法來解讀這些代碼.如果你對電源管理不感興趣,那麼你可以就此留步.這個世界,文思三千,不如胸脯四兩,北大人大,不如

Linux那些事兒之我是隨身碟(5)外面的世界很精彩

看代碼之前,我曾經認真的思考過這麼一個問題,我需要關注的僅僅是drivers/usb/storage/目錄下面那相關的3000多行代碼嗎?就是這樣幾個檔案就能讓一個個不同的隨身碟在Linux下面工作起來嗎? 像一開始那樣把這個目錄比作一個小城的話,也許,城裡的月光很漂亮,她能夠把人的夢照亮,能夠溫暖人的心房.但我們真的就能廝守在這個城裡,一生一世嗎?很不幸,問題遠不是這樣簡單.外面的世界很精彩,作為隨身碟,她需要與usb core打交道,需要與scsi

ARM Linux 下增加系統調用(不推薦的方法)

一.核心來源程式的檔案組織: 1.Linux核心來源程式通常都安裝在/usr/src/linux下,而且它有一個非常簡單的編號約定:任何偶數的核心(例如2.0.30)都是一個穩定地發行的核心,而任何奇數的核心(例如2.1.42)都是一個開發中的核心。本文基於穩定的2.2.5原始碼,第二部分的實現平台為 Redhat Linux 6.0。 2.核心來源程式的檔案按樹形結構進行組織,在來源程式樹的最上層你會看到這樣一些目錄: ●Arch

Linux那些事兒之我是隨身碟(7)狂歡是一群人的孤單

Linux裝置模型中三個很重要的概念就是匯流排,裝置,驅動.即bus,device,driver,而實際上核心中也定義了這麼一些資料結構,他們是struct bus_type,struct device,struct

Linux那些事兒之我是隨身碟(8)匯流排,裝置,和驅動(上)

struct bus_type中為devices和drivers準備了兩個鏈表,而代表device的結構體struct device中又有兩個成員,struct bus_type *bus和struct device_driver *driver,同樣,代表driver的結構體struct device_driver同樣有兩個成員,struct bus_type *bus和struct list_head devices,struct device和struct

Linux那些事兒 之 我是PCI(0)引子

老夫子們痛心疾首的總結說,現代青年的寫照是——自負太高,反對太多,商議太久,行動太遲,後悔太早。上天戲弄,俺不幸的混進了80後的革命隊伍裡,成了一名現代青年,前有老夫子的憂心忡忡,後有90後的輕蔑嘲弄,終日在迷失與老土這樣的兩極詞彙裡徘徊。為了說明俺也是有主義有信仰的,也是經曆過樓市股市狂風暴雨考驗的,這裡就講講PCI,而且不再做過多的羅唆鋪墊,直接開門見山,讓他們看看80後不僅僅知道什麼是網戀什麼是異性同居,知道怎麼靠上半身上位怎麼用下半身寫作,還知道什麼叫PCI,什麼叫雷厲風行。Linux裡

Linux那些事兒之我是EHCI(3) pci match 和 probe

pci_bus_type 定義如下, struct bus_type pci_bus_type = ...{    .name        = "pci",    .match        = pci_bus_match,    .uevent        = pci_uevent,    .probe        = pci_device_probe,    .remove        = pci_device_remove,    .suspend    = pci_device_

Linux那些事兒之我是SCSI硬碟(4)三座大山(一)

好不容易結束了sd_spinup_disk(),馬上我們就遇到了三座大山.它們是sd_read_capacity(),sd_read_write_protect_flag(),sd_read_cache_type(),要繼續往下看,我們不得不先推翻這三座大山.舊的三座大山已經在毛主席的英明領導下成功推翻了,但是今天我們的人民卻身處新三座大山的壓迫之下,眼前這三個函數堪比臭名昭著的房改醫改教改.要知道整個sd.c這個檔案也不過是1900行,可是光這三個函數就佔了360行,你不服不行啊!第一座大山,

Linux那些事兒之我是隨身碟(10)我是誰的他?

probe,disconnect,id_table,這三個咚咚中首先要登場亮相的是id_table,它是幹嘛用的呢?我們說過,一個device只能綁定一個driver,但driver並非只能支援一種裝置,道理很簡單,比如我有兩塊隨身碟,那麼我可以一起都插入,但是我只需要載入一個模組,usb-storage,沒聽說過插入兩塊隨身碟就得載入兩次驅動程式的,除非這兩塊隨身碟本身就得使用不同的驅動程式.也正是因為一個模組可以被多個裝置共用,才會有模組計數這麼一個說法.ok,既然一個driver可以支援多

ARM linux系統調用的實現原理

大家都知道linux的應用程式要想訪問核心必須使用系統調用從而實現從usr模式轉到svc模式。下面咱們看看它的實現過程。系統調用是os作業系統提供的服務,使用者程式通過各種系統調用,來引用核心提供的各種服務,系統調用的執行讓使用者程式陷入核心,該陷入動作由swi非強制中斷完成。at91rm9200處理器對應的linux2.4.19核心系統調用對應的非強制中斷定義如下:#if defined(__thumb__) //thumb模式#define __syscall(name) \"push

總頁數: 3662 1 .... 589 590 591 592 593 .... 3662 Go to: 前往

聯繫我們

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

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

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.