mục gốc của đĩa hay phần tử trong bảng thư mục của thư mục con, chứa thông tin của một thư mục (con), đều có trường Filename là tên của thư mục (con), trường Attribute = 16, trường Start cluster = cluster đầu tiên của thư mục (con), trường Filesize = 0, … Chỉ có hai phần tử đầu tiên trong bảng thư mục của các thư mục con là có chứa các giá trị đặc biệt. Ngay sau khi có một thư mục con được tạo ra, hệ điều hành tạo ngay bảng thư mục cho nó và khởi tạo 2 phần tử đầu tiên trong bảng thư mục này: Phần tử thứ nhất, chứa mã ascii của kí tự dấu chấm (.) ở byte đầu tiên của trường filename, phần tử này chỉ đến chính thư mục hiện hành. Trường Start cluster cho biết cluster bắt đầu của thư mục này. Phần tử thứ hai, chứa 2 mã ascii của 2 kí tự dấu chấm ( ) ở 2 byte đầu tiên của trường filename, phần tử này chỉ đến thư mục cha của nó. Trường Start cluster cho biết cluster bắt đầu của thư mục cha của nó. Nhưng nếu cha của nó là thư mục gốc thì trường này chứa giá trị 0. Một phần bảng thư mục gốc OS 0 25 sub … … ASS 0 7 sub … … … Một phần bảng thư mục của thư mục con OS 0 0 sub … LTOS 0 55 sub … … . 0 25 sub … tailieu doc 7F 2B … … 0 7 sub … Btap2 doc 92 84 sub … … . 0 65 sub … Btap1 doc 99 72 … … Một phần bảng thư mục của thư mục con ASS 0 0 sub … TH 0 65 sub … … . 0 7 sub … LT 0 55 sub … … Một phần bảng thư mục của thư mục con LT 0 7 sub … Ch2 doc 19 97 sub … … . 0 55 sub … Ch1 doc 95 62 … … (c) (a) (b) (d) (e) Trường start cluster Click to buy NOW! P D F - X C h a n g e V i e w e r w w w . d o c u - t r a c k . c o m Click to buy NOW! P D F - X C h a n g e V i e w e r w w w . d o c u - t r a c k . c o m Để thấy rõ hơn mối quan hệ giữa bảng thư mục gốc và bản thư mục của các thư mục con, cũng như các phần tử trong 2 bảng thư mục này, ta hãy xem sơ đồn minh họa 4.12 trên đây. Trong sơ đồ này ta giả sử: trên thư mục gốc có hai thư mục con là ASS và OS, trong thư mục ASS có hai thư mục con LT và TH, trong OS có chứa tập tin tailieu.txt và thư mục con LTOS, trong LT có chứa 2 tập tin ch1.txt và ch2.txt, trong TH có chứa 2 tập tin btap1.txt và btap2.txt. Hình 4.12.a ở trên cho thấy trên thư mục gốc có 2 thư mục con OS và ASS, tổ chức của bảng thư mục con của thư mục OS được lưu trữ bắt đầu tại block 25, tổ chức của bảng thư mục con của thư mục ASS được lưu trữ bắt đầu tại block 7. Hình 4.12.b cho thấy thư mục cha của thư mục OS là thư mục gốc, phần tử có tên là hai dấu chấn “ ” chứa giá trị 0 ở trường start cluster, tập tin tailieu.doc được lưu trữ bắt đầu tại cluster 2Bh và có kích thước là 7Fh, tổ chức bảng thư mục con của thư mục LTOS được lưu trữ bắt đầu tại cluster 55. Hình 4.12.c & 4.12.d cho thấy thư mục TH là thư mục con của thư mục ASS, bảng thư mục con của thư mục TH lưu trữ bắt đầu tại cluster 65 (phần tử có tên là một dấu chấn “.” chứa giá trị 65 ở trường start cluster), và tổ chứa bảng thư mục của thư mục cha của nó, thư mục ASS, được lưu trữ bắt đầu tại cluster 7 (phần tử có tên là hai dấu chấn “ ” chứa giá trị 7 ở trường start cluster), … Nếu một tập tin bị giảm kích thước thì DOS sẽ giải phóng ngay các cluster đĩa mà tập tin không còn sử dụng nữa. Nhưng các cluster chứa thư mục con chỉ được giải phóng khi tất cả các tập tin thư mục trong thư mục con này đã bị xóa hết ra khỏi đĩa. Quá trình khởi động máy tính với hệ điều hành DOS: Quá trình khởi động máy tính là quá trình từ khi máy tính được cung cấp nguồn điện cho đến khi màn hình xuất hiện dấu nhắc hệ điều hành. Quá trình này được chia thành 2 giai đoạn, giai đoạn thứ nhất tạm gọi là giai đoạn khởi động máy, giai đoạn này chủ yếu do chương trình POST trong BIOS thực hiện. Giai đoạn thứ hai tạm gọi là giai đoạn tìm nạp phần lõi của hệ điều hành vào RAM, giai đoạn này chủ yếu do BIOS và Boot sector/master boot record thực hiện. Giai đoạn khởi động máy tính: Click to buy NOW! P D F - X C h a n g e V i e w e r w w w . d o c u - t r a c k . c o m Click to buy NOW! P D F - X C h a n g e V i e w e r w w w . d o c u - t r a c k . c o m (Bắt đầu từ khi máy tính được cung cấp nguồn điện) 1. Các thanh ghi segment được gán giá trị 0FFFFh, các thanh ghi còn lại bằng 0. 2. Cặp thanh ghi CS:IP chứa giá trị 0FFFh:0000h, địa chỉ này chứa một lệnh nhảy xa (JMP Far) chuyển quyền điều khiển đến một đoạn chương trình ở đầu ROM_BIOS. Đoạn chương trình này sẽ thực hiện quá trình POST máy. 3. POST sẽ lần lượt kiểm tra các thanh ghi, bộ nhớ khởi tạo các chip điều khiển DMA, bộ điều khiển ngắt, đĩa, . Nếu có thiết bị nào bị lỗi thì thông báo lỗi lên màn hình và dừng quá trình khởi động, nếu không thì đoạn code ở cuối chương trình POST sẽ đọc nội dung của boot sector của đĩa mềm/ hoặc master boot record của đĩa cứng vào RAM tại địa chỉ 0000:7C00h và bắt đầu quá trình khởi động hệ điều hành (tìm và nạp hệ điều hành vào bộ nhơ RAM). Nếu không tìm thấy boot setor hoặc master boot record thì sẽ xuất hiện thông báo lỗi hoặc dừng quá trình khởi động. Giai đoạn tìm nạp hệ điều hành vào bộ nhớ: (Kết thúc khi màn hình xuất hiện dấu nhắc hệ điều hành) 4. Nếu đĩa khởi động là đĩa mềm: chuyển sang bước 7. 5. Nếu đĩa khởi động là đĩa cứng: dò tìm tại offset 00 của các phần tử trong bảng partition giá trị 80h. Nếu tìm thấy thì partition tương ứng là partition active (partition chứa sector khởi động), chuyển sang bước 7. Nếu không tìm được giá trị 80h tại offset 00 trên tất cả các phần tử trong bảng partition thì xuất hiện thông báo lỗi hoặc dừng quá trình khởi động. 6. Boot code trong master boot record sẽ nạp boot sector (sector đầu tiên) của partition active vào RAM tại địa chỉ 0000:7C00h đồng thời với việc chuyển chính nó đi nơi khác. 7. Quyền điều khiển quá trình khởi động tiếp theo được chuyển cho boot sector, boot sector thực hiện ngay lệnh nhảy (JMP) tại offset đầu tiên của nó, để nhảy đến thực hiện chương trình bootstrap loader ở cuối bootsector. 8. Bootstrap loader thực hiện việc tìm và nạp IO.SYS vào bộ nhớ, sau đó trao quyền điều khiển quá trình khởi động tiếp theo cho IO.SYS. Nếu không tìm thấy sẽ xuất hiện thông báo lỗi và/hoặc dừng quá trình khởi động. Thông thường phần tử đầu tiên trong bảng thư mục gốc chứa thông tin của tập tin IO.SYS. 9. IO.SYS thực hiện lần lượt việc tìm vào nạp MSDOS.SYS, các trình điều khiển thiết bị khai báo trong Config.sys (nếu tìm thấy config.sys trên thư mục gốc của đĩa khởi động), phần thường trực của Command.com, các lệnh khai báo trong Autoexec.bat (nếu tìm thấy autoexec.bat trên thư mục gốc của Click to buy NOW! P D F - X C h a n g e V i e w e r w w w . d o c u - t r a c k . c o m Click to buy NOW! P D F - X C h a n g e V i e w e r w w w . d o c u - t r a c k . c o m đĩa khởi động). Bước này cũng có thể xuất hiện lỗi và dừng quá trình khởi động nếu MSDOS.SYS và/hoặc Command.com bị xoá hoặc bị lỗi. Nếu hệ điều hành không thành công trong việc nạp các trình điều khiển thiết bị được khai báo trong config.sys thì quá trình khởi động cũng bị dừng lại, lỗi này là do một hoặc tất cả các trình điều khiển thiết bị nói trên bị hỏng (thường do bị nhiễm virus). Điều này cũng đúng với các lệnh trong autoexec.bat. 10. Kết thúc quá trình khởi động bằng việc xuất hiện dấu nhắc hệ điều hành lên màn hình. Đối với người sử dụng thông thường thì việc chuyển từ giai đoạn khởi động máy sang giai đoạn nạp hệ điều hành, được đánh dấu bằng thông báo: Starting MSDOS …. trên màn hình. Xét về mặt bản chất thì điều này không chính xác. Người sử dụng có thể bỏ qua việc thực hiện các khai báo trong Config.sys và Autoexec.bat trong quá trình khởi động ở bước 9, bằng cách gõ phím F5 khi màn hình vừa xuất hiện thông báo: Starting MSDOS …. Người sử dụng cũng có thể chỉ định thực hiện hay không thực hiện một khai báo nào đó trong Config.sys và Autoexec.bat trong quá trình khởi động ở bước 9, bằng cách gõ phím F8 khi màn hình vừa xuất hiện thông báo: Starting MSDOS …. Điều này cũng có thể áp dụng trong quá trình khởi động máy tính với hệ điều hành windows9x. Qua việc phân tích quá trình khởi động máy tính ở trên ta có thể biết được nguyên nhân và cách khắc phục một số lỗi xảy ra trong quá trình khởi động máy và nạp hệ điều hành vào bộ nhớ RAM. Tổ chức bảng thư mục gốc của Windows98 Trong phần này chúng tôi chỉ trình bày về tổ chức của bảng thư mục gốc của windows98 để các bạn thấy được cách tổ chức lưu trữ tên file dài của windows98 và sự tương thích của tên file dài trong DOS và các windows trước đó, mà không trình bày về cấu trúc của hệ thống FAT32. Vì, FAT32 tương thích với FAT16, chỉ có một điểm khác nhỏ cần chú ý ở đây là: mỗi phần tử trong FAT chiếm 2 byte, do đó theo lý thuyết mỗi phần tử có thể chứa trong nó một giá trị lên đến 65536 (2 16 ) hay bảng FAT có 65536 phần tử, nhờ vậy mà windows98 quản lý được một không gian đĩa cứng lớn hơn nhiều so với hệ điều hành DOS. Còn nhiều khác bịêt nữa của FAT32 so với FAT12&FAT16 chúng tôi đã chỉ ra ở mục IV.3 ở trên. Phiên bản windows95 thứ nhất và các phiên bản trước đó đều sử dụng hệ thống file của hệ điều hành DOS (tên file theo chuẩn 8.3 với FAT12 hoặc FAT16), bắt đầu từ phiên bản Windows95 thứ 2 đến Windows98, hệ điều hành windows sử dụng hệ thống tên file dài với FAT32, nhờ đó mà nó có thể quản lý được những partition có kích thước lớn hơn 2GB và những đĩa cứng lớn hơn 8GB. Trong phần này chúng ta sẽ xem xét hệ thống file Windows98. Click to buy NOW! P D F - X C h a n g e V i e w e r w w w . d o c u - t r a c k . c o m Click to buy NOW! P D F - X C h a n g e V i e w e r w w w . d o c u - t r a c k . c o m Với tên file dài và FAT32 hệ điều hành Windows đã mang lại cho người sử dụng nhiều thuận lợi hơn so với tên file 8.3 và FAT12/FAT16 của hệ điều hành DOS. Nhưng quan trọng hơn, windows98 vẫn cho phép truy xuất đến các file được tạo ra từ các hệ điều hành như DOS, windows3.1, và phiên bản windows95 thứ 1. Và ngược lại trong môi trường hệ điều hành DOS hệ thống vẫn có thể truy xuất đến các file (kể cả các file có tên file dài) được tạo ra từ Windows 98. Phải nói rằng đây là một thành công lớn của hệ điều hành windows98. Windows98 đã phát triển hệ thống tên file dài và FAT32 dựa trên nền tảng của hệ điều hành DOS và tương thích với hệ điều hành DOS nhờ vậy mà một file do nó tạo ra có thể được truy xuất trên cả 2 hệ thống: Windows 98 và DOS. Sau đây chúng ta sẽ xem xét kỹ hơn về điều này. Windows 98 tổ chức cấu trúc của bảng thư mục, hay chính xác hơn là cấu trúc của một phần tử trong bảng thư mục gốc, hoàn toàn tương thích với cấu trúc của một phần tử trong bảng thư mục gốc của hệ điều hành DOS. Như vậy bảng thư mục của Windows 98 cũng là một danh sách gồm nhiều phần tử, mỗi phần tử dài 32 byte, nhưng không giống với DOS (mỗi phần tử chứa thông tin về 1 file hay thư mục đang lưu trữ trên thư trong mục) ở đây Windows 98 có thể sử dụng nhiều phần tử trong bảng thư mục để chứa thông tin về một file đang lưu trữ trong thư mục hay trên đĩa. Đây là sự khác biệt lớn giữa cấu trúc bảng thư mục của Windows98 và MS_DOS và cũng chính nhờ điều này trong MS_DOS ta vẫn có thể truy xuất đến các file được tạo ra từ Windows 98. Hình vẽ sau đây là cấu trúc của một phần tử trong bảng thư mục của windows98. Điều ghi nhận đầu tiên ở cấu trúc này là 10 byte bắt đầu tại offset 0Ch mà hệ điều hành DOS chưa sử dụng nay đã được Windows98 sử dụng, Windows98 dùng 10 byte này để tạo ra 5 trường mới: NT, Sec, Creation Date/Time (ngày giờ tạo file/directory), Last Access (thời điểm file/directory được truy xuất gần đây nhất) và Upper 16 bítof Staring block (16 bít cao của block đầu tiên). Trường NT: tương thích với WindowsNT, trong trường hợp hiển thị tên file đúng như khi tạo file ban đầu (chỉ dùng với windowsNT). Trường Sec: kết hợp cùng với trường Creation Date/Time để lưu chính Base name Ext N T Creation Date/Time La st Last write Date/time File size Attribu tess Sec Upper 16bits of Starting block Lower 16bits of Starting block 8 3 1 1 1 4 2 2 4 2 4 Hình 4.13 Phần tử thư mục mở rộng của MS-DOS sử dụng trong windows 98 Click to buy NOW! P D F - X C h a n g e V i e w e r w w w . d o c u - t r a c k . c o m Click to buy NOW! P D F - X C h a n g e V i e w e r w w w . d o c u - t r a c k . c o m xác thời điển tạo ra file bao gồm ngày giờ và giây (chính xác đến 10msec). Trường Last access: lưu trữ thời gian truy cập đến file cuối cùng trước đó. Trường Upper 16 bítof Staring block kết hợp cùng với trường Lower 16 bítof Staring block (16 bít thấp của block đầu tiên): để lưu số hiệu của block đầu tiên trong dãy các block chứa nội dung của File tương ứng. Chú ý: Vì windows98 sử dụng 32 bít(4 byte) để định danh các cluster trên đĩa nên trong entry phải có đủ 4 byte để chứa đủ giá trị (4 byte) của các cluster trên đĩa. Trong trường hợp này windows98 sử dụng kết hợp 2 trường 2 byte là Upper 16 bítof Staring block (để chứa 2 byte cao của số hiệu cluster bắt đầu chứa các block file) và Lower 16 bítof Staring block (để chứa 2 byte thấp của số hiệu cluster bắt đầu chứa các block file). Để đảm bảo sự tương thích về tên file, đặc biệt là những tên file dài, trong cả 2 hệ thống DOS và Windows98, Windows98 sử dụng hai tên file cho một file: Một tên file dài để tương thích với Windows98 và WindowsNT và một tên file theo chuẩn 8.3 để tương thích với hệ điều hành DOS, các file có thể được truy cập theo một trong hai tên file này. Như vậy khi một file được tạo ra mà tên file của nó không tuân theo chuẩn đặt tên của DOS thì Windows98 sẽ tạo thêm một tên file nữa theo chuẩn về tên file của hệ điều hành DOS. Windows98 thực hiện điều này như sau: Lấy 6 ký tự đầu tiên (không kể kí tự trắng và những dấu chấm phụ) của tên dài, chuyển chúng sang dạng viết hoa (nếu cần). Nối thêm 2 kí tự “~1” vào sau 6 kí tự trên để có được tên file theo chuẩn của hệ điều hành DOS, nếu tên file này đã tồn tại thì windows98 sẽ dùng 2 kí tự “~2”, và cứ như thế windows98 có thể thêm vào các kí tự “~3”, “~4”, vv sao cho đảm bảo tên file không trùng nhau trong cùng một thư mục. Ví dụ: Có 2 tên file dài: Lap trinh huong doi tuong (file 1) Lap trinh huong thanh phan (file 2) Thì windows98 tạo ra 2 tên file theo chuẩn MS_DOS như sau: LAPTRI~1 (file 1) LAPTRI~2 (file 2) Để lưu trữ thông tin về một file có tên file dài hệ điều hành windows98 sử dụng các entry liên tiếp nhau trong bảng thư mục, các entry này được bố trí như sau: Một entry đầu tiên dùng để lưu trữ tên file theo chuẩn của DOS và các thông tin khác, cấu trúc của entry này hoàn toàn tương tự như hình trên. Một hoặc nhiều entry kế tiếp sau đó để lưu tên file dài, số lượng các entry Click to buy NOW! P D F - X C h a n g e V i e w e r w w w . d o c u - t r a c k . c o m Click to buy NOW! P D F - X C h a n g e V i e w e r w w w . d o c u - t r a c k . c o m này phụ thuộc vào số kí tự của tên file (mỗi entry chứa được 13 kí tự Unicode= 26byte). Ví dụ: một file có tên file gồm 28 kí tự thì windows98 sẽ dùng 4 entry: một entry dùng để lưu tên file theo chuẩn MS_DOS, 3 entry còn lại dùng để lưu tên file dài, trong đó 2 entry đầu chứa 26 kí tự (13x2) đầu, entry cuối cùng chứa 2 kí tự còn lại của tên file. Hình 4.14 cho thấy cấu trúc của một entry trong bảng thư mục gốc của windows98 dùng cho tên file dài: Trường Sequence: chiếm 1 byte dùng để ghi thứ tự của các entry chứa tên file dài, nếu là entry cuối cùng thì thứ tự này sẽ được cộng thêm 64 đơn vị để đánh đấu đây là entry cuối cùng của một file, theo ví dụ trên thì trường Sequence của các entry lần lược là: 1, 2 và 67 (3+64). Trường Attributes: chiếm 1 byte, chứa giá trị 0Fh, đây là dấu hiệu để phân biệt giữa entry chứa tên file theo chuẩn DOS với các entry chứa tên file dài. Hệ điều hành DOS và các tiện ích về file của DOS sẽ bỏ qua (không nhận ra) các entry này. Trường Checksum: chiếm 1 byte, dùng để ghi nhận các tình huống sau: một chương trình Windows98 tạo ra một file với 1 tên dài, máy tính được Reboot để chạy với hệ điều hành DOS hoặc Windows 3, một chương trình cũ xóa tên file DOS từ thư mục nhưng không xóa tên file dài đứng trước nó (vì không hiểu về nó), vv. Với 1 byte cho checksum Windows 98 có thể ghi nhận 256 tình huống khác nhau, mỗi tình huống tương ứng với một mã nào đó. Hiện nay chúng tôi chưa có tài liệu mô tả về đầy đủ về checksum nên chúng tôi không thể trình bày nhiều hơn nữa về checksum ở đây. 10 byte sau trường Sequence, 12 byte sau trường Checksum và 4 byte cuối cùng dùng để lưu trử 13 kí tự trong phần tên file dài (vì windows98 sử dụng mã Unicode nên mỗi ký tự chiếm 2 byte). Chú ý: Theo hệ điều hành DOS và windows3.1 thì byte đầu tiên của một entry trong bảng thư mục gốc phải là một trong các chữ cái hoặc một số kí tự đặc biệt nào đó, chứ không thể là các giá trị số. Nên DOS, windows3.1 và các chương trình Bytes 10 1 1 1 12 2 4 5 ký tự 0 6 ký tự 0 2 ký t ự Sequen ce Attributes Checksum Hnh 4.14 Một entry cho một tên file dài của windows 98 Click to buy NOW! P D F - X C h a n g e V i e w e r w w w . d o c u - t r a c k . c o m Click to buy NOW! P D F - X C h a n g e V i e w e r w w w . d o c u - t r a c k . c o m trên nó không nhận ra các entry của tên file dài theo kiểu windows98 là điều tất nhiên. Hình vẽ sau đây minh họa cho việc lưu trữ tên file dài trong bảng thư mục của file có tên: “Nguyen Le Tram Uyen Va Tram Thanh”. C 6 7 m T h a A 0 K n h 0 C 2 m U y e A 0 K n V a T 0 r a C 1 N g u y e A 0 K n L e T 0 r a N N G U Y E N ~ 1 A T S Creation Time Last Acc Upp Last write Low Size Hình 4.15: Các phần tử trong bảng thư mục gốc của windows98 của một file Theo hình trên thì, windows98 dùng 4 entry liên tiếp nhau, từ thấp đến cao, trong bảng thư mục gốc để lưu trữ tên file và các thông tin liên quan của file “Nguyen Le Tram Uyen Va Tram Thanh”: 1 entry theo kiểu DOS để lưu trữ tên file thu gọn NGUYEN~1, và 3 entry đánh số thứ tự 1, 2, và 67 theo kiểu windows98 để lưu toàn bộ phần tên file dài. Chú ý: Vì bảng FAT quá lớn nên windows98 không nạp hết bảng FAT vào bộ nhớ mà chỉ nạp những phần tử cần thiết, các phần tử được sử dụng hiện tại, nhưng các phần tử này luôn thay đổi, do đó Windows 98 sử dụng một “cửa sổ” trên bảng FAT để phục vụ cho mục đích này, theo đó chỉ các phần tử nằm trong “cửa sổ” mới được nạp vào bộ nhớ để sử dụng tại thời điểm hiện tại. Tổ chức đĩa của Windows 2000 Các loại Partition Windows 2000 giới thiệu hai khái niệm: Basic Disk và Dynamic Disk. Windows 2000 gọi các đĩa được phân khu dựa vào sơ đồ phân khu của MS_DOS là các basic disk. Basic là khái niệm mà windows 2000 kế thừa từ MS_DOS, dynamic disk là một khái niệm mới của nó. Windows 2000 đã cài đặt thành công các dynamic disk và nó có nhiều đặc tính nổi trội hơn so với basic disk. Sự khác nhau cơ bản giữa dynamic disk và basic disk đó là dynamic disk hỗ trợ các multipartition volume. Windows 2000 quản lý tất cả các đĩa như là basic disk trừ khi ta tạo một dynamic disk bằng tay hoặc chuyển một basic disk đang tồn tại thành dynamic disk. Để khuyến kích người quản trị hệ thống sử dụng dynamic disk, Microsoft đưa ra một vài giới hạn sử dụng trên các basic disk, như: chỉ có thể tạo các multipartition volume mới trên các dynamic disk, chỉ có thể chuyển thành dynmic Click to buy NOW! P D F - X C h a n g e V i e w e r w w w . d o c u - t r a c k . c o m Click to buy NOW! P D F - X C h a n g e V i e w e r w w w . d o c u - t r a c k . c o m disk trên các volume NTFS. Một bất lợi của dynamic disk là định dạng mà nó sử dụng là độc quyền và không tương thích với các hệ điều hành khác, bao gồm cả các phiên bản khác nhau của Windows. Vì thế ta không thể truy cập dynamic disk trong môi trường đa boot (dual-boot environment). Basic Partitioning: Khi cài đặt Windows 2000, đầu tiên nó sẽ yêu cầu ta tạo một partition trên ổ đĩa vật lý chính (primary) của hệ thống. Windows 2000 định nghĩa một system volume trên partition này để lưu trữ các file mà nó có thể gọi trong quá trình boot máy. Windows 2000 cũng yêu cầu ta tạo một partition mà nó phục vụ như là một home cho boot volume, đây là nơi mà chương trình setup sẽ cài đặt các file hệ thống của Windows 2000 và tạo ra một thư mục hệ thống \Winnt. System volume và boot volume có thể nằm trên cùng một volume. System volume là nơi Windows 2000 lưu trữ các file boot, bao gồm các file Ntldr và Ntdetect, còn boot volume là nơi Windows 2000 lưu trữ các file chính của hệ điều hành như là Ntoskrnl.exe và các file lõi khác. Theo chuẩn của BIOS trên các hệ thống x86, tất cả các hệ điều hành đều chọn sector đầu tiên của đĩa primary để chứa master boot record (MBR). Chúng ta đã biết khi một processor được boot thì BIOS của máy tính sẽ đọc MBR và xem xét đoạn mã có khả năng thực hiện của MBR. BIOS sẽ gọi đoạn mã của MBR để khởi tạo tiến trình boot hệ điều hành sau khi đã POST máy tính. Cũng như các hệ điều hành của Microsoft khác, MBR của Windows 2000 cũng chứa một bảng partition. Bảng này cũng có 4 mục vào, nó dùng để cấp phát cho 4 partition chính trên một đĩa. Bảng partition cũng ghi lại loại của partition là FAT32 hay NTFS. Hình 4.16: các partition trên volume NTFS Có một loại partition đặc biệt đó là extended partition, nó chứa một MBR khác với một bảng partition riêng của nó. Bằng cách sử dụng extended partition các hệ điều hành của Microsoft đã phá bỏ giới hạn 4 partition trên một đĩa. Tiến trình Click to buy NOW! P D F - X C h a n g e V i e w e r w w w . d o c u - t r a c k . c o m Click to buy NOW! P D F - X C h a n g e V i e w e r w w w . d o c u - t r a c k . c o m boot là một thể hiện đầu tiên trong Windows 2000 tạo nên sự khác biệt rõ rệt nhất giữa các partition primary và extended. Hệ thống phải tạo một partition primary trên đĩa primary là active. Trong qúa trình boot đoạn mã của Windows 2000 trong MBR sẽ nạp đoạn mã được lưu trữ tại sector đầu tiên trong partition active (system volume) vào bộ nhớ và trao quyền điều khiển cho đoạn mã này. Windows 2000 chỉ định sector đầu tiên của bất kỳ partition nào đều là boot sector. Như đã biết ở trước, trong Windows 2000 mọi partition được định dạng với một hệ thống file thì nó có một boot sector, là nơi lưu trữ thông tin về cấu trúc của hệ thống file trên partition đó. Dynamic Partitioning: Các đĩa động được định dạng trong Windows 2000 và là cần thiết đề tạo mới các volume multipartition. Hệ thống con Logical Disk Manager (LDM) trong Windows 2000 bao gồm các thành phần trong user mode và device driver giám sát các đĩa động. Cơ sở dữ liệu LDM thường trú trong không gian dành riêng 1MB tại cuối mỗi dynamic disk. Không gian đĩa 1MB này là cần thiết trên các basic disk vì Windows 2000 cần có không gian trống này khi người sử dụng cần chuyển một basic disk thành dynamic disk. Mặc dù dữ liệu partition của dynamic disk thường trú trong cơ sở dữ liệu LDM, LDM vẫn cài đặt một bảng partition lọai MS_DOS để thừa kế các tiện ích quản lý đĩa, bao gồm cả các tiện ích chạy dưới Windows 2000 và dưới các hệ điều hành khác trong môi trường boot đôi (dual-boot). Vì các partition LDM không được mô tả trong bảng partition loại MS_DOS nên nó được gọi là các soft partition, các partition loại MS_DOS được gọi là các hard partition. Một nguyên nhân khác mà LDM phải tạo các bảng partition loại MS_DOS đó là đoạn mã boot của Windows 2000 có thể tìm trong các system volume hoặc boot volume, ngay cả khi các volume nằm trên các dynamic disk. Nếu một đĩa chứa các volume system hoặc boot, hard partition trong bảng partition MS_DOS mô tả vị trí của các partition này. Mặt khác, một hard partition bắt đầu tại cylinder đầu tiên của đĩa và mở rộng đến nơi bắt đầu của cơ sở dữ liệu LDM. LDM đánh dấu partition này như là “LDM”, một partition loại MS_DOS kiểu mới của Windows Mastor Boot Record LDM 1MB cơ sở d ữ liệu LDM Hình 4.17.a: Tổ chức bên trong của dynamic disk Click to buy NOW! P D F - X C h a n g e V i e w e r w w w . d o c u - t r a c k . c o m Click to buy NOW! P D F - X C h a n g e V i e w e r w w w . d o c u - t r a c k . c o m . của hệ điều hành DOS và tương thích với hệ điều hành DOS nhờ vậy mà một file do nó tạo ra có thể được truy xuất trên cả 2 hệ thống: Windows 98 và DOS. Sau đây chúng ta sẽ xem xét kỹ hơn về điều. Có 2 tên file dài: Lap trinh huong doi tuong (file 1) Lap trinh huong thanh phan (file 2) Thì windows98 tạo ra 2 tên file theo chuẩn MS _DOS như sau: LAPTRI~1 (file 1) LAPTRI ~2 (file 2) Để. đến các file được tạo ra từ các hệ điều hành như DOS, windows3.1, và phiên bản windows95 thứ 1. Và ngược lại trong môi trường hệ điều hành DOS hệ thống vẫn có thể truy xuất đến các file (kể