HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
BÀI GIẢNG MÔN
HỆ ĐIỀU HÀNH
Giảng viên: ThS. Nguyễn Thị Ngọc Vinh
Bộ môn: Khoa học máy tính- Khoa CNTT1
Học kỳ/Năm biên soạn: I/ 2009 - 2010
www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH
BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
Trang 2
CHƢƠNG 3: QUẢN LÝ BỘ NHỚ
www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH
BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
Trang 3
1. Địa chỉ và các vấn đề liên quan
2. Một số cách tổ chức chƣơng trình
3. Các yêu cầu quản lý bộ nhớ
4. Phân chƣơng bộ nhớ
5. Phân trang bộ nhớ
6. Phân đoạn bộ nhớ
7. Bộ nhớ ảo
NỘI DUNG
www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH
BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
Trang 4
Vấn đề gán địa chỉ:
Khi viết chƣơng trình, sử dụng địa chỉ
dƣới dạng tên (biến, hàm)
Khi dịch, chƣơng trình dịch ánh xạ các
tên đó theo địa chỉ tƣơng đối tính từ
đầu file obj(biến, hàm)
Chƣơng trình liên kết ánh xạ tiếp địa
hành)
Tiến trình trong
bộ nhớ
www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH
BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
Trang 5
Địa chỉ logic:
Gán cho các lệnh và dữ liệu không phụ thuộc vào vị trí
cụ thể tiến trình trong bộ nhớ
Chƣơng trình ứng dụng chỉ nhìn thấy và làm việc với
địa chỉ logic này
Là địa chỉ tƣơng đối tức là mỗi phần tử của chƣơng
trình đƣợc gán một địa chỉ tƣơng đối đối với một vị trí
nào đó
I. ĐỊA CHỈ VÀ CÁC VẤN ĐỀ LIÊN QUAN
www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH
BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
Trang 6
Địa chỉ vật lý:
Là địa chỉ chính xác trong bộ nhớ máy tính
Các mạch nhớ sử dụng để truy nhập tới chƣơng trình và
dữ liệu
Địa chỉ logic đƣợc chuyển thành địa chỉ vật lý nhờ
khối ánh xạ địa chỉ.
I. ĐỊA CHỈ VÀ CÁC VẤN ĐỀ LIÊN QUAN
www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH
BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
Trang 7
Hàm chƣa bị gọi thì chƣa tải vào bộ nhớ
Chƣơng trình chính đƣợc load vào bộ nhớ và chạy
Mô đun khác
(printf.c)
Chương trình
dịch
Mô đun object
(printf.o)
Thư viện hóa
Thư viện dùng
chung (*.dll)
Mô đun tải
được
(prog.exe)
Chương trình tải
(hệ điều hành)
Tiến trình trong bộ nhớ
Chương trình tải
động (hệ điều
hành)
www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH
BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
Trang 9
Các modul thƣ viện đƣợc liên kết trong quá trình thực
hiện:
Không giữ bản sao các modul thƣ viện mà tiến trình giữ stub
chứa thông tin về modul thƣ viện
Khi stub đƣợc gọi, nó kiểm tra modul tƣơng ứng đã có trong bộ
nhớ chƣa. Nếu chƣa, thì tải phần còn lại và dùng.
Lần tiếp theo cần sử dụng, modul thƣ viện sẽ đƣợc chạy trực
tiếp
Mỗi modul thƣ viện chỉ có 1 bản sao duy nhất chứa trong MEM
cấu trúc dữ liệu
=> Phải cho phép truy cập tới các vùng chia sẻ
III. CÁC YÊU CẦU QUẢN LÝ BỘ NHỚ
3. Chia sẻ
www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH
BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
Trang 13
Cấu trúc logic:
MEM đƣợc cấu trúc 1 cách tuyến tính gồm các byte,
còn chƣơng trình đƣợc tổ chức thành các modul
Phải đáp ứng để:
Các modul có thể đƣợc viết và thông dịch 1 cách độc lập
Mức độ bảo vệ có thể khác nhau
Modul có thể đƣợc chia sẻ giữa các tiến trình
III. CÁC YÊU CẦU QUẢN LÝ BỘ NHỚ
4. Cấu trúc logic & cấu trúc vật lý
www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH
BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
Trang 14
Cấu trúc vật lý:
2 mức:
Bộ nhớ chính: nhanh; chi phí cao, dung lƣợng ít
Bộ nhớ phụ: dung lƣợng lớn, cho phép lƣu chƣơng trình và
dữ liệu trong thời gian dài
Hệ thống có trách nhiệm chuyển đổi thông tin giữa 2
mức
III. CÁC YÊU CẦU QUẢN LÝ BỘ NHỚ
4. Cấu trúc logic & cấu trúc vật lý
www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH
BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
đƣợc cấp phát
Khi 1 chƣơng đƣợc giải
phóng: chọn tiến trình gần
đầu hàng độ nhất và có
kích thƣớc phù hợp nhất
www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH
BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
Trang 18
Ƣu điểm: đơn giản, ít xử lý
Nhƣợc điểm:
Số lƣợng chƣơng xác định tại thời điểm tạo hệ thống hạn chế số
lƣợng tiến trình hoạt động
Kích thƣớc chƣơng thiết lập trƣớc: không hiệu quả
IV. KỸ THUẬT PHÂN CHƢƠNG BỘ NHỚ
1. Phân chƣơng cố định
www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH
BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
Trang 19
Kích thƣớc, số lƣợng và vị trí chƣơng đều có thể thay đổi
Khi có yêu cầu, HDH cấp cho tiến trình 1 chƣơng có kích
thƣớc đúng bằng tiến trình đó
Khi tiến trình kết thúc sẽ tạo vùng trống trong MEM
Các vùng trống nằm cạnh nhau đƣợc nhập lại thành vùng
lớn hơn
IV. KỸ THUẬT PHÂN CHƢƠNG BỘ NHỚ
2. phân chƣơng động
www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH
BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
Trang 20
Tránh phân mảnh trong
H-1
:
Nếu 2
H-2
<S≤ 2
H-1
: cấp 2
H-1
Tiếp tục chia đôi tới khi tìm đƣợc vùng thỏa mãn 2
k-1
<S≤ 2
k
IV. KỸ THUẬT PHÂN CHƢƠNG BỘ NHỚ
3. Phƣơng pháp kề cận (buddy system)
www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH
BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
Trang 22
Sau một thời gian xuất hiện các khối trống có kích thƣớc 2
k
Tạo danh sách móc nối các vùng có cùng kích thƣớc
Nếu có 2 khối trống cùng kích thƣớc và kề nhau thì ghép lại
thành 1
Khi cần cấp, sẽ tìm trong danh sách khối phù hợp nhất; nếu
không tìm khối lớn hơn và cắt đôi
IV. KỸ THUẬT PHÂN CHƢƠNG BỘ NHỚ
3. Phƣơng pháp kề cận
www.ptit.edu.vn GIẢNG VIÊN: THS NGUYỄN THỊ NGỌC VINH
BỘ MÔN: KHOA HỌC MÁY TÍNH – KHOA CNTT1
Trang 23
IV. KỸ THUẬT PHÂN CHƢƠNG BỘ NHỚ
Thanh ghi cơ sở: chứa địa chỉ bắt đầu của tiến trình
Thanh ghi giới hạn: chứa độ dài chƣơng
Địa chỉ logic đƣợc so sánh với nội dung của thanh ghi giới
hạn
Nếu lớn hơn: lỗi truy cập
Nhỏ hơn: đƣợc đƣa tới bộ cộng với thanh ghi cơ sở để thành địa chỉ
vật lý
Nếu chƣơng bị di chuyển thì nội dung của thanh ghi cơ sở bị
thay đổi chứa địa chỉ vị trí mới
IV. PHÂN CHƢƠNG BỘ NHỚ
4. Ánh xạ địa chỉ và chống truy cập trái phép