OS第2章操作系統(tǒng)用戶界面(MR)_第1頁
OS第2章操作系統(tǒng)用戶界面(MR)_第2頁
OS第2章操作系統(tǒng)用戶界面(MR)_第3頁
OS第2章操作系統(tǒng)用戶界面(MR)_第4頁
OS第2章操作系統(tǒng)用戶界面(MR)_第5頁
已閱讀5頁,還剩87頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、計算機操作系統(tǒng)第2章 操作系統(tǒng)用戶界面22.1 簡介2.2 一般用戶的輸入輸出界面2.3 命令控制界面2.4 Linux和Windows的命令控制界面2.5 系統(tǒng)調(diào)用2.6 Linux和Windows的系統(tǒng)調(diào)用第 2 章 操作系統(tǒng)用戶界面32.1 簡介計算機系統(tǒng)的用戶 計算機系統(tǒng)的用戶使用和管理計算機應(yīng)用程序的用戶(被服務(wù)者)程序開發(fā)人員普通用戶管理員用戶系統(tǒng)調(diào)用(OS為編程人員提供的界面)命令控制界面(OS的操作命令界面)42.2 一般用戶的輸入輸出界面2.2.1 作業(yè)的定義2.2.2 作業(yè)組織2.2.3 一般用戶的輸入輸出方式5作業(yè)的形成過程使用計算機來計算、運行用戶程序有三個步驟:用某種

2、語言(例如C語言)編寫一個程序,它被稱為源程序。將源程序和初始數(shù)據(jù)記錄在某種輸入介質(zhì)上。按照一定要求來控制計算機工作,并經(jīng)過加工最后算出結(jié)果 。600110100101010100100101110110100目標(biāo)模塊00110100101010100100101110110100#include int main(void) int a; ; cin; ; return 0; 源程序Text Editor文本編輯器Linker 鏈接器Compiler編譯Preprocessor預(yù)處理程序Translator翻譯程序系統(tǒng)庫Building a Program 構(gòu)建程序7作業(yè)的概念作業(yè):是用戶提

3、交給計算機進(jìn)行加工的一個任務(wù)。作業(yè)步:通常一個作業(yè)又可分為若干個順序處理的步驟。作業(yè)由不同的順序相連的作業(yè)步組成。82.2 一般用戶的輸入輸出界面2.2.1 作業(yè)的定義 一般編程過程概念功能設(shè)計結(jié)構(gòu)設(shè)計建檔詳細(xì)設(shè)計編輯輸入輸出執(zhí)行鏈接編譯調(diào)試需求分析分析編輯輸入9作業(yè)的概念從系統(tǒng)角度看(作業(yè)的組織形式)作業(yè):作業(yè)由程序、數(shù)據(jù)和作業(yè)說明書組成。程序和數(shù)據(jù)完成用戶所要求的業(yè)務(wù)處理工作。作業(yè)說明書(JCB)則體現(xiàn)用戶的控制意圖。是作業(yè)存在的標(biāo)志。作業(yè)的概念一般用于早期批處理系統(tǒng)和現(xiàn)在的大型機、巨型機系統(tǒng)中;對于微機和工作站系統(tǒng),一般不太使用作業(yè)的概念。10作業(yè)、作業(yè)步、進(jìn)程的關(guān)系用戶作業(yè)作業(yè)步進(jìn)程作

4、業(yè)步進(jìn)程線程線程由用戶創(chuàng)建由用戶指定由系統(tǒng)創(chuàng)建11 作業(yè)的基本類型從調(diào)度的角度,可分為: 計算型作業(yè):如通常的科學(xué)計算; I/O型作業(yè):如通常的事務(wù)處理 從控制的角度,可分為:脫機作業(yè)(批量型作業(yè)): 在整個作業(yè)的運行過程中,只需根據(jù)作業(yè)說明書中的說明對作業(yè)進(jìn)行控制,脫機作業(yè)通常是在批處理操作環(huán)境下運行,故也稱為批量型作業(yè);聯(lián)機作業(yè)(終端型作業(yè)): 通常是用鍵盤命令直接控制作業(yè)的運行,聯(lián)機作業(yè)通常在分時操作環(huán)境下運行,故也稱為終端型作業(yè)。12作業(yè)狀態(tài)提交狀態(tài)后備狀態(tài)執(zhí)行狀態(tài)完成狀態(tài)執(zhí)行狀態(tài)運行就緒等待提交狀態(tài)后備狀態(tài)完成狀態(tài)進(jìn)程調(diào)度中級調(diào)度輸出作業(yè)調(diào)度預(yù)輸入完成132.2.2 作業(yè)組織程序作業(yè)

