Đĩa, Tổ Chức Thông Tin Trên đĩa - Tài Liệu Text - 123doc

Tải bản đầy đủ (.docx) (30 trang)
  1. Trang chủ
  2. >>
  3. Công Nghệ Thông Tin
  4. >>
  5. Tin học văn phòng
Đĩa, tổ chức thông tin trên đĩa

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (117.63 KB, 30 trang )

Đĩa - Tổ chức thông tin trên đĩa.1. Cấu trúc vật lý.Các loại đĩa (đĩa cứng và đĩa mềm) đều lu trữ thông tin dựa trên nguyên tắc từ hoá: Đầu từ đọc-ghi sẽ từ hoá các phần tử cực nhỏ trên bề mặt đĩa. Dữ liệu trên đĩa đợc ghi theo nguyên tắc rời rạc (digital), nghĩa là sẽ mang giá trị 1 hoặc 0. Để có thể tổ chức thông tin trên đĩa, đĩa phải đợc địa chỉ hoá. Nguyên tắc địa chỉ hoá dựa trên các khái niệm sau đây:a. Side: Đó là mặt đĩa, đối với đĩa mềm có hai mặt đĩa, đối với đĩa cứng có thể có nhiều mặt đĩa. Để làm việc với mỗi mặt đĩa có một đầu từ tơng ứng, vì thế đôi khi ngời ta còn gọi là Header. Side đợc đánh số lần lợt bắt đầu từ 0, chẳng hạn đối với đĩa mềm, mặt trên là mặt 0, mặt dới là mặt 1, đối với đĩa cứng cũng tơng tự nh vậy sẽ đợc đánh số là 0,1,2,3...b. Track:Là các vòng tròn đồng tâm trên mặt đĩa, nơi tập trung các phần tử từ hoá trên bề mặt đĩa để lu trữ thông tin. Các track đánh số từ bên ngoài vào trong, bắt đầu từ 0.c. Cylinder: Một bộ các track cùng thứ tự trên mọi mặt đĩa đợc tham chiếu đến nh một phần tử duy nhất, đó là Cylinder. Số hiệu của Cylinder chính là số hiệu của các track trong Cylinder đó.d. Sector:Bộ điều khiển đĩa thờng đợc thiết kế để có thể đọc và ghi mỗi lần chỉ từng phân đoạn của track, mỗi phân đoạn này gọi là một sector, dới hệ điều hành DOS, dung lợng một sector là 512 byte. Các sector trên track đợc đánh địa chỉ, thông thờng hiện nay ngời ta sử dụng phơng pháp đánh số sector mềm, nghĩa là mã hoá địa chỉ của sector và gắn vào phần đầu của sector đó.Ngoài khái niệm Sector, DOS còn đa ra khái niệm Cluster, nhằm mục đích quản lý đĩa đợc tốt hơn. Cluster bao gồm tập hợp các Sector, là đơn vị mà DOS dùng để phân bổ khi lu trữ các file trên đĩa. Tuỳ dung lợng đĩa mà số lợng Sector trên một Cluster có thể là 1, 2 (đối với đĩa mềm) hoặc 4, 8, 16 (đối với đĩa cứng).2. Cấu trúc logic:Đối với mọi loại đĩa, DOS đều tổ chức đĩa thành hai phần: Phần hệ thống và phần dữ liệu. Phần hệ thống bao gồm ba phần con: Boot Sector, bảng FAT (File Alocation Table) và Root Directory. Đối với đĩa cứng, DOS cho phép chia thành nhiều phần khác nhau, cho nên còn có một cấu trúc đặc biệt khác là Partition Table.Sau đây chúng ta đề cập tới từng phần một:a. Boot Sector.Đối với đĩa mềm, Boot Sector chiếm trên Sector 1, Side 0, Cylinder 0. Đối với đĩa cứng, vị trí trên dành cho bảng Partition, còn Boot Sector chiếm sector đầu tiên trên các ổ đĩa logíc.Khi khởi động máy, Boot Sector đợc đọc vào địa chỉ 0: 7C00h và đợc trao quyền điều khiển. Đoạn mã trong Boot Sector có các nhiệm vụ nh sau:- Thay lại bảng tham số đĩa mềm (ngắt 1Eh).- Định vị và đọc Sector đầu tiên của Root vào địa chỉ 0:0500h- Dò tìm, đọc các file hệ thống nếu có và trao quyền điều khiển cho chúng.Ngoài ra, Boot Sector còn chứa một bảng tham số quan trọng đến cấu trúc đĩa, bảng tham số này bắt đầu tại offset 0Bh của Boot Sector, cụ thể cấu trúc này nh sau:Offset SizeNội dungGiải thích+0h 3 JMP xxxxLệnh nhảy đến đầu đoạn mã Boot.+3h 8 Tên của hệ thống đã format đĩa.Start of BPB----------------(Bios Parameter Block)+0Bh 2 SectSiz Số byte trong một Sector.+0Dh 1 ClustSiz Số Sector trong một Cluter.+0Eh 2 ResSecs Số lợng Sector dành riêng (trớc FAT).+10h 1 FatCnt Số bảng FAT.+11h 2 RootSiz Số đầu vào tối đa cho Root (32 byte cho mỗi đầu vào).+13h 2 TotSecs Tổng số sector trên đĩa (hoặc Partition) trong trờng hợp dung l-ợng < 32MB.+15h 1 Media Media descriptor đĩa (giống nh byte đầu bảng FAT).+16h 2 FatSize Số lợng Sector cho mỗi bảng FAT.End of BPB-----------------+18h 2 TrkSecs Số lợng Sector trên một track.+1Ah 2 HeadCnt Số lợng đầu đọc ghi.+1Ch 2 HidnSec Số sector dấu mặt (đợc dùng trong cấu trúc Partition).+1Eh Đầu đoạn mã trong Boot Sector.Trên đây là bảng tham số đĩa khi format đĩa bằng DOS các Version tr-ớc đây. Từ DOS Version 4.0 trở đi, có một sự mở rộng để có thể quản lý đ-ợc các đĩa có dung lợng lớn hơn 32MB, sự mở rộng này bắt đầu từ offset +1Ch để giữ nguyên các cấu trúc trớc đó. Phần mở rộng thêm có cấu trúc nh sau:OffsetSize Nội dung Giải thích+1Ch 4 HidnSec Số Sector dấu mặt (đã đợc điều chỉnh lên 32 bit).+20h 4 TotSec Tổng số Sector trên đĩa khi giá trị ở offset +13h bằng 0.+24h 1 PhsDsk Số đĩa vật lý (0: đĩa mềm, 80: đĩa cứng 1, 81: đĩa cứng 2).+25h 1 Resever dành riêng.+26h 1 Ký hiệu nhận diện của DOS Version x.xx+27h 4 Serial Là số nhị phân 32 bit cho biết Serial Number.+2Bh B Volume Volume label+36h 8 Loại bảng FAT 12 hay 16 bit. Thông tin này dành riêng của DOS.+3Eh Đầu đoạn mã chơng trình.Phần mã trong Boot Sector sẽ đợc phân tích một cách chi tiết trong phần sau này.b. FAT (File Alocation Table).Bảng FAT là vùng thông tin đặc biệt trong phần hệ thống, dùng để lu trạng thái các Cluster trên đĩa, qua đó DOS có thể quản lý đợc sự phân bố File.Cách tham chiếu đến một địa chỉ trên đĩa thông qua số hiệu Side, Cylinder, Sector là cách làm của ngắt 13h của BIOS và cũng là cách làm của bộ điều khiển đĩa. Ngoài cách tham chiếu trên, DOS đa ra một cách tham chiếu khác chỉ theo một thông số: đó là số hiệu Sector. Các Sector đ-ợc đánh số bắt đầu từ 0 một cách tuần tự từ Sector 1, Track 0, Side 0 cho đến hết số Sector trên Track này, rồi chuyển sang Sector 1, Track 0, Side 1,... Tất cả các Sector của một Cylinder sẽ đợc đánh số tuần tự trớc khi DOS chuyển sang Track kế tiếp. Cách đánh số này gọi là đánh số Sector logic, và đợc DOS sử dụng cho các tác vụ của mình.Khái niệm Cluster chỉ dùng để phân bổ đĩa để lu trữ File, cho nên chỉ bắt đầu đánh số Cluster từ những Sector đầu tiên của phần dữ liệu (phần ngay sau Root). Số hiệu đầu tiên để đánh số Cluster là 2, nhằm mục đích thống nhất trong cách quản lý thông tin trong bảng FAT.Nội dung của FAT:Mỗi Cluster trên đĩa đợc DOS quản lý bằng một entry, hai entry đầu tiên dùng để chứa thông tin nhận dạng đĩa, đó là lý do Cluster đợc đánh số bắt đầu từ 2. Entry 2 chứa thông tin của Cluster 1, Entry 3 chứa thông tin của Cluster 2,... Giá trị của entry trong bảng FAT có ý nghĩa nh sau:Giá trịý nghĩa0 Cluster còn trống, có thể phân bổ đợc(0)002-(F)FEF Cluster đang chứa dữ liệu cả một File nào đó, giá trị của nó là số Cluster kế tiếp trong Chain.(F)FF0-(F)FF6Dành riêng, không dùng(F)FF7 Cluster hỏng(F)FF8-(F)FFFLà Cluster cuối cùng của Chain.Đối với đĩa mềm và đĩa cứng có dung lợng nhỏ, DOS sử dụng bảng FAT-12, nghĩa là sử dụng 12 bit (1,5 byte) cho một entry. Đối với các đĩa cứng có dung lợng lớn, DOS sử dụng bảng FAT-16, nghĩa là sử dụng 2 byte cho một entry. Cách định vị trên hai bảng FAT này nh sau:- Đối với FAT-16: Vì mỗi entry chiếm 2 byte, nên vị trí của Cluster tiếp theo bằng giá trị của Cluster hiện thời nhân với 2.- Đối với FAT-12: Vì mỗi entry chiếm 1,5 byte, nên vị trí của Cluster tiếp theo bằng giá trị của Cluster hiện thời nhân với 1,5. Giá trị cụ thể là 12 bit thấp nếu số thứ tự số Cluster là chẵn, ngợc lại là 12 bit cao trong word tại vị trí của Cluster tiếp theo đó.Đoạn chơng trình sau đây minh họa cách định vị bảng FAT.Vào: SI : Số Cluster đa vào.Biến FAT_type lu loại bảng FAT, nếu bit 2 = 1 thì FAT là 16 bit.Ra: DX : Số Cluster tiếp theo.Locate_Cluster procmov ax,3test FAT_type,4je FAT_12inc axFAT_12:mul sishr ax,1mov bx,axmov dx,FAT_buff[bx]test FAT_type,4jne FAT_16mov cl,4test si,1je Chanshr dx,cl ; Lẻ thì lấy 12 bit caoChan:and dh,0F ; Chẵn thì lấy 12 bit thấpFAT_16:retLocate_Cluster endpMột ví dụ về phần đầu của bảng FAT: 000102030405060708090a0b0c 0d0e0f00F8FFFFFF0300040005000600FFFF08001009000A000B00FFFFFFFFB902FFFFFFFFMỗi entry trong bảng FAT này chiếm 2 byte (FAT 16bit), 2 entry đầu tiên của bảng FAT này là giá trị nhận dạng đĩa (FFF8-FFFF), giá trị của Cluster 2 trỏ tới Cluster 3, giá trị của Cluster 3 lại trỏ tới Cluster 4, ... cho đến khi Cluster 6 có giá trị FFFF, nghĩa là kết thúc File.c. Root Directory.Root Directory còn đợc gọi là th mục gốc, nằm ngay sau FAT. Nó có nhiệm vụ lu giữ các thông tin th mục của các File trên đĩa. Mỗi File đợc đặc trng bởi entry (đầu vào) trong Root Director, mỗi entry chiếm 32 byte lu giữ các thông tin sau đây:Offset Kích thớc Nội dung+0h 8 Tên file đợc canh trái+8h 3 Phần mở rộng đợc canh trái+0Bh 1 Thuộc tính file+0Ch 0Ah Dành riêng+16h 2 Thời gian tạo lập hay cập nhật lần cuối.+18h 2 Ngày tháng tạo lập hay cập nhật lần cuối.+1Ah 2 Số Cluster bắt đầu của file (trong FAT).+1Ch 4 Kích thớc fileByte thuộc tính có ý nghĩa nh sau:7 6 5 4 3 2 1 0=1: File chỉ đọc (Read Only)=1: File ẩn (Hidden)=1: File hệ thống (System)=1: Volume Label=1: Sub Directory=1: File cha đợc backup (thuộc tính archive)Ký tự đầu tiên phần tên file có ý nghĩa nh sau:0 Entry còn trống, cha dùng. (dấu chấm) Dấu hiệu dành riêng cho DOS, dùng trong cấu trúc th mục con0E5h Ký tự sigma này thông báo cho DOS biết entry của file này đã bị xoá.Một ký tự khácEntry này đang lu giữ thông tin về một file nào đó.d. Partition Table.Partition table còn đợc gọi là Master Boot, lu trữ tại Side 0, Cylinder 0, Sector 1 trên đĩa cứng. Tại đây, ngoài bảng Partition (bảng phân chơng), còn có một đoạn mã đợc trao quyền điều khiển sau quá trình POST tơng tự nh đối với Boot Sector trên đĩa mềm. Đoạn mã này nhằm xác định Partition nào là hoạt động để đọc Boot Sector của Partition đó vào 0:7C00 và trao quyền điều khiển cho đoạn mã của Boot Sector đó.Partition Table bắt đầu tại offset 1BEh, mỗi Partition đợc đặc trng bằng một entry 16 byte:OffsetSizeNội dung+0 1 Cờ hiệu boot. 0= không active, 80h=active+1 1 Số hiệu của Header bắt đầu+2 2 Sec-Cyl: Số hiệu Sector-Cylinder bắt đầu của Partition+4 1 Mã hệ thống: 0=unknown, 1=DOS FAT-12,4=DOS FAT-16,...+5 1 Số hiệu của Header kết thúc+6 2 Sec-Cyl: Số hiệu Sector-Cylinder kết thúc của Partition+8 4 low-high: Số Sector bắt đầu tơng đối+0Ch 4 low-high: Tổng số Sector trên Partition+10h Đầu vào của một Partition khác, kết thúc bảng Partition phải là chữ ký của hệ điều hành: 0AA55h3. Các tác vụ truy xuất đĩa.a. Mức BIOS.Các tác vụ truy xuất đĩa ở mức BIOS sử dụng cách tham chiếu địa chỉ trên đĩa theo Cylinder, Side và Sector. Các chức năng này đợc thực hiện th«ng qua ng¾t 13h, víi tõng chøc n¨ng con trong thanh ghi AH. C¸c phôc vô c¨n b¶n nhÊt ®îc m« t¶ nh sau:

