PC-DOS操作系統(tǒng)課件_第1頁
PC-DOS操作系統(tǒng)課件_第2頁
PC-DOS操作系統(tǒng)課件_第3頁
PC-DOS操作系統(tǒng)課件_第4頁
PC-DOS操作系統(tǒng)課件_第5頁
已閱讀5頁,還剩64頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

PC-DOS操作系統(tǒng)§1DOS的歷史與發(fā)展表10-1DOS的發(fā)展及其主要性能§2PC-DOS的基本結構PC-DOS的基本結構由四部分組成:引導程式IBMBIO(基本輸入輸出部分)IBMDOS(磁片操作系統(tǒng)部分)COMMAND(命令處理部分)

具體來說,與這四個部分相應的程式的全部(或部分)都存放在DOS軟碟上,這些程式模組是:自舉記錄——引導程式IBMBIOCOM——基本輸入輸出管理模組(以隱式檔的形式存放在盤上)IBMDOSCOM——磁片操作系統(tǒng)模組(以隱式檔的形式存放在盤上)COMMANDCOM——命令處理程式圖10-1PC-DOS層次結構

1.引導程式

該程式模組在FORMAT命令時裝在系統(tǒng)磁片的0道第1扇區(qū)。系統(tǒng)啟動或複位時,首先進入固化的I/O程式ROMBIOS,對系統(tǒng)進行初始化和自測試,然後進入ROMBIOS的BOOT-STRAP(中斷INT19)。如果是系統(tǒng)盤,則讀入引導程式模組;否則,就給出出錯資訊並進入ROMBASIC。

引導程式進入記憶體並被執(zhí)行後,即將系統(tǒng)盤上目錄表內容讀入記憶體。同時,判斷基本輸入輸出程式IBMBIOCOM和磁片操作系統(tǒng)程式IBMDOSCOM兩個檔的位置是否對。正確的位置是IBMBIOCOM在前,IBMDOSCOM緊跟其後。如果程式不對或者不是系統(tǒng)盤,將發(fā)出出錯提示資訊。如一切正常,則轉向執(zhí)行基本輸入輸出IBMBIOCOM程式。2.IBMBIO.COM模組

IBMBIO.COM模組作為ROMBIOS與IBMBIO.COM模組的介面,主要任務是:(1)測定系統(tǒng)中設備的狀態(tài)和進行初始化。(2)具有11個與ROMBIOS的介面程式。(3)設置低序號的中斷向量。(4)完成引導和傳遞控制作用。表10-2中斷向量表3.IBMDOS.COM模組表10-3中斷向量表(1)確定磁片內部工作參數。表10-4

(2)對檔分配表進行初始化。所謂分配表FAT(FileAllocationTable)是供檔分配磁片空間使用的。FAT表的結構很簡單,它由若干個表項所組成。每個表項的位長度有兩種:12位和16位。對於DOS1X和DOS2X版本,取表項長度為12位,而對於DOS3X和DOS40,取表項長度為12位或16位,其值與磁片容量有關(當磁片容量<4087簇時為12位,否則為16位)。

如圖10-2所示,FAT表由長度為12位的若干個表項組成,表頭占兩項共3個位元組,表示磁片規(guī)格的說明,有5種不同規(guī)格:FFFFFFH:雙面,每道8個扇區(qū)FEFFFFH:單面,每道8個扇區(qū)FDFFFFH:雙面,每道9個扇區(qū)FCFFFFH:單面,每道9個扇區(qū)FBFFFFH:硬磁片圖10-2FAT結構形式

表頭中第2、3位元組由系統(tǒng)設置,總是FFFF,按第一個位元組識別磁片規(guī)格。從第三項起記錄盤簇的標記資訊,它的含義是:000:表示該扇區(qū)未使用,並可供使用。FF8~FFF:表示是檔的最後一個盤簇。FF0~FF7:表示保留盤簇。若不是裝配鏈的一部分時,FF7表示是一個壞盤簇,FF8~FFF作為檔結束標誌。

×××:三個任意16進制數,表示檔的下一個盤簇號。檔的第一個盤簇號則存放在檔的目錄中。

(3)為COMMAND.COM模組建立程式段首碼。操作系統(tǒng)規(guī)定,當調入一個外部命令或功能調用EXEC去調用一個程式時,DOS都要為此程式確定其在內存中存放的最低地址,並為它建立一個程式段首碼。表10-5(4)填入20H~3FH類中斷向量。(5)為IBMBIO.COM模組裝入COMMAND.COM提供裝入地址。裝入後,BIO即將控制傳送給COMMAND.COM模組的第1個位元組。4COMMAND.COM命令處理程式(1)在內存中的常駐部分。(2)初始化部分。(3)暫駐部分。(4)指揮DOS把用戶程式裝入記憶體並使它們去控制電腦工作。表10-62.2DOS在磁片上的空間分配PC系統(tǒng)所使用的磁片,無論是軟碟還是硬碟,在盤面上存放DOS都有相似的位置。此DOS區(qū)域有如下形式:§3PC-DOS的啟動引導過程3.1引導程式裝入記憶體及其執(zhí)行過程