5、說明書作業(yè)控制塊(JCB)數(shù)據(jù)作業(yè)控制描述作業(yè)基本描述資源要求描述 作業(yè)的組成使用編程語言名允許最大處理時間用戶名作業(yè)名作業(yè)作業(yè)說明書方式主要用在批處理系統(tǒng)中。出錯處理操作順序控制方式外設(shè)類型和數(shù)量處理機優(yōu)先級庫函數(shù)或?qū)嵱贸绦騼?nèi)存空間要求處理時間142.2.3 一般用戶的輸入輸出方式作業(yè)的輸入輸出方式聯(lián)機輸入輸出方式脫機輸入輸出方式直接耦合方式SPOOLING系統(tǒng) (Simultaneous Peripheral Operation On-Line)網(wǎng)絡(luò)聯(lián)機方式15聯(lián)機輸入方式方法:在交互式系統(tǒng)中,用戶和系統(tǒng)通過交互會話來輸入作業(yè)。 缺點:由于外圍設(shè)備的輸入輸出速度遠(yuǎn)遠(yuǎn)低于CPU處理速度,造成

6、CPU資源浪費。16脫機輸入方式方法:利用低檔個人計算機作為外圍處理機進(jìn)行輸入輸出處理。缺點:需用戶進(jìn)行干預(yù);以犧牲低檔機為代價;靈活性差,不易實現(xiàn)優(yōu)先級調(diào)度算法。17直接耦合方式組織形式:是把主機和外圍低檔機通過一個公用的大容量外存直接耦合起來,從而省去了在脫機輸入中那種依靠人工干預(yù)來傳遞后援存儲器的過程。 圖2.3直接耦合輸入方式主機公用存儲器低檔PC機低檔PC機18SPOOLING系統(tǒng)SPOOLING (Simultaneous Peripheral Operations On-Line) 又譯作外圍設(shè)備同時聯(lián)機操作或假脫機工作方式。它是多臺外圍設(shè)備通過通道或DMA器件和主機與外設(shè)連接起

7、來。19通 道 通 道輸出裝置輸出裝置通道主機系統(tǒng)輸入管理模塊輸出管理模塊輸入裝置輸入裝置輸入井輸出井外存 SPOOLING系統(tǒng)讀過程:從外部設(shè)備把信息讀入緩沖區(qū);寫過程:負(fù)責(zé)把緩沖區(qū)的信息送到外存輸入井。20當(dāng)用戶提交一批作業(yè)后,操作員鍵入“預(yù)輸入命令”啟動預(yù)輸入程序工作,預(yù)輸入程序啟動輸入機讀出作業(yè)信息,并把它們存放到輸入井中。當(dāng)主存儲器可以裝入作業(yè)時就從輸入井中選擇若干作業(yè)裝入主存儲器。被裝入主存儲器中的作業(yè)在執(zhí)行中可請求井管理程序從輸出井讀需處理的信息或把處理結(jié)果寫到輸出井中。緩輸出程序利用處理器空閑時間把作業(yè)執(zhí)行結(jié)果在打印機上輸出SPOOLING系統(tǒng)的工作原理21通道是一個獨立于CP

8、U的專管輸入輸出的處理機,它控制外設(shè)或外存與內(nèi)存之間的信息交換。它有自己的通道指令,以驅(qū)動外設(shè)進(jìn)行讀寫操作。 通道 DMA方式DMA方式相似于通道方式。與通道不同的是,在DMA方式中,信息的傳送方向、信息傳送的源地址和目的地址以及傳送長度等都是由CPU控制而不是由DMA器件控制的。22組織形式:根據(jù)用戶的需要,把在計算機網(wǎng)絡(luò)中某一臺主機上輸入的信息傳送到同一網(wǎng)中另一臺主機上進(jìn)行操作執(zhí)行,構(gòu)成了網(wǎng)絡(luò)聯(lián)機方式。網(wǎng)絡(luò)聯(lián)機方式232.3 命令控制界面操作系統(tǒng)的接口界面命令接口界面:組織和控制作業(yè)的執(zhí)行或管理計算機系統(tǒng)。系統(tǒng)調(diào)用: 提供給編程人員的唯一接口,編程人員利用它在原程序一級動態(tài)請求和釋放系統(tǒng)資

9、源,調(diào)用系統(tǒng)中已有的系統(tǒng)功能來完成那些與機器硬件部分相關(guān)的工作以及控制程序的執(zhí)行速度等。24命令控制界面接口脫機控制方式聯(lián)機控制方式25脫機控制方式用戶將作業(yè)的執(zhí)行順序和出錯處理方法一并以作業(yè)控制說明書的方式或命令文件方式提交給系統(tǒng),由系統(tǒng)按照作業(yè)說明書或命令文件中規(guī)定的順序控制作業(yè)執(zhí)行。在執(zhí)行過程中,用戶無法干涉,只能等待作業(yè)正常執(zhí)行結(jié)束或出錯停止之后查看執(zhí)行結(jié)果或出錯信息,以便修改作業(yè)內(nèi)容或控制過程。26聯(lián)機控制方式用戶使用系統(tǒng)提供的操作命令和系統(tǒng)會話,交互地控制程序執(zhí)行和管理計算機系統(tǒng)。工作過程:用戶在系統(tǒng)給出的提示符下敲入特定的命令,系統(tǒng)在執(zhí)行完該命令后向用戶報告執(zhí)行結(jié)果;然后,用戶決

