lOMoARcPSD| 61552860
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN ĐIỆN TỬ - VIỄN THÔNG
~~~~~
~~~~~
HỆ ĐIỀU HÀNH
Đề tài: Quản lý bộ nhớ ngoài
Giáo viên hướng dẫn:
TS.Nguyễn Thanh Bình
Nhóm sinh viên thực hiện:
Lê Danh Thăng – 20182774
Thanh ng – 20182873
Nguyễn Duy Lộc – 20182644
Nguyễn Xuân Đỉnh – 20182423
Trần Ngọc Tiến – 20182819
Hà Nội, 10/2021
1
lOMoARcPSD| 61552860
MỤC LỤC
MỤC LỤC........................................................................................................
Danh Mục Hình Ảnh............................................................................6
LỜI MỞ ĐẦU.......................................................................................8
Phần I. Cấu trúc bộ nhớ khối (Mass-Storage Structure)...............10
I.1. Tổng quát:.................................................................................................
I.1.1 Đĩa từ (Magnetic Disks):.......................................................11
I.1.2. Ổ cứng SSD (Solid-State Disks)..........................................11
I.1.3. Băng từ (Magnetic Tapes)....................................................12 I.2.
Cấu trúc đĩa (Disk Structure)....................................................................
I.3. Đĩa đính kèm (Disk Attachment).............................................................
I.3.1. Bộ nhớ đính kèm máy chủ (Host-Attached Storage)...........13
I.3.2. Bộ nhớ đính kèm mạng (Network- Attached Storage)........13
I.3.3. Mạng khu vực lưu trữ (Storage-Area Network).................14
I.4. Lập lịch cho đĩa (Disk Scheduling)..........................................................
I.4.1. Phương pháp First Come First Serve...................................15
I.4.2. Phương pháp Shortest Seek Time First................................15
I.4.3. Phương Pháp Scan...............................................................16
I.4.4. Phương pháp C-Scan............................................................17
I.4.5. Phương pháp LOOK............................................................18
I.5. Quản lí đĩa (Disk Management)...............................................................
I.5.1. Định dạng đĩa (Disk Formatting).........................................18
I.5.2. Khối khởi động (Boot Block)..............................................19
I.5.3. Các khối hỏng (Bad Blocks)................................................20
I.6. Quản lý không gian nhớ phụ (Swap-Space Management).......................
I.6.1. Sử dụng không gian nhớ phụ (Swap-Space Use).................21
I.6.2. Vị trí không gian nhớ phụ (Swap-Space Location).............21
I.7. Cấu trúc RAID (RAID Structure).............................................................
lOMoARcPSD| 61552860
I.7.1.Cải thiện độ tin cậy thông qua cơ chế dự phòng (via
Redundancy)........................................................................................21
I.7.2. Cải thiện hiệu suất (Performance) thông qua cơ chế song
song (Parallelism)................................................................................22
I.7.3. Các cấp RAID (RAID levels)..............................................23
I.7.4. Chọn một cấp độ RAID.......................................................24
I.7.5. Các vấn đề gặp phải với RAID............................................25
I.8. Thực thi bộ nhớ n định (Stable-Storage Implementation)......................
Phần II. Giao diện hệ thống tập tin (File-System Interface)..........27
II.1. Khái niệm................................................................................................
II.1.1. Định danh của tệp...............................................................27
II.1.2. Hoạt động của tệp...............................................................28
II.1.3. Các dạng của tệp.................................................................30
II.1.4. Cấu trúc tệp.........................................................................30
II.2. Những phương thức truy nhập (Access Methods)..................................
II.2.1. Truy cập tuần tự..................................................................31
II.2.2 Truy cập trực tiếp.................................................................31
II.2.3 Một số phương pháp khác...................................................31
II.3. Cấu trúc thư mục và đĩa (Directory and Disk Structure)........................
II.3.1 Cấu trúc bộ nhớ ngoài..........................................................32
II.3.2 Tổng quan về thư mục.........................................................33
II.3.3 Thư mục 2 cấp ..............................................................33
II.3.4. Gắn kết hệ thống tệp (File-System Mounting)...................34
Phần III. Triển khai hệ thống tệp.....................................................42 III.1.
Cấu trúc hệ thống tệp............................................................................. III.2.
Triển khai hệ thống tệp..........................................................................
III.2.1. Tổng quát...........................................................................43
III.2.2. Phân vùng và gắn kết........................................................45
lOMoARcPSD| 61552860
III.2.3. Hệ thống tập tin ảo............................................................46
III.3. Thực thi thư mục....................................................................................
III.3.1. Danh sách tuyến tính.........................................................47
III.3.2. Bảng băm...........................................................................47
III.4. Các phương pháp cấp phát.....................................................................
III.4.1. Cấp phát liên tục................................................................48
III.4.2. Cấp phát liên kết................................................................50
III.4.3. Cấp phát theo chỉ mục.......................................................51
III.4.4. Hiệu suất............................................................................53
III.5. Quản lý không gian tự do.......................................................................
III.5.1. Véc-tơ bit...........................................................................53
III.5.2. Danh sách liên kết.............................................................54
III.5.3. Nhóm.................................................................................55
III.5.4. Đếm...................................................................................55
III.5.5. Bản đồ không gian tự do...................................................55
III.6. Hiệu suất và hiệu quả.............................................................................
III.6.1. Hiệu quả............................................................................56
III.6.2. Hiệu suất............................................................................56
III.7. Khôi phục (Recovery)............................................................................
III.7.1. Kiểm tra tính nhất quán.....................................................58
III.7.2. Hệ thống tệp có cấu trúc nhật ký ( Log-Structured File
Systems )..............................................................................................58
III.7.3. Các giải pháp khác............................................................58
III.7.4. Sao lưu khôi phục.........................................................59 III.8.
Hệ thống tệp mạng - NFS......................................................................
III.9. dụ về hệ thống tệp WAFL.................................................................
Phần IV. Hệ thống ngoại vi (I/O Systems).......................................63
IV.1. Tổng quát............................................................................................... IV.2. Phần
cứng ngoại vi................................................................................
lOMoARcPSD| 61552860
IV.2.1 Cơ chế bỏ phiếu (Polling)..................................................65
IV.2.2 Cơ chế ngắt (Interrupts).....................................................66
IV.3. Giao diện ứng dụng I/O.........................................................................
IV.3.1 Thiết bị khối và thiết bị dạng từ.........................................68
IV.3.2 Các thiết bị mạng...............................................................68
IV.3.3 Đồng hồ và bộ định thời.....................................................68
IV.3.4. I/O Nonblocking và bất đồng bộ.......................................69
IV.4. Kernel I/O Subsystem............................................................................
IV.4.1 Lập lịch I/O........................................................................70
IV.4.2 Phương pháp đệm (Buffering)...........................................70
IV.4.3. Cơ chế Caching.................................................................70
IV.4.4 Spooling and Device Reservation......................................70
IV.4.5 Xử lí lỗi..............................................................................71
IV.4.6 Bảo vệ I/O..........................................................................71
IV.4.7 Cấu trúc dữ liệu Kernel......................................................71
IV.5. Chuyển đổi yêu cầu I/O sang hoạt động phần cứng..............................
IV.7. Hiệu năng...............................................................................................
lOMoARcPSD| 61552860
KẾT LUẬN.........................................................................................77
Danh Mục Hình Ảnh
Hình 1 1. Disk head..............................................................................11
Hình 1.2................................................................................................14
lOMoARcPSD| 61552860
Hình 1.3................................................................................................14
Hình 1.4................................................................................................15
Hình 1.5................................................................................................16
Hình 1.6................................................................................................17
Hình 1.7................................................................................................18
Hình 1.8................................................................................................20
Hình 1.9................................................................................................23
Hình 1.10..............................................................................................24
Hình 1.11..............................................................................................25
Hình 2.1................................................................................................30
Hình 2.2................................................................................................35
Hình 2.3................................................................................................35
Hình 3.1................................................................................................42
Hình 3.2................................................................................................44
Hình 3.3................................................................................................45
Hình 3.4................................................................................................46
Hình 3 5................................................................................................49
Hình 3.6................................................................................................51
Hình 3.7................................................................................................51
Hình 3. 8...............................................................................................52
Hình 3.9................................................................................................52
Hình 3.10..............................................................................................54
Hình 3.11..............................................................................................57
Hình 3.12..............................................................................................60
Hình 3.13. The WAFL file layout.......................................................61
Hình 3.14..............................................................................................62
Hình 4.1................................................................................................64
Hình 4.2................................................................................................66
lOMoARcPSD| 61552860
Hình 4.3................................................................................................67
Hình 4.4................................................................................................70
Hình 4.5................................................................................................72
Hình 4.6................................................................................................73
Hình 4.7................................................................................................74
Hình 4.8................................................................................................75
Hình 4.9................................................................................................76
Hình 4.10..............................................................................................77
LỜI MỞ ĐẦU
Do bộ nhớ trong đang trở nên quá nhỏ đchứa những đđáp ứng toàn bdữ
liệu chương trình một cách lâu dài, hệ thống máy tính phải cung cấp
không gian lưu trữ thứ cấp để sao lưu bộ nhớ trong. Ngày nay máy tính hiện
đại sử dụng các đĩa nphương tiện lưu trữ cấp thông tin (cả chương
trình dữ liệu). Hệ thống tệp cung cấp chế lưu trữ trực tuyến truy
cập vào dliệu chương trình trên đĩa. Một tệp tin một tập hợp các
thông tin liên quan, được xác định bởi người tạo ra nó. Các tệp tin được hệ
điều hành sắp đặt vào các thiết bị vật lý. Chúng thường được tổ chức thành
các thư mục để tiện cho việc sử dụng.
Các thiết bị được lắp đặt vào máy tính rất đa dạng. Một số thiết b truyền dữ
liệu dạng từ hoặc khối các từ trong một thời điểm. Số khác có thể được truy
lOMoARcPSD| 61552860
cập tuần tự hoặc ngẫu nhiên. Một số thì truyền dữ liệu đồng bộ, hoặc bất
đồng bộ, hoặc được dành riêng, hoặc được phép chia sẻ. Chúng thể loại
chỉ đọc (read-only) hoặc đọc ghi (read-write) và khác nhau rất nhiều về tốc
độ. Theo nhiều cách khác nhau, chúng cũng là thành phần chính, chậm nhất
của máy tính.
Do sự khác nhau giữa các thiết bị, hệ điều hành cần cung cấp một loại các
chức năng cho các ứng dụng để cho phép chúng điều khiển tất cả khía cạnh
của các thiết bị. Một mục tiêu chính của hệ thống ngoại vi phụ của hệ điều
hành cung cấp giao diện đơn giản nhất cho toàn bộ hệ thống. Bởi các
thiết bị đều gặp phải hiện tượng "thắt cổ chai" về mặt hiệu suất, một giải
pháp khác là tối ưu ngoại vi để có sự đồng bộ tối đa.
Phần I. Cấu trúc bộ nhớ khối (Mass-Storage Structure)
I.1. Tổng quát:
I.1.1 Đĩa từ (Magnetic Disks):
Đĩa từ cung cấp một lượng lớn bộ nhớ thứ cấp của máy tính hiện đại. Hầu
hết cácđĩa có tốc độ quay khoảng 60-250 lần trong một giây. Tốc độ ổ đĩa
bao gồm 2 thành phần:
Tốc độ truyền tải (transfer rate): Tốc độ dữ liệu truyền giữa ổ đĩa và máy
tính.
Thời gian định vị (thời gian truy cập ngẫu nhiên): Thời gian để dịch
chuyển tay quay của đĩa (disk arm) tới trc hình trụ (cylinder) (thời gian tìm
lOMoARcPSD| 61552860
kiếm - seek time) và thời gian để vùng (sector) quay dưới đầu đĩa (disk head).
Hình 1 1. Disk head
Hiện tượng head crash xảy ra khi đầu đĩa va chạm với bề mặt đĩa, dẫn tới
phải thay toàn bộ ổ đĩa, không thể sửa được.
Ổ đĩa có thể được loại bỏ.
đĩa được kết nối với máy tính thông qua hệ thống I/O bus. Hệ thống
bus rất đa dạng, bao gồm các chuẩn EIDE, ATA, SATA, USB, Fibre Channel,
SCSI, SAS, Firewire. Máy chủ điều khiển (host controller) máy tính s
dụng hthông bus để giao tiếp với bộ điều khiển đĩa đã được xây dựng
trong ổ đĩa hoặc mảng lưu trữ.
I.1.2. Ổ cứng SSD (Solid-State Disks)
Công nghệ phát triển, một số công nghệ cũng được cải tiến hoặc được
thay thế. Ví dụ công nghệ SSD với các cải tiến sau:
- Bộ nhớ tĩnh được sử dụng như một ổ cứng
- Độ tin cậy cao hơn HDDs
- Dung lượng ít hơn nhưng tốc độ nhanh hơn
- Tuy nhiên, SSD thể gặp phải c vấn đề vtuổi thọ hay
không các bộ phận chuyển động dẫn tới không seek time
hay độ trễ quay (rotational latency).
I.1.3. Băng từ (Magnetic Tapes)
Băng từ được sử dụng như một phương tiện lưu trữ thứ cấp. Mặc
lưu trữ tương đối lâu dài và có thể chứa số lượng lớn dữ liệu, thời gian truy
cập chậm hơn so với bộ nhớ chính và đĩa từ. Ngoài ra, truy cập ngẫu nhiên
lOMoARcPSD| 61552860
vào băng từ chậm hơn khoảng một nghìn lần so với truy cập vào đĩa từ,
vậy băng không hữu ích lắm cho việc lưu trữ thứ cấp.
I.2. Cấu trúc đĩa (Disk Structure)
Ổ đĩa được đánh địa chỉ dưới dạng mảng lớn 1 chiều của các khối logic,
trong đó các khối logic là đơn vị truyền nhỏ nhất. Định dạng cấp thấp tạo ra
các khối logic trên phương tiện vật lý.
Mảng 1 chiều của các khối logic được ánh xạ vào các sectors của đĩa một
cách tuần tự.
Sector 0 là sector đầu tiên của track đầu tiên trên trục hình trụ ngoài cùng.
Quá trình ánh xạ được tiến hành theo thứ tự qua track đó, sau đó đến phần
còn lại của track trong trục đó, rồi qua phần còn lại của trục tngoài cùng
đến trong cùng.
Địa chỉ logic và địa chỉ vật lý nên được đánh ddàng, trừ trường hợp các
sector bị hỏng số sector không đổi trên mỗi track thông qua vận tốc góc
không đổi.
I.3. Đĩa đính kèm (Disk Attachment)
Máy tính truy cập bộ nhớ đĩa theo hai cách. Một cách là qua các cổng I /
O (hoặc bộ nhớ đính kèm máy chủ); điều này thường xảy ra trên các hệ thống
nhỏ. Cách khác là thông qua một máy chủ từ xa trong một hệ thống tệp phân
tán; đây được gọi là bộ nhớ đính kèm mạng (network-attached storage).
I.3.1. Bộ nhớ đính kèm máy chủ (Host-Attached Storage)
Bộ nhớ đính kèm trên máy chủ là bộ nhớ được truy cập thông qua các
cổng I / O cục bộ.
Máy trạm máy chủ cao cấp thường sử dụng I / O phức tạp hơn các
kiến trúc như kênh sợi quang (FC), một kiến trúc nối tiếp tốc độ cao thể
hoạt động qua cáp quang hoặc qua cáp đồng bốn lõi. hai biến thể. Một
vải chuyển mạch lớn không gian địa chỉ 24 bit. Biến thể FC khác
một vòng lặp (FC-AL) có thể xử 126 thiết bị (bộ truyền động bộ điều
khiển).
lOMoARcPSD| 61552860
I.3.2. Bộ nhớ đính kèm mạng (Network- Attached Storage)
Bộ nhớ đính kèm mạng (NAS) bộ nhớ được cung cấp qua mạng chứ
không phải qua kết nối cục bộ (chẳng hạn như bus) vàthể đính kèm từ xa
vào hệ thống tệp. NFS và CIFS là các giao thức thông dụng trong NAS.
Các lệnh gọi thủ tục từ xa (RPC) được truyền qua TCP hoặc UDP qua
mạng IP - thường là cùng một mạng cục bộ (LAN) mang tất cả lưu lượng dữ
liệu đến máy khách. vậy, NAS hiểu đơn giản một giao thức truy cập
lưu trữ khác. Đơn vị lưu trữ gắn liền với mạng thường được triển khai dưới
dạng mảng RAID với phần mềm triển khai giao diện RPC.
Hình 1.2
iSCSI là giao thức lưu trữ gắn liền với mạng mới nhất. Về bản chất, nó
sử dụng giao thức mạng IP để thực hiện giao thức SCSI. Do đó, các mạng
thay vì cáp SCSI - có thể được sử dụng làm kết nối giữa các máy chủ và bộ
lưu trữ của chúng. Do đó, máy chủ thể coi bộ nhớ của họ như thể được
gắn trực tiếp, ngay cả khi bộ lưu trữ ở xa máy chủ.
I.3.3. Mạng khu vực lưu trữ (Storage-Area Network)
Mạng khu vực lưu trữ (SAN) một mạng riêng (sử dụng các giao thức
lưu trữ chứ không phải giao thức mạng) kết nối máy chủ và đơn vị lưu trữ.
lOMoARcPSD| 61552860
Hình 1.3
Nhiều máy chủ và nhiều mảng lưu trữ có thể được gắn vào cùng một
SAN bộ nhớ thể được phân bổ động cho các máy chủ. Một chuyển
mạch SAN cho phép hoặc cấm truy cập giữa các máy chủ và bộ nhớ.
FC kết nối SAN phổ biến nhất, mặc tính đơn giản của iSCSI ngày
càng gia tăng công dụng của nó. Một kết nối SAN khác là InfiniBand - một
mục đích đặc biệt kiến trúc bus cung cấp hỗ trợ phần cứng phần mềm cho
tốc độ cao mạng kết nối cho các máy chủ và các đơn vị lưu trữ.
I.4. Lập lịch cho đĩa (Disk Scheduling)
Hệ điều hành chịu trách nhiệm sử dụng phần cứng một cách hiệu quả đối
với đĩa, điều này nghĩa thời gian truy cập băng thông đĩa nhanh.
Băng thông đĩa tổng số byte được truyền chia cho tổng thời gian từ khi
yêu cầu dịch vụ đầu tiên đến khi hoàn thành lần truyền cuối cùng.
I.4.1. Phương pháp First Come First Serve
Tất nhiên, hình thức lập lịch đĩa đơn giản nhất là người đến trước được
phục vụ trước (FCFS) thuật toán. Thuật toán này về bản chất là công bằng,
nhưng nó thường không cung cấp dịch vụ nhanh nhất.
dụ: hãy xem xét một hàng đợi đĩa với các yêu cầu cho I / O đến các
trục: 98, 183, 37, 122, 14, 124, 65, 67, theo thứ tự đó. Nếu ban đầu đầu đĩa
trục 53, đầu tiên sdi chuyển từ 53 đến 98, sau đó đến 183, 37, 122,
14, 124, 65 và cuối cùng là 67, cho tổng số đầu chuyển động của 640 trục.
lOMoARcPSD| 61552860
Hình 1.4
Sự dao động từ 122 đến 14 và sau đó quay trở lại 124 minh họa cho vấn
đề với lịch trình này. Nếu các yêu cầu đối với trục 37 14 có thể được phục
vụ cùng nhau, trước hoặc sau các yêu cầu 122 và 124, tổng chuyển động của
đầu có thể bị giảm đáng kể và do đó hiệu suất có thể được cải thiện.
I.4.2. Phương pháp Shortest Seek Time First
Có lẽ sẽ hợp lý khi phục vụ tất cả các yêu cầu gần với vị trí headhiện tại
trước khi chuyển head đi xa để phục vụ các yêu cầu khác. Giả định này
sở cho thuật toán tìm kiếm thời gian đầu tiên ngắn nhất (SSTF). Thuật
toán SSTF chọn yêu cầu có thời gian tìm kiếm ít nhất từ vị trí head hiện tại.
Nói cách khác, SSTF chọn yêu cầu đang chờ xử lý gần nhất với vị chí head
hiện tại.
Lập lịch SSTF là một dạng lập lịch SJF; có thể gây thiếu sót một số yêu
cầu.
Hình minh họa cho thấy tổng chuyển động đầu của 236 trục.
Hình 1.5
I.4.3. Phương Pháp Scan
Tay đĩa bắt đầu ở một đầu của đĩa và di chuyển về phía đầu kia, phục vụ
các yêu cầu cho đến khi đến đầu kia của đĩa, nơi chuyển động của đầu
được đảo ngược tiếp tục bảo dưỡng. Thuật toán SCAN đôi khi được gọi
là thuật toán thang máy (elevator algorithm).
lOMoARcPSD| 61552860
Hình minh họa cho thấy tổng chuyển động đầu của 208 trục. Nhưng lưu
ý rằng nếu các yêu cầu mật độ đồng đều, mật độ lớn nhất đầu kia của
đĩa và những yêu cầu đó sẽ đợi lâu nhất.
Hình 1.6
I.4.4. Phương pháp C-Scan
C-SCAN là một biến thể của SCAN được thiết kế để cung cấp thời gian
chờ đồng đều hơn. Giống như SCAN, C-SCAN di chuyển đầu từ một đầu từ
đĩa sang đĩa khác, phục vụ các yêu cầu trong quá trình thực hiện. Khi head
đến đầu kia, tuy nhiên, ngay lập tức trở lại disk head mà không phục vụ
bất kỳ yêu cầu nào khi trở về. Các thuật toán lập lịch C-SCAN về cơ bản coi
các trụcnhư một danh sách hình tròn bao bọc xung quanh từ hình trụ cuối
cùng đến hình trụ đầu tiên.
lOMoARcPSD| 61552860
Hình 1.7
I.4.5. Phương pháp LOOK
Như đã mô tả, cả SCAN và C-SCAN đều di chuyển tay đĩa trên toàn bộ
chiều rộng của đĩa. Trong thực tế, không thuật toán nào thường được triển
khai cách này. Thông thường, nhánh chỉ đi xa theo yêu cầu cuối cùng trong
mỗi phương hướng. Sau đó, nó đảo ngược hướng ngay lập tức, mà không đi
đến phần cuối của đĩa. Các phiên bản SCAN và C-SCAN tuân theo mô hình
này là được gọi là lập lịch LOOK và C-LOOK, vì chúng tìm kiếm một yêu
cầu trước đó tiếp tục di chuyển theo mt hướng nhất định.
I.5. Quản lí đĩa (Disk Management)
I.5.1. Định dạng đĩa (Disk Formatting)
Đĩa từ mới một blank slate: chỉ một đĩa của vật liệu ghi ttính.
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à ghi. Quá trình này được gọi là định dạng
cấp thấp, hoặc định dạng vật lý. Mỗi khu vực thể chứa thông tin tiêu đề,
cộng với dữ liệu, cùng với sửa lỗi (ECC), thường 512 byte dữ liệu
nhưng có thể lựa chọn.
Để sử dụng đĩa để chứa tệp, hệ điều hành vẫn cần ghi lại cấu trúc dữ liệu
của chính nó trên đĩa:
Phân vùng đĩa thành một hoặc nhiều nhóm trục, mỗi nhóm được coi như
một đĩa logic.
lOMoARcPSD| 61552860
Định dạng logic hoặc “tạo hệ thống tệp
Để tăng hiệu quả, hầu hết các hệ thống tệp đều nhóm các khối thành cụm
(clusters)
Đĩa I/O được thực thi theo khối (blocks)
Tệp I/O được thực thi theo cụm (clusters)
I.5.2. Khối khởi động (Boot Block)
Để một máy tính hoạt động dụ: khi được khởi động hoặc khởi
động lại phải một chương trình ban đầu để chạy. Chương trình
bootstrap ban đầu này xu hướng đơn giản. khởi tạo tất cả các khía
cạnh (aspects) của hệ thống, từ thanh ghi CPU đến bộ điều khiển thiết bị và
nội dung của bộ nhớ chính, sau đó khởi động hệ điều hành. Để thực hiện
công việc của mình, chương trình bootstrap tìm kernel của hệ điều hành trên
đĩa, tải kernel đó vào bộ nhớ và chuyển đến một địa chỉ ban đầu để bắt đầu
thực thi hệ điều hành.
Đối với hầu hết các máy tính, bootstrap được lưu trữ trong bộ nhớ chỉ
đọc (ROM). Chương trình bootstrap đầy đủ được lưu trữ trong “khối khởi
động” tại một vị tcố định trên đĩa. Đĩa phân vùng khởi động được gọi
là đĩa khởi động hoặc đĩa hệ thống.
trong ROM khởi động hướng dẫn bộ điều khiển đĩa đọc các khối khởi
động vào bộ nhớ (không trình điều khiển thiết bị nào được tải vào thời
điểm này) và sau đó bắt đầu thực thi mã đó. Chương trình bootstrap đầy đủ
phức tạp hơn bộ nạp bootstrap trong ROM khởi động. Nó có thể tải toàn bộ
hệ điều hành từ một vị trí không cố định trên đĩa và để bắt đầu chạy hệ điều
hành. Mặc dù vậy, mã bootstrap đầy đủ có thể có kích thước nhỏ.
lOMoARcPSD| 61552860
Hình 1.8
I.5.3. Các khối hỏng (Bad Blocks)
đĩa có các bộ phận chuyển động dung sai nhỏ (nhớ lại rằng đầu đĩa
bay ngay trên bề mặt đĩa) nên chúng dễ bị hỏng. Đôi khi bị lỗi hoàn toàn;
trong trường hợp này, đĩa cần được thay thế nội dung của được khôi
phục từ phương tiện sao lưu sang đĩa mới. Một cách thường xuyên hơn, một
hoặc nhiều sector bị lỗi. Hầu hết các đĩa thậm chí đến tnhà máy với các
khối hỏng. Tùy thuộc vào đĩa bộ điều khiển được sử dụng, các khối này
được xử lý theo nhiều cách khác nhau.
Trên các đĩa đơn giản, chẳng hạn như một số đĩa bộ điều khiển IDE,
các khối hỏng được xử theo cách thủ công. Có một cách quét đĩa để tìm
các khối hỏng trong khi đĩa đang được định dạng. Các đĩa phức tạp hơn
thông minh hơn về khôi phục khối hỏng. B điều khiển duy trì một danh
sách các khối xấu trên đĩa. Danh sách được khởi tạo trong quá trình định
dạng mức thấp tại nhà máy và được cập nhật trong suốt thời gian hoạt động
của đĩa. Định dạng mức thấp cũng dành riêng các lĩnh vực dự phòng không
hiển thị cho hệ điều hành. Bộ điều khiển có thể được yêu cầu thay thế từng
khu vực xấu một cách hợp bằng một trong các khu vực dphòng. Phương
pháp này được gọi là chuyển tiếp (forwarding) hoặc tiết kiệm khu vực (sector
sparing).
I.6. Quản lý không gian nhớ phụ (Swap-Space Management)
Quản không gian nhớ phụ là một nhiệm vụ cấp thấp khác của hệ thống.
Bộ nhớ ảo sử dụng không gian đĩa như một phần mở rộng của bộ nhớ chính.
I.6.1. Sử dụng không gian nhớ phụ (Swap-Space Use)
Không gian nhớ phụ được sử dụng theo nhiều cách khác nhau bởi các h
điều hành khác nhau, tùy thuộc vào các thuật toán quản lý bộ nhớ đang sử
dụng.
Một số hệ điều hành bao gồm cả Linux cho phép sử dụng nhiều
không gian nhớ phụ, bao gồm cả tệp và phân vùng chuyên dụng. Các không
gian này thường được đặt trên các đĩa riêng biệt để tải được đặt trên hthống
I / O bằng cách phân trang và hoán đổi có thể được trải rộng trên băng thông
I / O của hệ thống.
lOMoARcPSD| 61552860
I.6.2. Vị trí không gian nhớ phụ (Swap-Space Location)
Không gian nhớ phụ có thể nằm một trong hai nơi: nó có thể được tạo
ra khỏi hthống tệp thông thường hoặc thể nằm trong mt phân vùng đĩa
riêng biệt.
Ngoài ra, thể tạo không gian nhớ phụ trong một phân vùng thô riêng
biệt. Không hệ thống tệp hoặc cấu trúc thư mục nào được đặt trong không
gian này. Thay vào đó, một trình quản lưu trữ không gian riêng biệt được
sử dụng để phân bổ và phân bổ các khối từ phân vùng thô (raw partition).
I.7. Cấu trúc RAID (RAID Structure)
Một loạt các kỹ thuật tổ chức đĩa, được gọi chung là các mảng dự phòng
của các đĩa độc lập (RAID), thường được sử dụng để giải quyết các vấn đề
về hiệu suất và độ tin cậy.
I.7.1.Cải thiện đ tin cậy thông qua cơ chế dự phòng (via Redundancy)
Tăng thời gian thất bại trung bình (mean time to failure)
Thời gian trung bình để sửa chữa (mean time to repair) - thời gian khi
một lỗi khác có thể gây mất dữ liệu.
Thời gian trung bình để mất dữ liệu (mean time to data loss) dựa trên các
yếu tố trên
VD: Nếu các đĩa nhân bản bị lỗi một cách độc lập, hãy xem xét đĩa
thời gian hỏng trung bình 1.300.000 và thời gian trung bình 10 giờ để
sửa chữa. Thời gian trung bình để mất dữ liệu là 100, 000^2 / (2 10) = 500
10^6 giờ, hay 57.000 năm!
Thường xuyên kết hợp với NVRAM để cải thiện hiệu suất ghi. Một số
cải tiến trong kỹ thuật sử dụng đĩa liên quan đến việc sử dụng nhiều đĩa làm
cùng thực thi.
I.7.2. Cải thiện hiệu suất (Performance) thông qua cơ chế song song
(Parallelism)
Tính song song trong hệ thống đĩa, đạt được thông qua việc phân dải, có
hai mục tiêu chính:
- Tăng thông lượng của nhiều truy cập nhỏ (nghĩa truy cập
trang) bằng cách cân bằng tải.
lOMoARcPSD| 61552860
- Giảm thời gian phản hồi của các truy cập lớn.
I.7.3. Các cấp RAID (RAID levels)
RAID được sắp xếp thành sáu cấp độ khác nhau.
Hình 1.9
Các chương trình RAID cải thiện hiệu suất và cải thiện độ tin cậy của hệ
thống lưu trữ bằng cách lưu trữ dữ liệu dự phòng:
Sao chép (mirroring) hoặc tạo bóng (shadowing) (RAID 1) giữ bản sao
của mỗi đĩa.
Striped Mirror (RAID 1 + 0) hoặc mirrored stripes (RAID 0 + 1) cung
cấp hiệu suất cao và độ tin cậy cao.