Tài liệu liên quan

  • Bản đồ tư duy  công cụ tổ chức thông tin và tăng cường tư duy Bản đồ tư duy công cụ tổ chức thông tin và tăng cường tư duy
    • 11
    • 711
    • 1
  • Bản đồ tư duy   công cụ tổ chức thông tin và tăng cường tư duy Bản đồ tư duy công cụ tổ chức thông tin và tăng cường tư duy
    • 9
    • 511
    • 2
  • Bản đồ tư duy công cụ tổ chức thông tin và tăng cường tư duy Bản đồ tư duy công cụ tổ chức thông tin và tăng cường tư duy
    • 9
    • 464
    • 0
  • Tổ Chức Thông Tin Trong Máy Tính Tổ Chức Thông Tin Trong Máy Tính
    • 27
    • 945
    • 1
  • Bài 11: Tổ chức thông tin trong máy tính Bài 11: Tổ chức thông tin trong máy tính
    • 6
    • 920
    • 10
  • tiet 5 to chuc thong tin va truy cap thong tren mang internte tiet 5 to chuc thong tin va truy cap thong tren mang internte
    • 2
    • 522
    • 1
  • Tiết 23 - Tổ chức thông tin trong máy tính (t1) Tiết 23 - Tổ chức thông tin trong máy tính (t1)
    • 6
    • 929
    • 12
  • Đĩa, tổ chức thông tin trên đĩa Đĩa, tổ chức thông tin trên đĩa
    • 30
    • 1
    • 69
  • To chuc thong tin trong may tinh To chuc thong tin trong may tinh
    • 19
    • 594
    • 8
  • bai 11- to chuc thong tin tren may tinh bai 11- to chuc thong tin tren may tinh
    • 12
    • 659
    • 5

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

(56.14 KB - 30 trang) - Đĩa, tổ chức thông tin trên đĩa Tải bản đầy đủ ngay ×

Từ khóa » Khái Niệm Cylinder