linux内核打开prntk,操作系统实验一向Linux内核增加一个系统调用.docx
操作系統實驗一:
向Linux內核增加一個系統調用
xx 711103xx
2012年3月18日
一、實驗目的
通過實驗,熟悉Linux操作系統的使用,掌握構建與啟動Linux內核的方法;掌握用 戶程序如何利用系統調用與操作系統內核實現通信的方法,加深對系統調用機制的理解;進 一步掌握如何向操作系統內核增加新的系統調用的方法,以擴展操作系統的功能。
二、實驗內容
Linux環境下的C或C++編譯和調試工具的使用
向Linux內核增加新的系統調用,系統調用名稱和功能自行定義
Linux新內核的編譯、安裝和配置
編寫應用程序以測試新的系統調用并輸出測試結果
三、實驗步驟
1、安裝Vi rtua I Box-4. 0. 8并在虛擬機上安裝ubuntul 1. 10o (電腦上本有ubuntul 1.10 64位系統,但在編譯內核完成后發現參考教程為32位系統,因64位系統與32位系統增加 系統調用步驟差別較大,身為初學者的我選擇安裝虛擬機,并重新編譯……)
2、安裝編譯源環境 sudo ap t-ge t inst a I I bu i ld-esse nti al、sudo ap t-ge t inst a I I gcc> sudo apt-get instaI I g++
編寫一個c++或c程序,并使用gcc -o xxx或g++ -o xxx進行編譯并運行。
3、用 sudo apt-get update 更新軟件源,并用 apt-get i nsta I I I i nux-source 命令 下載適合自己的內核。(當使用過老版本內核時,采用默認的內核配置make oldconf ig時, 將會造成錯誤,自己也因此重做一遍)。
4、增加系統調用:
第一步:解壓文件
cp I inux-source-3. 0. 0. tar. bz2 /usr/src 拷貝至/usr/src 目錄
tar xvf I inux-source-3. 0. 0. tar. bz2解壓文件
第二步:修改源程序,增加系統調用實現
# gedit /usr/src/ I inux-source-3.0.0 /kernel/sys. c asm I inkage int sys_mycaI I(int number)
pr irrtk("hel Io, my new kernel, xw~! n); return number;
第三步:修改頭文件,增加系統調用聲名
#gedit/usr/src/linux-source-3. 0. 0/arch/x86/kernel/syscall_tabIe_32. S
將223行.long sys_ni_sysca I I改為.long sys_myca I I (不要放在其他地方,否側可 能出現錯誤)
第四步:修改系統調用表,注冊系統調用。
#ged it /usr/src/ Ii nux-source-3. 0. 0/arch/x86/i ncIude/asm/un i std_32. h 增加一行,對應上面的223
第一步:make 第二步:make 第三步:第四步:第五步:make
第一步:make 第二步:make 第三步:
第四步:
第五步:
make
make
make
mrproper清除內核中不穩定的目標文件,附屬文件及內核配置文件 clean清除以前生成的目標文件和其他文件
o I dconf i g采用默認的內核配置
bzImage編譯內核
modules編譯模塊
終端
cc
[M]
fs/afs/vlcltent.o
cc
[MJ
fs/afs/vlocation.o
cc
[M]
fs/afs/vnode.o
cc
[M]
fs/afs/volume.o
cc
[M]
fs/afs/write.o
LD
[MJ
fs/afs/kafs.o
CC
[M]
fs/autofs4/tntt.o
CC
[M]
fs/autofs4/inode.o
CC
[M]
fs/autofs4/root.o
cc
[M]
fs/autofs4/symlink.o
cc
[M]
fs/autofs4/wattq.o
cc
[M]
fs/autofs4/expire.o
cc
[M]
fs/autofs4/dev-xoctl.o
LD
[M]
fs/autofs4/autofs4.o
CC
[M]
fs/befs/datastream.o
CC
[M]
fs/befs/btree?o
cc
[M]
fs/befs/super.o
cc
[M]
fs/befs/inode.o
cc
[M]
fs/befs/debug.o
cc
[M]
fs/befs/io.o
cc
[M]
fs/befs/linux
總結
以上是生活随笔為你收集整理的linux内核打开prntk,操作系统实验一向Linux内核增加一个系统调用.docx的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux 查看ftp账户,linux的
- 下一篇: linux 函数 缩小文件,linux