1. Trang chủ
  2. » Luận Văn - Báo Cáo

cấu trúc lưu trữ của ổ đĩa CD

20 924 2
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 20
Dung lượng 6,26 MB

Nội dung

tìm hiểu về cấu trúc lưu trữ của ổ đĩa CD

Trang 1

Các nhà phát triển hệ thống đã điều chỉnh các ổ đĩa cứng với các phần mềm phù hợp để chạy trên đĩa CD Các ứng dụng thấy đợc sự tiện lợi khi sử dụng đĩa CD cũng nh thấy đợc khối lợng dữ liệu khổng lồ mà CD có khả năng

lu trữ

Trong phần báo cáo này của chúng em, phần đầu chúng em trình bày

về cơ sở lý thuyết về cấu trúc lu trữ của ổ đĩa CD Phần sau trên cơ sở những

lý thuyết đó chúng em xây dựng chơng trình để truy cập vào cấu trúc điều khiển của đĩa CD

Trang 2

Báo cáo đề tài CDROM.

Khuôn dạng vật lý:

- CD-ROM đợc tổ chức nh thế nào:Bề mặt có thể ghi của CD-ROM có thể

đợc chia thành 3 phần:

+ Lead in: 4mm đầu tiên, chứa các bảng nội dung

+ Data Area: có thể đạt tới 33 mm tuỳ thuộc vào số lợng dữ liệu

+ Lead out: đánh dấu sự kết thúc của vùng dữ liệu, rộng khoảng 1mm

Cấu trúc của đĩa CD

Thông tin đợc lu trữ trên CD dới dạng các pit (vết lõm) và các lands;CD

đ-ợc lu trữ từ trong ra ngoài

Vị trí của các pit và land trên CD-ROM

Trang 3

luôn không đổi Để đảm bảo tốc độ tuyến tính không đổi đĩa phải quay chậm hơn khi đọc hoặc ghi ở gần trục tâm

Sự thay đổi tốc độ quay liên tục của đĩa CD là một trong những lý do làm cho thời gian truy cập trên CD ROM chậm hơn trên ổ cứng

Các phơng pháp lu trữ thông tin trên đĩa từ

Lu trữ các bit và các byte:

Bởi sự giới hạn về kỹ thuật, mỗi land (hoặc pit) có độ dài tối thiểu là 3 bit,

và lớn nhất là 11 bit Với giới hạn này ta không thể biểu diễn hai bit 1 liền nhau, cho nên không diễn tả hết đợc các hoán vị của 0 và 1, dẫn đến phải dùng lợc đồ EFM (Eight-to-Fourteen Modulation)

Trang 4

Bảng EFM

 Mỗi byte 8 bit thông thờng giờ đây đợc chuyển thành byte với 14 chanel bit, và sự chuyển đổi này dựa vào một bảng là một phần của đơn vị

điều khiển trên mọi ổ CD-ROM

 Nhng còn vấn đề nữa đặt ra là nếu kết thúc của một byte là một chanel

1 và bắt đầu của byte tiếp theo là chanel 1 thì không thể thể hiện đợc, cho nên phải chèn thêm 3 bit đợc gọi là 3 bit trộn để tách biệt giữa các byte, dẫn đến một byte có 17 chanel bit

Các frames:

 Khối thông tin nhỏ nhất trên một CD đợc gọi là một frame

 Một frame bao gồm 24 byte

 Các sector:

 CD Audio có thể đọc 75 sector/second

 Địa chỉ dữ liệu trên CD dựa trên cơ sở các đơn vị thời gian có dạng: minutes/seconds /sector

Trang 5

Một sector đợc định dạng trên CD

Các subchannel:

 Một subchannel là sự kết hợp của tất cả các bit trong cùng một vị trí củâ các byte điều khiển của các frame kế tiếp

 Luồng dữ liệu bao gồm các bit dữ liệu của 98 byte điều khiển trong một sector đợc gọi là P-channel, và tơng tự các luồng dữ liệu đợc thiết lập từ bit thứ hai là Q-channel Sáu bit tiếp theo lập nên sau kênh từ R đến W

