實驗1:Linux操作、編程與進程創建_第1頁
實驗1:Linux操作、編程與進程創建_第2頁
實驗1:Linux操作、編程與進程創建_第3頁
實驗1:Linux操作、編程與進程創建_第4頁
實驗1:Linux操作、編程與進程創建_第5頁
已閱讀5頁,還剩3頁未讀, 繼續免費閱讀

下載本文檔

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

文檔簡介

1、操作系統課程實驗報告實驗題目:Linux操作、編程與進程創建 專 業 軟件工程 學 生 姓 名 許攀紅 班 級 學 號 B13040902 教 師 陳興國、朱潔 指 導 單 位 計算機學院 日 期 教師評語教師簽名: 年 月 日成績評定備 注一、實驗目的1能夠安裝某Linux發行版本(例如Red Hat)2、了解Linux的啟動過程 3了解Linux文件的組織結構 4熟悉X Window 環境 5練習使用Linux 常用命令6. 熟練使用Linux的C語言開發環境7. 學習并掌握Linux 編譯工具 gcc 的使用方法8. 了解進程與程序的區別,加深對進程概念的理解。9. 掌握進程并發執行的原

2、理,理解進程并發執行的特點,區分進程并發執行與串行執行。10.了解fork()系統調用的返回值,掌握對fork()創建進程的方法。11.熟悉wait,exit等系統調用。二、實驗指導(大家自行補充進程創建的內容)0.安裝Linux可以多引導方式在PC上安裝linux,或是在Windows下利用VMware等虛擬機軟件來安裝linux.1.開機 進入Linux后,Linux初始化過程中會顯示大量初始化信息,要求學習者逐漸讀懂這些初始化信息。 2.登錄及修改Linux在相應初始化完成后,會在屏幕上顯示“login:”此時輸入用戶名(即帳號)并鍵入回車,則系統顯示”password:”,然后輸入口令

3、并鍵入回車。此時,系統驗證所鍵入的用戶名和口令,若正確則成功進入系統。 若用戶希望修改口令,則可以在成功進入系統后,在命令提示符($或#)后輸入“passwd”并鍵入回車,則系統顯示”new password:”.當用戶鍵入新口令并鍵入回車后,系統再顯示“retry new password:”,此時需要再次鍵入剛才輸入的新口令并鍵入回車,則系統接收并記住新口令。 3.退出、注銷 當用戶不再使用Linux時,在離開前,通常應鍵入“logout”命令或Ctrl+D來退出帳號 4.關機或重啟 在Linux下,涉及到關機或重啟的命令有 1)halt命令。這是最常用的關機方式 2) reboot命令。

4、用戶只是想退出操作系統,并不想關機,還想再進入其他OS(例如WINDOWS)。 3)shutdown命令。在多用戶機器上,系統管理員在關機前,通知各用戶即將關機,以便給各用戶留下一定的時間作保存、退出工作。 4)在窗口工作方式下,可以通過與Windows類似的開始菜單老關機或重啟:“開始”“關閉系統” “關機或重新啟” 操作系統實驗指導 5.窗口工作方式與終端工作方式 進入窗口工作方式后,可以按Ctrl+Alt+F2進入終端工作方式,之后可以按Ctrl+Alt+F7再從終端工作方式回到窗口工作方式。窗口工作方式與Windows下的工作方式類似 6.常用命令 命令名 功能 使用舉例 adduse

5、r 創建新用戶 #adduser cp 復制文件 $cp 源文件 目標文件 rm 刪除文件 $rm 文件名 mkdir 創建新目錄 $mkdir 目錄名 rmdir 刪除目錄 $rmdir 目錄名 pwd 顯示當前目錄 $pwd ps 顯示進程狀態 $ps ls 顯示當前目錄下內容 $ls -l cat 顯示文件內容 $cat 文件名 cd 轉換當前目錄 $cd 路徑名 mv 移動文件 $mv 源文件 目標文件 more 分頁顯示 $ls l|more chmod 改變文件權限 $chmod 777 文件名 clear 清屏 $clear mdir 顯示軟盤內容 $mdir a: mcopy