10、定下一步的操作。如此反復(fù),直到作業(yè)執(zhí)行結(jié)束。27聯(lián)機控制方式命令分類:環(huán)境設(shè)置執(zhí)行權(quán)限管理系統(tǒng)管理文件管理編輯、編譯、鏈接和執(zhí)行通信資源要求282.4 Linux與Windows的命令控制界面Linux命令控制界面Windows的命令控制界面292.4 Linux與Windows的命令控制界面自由軟件與Linux 70年代后期起很多軟件不再提供源碼,使用戶無法修改軟件中的錯誤,使用尤為不便。為此在1984年,Stallman先生啟動了GNU計劃,并成立了自由軟件基金會自由軟件(Free Software or Freeware)是指遵循通用公共許可證GPL(General public Lic

11、ense)規(guī)則,保證您有使用上的自由、獲得源程序的自由,可以自己修改的自由,可以復(fù)制和推廣的自由,也可以有收費的自由的一種軟件30自由軟件與LinuxGNU的含義是GNU is not Unix的意思,由自由軟件的倡導(dǎo)者Richard M.Stallman先生指導(dǎo)并啟動的一個組織Stallman先生通過GNU寫出一套和Unix兼容,但同時又是自由軟件的Unix系統(tǒng),GNU 完成了大部分外圍工作,包括gcc/ gcc+, shell等現(xiàn)在GNU的所有工作繼續(xù)在向前發(fā)展。目前人們熟悉的一些軟件如C+編譯器、Objective C、FORTRAN77、C 庫、BSD email、BIND、Perl、

12、Apache、TCP/IP、IP accounting、HTTP server、Lynx Web都是自由軟件的經(jīng)典之作31Linux的誕生Linux是由芬蘭藉科學(xué)家Linus Torvalds于1991年編寫完成的一個操作系統(tǒng)內(nèi)核,當(dāng)時他還是芬蘭赫爾辛基大學(xué)計算機系的學(xué)生,在學(xué)習(xí)操作系統(tǒng)課程中,自己動手編寫了一個操作系統(tǒng)原型,并把這個系統(tǒng)放在Internet上,允許自由下載許多人對這個系統(tǒng)進(jìn)行改進(jìn)、擴充、完善,Linux由最初一個人寫的原型變化成在Internet上由無數(shù)志同道合的程序高手們參與的一場運動32Linux操作系統(tǒng)特性開放性的系統(tǒng)多用戶多任務(wù)的系統(tǒng)具有出色的穩(wěn)定性和速度性能具有可靠

13、的系統(tǒng)安全性提供了豐富的網(wǎng)絡(luò)功能 標(biāo)準(zhǔn)兼容性和可移植性提供了良好的用戶界面33Linux的內(nèi)核版本與發(fā)行版本內(nèi)核版本號由三個數(shù)字組成:r.x.yr:目前發(fā)布的Kernel版本x:偶數(shù):穩(wěn)定版本,奇數(shù):開發(fā)中版本y:錯誤修補的次數(shù)Red Hat 9.0的Linux內(nèi)核版本是2.4.20342.4.1 Linux命令控制Linux命令系統(tǒng)維護(hù)及管理命令,例如date,setenv文件操作及管理命令,例如ls,find進(jìn)程管理命令,例如kill,at 磁盤及設(shè)備管理命令,例如df,du,mount用戶管理命令,例如adduser,userdel文檔操作命令,例如csplit,sort網(wǎng)絡(luò)通信命令,例

14、如netstat,ifconfig程序開發(fā)命令,例如cc,linkX Windows管理命令,例如startx,XE86Setup35硬盤分區(qū)F:E:D:C:主分區(qū)擴展分區(qū)邏輯分區(qū)Windows 中分區(qū)示意圖/dev/hda7/dev/hda6/dev/hda5/dev/hda1主分區(qū)擴展分區(qū)/dev/hda2邏輯分區(qū)Linux中的分區(qū)示意圖36列出文件列表的ls命令ls(list)是一個非常有用的命令,用來顯示當(dāng)前目錄下的內(nèi)容。配合參數(shù)的使用,能以不同的方式顯示目錄內(nèi)容。下面是一些常用的范例。格式:ls參數(shù) 路徑或文件名37切換目錄的cd命令cd (change directory)命令可以

15、讓用戶切換當(dāng)前目錄。范例如下: pplinux home$ cd pp 切換到當(dāng)前目錄下的pp 子目錄 pplinux pp$ cd .切換到上一層目錄 pplinux home$ cd / 切換到系統(tǒng)根目錄 pplinux /$ cd 切換到用戶自家目錄 (或執(zhí)行cd ) pplinux pp$ cd /usr/bin切換到/usr/bin目錄38創(chuàng)建目錄的mkdir命令 mkdir(make directory)命令可用來創(chuàng)建子目錄。下面的范例會在所在目錄內(nèi)創(chuàng)建子目錄格式:mkdir 參數(shù) pplinux pp$ mkdir dir 在當(dāng)前目錄下建立dir目錄 pplinux pp$ mk

