You are on page 1of 13

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI

KHOA CÔNG NGHỆ THÔNG TIN


----------

BÁO CÁO THỰC NGHIỆM


MÔN: NGUYÊN LÍ HỆ ĐIỀU HÀNH

Đề tài: “Nghiên cứu tìm hiểu về quản lý Bộ nhớ ngoài


trong HDH Windows”
Giảng viên: Nguyễn Tuấn Tú
Nhóm sinh viên:Trần Thế Hải Đăng-2022602340
Nguyễn Thành Đạt-2022602910
Nguyễn Văn Đức-2022602010
Trịnh Hoài Đức-2022602824
Nguyễn Ngọc Tú-2022602254
Lớp: IT6067.13-K17

Hà Nội, ngày 5 tháng 12 năm 2023


LỜI NÓI ĐẦU
Tất cả các ứng dụng trên máy tính đều cần lưu trữ và đọc lại thông tin mà nó nhận vào và
xử lý. Trong khi một tiến trình đang chạy, nó có thể lưu trữ một lượng giới hạn thông tin
trong phạm vị không gian địa chỉ sở hữu của nó.

Tuy nhiên khả năng lưu trữ này bị giới hạn bởi kích thước không gian địa chỉ ảo của hệ
thống. Đối với một vài ứng dụng thì không gian này là vừa đủ, nhưng với một số ứng
dụng khác thì nó quá nhỏ. Mặt khác nếu lưu giữ thông tin trong không gian địa chỉ của
tiến trình thì thông tin này sẽ bị mất khi tiến trình kết thúc. Vấn đề thứ ba là phải đáp ứng
việc truy cập thông tin đồng thời giữa các tiến trình trong môi trường hệ điều hành đa
nhiệm. Những vấn đề này chúng ta có thể dễ dàng tìm hiểu thông qua quản lý tiến trình và
quản lý bộ nhớ ngoài của máy tính. Để giải quyết những vấn đề trên hệ điều hành buộc
phải thiết kế một hệ thống lưu trữ thông tin sao cho: Thứ nhất là phải lưu trữ được một
khối lượng lớn thông tin. Thứ hai là thông tin phải được bảo toàn khi mà tiến trình sử
dụng nó kết thúc. Và cuối cùng là có thể có nhiều tiến trình truy xuất thông tin đồng thời.

Trên hệ điều hành Windows, giải pháp cho tất cả vấn đề trên là lưu trữ thông tin trên đĩa
cứng và các thiết bị media khác trong các đơn vị dữ liệu được gọi là các file (tập tin). Các
tiến trình có thể đọc thông tin của tập tin và rồi ghi mới thông tin vào tập tin đó nếu cần
thiết. Thông tin được lưu trữ trong tập tin phải không bị tác động bởi việc tạo và kết thúc
tiến trình.

Các tập tin được quản lý bởi hệ điều hành. Thành phần hệ điều hành tham gia trực tiếp
vào quá trình quản lý các tập tin trên đĩa được gọi là hệ thống file. Hệ điều hành phải xây
dựng cấu trúc và tổ chức hoạt động của hệ thống tập tin. Một trong những nhiệm vụ quan
trọng của hệ thống tập tin là theo dõi việc lưu trữ tập tin trên đĩa, theo dõi và điều hành
việc truy cập vào tập tin của các tiến trình, bảo vệ tập tin và nội dung của nó,... Cấu trúc,
tổ chức, hoạt động và những nhiệm vụ của bộ nhớ trên hệ điều hành Window sẽ được
trình bày trong các phần dưới đây
CHƯƠNG 1: YÊU CẦU CỦA QUẢN LÍ BỘ NHỚ NGOÀI
Khi cần lưu trữ các chương trìn hoặc dữ liệu , các hệ thống máy tính bắt buộc phải sử
dụng bộ nhớ ngoài (đĩa từ, băng từ Compaq..)>.Nhiệm vụ chính của hệ diều hành phải
đảm bảo được các chức năng sau.
1.1 Quản lí không gian bộ nhớ tự do trên bộ nhớ ngoài( Free Space Manage)
1.2 Cấp phát không gian nhớ tự do (Allocation Methods)
1.3 Cung cấp các khả năng định vị bộ nhớ ngoài
1.4 Lập lịch cho bộ nhớ ngoài (Disk Scheduling)
CHƯƠNG 2: CẤU TRÚC VẬT LÝ VÀ THƯ MỤC THIẾT BỊ
2.1 CẤU TRÚC VẬT LÍ
2.1.1 Đĩa từ (Platter)
Trên bề mặt được phủ một lớp vật liệu từ tính là nơi chứa dữ liệu. Số lượng
đĩa có thể nhiều hơn một. Mỗi đĩa từ có thể sử dụng hai mặt, đĩa cứng có thể có
nhiều đĩa từ, chúng gắn song song, quay đồng trục, cùng tốc độ với nhau khi hoạt động.