Minh hoạ một Subchannel

 Subchannel P chỉ ra rằng music hay dữ liệu máy tính đợc tìm thấy trong một sector

Trang 6

 Subchannel Q chứa đựng các thông tin thời gian, nó có thể là thời gian tuyệt đối tính từ sự khởi đầu của CD (ATime ) hay là thời gian tính theo track

 Trong vùng Lead in, 72 bit của subchannel Q chứa đựng bảng nội dung 26 bit sử dụng cho đồng bộ và sửa lỗi

 Subchannel RW chứa đựng dữ liệu đồng bộ và sữa lỗi

Sửa Lỗi:

 Có 2 x 39 Byte thông tin sửa lỗi trên mỗi Sector

 Với CD Audio sử dụng kỹ thuật - Reed - Solomon - Code

 Với CD - ROM sử dụng - Cross Interleaved Reed Solomon Code

CIRC:

Sử dụng CIRC, với khuôn dạng CD - DA ta có tỷ lệ mắc lỗi là 1/108

 tỷ lệ vẫn cao đối với các dữ liệu quan trọng  có một khuôn dạng mới

Các khuôn dạng CD – ROM:

Xét mode 1: với việc giảm vùng data (2352 -> 2048 byte) và tăng

thông tin sửa lỗi -> khả năng sinh lỗi giảm

Làm việc với 2k data là dễ dàng nhất đối với lập trình viên -> dùng để lu các thông tin quan trọng

Xét mode 2: không thêm vào các tín hiệu sửa lỗi -> dùng lu các

thông tin không quan trọng (ví dụ ảnh)

Ưu điểm: tỷ lệ chuyển giao dữ liệu nhanh, ví dụ trong 1 giây

chế độ 1: 75 x 2048 = 150 K

chế độ 2: 75 x 236 = 171 K

 Mode 0: Sector rỗng, lấp đầy bởi 0

Trang 7

Khuôn dạng XA (Extended Architecture):

o Chuẩn XA đợc phát triển để giải quyết một vấn đề đặc biệt cho các ứng dụng Multimedia Ví dụ hiển thị văn bản trên màn hình trong khi đang chạy video và có nền của một bản nhạc, một ứng dụng phải đồng thời

sử lý 3 luồng dữ liệu từ 3 file riêng biệt Hơn nữa, ứng dụng phải thực hiện trong thời gian thực Tuy nhiên với một CPU thì nó phải lặp đi lặp lại các công việc với các số lợng nhỏ dữ liệu của văn bản, video và music Điều đó có nghĩa là CPU phải tải một phần file văn bản sau đó

là một phần video, và cuối cùng là một phần của file music Với khả năng truy cập chậm của CD - ROM thì thế giới muôn màu của Multimedia sẽ bị đổ sập nhanh chóng, video sẽ giật âm thanh bị méo

và văn bản hiển thị không phù hợp

o Nét đặc trng quan trọng của XA đó là khả năng chèn các Sector Bởi kỹ thuật này mà CPU đọc cả 3 loại dữ liệu mà không phải di chuyển đầu dọc Với kỹ thuật này, các Sector đợc lồng vào một file, ví dụ nh 3 Sector văn bản bắt đầu một dãy tiếp theo là 4 Sectors video và tiếp theo là 3 Sector Audio Bớc này cứ lặp đi lặp lại cho tới khi cả 3 luồng dữ liệu đều hết

XA flag trong Subheader của một Sector trong CD-ROM XA

Trang 8

High Sierra diễn tả khuôn dạng logic

o Bây giờ ta sẽ đi tìm hiểu về các khuôn dạng logic - files và directorys

o Khuôn dạng HSG (High Sierra Group) nói về - Volume and File structure of compact Read only Optical Disk for Information Interchange

o ISO 9660 chấp nhận 99.5% sự đề xuất của HSG, điều khác biệt đó là cấu trúc các phần tử directory

Logical Sectors

- Kích thớc của Sector logic HSG là 2048 byte (2k)

- Mỗi Sector có một số duy nhất đợc gọi là Logical Sector Number (LSN)