16、dir -p dir1/dir2 在當(dāng)前目錄下創(chuàng)建dir1目錄, 并在dir1目錄下創(chuàng)建dir2目 錄,也就是連續(xù)創(chuàng)建兩個目 錄(dir1/和dir1/dir2)39刪除目錄的rmdir命令rmdir (remove directory)命令可用來刪除“空”的子目錄格式:rmdir 參數(shù) pplinux pp$ rmdir dir 刪除“空”的子目錄dir pplinux pp$ rmdir p dir1/dir2 刪除dir1下的dir2目錄,若 dir1目錄為空也刪除它40復(fù)制文件的cp命令 cp(copy)命令可以將文件從一處復(fù)制到另一處。一般在使用cp命令時將一個文件復(fù)制成另一個文件或

17、復(fù)制到某目錄時,需要指定源文件名與目標(biāo)文件名或目錄。格式:cp 參數(shù) pplinux pp$ cp test1.txt test2.txt 將test1.txt復(fù)制成test2.txt pplinux pp$ cp test3.txt /tmp 將test3.txt復(fù)制到/tmp目錄中41刪除文件rm命令rm命令可以刪除文件或目錄格式:rm 參數(shù) pplinux pp$rm * 刪除當(dāng)前目錄下的所有文件-f參數(shù):強迫刪除文件(忽略不存在的文件,從不給提示) pplinux pp$ rm f *.txt 強迫刪除所有后綴名為txt文件42rm命令參數(shù)-r、-f的使用-r參數(shù):遞歸刪除(連子目錄一

18、同刪除,這是一個相當(dāng)常用的參數(shù))。 pplinux pp$ rm -r test 刪除test目錄(含test目錄下所有文件和子目錄) pplinux pp$ rm -r *刪除所有文件(含當(dāng)前目錄所有文件、所有子目錄和子目錄下的文件) ,一般在刪除目錄時r和f一起用,避免麻煩。 pplinux pp$ rm -rf test 強行刪除43顯示當(dāng)前目錄的pwd命令功能:顯示用戶正在工作或當(dāng)前所在的目錄格式:pwd pplinux pp$ pwd /home/pp 顯示用戶pp所在的當(dāng)前目錄是/home/pp 44使用man命令獲得幫助要想查看某個命令的使用手冊頁,只要輸入man后跟該命令的名稱

19、即可。 rootlinux root# man ls 查看ls命令的使用手冊 rootlinux root# man rm 查看rm命令的使用手冊45使用man命令獲得幫助使用man命令時用于控制手冊頁滾動的鍵:空格鍵:顯示手冊頁的下一屏;回車鍵:一次滾動手冊頁的一行;b:回滾一屏;f:前滾一屏;q:退出man命令;462.4.1 Linux的命令控制界面Linux Shell是一種交互型命令解釋程序,允許用戶編制帶形式參數(shù)的批命令文件。 Linux Shell程序(腳本) Shell程序組成命令或其他Shell程序;位置參數(shù);變量及特殊字符;表達(dá)式比較;控制流語句;函數(shù)。47什么是Shell

20、shell是linux的一個外殼,它包在linux內(nèi)核的外面,為用戶和內(nèi)核之間的交互提供了一個接口。當(dāng)用戶下達(dá)指令給操作系統(tǒng)的時候,實際上是把指令告訴shell,經(jīng)過shell解釋,處理后讓內(nèi)核作出相應(yīng)的動作。而系統(tǒng)的回應(yīng)和輸出的信息也由shell處理,然后顯示在用戶的屏幕上. 482.4.1 Linux的命令控制界面例如:把目錄中的每個文件在一個子目錄中建立備份的Shell程序。 Linux Shell程序舉例mkdir backupFor file in lsDo cp $file backup/$fileif $? -ne 0 then echo “copying $file error

21、” fidone設(shè)置目錄與文件的使用權(quán)限權(quán)限標(biāo)識擁有者組名稱文件與目錄的相關(guān)信息執(zhí)行l(wèi)s l命令后所顯示的結(jié)果。最前面的第2-10個字符用來標(biāo)示權(quán)限;第1個字符用于區(qū)別文件和目錄。d:表示一個目錄。在ext3中,目錄是一種特殊的文件-:表示一個普通文件l:表示符號鏈接文件,實際上它指向另一個文件b、c:分別代表區(qū)塊主設(shè)備和其他的外圍設(shè)備。是特殊類型的文件權(quán)限的意義(1)權(quán)限的意義(2)第210字符中每3個為一組,左邊3個字符表示擁有者權(quán)限,中間3個字符表示與擁有者同一組的用戶權(quán)限,右邊3個字符是其他用戶的權(quán)限。3個組共9個字符,其代表意義如下:r(Read,讀取):對文件而言,用戶具有讀取文件