Hình 2.1 Cấu tạo đĩa từ


Thông tin trên đĩa từ bị tham chiếu bởi các thành phần:
- ổ đĩa (Drive)
- Mặt đĩa (Side)
- Rãnh đĩa (Track)
- Cung tròn trên track (Sector) - Cluster
Hệ điều hành xem đĩa như là một mảng 1 chiều mà thành phần là các khối đĩa (Disk
Block). Mỗi khối đĩa ghi các thông tin về Cylinder, track, Sector mà OS có thể định vị
trên đĩa đó.
2.1.2 Các rãnh từ (Track)
Mỗi mặt của đĩa được chia thành nhiều rãnh tròn đồng tâm gọi là Track
2.1.3 Sector
Trên Track chia thành những phần nhỏ bằng các đoạn hướng tâm thành các sector. Các
sector là phần nhỏ cuối cùng được chia ra để chứa dữ liệu. Theo chuẩn thông thường thì
một sector chứa dung lượng 512 byte.
2.1.4 Cylinder
Các Track có cùng số hiệu được gọi là từ trụ (Cylinder)
2.1.5 Đầu đọc/ghi (Read Write Heads)
Mỗi mặt của đĩa có một đầu từ để đọc/ghi dữ liệu trên mặt đĩa đó, để điều khiển đầu
đọc/ghi dữ liệu cần có một trình điều khiển đĩa
Đầu đọc đơn giản được cấu tạo gồm lõi ferit và cuộn dây.
Đầu đọc trong đĩa cứng có công dụng đọc dữ liệu dưới dạng từ hóa trên bề mặt đĩa từ
hoặc từ hóa lên các mặt đĩa khi ghi dữ liệu
Số đầu đọc ghi luôn bằng số mặt hoạt động được của các đĩa cứng, có nghĩa chúng nhỏ
hơn hoặc bằng hai lần số đĩa.
2.1.6 Trình điều khiển đĩa (Disk controller)
Là các thiết bị mà đầu đọc/ghi gắn vào nó, sử dụng để điều khiển đầu từ đọc/ghi dữ liệu.
2.1.7 Thư mục thiết bị

Master Boot Boot Sector FAT or None FAT ROOT Directory Database
(Gồm 2 thành (Là sector đầu (Bảng định vị và quản (Cấu trúc thư mục để (Vùng lưu trữ
tổ chức dữ liệu trên
phần là master tiên của ổ đĩa có lý dữ liệu trên đĩa) CSDL của
đĩa)
boot record và nhiệm vụ khởi user)
partition ) động)

Trên mỗi đĩa thông thường có một thư mục thiết bị(Device Directory) cho biết đĩa gồm
những thông tin gì, độ dài, kiểu, người sở hữu, thời điểm khởi tạo, vị trí, được phân bổ
không gian như thế nào… Thư mục thiết bị được tạo ngay ở trên đĩa tại một vùng nhớ đặc
biệt
CHƯƠNG 3 CÁC PHƯƠNG PHÁP QUẢN LÍ KHÔNG GIAN TỰ DO
3.1 Phương pháp dùng bit vector (bitmap)
- Không gian đĩa được chia thành các khối (Block) và được đánh số từ 0 ÷ Max
Ví dụ : Đĩa mềm 1,44Mb, 2 mặt, 80 track/1 mặt, 18 sector/1 track được đánh số như sau :
Head 0, track 0, sector 1 Block 0
………………………… ……
Head 0, track 0, sector 18 Block 18
Head 1, track 0, sector 1 Block 19
………………………… …….
Head 1, track 0, sector 18 Block 36
………………………… ……
Head 0, track 1, sector 11 Block 17
………………………… …….
………………………… …….
Head 1, track 79, sector 18 Block 2879
Mỗi khối đĩa sử dụng một bit để đánh dấu trạng thái. KHố đĩa nào đã sử dụng thì bit trạng
thái có giá trị bằng 1, chưa sử dụng thì có giá trị bằng 0. Tập hợp các kí hiệu 0,1 tạo thành
một bit vector (bitmap). Đọc thông tin trong bitmap, hệ điều hành có thể xác định được
không gian nhớ tự do còn lại trên đĩa.
Ví dụ: Cho không gian đĩa từ như hình 6.1, các block 2,3,4,5,8,9,10,11,12,13, 17,
18,25,26,27 là các block tự do. Khi đó bitmap quản lý không gian nhớ tự do sẽ như sau:

