


下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、安全操作系統(tǒng)實(shí)驗(yàn)指導(dǎo)書(shū)2007-12-5緒論實(shí)驗(yàn)報(bào)告內(nèi)容1,命令接口的使用 2,多進(jìn)程程序設(shè)計(jì)(同步、互斥、通信) 3, linux 的文件操作4, Socket 網(wǎng)絡(luò)編程實(shí)驗(yàn)報(bào)告的格式和要求實(shí)驗(yàn)報(bào)告的格式1,封皮(姓名 班級(jí) 學(xué)號(hào))2,試驗(yàn)?zāi)康?,實(shí)驗(yàn)內(nèi)容4,試驗(yàn)步驟5,試驗(yàn)結(jié)論實(shí)驗(yàn)報(bào)告的要求 按照要求格式,字體用宋體,字號(hào)小四 每個(gè)實(shí)驗(yàn)報(bào)告篇幅控制在 6-8 頁(yè) 總共 8 次試驗(yàn)課,需要寫(xiě) 4 個(gè)實(shí)驗(yàn)報(bào)告 以班級(jí)為單位按時(shí)上交實(shí)驗(yàn)內(nèi)容1, linux 基本命令的使用:Is 、cd、chmod等命令的使用2, linux 命令接口的使用:Vi 編輯器與 sheII 程序的編寫(xiě)3, linux
2、的C語(yǔ)言開(kāi)發(fā):gcc 、gdb、make的使用4, linux 多線程設(shè)計(jì):fork 等系統(tǒng)調(diào)用的使用5, linux 下程序的同步:同步算法的實(shí)現(xiàn)6, linux 下程序的通信:進(jìn)程間的通信7, linux 的文件操作:有關(guān)文件操作的系統(tǒng)調(diào)用8, linux 下的網(wǎng)絡(luò)程序設(shè)計(jì)實(shí)驗(yàn)一 基本命令的使用實(shí)驗(yàn)?zāi)康氖煜?linux 的基本命令熟悉運(yùn)用 Linux 的在線求助系統(tǒng)。( man info help )實(shí)驗(yàn)內(nèi)容1, 文件與磁盤(pán)操作man/info cd ls(-a -l -h -t) cp(-R -f -l)mv cat/less/more pwd mkdir rm(-r -f) chmod
3、 -R user:group file find(-name -user) grep df(-h)mount /umount clear time2,用戶管理useradd (-g -d -s -G) userdel (-r) passwd groupadd/groupdel gpasswd(-a -d) su kernelversion hostname 3,軟件安裝rpm( -i -e -ivh -U -q -qa -qd -ql -qi -qR) tar4,網(wǎng)絡(luò)命令ifconfig ( up/down) netstate ( -t -p -u )5,進(jìn)程管理ps (-a -f -x) p
4、stree -pu kill -9 pid ldconfigkillall reboot halt實(shí)驗(yàn)二 命令接口的使用實(shí)驗(yàn)?zāi)康? 熟練使用 vi 編輯器2 ,熟悉 Shell 程序的設(shè)計(jì)實(shí)驗(yàn)內(nèi)容:1 vi 編輯器的使用1, 三種模式進(jìn)入命令模式vi < 文件名 >進(jìn)入編輯模式i/I a/A o/O ESC進(jìn)入特殊模式:q :q! :e!:w :wq :wq file :n1,n2 w file:r file:e filename:!command2, 光標(biāo)移動(dòng)b e j k l h 0 $ ctrl+f ctrl+bn+space n+enter 6G G H L3, 刪除操作x
5、 dw D dd4, 替換操作r cw C cc5, 查詢命令/abc abc n N :n1,n2 s/word1/word2/gc6, 拷貝粘貼y Y 2yy p P7, 其他命令 : set nu; :set nonu; u .;v y pgf CTRL-SHIFT-62 shell 程序的編寫(xiě) 環(huán)境變量echo env set $1)熟悉 shell script的結(jié)構(gòu)和運(yùn)行、調(diào)試方法。2)熟悉 shell script的變量聲明方法及其輸入輸出。declare i a=3;read3)熟悉 shell script的分支結(jié)構(gòu)。編寫(xiě) shell script 文件,判斷用戶根目錄下是否
6、有名為 test 的文件或者目錄,如果有的話,將 其刪除。if -e test ; then xxx else xxx fi4)熟悉 shell script 的循環(huán)結(jié)構(gòu)。編寫(xiě) shell script 文件,實(shí) 現(xiàn) 1到 100所有奇數(shù)的和并輸出。試驗(yàn)三linux 的C語(yǔ)言開(kāi)發(fā)試驗(yàn)?zāi)康氖煜?gcc 的使用 熟悉gdb的使用 熟悉make的使用試驗(yàn)內(nèi)容1 gcc(1)過(guò)程gcc o hello輸入選項(xiàng)輸出 命令注釋.c-E.i cpp預(yù)編譯, 文件包含、條件編譯、宏展開(kāi).i-S.s cc1編譯,生成匯編文件,注意命令的路徑.s-c.o as匯編,生成目標(biāo)文件.oELF ld鏈接(2) 常用選項(xiàng)
7、-v 顯示進(jìn)度-Wall 顯示警告信息-I 頭文件路徑,不要空格-L 庫(kù)路徑,不要空格-lName 庫(kù)名字 (libName. 或者-shared 編譯成共享庫(kù)-static 鏈接靜態(tài)庫(kù)-fpicfPIC 編譯成共享庫(kù)-On 優(yōu)化-Dmacro=BA在命令行定義預(yù)處理宏FOO其值為BAR-Wl,option 傳遞給 Id 程序 option 選項(xiàng),比如-Wl,-dn 和-Wl,-dy 注意區(qū)別:gcc - o - Wl,-dn-Bstatic-staticgcc - o - WI,-dy-Bdynamic 默認(rèn)(3) c+編寫(xiě)程序:#include <> using namespc
8、e std;int main()Cout<<” hello ”<<endl;Return 0;編譯命令 :g+ -o hello(4) 靜態(tài)庫(kù)的建立和使用a) 建立gcc -cgcc -car -r ( 查 ar 命令,注意 /r/t/x 的用法 )b)調(diào)用gcc -o -I ./ -L ./-Wl,-dn - I addsub-Wl,-dn 后面的庫(kù)使用靜態(tài)版本(5) 共享庫(kù)的建立和使用a) 建立gcc -fpic -shared -ob) 安裝為了讓動(dòng)態(tài)鏈接庫(kù)為系統(tǒng)所認(rèn)識(shí)及共享 , 就需要運(yùn)行 Idconfig 命令。( man Idconfig ,注意命令作用)默
9、認(rèn)目錄/lib 和/usr/lib配置文件內(nèi)所列的目錄緩存文件 四種安裝方式 :#cp /usr/bin #ldconfig#ldconfig#ldconfig 'pwd'-L ./-Wl,-dy - laddsub-Wl,-dy 用于指定鏈接動(dòng)態(tài)庫(kù)版本,默認(rèn)d) 動(dòng)態(tài)調(diào)用Linux 提供 4 個(gè)庫(kù)函數(shù)( dlopen, dlerror, dlsym 和 dlclose ), 一個(gè) include 文件()以及兩個(gè)共享庫(kù)(靜態(tài)庫(kù) 和動(dòng)態(tài)庫(kù) ),以 支持動(dòng)態(tài)鏈接裝入器。gcc -o test2 Idl參考:#include <>#include <>int
10、 main()int a,b; scanf("%d,%d",&a,&b);void *pHandle;int (*sub)(int m,int n); pHandle=dlopen("",RTLD_LAZY); sub=dlsym(pHandle,"sub"); printf("%dn",sub(a,b); dlclose(pHandle);return 0;附 : 幾個(gè)命令ldd查看文件的依賴關(guān)系nm查看文件的符號(hào)表,比如: nm test2|grep addobjdump查看文件的信息2 gdb
11、(1) 準(zhǔn)備 gcc -g(2) 打開(kāi) gdb filename/file filename(3) 運(yùn)行 run/next/step (進(jìn)入子程序) /continue(4) 設(shè)置斷點(diǎn) break/delete(5) 顯示表達(dá)式的值print exp 立即輸出表達(dá)式的值watch exp 表達(dá)式的值發(fā)生變化時(shí),程序停止并輸出其新舊值display exp 程序一旦停止就顯示表達(dá)式的值(6) 顯示棧的信息backtrace/backtrace fullframe traceNum(7) 顯示程序的信息list/list num/list funcinfo breakpoints/info bre
12、akinfo func/into var /info filesinfo local /info prog/info argsdisassemble func/info frame/ examine(x) addr(8) 退出 quit 幫助 help 執(zhí)行命令 shell command str3 make(1) Make 命本 :Make flags macro definitions targetsflags 如果沒(méi)有 "-f" 參數(shù),則系統(tǒng)將默認(rèn)當(dāng)前目錄下名為makefile 或者名為 Makefile 的文件為描述文件。在 Linux 中, GNU make 工具
13、在當(dāng)前工作目錄中按照 GNUmakefile、makefile 、Makefile 的順序搜索 makefile 文件。macro definitionsmakefile 文件中的變量定義targetsmake 的目標(biāo),默認(rèn)是 makefile 文件中的第一個(gè)目標(biāo)(2) makefile 文件:規(guī)則的集合a:bcommanda 為目標(biāo)。可以是 .o ,也可以是 ELF, 還可以是一個(gè)偽目標(biāo)。b 為依賴文件。就是,要生成那個(gè) a 所需要的文件或是目標(biāo)。comma nd也就是 make需要執(zhí)行的,從b生成a的命令(3) 其他變量:定義 CFLAGS=-c 引用 $(CFLAGS)特殊變量$砌標(biāo)文件
14、,$八所有的依賴文件,$第一個(gè)依賴文件 命令:不顯示命令內(nèi)容命令出錯(cuò)不處理-多條相關(guān)命令 ;偽目標(biāo)與自動(dòng)推導(dǎo):.PHONY : cleanclean :rm edit $(objects)文件搜索:特殊變量 VPATH=./include:./include特殊指令 vpath %.h ./include:./include4 實(shí)驗(yàn)任務(wù)(1) 編寫(xiě)程序: main 函數(shù)所在的文件名字為,程序功能為從鍵盤(pán)輸 入兩個(gè)數(shù)求其和(調(diào)用中的函數(shù))和差(調(diào)用中的函數(shù))。(2) 編寫(xiě)一個(gè)makefile文件,并用make編譯剛才的程序( 3)設(shè)置斷點(diǎn),觀察點(diǎn),調(diào)試程序?qū)嶒?yàn)四 linux 多進(jìn)程設(shè)計(jì)實(shí)驗(yàn)?zāi)康?
15、. 了解進(jìn)程與程序的區(qū)別,加深對(duì)進(jìn)程概念的理解;2. 了解 fork( )系統(tǒng)調(diào)用的返回值,掌握用 fork() 創(chuàng)建進(jìn)程的方 法;實(shí)驗(yàn)內(nèi)容1 ,用 vi 輸入下面的程序,編譯、調(diào)試、輸出結(jié)果#include <sys/>#include <>int main()pid_t child_pid;/*fork 函數(shù)*作用:系統(tǒng)調(diào)用,產(chǎn)生一個(gè)子進(jìn)程 , 調(diào)用一次返回兩次* 返回值: pid_t 類(lèi)型,在頭文件中定義,通常為整形* 0 子進(jìn)程返回* ID 父進(jìn)程返回的子進(jìn)程 ID*/ child_pid=fork();if(child_pid=0)int i=0;for(;i
16、<5;i+) printf("childn");sleep(1); 握進(jìn)程并發(fā)執(zhí)行的原理, 理解進(jìn)程并發(fā)執(zhí)行的 特點(diǎn),區(qū)分進(jìn)程并發(fā)執(zhí)行與串行執(zhí)行;2. 熟悉 wait 、 exit 等系統(tǒng)調(diào)用。3. 熟悉信號(hào)同步的方法。實(shí)驗(yàn)內(nèi)容1. 用man察看wait、exit的用法2. 修改實(shí)驗(yàn)四的程序,在父、子進(jìn)程中分別使用 wait 、 exit 等 系統(tǒng)調(diào)用“實(shí)現(xiàn)”其同步推進(jìn),多次反復(fù)運(yùn)行改進(jìn)后的程序,觀察并 記錄運(yùn)行結(jié)果。實(shí)驗(yàn)六 Linux 進(jìn)程間的通信實(shí)驗(yàn)?zāi)康?學(xué)習(xí)如何利用管道機(jī)制、 消息緩沖隊(duì)列、 共享存儲(chǔ)區(qū)機(jī)制進(jìn)行進(jìn) 程間的通信,并加深對(duì)上述通信機(jī)制的理解。實(shí)驗(yàn)內(nèi)容
17、1了解系統(tǒng)調(diào)用 pipe() 、 msgget() 、 msgsnd() 、 msgrcv() 、 msgctl() 、 shmget() 、 shmat() 、 shmdt() 、 shmctl() 的功能和實(shí)現(xiàn)過(guò) 程。semget() semop() semctl()2.編寫(xiě)一 C語(yǔ)言程序,使其用管道來(lái)實(shí)現(xiàn)父子進(jìn)程間通信。子 進(jìn)程向父進(jìn)程發(fā)送字符串“ is sending a message to parent! ”; 父進(jìn)程則從管道中讀出子進(jìn)程發(fā)來(lái)的消息, 并將其顯示到屏幕上, 然 后終止。3運(yùn)行該程序,觀察、記錄并簡(jiǎn)單分析其運(yùn)行結(jié)果。實(shí)驗(yàn)七 Linux 文件操作實(shí)驗(yàn)?zāi)康膹?fù)習(xí)標(biāo)準(zhǔn)C語(yǔ)言的
18、文件操作函數(shù),熟悉linux有關(guān)文件操作的系 統(tǒng)調(diào)用,并理解他們之間的關(guān)系。實(shí)驗(yàn)內(nèi)容1、標(biāo)準(zhǔn)的文件操作的函數(shù)#include <>文件指針( FILE) fopen/fclose,fread/fwrite,fputc/fgetc,fprintf/fscanf,fse ek/frewind,remove,rename,feof2、系統(tǒng)調(diào)用中的文件操作#include <>#incldue <sys/>#include <sys/>#include <>文件描述符( int )open/close,creat/unlink,read/write,lseek,eofmkdir/rmdir,opendir/closedir,readdir,stat,access3建立一個(gè)目錄 (mkdir), 在目錄下建立兩個(gè)文件 (creat) 、; 在 中輸入你的姓名和學(xué)號(hào) ; 在中輸入你的年齡的二進(jìn)制表示。4. 編寫(xiě)程序?qū)崿F(xiàn)對(duì)文本文件指定行的讀取。附錄man的使用 1, man的介紹linux下的man頁(yè)包括用戶命令、系統(tǒng)調(diào)用、庫(kù)函數(shù)等的幫助文 檔。其中每一類(lèi)別對(duì)應(yīng)一個(gè) secti
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年教師招聘考試試卷及答案
- 2025年城市規(guī)劃師考試試題及答案
- 2025年翻譯專(zhuān)業(yè)資格考試試卷及答案
- 2025年甘肅省平?jīng)鍪刑貚徑處熣衅?0人筆試參考題庫(kù)及參考答案詳解一套
- 物資采購(gòu)使用管理制度
- 特殊家庭學(xué)生管理制度
- 特殊工種離職管理制度
- 特殊物品儲(chǔ)存管理制度
- 特殊藥品存放管理制度
- 特殊設(shè)施設(shè)備管理制度
- GH/T 1093-2014再生資源回收利用網(wǎng)絡(luò)規(guī)范
- 培養(yǎng)學(xué)生核心素養(yǎng)導(dǎo)向下的課堂教學(xué)課件
- 廣西壯族自治區(qū)工程造價(jià)綜合定額答疑匯編2022年11月更新
- 食品供應(yīng)不合格產(chǎn)品退換方案
- 年產(chǎn)12000噸水合肼(100%)項(xiàng)目環(huán)評(píng)報(bào)告書(shū)
- 《有機(jī)波譜分析》期末考試試卷及參考答案
- 最詳細(xì)的整車(chē)開(kāi)發(fā)流程
- 部編版七年級(jí)歷史(下)材料論述題專(zhuān)項(xiàng)訓(xùn)練
- 年產(chǎn)1000噸乳酸的生產(chǎn)工藝設(shè)計(jì)
- 博克服裝CAD制版說(shuō)明操作手冊(cè)(共95頁(yè))
- 光電效應(yīng)測(cè)普朗克常數(shù)-實(shí)驗(yàn)報(bào)告
評(píng)論
0/150
提交評(píng)論