22、內(nèi)容的權(quán)限;對目錄來說,該用戶具有瀏覽目錄內(nèi)容的權(quán)限。w(Write,寫入):對文件而言,該用戶具有新建、修改文件內(nèi)容的權(quán)限;對目錄來說,該用戶具有刪除、移動目錄內(nèi)文件的權(quán)限。x(execute,執(zhí)行):對文件而言,該用戶具有執(zhí)行文件的權(quán)限;對目錄來說,該用戶具有進(jìn)入目錄的權(quán)限。-:表示不具有該項的權(quán)限。-rwx-:文件擁有者對文件具有讀取、寫入與執(zhí)行的權(quán)限,同組與其他用戶對該文件沒有任何權(quán)限-rwxr-r-:文件擁有者對文件具有讀、寫與執(zhí)行權(quán)限,同組及其他用戶則具有讀取的權(quán)限drwx-x-x:目錄的擁有者具有讀寫與進(jìn)入目錄的權(quán)限,同組及其他用戶只能進(jìn)入該目錄,卻無法讀取任何數(shù)據(jù)。drwx-:

23、除了目錄擁有者具有讀寫與進(jìn)入目錄的權(quán)限,同組與其他用戶對該目錄沒有任何權(quán)限權(quán)限舉例使用數(shù)字法表示權(quán)限數(shù)字說明 0沒有權(quán)限。 1允許執(zhí)行。 2允許寫入。 3允許執(zhí)行和寫入。 4允許讀取。 5允許執(zhí)行和讀取。 6允許寫入和讀取。 7允許執(zhí)行寫入和讀取。 八進(jìn)制 000 = 0 對應(yīng)權(quán)限“-” 001 = 1 對應(yīng)權(quán)限“-x” 010 = 2 對應(yīng)權(quán)限“-w-” 011 = 3 對應(yīng)權(quán)限“-wx” 100 = 4 對應(yīng)權(quán)限“r-” 101 = 5 對應(yīng)權(quán)限“r-x” 110 = 6 對應(yīng)權(quán)限“rw-” 111 = 7 對應(yīng)權(quán)限“rwx”如何計算出來的-rwx-: 等于數(shù)字標(biāo)示700-rwxr-r-:

24、 等于數(shù)字標(biāo)示744-rw-rw-r-x: 等于數(shù)字標(biāo)示665drwx-x-x: 等于數(shù)字標(biāo)示711drwx-: 等于數(shù)字標(biāo)示700-rwxrwxrwx: 等于數(shù)字標(biāo)示777舉例說明如何更改權(quán)限 所有用戶對該文件或目錄的權(quán)限代號為a(all)rwx rwx rwx 其他用戶對該文件或目錄的權(quán)限 代號為o(Other) 同組的用戶對該文件或目錄的權(quán) 限,代號為g(group) 文件或目錄的擁有者所擁有的權(quán) 限,代號為u(User)格式:chmod u g o a. + - = rwx 文件名 + :表示增加權(quán)限 - : 表示刪除權(quán)限 = : 表示分配權(quán)限,同時將原有權(quán)限刪除chmod更改權(quán)限命令

25、roothost root# chmod g+x test 給同組用戶分配執(zhí)行權(quán)限 roothost root# chmod o-rx test給其他用戶刪除讀和執(zhí)行權(quán)限r(nóng)oothost root# chmod u+rwx,g+rwx,o+rwx test給所屬主、同組和其他用戶分配讀、寫和執(zhí)行權(quán)限r(nóng)oothost root# chmod u-rx,g-rx test刪除屬主、同組的讀和執(zhí)行權(quán)限r(nóng)oothost root# chmod a+rwx test給所屬主、同組和其他用戶分配讀、寫和執(zhí)行權(quán)限更改權(quán)限舉例1(文字法)roothost root# chmod 777 test給屬主、同組和

26、其他用戶分配讀、寫和執(zhí)行權(quán)限r(nóng)oothost root# chmod 500 test給屬主用戶分配讀和執(zhí)行的權(quán)限而同組和其他用戶無權(quán)限r(nóng)oothost root# chmod 666 test給屬主、同組及其他用戶分配讀和寫的權(quán)限r(nóng)oothost root# chmod 711 test給屬主分配讀、寫、執(zhí)行權(quán)限,同組和其他用戶分配執(zhí)行權(quán)限更改權(quán)限舉例2(數(shù)字法)執(zhí)行Shell腳本的方式將Shell腳本的權(quán)限設(shè)置為可執(zhí)行,然后在提示符下直接執(zhí)行它。 如果要把Shell腳本直接當(dāng)作命令執(zhí)行,就需要利用命令chmod 將它置為有“執(zhí)行”權(quán)限。例如,$ chmod a+x ex2 “執(zhí)行” She

27、ll腳本。例如: $ ./ex2 612.4.2 Windows的命令控制界面 Windows命令系統(tǒng)信息命令,例如Time,Date,Mem, Driverquery, SystemInfo系統(tǒng)操作命令,例如Shutdown,Runas,Taskkill文件系統(tǒng)命令,例如Copy,Del,Mkdir網(wǎng)絡(luò)通信命令,例如Ping,Netstat,Route Windows命令控制界面(窗口交互和命令解釋)Command1 & Command2Command1 & Command2Command1 | Command2Command1 parameter1; parmeter262顯示磁盤目錄DI