6、軟、硬盤互拷 $mcopy 文件名  a: 7.外存目錄樹結構 根目錄下有以下目錄:root     bin    boot   dev   usr   home  lib   mnt     proc binsrc    lib   其中: /bin和/usr/bin存放Linux命令實用程序 /

7、usr/src     存放源代碼 /boot 存放內核程序文件 /dev存放設備特別文件 /usr/man   存放幫助文件 /home    存放用戶主目錄 8.練習使用Linux 編輯器Vi,為今后輸入源程序做準備。 利用Vi 編輯器完成例程的輸入、編譯、運行。例程: #include <linux/unistd.h> int main( )   int  i=getuid( ) ;   printf(“Hello w

8、orld! This is my uid: %dn”, i ) ; 9.vi編輯器常用命令(見下表)。 輸入的字符 功  能 說  明 Esc 進入命令模式 I 在光標前輸入文字 A 在光標后輸入文字 X 刪除光標后輸入的文字 Dd 刪除當前行 刪除后的內容自動進入剪貼板 /abc 向前查找字符字符串 然后輸入n,則繼續向前查 ?abc 向后查找字符字符串 Yw 將光標所在單詞拷入剪貼板 Yy 將光標所在行拷入剪貼板 P 將剪貼板內容貼在光標后 :q 不保存退出.0 :q!表示強制退出 :w 保存 :w!表示強制保存 :wq 保存退出 :x 保存退出 :

9、3,7 co 9 將第3行至第7行拷到第9行 :3,7 m 9 將第3行至第7行移到第9行 U 取消前次命令   :g/abc/s/123/g 將全部的abc替換成123 進入Vi編輯器: $vi  文件名 10. 編譯工具gcc Red Hat Linux的編譯器是gcc。gcc軟件包支持C、C+。gcc的可執行文件在/usr/bin/gcc下,/lib和/usr/lib目錄下是庫文件。/usr/include目錄下是頭文件。   gcc編譯常用格式為: $gcc  源文件名   (例如:$g

10、cc aaa.c,將生成默認可執行文件a.out) 或者  $gcc  -o 目標文件名 源文件名   (例如:$gcc o aaa  aaa.c)   11. fork()系統調用創建一個新的進程系統調用格式:pid=fork()參數定義: int fork()fork()返回值意義:0:在子進程中,pid變量保存的fork()返回值為0,表示當前進程是子進程。>0:在父進程中,pid變量保存的fork()返回值為子進程的pid值(進程唯一標識符)。-1:創建失敗。12. Wait()系

11、統調用等待子進程運行結束。如果子進程沒有完成,父進程一直等待。wait()將調用進程掛起,直至其子進程因暫?;蚪K止而發來軟中斷信號為止。系統調用格式:int wait(status)參數定義: int *status;其中,status是用戶空間的地址,為0表示子進程正常結束,非0則表示出現了各種各樣的問題。13. Exit()系統調用終止進程的執行。系統調用格式:void exit(status)參數定義: int status;其中,status是返回給父進程的一個整數。Exit(0)表示進程正常結束,exit(1)表示進程運行有錯,異常終止。三、實驗過程描述與結果分析1、實驗內容: 用vi編輯一個打印“Hello,I am a C program”字串的C語言程序,然后編譯并運行它。2、實驗內容: 編寫一C語言程序,實現在進程運行時通過系統調用fork()創建兩個子進程,使父、子三進程并發執行,父親進程執行時屏幕顯示“parent”,兒子進程執行時屏幕顯示“son”,女兒進程執行時屏幕顯示“daughter”。 多次連續反復運行這個程序,觀察屏幕顯示結果的順序,直至出現不一樣的情況為止。記下

溫馨提示

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

評論

0/150

提交評論