intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Nguyên lý hệ điều hành: Chương 3 - Phạm Đăng Hải

Chia sẻ: _ _ | Ngày: | Loại File: PDF | Số trang:251

37
lượt xem
7
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng Nguyên lý hệ điều hành - Chương 3: Quản lý bộ nhớ. Những nội dung chính trong chương này gồm có: Tổng quan, các chiến lược quản lý bộ nhớ, bộ nhớ ảo, quản lý bộ nhớ trong vi xử lý họ Intel. Mời các bạn cùng tham khảo.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Nguyên lý hệ điều hành: Chương 3 - Phạm Đăng Hải

  1. Hệ điều hành o .c ng NGUYÊN LÝ HỆ ĐIỀU co HÀNH an th Phạm Đăng Hải haipd@soict.hust.edu.vn ng Bộ môn Khoa học Máy tính Viện Công nghệ Thông tin & Truyền Thông o du u CuuDuongThanCong.com 1 / 98 Ngày 20 tháng 3 năm 2019 https://fb.com/tailieudientucntt
  2. Chương 3: Quản lý bộ nhớ o .c ng co an Chương 3 Quản lý bộ nhớ th o ng du u CuuDuongThanCong.com https://fb.com/tailieudientucntt 2 / 98
  3. Chương 3: Quản lý bộ nhớ o .c Giới thiệu ng Mục đích của hệ thống máy tính: thực hiện chương trình Chương trình và dữ liệu (toàn bộ hoặc một phần) phải nằm trong bộ nhớ chính trong khi thực hiện co Byte tích cực:Những byte nội dung đang được thực hiện tại thời điểm quan sát: an Phần chương trình chưa đưa vào bộ nhớ chính được lưu trên bộ nhớ thứ cấp (VD: đĩa cứng )⇒ Bộ nhớ ảo Cho phép lập trình viên không lo lắng về giới hạn bộ nhớ vật lý th o ng du u CuuDuongThanCong.com https://fb.com/tailieudientucntt 3 / 98
  4. Chương 3: Quản lý bộ nhớ o .c Giới thiệu ng Mục đích của hệ thống máy tính: thực hiện chương trình Chương trình và dữ liệu (toàn bộ hoặc một phần) phải nằm trong bộ nhớ chính trong khi thực hiện co Byte tích cực:Những byte nội dung đang được thực hiện tại thời điểm quan sát: an Phần chương trình chưa đưa vào bộ nhớ chính được lưu trên bộ nhớ thứ cấp (VD: đĩa cứng )⇒ Bộ nhớ ảo Cho phép lập trình viên không lo lắng về giới hạn bộ nhớ vật lý th Để s/d CPU hiệu quả và tăng tốc độ đáp ứng của hệ thống: Cần luân chuyển CPU thường xuyên giữa các tiến trình ng Điều phối CPU (Phần 3- Chương 2 ) Cần nhiều tiến trình sẵn sàng trong bộ nhớ o Hệ số song song của hệ thống: Số tiến trình đồng thời tồn du tại trong hệ thống u CuuDuongThanCong.com https://fb.com/tailieudientucntt 3 / 98
  5. Chương 3: Quản lý bộ nhớ o .c Giới thiệu ng Mục đích của hệ thống máy tính: thực hiện chương trình Chương trình và dữ liệu (toàn bộ hoặc một phần) phải nằm trong bộ nhớ chính trong khi thực hiện co Byte tích cực:Những byte nội dung đang được thực hiện tại thời điểm quan sát: an Phần chương trình chưa đưa vào bộ nhớ chính được lưu trên bộ nhớ thứ cấp (VD: đĩa cứng )⇒ Bộ nhớ ảo Cho phép lập trình viên không lo lắng về giới hạn bộ nhớ vật lý th Để s/d CPU hiệu quả và tăng tốc độ đáp ứng của hệ thống: Cần luân chuyển CPU thường xuyên giữa các tiến trình ng Điều phối CPU (Phần 3- Chương 2 ) Cần nhiều tiến trình sẵn sàng trong bộ nhớ o Hệ số song song của hệ thống: Số tiến trình đồng thời tồn du tại trong hệ thống Tồn tại nhiều sơ đồ quản lý bộ nhớ khác nhau Nhiều sơ đồ đòi hỏi trợ giúp từ phần cứng u Thiết kế phần cứng có thể được tích hợp chặt chẽ với HDH CuuDuongThanCong.com https://fb.com/tailieudientucntt 3 / 98
  6. Chương 3: Quản lý bộ nhớ o .c Nội dung chính ng co 1 Tổng quan an 2 Các chiến lược quản lý bộ nhớ 3 Bộ nhớ ảo th ng 4 Quản lý bộ nhớ trong VXL họ Intel o du u CuuDuongThanCong.com https://fb.com/tailieudientucntt 4 / 98
  7. Chương 3: Quản lý bộ nhớ o 1. Tổng quan .c Nội dung chính ng co 1 Tổng quan an 2 Các chiến lược quản lý bộ nhớ 3 Bộ nhớ ảo th ng 4 Quản lý bộ nhớ trong VXL họ Intel o du u CuuDuongThanCong.com https://fb.com/tailieudientucntt 5 / 98
  8. Chương 3: Quản lý bộ nhớ o 1. Tổng quan 1.1 Ví dụ .c ng 1 Tổng quan co Ví dụ an Bộ nhớ và chương trình Liên kết địa chỉ th Các cấu trúc chương trình o ng du u CuuDuongThanCong.com https://fb.com/tailieudientucntt 6 / 98
  9. Chương 3: Quản lý bộ nhớ o 1. Tổng quan 1.1 Ví dụ .c ng co 1 Demo: Chu kỳ thực hiện lệnh an 2 Tạo file thực thi dùng ngôn ngữ máy 3 th Tạo file thực thi từ nhiều modul o ng du u CuuDuongThanCong.com https://fb.com/tailieudientucntt 7 / 98
  10. Chương 3: Quản lý bộ nhớ o 1. Tổng quan 1.1 Ví dụ .c Ví dụ 1: Tạo chương trình thực thi dùng ngôn ngữ máy ng #include char buf[19]={ co 0xEB,0x08,0x48,0x65,0x6C, 0x6C,0x6F,0x21,0x24,0x90, 0xB4,0x09,0xBA,0x02,0x01,0xCD,0x21,0xCD,0x20}; an int main(int argc, char *argv[]){ int i; th FILE * f = fopen("Toto.com","w+"); ng for(i= 0; i < 19;i++) fprintf(f,"%c",buf[i]); o fclose(f); du return 0; } u CuuDuongThanCong.com https://fb.com/tailieudientucntt 8 / 98
  11. Chương 3: Quản lý bộ nhớ o 1. Tổng quan 1.1 Ví dụ .c Ví dụ 1: Kết quả ng File toto.com có kích thước 19 bytes co an th o ng du Nội dung các câu lệnh trong chương trình thực thi toto.com? u CuuDuongThanCong.com https://fb.com/tailieudientucntt 9 / 98
  12. Chương 3: Quản lý bộ nhớ o 1. Tổng quan 1.1 Ví dụ .c Ví dụ 1: Nội dung file ng Dùng debug xem nội dung file và dịch ngược ra hợp ngữ co an th o ng du u CuuDuongThanCong.com https://fb.com/tailieudientucntt 10 / 98
  13. Chương 3: Quản lý bộ nhớ o 1. Tổng quan 1.1 Ví dụ .c Ví dụ 1: Thực hiện file toto.com Nội dung file Toto.com (19 bytes) ng EB 08 48 65 6C 6C 6F 21 24 90 B4 09 BA 02 01 CD 21 CD 20 co an th o ng du u CuuDuongThanCong.com https://fb.com/tailieudientucntt 11 / 98
  14. Chương 3: Quản lý bộ nhớ o 1. Tổng quan 1.1 Ví dụ .c Ví dụ 1: Thực hiện file toto.com Nội dung file Toto.com (19 bytes) ng EB 08 48 65 6C 6C 6F 21 24 90 B4 09 BA 02 01 CD 21 CD 20 co Dịch ngược JMP 010A an DB ’Hello!$’ NOP MOV AH, 9 th MOV DX, 0102 ng INT 21 INT 20 o du u CuuDuongThanCong.com https://fb.com/tailieudientucntt 11 / 98
  15. Chương 3: Quản lý bộ nhớ o 1. Tổng quan 1.1 Ví dụ .c Ví dụ 1: Thực hiện file toto.com Nội dung file Toto.com (19 bytes) ng EB 08 48 65 6C 6C 6F 21 24 90 B4 09 BA 02 01 CD 21 CD 20 co CS:0000 PSP: Program Dịch ngược ... Segment Prefix JMP 010A CS:0100 JMP 010A ⇐CS:IP an DB ’Hello!$’ CS:0102 ’Hello!$’ NOP CS:0109 NOP MOV AH, 9 th CS:010A MOV AH, 9 MOV DX, 0102 CS:010C MOV DX, 0102 ng INT 21 CS:010F INT 21 INT 20 CS:0111 INT 20 o CS:0113 ... du Khi thực hiện, nạp toto.com vào bộ nhớ tại địa chỉ CS:0100 Các thanh ghi đoạn CS, ES, DS,SS cùng trỏ tới PSP u Thanh ghi IP có giá trị 100 (CS:IP trỏ đến lệnh đầu tiên) CuuDuongThanCong.com 11 / 98 SP trỏ tới cuối đoạn; Các thanh ghi thông dụng bị xóa (0) https://fb.com/tailieudientucntt
  16. Chương 3: Quản lý bộ nhớ o 1. Tổng quan 1.1 Ví dụ .c Ví dụ 1: Thực hiện file toto.com Nội dung file Toto.com (19 bytes) ng EB 08 48 65 6C 6C 6F 21 24 90 B4 09 BA 02 01 CD 21 CD 20 co CS:0000 PSP: Program Dịch ngược ... Segment Prefix JMP 010A CS:0100 JMP 010A an DB ’Hello!$’ CS:0102 ’Hello!$’ NOP CS:0109 NOP MOV AH, 9 th CS:010A MOV AH, 9 ⇐CS:IP MOV DX, 0102 CS:010C MOV DX, 0102 ng INT 21 CS:010F INT 21 INT 20 CS:0111 INT 20 o CS:0113 ... du Khi thực hiện, nạp toto.com vào bộ nhớ tại địa chỉ CS:0100 Các thanh ghi đoạn CS, ES, DS,SS cùng trỏ tới PSP u Thanh ghi IP có giá trị 100 (CS:IP trỏ đến lệnh đầu tiên) CuuDuongThanCong.com 11 / 98 SP trỏ tới cuối đoạn; Các thanh ghi thông dụng bị xóa (0) https://fb.com/tailieudientucntt
  17. Chương 3: Quản lý bộ nhớ o 1. Tổng quan 1.1 Ví dụ .c Ví dụ 1: Thực hiện file toto.com Nội dung file Toto.com (19 bytes) ng EB 08 48 65 6C 6C 6F 21 24 90 B4 09 BA 02 01 CD 21 CD 20 co CS:0000 PSP: Program Dịch ngược ... Segment Prefix JMP 010A CS:0100 JMP 010A an DB ’Hello!$’ CS:0102 ’Hello!$’ NOP CS:0109 NOP MOV AH, 9 th CS:010A MOV AH, 9 MOV DX, 0102 CS:010C MOV DX, 0102 ⇐CS:IP ng INT 21 CS:010F INT 21 INT 20 CS:0111 INT 20 o CS:0113 ... du Khi thực hiện, nạp toto.com vào bộ nhớ tại địa chỉ CS:0100 Các thanh ghi đoạn CS, ES, DS,SS cùng trỏ tới PSP u Thanh ghi IP có giá trị 100 (CS:IP trỏ đến lệnh đầu tiên) CuuDuongThanCong.com 11 / 98 SP trỏ tới cuối đoạn; Các thanh ghi thông dụng bị xóa (0) https://fb.com/tailieudientucntt
  18. Chương 3: Quản lý bộ nhớ o 1. Tổng quan 1.1 Ví dụ .c Ví dụ 1: Thực hiện file toto.com Nội dung file Toto.com (19 bytes) ng EB 08 48 65 6C 6C 6F 21 24 90 B4 09 BA 02 01 CD 21 CD 20 co CS:0000 PSP: Program Dịch ngược ... Segment Prefix JMP 010A CS:0100 JMP 010A an DB ’Hello!$’ CS:0102 ’Hello!$’ NOP CS:0109 NOP MOV AH, 9 th CS:010A MOV AH, 9 MOV DX, 0102 CS:010C MOV DX, 0102 ng INT 21 CS:010F INT 21 ⇐CS:IP INT 20 CS:0111 INT 20 o CS:0113 ... du Khi thực hiện, nạp toto.com vào bộ nhớ tại địa chỉ CS:0100 Các thanh ghi đoạn CS, ES, DS,SS cùng trỏ tới PSP u Thanh ghi IP có giá trị 100 (CS:IP trỏ đến lệnh đầu tiên) CuuDuongThanCong.com 11 / 98 SP trỏ tới cuối đoạn; Các thanh ghi thông dụng bị xóa (0) https://fb.com/tailieudientucntt
  19. Chương 3: Quản lý bộ nhớ o 1. Tổng quan 1.1 Ví dụ .c Ví dụ 1: Thực hiện file toto.com Nội dung file Toto.com (19 bytes) ng EB 08 48 65 6C 6C 6F 21 24 90 B4 09 BA 02 01 CD 21 CD 20 co CS:0000 PSP: Program Hello! Dịch ngược ... Segment Prefix JMP 010A CS:0100 JMP 010A an DB ’Hello!$’ CS:0102 ’Hello!$’ NOP CS:0109 NOP MOV AH, 9 th CS:010A MOV AH, 9 MOV DX, 0102 CS:010C MOV DX, 0102 ng INT 21 CS:010F INT 21 INT 20 CS:0111 INT 20 ⇐CS:IP o CS:0113 ... du Khi thực hiện, nạp toto.com vào bộ nhớ tại địa chỉ CS:0100 Các thanh ghi đoạn CS, ES, DS,SS cùng trỏ tới PSP u Thanh ghi IP có giá trị 100 (CS:IP trỏ đến lệnh đầu tiên) CuuDuongThanCong.com 11 / 98 SP trỏ tới cuối đoạn; Các thanh ghi thông dụng bị xóa (0) https://fb.com/tailieudientucntt
  20. Chương 3: Quản lý bộ nhớ o 1. Tổng quan 1.1 Ví dụ .c Ví dụ 1: Thực hiện file toto.com Nội dung file Toto.com (19 bytes) ng EB 08 48 65 6C 6C 6F 21 24 90 B4 09 BA 02 01 CD 21 CD 20 co CS:0000 PSP: Program Hello! Dịch ngược ... Segment Prefix terminated JMP 010A CS:0100 JMP 010A an DB ’Hello!$’ CS:0102 ’Hello!$’ NOP CS:0109 NOP MOV AH, 9 th CS:010A MOV AH, 9 MOV DX, 0102 CS:010C MOV DX, 0102 ng INT 21 CS:010F INT 21 INT 20 CS:0111 INT 20 o CS:0113 ... du Khi thực hiện, nạp toto.com vào bộ nhớ tại địa chỉ CS:0100 Các thanh ghi đoạn CS, ES, DS,SS cùng trỏ tới PSP u Thanh ghi IP có giá trị 100 (CS:IP trỏ đến lệnh đầu tiên) CuuDuongThanCong.com 11 / 98 SP trỏ tới cuối đoạn; Các thanh ghi thông dụng bị xóa (0) https://fb.com/tailieudientucntt
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2