Preview text:

lOMoAR cPSD| 61552860
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN ĐIỆN TỬ - VIỄN THÔNG ~~~~~ ~~~~~ BÀI TẬP LỚN HỆ ĐIỀU HÀNH
Đề tài: Quản lý bộ nhớ ngoài
Giáo viên hướng dẫn: TS.Nguyễn Thanh Bình
Nhóm sinh viên thực hiện: Lê Danh Thăng – 20182774 Hà Thanh Tùng – 20182873
Nguyễn Duy Lộc – 20182644
Nguyễn Xuân Đỉnh – 20182423
Trần Ngọc Tiến – 20182819 Hà Nội, 10/2021 1 lOMoAR cPSD| 61552860 MỤC LỤC
MỤC LỤC........................................................................................................
Danh Mục Hình Ảnh............................................................................6
LỜI MỞ ĐẦU.......................................................................................8
Phần I. Cấu trúc bộ nhớ khối (Mass-Storage Structure)...............10

I.1. Tổng quát:.................................................................................................
I.1.1 Đĩa từ (Magnetic Disks):.......................................................11
I.1.2. Ổ cứng SSD (Solid-State Disks)..........................................11
I.1.3. Băng từ (Magnetic Tapes)....................................................12 I.2.
Cấu trúc đĩa (Disk Structure)....................................................................
I.3. Đĩa đính kèm (Disk Attachment).............................................................
I.3.1. Bộ nhớ đính kèm máy chủ (Host-Attached Storage)...........13
I.3.2. Bộ nhớ đính kèm mạng (Network- Attached Storage)........13
I.3.3. Mạng khu vực lưu trữ (Storage-Area Network).................14
I.4. Lập lịch cho đĩa (Disk Scheduling)..........................................................
I.4.1. Phương pháp First Come First Serve...................................15
I.4.2. Phương pháp Shortest Seek Time First................................15
I.4.3. Phương Pháp Scan...............................................................16
I.4.4. Phương pháp C-Scan............................................................17
I.4.5. Phương pháp LOOK............................................................18
I.5. Quản lí đĩa (Disk Management)...............................................................
I.5.1. Định dạng đĩa (Disk Formatting).........................................18
I.5.2. Khối khởi động (Boot Block)..............................................19
I.5.3. Các khối hỏng (Bad Blocks)................................................20
I.6. Quản lý không gian nhớ phụ (Swap-Space Management).......................
I.6.1. Sử dụng không gian nhớ phụ (Swap-Space Use).................21
I.6.2. Vị trí không gian nhớ phụ (Swap-Space Location).............21
I.7. Cấu trúc RAID (RAID Structure)............................................................. lOMoAR cPSD| 61552860
I.7.1.Cải thiện độ tin cậy thông qua cơ chế dự phòng (via
Redundancy)........................................................................................21
I.7.2. Cải thiện hiệu suất (Performance) thông qua cơ chế song
song (Parallelism)................................................................................22
I.7.3. Các cấp RAID (RAID levels)..............................................23
I.7.4. Chọn một cấp độ RAID.......................................................24
I.7.5. Các vấn đề gặp phải với RAID............................................25
I.8. Thực thi bộ nhớ ổn định (Stable-Storage Implementation)......................
Phần II. Giao diện hệ thống tập tin (File-System Interface)..........27
II.1. Khái niệm................................................................................................
II.1.1. Định danh của tệp...............................................................27
II.1.2. Hoạt động của tệp...............................................................28
II.1.3. Các dạng của tệp.................................................................30
II.1.4. Cấu trúc tệp.........................................................................30
II.2. Những phương thức truy nhập (Access Methods)..................................
II.2.1. Truy cập tuần tự..................................................................31
II.2.2 Truy cập trực tiếp.................................................................31
II.2.3 Một số phương pháp khác...................................................31
II.3. Cấu trúc thư mục và đĩa (Directory and Disk Structure)........................
II.3.1 Cấu trúc bộ nhớ ngoài..........................................................32
II.3.2 Tổng quan về thư mục.........................................................33 II.3.3 Thư mục 2 cấp
..............................................................33
II.3.4. Gắn kết hệ thống tệp (File-System Mounting)...................34
Phần III. Triển khai hệ thống tệp.....................................................42 III.1.
Cấu trúc hệ thống tệp............................................................................. III.2.
Triển khai hệ thống tệp..........................................................................
III.2.1. Tổng quát...........................................................................43
III.2.2. Phân vùng và gắn kết........................................................45 lOMoAR cPSD| 61552860
III.2.3. Hệ thống tập tin ảo............................................................46
III.3. Thực thi thư mục....................................................................................
III.3.1. Danh sách tuyến tính.........................................................47
III.3.2. Bảng băm...........................................................................47
III.4. Các phương pháp cấp phát.....................................................................
III.4.1. Cấp phát liên tục................................................................48
III.4.2. Cấp phát liên kết................................................................50
III.4.3. Cấp phát theo chỉ mục.......................................................51
III.4.4. Hiệu suất............................................................................53
III.5. Quản lý không gian tự do.......................................................................
III.5.1. Véc-tơ bit...........................................................................53
III.5.2. Danh sách liên kết.............................................................54
III.5.3. Nhóm.................................................................................55
III.5.4. Đếm...................................................................................55
III.5.5. Bản đồ không gian tự do...................................................55
III.6. Hiệu suất và hiệu quả.............................................................................
III.6.1. Hiệu quả............................................................................56
III.6.2. Hiệu suất............................................................................56
III.7. Khôi phục (Recovery)............................................................................
III.7.1. Kiểm tra tính nhất quán.....................................................58
III.7.2. Hệ thống tệp có cấu trúc nhật ký ( Log-Structured File
Systems )..............................................................................................58
III.7.3. Các giải pháp khác............................................................58
III.7.4. Sao lưu và khôi phục.........................................................59 III.8.
Hệ thống tệp mạng - NFS......................................................................
III.9. Ví dụ về hệ thống tệp WAFL.................................................................
Phần IV. Hệ thống ngoại vi (I/O Systems).......................................63
IV.1. Tổng quát............................................................................................... IV.2. Phần
cứng ngoại vi................................................................................ lOMoAR cPSD| 61552860
IV.2.1 Cơ chế bỏ phiếu (Polling)..................................................65
IV.2.2 Cơ chế ngắt (Interrupts).....................................................66
IV.3. Giao diện ứng dụng I/O.........................................................................
IV.3.1 Thiết bị khối và thiết bị dạng từ.........................................68
IV.3.2 Các thiết bị mạng...............................................................68
IV.3.3 Đồng hồ và bộ định thời.....................................................68
IV.3.4. I/O Nonblocking và bất đồng bộ.......................................69
IV.4. Kernel I/O Subsystem............................................................................
IV.4.1 Lập lịch I/O........................................................................70
IV.4.2 Phương pháp đệm (Buffering)...........................................70
IV.4.3. Cơ chế Caching.................................................................70
IV.4.4 Spooling and Device Reservation......................................70
IV.4.5 Xử lí lỗi..............................................................................71
IV.4.6 Bảo vệ I/O..........................................................................71
IV.4.7 Cấu trúc dữ liệu Kernel......................................................71
IV.5. Chuyển đổi yêu cầu I/O sang hoạt động phần cứng..............................
IV.7. Hiệu năng............................................................................................... lOMoAR cPSD| 61552860
KẾT LUẬN.........................................................................................77 Danh Mục Hình Ảnh
Hình 1 1. Disk head..............................................................................11
Hình 1.2................................................................................................14 lOMoAR cPSD| 61552860
Hình 1.3................................................................................................14
Hình 1.4................................................................................................15
Hình 1.5................................................................................................16
Hình 1.6................................................................................................17
Hình 1.7................................................................................................18
Hình 1.8................................................................................................20
Hình 1.9................................................................................................23
Hình 1.10..............................................................................................24
Hình 1.11..............................................................................................25
Hình 2.1................................................................................................30
Hình 2.2................................................................................................35
Hình 2.3................................................................................................35
Hình 3.1................................................................................................42
Hình 3.2................................................................................................44
Hình 3.3................................................................................................45
Hình 3.4................................................................................................46
Hình 3 5................................................................................................49
Hình 3.6................................................................................................51
Hình 3.7................................................................................................51
Hình 3. 8...............................................................................................52
Hình 3.9................................................................................................52
Hình 3.10..............................................................................................54
Hình 3.11..............................................................................................57
Hình 3.12..............................................................................................60
Hình 3.13. The WAFL file layout.......................................................61
Hình 3.14..............................................................................................62
Hình 4.1................................................................................................64
Hình 4.2................................................................................................66 lOMoAR cPSD| 61552860
Hình 4.3................................................................................................67
Hình 4.4................................................................................................70
Hình 4.5................................................................................................72
Hình 4.6................................................................................................73
Hình 4.7................................................................................................74
Hình 4.8................................................................................................75
Hình 4.9................................................................................................76
Hình 4.10..............................................................................................77 LỜI MỞ ĐẦU
Do bộ nhớ trong đang trở nên quá nhỏ để chứa những để đáp ứng toàn bộ dữ
liệu và chương trình một cách lâu dài, hệ thống máy tính phải cung cấp
không gian lưu trữ thứ cấp để sao lưu bộ nhớ trong. Ngày nay máy tính hiện
đại sử dụng các ổ đĩa như phương tiện lưu trữ sơ cấp thông tin (cả chương
trình và dữ liệu). Hệ thống tệp cung cấp cơ chế lưu trữ trực tuyến và truy
cập vào dữ liệu và chương trình trên đĩa. Một tệp tin là là một tập hợp các
thông tin liên quan, được xác định bởi người tạo ra nó. Các tệp tin được hệ
điều hành sắp đặt vào các thiết bị vật lý. Chúng thường được tổ chức thành
các thư mục để tiện cho việc sử dụng.
Các thiết bị được lắp đặt vào máy tính rất đa dạng. Một số thiết bị truyền dữ
liệu dạng từ hoặc khối các từ trong một thời điểm. Số khác có thể được truy lOMoAR cPSD| 61552860
cập tuần tự hoặc ngẫu nhiên. Một số thì truyền dữ liệu đồng bộ, hoặc bất
đồng bộ, hoặc được dành riêng, hoặc được phép chia sẻ. Chúng có thể là loại
chỉ đọc (read-only) hoặc đọc ghi (read-write) và khác nhau rất nhiều về tốc
độ. Theo nhiều cách khác nhau, chúng cũng là thành phần chính, chậm nhất của máy tính.
Do sự khác nhau giữa các thiết bị, hệ điều hành cần cung cấp một loại các
chức năng cho các ứng dụng để cho phép chúng điều khiển tất cả khía cạnh
của các thiết bị. Một mục tiêu chính của hệ thống ngoại vi phụ của hệ điều
hành là cung cấp giao diện đơn giản nhất cho toàn bộ hệ thống. Bởi vì các
thiết bị đều gặp phải hiện tượng "thắt cổ chai" về mặt hiệu suất, một giải
pháp khác là tối ưu ngoại vi để có sự đồng bộ tối đa.
Phần I. Cấu trúc bộ nhớ khối (Mass-Storage Structure) I.1. Tổng quát:
I.1.1 Đĩa từ (Magnetic Disks):
Đĩa từ cung cấp một lượng lớn bộ nhớ thứ cấp của máy tính hiện đại. Hầu
hết các ổ đĩa có tốc độ quay khoảng 60-250 lần trong một giây. Tốc độ ổ đĩa bao gồm 2 thành phần:
Tốc độ truyền tải (transfer rate): Tốc độ dữ liệu truyền giữa ổ đĩa và máy tính.
Thời gian định vị (thời gian truy cập ngẫu nhiên): Thời gian để dịch
chuyển tay quay của đĩa (disk arm) tới trục hình trụ (cylinder) (thời gian tìm lOMoAR cPSD| 61552860
kiếm - seek time) và thời gian để vùng (sector) quay dưới đầu đĩa (disk head). Hình 1 1. Disk head
Hiện tượng head crash xảy ra khi đầu đĩa va chạm với bề mặt đĩa, dẫn tới
phải thay toàn bộ ổ đĩa, không thể sửa được.
Ổ đĩa có thể được loại bỏ.
Ổ đĩa được kết nối với máy tính thông qua hệ thống I/O bus. Hệ thống
bus rất đa dạng, bao gồm các chuẩn EIDE, ATA, SATA, USB, Fibre Channel,
SCSI, SAS, Firewire. Máy chủ điều khiển (host controller) ở máy tính sử
dụng hệ thông bus để giao tiếp với bộ điều khiển đĩa đã được xây dựng ở
trong ổ đĩa hoặc mảng lưu trữ.
I.1.2. Ổ cứng SSD (Solid-State Disks)
Công nghệ phát triển, một số công nghệ cũng được cải tiến hoặc được
thay thế. Ví dụ công nghệ SSD với các cải tiến sau:
- Bộ nhớ tĩnh được sử dụng như một ổ cứng
- Độ tin cậy cao hơn HDDs
- Dung lượng ít hơn nhưng tốc độ nhanh hơn
- Tuy nhiên, SSD có thể gặp phải các vấn đề về tuổi thọ hay
không có các bộ phận chuyển động dẫn tới không có seek time
hay độ trễ quay (rotational latency).
I.1.3. Băng từ (Magnetic Tapes)
Băng từ được sử dụng như một phương tiện lưu trữ thứ cấp. Mặc dù nó
lưu trữ tương đối lâu dài và có thể chứa số lượng lớn dữ liệu, thời gian truy
cập chậm hơn so với bộ nhớ chính và đĩa từ. Ngoài ra, truy cập ngẫu nhiên lOMoAR cPSD| 61552860
vào băng từ chậm hơn khoảng một nghìn lần so với truy cập vào đĩa từ, vì
vậy băng không hữu ích lắm cho việc lưu trữ thứ cấp.
I.2. Cấu trúc đĩa (Disk Structure)
Ổ đĩa được đánh địa chỉ dưới dạng mảng lớn 1 chiều của các khối logic,
trong đó các khối logic là đơn vị truyền nhỏ nhất. Định dạng cấp thấp tạo ra
các khối logic trên phương tiện vật lý.
Mảng 1 chiều của các khối logic được ánh xạ vào các sectors của đĩa một cách tuần tự.
Sector 0 là sector đầu tiên của track đầu tiên trên trục hình trụ ngoài cùng.
Quá trình ánh xạ được tiến hành theo thứ tự qua track đó, sau đó đến phần
còn lại của track trong trục đó, rồi qua phần còn lại của trục từ ngoài cùng đến trong cùng.
Địa chỉ logic và địa chỉ vật lý nên được đánh dễ dàng, trừ trường hợp các
sector bị hỏng và số sector không đổi trên mỗi track thông qua vận tốc góc không đổi.
I.3. Đĩa đính kèm (Disk Attachment)
Máy tính truy cập bộ nhớ đĩa theo hai cách. Một cách là qua các cổng I /
O (hoặc bộ nhớ đính kèm máy chủ); điều này thường xảy ra trên các hệ thống
nhỏ. Cách khác là thông qua một máy chủ từ xa trong một hệ thống tệp phân
tán; đây được gọi là bộ nhớ đính kèm mạng (network-attached storage).
I.3.1. Bộ nhớ đính kèm máy chủ (Host-Attached Storage)
Bộ nhớ đính kèm trên máy chủ là bộ nhớ được truy cập thông qua các cổng I / O cục bộ.
Máy trạm và máy chủ cao cấp thường sử dụng I / O phức tạp hơn các
kiến trúc như kênh sợi quang (FC), một kiến trúc nối tiếp tốc độ cao có thể
hoạt động qua cáp quang hoặc qua cáp đồng bốn lõi. Nó có hai biến thể. Một
là vải chuyển mạch lớn có không gian địa chỉ 24 bit. Biến thể FC khác là
một vòng lặp (FC-AL) có thể xử lý 126 thiết bị (bộ truyền động và bộ điều khiển). lOMoAR cPSD| 61552860
I.3.2. Bộ nhớ đính kèm mạng (Network- Attached Storage)
Bộ nhớ đính kèm mạng (NAS) là bộ nhớ được cung cấp qua mạng chứ
không phải qua kết nối cục bộ (chẳng hạn như bus) và có thể đính kèm từ xa
vào hệ thống tệp. NFS và CIFS là các giao thức thông dụng trong NAS.
Các lệnh gọi thủ tục từ xa (RPC) được truyền qua TCP hoặc UDP qua
mạng IP - thường là cùng một mạng cục bộ (LAN) mang tất cả lưu lượng dữ
liệu đến máy khách. Vì vậy, NAS hiểu đơn giản là một giao thức truy cập
lưu trữ khác. Đơn vị lưu trữ gắn liền với mạng thường được triển khai dưới
dạng mảng RAID với phần mềm triển khai giao diện RPC. Hình 1.2
iSCSI là giao thức lưu trữ gắn liền với mạng mới nhất. Về bản chất, nó
sử dụng giao thức mạng IP để thực hiện giao thức SCSI. Do đó, các mạng
thay vì cáp SCSI - có thể được sử dụng làm kết nối giữa các máy chủ và bộ
lưu trữ của chúng. Do đó, máy chủ có thể coi bộ nhớ của họ như thể nó được
gắn trực tiếp, ngay cả khi bộ lưu trữ ở xa máy chủ.
I.3.3. Mạng khu vực lưu trữ (Storage-Area Network)
Mạng khu vực lưu trữ (SAN) là một mạng riêng (sử dụng các giao thức
lưu trữ chứ không phải giao thức mạng) kết nối máy chủ và đơn vị lưu trữ. lOMoAR cPSD| 61552860 Hình 1.3
Nhiều máy chủ và nhiều mảng lưu trữ có thể được gắn vào cùng một
SAN và bộ nhớ có thể được phân bổ động cho các máy chủ. Một chuyển
mạch SAN cho phép hoặc cấm truy cập giữa các máy chủ và bộ nhớ.
FC là kết nối SAN phổ biến nhất, mặc dù tính đơn giản của iSCSI ngày
càng gia tăng công dụng của nó. Một kết nối SAN khác là InfiniBand - một
mục đích đặc biệt kiến trúc bus cung cấp hỗ trợ phần cứng và phần mềm cho
tốc độ cao mạng kết nối cho các máy chủ và các đơn vị lưu trữ.
I.4. Lập lịch cho đĩa (Disk Scheduling)
Hệ điều hành chịu trách nhiệm sử dụng phần cứng một cách hiệu quả đối
với ổ đĩa, điều này có nghĩa là có thời gian truy cập và băng thông đĩa nhanh.
Băng thông đĩa là tổng số byte được truyền chia cho tổng thời gian từ khi
yêu cầu dịch vụ đầu tiên đến khi hoàn thành lần truyền cuối cùng.
I.4.1. Phương pháp First Come First Serve
Tất nhiên, hình thức lập lịch đĩa đơn giản nhất là người đến trước được
phục vụ trước (FCFS) thuật toán. Thuật toán này về bản chất là công bằng,
nhưng nó thường không cung cấp dịch vụ nhanh nhất.
Ví dụ: hãy xem xét một hàng đợi đĩa với các yêu cầu cho I / O đến các
trục: 98, 183, 37, 122, 14, 124, 65, 67, theo thứ tự đó. Nếu ban đầu đầu đĩa
ở trục 53, đầu tiên nó sẽ di chuyển từ 53 đến 98, sau đó đến 183, 37, 122,
14, 124, 65 và cuối cùng là 67, cho tổng số đầu chuyển động của 640 trục. lOMoAR cPSD| 61552860 Hình 1.4
Sự dao động từ 122 đến 14 và sau đó quay trở lại 124 minh họa cho vấn
đề với lịch trình này. Nếu các yêu cầu đối với trục 37 và 14 có thể được phục
vụ cùng nhau, trước hoặc sau các yêu cầu 122 và 124, tổng chuyển động của
đầu có thể bị giảm đáng kể và do đó hiệu suất có thể được cải thiện.
I.4.2. Phương pháp Shortest Seek Time First
Có lẽ sẽ hợp lý khi phục vụ tất cả các yêu cầu gần với vị trí headhiện tại
trước khi chuyển head đi xa để phục vụ các yêu cầu khác. Giả định này là
cơ sở cho thuật toán tìm kiếm thời gian đầu tiên ngắn nhất (SSTF). Thuật
toán SSTF chọn yêu cầu có thời gian tìm kiếm ít nhất từ vị trí head hiện tại.
Nói cách khác, SSTF chọn yêu cầu đang chờ xử lý gần nhất với vị chí head hiện tại.
Lập lịch SSTF là một dạng lập lịch SJF; có thể gây thiếu sót một số yêu cầu.
Hình minh họa cho thấy tổng chuyển động đầu của 236 trục. Hình 1.5
I.4.3. Phương Pháp Scan
Tay đĩa bắt đầu ở một đầu của đĩa và di chuyển về phía đầu kia, phục vụ
các yêu cầu cho đến khi nó đến đầu kia của đĩa, nơi chuyển động của đầu
được đảo ngược và tiếp tục bảo dưỡng. Thuật toán SCAN đôi khi được gọi
là thuật toán thang máy (elevator algorithm). lOMoAR cPSD| 61552860
Hình minh họa cho thấy tổng chuyển động đầu của 208 trục. Nhưng lưu
ý rằng nếu các yêu cầu có mật độ đồng đều, mật độ lớn nhất ở đầu kia của
đĩa và những yêu cầu đó sẽ đợi lâu nhất. Hình 1.6
I.4.4. Phương pháp C-Scan
C-SCAN là một biến thể của SCAN được thiết kế để cung cấp thời gian
chờ đồng đều hơn. Giống như SCAN, C-SCAN di chuyển đầu từ một đầu từ
đĩa sang đĩa khác, phục vụ các yêu cầu trong quá trình thực hiện. Khi head
đến đầu kia, tuy nhiên, nó ngay lập tức trở lại disk head mà không phục vụ
bất kỳ yêu cầu nào khi trở về. Các thuật toán lập lịch C-SCAN về cơ bản coi
các trụcnhư một danh sách hình tròn bao bọc xung quanh từ hình trụ cuối
cùng đến hình trụ đầu tiên. lOMoAR cPSD| 61552860 Hình 1.7
I.4.5. Phương pháp LOOK
Như đã mô tả, cả SCAN và C-SCAN đều di chuyển tay đĩa trên toàn bộ
chiều rộng của đĩa. Trong thực tế, không có thuật toán nào thường được triển
khai cách này. Thông thường, nhánh chỉ đi xa theo yêu cầu cuối cùng trong
mỗi phương hướng. Sau đó, nó đảo ngược hướng ngay lập tức, mà không đi
đến phần cuối của đĩa. Các phiên bản SCAN và C-SCAN tuân theo mô hình
này là được gọi là lập lịch LOOK và C-LOOK, vì chúng tìm kiếm một yêu
cầu trước đó tiếp tục di chuyển theo một hướng nhất định.
I.5. Quản lí đĩa (Disk Management)
I.5.1. Định dạng đĩa (Disk Formatting)
Đĩa từ mới là một blank slate: nó chỉ là một đĩa của vật liệu ghi từ tính.
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à ghi. Quá trình này được gọi là định dạng
cấp thấp, hoặc định dạng vật lý. Mỗi khu vực có thể chứa thông tin tiêu đề,
cộng với dữ liệu, cùng với mã sửa lỗi (ECC), thường là 512 byte dữ liệu
nhưng có thể lựa chọn.
Để sử dụng đĩa để chứa tệp, hệ điều hành vẫn cần ghi lại cấu trúc dữ liệu của chính nó trên đĩa:
Phân vùng đĩa thành một hoặc nhiều nhóm trục, mỗi nhóm được coi như một đĩa logic. lOMoAR cPSD| 61552860
Định dạng logic hoặc “tạo hệ thống tệp”
Để tăng hiệu quả, hầu hết các hệ thống tệp đều nhóm các khối thành cụm (clusters)
Đĩa I/O được thực thi theo khối (blocks)
Tệp I/O được thực thi theo cụm (clusters)
I.5.2. Khối khởi động (Boot Block)
Để một máy tính hoạt động — ví dụ: khi nó được khởi động hoặc khởi
động lại — nó phải có một chương trình ban đầu để chạy. Chương trình
bootstrap ban đầu này có xu hướng đơn giản. Nó khởi tạo tất cả các khía
cạnh (aspects) của hệ thống, từ thanh ghi CPU đến bộ điều khiển thiết bị và
nội dung của bộ nhớ chính, sau đó khởi động hệ điều hành. Để thực hiện
công việc của mình, chương trình bootstrap tìm kernel của hệ điều hành trên
đĩa, tải kernel đó vào bộ nhớ và chuyển đến một địa chỉ ban đầu để bắt đầu
thực thi hệ điều hành.
Đối với hầu hết các máy tính, bootstrap được lưu trữ trong bộ nhớ chỉ
đọc (ROM). Chương trình bootstrap đầy đủ được lưu trữ trong “khối khởi
động” tại một vị trí cố định trên đĩa. Đĩa có phân vùng khởi động được gọi
là đĩa khởi động hoặc đĩa hệ thống.
Mã trong ROM khởi động hướng dẫn bộ điều khiển đĩa đọc các khối khởi
động vào bộ nhớ (không có trình điều khiển thiết bị nào được tải vào thời
điểm này) và sau đó bắt đầu thực thi mã đó. Chương trình bootstrap đầy đủ
phức tạp hơn bộ nạp bootstrap trong ROM khởi động. Nó có thể tải toàn bộ
hệ điều hành từ một vị trí không cố định trên đĩa và để bắt đầu chạy hệ điều
hành. Mặc dù vậy, mã bootstrap đầy đủ có thể có kích thước nhỏ. lOMoAR cPSD| 61552860 Hình 1.8
I.5.3. Các khối hỏng (Bad Blocks)
Vì đĩa có các bộ phận chuyển động và dung sai nhỏ (nhớ lại rằng đầu đĩa
bay ngay trên bề mặt đĩa) nên chúng dễ bị hỏng. Đôi khi bị lỗi hoàn toàn;
trong trường hợp này, đĩa cần được thay thế và nội dung của nó được khôi
phục từ phương tiện sao lưu sang đĩa mới. Một cách thường xuyên hơn, một
hoặc nhiều sector bị lỗi. Hầu hết các đĩa thậm chí đến từ nhà máy với các
khối hỏng. Tùy thuộc vào đĩa và bộ điều khiển được sử dụng, các khối này
được xử lý theo nhiều cách khác nhau.
Trên các đĩa đơn giản, chẳng hạn như một số đĩa có bộ điều khiển IDE,
các khối hỏng được xử lý theo cách thủ công. Có một cách là quét đĩa để tìm
các khối hỏng trong khi đĩa đang được định dạng. Các đĩa phức tạp hơn
thông minh hơn về khôi phục khối hỏng. Bộ điều khiển duy trì một danh
sách các khối xấu trên đĩa. Danh sách được khởi tạo trong quá trình định
dạng mức thấp tại nhà máy và được cập nhật trong suốt thời gian hoạt động
của đĩa. Định dạng mức thấp cũng dành riêng các lĩnh vực dự phòng không
hiển thị cho hệ điều hành. Bộ điều khiển có thể được yêu cầu thay thế từng
khu vực xấu một cách hợp lý bằng một trong các khu vực dự phòng. Phương
pháp này được gọi là chuyển tiếp (forwarding) hoặc tiết kiệm khu vực (sector sparing).
I.6. Quản lý không gian nhớ phụ (Swap-Space Management)
Quản lý không gian nhớ phụ là một nhiệm vụ cấp thấp khác của hệ thống.
Bộ nhớ ảo sử dụng không gian đĩa như một phần mở rộng của bộ nhớ chính.
I.6.1. Sử dụng không gian nhớ phụ (Swap-Space Use)
Không gian nhớ phụ được sử dụng theo nhiều cách khác nhau bởi các hệ
điều hành khác nhau, tùy thuộc vào các thuật toán quản lý bộ nhớ đang sử dụng.
Một số hệ điều hành — bao gồm cả Linux — cho phép sử dụng nhiều
không gian nhớ phụ, bao gồm cả tệp và phân vùng chuyên dụng. Các không
gian này thường được đặt trên các đĩa riêng biệt để tải được đặt trên hệ thống
I / O bằng cách phân trang và hoán đổi có thể được trải rộng trên băng thông I / O của hệ thống. lOMoAR cPSD| 61552860
I.6.2. Vị trí không gian nhớ phụ (Swap-Space Location)
Không gian nhớ phụ có thể nằm ở một trong hai nơi: nó có thể được tạo
ra khỏi hệ thống tệp thông thường hoặc có thể nằm trong một phân vùng đĩa riêng biệt.
Ngoài ra, có thể tạo không gian nhớ phụ trong một phân vùng thô riêng
biệt. Không có hệ thống tệp hoặc cấu trúc thư mục nào được đặt trong không
gian này. Thay vào đó, một trình quản lý lưu trữ không gian riêng biệt được
sử dụng để phân bổ và phân bổ các khối từ phân vùng thô (raw partition).
I.7. Cấu trúc RAID (RAID Structure)
Một loạt các kỹ thuật tổ chức đĩa, được gọi chung là các mảng dự phòng
của các đĩa độc lập (RAID), thường được sử dụng để giải quyết các vấn đề
về hiệu suất và độ tin cậy.
I.7.1.Cải thiện độ tin cậy thông qua cơ chế dự phòng (via Redundancy)
Tăng thời gian thất bại trung bình (mean time to failure)
Thời gian trung bình để sửa chữa (mean time to repair) - thời gian khi
một lỗi khác có thể gây mất dữ liệu.
Thời gian trung bình để mất dữ liệu (mean time to data loss) dựa trên các yếu tố trên
VD: Nếu các đĩa nhân bản bị lỗi một cách độc lập, hãy xem xét đĩa có
thời gian hỏng trung bình là 1.300.000 và thời gian trung bình là 10 giờ để
sửa chữa. Thời gian trung bình để mất dữ liệu là 100, 000^2 / (2 ∗ 10) = 500
∗ 10^6 giờ, hay 57.000 năm!
Thường xuyên kết hợp với NVRAM để cải thiện hiệu suất ghi. Một số
cải tiến trong kỹ thuật sử dụng đĩa liên quan đến việc sử dụng nhiều đĩa làm cùng thực thi.
I.7.2. Cải thiện hiệu suất (Performance) thông qua cơ chế song song (Parallelism)
Tính song song trong hệ thống đĩa, đạt được thông qua việc phân dải, có hai mục tiêu chính:
- Tăng thông lượng của nhiều truy cập nhỏ (nghĩa là truy cập
trang) bằng cách cân bằng tải. lOMoAR cPSD| 61552860
- Giảm thời gian phản hồi của các truy cập lớn.
I.7.3. Các cấp RAID (RAID levels)
RAID được sắp xếp thành sáu cấp độ khác nhau. Hình 1.9
Các chương trình RAID cải thiện hiệu suất và cải thiện độ tin cậy của hệ
thống lưu trữ bằng cách lưu trữ dữ liệu dự phòng:
Sao chép (mirroring) hoặc tạo bóng (shadowing) (RAID 1) giữ bản sao của mỗi đĩa.
Striped Mirror (RAID 1 + 0) hoặc mirrored stripes (RAID 0 + 1) cung
cấp hiệu suất cao và độ tin cậy cao.