11 0000 11 000000 111 00 111111 000 1111


Ưu điểm : Đơn giản, dễ quản lý, dễ tìm kiếm những Block nhớ tự do trên đĩa
Nhược điểm : Tốn không gian lưu trữ bitmap
3.2 Phương pháp liệt kê (Free List)
Trong phương pháp này hệ thống sử dụng một danh sách móc nối để liệt kê các Block tự
do. Con trỏ đầu trong danh sách chỉ tới block đĩa tự do đầu tiên, mỗi block đĩa có một con
trỏ để trỏ tới khối kế tiếp.
Ưu điểm : Tiết kiệm không gian đĩa
Nhược điểm : Tăng thời gian truy nhập trên đĩa
Ví dụ : Giả sử Block 3, 7, 9 tự do có thể phân bổ được

1 2 3 4 5 6 7 8 9

3.3 Phương pháp lập nhóm (Grouping)


Nhóm các Block tự do liên tiếp thành một nhóm, block tự do đầu tiên trong nhóm ghi địa
chỉ của các block còn lại trong nhóm, block tự do cuối cùng trong nhóm ghi địa chỉ của
block tự do đầu tiên của nhóm tiếp theo.

Con trỏ đầu


0 1 2 3
danh sách

8 9 10 11

12 13 14 15

16 17 18 19

20 21 22 23

24 25 26 27

28 29 30 31

Hình 3.1 Mô tả không gian đĩa từ

Ví dụ: Theo hình 3.1, ta có bảng quản lý không gian nhớ tự do như sau:

Nhóm Block đầu Block cuối


1 2(2,3,4,5) 5(8)
2 8(8,9,10,11,12,13) 13(17)
3 17(17,18) 18(25)
4 25(25,26,27) 27(...)
3.4 Phương pháp đếm (Counting)
Phương pháp đếm là sự biến đổi của phương pháp lập nhóm. Trong phương
pháp này hệ thống lập danh sách quản lý địa chỉ của các block đĩa tự do đầu
tiên và số lượng các block tự do liên tục kế tiếp các block đĩa đó.
Ví dụ: Theo hình 6.1. ta có danh sách quản lý không gian nhớ tự do như sau:
Danh sách Số lượng
2 4
8 6
17 2
25 3

CHƯƠNG 4: CẤP PHÁT KHÔNG GIAN NHỚ TỰ DO


4.1 Cấp phát liên tục (continous)
Để phân bổ không gian nhớ cho 1 file thì hệ thống chọn 1 đoạn liên tục các block đĩa tự
do để cấp phát cho file đó, với phương pháp này để định vị file thì chỉ cần biết địa chỉ của

Directory
File Start Length
f1 0 2
f2 14 3
f3 19 6
f4 28 4

block đầu tiên và số lượng block đã dùng.


