+Hệ Điều Hành sv cong nghe thuc pham PHAN2 tài liệu, giáo án, bài giảng , luận văn, luận án, đồ án, bài tập lớn về tất c...
1.0 mục 8/ 1981 160 K CP/M tơng thích, trì th 1.1 10/1982 320 53 K Gièng nh 1.0 2.0 3/1983 360 K Hé trì ®Üa cøng, giống UNIX 2.1 11/1983 Phần II hệ điều hànhGiao MS-DOS nt diện với PC Jr Chơng I Hệ điều hànhntMS-DOS qu¶n lý ng tƯp 2.11 3/1984 Hé trì cho êi dùng toàm giới 1.1 : Hệ điều 1.2 hành sản phẩm hãng 3.0Mổ đầu 8/1984 M MS-DOS Hộ trỡlàPC/AT Microsoft, phiên đợc thức đa 3.1 11/1984 nt cđa MS-DOS Hé trì m¹ng 3.2 vào tháng1/1986 năm 1981, 720 sauK DOS không ngừng đợc phát 3.5 inch đĩa mềm, hộ trỡ IBM tokenring triển cải tiến, Bảng 1-1 số mốc thời gian sơ 4/1987các phiên1.44 M khác Tơng thích PS/2 Các phiên lợc3.3 tính DOS điều hànhntđợc cải tiến phiên trớc 4.0sau hệ 7/1988 Hộhơn trỡ đĩa cứng 32 Mbản trở lên, DOS shell Phần cải tiến chủ yếu bổ sung dịch vụ vào/ra 5.0 4/1991 2.88 M Hé trì qu¶n lý bé nhí më réng Đồng thời tăng thêm chức khác, chức đợc bảo đảm thủ tục độc lập ( tệp chơng trình riêng - lệnh ) Version date diskette giải Hình 1-1 Sơ lợc lợc số phiên DOS 2.1 Cấu trúc vËt lý cđa ®Üa 54 Track Track - Các loại đĩa (cả đĩa cứng đĩa mềm) dựa vào tợng từ hoá để lu liệu Đầu từ đọc ghi từ hoá phần tử cực nhỏ bề mặt, phần tử di chuyển qua đầu từ bị từ hoá Mỗi đĩa từ ®Ịu cã cÊu tróc vËt lý vµ cÊu tróc logic Track (Rãnh): Mỗi track hình tròn Đĩa từ đợc chia thành Track đồng tâm Hình 1-2 Side (Mặt) : Bất kỳ đĩa mềm có mặt đợc đánh số mặt mặt 1, hình 1-2 Hình 1-2 Cylinder : Đĩa từ chia thành rãnh Một cặp track đối xứng mặt gọi Cylinder Track đợc đánh số track 0, track mặt nằm track 0, mặt (side) 0, track mặt dới track 0, mặt Track gọi chung Cylinder Đối với đĩa mềm 360Kb có 40 track đợc đánh số từ đến 39 Đĩa 1.2Mb có 80 track đánh số từ đến 79 Đối với đĩa cứng, mô hình đơn giản đĩa mềm đợc xếp chồng song song với thành hình trụ Đĩa side 0, mặt dới mặt 1, đĩa thứ có mặt lần lợt v.v Tập hợp Track đợc gọi Cylinder 0, tập track gọi cylinder 1, v.v, cilinder cũn đợc đánh só, tất nhiên số đầu đọc ( head ) tăng lên theo số mặt thờng sô chẵn, số đầu đọc đợc đánh số 0, hình 1-3 Khối lợng liệu Track đĩa cứng 55 thay đổi tuỳ thuộc máy, nhiên thờng từ 8Kb đến 12Kb track Head Cilinder Cilinder Head H×nh 1-2 Sector : Cấu trúc đĩa cứng Mặc dù đọc/ghi liệu đĩa lúc track (8 đến 12 Kb), nhng thực tế ngời ta không giám dùng đến khối lợng liệu nh Bộ điều khiển thờng đợc thiết kế để đọc ghi lần phân đoạn Track Số byte phân đoạn đợc gọi cung (Sector) phụ thuộc vào phần cứng điều khiển đĩa hệ điều hành Thông thờng kích thớc 128, 256, 512 1024 byte Đối với MS-DOS, kích thớc đợc chọn 512 byte cho Sector cho tất loại đĩa Ví dụ: Đối với đĩa mềm 360Kb có Sector track, điều ta có dung lợng là: 40x2x9x512 byte = 360 Kb Khi đó, để xác định đợc Sector liệu cần đọc/ghi cần phải biết: + Track + Mặt + Số số hiệu sector track Đánh địa Sector : Địa Sector đợc mã hoá thành liệu đợc gắn vào trớc Sector, Sector 56 đợc đánh số xung quanh track 0, nên địa đơn giản số nguyên không âm liên tiếp xung quanh track Quá trình ghi địa Sector đợc thực Format đĩa Format vật lý : Quá trình ghi toàn địa Sector, thông tin khác vào phần đầu Sector đợc gọi Format vật lý hay Format cấp thấp việc đợc thực phần cứng điều khiển đĩa, trình Format, phầm mềm bắt điều khiển đĩa tiến hành Format với thông số kích thớc Sector, công việc lại tự điều khiển đĩa phải làm Format vật lý phải đợc thực trớc đĩa đợc đa vào sử dụng 1.2 Cấu trúc logic Mỗi hệ điều hành cần thiết phải tổ chức cho vài cấu trúc giúp cho việc kiểm soát đĩa đợc nhanh chóng xác, cho biết phần dùng để chứa liệu, phần trống v.v Cách ghi nhớ cấu trúc nh lên đĩa đợc gọi Format logic đĩa Đối với MS-DOS loại đĩa DOS tổ chức đĩa thành phần sau: BootSector, bảng FAT ( File Allocation Table ), th mơc gèc (Root Directory) vµ phần liệu ( ba phần đầu đợc gọi vùng hệ thống) Trên đĩa cứng, với dung lợng lớn, chia thành phần khác đợc gọi Partition, phải thêm phần thứ năm bảng phân vùng (Partition Table), thông tin bảng phân vùng đợc chứa sector ổ đĩa cứng Bây xét cụ thể thông tin chứa phần cấu trúc logic ổ đĩa, thông tin nµy DOS cÊu tróc lÊy thùc hiƯn format logic ổ đĩa từ DOS dựa vào thông tin thiết lập để quản lý hệ thống tệp 57 Cấu trúc BootSector : Đối với đĩa mềm, BootSector chiếm Sector track 0, mặt đĩa Offset size ( byte ) Nội dung thông tin JMP xxxx, lệnh nhảy đến đoạn mã boot Tên công ty hay phiên hệ điều hành 0Bh Số bytes / sector - bắt đầu bảng BPB 0Dh Số sector / cluster 0Ch sè sector giµnh cho bootsector 10h số bảng FAT 11h số đầu vào tèi ®a cho th mơc 13h tỉng sè sector đĩa ( hay partition ) ký hiệu dạng ®Üa ( F0 - ®Üa mÒm; F8 - ®Üa 15h cøng ) 16h sè sector cho FAT - kÕt thóc BPB 18h sè sector / track 1Ah số nặt đĩa ( số đầu đọc ) 1Ch số sector bị che Hình 1-3 Các th«ng tin bootsector ( tõ DOS 3.xx vỊ tríc ) Đối với đĩa cứng vị trí Partition Table Sau m¸y tÝnh thùc hiƯn xong qu¸ trình test BIOS thông tin BootSector đợc đa vào địa 0:07C00h quyền điều khiển đợc trao lại cho đoạn mã nằm BootSector, đoạn mã có nhiệm vụ tải file hệ thống vào có Ngoài ra, BootSector chứa bảng tham số quan trọng đến cấu trúc đĩa, bảng đợc ghi vào trình Format logic đĩa đĩa đĩa Boot đợc Trong hình 1-3 cấu trúc bảng tham số đĩa BPB (BIOS Parameter Block), bảng tham số 58 offset 0B BootSector Đối với DOS 4.xx số lợng Sector quản lý đợc không nằm giới hạn byte, giá trị offset 13h trở nên chật hẹp Bắt đầu từ DOS 4.xx, cấu trúc bảng có sửa đổi bổ sung nhỏ, không làm cấu trúc trớc đó, hình 1-3 b Đoạn mã cho BootSector chiếm Sector, nghĩa có 512 byte, trừ bảng tham số BPB, phần lại cho chơng trình tự boot làm việc Vì đoạn mã dới DOS làm công việc sau đây: - Thay bảng tham số đĩa mềm (ngắt 1Eh) - Định vị đọc Sector Boot vào địa 0:0500h - Dò tìm đọc file hệ thống IO.SYS MSDOS.SYS, để nạp chúng vào nhớ trao quyền điều khiển cho file này, đĩa đĩa hệ thống Offset size ( bytes ) 1Ch 20h Néi dung th«ng tin số bytes bị che ( điều chỉnh lên 32 bit ) tổng số sector đĩa ( offset 13h = ) 24h cøng ) 25h 26h ký hiệu nhận diện DOS ( giá trị = 26 ) 27h serial number cđa ỉ ®Üa 2Bh 13 volume label cđa ®Üa 36h cha dïng 3Eh ? sè hiƯu ỉ ®Üa vËt lý ( - đĩa mềm; 80 - đĩa cha dùng đầu đoạn mã chơng trình Hình 1-3 b thông tin sửa ®ỉi bootsector tõ DOS 4.xx 59 CÊu tróc FAT ( File Allocation Table ) : Đây mét hai cÊu tróc quan träng nhÊt (cÊu tróc thứ hai Root) mà DOS khởi tạo trình Format logic đĩa Cấu trúc dùng để quản lý File đĩa nh cho biết Sector chứa liệu Sector hỏng, sector trống, mức DOS đa số khái niệm a) Liên cung ( Cluster ) : Khi đĩa đợc Format logic, đơn vị nhỏ đĩa mà DOS quản lý đợc Sector Nh DOS quản lý Sector một, xem đợc cấp phát hay cha, nhiên với đĩa có dung lợng lớn (thờng với đĩa cứng) số Sector lớn quản lý theo cách mà thay vào DOS đa khái niệm liên cung: tổng hợp nhiều Sector, thay phải quản lý nhiều Sector DOS quản lý Cluster Số lợng Cluster giảm nhiều ta tăng số lợng Sector cho Cluster b) Khái niệm FAT : Vấn đề phức tạp then chốt việc quản lý File đĩa quản lý đợc thay đổi kích thức File Đây điều tất nhiên làm việc với máy tính đòi hỏi ta phải truy xuất đến File đĩa Xét ví dụ sau: Giả sử có File có kích thớc 2250 byte đợc lu đĩa có dung lợng 1.44Mb (đối với loại đĩa Sector Cluster) ta cần phải dùng đến Cluster để chứa File Cluster đầu chứa 512x4=2048 byte Cluster thứ chứa 2250-2048=202 byte ( ghi khối nhỏ sector ) Giả sử có File thứ hai đợc ghi lên Sector kế đó, vấn đề đặt lµ lµm thÕ nµo ta mn bỉ sung 260 byte vào File đầu? Rõ ràng ta bỉ sung vµo Sector ci File ( Sector thø 5) sector 512202=310 byte Nh d 640-310=150 bytes mà phải để vào đâu Không thể ghi vào Sector tiếp 60 theo Sector dùng cho file thứ Cách giải tởng chừng nh đơn giản dời File thứ xuống toàn Sector, nhiên phơng pháp tối u File thứ chiến đến 1Mb, để ghi thêm 150 byte mà phải cần chuyển 1Mb tốn kém, không cần thiết Phơng pháp tối u đợc DOS đề nghị dùng bảng lu trạng thái Sector (FAT) cho phép DOS biết đợc Sector cấp phát, saector trống, sector hỏng, dễ tìm đợc Sector trống để phân bố cho File Tuy nhiên để quản lý Sector nh cần nhiều byte cho FAT Ví dụ: Với đĩa mềm 1.44 Mb cần 18 Sector Nếu Sector cần đến byte quản lý cần khoảng 2x18Kb = 36Kb cho FAT Với đĩa cứng có dung lợng 32Mb có khoảng 32M/512 byte = 64 Kb Sector Nếu Sector cần đến byte quản lý 2x64=128 Kb cho bảng FAT Nếu byte quản lý Sector quản lý đợc 65536 Sector Nếu đĩa cứng có dung lợng lớn số Sector lớn ( tức phải dùng lớn byte quản lý Sector ), nh FAT lớn Mặt khác truy nhập liệu, phần lớn FAT đợc tải vào nhớ trong, kích thớc lớn FAT làm giảm tốc độ truy nhập chiếm nhiều không gian nhớ Đây lý mà DOS đa khái niệm Cluster nhằm giảm bớt kích thớc đáng kể FAT, số Sector/1 Cluster thay đổi tuỳ thuộc vào dung lợng đĩa cho quản lý tối u nhất, ®èi víi ®Üa cøng thêng la hc Sector/1 Cluster c) Đánh số Sector - Cluster : Để truy nhập đợc Sector đĩa cần phải có ba thông số: số hiệu cylinder, số hiệu head số hiệu sector Sector Vì thông số đợc DOS đánh số: 61 - Sector : Đánh số Sector lần lợt 1: Sector 1, track 0, head hết số Sector track Tất Sector track đợc đánh sè tn tù tríc chun sang track kÕ tiÕp Việc đánh số thực chất nhằm tối u việc di chuyển đầu đọc đĩa Khi hết Sector track chuyển sáng track Cách đánh số nh gọi đánh số Sector logic khác với đánh số sector vật lý, sector vật ký bắt đầu đếm từ Cũng nh sector cylinder đợc đánh số hết chuyển sang cylinder 1, v.v - Khi Sector đợc đánh số, Cluster đợc đánh số theo FAT quản lý Cluster phần chứa liệu, Cluster đợc bắt đầu đánh số từ Sector phần liệu Nếu đĩa đợc quy định Sector cho Cluster Sector phần liệu ( phần bắt đâù sau th mục gốc ) đợc đánh số 2, Sector hết Nh việc đánh số Cluster Do ®ã nÕu ®Üa cã 15230 Cluster cho phần liệu Sector cuối đĩa đợc đánh số 15231 d) Nội dung FAT : Mỗi Cluster đĩa đợc DOS quản lý entry (đầu vào) Hai entry đợc dùng đề chứa thông tin đặc biệt : byte nhận dạng ( lý Cluster đợc đánh số từ ), entry thø chøa th«ng tin vỊ Cluster thø 2, vµ cø thÕ tiÕp tơc nh thÕ cho ®Õn hÕt Khi Format logic ®Üa, x©y dùng FAT, DOS lần lợt tiến hành đọc Sector, gặp lỗi ứng với Cluster Cluster đợc đánh dấu hỏng Vấn đề đặt là: Khi quản lý File, DOS biết Cluster File nào? Điều đợc thực đơn giản nh sau: giá trị entry Cluster chứa giá trị số thứ tự entry file thế, Cluster File tạo thành 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 00 00 00 FF 62 03 04 05 FF 00 00 09 0A 0B 15 00 00 00 chuỗi (chain) gặp dấu hiệu kết thóc file 1-4 10 00 00 H×nh 00 00 16Minh 17 ho¹ 19 vỊ F7 chain 1A 1B FF FAT 00 00 00 00 00 Tuú theo kÝch thíc entry 12 hay 16 bit, giá trị Cluster biến thiên theo giá trị FAT Các phần tử FAT chứa giá trị tơng øng nh sau: (0)000 - Cluster cßn trèng, cã thĨ dùng đợc (0) 002- (F)FEF - Cluster chứa liệu file đó, giá trị sè Cluster kÕ tiÕp chain (F)FF0 - phÇn tư thứ FAT giành riêng, chứa thông tin vỊ ỉ ®Üa : F0 - ®Üa mỊm 1.44 MB; F9 - ®Üa mỊm 1.2 MB; FD - ®Üa mềm 360 Kb; F8 - đĩa cứng (F)FFF - phần tư thø cđa FAT cha dïng; (F)FF7 - Cluster háng (F)FF8 - (F)FFF - Lµ Cluster ci cïng cđa chain file Sau ví dụ minh hoạ chain FAT, hình 1-4 Entry đợc dành cho byte nhận diện, giá trị Cluster trỏ đến Cluster 3, Cluster trá ®Õn Cluster 4, Cluster trá ®Õn Cluster vµ Cluster = FF cho biÕt lµ ë cuèi File, vµ nh vËy cã mét chain cđa mét file cluster đến cluster thứ Cluster vµ Cluster = cho biÕt Cluster cha dùng tới, cấp phát cần Cluster 18h = F7 cho biết đánh dấu hỏng Tuy nhiên lại xuất câu hỏi làm xác định Cluster bắt đầu File (cũng đầu vào mét chain ), vµ kÝch thíc 86 SecBoot,SecTrack,SecClus,SecFat,SecSize,HideSec:Longint; { -} Function HEX(gt:Word):String; Var H,st,st1:String; i,l,du:Byte; Begin H:='0123456789ABCDEF'; If gtNumHead-1 then Begin Head:=0; Cyl:=Cyl+1; End; Doc_Sec(Drv,Sec,Head,Cyl,Buf); For i:=0 to 511 Begin If ((i mod 32)=0) then If (Buf[i-32]0)and(Buf[i-32]$E5) then Begin For i1:=0 to write(chr(Buf[i-32+i1])); {In ten file} write(' ':4); attr:=Buf[i-32+11] and $10; {Lay thuoc tinh cua thu muc} If attr=0 then Begin For i1:=8 to 10 Write(Chr(Buf[i-32+i1])); write(' ':6); Total:=GTHEX(Hex(Buf[i-32+$1F])+Hex(Buf[i-32+$1E]) +Hex(Buf[i-32+$1D])+Hex(Buf[i-32+$1C])); writeln(Total); End 90 else writeln(''); End; End; Sec:=Sec+1; j:=j+1; End; Readln; End; { -} Trong chơng trình bày số khái niệm mà hệ điều hành MS-DOS sử dụng để quản lý hệ thống tệp, th mục ổ đĩa từ Chơng III tệp autoexec.bat tệp config.sys 3.1 Tệp đuôi bat Tệp đuôi bat ( sau ta gọi ngắn gọn tệp bat ): Tệp bat tệp văn chứa lệnh MS-DOS, đợc soạn thảo vào với nguyên tắc dòng lệnh Để soạn thảo tƯp bat ta cã thĨ dïng lƯnh COPY CON hc trình soạn thảo Khi cho thực tệp ( cách gọi tên tệp ấn ENTER ), lệnh tệp bat đợc thực theo thứ tự từ xuống tự động V× thÕ ngêi ta thêng gép mét nhãm lƯnh hay dùng nhóm lệnh lặp lại nhiều lần vào tệp bat để thực chúng cách gọi tên tƯp bat, xư lý nh vËy ngêi ta thêng gäi lµ xư lý bat ( batch ) hay xư lý theo l« VÝ dơ ta mn in nÐn mét tƯp văn có tên DANHSACH.TXT ta phải thực c¸c lƯnh: C:\> MODE LPT1 : 132 * nÐn 132 ký tù mét dßng C:|> TYPE DANHSACH.TXT LPT1 C:\> MODE LPT1 : 80 * In tƯp m¸y in * trả dạng in bình thờng Ta gộp lệnh vào tệp bat có tên lµ IN132.BAT víi néi dung nh sau: C:\> COPY CON IN132.BAT 91 MODE LPT1 : 132 ↵ TYPE DANHSACH.TXT > LPT1 ↵ MODE LPT1 : 80 ↵ F6 ↵ Thùc hiƯn tƯp bat : C:\> IN132 ↵ Chó ý thực tệp bat phải thực th mục chứa phải để ổ đĩa không đợc rút tệp bat chứa đĩa mềm Muốn dõng thùc hiƯn tƯp bat ta Ên phÝm CTRL+C hc CTRL+BREAK Tên tệp bat buộc phải có đuôi phải đuôi bat Các tham số thay đợc tệp bat : Việc đa tham số vào tệp bat để tăng tính linh hoạt tệp bat Các tham số đợc ký hiệu %1, %2, %3, , %9 Ví dụ để tệp IN132.BAT in đựơc mét tƯp bÊt kú ta sưa l¹i néi dung cđa nã nh sau: MODE LPT1 : 132 ↵ TYPE %1 > LPT1 ↵ MODE LPT1 : 80 ↵ Tham sè %1 tham số hình thức thay đợc b»ng c¸c tham sè thùc, vÝ dơ dïng tƯp bat để in tệp THU.TXT ta gọi tệp bat IN123.BAT nh sau C:\> IN132 THU.TXT ↵ Khi thùc hiÖn tham số %1 tệp bat IN132.BAT đợc thay tệp THU.TXT tệp văn THU.TXT đợc in máy in dạng nén 132 ký tự dòng Chúng ta kết hợp tham số mét tƯp bat VÝ dơ ta mn in hc cã thể 92 muốn đa hình tệp văn ta sử lại nội dung tệp bat IN132.BAT nh sau: MODE LPT1 : 132 ↵ COPY %1 %2 ↵ MODE LPT1 : 80 ↵ Ta thùc hiÖn tƯp bat : C:\> IN132 THU.TXT CON ↵ lóc nµy THU.TXT thay cho tham sè %1 cßn CON thay cho tham số %2 tệp THU.TXT đợc đa hình Tạo thực đơn : Chúng ta tạo thực đơn lựa chọn c¸ch dïng tƯp bat VÝ dơ chóng ta cã thĨ tạo thực đơn để lựa chọn khả : Chon khởi động FOXPRO; chọn khëi ®éng PASCAL, chon Khëi ®éng C, (víi ®iỊu kiện phần mềm có ổ C th mục tơng ứng FOX, TP, TPC ) Chúng ta tạo tệp bat có tên THUCDON.BAT có nội dung nh sau: C:\> COPY CON THUCDON.BAT @ ECHO OFF ECHO FOXPRO ECHO PASCAL ECHO TURBO C ECHO TRO VE DOS Prompt chon - roi an ENTER: T¹i th mơc gèc ỉ C : ta soạn tiếp tệp bat nh sau Tệp 1.BAT cã néi dung nh sau CD FOX FOXPRO 93 CD\ THUCDON TÖp 2.BAT cã néi dung nh sau: CD TP TURBO CD\ THUCDON TÖp 3.BAT cã néi dung nh sau: CD TPC TURBO CD\ THUCDON TÖp 4.BAT cã néi dung nh sau Prompt $P$G C¸c lƯnh thêng dïng tệp bat a) Lệnh REM : đa thông báo xoá tạm thời lệnh - REM Thông báo - REM Lệnh b) Lệnh ECHO ON/OF : Hiện thị hặc không thị câu lệnh kết câu lệnh hình Có thể dùng ECHO để thông báo Để đặt ECHO ON/OF đa vào đầu tệp bat câu lệnh @ECHO ON @ECHO OFF c) Lệnh PAUSE : lệnh tạm dừng chê Ên phÝm bÊt kú ®Ĩ tiÕp tơc (Preess any key to continue) thêng dïng víi ECHO vµ REM VÝ dụ tạo tệp bat có tên XOA.BAT để xoá 94 tệp ấn phím không muốn xoá ấn CTRL+BREAK Néi dung tƯp bat ®ã nh sau: @ ECHO OFF DIR %1 ECHO đồng ý án phím bất kú ECHO Nªu khong muon xoa an CTRL+BREAK PAUSE DEL %1 B©y giê ta gäi C:\>XOA *.BAK ↵ d) LƯnh GOTO dùng để chuyển thực lệnh, GOTO nhãn Nhãn tệp bat đợc bắt đầu dấu : VÝ dơ chóng ta cã thĨ t¹o tƯp bat với vòng lặp vô hạn nh sau: : BATDAU DIR PAUSE GOTO BATDAU TÖp bat cã néi dung nh thÕ lặp vô hạn e) Lệnh IF : Dùng ®Ĩ lùa chän theo ®iỊu kiƯn, IF ®iỊu kiƯn LƯnh Điều kiện điều kiện sau: - ERRORLEVEL 0, thờng lệnh thực thành công trả errorlevel 0, không thành công trả giá trị Ví dụ sau cho biết đĩa A FORMAT có thành công không: @ ECHO OFF FORMAT A:/S IF NOT ERRORLEVEL ECHO dia sai 95 - IF string1= =String2 LƯnh VÝ dơ sau tạo tệp bat để gọi FOXPRO PASCAL Tệp bat cã néi dung: @ ECHO OFF IF %1==PASCAL GOTO PAS CD FOX FOCPRO GOTO END : PAS CD TP7 TURBO : END - Điều kiện tồn tệp : IF EXITST tên-tệp Lệnh Ví dụ sau tạo tệp bat dïng COPY CON t¹o mét tƯp nÕu tƯp ®ã cha cã th mơc hiƯn thêi, nÕu ®· tồn thông báo Tệp bat có nội dung sau: @ ECHO OFF IF EXITST %1 GOTO TB COPY CON %1 GOTO END : TB ECHO TƯp %1 ®· có đĩa : END e) Lệnh FOR : FOR %%C IN ( tËp hỵp ) DO LƯnh VÝ dơ FOR %%C IN ( F1.TXT, F2.TXT ) DO TYPE %%C Thực %%C lần lợt lấy giá trị tập hợp ứng với giá trị lệnh sau DO đợc thực lần 96 TƯp AUTOEXEC.BAT : TƯp AUTOEXEC.BAT lµ tƯp bat đặc biệt, lệnh tệp đợc hệ thống tự động thực khởi động, mà ngời ta thờng dựa vào đặc tính để đa số lệnh đặt cấu hình vào tệp AUTOEXEC.BAT Tệp AUTOEXEC.BAT phải đợc lu th mục gốc ổ đĩa khởi động Các lệnh thờng dùng tệp AUTOEXEC.BAT nh sau: - LÖnh PATH : PATH = C:\WINDOWS; C:\NC; C:\FOX Hoặc PATH = %%PATH%% Khi có lệnh tệp AUTOEXEC.BAT phần mềm khởi ®éng t¹i th mơc gèc - LƯnh PROMPT: Thay ®ỉi dấu nhắc hệ thống với tham số: $P : HiƯn ®êng dÉn $G : HiƯn dÊu > $T : Hiện thòi gian $D : Hiện ngày tháng $ : Xuống dòng Ngoài tệp CONFIG.SYS có cài điều khiển ANSI.SYS lệnh PROMPT thay màu ký tự màu hình: PROMPT $e[chữ; m Màu chữ 30 - đen; 31 - xanh; 37 trắng Màu 40 - đen; 41 - xanh; ; 47 - tr¾ng VÝ dơ PROMPT $e[ 37; 44m : Chữ trắng xanh 97 Ngoài cấu hình hệ thống mà ngời dùng muốn thiết lập, số phần mềm tự cập nhật tệp AUTOEXEC.BAT để tự thiết lập cấu hình cài đặt 3.2 Tệp CONFIG.SYS Tệp CONFIG.SYS thờng dùng để tạo cấu hình cho phần cứng Thờng DOS có sẵn chơng trình điều khiển thiết bị chuẩn nh : bàn phím, chuột, máy in Trong trờng hợp cắm thêm thiết bị vào hệ thống điều khiển thiết bị phải đợc cài vào tệp CONFIG.SYS Trong số trờng hợp phần mềm tự cập nhật CONFIG.SYS để tạo cấu hình cho cài đặt Phải nói thêm số phần mềm không cài đặt cấu hình tệp CONFIG.SYS không thực đợc thực không hiệu Các lệnh chứa tệp CONFIG.SYS đợc hệ thống tự ®éng thùc hiƯn Còng nh tƯp AUTOEXEC.BAT tƯp CONFIG.SYS còng phải đợc lu th mục gốc ổ đĩa khởi động Tệp CONFIG.SYS tệp văn nên nội dung soạn thảo lệnh COPY CON trình soạn thảo C¸c lƯnh thêng dïng CONFIG.SYS: a) LƯnh BREAK ON/OFF Nếu đặt BREAK=ON CPU kiểm tra thờng xuyên tổ hợp phím CTRL+BREAK CTRL+C Nếu gặp dừng chơng trình đăng thực Nếu đặt BREAK = OFF không kiểm tra thờng xuyên mà kiĨm tra vµo / b) LƯnh BUFFERS = N, N số vùng đệm cho vào/ra, N không đặt ngầm định 35, buffers thờng lµ 512 bytes 98 c) LƯnh FILES = N Cho phép mở đồng thời N tệp ( ngầm định ) d) Lệnh DEVICE : Dùng để cài đặt trình điều khiển thiết bị Ví dụ - Cài trình điều khiển hình DOS ta ®a vµo tƯp CONFIG.SYS lƯnh : DEVICE = C:\DOS\ANSI.SYS - Cài đặt trình điều khiển đĩa ảo ta đa vào lệnh DEVICE = C:\DOS\ RAMDRIVE.SYS, tạo đĩa ảo 64 KB ë bé nhí c¬ së (RAM ) Mn tăng khích thớc đặt ổ ảo vùng khác ta đa vào lệnh DEVICE = C:\DOS\RAMDRIVE.SYS 200/e, lệnh tạo ổ ảo 200 KB vùng nhớ mở rộng - Device = C:\WINDOWS\EMM386.EXE cho phép chơng trình truy nhập nhớ lấy nhớ mở rộng giả làm nhớ bành trớng (expanded memory ) Nếu đặt EMM386.EXE UMB không lấy nhớ mở rộng lµm bé nhí bµnh tríng - DEVICE = C:\DOS\HIMEM.SYS cho phép chơng trình sử dụng nhớ mở rộng e) Lệnh DOS = HIGH : nạp DOS vào vùng nhớ cao, hc nÕu dïng lƯnh DOS = HIGH, UMB : nạp DOS vào vùng nhớ cao cho phép truy nhập khối nhớ f) Lệnh DEVICEHIGH = Chơng trình thờng trú, cho phép đặt chơng trình thờng trú nhớ cao Ví dụ muốn nạp chơng trình điều khiển chuột vào nhớ cao ta đa vào lệnh : DEVICEHIGH = C:\MOUSE\MOUSE.SYS VÝ dơ vỊ tƯp CONFIG.SYS, thêng cã néi dung nh sau: DEVICE= C:\DOS\HIMEM.SYS 99 DEVICE= C:\DOS\EMM386.EXE RAM BUFFERS=30 FILES=40 BREAK= ON DOS=HIGH, UMB KÕt hỵp CONFIG.SYS AUTOEXEC.BAT tạo nhiều cấu hình : Chúng ta kết hợp hai tệp CONFIG.SYS AUTOEXEC.BAT để tạo cấu hình cho phần mềm khác nhê c¸c khèi [ ] VÝ dơ tƯp CONFIG.SYS có nội dung nh sau tạo cấu hình cho windows vµ foxpro [ Menu] MENUITEM = WINDOWS MENUITEM = FOXPRO MENUCOLOR = 15; * chữ xanh trắng [ WINDOWS] DEVICE = C:\DOS\HIMEM.SYS [FOXPRO] FILES=40 [COMMON] BUFFERS=30 DEVICE= C:\DOS\EMM386.EXE RAM Khối [COMMON] tạo cấu hình chung cho hệ thống Để có hiệu ta dùng biến %CONFIG% AUTOEXEC.BAT vµ néi dung tƯp AUTOEXEC.BAT nh sau: @ ECHO OFF tÖp 100 GOTO %CONFIG% : WINDOWS WIN GOTO END CD\ CD FOXPRO FOX : END Trong chơng xét xử lý bat lệnh thờng dùng tệp bat, đặc biệt hai tệp autoexec.bat vµ tƯp config.sys lµ hai tƯp tham gia vµo việc thiết lập cấu hình hệ thống môi trờng cho phần mềm hoạt động hiệu tài liệu tham kh¶o [1] Andrew S Tanenbaum, “ Modern operating systems “, Prentice - Hall International, Inc, 1992 [2] Qu¸ch TuÊn Ngọc, Đỗ Tiến Dũng, Nguyễn Quang Khải, Ngôn ngữ lập trình assembly máy vi tính IBM-PC , Tập 1, 2, (Bản dịch), NXB Giáo dục, 1995 [3] Ngô Trung ViƯt, “ MS C Turbo C, MS-DOS, híng dÉn khai thác sử dụng, Viện khoa học tính toán điều khiển, Hà nội, 1988 [4] Quách Tuấn Ngọc Cẩm nang lập trình hệ thông , tập 1, ( dịch ), NXB giáo dục, 1998 ... khối lợng liệu nh Bộ điều khiển thờng đợc thiết kế để đọc ghi lần phân đoạn Track Số byte phân đoạn đợc gọi cung (Sector) phụ thuộc vào phần cứng điều khiển đĩa hệ điều hành Thông thờng kích... Format cấp thấp việc đợc thực phần cứng điều khiển đĩa, trình Format, phầm mềm bắt điều khiển đĩa tiến hành Format với thông số kích thớc Sector, công việc lại tự điều khiển đĩa phải làm Format vật... ta yêu cầu có nhiều hệ điều hành khác máy tính đòi hỏi phải chia đĩa cứng thành phần gọi Partition Các cấu trúc đĩa trình bày hoàn toàn với đĩa mềm, đĩa cứng, đợc chia thành Partition cấu trúc