Bài giảng Hệ điều hành - Chương 6: Cấu trúc lưu trữ đĩa - Đặng Minh Quân

Cấu trúc đĩa

Đĩa có ba ưu điểm chính hơn sử dụng bộ nhớ chính để lưu trữ :

 Dung lượng lưu trữ lớn hơn rất nhiều.

 Giá trên một bit rẻ hơn.

 Thông tin không bị mất đi khi không còn cung cấp điện.

Điều phối đĩa

Tốc độ đĩa bao gồm ba phần.

seek time : di chuyển đầu đọc đến track hay cylinder thích hợp

latency time : chờ cho đến khi khối cần thiết đến dưới đầu đọc

transfer time : vận chuyển dữ liệu giữa đĩa và bộ nhớ

seek time và latency time là mất nhiều thời gian nhất

Thuật toán SSTF

Thuật toán này sẽ di chuyển đầu đọc đến các khối cần thiết theo vị trí lần lượt gần với vị trí hiện hành của đầu đọc nhất.

Ví dụ : cần đọc các khối tạI các cylinder như sau :  98, 183, 37, 122, 14, 124, 65, và 67. Giả sử hiện tại đầu đọc đang ở vị trí 53.

 

ppt 41 trang kimcuc 4060
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Hệ điều hành - Chương 6: Cấu trúc lưu trữ đĩa - Đặng Minh Quân", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Hệ điều hành - Chương 6: Cấu trúc lưu trữ đĩa - Đặng Minh Quân

Bài giảng Hệ điều hành - Chương 6: Cấu trúc lưu trữ đĩa - Đặng Minh Quân
Hệ điều hành 
Chương 6 : Cấu trúc lưu trữ đĩa 
Tổng quan 
Cấu trúc đĩa 
Điều phối đĩa 
Quản lý đĩa 
SWAP 
RAID 
Cấu trúc đĩa 
Đĩa có ba ưu điểm chính hơn sử dụng bộ nhớ chính để lưu trữ : 
 Dung lượng lưu trữ lớn hơn rất nhiều . 
 Giá trên một bit rẻ hơn . 
 Thông tin không bị mất đi khi không còn cung cấp điện . 