- Địa chỉ đầu tiên của LSN là 0 tơng ứng với Sector vật lý tại địa chỉ 00:02:00, vì thế một số Sector vật lý đầu tiên hình thành 2s đầu tiên của

CD không thể truy cập tại mức logic

- Công thức chuyển đổi

LSN ( mm : ss : ff) = (mm*60 +ss)*75 - 150

Logical Blocks (LBN)

- Đế dễ dàng cho việc xử lý các Sector logic có thể đợc chia thành các logical blocks (LBN)

- LBN có thể là 512 byte, 1024 byte, hay 2048 byte

- LBN cũng đợc đánh số, ta lấy ví dụ với LBN = 512 byte

Trang 9

File và tên file

- Các file HSG đợc lu trữ dới dạng một dãy liên tiếp các Logical blocks và

đợc gọi là ‘extent’, vì thế ta sẽ không tìm thấy một bảng FAT trên CD-ROM, thay vào đó ta chỉ cần biết vị trí bắt đầu và độ dài của file là đủ

- Tên file HSG: 8 byte cho tên (chỉ chứa các ký tự hoa A-Z, các số 0-9 và dấu gạch dới “_”) và 3 fbyte cho đuôi mở rộng

- Tên file ISO: 1 tên file có 32 ký tự có hoặc không có dấu chem

Directory và SubDirectory

- Cd có một th mục gốc cho cấu trúc các file lu trữ, th mục gốc có thể có

th mục con, th mục con có thể có th mục con của nó,  cấp cao nhất

là 8

- Th mục gốc và tất cả các th mục con của nó đợc lu trữ nh một file Các file th mục có thể đợc sắp xếp giữa các th mục khác ở bất kỳ vị trí nào trên đĩa

Offset HSG

00h Len-dr 1 Byte Độ dài các phần tử Direction (Byte) =

01h XAR-len 1Byte Số lợng Sector logic dự trữ cho

02h

Loc-ExtendI

1Word Block logical đầu tiên của file tính

theo Intel

= 06h

Loc-ExtendM

1Word Block logical đầu tiên của file tính

theo Motorola

= 0Ah Data-len I 1Word Độ dài file (Byte) tính theo Intel =

0Eh Data-len

M

1Word Độ dài file (Byte) tính theo

Motorola

=

12h Record

time 6Byte Ngày và thời gian của file Recordtime 7Byte 18h File flag

HSG

1Byte Các cờ của file HSG

ISO

1Byte 1Ah Il-Size 1Byte Số các sector liên tiếp trong việc

1Bh Il-Skip 1Byte

1Ch VSSN 1 1Word Số Volume theo định dạng Intel

1Eh VSSN M 1Word Số Volume theo định dạng

Motorola

20h Len-fi 1Byte Độ dài tên file

21h File-Id nByte Tên file, độ dài đợc xác định trong

len-fi (32byte) 21h+n Padding 1Byte Fill Byte, khi trờng kế tiếp không

bắt đầu tại địa chỉ bộ nhớ even

Trang 10

Sys-data nByte Mọi thông tin ghi vào, từ chiều dài

tên file (len-fi), chiều dài của trờng fixed fiedls và toàn bộ chiều dài của th mục vào (len-dr) có thể đợc tính toán

- Không có nhiều hơn 40 file trong một th mục  cho ta tìm kiếm một file nhanh chóng

- Vì có nhiều phần tử Directory nằm trong một sector logic nên chỉ cần

đọc sector đầu tiên của một th mục để tìm file mong muốn

Bảng đờng dẫn:

- Cho ta tìm ra vị trí file một cách nhanh nhất

- Bảng đờng dẫn chứa đựng tên của tất cả các th mục và các th mục con trên CD, nó cũng chứa chỉ số sector đầu tiên của file th mục

- Có hai bản sao đờng dẫn cho Intel và Motorola

Extended Attribute Records (XAR):

- Có bản ghi XAR cho ngời tạo ra file có khả năng lựa chọn các thông tin

về file mà ta muốn, hình thành một kiểu hệ thống file hớng đối tợng

- Bên cạnh những thuộc tính đợc định nghĩa bởi ngời dùng, HSG có thể cung cấp một vài thuộc tính XAR nh: Thẩm định quyền

