Linux內(nèi)核分析和應用技術_第1頁
Linux內(nèi)核分析和應用技術_第2頁
Linux內(nèi)核分析和應用技術_第3頁
Linux內(nèi)核分析和應用技術_第4頁
Linux內(nèi)核分析和應用技術_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、Linux內(nèi)核分析和應用技術,ToC,推薦討論主題 推薦小題目 題目:fork和signal 題目:shell編程關鍵函數(shù) 題目:關于線程 題目:Hello內(nèi)核模塊 題目:使用匯編或特權指令 題目:試驗一個timer 題目:gcc和glibc 題目:鍵盤支持 題目:擴充一個系統(tǒng)調(diào)用 題目:截獲一個系統(tǒng)調(diào)用 題目:審計或識別某種動作 題目:Linux主要發(fā)行版介紹 題目:Linux in VMWare 題目:Gentoo安裝 題目:試用報告knoppix等,了解RTOS 試用wine等 題目:諸許可比較 題目:Computing和Linux 題目: VPN in Linux 題目:Samba試驗

2、 題目:使用/proc 題目:配置LXR 題目:xinetd 題目:wrapper EMACS TeX 讀書報告 綜合設計 User-mode linux uClinux FaQ,推薦討論主題,Linux編程概論 make make,cvs,autoconf/automake, C/C+ gcc特性,調(diào)試gdb Assembly as gcc nasm Java,-,硬件 IA32:體系、內(nèi)存管理、特權級、中斷機制、指令手冊 IA64:新的體系和區(qū)別 Linux on IA64 /,-,Linux網(wǎng)絡程序設計 socket 后臺守護進程daemon

3、 “Linux 守護進程的編程方法” fork、inittab 被xinetd調(diào)用的進程的編程方法 packet capture (promiscuous mode) libpcap/winpcap,tcpdump/windump/ethereal Linux模塊 內(nèi)核增強 設備驅動,-,內(nèi)核變量調(diào)控 /proc /proc/sys/kernel sysctl -a 系統(tǒng)調(diào)用 竄改/監(jiān)視 增強 調(diào)度 一般原理 多CPU支持,文件系統(tǒng) 分區(qū)加密 網(wǎng)絡實現(xiàn) IPv4/IPv6 ipchain, iptable / 內(nèi)核新方向新進展 漢化問題見解 內(nèi)核之爭,-,其他有意義主題 L

4、inux公司的經(jīng)營模式 Free/Open軟件的再應用 積極參與題目,可以作業(yè)報告形式提交,也可在課堂大家討論。,推薦小題目,從小處著手,由淺入深出 訪問內(nèi)核變量和函數(shù) 比如訪問jiffies,題目:fork和signal,體會fork和signal函數(shù)使用 設計一個程序,fork出一個子進程 子進程可以睡眠或死循環(huán) 子進程接收到USR1信號則退出 打印提示信息先 父進程用wait等待子進程退出 或者waitpid fork和singal在服務器程序設計方面的應用 結合socket的ClientServer體制,題目:shell編程關鍵函數(shù),寫一個簡單的shell fork() exec*()

5、 wait/waitpid() signal() pipe() 夠了嗎?還需要耐心 若要看bash的源代碼,在 /software/bash/bash.html,題目:關于線程,寫示例程序演示在windows/linux/unix中關于線程的編程接口 beginthread()/CreateThread() pthread_create()/ 請看 #man pthread_create 分析和討論linux中是如何支持線程的 和fork的實現(xiàn)比較 Links 見備注行,題目:Hello內(nèi)核模塊,做一個HelloWorld內(nèi)核模塊 類似printf(“hell

