Kiến thức về bộ nhớ - Hệ điều hành | Trường Đại Học Tài Nguyên và Môi Trường TP HCM
Kiến thức về bộ nhớ - Hệ điều hành | Trường Đại Học Tài Nguyên và Môi Trường TP HCM được sưu tầm và soạn thảo dưới dạng file PDF để gửi tới các bạn sinh viên cùng tham khảo, ôn tập đầy đủ kiến thức, chuẩn bị cho các buổi học thật tốt. Mời bạn đọc đón xem!
Môn: Hệ điều hành (UIT1)
Trường: Đại học Tài nguyên và Môi trường Thành phố Hồ Chí Minh
Thông tin:
Tác giả:
Preview text:
BỘ TÀI NGUYÊN VÀ MÔI TRƯỜNG
TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG TPHCM
KHOA HỆ THỐNG THÔNG TIN VÀ VIỄN THÁM ĐỒ ÁN: HỆ ĐIỀU HÀNH
ĐỀ TÀI: QUẢN LÝ BỘ NHỚ Giảng viên hướng dẫn : Huỳnh Luân
Sinh viên thực hiện : Phạm Sơn Tây Hoàng Trọng Toàn Huỳnh Nguyễn Duy Tiến Mã số sinh viên : 169, 202, 195 Lớp : CNTT_4 Khóa : K12
TP. Hồ Chí Minh, tháng 10 năm 2023
BỘ TÀI NGUYÊN VÀ MÔI TRƯỜNG
TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG TPHCM
KHOA HỆ THỐNG THÔNG TIN VÀ VIỄN THÁM ĐỒ ÁN: HỆ ĐIỀU HÀNH
ĐỀ TÀI: QUẢN LÝ BỘ NHỚ Giảng viên hướng dẫn : Huỳnh Luân Sinh viên thực hiện : Phạm Sơn Tây Hoàng Trọng Toàn Huỳnh Nguyễn Duy Tiến Mã số sinh viên : 169, 202, 195 Lớp : CNTT_4 Khóa : K12
TP. Hồ Chí Minh, tháng 10 năm 2023 LỜI NÓI ĐẦU
Chúng ta đang ở kỷ nguyên thông tin. Ngày nay không còn ai nghi ngơ gì vai trò của
thông tin trong đời sống, trong khoa học kỹ thuật, kinh doanh cũng như trong mọi mặt
vận động của xã hội, dưới mọi quy mô, từ xí nghiệp công ty cho đến quốc gia và cả quốc tế.
Nhà quản lý, các nhà nghiên cứu, các nhà công nghệ, các nhà giáo dục, các nhà sản xuất
kinh doanh… không chỉ là người dùng tin mà còn là những người sản xuất ra thông tin
mới. Sự gia tăng nhanh chóng khối lượng tri thức khoa học tác động mạnh mẽ tới các
hoạt động của các cơ quan thông tin – thư viện như cơ cấu của kho tài liệu, làm cho số
lượng và chủng loại tài liệu tăng lên gấp bội.
Hẳn là nhiều người ít khi biết một chiếc máy tính hoạt động nhứ thế nào và theo quy trình
quy trinh quy tắc nào, để giúp mọi người biết và hiểu hơn về các thiết bị máy cùng cách
hoạt động ra sao, nhóm chúng tôi xin được phép nói sâu về bộ nhớ máy chi tiết hơn đó là
việc quản lý bộ nhớ (memory management), ta lần lượt trình bày các thành phần cấu trúc
cũng như chức năng của bộ nhớ. Tuy nhiên bài tiêu luận này cũng không tránh khỏi
những thiếu sót, chúng tôi mong nhận được sự góp ý từ độc giả để được trở nên hoàn chỉnh hơn.
Chúng tôi xin chân thành cảm ơn các bạn trong nhóm Hệ Điều Hành đã đọc, góp ý và
chỉnh sửa chính tả cho ra phiên bản hoàn thiện nhất.
Chúng tôi cũng xin chân thành cảm ơn Thầy Huỳnh Luân đã tạo điều kiện thuận lợi nhất
để hoàn thanh bài tiểu luận.
Quản lý bộ nhớ GVHD : Huỳnh Luân
NHẬN XÉT ĐÁNH GIÁ CỦA GIẢNG VIÊN
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
........................................................................................................................................
TP. Hồ Chí Minh, Ngày … tháng … năm 2023 GIẢNG VIÊN HƯỚNG DẪN (Ký tên)
Quản lý bộ nhớ GVHD : Huỳnh Luân MỤC LỤC
Phần 1. MỞ ĐẦU...............................................................................................................1
1. Lý do chọn đề tài………………………………………………………………………..1
2. Mục đích………………………………………………………………………………..1
3. Phạm vi đề tài…………………………………………………………………………...1
Phần 2. NỘI DUNG...........................................................................................................2
I. Tổng quan quản lý bộ nhớ..............................................................................................2
II. Các vấn đề về bộ nhớ....................................................................................................2
III. Các bước chuyển đổi file nguồn thành file thực thi......................................................3
IV. Nhu cầu bộ nhớ của tiến trình......................................................................................4
V. Truy xuất bộ nhớ...........................................................................................................5
VI. Yêu cầu quản lý bộ nhớ...............................................................................................6
VII. Các mô hình tổ chức bộ nhớ.......................................................................................7
1. Mô hình bộ nhớ liên tục………………………………………………………………...7
2. Mô hình bộ nhớ phân đoạn……………………………………………………………..8
3. Mô hình bộ nhớ trang…………………………………………………………………..8
VIII. Các mô hình chuyển đổi địa chỉ..............................................................................10
IX. Quản lý bộ nhớ trong Windows.................................................................................11
Tài liệu kham khảo...........................................................................................................12
Quản lý bộ nhớ GVHD : Huỳnh Luân DANH MỤC HÌNH ẢNH
Hình 1. Quá trình trao đổi thông tin của bộ nhớ……………………………………2
Hình 2. Quá trình truy xuất bộ nhớ…………………………………………………6
Hình 3. Mô hình bộ nhớ liên tục……………………………………………………7
Hình 4. Mô hình bộ nhớ phân đoạn………………………………………………...8
Hình 5. Mô hình bộ nhớ trang……………………………………………………...9
Hình 6. Chuyển đổi địa chỉ tĩnh…………………………………………………...10
Hình 7. Phương pháp phân trang………………………………………………….11 THUẬT NGỮ Kí Hiệu Ý Nghĩa CPU Bộ xử lý trung tâm File Tập tin First Fit
Cấp phát lỗ trống đầu tiên đủ lớn Best Fit
Cấp phát lỗ trống nhỏ nhất đủ lớn Worst Fit
Cấp phát lỗ trống lớn nhất
Quản lý bộ nhớ GVHD : Huỳnh Luân Phần 1. MỞ ĐẦU
1. Lý do chọn đề tài : nhiều người ít khi biết một chiếc máy tính hoạt động nhứ
thế nào và theo quy trình quy trinh quy tắc nào, để giúp mọi người biết và hiểu hơn
về các thiết bị máy cùng cách hoạt động ra sao, chúng tôi chọn Quản lý bộ nhớ làm đề tài.
2. Mục đích : giúp mọi người mở rộng kiến thức cũng như có thêm tài liệu kham khảo
về việc Quản lý bộ nhớ trong Hệ điều hành.
3. Phạm vi đề tài : đề tài nói xung quanh các cách thức hoạt động các chi tiết việc Quản lý bộ nhớ. 1
Quản lý bộ nhớ GVHD : Huỳnh Luân Phần 2. NỘI DUNG
I. Tổng quan quản lý bộ nhớ
Quản lý bộ nhớ là một trong những nhiệm vụ quan trọng nhất của hệ điều hành. Bộ
nhớ chính là thiết bị lưu trữ duy nhất thông qua đó CPU có thể trao đổi thông tin với môi
trường ngoài, do vậy nhu cầu tổ chức, quản lý bộ nhớ là một trong những nhiệm vụ trọng
tâm hàng đầu của hệ điều hành.
Hình 1. Quá trình trao đổi thông tin của bộ nhớ
II. Các vấn đề về bộ nhớ
Chậm trễ: Khi bộ nhớ trở nên quá tải, hệ thống có thể trở nên chậm chạp. Điều
này có thể dẫn đến việc tiến trình chạy chậm hơn, hoặc thậm chí ngừng hoạt động.
Treo máy: Trong một số trường hợp, khi bộ nhớ bị quá tải, hệ thống có thể “treo”
hoặc không phản ứng. Điều này có thể yêu cầu khởi động lại máy tính để giải phóng bộ nhớ. 2
Quản lý bộ nhớ GVHD : Huỳnh Luân
Lỗi: Các lỗi bộ nhớ, như lỗi truy cập bộ nhớ hoặc lỗi phân trang, có thể gây ra sự
cố cho hệ thống và ảnh hưởng đến hiệu suất và ổn định.
Thiếu bộ nhớ: Khi không còn đủ không gian trong bộ nhớ để cấp phát cho các
tiến trình, hệ thống có thể gặp phải tình trạng thiếu bộ nhớ. Điều này có thể yêu
cầu việc giải phóng không gian bằng cách đóng các tiến trình không cần thiết hoặc
mở rộng dung lượng bộ nhớ.
III. Các bước chuyển đổi file nguồn thành file thực thi
Để chuyển đổi ta cần thực hiện các bước :
Viết mã nguồn : Bước đầu tiên là viết mã nguồn cho chương trình của bạn. Mã
nguồn thường được viết bằng một ngôn ngữ lập trình như C, C++, Java, Python, v.v.
Biên dịch mã nguồn : Biên dịch mã nguồn: Sau khi viết mã nguồn, bạn cần biên dịch
nó thành mã máy. Quá trình này được thực hiện bởi một trình biên dịch.
Liên kết mã máy : Sau khi biên dịch mã nguồn, bạn cần liên kết nó với các thư viện
và các file khác cần thiết để chạy chương trình. Quá trình này được thực hiện bởi một trình liên kết.
Chạy chương trình : Sau khi liên kết mã máy, bạn có thể chạy chương trình. Ví dụ cơ bản :
Bước 1: Chọn ngôn ngữ lập trình
Trong ví dụ này, chúng ta sẽ sử dụng ngôn ngữ lập trình C++
Bước 2: Viết mã nguồn.
Dưới đây là mã nguồn cho chương trình C++ đơn giản: #include int main() { 3
Quản lý bộ nhớ GVHD : Huỳnh Luân
std::cout << "Hello, world!" << std::endl; return 0; }
Bước 3: Biên dịch mã nguồn.
Để biên dịch mã nguồn, hãy mở Visual Studio và mở file mã nguồn. Sau đó, nhấp chuột
phải vào file và chọn "Build".
Bước 4: Tạo file thực thi.
Sau khi biên dịch mã nguồn, Visual Studio sẽ tạo ra một file thực thi có tên là "hello_world.exe".
Bước 5: Chạy file thực thi.
Để chạy file thực thi, hãy nhấp đúp vào file hoặc sử dụng lệnh sau trong terminal: ./hello_world.exe
Chương trình sẽ in ra dòng chữ "Hello, world!".
IV. Nhu cầu bộ nhớ của tiến trình
Nhu cầu bộ nhớ tiến trình là lượng bộ nhớ cần thiết để lưu trữ dữ liệu và mã của
tiến trình. Nhu cầu bộ nhớ tiến trình phụ thuộc vào nhiều yếu tố, bao gồm:
Kích thước của mã: Mã của một tiến trình bao gồm các lệnh mà CPU thực hiện.
Mã này có thể rất nhỏ (vài KB) cho các chương trình đơn giản, hoặc lớn (MB
hoặc GB) cho các chương trình phức tạp như hệ điều hành hoặc trò chơi video.
Kích thước của dữ liệu: Dữ liệu của một tiến trình bao gồm các biến, mảng, và
cấu trúc dữ liệu khác. Kích thước của dữ liệu phụ thuộc vào số lượng và loại dữ
liệu mà tiến trình sử dụng.
Kiểu dữ liệu: Các kiểu dữ liệu khác nhau có thể chiếm không gian bộ nhớ khác
nhau. Ví dụ, một số nguyên chiếm ít không gian hơn so với một chuỗi ký tự. 4
Quản lý bộ nhớ GVHD : Huỳnh Luân
Khả năng sử dụng bộ nhớ: Một số tiến trình có thể sử dụng bộ nhớ hiệu quả hơn
so với các tiến trình khác. Ví dụ, một tiến trình có thể sử dụng các thuật toán và
cấu trúc dữ liệu hiệu quả để giảm bộ nhớ cần thiết.
V. Truy xuất bộ nhớ
Truy xuất bộ nhớ là quá trình lấy dữ liệu từ bộ nhớ. Trong máy tính, bộ nhớ có thể là
RAM, ROM, ổ cứng, ổ SSD, v.v. Dữ liệu được lưu trữ trong bộ nhớ có thể là chương
trình, dữ liệu, hoặc cả hai. Quá trình này được thực hiện bởi CPU,quá trình truy xuất bộ
nhớ bao gồm các bước sau:
Định vị dữ liệu: CPU sử dụng địa chỉ bộ nhớ để định vị dữ liệu cần truy xuất.
Gửi yêu cầu truy xuất: CPU gửi yêu cầu truy xuất đến bộ nhớ.
Bộ nhớ trả về dữ liệu: Bộ nhớ trả về dữ liệu cho CPU.
Thời gian truy xuất bộ nhớ là thời gian cần thiết để CPU lấy dữ liệu từ bộ nhớ.
Thời gian truy xuất bộ nhớ phụ thuộc vào nhiều yếu tố, bao gồm:
Loại bộ nhớ: Bộ nhớ truy cập ngẫu nhiên (RAM) có thời gian truy xuất nhanh hơn
bộ nhớ truy cập tuần tự (ROM).
Khoảng cách giữa CPU và bộ nhớ: Khoảng cách giữa CPU và bộ nhớ càng gần thì
thời gian truy xuất càng nhanh.
Công nghệ bộ nhớ: Công nghệ bộ nhớ mới hơn thường có thời gian truy xuất nhanh hơn.
Dưới đây là một số ví dụ về truy xuất bộ nhớ:
Khi bạn mở một ứng dụng trên máy tính, hệ điều hành sẽ truy xuất dữ liệu ứng dụng từ bộ nhớ.
Khi bạn mở một tệp trên máy tính, hệ điều hành sẽ truy xuất dữ liệu tệp từ bộ nhớ. 5
Quản lý bộ nhớ GVHD : Huỳnh Luân
Hình 2. Quá trình truy xuất bộ nhớ
VI. Yêu cầu quản lý bộ nhớ
Cấp phát bộ nhớ cần phải nhanh: Điều này đòi hỏi hệ điều hành phải có khả
năng quản lý bộ nhớ một cách linh hoạt và nhanh chóng. Điều này có thể được
thực hiện thông qua việc sử dụng các thuật toán cấp phát bộ nhớ hiệu quả, như
First Fit, Best Fit hoặc Worst Fit. Mục tiêu là giảm thiểu thời gian chờ và tối đa
hóa hiệu suất của hệ thống.
Thu hồi bộ nhớ phải hiệu quả: Khi một tiến trình không còn sử dụng một phần
bộ nhớ nào đó, hệ điều hành phải có khả năng thu hồi và tái sử dụng không gian
đó. Điều này đòi hỏi việc theo dõi và cập nhật liên tục trạng thái của bộ nhớ.
Ổn định: Hệ điều hành phải ngăn chặn việc một tiến trình truy cập vào vùng nhớ
của tiến trình khác. Điều này đòi hỏi việc sử dụng các cơ chế bảo vệ bộ nhớ, như
phân quyền truy cập và kiểm soát truy cập. 6
Quản lý bộ nhớ GVHD : Huỳnh Luân
Hiệu quả, linh hoạt: Hệ điều hành phải có khả năng điều chỉnh việc sử dụng bộ
nhớ theo nhu cầu của các tiến trình. Điều này có thể được thực hiện thông qua việc
sử dụng các kỹ thuật như phân trang và đoạn, cho phép việc sử dụng bộ nhớ một
cách linh hoạt và hiệu quả.
VII. Các mô hình tổ chức bộ nhớ
Có nhiều mô hình tổ chức bộ nhớ khác nhau có thể được sử dụng trong hệ điều hành.
Mỗi mô hình có ưu và nhược điểm riêng:
1. Mô hình bộ nhớ liên tục :
Trong mô hình bộ nhớ liên tục, bộ nhớ được tổ chức thành một không gian địa chỉ liên
tục. Mỗi tiến trình được cấp phát một không gian địa chỉ riêng, bắt đầu từ một địa chỉ cụ thể.
Mô hình bộ nhớ liên tục là mô hình đơn giản nhất để thực hiện. Tuy nhiên, nó có một số hạn chế, bao gồm:
Thiếu hiệu quả: Các tiến trình thường không cần tất cả bộ nhớ được cấp phát cho chúng.
Thiếu bảo mật: Các tiến trình có thể truy cập dữ liệu của các tiến trình khác.
Hình 3. Mô hình bộ nhớ liên tục 7
Quản lý bộ nhớ GVHD : Huỳnh Luân
2. Mô hình bộ nhớ phân đoạn
Trong mô hình bộ nhớ phân đoạn, bộ nhớ được tổ chức thành các đoạn. Mỗi đoạn có
kích thước và địa chỉ bắt đầu riêng.
Mô hình bộ nhớ phân đoạn khắc phục một số hạn chế của mô hình bộ nhớ liên tục. Nó
cho phép các tiến trình chỉ được cấp phát bộ nhớ mà chúng cần, và nó giúp ngăn chặn các
tiến trình truy cập dữ liệu của các tiến trình khác.
Tuy nhiên, mô hình bộ nhớ phân đoạn cũng có một số hạn chế, bao gồm:
Phức tạp: Quản lý bộ nhớ phân đoạn đòi hỏi nhiều tài nguyên và thời gian hơn so với
quản lý bộ nhớ liên tục.
Hình 4. Mô hình bộ nhớ phân đoạn
3. Mô hình bộ nhớ trang
Trong mô hình bộ nhớ trang, bộ nhớ được tổ chức thành các trang. Mỗi trang có kích thước cố định.
Mô hình bộ nhớ trang kết hợp các ưu điểm của mô hình bộ nhớ liên tục và mô hình bộ
nhớ phân đoạn. Nó cho phép các tiến trình chỉ được cấp phát bộ nhớ mà chúng cần, và nó 8
Quản lý bộ nhớ GVHD : Huỳnh Luân
giúp ngăn chặn các tiến trình truy cập dữ liệu của các tiến trình khác giảm thiểu lãng phí bộ nhớ.
Tuy nhiên, mô hình bộ nhớ trang cũng có một số nhược điểm, nó phức tạp hơn mô hình
bộ nhớ liên tục và mô hình bộ nhớ phân đoạn, nó có thể dẫn đến thời gian truy xuất bộ nhớ chậm hơn.
Mô hình bộ nhớ trang cũng là mô hình tổ chức bộ nhớ phổ biến nhất được sử dụng trong
các hệ điều hành hiện đại.
Hình 5. Mô hình bộ nhớ trang
Quy trình truy xuất bộ nhớ trang bao gồm các bước sau:
1. CPU cần truy cập dữ liệu trong bộ nhớ.
2. CPU sử dụng địa chỉ trang của dữ liệu.
3. Bộ nhớ quản lý chuyển đổi địa chỉ trang thành địa chỉ vật lý.
4. Bộ nhớ quản lý tìm dữ liệu tại địa chỉ vật lý.
5. Bộ nhớ quản lý gửi dữ liệu trở lại CPU. 9
Quản lý bộ nhớ GVHD : Huỳnh Luân
VIII. Các mô hình chuyển đổi địa chỉ
Chuyển đổi địa chỉ tĩnh: Trong mô hình này, địa chỉ logic được chuyển đổi thành
địa chỉ vật lý ngay tại thời điểm biên dịch hoặc liên kết. Điều này có nghĩa là, một
khi tiến trình được nạp vào bộ nhớ, nó phải ở cố định ở một vị trí nhất định. Mô
hình này đơn giản và dễ hiểu, nhưng không linh hoạt và có thể gặp khó khăn trong
việc tận dụng hiệu quả không gian bộ nhớ.
Hình 6. Chuyển đổi địa chỉ tĩnh
Chuyển đổi địa chỉ động: Trong mô hình này, việc chuyển đổi từ địa chỉ logic
sang vật lý được thực hiện tại thời gian chạy. Điều này cho phép tiến trình di
chuyển trong bộ nhớ trong suốt thời gian thực thi, giúp tối ưu hóa việc sử dụng
không gian bộ nhớ. Tuy nhiên, mô hình này yêu cầu các cơ chế phức tạp hơn để
theo dõi vị trí của các tiến trình và quản lý việc chuyển đổi địa chỉ. 10
Quản lý bộ nhớ GVHD : Huỳnh Luân
IX. Quản lý bộ nhớ trong Windows
Trong Windows, hệ điều hành quản lý bộ nhớ bằng cách sử dụng một phương pháp gọi là
phân trang. Với phân trang, hệ điều hành chia bộ nhớ vật lý thành các trang nhỏ. Mỗi
chương trình được cấp phát một không gian địa chỉ ảo, lớn hơn bộ nhớ vật lý của nó. Khi
chương trình cần truy cập một trang dữ liệu, hệ điều hành sẽ tải trang đó từ ổ cứng vào bộ nhớ vật lý.
Hình 7. Phương pháp phân trang
Để quản lý bộ nhớ trong Windows, người dùng có thể sử dụng các công cụ tích hợp sẵn
hoặc phần mềm của bên thứ ba. Công cụ tích hợp sẵn : Task Manager Performance Monitor Disk Defragmenter
Có rất nhiều phần mềm của bên thứ ba có sẵn để quản lý bộ nhớ trong Windows. Một số
phần mềm phổ biến bao gồm: CleanMem RAMRush 11
Quản lý bộ nhớ GVHD : Huỳnh Luân
Một cách khác để quản lý bộ nhớ trong Windows là sử dụng các kỹ thuật quản
lý bộ nhớ thủ công. Các kỹ thuật này bao gồm:
Tắt các chương trình không sử dụng: Khi bạn không sử dụng một chương trình,
hãy tắt nó. Điều này sẽ giải phóng bộ nhớ mà chương trình đang sử dụng.
Tắt các dịch vụ không cần thiết: Windows khởi động một số dịch vụ khi máy tính
khởi động. Nếu bạn không sử dụng dịch vụ, hãy tắt nó. Điều này sẽ giải phóng bộ
nhớ mà dịch vụ đang sử dụng.
Xóa các tập tin tạm thời: Các tập tin tạm thời được tạo ra bởi các chương trình và
dịch vụ. Nếu bạn không cần các tập tin tạm thời, hãy xóa chúng. Điều này sẽ giải
phóng bộ nhớ mà các tập tin đang sử dụng.
Tài liệu kham khảo 1, monhoc.vn
https://monhoc.vn/tai-lieu/mon-he-dieu-hanh/ 2, Stdocu
https://www.studocu.com/ 12