資源描述:
《嵌入式操作系統(tǒng)yms》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學術(shù)論文-天天文庫。
1、實驗一Linux下進程的創(chuàng)建一、實驗目的1.了解進程的含義和系統(tǒng)調(diào)用fork()的原理2.掌握父子進程的創(chuàng)建的過程二、實驗內(nèi)容學習父子進程創(chuàng)建的原理,利用系統(tǒng)調(diào)用fork創(chuàng)建父子進程。三、預備知識1.有C語言基礎(chǔ)2.掌握在Linux下常用編輯器的使用四、實驗設(shè)備及工具硬件:UP-NETARM2410-S嵌入式實驗儀、JTAG仿真器、PC機Pentumn500以上,硬盤10G以上。軟件:PC機操作系統(tǒng)REDHATLINUX9.0、MINICOM、AMRLINUX開發(fā)環(huán)境五.實驗步驟及程序1、啟動虛擬機;2、在根目錄下新建一個文件夾yms3、新建終端
2、---輸入:#cd~#mkdiryms#cd/yms#vitest1.c4、進入vi編輯器,鍵入i進入編輯模式,輸寫程序:#include#includeMain(){intval;printf(“PIDbeforefork():%d”,(int)getpid());if(val=fork())printf(“parentprocessPID:%d”,(int)getpid());elseprint(“childprocessPID:%d”,(int)getpid());}5、按Esc退出
3、編輯模式,鍵入:進入末行模式后輸wq保存退出;六、實驗運行及結(jié)果#gcc–otest1test1.c#./test1PIDbeforefork():2254ChildprocessPID:2255ParentprocessPID:2254實驗二Linux下進程的通信一、實驗目的掌握Linux下管道通信的原理二、實驗內(nèi)容編寫程序,創(chuàng)建一個進程,通過管道實現(xiàn)父子進程之間的通信。三、預備知識1.有C語言基礎(chǔ)2.掌握在Linux下常用編輯器的使用3.掌握父子進程間通信的知識四、實驗設(shè)備及工具硬件:UP-NETARM2410-S嵌入式實驗儀、JTAG仿真器
4、、PC機Pentumn500以上,硬盤10G以上。軟件:PC機操作系統(tǒng)REDHATLINUX9.0、MINICOM、AMRLINUX開發(fā)環(huán)境.五.實驗步驟及程序1、啟動虛擬機;2、新建終端---輸入:#Cd/yms#vitest2.c3、進入vi編輯器,鍵入i進入編輯模式,輸寫程序:#includeMain(){Intpid;Intfds[2];Charbuf1[50],buf2[50];Pipe(fds);If((pid=fork())<0){Printf(“fork()Error”);Exit(1);}Elseif(pi
5、d==0){Close(fds[0]);Sprintf(buf1,”thesearetransmitteddata”);Write(fds[1],buf1,50);Exit(1);}Else{Close(fds[1]);Wait(0);Read(fds[0],buf2,50);Printf(“%s”,buf2);}}4、按Esc退出編輯模式,鍵入:進入末行模式后輸wq保存退出;六、實驗運行及結(jié)果#gcc–otest2test2.c#./test2Thesearetransmitteddata實驗三Linux內(nèi)核的裁剪一、實驗目的1.了解L
6、inux內(nèi)核的基本知識2.學習Linux內(nèi)核裁剪的方法二、實驗內(nèi)容對Linux內(nèi)核進行裁剪三、實驗設(shè)備及工具硬件:UP-NETARM2410-S嵌入式實驗儀、PC機pentumn500以上、硬盤40G以上、內(nèi)存大于256M。軟件:PC機操作系統(tǒng)REDHATLINUX9.0、MINICOM、AMRLINUX開發(fā)環(huán)境.四、實驗步驟Linux內(nèi)核的裁剪與編譯看上去是個挺簡單的過程。只是對配置菜單的簡單選擇。但是內(nèi)核配置菜單本身結(jié)構(gòu)龐大,內(nèi)容復雜。具體如何選擇卻難住了不少人。因此熟悉與了解該菜單的各項具體含義就顯得比較重要。我們現(xiàn)在就對其作一些必要介紹:
7、Linux內(nèi)核的編譯菜單有好幾個版本,運行:1)makeconfig:進入命令行,可以一行一行的配置,這不好使用所以我們不具體介紹。2)makemenuconfig:進入我們熟悉的menuconfig菜單,相信很多人對此都不陌生。3)makexconfig:在2.4.X以及以前版本中xconfig菜單是基于TCL/TK的圖形庫的。所有內(nèi)核配置菜單都是通過Config.in經(jīng)由不同腳本解釋器產(chǎn)生.config。而目前剛剛推出的2.6.X內(nèi)核用QT圖形庫。由KConfig經(jīng)由腳本解釋器產(chǎn)生。這兩版本差別還挺大。2.6.X的xconfig菜單結(jié)構(gòu)清晰,
8、使用也更方便。但基于目前2.4.X版本比較成熟,穩(wěn)定,用的最多。所以這里我還是以2.4.X版本為基礎(chǔ)介紹相關(guān)裁剪內(nèi)容。同時因為xconf