Trang 11

- Volume đợc hình thành bởi tất cả các file và các Directory lu trữ trên CD

- HSG diễn tả Volume dựa trên hai thành phần: vùng hệ thống và vùng dữ liệu

- Vùng hệ thống chiếm giữ 16 Sector logic đầu tiên của CD (LSNO  LSN 15)

- Standard Volume Descriptor: lu giữ địa chỉ file directory với th mục gốc

và địa chỉ của Path table Các tên của file CopyRight và Abstract file cũng đợc liệt kê ở đây, chúng nằm trong th mục gốc CopyRight cho biết thông tin về tác giả, Abstract file cho biết thông tin về nội dung của CD

- BootSector: bạn có thể đặt một boot sector ở đây nếu muốn đĩa CD trở thành một đĩa khởi động hệ thống

- Volume Sequential Terminal: chỉ ra lệnh kết thúc của CD

Giới thiệu về ngắt 2Fh truy cập ổ đĩa CDROM:

Bảng liệt kê các chức năng của ngắt 2Fh truy cập CDROM:

AH AL Chức năng

15h 00h Lấy số ổ đĩa CDROM trong hệ thống

15h 01h Lấy danh sách ổ đĩa CDROM

15h 02h Lấy tên file CopyRight

15h 03h Lấy tên file Abstract

Trang 12

15h 04h Lấy tên file Biblioghapic

15h 05h Đọc nội dung bảng Volume

15h 06h Để dành (cha dùng đến)

15h 0Bh Kiểm tra ổ đĩa CDROM

15h 0Ch Lấy số hiệu phiên bản MSCDEX

15h 0Dh Lấy các đơn vị của CD

15h 0E/00h Lấy mô tả tham chiếu Volume

15h 0E/01h Thiết lập mô tả tham chiếu Volume

15h 10h Gửi truy vấn thiết bị

ý nghĩa của các thanh ghi sử dụng trong lời gọi ngăt 2Fh:

o AH: Số hiệu chức năng của ngắt

o AL: Số hiệu hàm ngắt

o CX: Dùng cho các hàm chờ nhãn ổ đĩa CDROM đợc truy cập

(0= A, 1 = B )

o ES:BX: Hàm chờ một con trỏ trỏ tới vùng đệm ES chứa 8 bit cao, BX chứa 8 bit thấp

o DX: Với các hàm yêu cầu chính xác số lợng sector

o DI:SI: Với các hàm yêu cầu số sector,

o CF: chỉ ra lỗi sau lời gọi ngắt (Nếu có)

o AL: Mã lỗi trả về khi CF khác 0

Một số hàm truy cập CDROM quan trọng:

1 Kiểm tra ổ đĩa CD-ROM (ngắt 2fh, hàm 15h, chức năng 00h):

(Trả về số lợng ổ CD mà MSCDEX có thể địa chỉ hoá trong thanh ghi BX)

Đầu vào:

- AH=15H

- AL=00H

Đầu ra:

- BX= Số lợng ổ đĩa CDROM đợc quản lý

- CX = Nhãn ổ đĩa CDROM đầu tiên

2 Lấy thông tin version của trình điều khiển MSCDEX đang sử dụng (ngắt 2fh, hàm 15h, chức năng 0Ch):

Đầu vào:

- AH=15H

- AL=0CH

Đầu ra:

- BH= Giá trị phần nguyên của số hiệu phiên bản (ví dụ: version = 2.1 thì BH = 2 )

- BL = Giá trị phần thập phân của số hiệu phiên bản (BL = 1)

Trang 13

4 Truy vấn ổ CDROM (ngắt 2fh, hàm 15h, chức năng 0Bh):

Đầu vào:

- AH=15H

- AL=0BH

- CX=Nhãn ổ CDROM đợc truy cập (ví dụ: 0 = A; 1 = B etc.)

Đầu ra:

- AX = 0: Lỗi, đấy không phải là một ổ đĩa CDROM

- AX <> 0: Lỗi, đấy không phải là một ổ đĩa CDROM

5 Đọc nội dung một Sector (ngắt 2fh, hàm 15h, chức năng 08h):