6、o,world!”); 用兩個函數(shù)即可 init_module() printk() cleanup_module() 這個例子是后續(xù)很多小題目的基礎,作業(yè)上也有實現(xiàn),題目:使用匯編或特權指令,使用rdtsc指令獲取CPU主頻計數(shù)器 unsigned long low, high; asm (rdtsc : =a (low), =d (high); printf(rdtsc=%lu,%lun, high, low); 使用IO指令 在用戶空間不能執(zhí)行in/out指令,在內(nèi)核里可以 “segmentation fault” 嘗試在模塊里用in/out指令讀取開機CMOS信息 (如果有的說) 也可

7、以破壞CMOS校驗和,從而繞過開機口令 asm(“inb $0 x70”),題目:試驗一個timer,./include/linux/timer.h 23 extern void add_timer(struct timer_list * timer); 24 extern int del_timer(struct timer_list * timer); 添加計時器,在動作函數(shù)中打印hello信息 如果不刪除計時器,或者還沒到時間就卸載模塊會怎樣? 注意可能會死機,要注意文件存盤先,題目:gcc和glibc,glibc gcc,-,C Run-Time Libraries in Window

8、s printf(), memcpy(), fopen(), .h stdio.h, stdlib.h, string.h, .lib .dll Standard C+ Library,題目:鍵盤支持,鍵盤是最基本的輸入支持設備 分析內(nèi)核中是如何管理鍵盤設備的 鍵盤是字符設備 ./drivers/char/keyboard.c handle_scancode() ctrl_alt_del是怎樣實現(xiàn)的?,題目:擴充一個系統(tǒng)調(diào)用,找一個空閑的調(diào)用號k 查看你的內(nèi)核源代碼的源程序 得針對你正所用的內(nèi)核版本 把syscall表中的k位置指向你的調(diào)用函數(shù) 不必編譯完整的內(nèi)核 在模塊初始化中做即可 在用戶

9、程序發(fā)起一個對k的調(diào)用 使用int80h,調(diào)用號放在?中 如果模塊卸載了,用戶還調(diào)用會怎樣?,題目:截獲一個系統(tǒng)調(diào)用,截獲誰有意思呢? open read 寫一個自己的sys_myopen()函數(shù) 把syscall表中的OPEN項指向自己 可以在該函數(shù)中隱藏某種后門 在該函數(shù)中,做了額外的相關處理之后,不要忘了還得調(diào)用舊的sys_open函數(shù) 記得卸載模塊時恢復舊的調(diào)用,題目:審計或識別某種動作,用戶正在訪問哪些文件 是否存在某個進程是個病毒進程(類似等等) 用戶正在訪問哪些站點 網(wǎng)絡接口正在接收或處理哪些異常的包? 有網(wǎng)絡入侵的嘗試在發(fā)生嗎? 嘗試做一個方面就行 或僅僅是設想或論述一下也可,

10、題目:Linux主要發(fā)行版介紹,Redhat Debian SuSE Mandrake ,題目:Linux in VMWare,兩個題目: Linux in VMWare Solaris in VMWare 另:推薦Virtual PC,題目:Gentoo安裝,Gentoo的安裝真原始,倒是挺鍛煉基本功的。,題目:試用報告knoppix等,(1)Knoppix (2)Lindows (3)BeOS 下載 安裝 試用 報告 比較、評價,了解RTOS,Realtime Linux QNX VxWorks DOS Windows CE .NET Windows XP embed 試用報告,試用win

11、e等,WINE CrossOver WineX ? 試用報告,題目:諸許可比較,GPL BSD 商業(yè)模式,題目:Computing和Linux,Computing Super Computing Parallel Computing Cluster Computing Distributed Computing Grid Computing NUMA vs. SMP vs. others Linux在Computing中的地位和關系 PVM / MPI,Linux集群技術 Beowulf Legion Giganet cLAN Cplant MOSIX,題目: VPN in Linux,Ope

12、nVPN Free S/WAN OpenVPN較好操作,建議以OpenVPN為主,并和swan簡單比較 以OpenVPN為工具組件虛擬私有網(wǎng),題目:Samba試驗,配置samba in Linux 從linux中訪問windows的共享目錄 從windows中訪問linux的共享目錄 報告,題目:使用/proc,使用/proc調(diào)整內(nèi)核運行參數(shù),題目:配置LXR,用LXR建立一個Linux內(nèi)核源代碼閱讀站點,題目:xinetd,xindet的原理和機制 xindet中服務程序設計規(guī)范 舉例,題目:wrapper,TCP Wrapper hosts.deny hosts.allow,EMACS,TeX,讀書報告,選擇某本相關書籍 系統(tǒng)閱讀 讀書筆記 關鍵內(nèi)容、實例運行、問題

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論