28、R命令功能:顯示磁盤目錄的內(nèi)容。類型:內(nèi)部命令格式:DIR 盤符路徑/P/W使用說明:/P的使用;當(dāng)欲查看的目錄太多,無法在一屏顯示完屏幕會一直往上卷,不容易看清,加上/P參數(shù)后,屏幕上會分面一次顯示23行的文件信息,然后暫停,并提示Press any key to continue/W的使用:加上/W只顯示文件名,至于文件大小及建立的日期和時間則都省略。加上參數(shù)后,每行可以顯示五個文件名。63建立子目錄MD(mkdir)命令功能:創(chuàng)建新的子目錄類型:內(nèi)部命令格式:MD 盤符:路徑名子目錄名使用說明: “盤符”:指定要建立子目錄的磁盤驅(qū)動器字母,若省略,則為當(dāng)前驅(qū)動器; “路徑名”:要建立的子

29、目錄的上級目錄名,若缺省則建在當(dāng)前目錄下。例:(1)在C盤的根目錄下創(chuàng)建名為FOX的子目錄 C:MD FOX (2)在FOX子目錄下再創(chuàng)建USER子目錄。 C:MD FOXUSER64改變當(dāng)前目錄CD命令功能:顯示當(dāng)前目錄類型:內(nèi)部命令格式:CD 盤符:路徑名子目錄名使用說明:如果省略路徑和子目錄名則顯示當(dāng)前目錄;如采用“CD”格式,則退回到根目錄;如采用“CD.”格式則退回到上一級目錄。例:(1)進(jìn)入FOX子目錄下的USER子目錄 C:CD FOXUSER (2)從USER子目錄退回到上一級目錄; C:FOXUSERCD. (3)返回到根目錄。 C:FOXCD65刪除文件DEL命令功能:刪除

30、指定的文件。類型:內(nèi)部命令格式:DEL 盤符:路徑文件名/P使用說明:選用/P參數(shù),系統(tǒng)在刪除前詢問是否真要刪除該文件,若不使用這個參數(shù),則自動刪除;該命令不能刪除屬性為隱含或只讀的文件;在文件名稱中可以使用通配符;若要刪除磁盤上的所有文件(DEL *或DEL ),則會提示:(Arey ou sure?)(你確定嗎?)若回答Y,則進(jìn)行刪除,回答N,則取消此次刪除作業(yè)。66刪除子目錄RD命令功能:從指定的磁盤刪除了目錄。類型:內(nèi)部命令格式:RD 盤符:路徑名子目錄名使用說明:子目錄在刪除前必須是空的,也就是說需要先進(jìn)入該子目錄,使用DEL(刪除文件的命令)將其子目錄下的文件刪空,然后再退回到上一

31、級目錄,用RD命令刪除該了目錄本身;不能刪除根目錄和當(dāng)前目錄。例:要把C盤FOX子目錄下的USER子目錄刪除,操作如下: 第一步:先將USER子目錄下的文件刪空; C:DEL C:FOXUSER*.* 第二步,刪除USER子目錄。 C:RD :FOXUSER67文件復(fù)制COPY命令功能:拷貝一個或多個文件到指定盤上。類型:內(nèi)部命令格式:COPY 源盤路徑源文件名 目標(biāo)盤路徑目標(biāo)文件名使用說明:COPY是文件對文件的方式復(fù)制數(shù)據(jù),復(fù)制前目標(biāo)盤必須已經(jīng)格式化;復(fù)制過程中,目標(biāo)盤上相同文件名稱的舊文件會被源文件取代;復(fù)制文件時,必須先確定目標(biāo)般有足夠的空間,否則會出現(xiàn)insufficient的錯誤信

32、息,提示磁盤空間不夠;68文件復(fù)制COPY命令文件名中允許使用通配舉“*”“?”,可同時復(fù)制多個文件;COPY命令中源文件名必須指出,不可以省略。復(fù)制時,目標(biāo)文件名可以與源文件名相同,稱作“同名拷貝” ,此時目標(biāo)文件名可以省略;復(fù)制時,目標(biāo)文件名也可以與源文件名不相同,稱作“異名拷貝”,此時,目標(biāo)文件名不能省略;利用COPY命令,還可以從鍵盤上輸入數(shù)據(jù)建立文件,格式如下: COPY CON 盤符:路徑文件名復(fù)制時,還可以將幾個文件合并為一個文件,稱為“合并拷貝”,格式如下:COPY 源盤路徑源文件名1+源文件名2目標(biāo)盤路徑目標(biāo)文件名注意:COPY命令的使用格式,源文件名與目標(biāo)文件名之間必須有空