Cấu trúc đĩa 
Điều phối đĩa 
Tốc độ đĩa bao gồm ba phần . 
seek time : di chuyển đầu đọc đến track hay cylinder thích hợp 
latency time : chờ cho đến khi khối cần thiết đến dưới đầu đọc 
transfer time : vận chuyển dữ liệu giữa đĩa và bộ nhớ 
seek time và latency time là mất nhiều thời gian nhất 
Thuật toán FCFS 
Ví dụ : cần phải đọc các khối tạI các cylinder theo thứ tự như sau : 
98, 183, 37, 122, 14, 124, 65, và 67 
Giả sử hiện tại đầu đọc đang ở vị trí 53. 	 
Thuật toán SSTF 
Thuật toán này sẽ di chuyển đầu đọc đến các khối cần thiết theo vị trí lần lượt gần với vị trí hiện hành của đầu đọc nhất . 
Ví dụ : cần đọc các khối tạI các cylinder như sau :  98, 183, 37, 122, 14, 124, 65, và 67 . Giả sử hiện tại đầu đọc đang ở vị trí 53. 
Thuật toán SCAN 
Theo thuật toán này , đầu đọc sẽ di chuyển về một phía của đĩa và từ đó di chuyển qua phía kia . 
Ví dụ : cần đọc các khối tạI các cylinder như sau :  98, 183, 37, 122, 14, 124, 65, và 67 . Giả sử hiện tại đầu đọc đang ở vị trí 53. 
Thuật toán CSCAN 
Thuật toán này tương tự như thuật toán SCAN, chỉ khác là khi nó di chuyển đến một đầu nào đó của đĩa , nó sẽ lập tức trở về đầu bắt đầu của đĩa . 
Ví dụ : cần đọc các khối tạI các cylinder như sau :  98, 183, 37, 122, 14, 124, 65, và 67 . Giả sử hiện tại đầu đọc đang ở vị trí 53. 
Thuật toán LOOK 
T hông thường thì đầu đọc chỉ chuyển đến cylinder xa nhất ở mỗi hướng chứ không đến cuối . Do đó SCAN và C-SCAN được chỉnh theo thực tế và gọi là lập lịch LOOK. 
Ví dụ : cần đọc các khối tạI các cylinder như sau :  98, 183, 37, 122, 14, 124, 65, và 67 . Giả sử hiện tại đầu đọc đang ở vị trí 53. 
Định dạng đĩa 
Một đĩa từ tính mới chỉ là một phiến trắng 
Trước khi một đĩa có thể lưu trữ dữ liệu, nó phải được chia thành các sector để b ộ điều khiển đĩa có thể đọc và viết. 
Định dạng cấp thấp điền vào đĩa với một cấu trúc dữ liệu đặc biệt cho từng sector. 
Cấu trúc dữ liệu cho một sector thường bao gồm một tiêu đề, một vùng dữ liệu (thường là 512 byte), và mã kết thúc. 
Định dạng đĩa 
Các tiêu đề và mã kết thúc chứa thông tin được sử dụng bởi bộ điều khiển đĩa, chẳng hạn như số hiệu của sector và một mã sửa lỗi (ECC). 
Khi bộ điều khiển viết dữ liệu vào một sector trong quá trình I / 0 bình thường, ECC được cập nhật với một giá trị tính từ tất cả các byte trong khu vực dữ liệu. 
Khi dữ liệu khu vực được đọc, ECC được tính toán lại và so sánh với giá trị được lưu trữ. 
Định dạng đĩa 
Trước khi có thể sử dụng một đĩa để chứa các tập tin, hệ điều hành vẫn cần phải ghi lại các cấu trúc dữ liệu riêng của mình trên đĩa. 
Bước đầu tiên là phân vùng đĩa thành một hoặc nhiều nhóm các cylinder. Hệ điều hành coi mỗi phân vùng như thể là một đĩa riêng biệt. 
Tiếp theo , h ệ điều hành lưu trữ các cấu trúc dữ liệu ban đầu về hệ thống file vào đĩa. Các cấu trúc dữ liệu này có thể bao gồm bản đồ không gian còn dư và không gian đã phân bổ (một FAT hoặc inodes) và một thư mục trống ban đầu. 
Khối khởi động 
Hầu hết các hệ thống lưu trữ một chương trình bootstrap nhỏ trong ROM khởi động, chương trình này có nhiệm vụ là lấy một chương trình bootstrap đầy đủ từ đĩa. 
Chương trình tải và khởi động hệ điều hành đầy đủ được lưu trữ trong các khối khởi động tại một vị trí cố định trên đĩa. Một đĩa có một phân vùng khởi động được gọi là một đĩa khởi động hoặc ổ đĩa hệ thống. 
Khối khởi động 
Windows 2000 
Hệ thống Windows 2000 đặt mã khởi động của nó trong sector đầu tiên trên đĩa cứng (gọi là Master Boot Record hoặc MBR) 
Ngoài việc chứa mã khởi động, MBRcó chứa một bảng danh sách các phân vùng cho đĩa cứng và có một cờ cho biết phân vùng hệ thống khởi động 
Một khi hệ thống xác định được phân vùng khởi động, nó đọc sector đầu tiên từ phân vùng (được gọi là sector khởi động) và tiếp tục với phần còn lại của quá trình khởi động, trong đó bao gồm tải các hệ thống con khác nhau và hệ thống dịch vụ. 
Khối khởi động 
Khối hỏng 
Bởi vì đĩa có bộ phận chuyển động với dung sai nhỏ (nhớ lại rằng các đầu đĩa bay ngay trên bề mặt đĩa), chúng rất dễ bị lỗi. 
Trên các ổ đĩa đơn giản, chẳng hạn như một số đĩa với bộ điều khiển IDE, khối xấu xử lý bằng tay – format, chkdsk . 
M ột số bộ điều khiển có thể hướng dẫn để thay thế một khối xấu bằng cách trượt qua sector. 
Không gian swap 
Không gian swap được sử dụng theo nhiều cách khác nhau tùy thuộc vào hệ điều hành sử dụng các thuật toán quản lý bộ nhớ khác nhau. 
H ệ thống sẽ an toàn hơn nếu không gian swap lớn 
Trong Linux vừa qua đã đề nghị thiết lập không gian swap gấp đôi dung lượng của bộ nhớ vật lý 
Định vị không gian swap 
Một không gian swap có thể cư trú tại một file trong hệ thống tập tin bình thường 
Cách tiếp cận này, mặc dù dễ dàng nhưng thực hiện không hiệu quả. 
Duyệt cấu trúc thư mục và cấu trúc dữ liệu phân bổ đĩa cần có thời gian và cần phải truy cập đĩa nhiều thêm. 
Ngoài ra hiện tượng phân mảnh có thể làm tăng thời gian trao đổi do phải tìm nhiều trong quá trình đọc hoặc viết hình ảnh của một tiến trình. 
Định vị không gian swap 
K hông gian swap có thể được tạo ra trong một phân vùng riêng biệt. 
Không hệ thống tập tin hoặc cấu trúc thư mục được đặt trong không gian này. Thay vào đó, một bộ quản lý không gian swap riêng biệt được sử dụng để phân bổ và giải phóng các khối từ các phân vùng thô. 
Chương trình quản lý này sử dụng các thuật toán tối ưu hóa cho tốc độ chứ không phải là để lưu trữ hiệu quả 
Cấu trúc RAID 
Ổ đĩa tiếp tục được thu nhỏ hơn và rẻ hơn, do đó, bây giờ là khả thi về mặt kinh tế để đính kèm nhiều đĩa cho một hệ thống máy tính. 
Có một số lượng lớn ổ đĩa trong một hệ thống tạo cơ hội để cải thiện tốc độ đọc hoặc ghi dữ liệu, nếu các đĩa được vận hành song song. 
Hơn nữa, điều này cung cấp tiềm năng để cải thiện độ tin cậy của dữ liệu lưu trữ 
M ảng dự phòng các đĩa độc lập (redundant arrays of independent disks RAIDs), thường được sử dụng để giải quyết các vấn đề hiệu suất và độ tin cậy. 
RAID 0 
( P hân chia cấp khối mà không có mã chẵn lẻ hoặc sao lưu) không có dự phòng 
Nó cung cấp cải thiện hiệu suất và lưu trữ bổ sung nhưng không có khả năng chịu lỗi. 
Bất cứ đĩa hỏng nào sẽ phá hủy mảng các đĩa, và khả năng xảy ra lỗi gia tăng với số các ổ đĩa trong mảng 
Số đĩa cho hoạt động đọc: 1 
Số đĩa cho hoạt động viết: 1 
RAID 1 
(phản chiếu mà không cần mã chẵn lẻ hoặc phân chia khối), dữ liệu được viết giống hệt với nhiều đĩa (một "tập hợp được nhân đôi"). 
Giả sử có n đĩa trong RAID 1 
Số đĩa cho hoạt động đọc: 1 
Số đĩa cho hoạt động viết: n 
RAID 2 
(phân chia cấp bit với mã chẵn lẻ Hamming), tất cả các trục quay đĩa được đồng bộ, và dữ liệu được phân chia như vậy mà mỗi bit tuần tự ở vào một đĩa khác nhau. 
Mã chẵn lẻ Hamming được tính toán trên bit tương ứng trên đĩa và được lưu trữ trên ít nhất một đĩa chứa mã chẵn lẻ 
Giả sử có n đĩa trong RAID 2 
Số đĩa cho hoạt động đọc: n 
Số đĩa cho hoạt động viết: n 
RAID 3 
(phân chia cấp byte với mã chẵn lẻ chuyên dụng), tất cả các trục quay đĩa được đồng bộ, và dữ liệu được phân chia vì vậy mỗi byte tuần tự ở vào một đĩa khác nhau. 
Mã chẵn lẻ được tính toán trên byte tương ứng trên đĩa và được lưu trữ trên một đĩa chứa mã chẵn lẻ chuyên dụng. 
Giả sử có n đĩa trong RAID 3 
Số đĩa cho hoạt động đọc: n 
Số đĩa cho hoạt động viết: n 
RAID 4 
(phân chia cấp khối với mã chẵn lẻ chuyên dụng) là giống hệt với RAID 5 (xem dưới đây), nhưng giới hạn tất cả các dữ liệu mã chẵn lẻ vào một đĩa đơn, có thể tạo ra một nút cổ chai về hiệu suất. 
Giả sử có n đĩa trong RAID 4 
Số đĩa cho hoạt động đọc: 1 
Số đĩa cho hoạt động viết: 2 
RAID 5 
(phân chia cấp khối với mã chẵn lẻ phân tán) phân phối mã chẵn lẻ cùng với các dữ liệu. 
Mảng không bị hủy bởi một ổ đĩa hỏng duy nhất. Sau khi ổ đĩa hỏng, bất kỳ lần đọc tiếp theo có thể được tính từ mã chẵn lẻ được phân tán 
Giả sử có n đĩa trong RAID 5 
Số đĩa cho hoạt động đọc: 1 
Số đĩa cho hoạt động viết: 2 
RAID 6 
(phân chia cấp khối với mã chẵn lẻ phân phối đôi) cung cấp khả năng chịu lỗi từ hai ổ đĩa hỏng, mảng tiếp tục hoạt động với hai ổ đĩa hỏng. 
Giả sử có n đĩa trong RAID 6 
Số đĩa cho hoạt động đọc: 1 
Số đĩa cho hoạt động viết: 3 
RAID 10 
Thuật ngữ RAID 10 được sử dụng miêu tả sự kết hợp của RAID 0 (phân nhỏ) và RAID 1 (phản xạ). 
Đĩa được nhân đôi trong cặp cho dự phòng và cải thiện hiệu suất, sau đó dữ liệu được phân nhỏ trên nhiều đĩa cho hiệu suất tối đa. 
Giả sử số cho RAID 0 là n, số cho RAID 1 là m 
Số đĩa cho hoạt động đọc: 1 
Số đĩa cho hoạt động viết: m 

File đính kèm:

  • pptbai_giang_he_dieu_hanh_chuong_6_cau_truc_luu_tru_dia_dang_mi.ppt