它是靠FORMAT固化在軟碟0面0道1扇區(qū)或硬碟1柱面0磁頭1扇區(qū)上,是靠運行ROMBIOS時被裝入記憶體的。詳細地講是這樣:當用戶將機器通電後,即自動進入ROMBIOS的複位指令JMPRESET,其機器指令為EA5BE000F0,然後轉跳到F0000:E05B進行整個開機工作,在完成系統(tǒng)的初始化和一系列自測試工作之後,就調用INT19(BOOT-STRAP),於是引導程式就被裝入記憶體絕對地址0∶7C00處。引導程式被裝入記憶體的意義是實現系統(tǒng)自舉,裝入後將把控制轉到引導程式的執(zhí)行上。圖10-3BOOT-STRAP程式框圖圖10-4引導程式框圖圖10-5PC-DOS2.00啟動引導流程

可以按下列方法建立CONFIG

SYS檔:(1)輸入:COPYCON:CONFIG

SYS(2)配置:譬如BREAK=ON

它為一個程式執(zhí)行任何功能時,使DOS對Ctrl-Break進行開始開啟延長檢驗(省缺值off)FILES=20

可擴展同時打開檔數20個

BUFFERS=5

可擴展緩衝區(qū)到5個

(3)按F6鍵和ENTER鍵,以便結束。

AUTOEXEC.BAT是一個特殊的批命令檔。當啟動或再啟動DOS時,命令處理程式檢索AUTOEXEC

BAT檔,如果該檔出現在DOS盤上,那麼每當啟動DOS時,DOS總是自動地執(zhí)行該檔?!欤次募芾恚?1檔目錄PC-DOS的目錄在0道。每個目錄占32個位元組。在單面盤中,目錄占4個扇區(qū),最多有64個目錄入口;在雙面盤中,目錄為7個扇區(qū),有112個目錄入口。每個目錄的32個位元組定義如下:其中:0~7:檔案名。其中第一個位元組(0位元組)表示本目錄項的狀態(tài)。

00表示本目錄項未使用過。

E5表示被用過,但檔已刪除。

2E表示本目錄已用作一目錄。8~10:檔擴展名(如.COM為命令檔、BA T為批文件、EXE為運行檔等)。11:檔屬性,有下列幾種:

01為只讀檔。

02為秘密檔。在列目錄清單時不出現。

04為系統(tǒng)檔。 08表示在目錄開始的11個位元組為盤標號,而目錄中其他部分不再包含有用資訊。盤標號僅存於根目錄中。10該項定義一個子目錄。20為歸檔位。當檔完成了寫操作並已關閉時,置此值。12~21:保留。

22~23:檔建立時間或最近一次檔修改時間。此兩位元組共16位,按下麵劃分表示小時(hh)、分(mm)和秒(ss):其中:hh、mm均為二進位數,ss是以2s作增量的二進位數。24~25:建立檔或最後一次修改檔的日期。兩字節(jié)共16位,分別表示年(yy)、月(mm)和日(dd):其中:

yy=0~119(1980~2099)

mm=1~12

dd=1~31

26~24:起始簇號。硬碟軟碟數據空間的第一個簇號總是002。28~31:以位元組為單位的檔長度。4.2硬碟上的樹形檔結構

硬碟根目錄下的最大檔數取決於硬碟上DOS所在盤區(qū)的大小。根目錄下除檔外還可含有子目錄,子目錄下又可有檔和子目錄。磁片的根目錄在FORMAT格式化命令時建立。由於軟碟的目錄為一級目錄,所以對檔的訪問非常簡單,直接通過檔案名訪問即可。但對具有樹形檔結構的硬碟來說,要查找一個檔,就必須給出檔的路徑(Path)。

例如,系統(tǒng)工作的當前目錄為David,如需找出David的報表(REPORTS)目錄下的一種名為ANNUAL.FIG的年報。則有兩種查找路徑:(1)從當前目錄David開始。輸入REPORTS\ANNUAL

FIG(2)從根目錄開始。輸入\SALES\DAVID\REPORTS\ANNUAL

FIG

開頭的反斜杠號“\”表示根目錄。從上可見,路徑是由一系列目錄名組成的,目錄名之間用“\”號分開。

例如,當前目錄為David,現需查找Jeanne下的報表SUMMARY。如從根開始,可用\SALES\JEANNE\REPORTS\SUMMARY