Hình 4.1 Sơ đồ cấp phát liên tục
- Ưu điểm : Hỗ trợ cho phương pháp truy nhập tuần tự và truy nhập trực tiếp
- Nhược điểm : Phải chọn được phương thức tối ưu để chọn các vùng không gian tự do
cấp phát cho file (First - Fit hoặc Best - Fit).
Có thể xảy ra trường hợp không đủ số block đĩa tự do liên tiếp cần thiết để cấp phát cho
file.
Gây lãng phí trong trường hợp có 1 số block đĩa tản mạn không sử dụng được.
4.2 Cấp phát liên kết (linked)
Trong phương pháp này mỗi file được định vị trong thư mục thiết bị bằng hai con trỏ, một
cái trỏ tới block đầu tiên, một cái trỏ tới block cuối cùng đã cấp phát cho file. Trong mỗi
block đĩa đã cấp phát cũng có một con trỏ để trỏ tới block đĩa kế tiếp
Hình 4.2 Sơ đồ cấp phát liên kết
Ví dụ: File a được cấp phát 5 blocks đĩa có số hiệu là 9,16,1,10,25, Block đầu tiên của file
a có số hiệu là 9, block cuối cùng của file a có số hiệu là 25

Ưu điểm : Sử dụng được các block nằm tản mạn trên đĩa.
Nhược điểm : Chỉ hỗ trợ truy nhập tuần tự, không hỗ trợ truy nhập trực tiếp
+ Tốn không gian nhớ để lưu trữ các con trỏ (khoảng 0.38%).
+ Độ tin cậy không cao nếu bị mất con trỏ
4.3 Cấp phát theo chỉ số (Index)
Trong phương pháp này để cấp phát không gian nhớ cho một file hệ thống sử dụng
một block đĩa đặc biệt gọi là block đĩa chỉ số (Index block) cho mỗi file. Trong
block đĩa chỉ số chứa địa chỉ của các block đĩa đã cấp phát cho file, trong thư mục
thiết bị địa chỉ của các block đĩa chỉ số khi một block đĩa được cấp phát cho file thì
hệ thống sẽ loại bỏ địa chỉ của block đĩa này khỏi danh sách các block đĩa tự do và
cập nhật vào block chỉ số của file.
Phương pháp cấp phát theo chỉ số chỉ hỗ trợ truy nhập trực tiếp nhưng lãng phí
không gian nhớ dành cho khối đĩa chỉ số.

Hình 4.3 Sơ đồ cấp phát theo chỉ số


CHƯƠNG 5 : LẬP LỊCH CHO ĐĨA
5.1 Khái niệm lập lịch cho đĩa
Thời gian truy nhập đĩa phụ thuộc vào 3 yếu tố sau :
- Thời gian di chuyển đầu từ đọc/ghi đến track hoặc cylinder cần thiết (seek-time).
- Thời gian định vị đầu từ đọc/ghi tại khối đĩa cần truy nhập (latency- time).
- Thời gian truy nhập dữ liệu (transfer-time).
Thời gian định vị đầu từ đọc/ghi và thời gian truy nhập dữ liệu thông thường cố
định và phụ thuộc cấu trúc kĩ thuật của ổ đĩa. Do đó để tăng tốc độ truy nhập đĩa,
các hệ điều hành thường quan tâm tới thời gian di chuyển đầu từ đọc/ghi.
Như vậy, lập lịch cho đĩa là dùng các thuật toán sao cho thời gian truy nhập đĩa là
tối ưu nhất.
5.2 Một số phương pháp lập lịch
5.2.1 First Come First Served (FCFS)
Phương pháp này tiến hành đọc các khối theo thứ tự, dễ lập lịch nhưng gây
ra tốn thời gian truy nhập đĩa vì khoảng cách các khối theo thứ tự xa nhau thì sẽ
làm tăng thời gian di chuyển của đầu đọc đến block cần truy cập dữ liệu.
Để truy nhập tới một file, hệ thống sẽ tổ chức một hàng đợi các yêu cầu phục
vụ của các track (lưu trữ dữ liệu của file cần truy nhập). Track nào có yêu cầu phục
vụ trước thì đầu từ đọc/ghi sẽ dịch chuyển tới đó trước.
Ví dụ: File F1 được phân bổ 200 block ( 0 đến 199), dữ liệu lần lượt được
lưu trữ tại các block có số hiệu như sau : 98, 183, 37, 122, 14, 124, 65, 67. Đầu từ
đọc/ghi đang định vị tại block có số
hiệu là 53.
Sơ đồ dịch chuyển đầu từ đọc/ghi theo thuật toán FCFS được thể hiện như sau:

Hình 5.1 Thuật toán lập lịch FCFS

You might also like