1. Trang chủ
  2. » Luận Văn - Báo Cáo

đồ án hệ điều hành đề tài quản lý bộ nhớ

18 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Quản Lý Bộ Nhớ
Tác giả Phạm Sơn Tây, Hoàng Trọng Toàn, Huỳnh Nguyễn Duy Tiến
Người hướng dẫn Huỳnh Luân
Trường học Trường Đại học Tài nguyên và Môi trường TP.HCM
Chuyên ngành Hệ thống Thông tin và Viễn thám
Thể loại Đồ án
Năm xuất bản 2023
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 18
Dung lượng 4,13 MB

Nội dung

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 gi

Trang 1

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

TP Hồ Chí Minh, tháng 10 năm 2023

Trang 2

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

TP Hồ Chí Minh, tháng 10 năm 2023

Trang 3

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

Trang 4

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)

Trang 5

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

Trang 6

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Ữ

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

Trang 7

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

Trang 8

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

Trang 9

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 <iostream>

int main() {

3

Trang 10

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

Trang 11

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

Trang 12

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

Trang 13

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

Trang 14

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

Trang 15

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

Trang 16

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

Trang 17

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

Trang 18

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

Ngày đăng: 01/07/2024, 11:51

w