如用回溯方法,可用

¨\JEANNE\REPORTS\SUMMARY

左面的“¨”表示從當前目錄David回溯至上一層父目錄DOS還提供有一組關於目錄操作的命令,如:MKDIR(MD)命令:建立新的目錄RMDIR(RD)命令:刪除目錄(沒有檔和子目錄的目錄才能被刪除)

CHDIR(CD)命令:顯示和改變現行目錄TREE命令:顯示整個磁片的目錄結構4.3檔控制塊及檔管理方法圖10-6檔控制塊FCB格式0:驅動器號碼檔打開前

0-隱含的驅動器 1-驅動器A

2-驅動器B檔打開後

1-驅動器A

2-驅動器B

1~8:檔案名。 左對齊,尾補空格。9~11:檔擴展名。12~13:相對於檔開頭的當前塊號。每塊為128個記錄。每記錄長度則由邏輯記錄長度決定。14~15:邏輯記錄長度,以位元組為單位。16~19:檔長度(以位元組計)。20~21:建立檔和最後修改檔的日期:22~31:保留為系統(tǒng)用。

32:當前塊內的當前的相對記錄號(0~127)。 用戶對盤進行順序讀寫操作前,需預置此段。位元組0~15和32~36必須由用戶程式設置,位元組16~31則由DOS設置。下麵,對擴展的檔控制塊FCB作一說明:FCB-7:若為FFH的標誌,表明是擴展的FCB。FCB-6至FCB-2:保留區(qū)。

FCB-1:屬性位元組。如02表示秘密檔、04表示系統(tǒng)檔等等。4.4系統(tǒng)檔表與讀寫操作的實現圖10-7SFT表組的鏈結構圖10-8程式I/O數據結構之間的關係§5設備管理

在DOS中設備管理可對兩個基本類型——字元設備和塊設備進行管理。

DOS設備管理與一些專用數據結構有關,如每個驅動程式都有一個設備表,DOS系統(tǒng)程式就是用此表的資訊去分配和管理設備。每個設備驅動程式都具有三個部分:設備表、策略程式和中斷程式。I/O操作的起始扇區(qū)號的計算公式為:起始扇區(qū)號=(當前簇號-2)×每簇扇區(qū)數+檔數據區(qū)的起始扇區(qū)號§6記憶體管理DOS對640KB的常規(guī)記憶體區(qū)的分配和待分配的記憶體塊是依據記憶體控制塊鏈進行跟蹤管理的。DOS的4個記憶體管理功能調用48H、49H、4AH及58H分別管理記憶體塊申請、記憶體塊釋放、記憶體塊修改和記憶體管理策略設定等操作,它們?yōu)镈OS操作系統(tǒng)和應用程式有效地、充分地使用有限記憶體而服務?!欤愤M程管理圖10-9PSP和與其相應的程式結構圖DOS操作系統(tǒng)可通過EXEC功能調用4BH來實現程式的管理和控制:EXEC可供系統(tǒng)程式或應用程式(稱其為父進程)把另一個程式(稱其為子進程)調入到記憶體中,由父進程決定子進程是否執(zhí)行,並且父進程還能決定子進程被調入到記憶體的位置。當子進程結束之後,控制將返回到父進程?!欤赶到y(tǒng)調用與軟中斷用戶程式使用系統(tǒng)調用命令的一般步驟為:(1)把系統(tǒng)調用編號放入寄存器AH中;(2)把命令要求的調用參數放入有關的寄存器;(3)執(zhí)行軟中斷INT21,啟動相應命令執(zhí)行。

實際上,在20~3FH類這32個中斷向量中,目前DOS只使用了20~27H類這8個向量,其餘由DOS保留作為今後的功能擴展。20~3FH類向量所在的區(qū)域相當於地址80H~FFH。下麵我們只對常用的幾條軟中斷處理作說明:(1)系統(tǒng)功能調用21H已討論過。(2)程式的退出。

①正常退出INT20H。用戶程式執(zhí)行完畢後,可使用這條中斷處理來結束用戶程式,退回操作系統(tǒng)。

②駐留退出INT27H。用於用戶自己寫的中斷處理程式的初始化。用這種方法退出後,留下的程式被PC-DOS視為自身的一部分,不會被其他程式覆蓋。

(3)磁片讀寫。INT25H和INT26H用來讀寫盤上的若干個扇區(qū),這是兩條BIOS調用。必須按下列要求設置參數:

(AL)驅動器號(0=A,1=B,…等)

(CX)讀寫的扇區(qū)數(DX)開始扇區(qū)的邏輯號(0號表示0柱0面1區(qū))

(DS∶BX)記憶體起始地址例如,從雙面盤上讀出目錄的程式如下:MOVAL,0把盤號置為A