33、格!69顯示文件內(nèi)容TYPE命令功能:顯示ASCII碼文件的內(nèi)容。類型:內(nèi)部命令。格式:TYPE 盤符:路徑文件名使用說明:顯示由ASCII碼組成的文本文件,對.EXE、.COM等為擴展名的文件,其顯示的內(nèi)容是無法閱讀的,沒有實際意義;該命令一次只可以顯示一個文件的內(nèi)容,不能使用通配符;如果文件有擴展名,則必須將擴展名寫上;當(dāng)文件較長,一屏顯示不下時,可以加”|MORE”參數(shù)顯示;MORE為分屏顯示命令,使用些參數(shù)后當(dāng)滿屏?xí)r會暫停,按任意鍵會繼續(xù)顯示。70查看當(dāng)前內(nèi)存狀況MEM命令功能:顯示當(dāng)前內(nèi)存使用的情況類型:外部命令格式:MEM /P使用說明: 選用/P參數(shù)指定當(dāng)輸出超過一屏?xí)r,暫停供用

34、戶查看。712.4.2 Windows的命令控制界面1) 直接在命令行輸入命令 例如: Systeminfo & mem2) 使用批處理 Windows命令使用echo offmkdir testecho hellopause例 exam1.bat:72echo offmem%1/meminfo.txtecho generate meminfo.txt ok!例 exam2.bat:批處理舉例mem73echo offtype %1*.txtecho type ok!例 exam3.bat:echo offmem%1/meminfo.txtecho generate meminfo.txt o

35、k!例 exam2.bat:echo offmkdir testcall exam2.bat testcall exam3.bat testecho hello ok!pause例 exam4.bat:批處理舉例c:exam4generate meminfo.txt ok!testmeminfo.txttype ok!call ok!742.5 系統(tǒng)調(diào)用系統(tǒng)調(diào)用是操作系統(tǒng)提供給編程人員的唯一接口。系統(tǒng)調(diào)用分類 (1) 設(shè)備管理(2) 文件管理(3) 進(jìn)程控制(4) 進(jìn)程通信(5) 存儲管理(6) 線程管理75系統(tǒng)調(diào)用為了保證操作系統(tǒng)不被用戶程序破壞,一般操作系統(tǒng)都不允許用戶程序直接訪問操作系統(tǒng)

36、的系統(tǒng)程序和數(shù)據(jù)。編程人員給定系統(tǒng)調(diào)用名和參數(shù)之后,系統(tǒng)通過一個類似硬件中斷處理的中斷處理機構(gòu)來實現(xiàn)調(diào)用。把這個處理機構(gòu)稱為陷阱處理機構(gòu);把系統(tǒng)調(diào)用引起處理機中斷的指令稱為陷阱指令或訪管指令。76系統(tǒng)調(diào)用的實現(xiàn)過程為執(zhí)行系統(tǒng)調(diào)用命令做好準(zhǔn)備。主要工作是為用戶程序保存處理機現(xiàn)場,并把系統(tǒng)調(diào)用命令的編號等參數(shù)放入指定的存儲單元中。執(zhí)行系統(tǒng)調(diào)用。根據(jù)系統(tǒng)調(diào)用命令的編號,訪問系統(tǒng)調(diào)用入口表,找到相應(yīng)子程序的入口地址,然后轉(zhuǎn)去執(zhí)行。系統(tǒng)調(diào)用命令執(zhí)行后的處理。主要工作是恢復(fù)處理機現(xiàn)場,并把系統(tǒng)調(diào)用的返回參數(shù)送入指定存儲單元,以供用戶程序使用。77系統(tǒng)調(diào)用的處理過程System Call用戶程序系統(tǒng)調(diào)用處理

37、子程序取系統(tǒng)功能號并尋找子程序入口結(jié)束處理恢復(fù)現(xiàn)場入口地址表A0A1AiAn保護(hù)CPU現(xiàn)場系統(tǒng)調(diào)用陷入機構(gòu)陷入指令A(yù)0SUB0SUB1SUBiSUBnA1AiAn78系統(tǒng)調(diào)用與一般過程調(diào)用運行狀態(tài)不同。一般的過程調(diào)用,其調(diào)用和被調(diào)用過程都是用戶程序,它們都運行在同一系統(tǒng)狀態(tài)下;而系統(tǒng)調(diào)用的調(diào)用過程是用戶程序,它運行在用戶態(tài),其被調(diào)用過程是系統(tǒng)過程,運行在系統(tǒng)態(tài)。進(jìn)入方式不同。一般的過程調(diào)用可以直接通過過程調(diào)用語句將控制轉(zhuǎn)移到被調(diào)用過程;而執(zhí)行系統(tǒng)調(diào)用時,由于調(diào)用和被調(diào)用過程處于不同系統(tǒng)狀態(tài),必須通過訪管中斷進(jìn)入。792.6 Linux與Windows的系統(tǒng)調(diào)用 Linux有170個系統(tǒng)調(diào)用,其

