




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PC-DOS操作系統§1DOS的歷史與發展表10-1DOS的發展及其主要性能§2PC-DOS的基本結構PC-DOS的基本結構由四部分組成:引導程式IBMBIO(基本輸入輸出部分)IBMDOS(磁片操作系統部分)COMMAND(命令處理部分)
具體來說,與這四個部分相應的程式的全部(或部分)都存放在DOS軟碟上,這些程式模組是:自舉記錄——引導程式IBMBIOCOM——基本輸入輸出管理模組(以隱式檔的形式存放在盤上)IBMDOSCOM——磁片操作系統模組(以隱式檔的形式存放在盤上)COMMANDCOM——命令處理程式圖10-1PC-DOS層次結構
1.引導程式
該程式模組在FORMAT命令時裝在系統磁片的0道第1扇區。系統啟動或複位時,首先進入固化的I/O程式ROMBIOS,對系統進行初始化和自測試,然後進入ROMBIOS的BOOT-STRAP(中斷INT19)。如果是系統盤,則讀入引導程式模組;否則,就給出出錯資訊並進入ROMBASIC。
引導程式進入記憶體並被執行後,即將系統盤上目錄表內容讀入記憶體。同時,判斷基本輸入輸出程式IBMBIOCOM和磁片操作系統程式IBMDOSCOM兩個檔的位置是否對。正確的位置是IBMBIOCOM在前,IBMDOSCOM緊跟其後。如果程式不對或者不是系統盤,將發出出錯提示資訊。如一切正常,則轉向執行基本輸入輸出IBMBIOCOM程式。2.IBMBIO.COM模組
IBMBIO.COM模組作為ROMBIOS與IBMBIO.COM模組的介面,主要任務是:(1)測定系統中設備的狀態和進行初始化。(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個位元組,表示磁片規格的說明,有5種不同規格:FFFFFFH:雙面,每道8個扇區FEFFFFH:單面,每道8個扇區FDFFFFH:雙面,每道9個扇區FCFFFFH:單面,每道9個扇區FBFFFFH:硬磁片圖10-2FAT結構形式
表頭中第2、3位元組由系統設置,總是FFFF,按第一個位元組識別磁片規格。從第三項起記錄盤簇的標記資訊,它的含義是:000:表示該扇區未使用,並可供使用。FF8~FFF:表示是檔的最後一個盤簇。FF0~FF7:表示保留盤簇。若不是裝配鏈的一部分時,FF7表示是一個壞盤簇,FF8~FFF作為檔結束標誌。
×××:三個任意16進制數,表示檔的下一個盤簇號。檔的第一個盤簇號則存放在檔的目錄中。
(3)為COMMAND.COM模組建立程式段首碼。操作系統規定,當調入一個外部命令或功能調用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系統所使用的磁片,無論是軟碟還是硬碟,在盤面上存放DOS都有相似的位置。此DOS區域有如下形式:§3PC-DOS的啟動引導過程3.1引導程式裝入記憶體及其執行過程
它是靠FORMAT固化在軟碟0面0道1扇區或硬碟1柱面0磁頭1扇區上,是靠運行ROMBIOS時被裝入記憶體的。詳細地講是這樣:當用戶將機器通電後,即自動進入ROMBIOS的複位指令JMPRESET,其機器指令為EA5BE000F0,然後轉跳到F0000:E05B進行整個開機工作,在完成系統的初始化和一系列自測試工作之後,就調用INT19(BOOT-STRAP),於是引導程式就被裝入記憶體絕對地址0∶7C00處。引導程式被裝入記憶體的意義是實現系統自舉,裝入後將把控制轉到引導程式的執行上。圖10-3BOOT-STRAP程式框圖圖10-4引導程式框圖圖10-5PC-DOS2.00啟動引導流程
可以按下列方法建立CONFIG
SYS檔:(1)輸入:COPYCON:CONFIG
SYS(2)配置:譬如BREAK=ON
它為一個程式執行任何功能時,使DOS對Ctrl-Break進行開始開啟延長檢驗(省缺值off)FILES=20
可擴展同時打開檔數20個
BUFFERS=5
可擴展緩衝區到5個
(3)按F6鍵和ENTER鍵,以便結束。
AUTOEXEC.BAT是一個特殊的批命令檔。當啟動或再啟動DOS時,命令處理程式檢索AUTOEXEC
BAT檔,如果該檔出現在DOS盤上,那麼每當啟動DOS時,DOS總是自動地執行該檔。§4文件管理4.1檔目錄PC-DOS的目錄在0道。每個目錄占32個位元組。在單面盤中,目錄占4個扇區,最多有64個目錄入口;在雙面盤中,目錄為7個扇區,有112個目錄入口。每個目錄的32個位元組定義如下:其中:0~7:檔案名。其中第一個位元組(0位元組)表示本目錄項的狀態。
00表示本目錄項未使用過。
E5表示被用過,但檔已刪除。
2E表示本目錄已用作一目錄。8~10:檔擴展名(如.COM為命令檔、BA T為批文件、EXE為運行檔等)。11:檔屬性,有下列幾種:
01為只讀檔。
02為秘密檔。在列目錄清單時不出現。
04為系統檔。 08表示在目錄開始的11個位元組為盤標號,而目錄中其他部分不再包含有用資訊。盤標號僅存於根目錄中。10該項定義一個子目錄。20為歸檔位。當檔完成了寫操作並已關閉時,置此值。12~21:保留。
22~23:檔建立時間或最近一次檔修改時間。此兩位元組共16位,按下麵劃分表示小時(hh)、分(mm)和秒(ss):其中:hh、mm均為二進位數,ss是以2s作增量的二進位數。24~25:建立檔或最後一次修改檔的日期。兩字節共16位,分別表示年(yy)、月(mm)和日(dd):其中:
yy=0~119(1980~2099)
mm=1~12
dd=1~31
26~24:起始簇號。硬碟軟碟數據空間的第一個簇號總是002。28~31:以位元組為單位的檔長度。4.2硬碟上的樹形檔結構
硬碟根目錄下的最大檔數取決於硬碟上DOS所在盤區的大小。根目錄下除檔外還可含有子目錄,子目錄下又可有檔和子目錄。磁片的根目錄在FORMAT格式化命令時建立。由於軟碟的目錄為一級目錄,所以對檔的訪問非常簡單,直接通過檔案名訪問即可。但對具有樹形檔結構的硬碟來說,要查找一個檔,就必須給出檔的路徑(Path)。
例如,系統工作的當前目錄為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:保留為系統用。
32:當前塊內的當前的相對記錄號(0~127)。 用戶對盤進行順序讀寫操作前,需預置此段。位元組0~15和32~36必須由用戶程式設置,位元組16~31則由DOS設置。下麵,對擴展的檔控制塊FCB作一說明:FCB-7:若為FFH的標誌,表明是擴展的FCB。FCB-6至FCB-2:保留區。
FCB-1:屬性位元組。如02表示秘密檔、04表示系統檔等等。4.4系統檔表與讀寫操作的實現圖10-7SFT表組的鏈結構圖10-8程式I/O數據結構之間的關係§5設備管理
在DOS中設備管理可對兩個基本類型——字元設備和塊設備進行管理。
DOS設備管理與一些專用數據結構有關,如每個驅動程式都有一個設備表,DOS系統程式就是用此表的資訊去分配和管理設備。每個設備驅動程式都具有三個部分:設備表、策略程式和中斷程式。I/O操作的起始扇區號的計算公式為:起始扇區號=(當前簇號-2)×每簇扇區數+檔數據區的起始扇區號§6記憶體管理DOS對640KB的常規記憶體區的分配和待分配的記憶體塊是依據記憶體控制塊鏈進行跟蹤管理的。DOS的4個記憶體管理功能調用48H、49H、4AH及58H分別管理記憶體塊申請、記憶體塊釋放、記憶體塊修改和記憶體管理策略設定等操作,它們為DOS操作系統和應用程式有效地、充分地使用有限記憶體而服務。§7進程管理圖10-9PSP和與其相應的程式結構圖DOS操作系統可通過EXEC功能調用4BH來實現程式的管理和控制:EXEC可供系統程式或應用程式(稱其為父進程)把另一個程式(稱其為子進程)調入到記憶體中,由父進程決定子進程是否執行,並且父進程還能決定子進程被調入到記憶體的位置。當子進程結束之後,控制將返回到父進程。§8系統調用與軟中斷用戶程式使用系統調用命令的一般步驟為:(1)把系統調用編號放入寄存器AH中;(2)把命令要求的調用參數放入有關的寄存器;(3)執行軟中斷INT21,啟動相應命令執行。
實際上,在20~3FH類這32個中斷向量中,目前DOS只使用了20~27H類這8個向量,其餘由DOS保留作為今後的功能擴展。20~3FH類向量所在的區域相當於地址80H~FFH。下麵我們只對常用的幾條軟中斷處理作說明:(1)系統功能調用21H已討論過。(2)程式的退出。
①正常退出INT20H。用戶程式執行完畢後,可使用這條中斷處理來結束用戶程式,退回操作系統。
②駐留退出INT27H。用於用戶自己寫的中斷處理程式的初始化。用這種方法退出後,留下的程式被PC-DOS視為自身的一部分,不會被其他程式覆蓋。
(3)磁片讀寫。INT25H和INT26H用來讀寫盤上的若干個扇區,這是兩條BIOS調用。必須按下列要求設置參數:
(AL)驅動器號(0=A,1=B,…等)
(CX)讀寫的扇區數(DX)開始扇區的邏輯號(0號表示0柱0面1區)
(DS∶BX)記憶體起始地址例如,從雙面盤上讀出目錄的程式如下:MOVAL,0把盤號置為A
MOVCX,7雙面盤根目錄長為7個扇區MOVDX,5目錄區從0柱0面6區開始MOVBX,1000傳送到1000H起的記憶體中去INT25H讀盤
TMP0返回操作系統§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內,可以直接識別和執行。外部命令和程式檔一樣駐留在磁片上,必須將它從磁片讀出才能執行。所以外部命令的磁片必須事先在驅動器內。例如,用戶輸入命令。
B:GRAPHICS
系統將從B驅動器中尋找出GRAPHICS
COM命令檔並加以執行。9.2DOS命令舉例
1.DIR(列目錄)命令用途:顯示磁片檔目錄。列出磁片檔目錄中的全部目錄項,或者僅顯示指定檔的目錄項。此外,螢幕上還顯示檔數目、磁片餘下的自由空間、檔長度和日期等資訊。格式:DIR[d:][path][filename[ext]][/P][/W]說明:參數/P表示螢幕滿時顯示暫停。按任一鍵後繼續顯示。參數/W為寬顯示方式,每行5個檔案名。本參數僅用於80×25字元方式。檔案名中可以使用“?”和“”字元。例1
列出盤上所有的檔(如果考慮寬顯示方式):A>DIR/WVolumeindriveAhasnolabel
DirectoryofA:\
2.ERASE
(刪除檔)命令
用途:在指定驅動器和目錄中刪除檔。格式:ERASE[d:][path][filename[ext]]或DEL[d:][path[filename[ext]]說明:DEL是ERASE的簡記形式。刪除命令是DOS的內部命令。如果不給出驅動器符,就認為是當前隱含的驅動器。如果不指定目錄路徑,則認為是當前的目錄。可以使用和?作為檔案名。系統檔IBMBIO.COM和IBMDOS.COM不能刪除。
3.TREE(顯示樹結構目錄)命令
用途:顯示指定驅動器上所有樹形檔結構的目錄,並有選擇地顯示各子目錄中的檔。格式:TREE[d:][/F]說明:屬外部命令。對每個目錄都給出了從根目錄開始的完整的路徑名。同時給出屬該目錄的所有子目錄。如果使用參數/F,還將顯示出各子目錄中的所有檔。例2
設磁片上樹形檔結構目錄如圖10-10所示。執行TREE命令後顯示圖10-10具有路徑的目錄
4.TYPE(列印)命令
用途:在螢幕上顯示指定檔的內容。格式:TYPE[d:][path]filename[ext]說明:屬內部命令。不給出路徑名,指當前目錄。檔中所有字元,包括控制字元都送螢幕。但CTRL-I或CHR$(9)
均按跳格(8個字元間隔)處理。此命令只列印檔,不能列印目錄。可將>PRN加到命令後把檔在印表機上列印出來。§10命令處理程式CCP圖10-11CCP在內存分配圖中的位置圖10-12命令處理程式框圖§11CC-DOS與PC-DOS
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度江苏省二级建造师之二建矿业工程实务考试题库
- 电气模拟面试题及答案
- 地狱级别面试题及答案
- 广东钳工考试题及答案
- 会籍顾问面试题及答案
- 海洋地理考试题库及答案
- T/CAEPI 60-2023工业固体废物资源环境属性评价指南
- 初中语文继续教育培训心得体会模版
- 婚前贷款提前还款协议书
- 企业员工外出培训协议书
- 水利工程安全生产培训
- 全国爱眼日科学用眼预防近视9
- 2025 年上海社区工作人员招聘考试模拟卷
- 2025年医疗器械全国总策划代理协议书
- 《数据网组建与维护》课件-8.1任务1 WLAN基本配置
- 9.2 法律保障生活课件(共13张)-2024-2025学年统编版道德与法治七年级下册
- 《装备测试性工作要求GJB 2547B-2024》知识培训
- 形势与政策(2025春)超星尔雅学习通答案满分章节测试
- 外科学-上肢骨、关节损伤
- 单片机原理及应用知到智慧树章节测试课后答案2024年秋温州医科大学
- 《宁静住宅评价标准》
评论
0/150
提交评论