MOVCX,7雙面盤根目錄長為7個扇區(qū)MOVDX,5目錄區(qū)從0柱0面6區(qū)開始MOVBX,1000傳送到1000H起的記憶體中去INT25H讀盤

TMP0返回操作系統(tǒng)§9DOS命令9.1DOS命令的格式和類型顯示一個名為TABLE

DAT的指定檔的目錄項:DIRC:\WANG\TABLE

DAT\W

如果以通用的格式表示,可寫為:DIR[d:][path][filename[ext]][/W]命令可分為幾個部分:(1)命令名

(2)驅動器名[d:]:(3)路徑名[path]:(4)檔案名[filename[ext]](5)參數1命令格式的說明d:——表示用戶指定的驅動器。在驅動器符後面跟一個冒號。A和B分別表示第一和第二軟碟驅動器,C為第一個硬碟驅動器。如果省略這個參數,則DOS認為是當前的隱含驅動器。

path——代表目錄名的路徑,[\][dirname][\dirname[…]]。目錄名之間以斜杠分開。第一個斜杠表示由根目錄開始。加入檔案名時,必須加在目錄名路徑的末端。例如:/DIR1\DIR2\FILE。

filename

ext——表示檔案名及其擴展名。

filespec——表示某個指定的檔。包括指定驅動器和指定的檔案名。即[d:]file-name[ext]。

格式中符號的一些說明:(1)上述[]中的項是任選項,如選用這些項時,僅需寫出[]內的參數,無須寫[]本身;(2)由一豎杠隔開的項(例如[ON|OFF])只可輸入豎杠兩邊參數中的一個(ON或OFF),不可兩者均輸入;(3)省略號(…)表示用戶可多次重複同一個專案;(4)可以用大寫或小寫字母,也可以大、小寫混合使用。

2.DOS命令的類型

DOS命令可分為內部命令和外部命令兩大類。內部命令就在DOS內,可以直接識別和執(zhí)行。外部命令和程式檔一樣駐留在磁片上,必須將它從磁片讀出才能執(zhí)行。所以外部命令的磁片必須事先在驅動器內。例如,用戶輸入命令。

B:GRAPHICS

系統(tǒng)將從B驅動器中尋找出GRAPHICS

COM命令檔並加以執(zhí)行。9.2DOS命令舉例

1.DIR(列目錄)命令用途:顯示磁片檔目錄。列出磁片檔目錄中的全部目錄項,或者僅顯示指定檔的目錄項。此外,螢幕上還顯示檔數目、磁片餘下的自由空間、檔長度和日期等資訊。格式:DIR[d:][path][filename[ext]][/P][/W]說明:參數/P表示螢幕滿時顯示暫停。按任一鍵後繼續(xù)顯示。參數/W為寬顯示方式,每行5個檔案名。本參數僅用於80×25字元方式。檔案名中可以使用“?”和“”字元。例1

列出盤上所有的檔(如果考慮寬顯示方式):A>DIR/WVolumeindriveAhasnolabel

DirectoryofA:\

2.ERASE

(刪除檔)命令

用途:在指定驅動器和目錄中刪除檔。格式:ERASE[d:][path][filename[ext]]或DEL[d:][path[filename[ext]]說明:DEL是ERASE的簡記形式。刪除命令是DOS的內部命令。如果不給出驅動器符,就認為是當前隱含的驅動器。如果不指定目錄路徑,則認為是當前的目錄。可以使用和?作為檔案名。系統(tǒng)檔IBMBIO.COM和IBMDOS.COM不能刪除。

3.TREE(顯示樹結構目錄)命令

用途:顯示指定驅動器上所有樹形檔結構的目錄,並有選擇地顯示各子目錄中的檔。格式:TREE[d:][/F]說明:屬外部命令。對每個目錄都給出了從根目錄開始的完整的路徑名。同時給出屬該目錄的所有子目錄。如果使用參數/F,還將顯示出各子目錄中的所有檔。例2

設磁片上樹形檔結構目錄如圖10-10所示。執(zhí)行TREE命令後顯示圖10-10具有路徑的目錄

4.TYPE(列?。┟?/p>

用途:在螢幕上顯示指定檔的內容。格式:TYPE[d:][path]filename[ext]說明:屬內部命令。不給出路徑名,指當前目錄。檔中所有字元,包括控制字元都送螢幕。但CTRL-I或CHR$(9)

均按跳格(8個字元間隔)處理。此命令只列印檔,不能列印目錄??蓪ⅲ綪RN加到命令後把檔在印表機上列印出來?!欤保懊钐幚沓淌紺CP圖10-11CCP在內存分配圖中的位置圖10-12命令處理程式框圖§11CC-DOS與PC-DOS

溫馨提示

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

評論

0/150

提交評論