Mapcon
01-12-2002, 11:35 AM
ngờ uồn : Cấu trúc máy tính
Cấu trúc Vật lý
Cấu trúc đĩa dù vật lý hay lôgíc trong thực tế ít ai đề cập đến vì mức độ phức tạp, nhất là đĩa cứng. Tuy nhiên những khái niệm cơ bản lại vô cùng đơn giản.
Các loại đĩa (kể cả đĩa cứng lẫn đĩa mềm) đều dựa trên hiện tượng từ hoá để chứa dữ liệu: đầu từ đọc ghi sẽ từ hoá những phần tử cực nhỏ trên bề mặt, mỗi phần tử di chuyển qua đầu từ sẽ bị từ hoá. Do hình dạng ban đầu của đĩa là hình tròn nên nhiều người lầm tưởng đây hình dạng bắt buộc, thực ra bạn có thể tạo ra một loại đĩa có hình dạng bất kì, miễn sao tồn tại một ổ đĩa cho phép bạn truy xuất những thông tin trên đó.
Khác với trên băng từ, trên đĩa chúng ta sẽ ghi dữ liệu dưới dạng rời rạc (hoặc sẽ mang giá trị tối thiểu). Cách thể hiện như thế được gọi là Digital.
Track là cái quái gì nhẩy ?
Track (rãnh ghi)
Nếu bạn đặt một cây bút chì lên trên cái đĩa hát và xoay đường bút chì sẽ tạo thành trên đĩa một hình tròn. Và bạn cứ việc tưởng tượng rằng đĩa hát là một cái đĩa mềm còn đầu bút chì là đầu đọc/ghi. Đường do cây bút chì tạo nên bây giờ có một tên là Track. Do mỗi Track chỉ là một hình tròn chiếm một phần rất nhỏ, nên trên một đĩa ta có thể tạo nhiều hình tròn đồng tâm để có được nhiều Track.
Như vậy, trong đĩa mềm hoặc đĩa cứng, nó là một trong các đường tròn đồng tâm được mã hóa trên đĩa khi tiến hành định dạng mức thấp, và được dùng để xác định các vùng lưu trữ dữ liệu riêng biệt trên mặt đĩa.
Side (mặt đĩa)
Bất kì đĩa mềm nào cũng có hai mặt (side), do đó không ai bắt buộc chúng ta phải sử dụng một mặt đĩa (mặc dù DOS 1.xx làm điều này nhưng sau nó cũng sửa sai) ghi dữ liệu lên cả hai mặt rõ ràng mang lại tính kinh tế hơn vì khả năng chứa dữ liệu của đĩa tăng lên gấp đôi mà không cần tốn thêm ổ đĩa thứ hai, mà đơn giản là đặt thêm một đầu đọc thứ hai ở phía bên kia để tạo thành một gọng kìm . Hai mặt được đánh lần lượt là 0 và 1.
Cylinder
Rõ ràng một thuận lợi thứ hai của hai mặt: dữ liệu có thể ghi hai lần nhanh hơn trước khi đầu đọc chuyển sang Track mới. Dữ liệu đầu tiên có thể ghi lên Track của mặt này, sau đó cùng một Track như thế nhưng ở một mặt bên kia, rồi sau đó mới chuyển sang Track khác, một cặp Track đối xứng như thế được tham chiếu đến như một phần tử duy nhất Cylinder.
Như vậy, trong các ổ đĩa, Cylinder là một đơn vị lưu trữ bao gồm một tập các rãnh ghi (track) chiếm cùng vị trí. Trên đĩa hai mặt, một cilinder sẽ bao gồm rãnh 1 của mặt trên và rãnh 1 của mặt dưới.
Để thuận lợi cho việc tham chiếu, cả Track và Cylinder được đánh số, track ở ngoài cùng được đánh số là Track 0. Track ở mặt trên ngoài cùng là Track 0, side 0, track ở mặt dưới là Track 0 mặt 1. Những track 0 như thế gọi là Cylinder 0. Bạn chắc đã nghe nói đến đĩa mềm 360 Kb, những loại đĩa như thế sẽ có 40 Track được đánh số từ 0 đến 39, hoặc loại đĩa 1,2 Mb sẽ có 80 Track được đánh số từ 0 đến 79 (thông thường việc đánh số trên máy tính bắt đầu từ 0 hơn là 1, tuy nhiên vẫn có ngoại lệ khi sector bắt đầu đánh số từ 1 và Cluster được đánh số bắt đầu từ 2).
Đối với đĩa cứng, một số mô hình đơn giản là là các đĩa mềm được xếp song song với nhau thành hình trụ. Do đó, một cilinder sẽ gồm các rãnh trên cả hai mặt của tất cả các đĩa. Đĩa trên cùng là side 0 đáy của nó là side 1 đĩa thứ hai có hai mặt lần lượt là side 2 và side 3 v.v Tập hợp những track 0 được tham khảo dưới tên gọi là Cylinder 0. Và tất nhiên số đầu đọc cũng sẽ tăng theo. Khối lượng dữ liệu trên một track trên đĩa cứng cũng thay đổi tuỳ thuộc từng máy tuy nhiên thường từ 8Kb đến 12Kb trên một track.
Sector(cung từ)
Sector là một đoạn trên một trong các rãnh ghi đồng tâm đã được mã hoá của đĩa đó trong quá trình định khuôn thức mức thấp.
Mặc dù có thể đọc/ghi dữ liệu trên đĩa một lúc 8 đến 12Kb, trong thực tế không ai giám dùng dến một khối lượng lớn đến như thế. Bộ điều khiển đĩa thường được thiết kế để có thể đọc và ghi một đoạn Sector phụ thuộc vào phần cứng của bộ điều khiển đĩa và vào hệ điều hành: các nhà thiết kế sẽ tạo những kích thước này là 128,256,512, và 1024 byte. Đối với hệ điều hành DOS, kích thước được chọn là 512 byte cho một Sector và cho tất cả các loại đĩa.
Trên đĩa mềm 360Kb, một Track có thể đạt 10 Sector, tuy nhiên vì vấn đề an toàn dữ liệu DOS chỉ chọn 9 Sector cho một track. Chính vì điều này dễ thấy một đĩa 40 Track sẽ có: 40 Track x 2 side x 9 Sector x 512 Byte = 360Kb.
Đối với đĩa cứng mật độ track trên một inch có thể đạt tới 600 track/ inch, do đó khả năng lưu trữ dữ liệu của đĩa cứng lớn hơn đĩa mềm rất nhiều. Lúc này để tham chiếu, không những chúng ta phải chỉ ra mặt (side) và track mà còn phải chỉ ra số sector nào trong track đó.
Đánh địa chỉ Sector
Khi chúng ta đã đạt đến track cần đọc/ghi, làm thế nào có thể nhận ra Sector cần tìm? Có hai cách để nhận ra hai Sector, đó là:
a. Đánh số Sector bằng phương pháp cứng (Hard Sectoring)
Những lỗ đều nhau sẽ được bấm xung quanh đĩa và mỗi lỗ như thế có ý nghĩa đánh dấu sự bắt đầu một Sector. Phương pháp này tỏ ra không còn hiệu nghiệm khi tốc độ truy xuất đĩa ngày càng gia tăng.
b. Đánh số Sector mềm (Soft Sectoring)
Phương pháp này mã hoá địa chỉ của Sector thành dữ liệu của Sector đó và được gắn vào trước mỗi Sector, vì Sector được đánh số tuần tự xung quanh track nên địa chỉ của nó đơn giản là các số liên tiếp xung quanh track (tuy nhiên đối với một số đĩa được thiết kế chống sao chép thì điều này lại khác).
Hiện nay, phương pháp đánh số mềm được dùng rộng rãi, với phương pháp này, trước khi đĩa được dùng, địa chỉ của Sector phải được ghi vào Sector (quá trình này được thực hiện trong quá trình format đĩa). Địa chỉ Sector thực ra chỉ là một phần thông tin trong dữ liệu ở phần đầu Sector, ngoài ra còn một số thông tin khác mà thiết nghĩ rằng nêu ra ở đây chỉ làm rối độc giả.
Format vật lý
Ghi toàn bộ địa chỉ Sector, các thông tin khác vào phần đầu của Sector được gọi là Format vật lý hay Format ở mức thấp vì việc này thực hiện chỉ bằng phần cứng của bộ điều khiển đĩa, trong quá trình format, phần mềm sẽ bắt bộ điều khiển tiến hành format với những thông số về kích thước của một Sector, còn công việc còn lại tự bộ điều khiển đĩa phải làm.
Format vật lý phải được thực hiện trước khi đĩa được đưa vào sử dụng. Một quá trình độc lập thứ hai là Format logic cũng phải thực hiện ngay sau đó trước khi đĩa chuẩn bị chứa dữ liệu. ở mức này, tuỳ theo cách tổ chức của từng hệ điều hành, nó sẽ chia đĩa thành từng vùng tương ứng.
Trong thực tế, hầu như không ai chú ý đến vấn đề này vì đã có lệnh Format của DOS. Tuy nhiên để giải thích công việc cụ thể của lệnh này thì hầu như ít ai quan tâm đến. Có thể giải thích như sau:
a. Đối với đĩa mềm
Một đĩa dù đã được format hay chưa format lần nào đều được đối xử bình đẳng như nhau, nghĩa là đầu tiên DOS sẽ tiến hành format vật lý, sau đó sẽ format logic nhằm khởi tạo các vùng hệ thống và dữ liệu.
Đối với một đĩa đã qua một lần format, quá trình format vật lý sẽ không còn cần thiết (trừ trường hợp muốn format vật lý lại) do đó nếu chỉ có quá trình format logic sẽ làm giảm thời gian format một đĩa. ý tưởng này, thực tế đã được các phần mềm chuyên dụng khai thác rất kỹ. PCformat của Center point, Safeformat của Norton v.v đều có những option cho phép chỉ định tác vụ này.
b. Đối với đĩa cứng
Mọi đĩa cứng trước khi đưa ra thị trường đều đã được format vật lý, và do đó không một lý do nào để format lại (nếu không thấy cần thiết). Đối với trường hợp này, DOS không cần phải format vật lý mà đơn giản chỉ tiến hành format logic. Trong trường hợp này, tốc độ format trên đĩa cứng sẽ rất nhanh chứ không ỳ ạch như trên đĩa mềm. Sau khi đã qua format, đĩa của chúng ta đã sẵn sàng chứa dữ liệu.
Cấu trúc Vật lý
Cấu trúc đĩa dù vật lý hay lôgíc trong thực tế ít ai đề cập đến vì mức độ phức tạp, nhất là đĩa cứng. Tuy nhiên những khái niệm cơ bản lại vô cùng đơn giản.
Các loại đĩa (kể cả đĩa cứng lẫn đĩa mềm) đều dựa trên hiện tượng từ hoá để chứa dữ liệu: đầu từ đọc ghi sẽ từ hoá những phần tử cực nhỏ trên bề mặt, mỗi phần tử di chuyển qua đầu từ sẽ bị từ hoá. Do hình dạng ban đầu của đĩa là hình tròn nên nhiều người lầm tưởng đây hình dạng bắt buộc, thực ra bạn có thể tạo ra một loại đĩa có hình dạng bất kì, miễn sao tồn tại một ổ đĩa cho phép bạn truy xuất những thông tin trên đó.
Khác với trên băng từ, trên đĩa chúng ta sẽ ghi dữ liệu dưới dạng rời rạc (hoặc sẽ mang giá trị tối thiểu). Cách thể hiện như thế được gọi là Digital.
Track là cái quái gì nhẩy ?
Track (rãnh ghi)
Nếu bạn đặt một cây bút chì lên trên cái đĩa hát và xoay đường bút chì sẽ tạo thành trên đĩa một hình tròn. Và bạn cứ việc tưởng tượng rằng đĩa hát là một cái đĩa mềm còn đầu bút chì là đầu đọc/ghi. Đường do cây bút chì tạo nên bây giờ có một tên là Track. Do mỗi Track chỉ là một hình tròn chiếm một phần rất nhỏ, nên trên một đĩa ta có thể tạo nhiều hình tròn đồng tâm để có được nhiều Track.
Như vậy, trong đĩa mềm hoặc đĩa cứng, nó là một trong các đường tròn đồng tâm được mã hóa trên đĩa khi tiến hành định dạng mức thấp, và được dùng để xác định các vùng lưu trữ dữ liệu riêng biệt trên mặt đĩa.
Side (mặt đĩa)
Bất kì đĩa mềm nào cũng có hai mặt (side), do đó không ai bắt buộc chúng ta phải sử dụng một mặt đĩa (mặc dù DOS 1.xx làm điều này nhưng sau nó cũng sửa sai) ghi dữ liệu lên cả hai mặt rõ ràng mang lại tính kinh tế hơn vì khả năng chứa dữ liệu của đĩa tăng lên gấp đôi mà không cần tốn thêm ổ đĩa thứ hai, mà đơn giản là đặt thêm một đầu đọc thứ hai ở phía bên kia để tạo thành một gọng kìm . Hai mặt được đánh lần lượt là 0 và 1.
Cylinder
Rõ ràng một thuận lợi thứ hai của hai mặt: dữ liệu có thể ghi hai lần nhanh hơn trước khi đầu đọc chuyển sang Track mới. Dữ liệu đầu tiên có thể ghi lên Track của mặt này, sau đó cùng một Track như thế nhưng ở một mặt bên kia, rồi sau đó mới chuyển sang Track khác, một cặp Track đối xứng như thế được tham chiếu đến như một phần tử duy nhất Cylinder.
Như vậy, trong các ổ đĩa, Cylinder là một đơn vị lưu trữ bao gồm một tập các rãnh ghi (track) chiếm cùng vị trí. Trên đĩa hai mặt, một cilinder sẽ bao gồm rãnh 1 của mặt trên và rãnh 1 của mặt dưới.
Để thuận lợi cho việc tham chiếu, cả Track và Cylinder được đánh số, track ở ngoài cùng được đánh số là Track 0. Track ở mặt trên ngoài cùng là Track 0, side 0, track ở mặt dưới là Track 0 mặt 1. Những track 0 như thế gọi là Cylinder 0. Bạn chắc đã nghe nói đến đĩa mềm 360 Kb, những loại đĩa như thế sẽ có 40 Track được đánh số từ 0 đến 39, hoặc loại đĩa 1,2 Mb sẽ có 80 Track được đánh số từ 0 đến 79 (thông thường việc đánh số trên máy tính bắt đầu từ 0 hơn là 1, tuy nhiên vẫn có ngoại lệ khi sector bắt đầu đánh số từ 1 và Cluster được đánh số bắt đầu từ 2).
Đối với đĩa cứng, một số mô hình đơn giản là là các đĩa mềm được xếp song song với nhau thành hình trụ. Do đó, một cilinder sẽ gồm các rãnh trên cả hai mặt của tất cả các đĩa. Đĩa trên cùng là side 0 đáy của nó là side 1 đĩa thứ hai có hai mặt lần lượt là side 2 và side 3 v.v Tập hợp những track 0 được tham khảo dưới tên gọi là Cylinder 0. Và tất nhiên số đầu đọc cũng sẽ tăng theo. Khối lượng dữ liệu trên một track trên đĩa cứng cũng thay đổi tuỳ thuộc từng máy tuy nhiên thường từ 8Kb đến 12Kb trên một track.
Sector(cung từ)
Sector là một đoạn trên một trong các rãnh ghi đồng tâm đã được mã hoá của đĩa đó trong quá trình định khuôn thức mức thấp.
Mặc dù có thể đọc/ghi dữ liệu trên đĩa một lúc 8 đến 12Kb, trong thực tế không ai giám dùng dến một khối lượng lớn đến như thế. Bộ điều khiển đĩa thường được thiết kế để có thể đọc và ghi một đoạn Sector phụ thuộc vào phần cứng của bộ điều khiển đĩa và vào hệ điều hành: các nhà thiết kế sẽ tạo những kích thước này là 128,256,512, và 1024 byte. Đối với hệ điều hành DOS, kích thước được chọn là 512 byte cho một Sector và cho tất cả các loại đĩa.
Trên đĩa mềm 360Kb, một Track có thể đạt 10 Sector, tuy nhiên vì vấn đề an toàn dữ liệu DOS chỉ chọn 9 Sector cho một track. Chính vì điều này dễ thấy một đĩa 40 Track sẽ có: 40 Track x 2 side x 9 Sector x 512 Byte = 360Kb.
Đối với đĩa cứng mật độ track trên một inch có thể đạt tới 600 track/ inch, do đó khả năng lưu trữ dữ liệu của đĩa cứng lớn hơn đĩa mềm rất nhiều. Lúc này để tham chiếu, không những chúng ta phải chỉ ra mặt (side) và track mà còn phải chỉ ra số sector nào trong track đó.
Đánh địa chỉ Sector
Khi chúng ta đã đạt đến track cần đọc/ghi, làm thế nào có thể nhận ra Sector cần tìm? Có hai cách để nhận ra hai Sector, đó là:
a. Đánh số Sector bằng phương pháp cứng (Hard Sectoring)
Những lỗ đều nhau sẽ được bấm xung quanh đĩa và mỗi lỗ như thế có ý nghĩa đánh dấu sự bắt đầu một Sector. Phương pháp này tỏ ra không còn hiệu nghiệm khi tốc độ truy xuất đĩa ngày càng gia tăng.
b. Đánh số Sector mềm (Soft Sectoring)
Phương pháp này mã hoá địa chỉ của Sector thành dữ liệu của Sector đó và được gắn vào trước mỗi Sector, vì Sector được đánh số tuần tự xung quanh track nên địa chỉ của nó đơn giản là các số liên tiếp xung quanh track (tuy nhiên đối với một số đĩa được thiết kế chống sao chép thì điều này lại khác).
Hiện nay, phương pháp đánh số mềm được dùng rộng rãi, với phương pháp này, trước khi đĩa được dùng, địa chỉ của Sector phải được ghi vào Sector (quá trình này được thực hiện trong quá trình format đĩa). Địa chỉ Sector thực ra chỉ là một phần thông tin trong dữ liệu ở phần đầu Sector, ngoài ra còn một số thông tin khác mà thiết nghĩ rằng nêu ra ở đây chỉ làm rối độc giả.
Format vật lý
Ghi toàn bộ địa chỉ Sector, các thông tin khác vào phần đầu của Sector được gọi là Format vật lý hay Format ở mức thấp vì việc này thực hiện chỉ bằng phần cứng của bộ điều khiển đĩa, trong quá trình format, phần mềm sẽ bắt bộ điều khiển tiến hành format với những thông số về kích thước của một Sector, còn công việc còn lại tự bộ điều khiển đĩa phải làm.
Format vật lý phải được thực hiện trước khi đĩa được đưa vào sử dụng. Một quá trình độc lập thứ hai là Format logic cũng phải thực hiện ngay sau đó trước khi đĩa chuẩn bị chứa dữ liệu. ở mức này, tuỳ theo cách tổ chức của từng hệ điều hành, nó sẽ chia đĩa thành từng vùng tương ứng.
Trong thực tế, hầu như không ai chú ý đến vấn đề này vì đã có lệnh Format của DOS. Tuy nhiên để giải thích công việc cụ thể của lệnh này thì hầu như ít ai quan tâm đến. Có thể giải thích như sau:
a. Đối với đĩa mềm
Một đĩa dù đã được format hay chưa format lần nào đều được đối xử bình đẳng như nhau, nghĩa là đầu tiên DOS sẽ tiến hành format vật lý, sau đó sẽ format logic nhằm khởi tạo các vùng hệ thống và dữ liệu.
Đối với một đĩa đã qua một lần format, quá trình format vật lý sẽ không còn cần thiết (trừ trường hợp muốn format vật lý lại) do đó nếu chỉ có quá trình format logic sẽ làm giảm thời gian format một đĩa. ý tưởng này, thực tế đã được các phần mềm chuyên dụng khai thác rất kỹ. PCformat của Center point, Safeformat của Norton v.v đều có những option cho phép chỉ định tác vụ này.
b. Đối với đĩa cứng
Mọi đĩa cứng trước khi đưa ra thị trường đều đã được format vật lý, và do đó không một lý do nào để format lại (nếu không thấy cần thiết). Đối với trường hợp này, DOS không cần phải format vật lý mà đơn giản chỉ tiến hành format logic. Trong trường hợp này, tốc độ format trên đĩa cứng sẽ rất nhanh chứ không ỳ ạch như trên đĩa mềm. Sau khi đã qua format, đĩa của chúng ta đã sẵn sàng chứa dữ liệu.