發表文章

目前顯示的是 6月, 2007的文章

Driver: 中斷時期 vs 一般行程

作業系統負責打理程式的大小事, 其中很重要的一件工作就是行程管理。 然而行程除了按照設計的執行流程進行之外, 也有可能被其他工作打斷,其中大致可分兩類:硬體中斷與軟體中斷。 硬體中斷:來自硬體裝置發出的中斷訊號。 軟體中斷:計時器、SIGNAL或者PRE-EMPTY都屬於這類訊號。 對應到Driver層,也可把核心函示劃分回一般核心函示與中斷時期函示。 中斷時期函示:中斷處理函示跟計時器call back 一般核心函示:不屬於上列函示的都是一般核心函示。 為什麼要區分這兩者呢? 因為很多核心API像是: schedule, wait_event, bottom_half, task_list等 是只能在一般核心函示中執行!而不能中斷正在高優先權等級的中斷時期函示執行。 要是一個沒注意,一執行到相對區段,就馬上oops或者panic給你看。 如果不知道這兩者的分別,DEBUG到死都不知道發生什麼事 ... 以上就是今天發生在本人身上的事情,冏rz.... 那要是無法確定到底是不是屬於中斷時期的函示呢? 核心有提供兩個API供檢查用,一是in_interrupt(),一是in_atomic(), 下次遇到oops時,可以拿來檢查一下。 分享完畢。

Proc FS 實戰筆記

PROC是Linux檔案目錄化管理的一個實現,跟Dev FS一樣, 可以把系統狀態/控制整合成檔案的讀跟寫。 加上本來的PIPE跟強大的Shell Utils,不用Compiler就可以寫出強大的程序了。 不過這一切的基礎,就是要在Kerenl層跟Driver實做相關介面出來。 這次就是要分享實做過程。 PROC的原理很簡單,正如剛剛所述,是模擬成檔案系統的實做, 所以其實設定部分,只要指定檔案對應的讀、寫函示,還有對應的權限等就OKAY了。 過程跟程式碼就不貼了,附上網址給大家看,講的很詳細喔! PDF版: http://buffer.antifork.org/linux/procfs-guide.pdf HTML版: http://www.aoc.nrao.edu/~tjuerges/ALMA/Kernel/procfs-guide/index.html

卡巴斯基與藍屏死機 no_more_irp_stack_locations

昨天裝機時,遇到一個問題。 就是只要把卡巴斯基 (Kaspersky)防毒軟體裝上, 重開機後就會出現Windows經典的藍色畫面, 大陸用語叫做藍屏死機(Blue Sreen Of Dead,BSOD) 本來想就這樣放棄不管他的,後來還是手癢GOOGLE了一下, 發現中文論壇很少對應的解法。 所以在英文論壇找到解法後,順便POST在這裡, 原文連結在此: http://forums.techarena.in/showthread.php?t=168118 解法大概有兩種 (都要在安全模式下進行): 一是治標:把IRP的設定改掉,讓系統不會當。 執行RegEdit,把下列鍵值改大一點: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ServicesLanmanServer\IrpStackSiz 二是治本:修改卡巴斯基的啟動模式,根本解掉這個問題。 執行RegEdit,把下列鍵值改成2: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\Klif

Ubuntu Vmware 筆記

Ubuntu 是最近相當風行的一個Linux套件, 有著Debian的血統,當然也繼承了apt這個優異的套件管理系統。 加上平易近人的介面,實在是Linux Desktop的最佳選擇。 吹捧完畢!但是如果想體驗Ubuntu的親切介面又沒有另外一台電腦, 通常會裝在Vmware的虛擬機器裡面。 但是有個問題,就是Vmware的toolkit對於Ubuntu沒有Native Support, 也就是要按Alt+Ctrl切換鍵盤滑鼠,沒有這個功能真的很傷腦筋。 所以網路上有人把修正的Patch做好了。 網址在此: 小兔的筆記本 http://usagiblog.wordpress.com/2006/06/13/ubuntu-606-dapper-vmware-tools/ 相關程式可以在瘋人院下載: http://mis92.mis.au.edu.tw/aa923816/wordpress/index.php/2006/10/20/ubuntu-606-vmware-tools/ (其實前面寫這麼多,只是想記錄這兩個網址而已,Orz) 再Service一個網站,如果你裝LINUX都是用預設安裝, 不會東調西調,那其實有人幫我們裝好包好VMWARE的映象檔了, 網址在此: Some Vmware Images http://www.thoughtpolice.co.uk/vmware/ 直接抓下來,放到VMWARE就可以用了,快吧!

GHOST 系統備份還原懶人包