Đầu vào:

- AH=15H

- AL=08H

- CX=Nhãn ổ CDROM đợc truy cập (ví dụ: 0 = A; 1 = B etc.)

- DX: Số sector cần đọc

- ES:BX= Con trỏ FAR trỏ tới vùng sector cần đọc

Đầu ra:

- CF = 0: Đọc thành công

- CF = 1: Có lỗi.(nếu AL=15:Nhãn ổ CD không hợp lệ, AL=21: ổ cha sẵn sàng)

6 Ghi Sector (ngắt 2fh, hàm 15h, chức năng 09h):

Đầu vào:

- AH=15H

- AL=09H

- CX=Nhãn ổ CDROM đợc truy cập (ví dụ: 0 = A; 1 = B etc.)

- DX= Số sector cần ghi

- ES:BX= FAR trỏ tới vùng đệm chứa các sector cần ghi

Đầu ra:

- CF = 0: Đọc thành công

- CF = 1: Có lỗi.(nếu AL=15:Nhãn ổ CD không hợp lệ, AL=21: ổ cha sẵn sàng)

L

u ý: Mỗi Sector có 2048 byte nên vùng nhớ (buffer) phải đáp ứng đủ số bộ

nhớ cho việc đọc ít nhất là 2048 byte để thực hiện thao tác đọc hoặc ghi sector

7 Lấy thông tin về tên file CopyRight, Abstract, Bibliogragh :

a Lấy tên file CopyRight (ngắt 2fh, hàm 15h, chức năng 02h):

CopyRight cho biết thông tin về tác giả của đĩa đang đợc quản lý

Đầu vào:

- AH=15H

- AL=02H

- CX=Nhãn ổ CDROM đợc truy cập (ví dụ: 0 = A; 1 = B etc.)

Trang 14

- ES:BX= FAR trỏ tới vùng đệm chứa tên file đọc đợc.

Đầu ra:

- CF = 0: Đọc thành công

- CF = 1: Có lỗi.(nếu AL=15:Nhãn ổ CD không hợp lệ)

b Lấy tên file Abstract (ngắt 2fh, hàm 15h, chức năng 03h):

Abstract file cho biết tổng quan về nội dung dữ liệu ghi trên đĩa

Đầu vào:

- AH=15H

- AL=03H

- CX=Nhãn ổ CDROM đợc truy cập (ví dụ: 0 = A; 1 = B etc.)

- ES:BX= FAR trỏ tới vùng đệm chứa tên file đọc đợc

Đầu ra:

- CF = 0: Đọc thành công

CF = 1: Có lỗi.(nếu AL=15:Nhãn ổ CD không hợp lệ)

c Lấy tên file tài liệu Biblioghraphic (ngắt 2fh, hàm 15h, chức năng 04h):

File Biblioghraphic cho ta biết thông tin về nguồn thông tin ghi trên

đĩa

Đầu vào:

- AH=15H

- AL=04H

- CX=Nhãn ổ CDROM đợc truy cập (ví dụ: 0 = A; 1 = B etc.)

- ES:BX= FAR trỏ tới vùng đệm chứa tên file đọc đợc

Đầu ra:

- CF = 0: Đọc thành công

- CF = 1: Có lỗi.(nếu AL=15:Nhãn ổ CD không hợp lệ)

8 Đọc VTOC (ngắt 2fh, hàm 15h, chức năng 05h):

Đầu vào:

- AH=15H

- AL=05H

- CX=Nhãn ổ CDROM đợc truy cập (ví dụ: 0 = A; 1 = B etc.)

- ES:BX= FAR trỏ tới vùng đệm chứa tên file đọc đợc

Đầu ra:

- CF = 0: Đọc thành công

- CF = 1: Có lỗi.(nếu AL=15:Nhãn ổ CD không hợp lệ)

9 Gửu yêu cầu đến trình điều khiển thiết bị (ngắt 2fh, hàm 15h, chức năng 10h):

Đầu vào:

- AH=15H

- AL=10H

- CX=Nhãn ổ CDROM đợc truy cập (ví dụ: 0 = A; 1 = B etc.)