38、系統(tǒng)調(diào)用的組成:核心函數(shù):運行在核心態(tài),是實現(xiàn)系統(tǒng)調(diào)用功能的(內(nèi)核)代碼,作為操作系統(tǒng)的核心駐留在內(nèi)存中,是一種共享代碼,用C語言書寫。接口函數(shù):是提供給應(yīng)用程序的API,以庫函數(shù)形式存在Linux的lib.a中,該庫中存放了所有系統(tǒng)調(diào)用的接口函數(shù)的目標(biāo)代碼,用匯編語言書寫。其主要功能是把:系統(tǒng)調(diào)用號、入口參數(shù)地址傳送給相應(yīng)的核心函數(shù),并使用戶態(tài)下運行的應(yīng)用程序陷入核心態(tài)2.6.1 Linux系統(tǒng)調(diào)用802.6.1 Linux系統(tǒng)調(diào)用 Linux的系統(tǒng)調(diào)用號Linux的系統(tǒng)調(diào)用號就是系統(tǒng)調(diào)用入口表中位置的序號,所有系統(tǒng)調(diào)用通過接口函數(shù)將系統(tǒng)調(diào)用號傳給內(nèi)核,內(nèi)核轉(zhuǎn)入系統(tǒng)調(diào)用控制程序再通過調(diào)用號位

39、置來定位核心函數(shù),Linux內(nèi)核的陷入由0 x80(int80h)中斷實現(xiàn) 系統(tǒng)調(diào)用控制程序的主要功能為:取系統(tǒng)調(diào)用號根據(jù)系統(tǒng)調(diào)用號定位核心函數(shù)地址根據(jù)通用寄存器內(nèi)容,從用戶棧中取入口參數(shù)核心函數(shù)執(zhí)行,把結(jié)果返回應(yīng)用程序81Linux系統(tǒng)調(diào)用入口程序entry.s匯編編寫,它包含了系統(tǒng)調(diào)用入口地址表,給出了所有系統(tǒng)調(diào)用核心函數(shù)的名字: ENTRY(sys-call-table) .long SYMBOL-NAME(sys-ni-syscall)0 .long SYMBOL-NAME (sys-exit) 1 .long SYMBOL-NAME (sys-fork)2 .long SYMBOL-

40、NAME (sys-read) 3 .long SYMBOL-NAME (sys-write) 4 .long SYMBOL-NAME (sys-open) 5 .long SYMBOL-NAME(sys-close) 6 .long SYMBOL-NAME (sys-vfork ) 19082Linux系統(tǒng)的系統(tǒng)調(diào)用分類1. 有關(guān)設(shè)備管理的系統(tǒng)調(diào)用2. 有關(guān)文件系統(tǒng)的系統(tǒng)調(diào)用 文件的打開(open)、關(guān)閉(close)、讀(read)寫(write)、創(chuàng)建(creat)和刪除(unlink) 等調(diào)用3. 有關(guān)進(jìn)程控制的系統(tǒng)調(diào)用創(chuàng)建進(jìn)程的調(diào)用fork()、阻塞當(dāng)前執(zhí)行進(jìn)程自己的系統(tǒng)調(diào)用wait

41、()、進(jìn)程自我終止用的exit()、獲得進(jìn)程標(biāo)識符用的getpid()、父進(jìn)程標(biāo)識獲取調(diào)用getppid()、進(jìn)程優(yōu)先級獲取用的getpriority()、改變進(jìn)程優(yōu)先數(shù)用的nice()、發(fā)送和接收信號用的kill()和signal()、暫停當(dāng)前進(jìn)程的執(zhí)行過程的pause()以及管道通信調(diào)用pipe()等。83Linux系統(tǒng)的系統(tǒng)調(diào)用分類4. 有關(guān)進(jìn)程通信的系統(tǒng)調(diào)用進(jìn)程通信用的系統(tǒng)調(diào)用主要包括套接字(socket)的建立、鏈接、控制和刪除;以及進(jìn)程間通信用的消息隊列、共用存儲區(qū)以及有關(guān)同步機制的建立、鏈接、控制和刪除等有關(guān)系統(tǒng)調(diào)用。5. 關(guān)于存儲管理的系統(tǒng)調(diào)用這些系統(tǒng)調(diào)用包括獲取內(nèi)存現(xiàn)有空間大

42、小、檢查內(nèi)存中現(xiàn)有進(jìn)程以及對內(nèi)存區(qū)的保護(hù)和改變堆棧大小等功能。6. 管理用系統(tǒng)調(diào)用例如,設(shè)置和讀取日期和時間,取用戶和主機等的標(biāo)識符等系統(tǒng)調(diào)用。84打開文件open命令open函數(shù)有兩個形式:int open(const char *pathname,int flags)其中pathname是我們要打開的文件名(包含路徑名稱,缺省是認(rèn)為在當(dāng)前路徑下) 。flags是打開文件的方式,可以是下面的一個值或者是幾個值的組合。flags的取值:O_RDONLY:以只讀的方式打開文件O_WRONLY:以只寫的方式打開文件O_RDWR:以讀寫的方式打開文件85打開文件open命令如果flags的值使用了O_CREATE標(biāo)志,那么我們要使用open的第二種形式。 int open(const char *p

溫馨提示

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

最新文檔

評論

0/150

提交評論