最近爸媽家裡的電腦,因為病毒而癱瘓, 症狀是可以PING但是網頁打不開, 晚上把硬碟接上我的NB掃毒, 不掃還好,一掃掃出一堆。 解決方法當然還是把他們清光光,不過對於不能連線沒有助益。 只好請出GHOST,把它回復兩年前的狀況。 所以趁這次機會記錄一下過程, 首先是工具篇: 請到下列網站抓內含GHOST的開機光碟: http://tw.myblog.yahoo.com/sodown5805/article?mid=386&next=56&l=f&fid=32 注意下載網站有點花,可別點錯唷!呵呵~~ 之後把抓來的CD.EXE解壓縮,會得到一個ISO壓縮文件, 請用順手的光碟燒錄程式像是NERO等,用燒錄映象檔的方式燒進去。 接下來是設定篇: 本來的電腦已經中毒或者打不開了, 所以想進入本來系統是沒有意義的。 請進入BIOS把開機順序設定成光碟優先, 步驟教學在此: 開機進入BIOS設定開機順序。要如何進入BIOS設定畫面? 這要看你的BIOS廠牌,有的是按 Del,有的是按 F2,或其他鍵,不一定。 總之在剛開機時注意盯著螢幕,有一個短暫的畫面,角落會顯示進入BIOS的按鍵。 如果真的來不及看,可能要翻主機板手冊了。 BIOS有關於光碟開機的選項通常在 裡面, 有一個 ,按Page Down鍵選到讓 CDROM 排在選項的最前端即可。 當然各家BIOS的設定畫面和選項名稱也不盡相同,如果看不懂那些英文, 還是要照對一下主機板手冊。 這樣就把工具跟設定完成了。 然後開機把GHOST光碟片丟到光碟機,並用它開機。 其他步驟按照畫面選擇,中文的應該不用教了吧! 還是附上教學網站好了: http://www.juee.com.tw/bartender/ghost.htm 不過,還是平日就要做好備份的習慣, 不然想復原也沒有東西可以用啊!

訂做專屬的Google搜尋列

http://blog.pixnet.net/risser/post/4353698 昨天在別人部落格看到這個,但還不是很清楚怎麼弄。 今天找的這個網站,有完整的中英對照,一步一步的說明。 按照他的介紹就可以自訂屬於自己的搜尋網站嘍~~ 那自己的搜尋引擎有什麼好處? 1 幫自己部落格加入站內搜尋的功能 如果有文章不在首頁就找不到的困擾,用這個就對了。 2 可以設定多的URL當作搜尋來源, 例如我把以前到現在的BLOG都加進來了,可以一次找到所有發表過的文章。 3 可以賺錢? 如果有自己的AdSense帳號,或許可以幫你賺一點點錢。 有空試試看吧!

Select, Poll 之Driver層實做

今天跟同事研究到poll_wait這個函示, 由於之前對於select 與poll 沒有清楚的觀念, 趁這次機會給他弄清楚。 看了下列網誌之後,加上從LDD3這本書上的介紹,大概知道用法了。 http://voldemort1984.spaces.live.com/blog/cns!E626DBCDA81971AB!730.entry 1) select, poll, epoll都是呼叫 .poll這個file operation 2) poll_wait本身並不會阻滯(Block),要不要阻滯是由不同的系統進入函示決定的 3) poll是執行完馬上返回,select則是會等到有東西可讀寫或者發生逾時才會返回

Linux Serial Port Programming

之前那篇講的是系統內部的運作, 對於追蹤系統或者修改Driver很有幫助。 那麼在應用程式端,也是有必要介紹一下的。 從基礎入門開始,以下是中文的,可以得到大概的概念,並且寫出可用的程式。 The Linux Serial Programming HOWTO http://linux.3jk.com/mirror/CLDP/Serial-Programming-HOWTO.html 如果嫌上面那篇太淺,想有全面的認識的話,可以參考下面這篇: Serial Programming Guide for POSIX Operating Systems http://www.easysw.com/~mike/serial/serial.html 進階篇:如果你的程式像我一樣不只會動就好, 還要監控Break, Frame, Parity, Overrun這些錯誤 與Queue狀態的話, 下面這篇CPP的實做蠻完整的: http://www.iftools.com/manuals/ctb/html/serport_8cpp-source.html 請找以下關鍵字:struct serial_icounter_struct info; P.S. 如果有用到序列埠,卻對硬體不甚瞭解, 可以參考這裡,把暫存器跟腳位說明的很詳細: http://www.beyondlogic.org/serial/serial.htm

好用的備份軟體介紹Allway Sync

備份對於電腦的重要性就不用說了, 尤其Windows系統如果不細心維護, 幾個月重灌一次可說是家常便飯。 所以平日資料備份的工作就顯的非常重要, 今天要介紹的這套軟體就是資料備份的好幫手。 名稱:Allway Sync 首頁: http://www.allwaysync.com/ 版權:免費,功能限制(一次僅能處理有限的資料) 註冊費用:$19.95 USD (+9.95買一送一) 介面:多國語言 這是基於JAVA技術寫出來的,但是效能頗高,使用簡單。 只要指定來源資料夾跟目的資料夾就可以開始同步。 進階一點可以設定一對多備份或者主動通知等。 這套我覺得相當好用,所以適用後就給他買一套了。 日後有更新也都會主動通知,相當不錯。 也是給作者一點支持嘍。

Linux Serial Driver 系統架構

http://www.linux.it/~rubini/docs/serial/serial.html TTY在UNIX like 系統由來已久,所以架構發展也日趨複雜, 最近有用到這方面的資訊,就把這篇有用的文章放上來, 希望對於系統內部運作有更進一步的瞭解。

[公告]開版誌

大家好, 這是個由河馬主持的分享園地。 內容將包括電腦、網路、LINUX、程式設計等範疇, 不管對任何文章有想法,歡迎留下您寶貴的意見唷! 以上~~