- ES:BX= FAR trỏ tới vùng đệm chứa yêu cầu cho thiết bị

Đầu ra: (Không có)

10 Lấy thông tin của trình điều khiển ổ đĩa CDROM (ngắt 2fh,

Trang 15

CDROM sau:

1 Lấy số lợng ổ đĩa CDROM trên máy:

2 Lấy tên file CopyRight:

3 Lấy tên file Abstract:

4 Lấy tên file Bibliographic:

5 Đẩy ổ đĩa CD (Eject CDROM):

6 Đọc nội dung bảng Volume:

7 Đọc nội dung sector:

8 Hiển thị Directory:

9 Hiển thị Directory Entry:

10 Chạy Audio track:

const DevError=(1 shr 15);

Dev_readlong=128;

Devcmd_Seek=131;

Type

Requestheader = record

blength,bsubunit,bcommand:Byte;

Wstatus:Word;

bReserved:array[0 7] of Byte;

end;

ReadWriteL = record

reqhdr: requestHeader;

bAdressingMode:Byte;

lpTransferAdress:pointer;

wNumsec:word;

lStartingSector:longint;

bdataReadWritemode,binterleaveSize,

binterleaveskipfactor:Byte;

end;

SeekReq=record

Reqhdr:requestheader;

bAdressingMode:byte;

lpTranferAdress:Pointer;

WNumSec:Word;

LstartingSector:longint;

end;

IOCTLIO =record

reqhdr :requestheader;

bmediadescriptor:Byte;

Ngày đăng: 13/04/2013, 09:01

HÌNH ẢNH LIÊN QUAN

Báo cáo đề tài CDROM. - cấu trúc lưu trữ của ổ đĩa CD
o cáo đề tài CDROM (Trang 2)
+ Lead in: 4mm đầu tiên, chứa các bảng nội dung. - cấu trúc lưu trữ của ổ đĩa CD
ead in: 4mm đầu tiên, chứa các bảng nội dung (Trang 2)
Bảng EFM - cấu trúc lưu trữ của ổ đĩa CD
ng EFM (Trang 4)
• Trong vùng Lead in, 72 bit của subchannel Q chứa đựng bảng nội dung 26 bit sử dụng cho đồng bộ và sửa lỗi. - cấu trúc lưu trữ của ổ đĩa CD
rong vùng Lead in, 72 bit của subchannel Q chứa đựng bảng nội dung 26 bit sử dụng cho đồng bộ và sửa lỗi (Trang 6)
- Bảng đờng dẫn chứa đựng tên của tất cả các th mục và các th mục con trên CD, nó cũng chứa chỉ số sector đầu tiên của file th mục. - cấu trúc lưu trữ của ổ đĩa CD
ng đờng dẫn chứa đựng tên của tất cả các th mục và các th mục con trên CD, nó cũng chứa chỉ số sector đầu tiên của file th mục (Trang 10)
Bảng đờng dẫn: - cấu trúc lưu trữ của ổ đĩa CD
ng đờng dẫn: (Trang 10)
Bảng đờng dẫn: - cấu trúc lưu trữ của ổ đĩa CD
ng đờng dẫn: (Trang 10)
Bảng liệt kê các chức năng của ngắt 2Fh truy cập CDROM: - cấu trúc lưu trữ của ổ đĩa CD
Bảng li ệt kê các chức năng của ngắt 2Fh truy cập CDROM: (Trang 11)
- Volume đợc hình thành bởi tất cả các file và các Directory lu trữ trên CD. - HSG diễn tả Volume dựa trên hai thành phần: vùng hệ thống và vùng dữ  - cấu trúc lưu trữ của ổ đĩa CD
olume đợc hình thành bởi tất cả các file và các Directory lu trữ trên CD. - HSG diễn tả Volume dựa trên hai thành phần: vùng hệ thống và vùng dữ (Trang 11)
Bảng liệt kê các chức năng của ngắt 2Fh truy cập CDROM: - cấu trúc lưu trữ của ổ đĩa CD
Bảng li ệt kê các chức năng của ngắt 2Fh truy cập CDROM: (Trang 11)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w