Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 144 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
144
Dung lượng
3,35 MB
Nội dung
HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG NGUYỄN THỊ NGỌC VINH BÀI GIẢNG KIẾN TRÚC MÁY TÍNH VÀ HỆ ĐIỀU HÀNH HÀ NỘI 2013 LỜI NĨI ĐẦU Kiến trúc máy tính lĩnh vực khoa học sở ngành Khoa học máy tính nói riêng Cơng nghệ thơng tin nói chung Kiến trúc máy tính khoa học lựa chọn ghép nối thành phần phần cứng máy tính nhằm đạt mục tiêu hiệu cao, tính đa dạng giá thành thấp Hệ điều hành thành phần quan trọng hệ thống máy tính Nắm vững kiến thức hệ điều hành sở cho việc hiểu biết sâu sắc hệ thống máy tính nói chung Mơn học Kiến trúc máy tính hệ điều hành mơn học sở chương trình đào tạo cao đẳng đại học ngành điện tử viễn thông Mục tiêu môn học cung cấp cho sinh viên kiến thức sở kiến trúc máy tính hệ điều hành, bao gồm: kiến trúc máy tính tổng quát, kiến trúc xử lý trung tâm, kiến trúc tập lệnh máy tính, chế ống lệnh, hệ thống phân cấp nhớ, hệ thống bus thiết bị ra; khái niệm, nguyên lý hoạt động tổng quát hệ điều hành nói chung thành phần quan trọng hệ thống máy tính Kiến trúc máy tính hệ điều hành lĩnh vực phát triển thời gian tương đối dài với lượng kiến thức đồ sộ, khuôn khổ tài liệu có tính chất giảng mơn học, nhóm tác giả cố gắng trình bày vấn đề sở phục vụ mục tiêu môn học Nội dung tài liệu biên soạn thành hai phần với sáu chương sau: Phần nội dung lĩnh vực kiến trúc máy tính, cấu trúc thành bốn chương Chương phần giới thiệu khái niệm sở kiến trúc máy tính, khái kiệm kiến trúc tổ chức máy tính; cấu trúc chức thành phần máy tính; kiến trúc máy tính von-Neumann kiến trúc Harvard Khái niệm hệ đếm cách tổ chức liệu máy tính trình bày chương Chương giới thiệu khối xử lý trung tâm, nguyên tắc hoạt động thành phần Khối xử lý trung tâm thành phần quan trọng phức tạp máy tính, đóng vai trị não máy tính Thơng qua việc thực lệnh chương trình khối xử lý trung tâm, máy tính thực thi yêu cầu người sử dụng Chương giới thiệu tập lệnh máy tính, bao gồm khái niệm lệnh, dạng lệnh, thành phần lệnh; dạng địa chế độ địa chỉ, số dạng lệnh thông dụng kèm ví dụ minh hoạ Ngồi ra, chế ống lệnh – xử lý xen kẽ lệnh đề cập Chương trình bày hệ thống nhớ: khái quát hệ thống nhớ cấu trúc phân cấp hệ thống nhớ; giới thiệu loại nhớ ROM RAM Một phần quan trọng chương phần giới thiệu nhớ cache - nhớ đặc biệt có khả giúp tăng tốc hệ thống nhớ nói riêng hệ thống máy tính nói chung Chương giới thiệu số nhớ ngồi điển hình: đĩa từ đĩa quang Chương trình bày hệ thống bus thiết bị ngoại vi Phần trình bày hệ thống bus đề cập đến loại bus ISA, EISA, PCI, AGP PCI-Express Phần giới thiệu thiết bị vào đề cập đến nguyên lý hoạt động số thiết bị vào thông dụng, bàn phím, chuột, hình máy in Phần nội dung lĩnh vực hệ điều hành, chia thành hai chương Chương bao gồm khái niệm chung hệ điều hành, thành phần chức số kiểu kiến trúc thơng dụng Chương tóm tắt q trình hình thành phát triển hệ điều hành, qua trình bày số khái niệm kỹ thuật quan trọng Chương giới thiệu thành phần chức hệ điều hành: quản lý hệ thống file, quản lý nhớ quản lý tiến trình Trong chương này, phương pháp, thuật tốn để hệ điều hành thực việc quản lý hệ thống file, cấp phát nhớ điều độ tiến trình trình bày Tài liệu biên soạn dựa kinh nghiệm giảng dạy môn học Kiến trúc máy tính Hệ điều hành nhiều năm tác giả đồng nghiệp môn Khoa học máy tính, Khoa Cơng nghệ thơng tin 1, Học viện Cơng nghệ Bưu – Viễn thơng, kết hợp tiếp thu đóng góp đồng nghiệp phản hồi từ sinh viên Tài liệu sử dụng làm tài liệu học tập cho sinh viên hệ đại học cao đẳng ngành điện tử viễn thơng Trong q trình biên soạn, nhóm tác giả cố gắng song tránh khỏi có thiếu sót Nhóm tác giả mong muốn nhận ý kiến phản hồi góp ý cho thiếu sót, ý kiến việc cập nhật, hoàn thiện nội dung tài liệu Hà nội, tháng năm 2013 Tác giả MỤC LỤC CHƯƠNG GIỚI THIỆU CHUNG 1.1 KHÁI NIỆM VỀ KIẾN TRÚC VÀ TỔ CHỨC MÁY TÍNH 1.2 CẤU TRÚC VÀ CHỨC NĂNG CÁC THÀNH PHẦN CỦA MÁY TÍNH 1.2.1 Sơ đồ khối chức 1.2.2 Các thành phần máy tính 1.3 LỊCH SỬ PHÁT TRIỂN MÁY TÍNH 11 1.3.1 Thế hệ (1944-1959) 11 1.3.2 Thế hệ (1960-1964) 11 1.3.3 Thế hệ (1964-1975) 11 1.3.4 Thế hệ (1975-1989) 11 1.3.5 Thế hệ (1990 - nay) 11 1.4 KIẾN TRÚC MÁY TÍNH VON-NEUMANN VÀ HARVARD 12 1.4.1 Kiến trúc máy tính von-Neumann 12 1.4.2 Kiến trúc máy tính Harvard 13 1.5 CÁC HỆ SỐ ĐẾM VÀ TỔ CHỨC DỮ LIỆU TRÊN MÁY TÍNH 13 1.5.1 Các hệ số đếm 13 1.5.2 Tổ chức liệu máy tính 14 1.5.3 Số có dấu số khơng dấu 16 1.5.4 Bảng mã ASCII 16 CHƯƠNG KHỐI XỨ LÝ TRUNG TÂM 18 2.1 KHỐI XỬ LÝ TRUNG TÂM 18 2.1.1 Sơ đồ khối tổng quát thành phần chức CPU 18 2.1.2 Chu trình xử lý lệnh 19 2.1.3 Các ghi 19 2.1.4 Khối điều khiển 21 2.1.5 Khối số học logic 22 2.1.6 Bus CPU 23 2.2 tập lệnh máy tính 23 2.2.1 Khái niệm lệnh, tập lệnh thành phần lệnh 23 2.2.2 Chu kỳ pha thực lệnh 23 2.2.3 Các dạng toán hạng 23 2.2.4 Các chế độ địa 26 2.2.5 Một số dạng lệnh thông dụng 29 2.3 GIỚI THIỆU CƠ CHẾ ỐNG LỆNH 32 2.3.1 Giới thiệu chế ống lệnh 32 2.3.2 Các vấn đề chế ống lệnh hướng giải 34 CHƯƠNG hệ thống nhớ 38 3.1 PHÂN LOẠI BỘ NHỚ MÁY TÍNH 38 3.1.1 Phân loại nhớ 38 3.1.2 Tổ chức mạch nhớ 38 3.2 CẤU TRÚC PHÂN CẤP BỘ NHỚ MÁY TÍNH 39 3.2.1 Giới thiệu cấu trúc phân cấp hệ thống nhớ 39 3.2.2 Vai trò cấu trúc phân cấp hệ thống nhớ 40 3.3 BỘ NHỚ ROM VÀ RAM 41 3.3.1 Bộ nhớ ROM 41 3.3.2 Bộ nhớ RAM 42 3.4 BỘ NHỚ CACHE 44 3.4.1 Cache gì? 44 3.4.2 Vai trò nguyên lý hoạt động 44 3.4.3 Các dạng kiến trúc cache 46 3.4.4 Các dạng tổ chức/ánh xạ cache 48 3.4.5 Các phương pháp đọc ghi sách thay 53 3.4.6 Hiệu cache yếu tố ảnh hưởng 55 3.5 nhớ 56 3.5.1 Đĩa từ 56 3.5.2 Đĩa quang 61 CHƯƠNG HỆ THỐNG BUS VÀ CÁC THIẾT BỊ NGOẠI VI 66 4.1 GIỚI THIỆU CHUNG VỀ HỆ THỐNG BUS 66 4.2GIỚI THIỆU MỘT SỐ LOẠI BUS THÔNG DỤNG 68 4.2.1Bus ISA EISA 68 4.2.2Bus PCI 69 4.2.3Bus AGP 72 4.2.4Bus PCI Express 72 4.3GIỚI THIỆU CHUNG VỀ CÁC THIẾT BỊ NGOẠI VI 73 4.3.1Giới thiệu chung 73 4.3.2Các cổng giao tiếp 74 4.4GIỚI THIỆU MỘT SỐ THIẾT BỊ VÀO RA 75 4.4.1Bàn phím 75 4.4.2Chuột 77 4.4.3Màn hình 78 4.4.4Máy in 81 CHƯƠNG TỔNG QUAN VỀ HỆ ĐIỀU HÀNH 85 5.1 KHÁI NIỆM hệ điều hành 85 5.1.1 Quản lý tài nguyên 85 5.1.2 Quản lý việc thực chương trình 86 5.2 dịch vụ hệ điều hành cung cấp 87 5.3 trình phát triển hệ điều hành 88 5.3.1 Các hệ thống đơn giản 88 5.3.2 Xử lý theo mẻ 89 5.3.3 Đa chương trình 89 5.3.4 Chia sẻ thời gian 91 5.4 cấu trúc hệ điều hành 91 5.4.1 Các thành phần hệ điều hành 91 5.4.2 Nhân hệ điều hành 94 5.4.3 Một số kiểu cấu trúc hệ điều hành 94 5.5 Một số hệ điều hành thông dụng 97 5.5.1 Unix 97 5.5.2 Minix 97 5.5.3 Linux 98 5.5.4 MS-DOS 99 5.5.5 Win NT 99 CHƯƠNG CÁC THÀNH PHẦN CỦA HỆ ĐIỀU HÀNH 100 6.1 Quản lý hệ thống file 100 6.1.1 Các khái niệm liên quan tới file 100 6.1.2 Thư mục 103 6.1.3 Cấp phát không gian cho file 108 6.1.4 Độ tin cậy bảo mật cho hệ thống file 114 6.2 quản lý nhớ 116 6.2.1 Khái niệm phân chương nhớ 116 6.2.2 Khái niệm phân trang nhớ 120 6.2.3 Khái niệm phân đoạn nhớ 121 6.2.4 Bộ nhớ ảo 123 6.3 quản lý tiến trình 128 6.3.1 Các khái niệm 128 6.3.2 Điều độ tiến trình 133 TÀI LIỆU THAM KHẢO 141 DANH MỤC CÁC THUẬT NGỮ TIẾNG ANH VÀ VIẾT TẮT Thuật ngữ tiếng Anh Từ viết tắt Central Processing Unit CPU Bộ/Đơn vị xử lý trung tâm Control Unit CU Bộ/Đơn vị điều khiển Arithmethic and Logic Unit Program Counter ALU PC Thuật ngữ tiếng Việt/Giải thích Bộ/Đơn vị tính tốn số học logic Bộ đếm chương trình System Bus Bus hệ thống Memory Bộ nhớ Cache Bộ nhớ đệm / nhớ kết Random Access Memory RAM Bộ nhớ truy cập ngẫu nhiên Read Only Memory ROM Bộ nhớ đọc Basic Input Output System BIOS Hệ thống vào sở Pipeline Cơ chế ống lệnh hay chế xử lý xen kẽ lệnh Hit Đoán trúng – kiện CPU truy tìm mục tin tìm thấy cache Miss Đoán trượt – kiện CPU truy tìm mục tin khơng tìm thấy cache Advanced Technology Attachments ATA Chuẩn ghép nối đĩa cứng ATA Parallel Advanced Technology Attachments PATA Chuẩn ghép nối đĩa cứng PATA – hay ATA song song Integrated Drive Electronics IDE Chuẩn ghép nối đĩa cứng IDE Serial ATA SATA Chuẩn ghép nối đĩa cứng SATA – hay ATA nối tiếp Small Computer System Interface SCSI Chuẩn ghép nối đĩa cứng SCSI Redundant Array of Independent Disks RAID Công nghệ lưu trữ RAID – tạo thành từ mảng liên kết đĩa cứng vật lý Network Attached Storage NAS Hệ thống lưu trữ gắn vào mạng Storage Area Network SAN Mạng lưu trữ Industrial Standard Architecture ISA Bus theo chuẩn công nghiệp ISA Extended ISA EISA Bus theo chuẩn công nghiệp mở rộng EISA Peripheral Component Interconnect PCI Bus PCI Accelerated Graphic Port AGP Cổng tăng tốc đồ hoạ AGP PCI Express PCIe Bus PCIe Cathode Ray Tube CRT Màn hình ống điện tử âm cực Liquid Crystal Display LCD Mình hình tinh thể lỏng File Allocation Table FAT Hệ thống cấp phát file New Technology File System NTFS Hệ thống file công nghệ Extended File System EXT Hệ thống file mở rộng (các phiên cụ thể Ext2, Ext3, Ext3) PHẦN 1: KIẾN TRÚC MÁY TÍNH Chương – Các thành phần hệ điều hành Bước 4: Đọc trang cần nạp vào khung vừa giải phóng; cập nhật bảng trang bảng khung để thể thay đổi Bước 5: Thực tiếp tiến trình từ điểm bị dừng trước đổi trang Đổi trang có ghi đổi trang khơng ghi Nếu nhu cầu đổi trang xuất nạp trang mới, thời gian nạp trang tăng đáng kể xuất thêm nhu cầu ghi trang bị đổi đĩa Để giảm thời gian này, trang nhớ có nội dung không thay đổi từ lúc nạp vào hệ điều hành nhận biết không ghi ngược đĩa Việc nhận biết thực cách sử dụng bit khoản mục trang gọi bit sửa đổi (ta ký hiệu bit M) Mỗi có byte hay từ trang bị sửa đổi, bit xác lập Một trang nhớ có bit sửa đổi ghi đĩa đổi trang Các khung bị khoá: Khi tìm khung để giải phóng đổi trang, hệ điều hành trừ số khung Các khung trang chứa khung đánh dấu bị khố khơng bị đổi đĩa Đó thường khung chứa trang nhớ thuộc tiến trình nhân hệ điều hành chứa cấu trúc thông tin điều khiển quan trọng Các khung bị khoá nhận biết bit riêng chứa bảng khung 6.2.4.4 Các chiến lược đổi trang Một vấn đề quan trọng hệ điều hành chọn khung khung khơng bị khố để tiến hành đổi trang Chiến lược lựa chọn thích hợp cho phép tối ưu số thông số, quan trọng giảm tần số thiếu trang Các chiến lược đổi trang đề xuất khảo sát nhiều nghiên cứu quản lý nhớ Trong phần này, số chiến lược đổi trang trình bày phân tích a Đổi trang tối ưu (OPT) Với chiến lược này, hệ điều hành chọn trang nhớ không dùng tới khoảng thời gian lâu để trao đổi Chiến lược cho phép giảm tối thiểu kiện thiếu trang tối ưu theo tiêu chuẩn Tuy nhiên, để sử dụng chiến lược này, hệ điều hành cần đoán trước nhu cầu sử dụng trang tương lai Điều thực Chiến lược đổi trang tối ưu, đó, khơng thể áp dụng thực tế mà dùng để so sánh với chiến lược đổi trang khác Ví dụ: Giả sử tiến trình cấp khung, khơng gian nhớ tiến trình có trang trang tiến trình truy cập theo thứ tự sau: 2, 3, 2, 1, 5, 2, 4, 5, 3, 2, 5, Thứ tự đổi trang sử dụng phương pháp đổi trang tối ưu minh họa hình sau, F ký hiệu cho tình thiếu trang gây đổi trang Đổi trang tối ưu đòi hỏi lần đổi trang cho chuỗi truy cập OPT 5 2 2 2 4 2 3 3 3 3 3 5 5 5 5 F F F b Vào trước, trước (FIFO) Đây chiến lược đơn giản Các trang sau nạp vào chứa 127 Chương – Các thành phần hệ điều hành hàng đợi Khi có nhu cầu đổi trang, trang đứng đầu hàng bị đổi Trang vừa nạp vào chèn vào cuối hàng đợi Ngoài đặc điểm đơn giản, chiến lược FIFO chứa đựng lôgic sau: trang bị trao đổi trang nằm nhớ lâu Do nằm nhớ lâu nên có nhiều khả trang khơng cịn cần tới Rõ ràng, lơgic khơng nhiều trường hợp Có phần lệnh liệu chương trình dùng nhiều suốt trình tồn tiến trình Kết đổi trang sử dụng FIFO cho chuỗi truy cập ví dụ minh họa hình sau: 5 2 2 5 5 3 3 3 3 2 2 5 1 4 4 F F F F F FIFO F c Đổi trang sử dụng thời gian cuối LRU (Least Recently Used) Ở chiến lược đổi trang này, trang bị đổi trang mà thời gian từ lần truy cập cuối đến thời điểm lâu Theo nguyên tắc cục thời gian, trang có khả sử dụng tới tương lai Phương pháp ngược với phương pháp đổi trang tối ưu thời gian sử dụng làm tiêu chí so sánh khoảng thời gian khơng sử dụng trang khứ tương lai Thực tế cho thấy, LRU cho kết tốt gần phương pháp đổi trang tối ưu Với ví dụ chuỗi truy cập trang trên, LFU cho kết đổi trang sau: LRU 5 2 2 2 2 3 3 3 5 5 5 5 1 4 2 F F F F 6.3 QUẢN LÝ TIẾN TRÌNH 6.3.1 Các khái niệm 6.3.1.1 Tiến trình Theo định nghĩa trực quan đơn giản nhất, tiến trình chương trình trình thực Đa số máy tính cho phép thực nhiều chương trình khác lúc Ví dụ, ta vừa chạy trình duyệt vừa soạn thảo văn nhận thư điện tử Máy tính cho phép thực nhiều khác chương trình lúc, ví dụ, thực nhiều phiên khác trình duyệt web lúc để xem trang web khác Việc sử dụng thuật ngữ tiến trình cho phép phân định rõ ràng chương trình trường hợp vậy, giúp cho việc quản lý hệ điều hành dễ dàng 128 Chương – Các thành phần hệ điều hành Có hai đặc điểm cho phép phân biệt tiến trình với chương trình Thứ nhất, chương trình thực thể tĩnh, không thay đổi theo thời gian, tiến trình thực thể động Chương trình tập hợp lệnh liệu chứa file gọi file chương trình file thực (executable), ví dụ file có exe Windows Các lệnh không thay đổi theo thời gian Trong đó, tiến trình thực thể động bao gồm lệnh, liệu, ngăn xếp, trỏ lệnh tới lệnh thực Hầu hết thành phần thay đổi trình tiến trình tồn tại, ví dụ trỏ lệnh ln ln thay đổi tùy thuộc vào lệnh thực lệnh Ngay trường hợp hai tiến trình sinh từ chương trình, tiến trình có trỏ lệnh, liệu, ngăn xếp khác với tiến trình Thứ hai, chương trình khơng sở hữu tài nguyên cụ thể, tiến trình cấp số tài nguyên nhớ để chứa tiến trình, cổng thiết bị vào/ra, file mở, thời gian CPU để thực lệnh Như vậy, tiến trình khái niệm liên quan chặt chẽ tới khái niệm máy ảo Có thể coi tiến trình cấp máy tính ảo thực máy tính ảo Tiến trình sinh chương trình tải vào nhớ để thực Trong hệ thống có hai loại tiến trình Loại thứ tiến trình người dùng hay tiến trình ứng dụng, sinh người dùng chạy chương trình ứng dụng, ví dụ cách nháy chuột đúp vào biểu tượng chương trình Windows Loại thứ hai tiến trình hệ thống Đây tiến trình sinh từ thành phần hệ điều hành để thực công việc khác hệ thống Có thể xem tiến trình thời Windows cách gọi “Task manager” (bấm Ctrl-Alt-Del) vào Tab “Process” Linux cho phép xem danh sách tiến trình cách gõ lệnh ps từ giao diện dịch lệnh 6.3.1.2 Trạng thái tiến trình Là thực thể động, tiến trình thuộc trạng thái khác Có nhiều cách phân biệt trạng thái tiến trình Theo cách đơn giản nhất, tiến trình thuộc hai trạng thái: chạy không chạy Chạy lệnh tiến trình CPU thực khơng chạy trường hợp ngược lại, ví dụ CPU phân phối cho tiến trình khác tiến trình phải dừng để chờ kết vào/ra Cách sử dụng hai trạng thái tiến trình đơn giản không đủ để phản ánh đầy đủ thơng tin trạng thái tiến trình Trên thực tế, hệ điều hành thường phân biệt năm trạng thái khác tiến trình: khởi tạo, sẵn sàng, chạy, chờ đợi, kết thúc Ý nghĩa cụ thể năm trạng thái sau: - Trạng thái khởi tạo: tiến trình tạo - Trạng thái sẵn sàng: tiến trình chờ cấp CPU để thực lệnh - Trạng thái chạy: lệnh tiến trình CPU thực - Trạng thái chờ đợi: tiến trình chờ đợi kiện xảy ra, ví dụ chờ tín hiệu từ tiến trình khác chờ kết thúc trình vào/ra Trạng thái chờ đợi gọi trạng thái bị phong tỏa (blocked) - Trạng thái kết thúc: tiến trình kết thúc việc thực chưa bị xóa 129 Chương – Các thành phần hệ điều hành Mơ hình năm trạng thái tiến trình mơ hình sử dụng rộng rãi hệ điều hành, tên gọi cụ thể trạng thái thay đổi hệ điều hành cụ thể Điều độ CPU Mới khởi tạo Sẵn sàng Chạy Kết thúc Ngắt Kết thúc vào/ra Vào/ra chờ kiện Chờ đợi Hình 111 Sơ đồ chuyển đổi trạng thái tiến trình Trong số trường hợp, chia nhỏ phân biệt nhiều trạng thái Chẳng hạn, số hệ điều hành sử dụng thêm trạng thái treo (suspended), tiến trình dừng tồn việc thực chí tạm bị chuyển từ nhớ đĩa Ý nghĩa việc chuyển đổi trạng thái Việc chuyển trạng thái xảy trường hợp định Sơ đồ chuyển đổi trạng thái thể Hình 111 Ý nghĩa chuyển đối trạng thái sau: - Mới khởi tạo Sẵn sàng: tiến trình khởi tạo xong tải vào nhớ, chờ cấp CPU để chạy, tiến trình chuyển từ trạng thái sang trạng thái sẵn sàng - Sẵn sàng Chạy: kết điều độ hệ điều hành, tiến trình hệ điều hành cấp phát CPU chuyển sang trạng thái chạy - Chạy Sẵn sàng: hệ điều hành cấp phát CPU cho tiến trình khác kết điều độ xảy ngắt, tiến trình thời chuyển sang trạng thái sẵn sàng chờ cấp CPU để chạy tiếp - Chạy Chờ đợi: tiến trình thực tiếp kiện xẩy Ví dụ, tiến trình đọc liệu từ file thực tiếp đọc xong, hay tiến trình thực lời gọi hệ thống phải chờ lời gọi hệ thống thực xong Trong trường hợp này, tiến trình chuyển sang trạng thái chờ đợi gọi trạng thái bị phong tỏa (blocked) - Chờ đợi Sẵn sàng: kiện chờ đợi xảy ra, tiến trình chuyển sang trạng thái sẵn sàng chờ phân phối CPU để chạy tiếp - Chạy Kết thúc: tiến trình thực xong, chuyển sang trạng thái kết thúc trước chấm dứt tồn 130 Chương – Các thành phần hệ điều hành 6.3.1.3 Thơng tin mơ tả tiến trình Để quản lý tiến trình, hệ điều hành cần có thơng tin tiến trình Thơng tin tiến trình lưu cấu trúc liệu gọi khối quản lý tiến trình, viết tắt PCB (Process Control Block) (lưu ý tên gọi khối thay đổi tùy hệ điều hành cụ thể) Thơng tin tiến trình chứa PCB phụ thuộc vào hệ điều hành cụ thể Thông thường, PCB bao gồm thông tin sau: - Số định danh tiến trình: tiến trình gắn số định danh PID cho phép phân biệt với tiến trình khác Số định danh hệ điều hành sử dụng để tìm vị trí tương ứng với tiến trình bảng tiến trình, sử dụng để tham chiếu bảng khác lưu thông tin liên quan đến tiến trình Ví dụ, để quản lý khối nhớ, hệ điều hành sử dụng số định danh để biết tiến trình cấp khối nhớ cụ thể - Trạng thái tiến trình: năm trạng thái liệt kê phần trước - Nội dung số ghi CPU: nội dung số ghi quan trọng thường giữ PCB như: o Thanh ghi trỏ lệnh: trỏ tới lệnh cần thực o Thanh ghi trỏ ngăn xếp: Mỗi tiến trình có ngăn xếp để lưu tham số tình trạng hàm thực lời gọi hàm/thủ tục chương trình Con trỏ ngăn xếp trỏ tới đỉnh ngăn xếp thời tiến trình o Các ghi điều kiện ghi trạng thái: chứa trạng thái sau thực phép tính lơgic số học (như tràn số, chia cho khơng, có phần bù…) o Các ghi đa dụng khác Lý phải lưu nội dung ghi PCB tiến trình bị chuyển khỏi trạng thái chạy để nhường chỗ cho tiến trình khác (chẳng hạn có ngắt) Khi tiến trình chạy trở lại, hệ điều hành sử dụng thông tin từ PCB để khôi phục lại nội dung ghi, cho phép tiến trình thực lại từ trạng thái trước lúc bị dừng - Thông tin phục vụ việc điều độ tiến trình: bao gồm thơng tin mức độ ưu tiên tiến trình so với tiến trình khác, vị trí tiến trình hàng đợi, thơng tin khác lượng tài nguyên tiến trình sở hữu Hệ điều hành sử dụng thông tin để điều độ, tức định thứ tự thời gian cấp CPU tiến trình - Thơng tin nhớ tiến trình: hệ điều hành cần biết tiến trình nằm đâu nhớ Tùy mơ hình tổ chức nhớ cụ thể, thơng tin loại gồm bảng trang, bảng đoạn, địa sở tiến trình v.v - Danh sách tài nguyên khác: bao gồm danh sách file mở tiến trình, thiết bị vào tiến trình sử dụng 131 Chương – Các thành phần hệ điều hành - Thông tin thống kê phục vụ quản lý: thông tin loại thường sử dụng phục vụ thống kê tính tốn chi phí hệ thống dùng chung (như th máy tính) bao gồm thơng tin thời gian sử dụng CPU, giới hạn thời gian, tài khoản người sở hữu tiến trình v.v 6.3.1.4 Bảng danh sách tiến trình Để quản lý, hệ điều hành cần biết vị trí PCB Để làm điều này, hệ điều hành sử dụng bảng tiến trình chứa trỏ tới PCB tồn tiến trình có hệ thống (xem hình 112) Vị trí cụ thể bảng xác định nhờ số định danh tiến trình Bảng tiến trình Con trỏ tới bảng tiến trình PCB Tiến trình Tiến trình Tiến trình … Tiến trình n PCB n Hình 112: Bảng tiến trình chứa trỏ tới PCB Ngoài ra, để thuận tiện cho việc điều độ, PCB tiến trình có hệ thống liên kết thành thành số danh sách, danh sách bao gồm tiến trình có trạng thái tiến trình chờ đợi tài nguyên Ví dụ, PCB tiến trình trạng thái sẵn sàng liên kết vào danh sách sẵn sàng Danh sách quản lý nhờ hai trỏ trỏ tới PCB PCB cuối danh sách, PCB danh sách liên kết với (xem hình 113) Khi điều độ, hệ điều hành xem xét danh sách sẵn sàng để chọn tiến trình cấp phát CPU 132 Chương – Các thành phần hệ điều hành Đang chạy PCB Sẵn sàng PCB PCB Chờ đợi đọc đĩa PCB PCB PCB Hình 113: Danh sách liên kết PCB thuộc trạng thái khác Trên hình 113 số danh sách hệ điều hành sử dụng danh sách tiến trình sẵn sàng, danh sách tiến trình chờ đợi tài nguyên cụ thể 6.3.2 Điều độ tiến trình 6.3.2.1 Khái niệm điều độ Trong hệ thống cho phép đa chương trình, nhiều tiến trình tồn thực lúc Kỹ thuật đa chương trình có nhiều ưu điểm cho phép sử dụng CPU hiệu quả, đồng thời đáp ứng tốt u cầu tính tốn người dùng Bên cạnh đó, đa chương trình đặt nhiều vấn đề phức tạp hệ điều hành Một vấn đề thực đa chương trình vấn đề điều độ Điều độ (scheduling) hay lập lịch định tiến trình sử dụng tài nguyên phần cứng nào, thời gian Bài toán điều độ đặt với dạng tài nguyên khác nhau, chẳng hạn thiết bị vào ra, CPU, nhớ…, kể trường hợp có chia sẻ thời gian hay không Trong phần này, tập trung vào vấn đề điều độ CPU, gọi điều độ CPU, điều độ tiến trình Đối với hệ thống bao gồm CPU nhất, thời điểm tiến trình cấp CPU để thực Hệ điều hành chờ tiến trình khơng sử dụng CPU chủ động điều độ lại để chuyển CPU sang thực tiến trình khác, tùy thuộc vào phương pháp điều độ cụ thể Như điều độ tiến trình định thứ tự thời gian sử dụng CPU Đối với hệ thống nhiều CPU, việc điều độ thường phức tạp hơn, không đề cập tới Điều độ tiến trình điều độ dịng Trong hệ thống trước đây, tiến trình đơn vị thực chính, đối tượng cấp CPU, việc điều độ thực tiến trình Hệ thống thường hỗ trợ dịng Trong trường hợp này, dòng mức nhân đơn vị thực hệ điều hành cấp phát CPU tiến trình, việc điều độ 133 Chương – Các thành phần hệ điều hành hệ điều hành thực trực tiếp với dòng Tuy nhiên, thuật ngữ điều độ tiến trình sử dụng rộng rãi hiểu tương đương với điều độ dịng, trừ có giải thích cụ thể 6.3.2.2 Các dạng điều độ Điều độ dài hạn ngắn hạn Trong số hệ thống, điều độ tiến trình phân chia thành số mức khác nhau, bao gồm: điều độ dài hạn, điều độ trung hạn, điều độ ngắn hạn Theo tên gọi, điều độ dài hạn thực cho khoảng thời gian dài diễn Ngược lại, điều độ ngắn hạn diễn thường xuyên, điều độ trung hạn chiếm vị trí Điều độ dài hạn thực tạo tiến trình Hệ điều hành định xem tiến trình có thêm vào danh sách hoạt động hay không Nếu chấp nhận, hệ thống thêm tiến trình Ngược lại, tiến trình phải chờ tới thời điểm khác để tạo thực Điều độ dài hạn ảnh hưởng tới mức độ đa chương trình, tức số lượng tiến trình tối đa hệ thống Trong máy tính cá nhân, người dùng cảm nhận ảnh hưởng điều độ dài hạn hầu hết tiến trình chấp nhận tạo Đối với máy tính lớn sử dụng chung, điều độ dài hạn đóng vai trị quan trọng rõ ràng Điều độ trung hạn định tiến trình có cấp nhớ để thực khơng Để thực được, tiến trình cần tải vào nhớ hoàn toàn, phần sử dụng nhớ ảo Trong số trường hợp khởi tạo nhớ nạp trang theo nhu cầu, hay tiến trình bị trao đổi đĩa (swapping) để nhường chỗ cho tiến trình khác, hệ điều hành cần định có cho phép tải tiến trình vào nhớ để thực khơng Điều độ trung hạn ảnh hưởng tới mức độ đa chương trình định dựa mức độ ưu tiên tình trạng hệ thống Các tiến trình tạo tải vào nhớ kết điều độ dài hạn trung hạn xếp vào hàng đời để điều độ ngắn hạn Điều độ ngắn hạn định tiến trình cấp CPU để thực Việc điều độ ngắn hạn thực tiến trình trạng thái sẵn sàng Hệ điều hành lựa chọn tiến trình nhớ sẵn sàng thực để cấp phát CPU Việc lựa chọn tiến trình thực theo thuật tốn Các dạng điều độ gắn liền với việc chuyển tiến trình tự trạng thái sang trạng thái khác Hình 114 minh họa quan hệ trạng thái tiến trình ba dạng điều độ 134 Chương – Các thành phần hệ điều hành Điều độ dài hạn Điều độ ngắn hạn Mới khởi tạo Điều độ trung hạn Sẵn sàng Chạy Kết thúc Chờ đợi Hình 114 Các dạng điều độ Trong phần tiếp theo, xem xét vấn đề điều độ ngắn hạn Vì vậy, khơng nói thêm, điều độ tiến trình hiểu điều độ ngắn hạn hay điều độ CPU Điều độ có phân phối lại Tùy thuộc vào việc hệ điều hành thực điều độ tiến trình sử dụng CPU hay không, ta phân biệt điều độ không phân phối lại (nonpreemptive) điều độ có phân phối lại (preemptive) Điều độ có phân phối lại kiểu điều độ hệ điều hành sử dụng chế ngắt để thu hồi CPU tiến trình trạng thái chạy Với kiểu điều độ này, hệ điều hành phân phối lại CPU cách chủ động, khơng cần chờ tiến trình chạy kết thúc chuyển sang trạng thái chờ đợi Điều độ không phân phối lại kiểu điều độ tiến trình trạng thái chạy sử dụng CPU xảy tình sau: tiến trình kết thúc, tiến trình phải chuyển sang trạng thái chờ đợi thực yêu cầu vào/ra lời gọi hệ thống, chờ đợi tín hiệu đồng từ tiến trình khác Điều độ khơng phân phối lại cịn gọi lại điều độ hợp tác (cooperative), việc điều độ thực tiến trình thể thái độ hợp tác nhường lại CPU không cần dùng Trong trường hợp tiến trình khơng hợp tác chiếm CPU vơ hạn, ví dụ sử dụng vịng lặp vơ hạn khơng chứa lời gọi hệ thống, tiến trình khác khơng cấp CPU Các phiên Windows Windows 3.x sử dụng điều độ không phân phối lại Windows 95, NT phiên sau sử dụng điều độ có phân phối lại, cho phép thực đa chương trình chia sẻ thời gian nghĩa tin cậy So với điều độ không phân phối lại, điều độ có phân phối lại có nhiều ưu điểm hệ điều hành chủ động hơn, khơng phụ thuộc vào hoạt động tiến trình Chỉ có điều độ phân phối lại đảm bảo chia sẻ thời gian thực Tuy nhiên, điều độ có phân phối lại địi hỏi phần cứng phải có định thời gian (timer) số hỗ trợ khác 135 Chương – Các thành phần hệ điều hành Bên cạnh đó, điều độ có phân phối lại làm cho vấn đề quản lý tiến trình phức tạp hơn, đặc biệt trường hợp tiến trình chia sẻ liệu dùng chung có cạnh tranh tài ngun Lấy ví dụ hai tiến trình sử dụng mảng liệu chung Do có phân phối lại, CPU thu hồi từ tiến trình thứ để cấp cho tiến trình thứ hai chưa tiến trình thứ chưa cập nhật xong liệu Nếu tiến trình thứ hai đọc liệu nhận liệu khơng qn 6.3.2.3 Các tiêu chí điều độ Các tiến trình trạng thái sẵn sàng xếp vào hàng đợi chờ điều độ, tức chờ cấp CPU để thực Hệ điều hành sử dụng thuật toán điều độ để lựa chọn tiến trình cấp CPU Mỗi thuật toán thường tốt cho số trường hợp cụ thể tùy vào điều kiện hệ thống tiêu chí điều độ Có nhiều tiêu chí sử dụng điều độ CPU đánh giá thuật toán Một số tiêu chí trọng tới việc khai thác hiệu hệ thống số tiêu chí tập trung nâng cao tính tiện lợi cho người dùng Sau số tiêu chí thường sử dụng: - Lượng tiến trình thực xong Tiêu chí tính số lượng tiến trình thực xong đơn vị thời gian Trên thực tế, thời gian thực tiến trình khác nhau, có tiến trình cần nhiều thời gian, có tiến trình Tuy nhiên, tiêu chí mang tính trung bình độ đo tính hiệu hệ thống - Hiệu suất sử dụng CPU Một yêu cầu sử dụng hiệu hệ thống cố gắng để CPU phải nghỉ tốt Tỷ lệ phần trăm thời gian CPU trạng thái hoạt động thay đổi tùy hệ thống cụ thể - Thời gian vịng đời trung bình tiến trình Được tính thời gian từ lúc có yêu cầu khởi tạo tiến trình tới tiến trình kết thúc Thời gian tổng thời gian tải tiến trình, thời gian chờ đợi, chạy, vào/ra liệu - Thời gian chờ đợi Tính tổng thời gian tiến trình nằm trạng thái sẵn sàng chờ cấp CPU Lưu ý rằng, thời gian chờ đợi lớn hay nhỏ chịu ảnh hưởng trực tiếp thuật toán điều độ CPU - Thời gian đáp ứng Đây tiêu chí hướng tới người dùng thường sử dụng hệ thống tương tác trực tiếp Đối với hệ thống vậy, tiêu chí quan trọng đảm bảo thời gian từ lúc nhận yêu cầu hệ thống có phản ứng hay đáp ứng khơng q lâu Trong số tiêu chí nói trên, ba tiêu chí có giá trị lớn tốt, hai tiêu chí cuối thời gian chờ đợi thời gian đáp ứng nhỏ tốt Riêng thời gian đáp ứng, bên cạnh việc đảm bảo giá trị đáp ứng trung bình nhỏ cần đảm bảo để khơng tiến trình có thời gian đáp ứng lâu Bên cạnh tiêu chí nói trên, u cầu quan trọng đảm bảo tính ổn định hệ thống, thể qua việc giá trị tiêu chí trường hợp cụ thể không lệch xa so với giá trị trung bình tiêu chí Ngồi tiến trình giống cần đối xử công Các yêu cầu thể qua hai tiêu chí bổ sung sau: 136 Chương – Các thành phần hệ điều hành - Tính dự đốn Vịng đời, thời gian chờ đợi, thời gian đáp ứng tiến trình cụ thể phải ổn định, khơng phụ thuộc vào tải hệ thống Ví dụ, người sử dụng phải nhận đáp ứng từ hệ thống thời gian chấp nhận không bị thay đổi lớn tình - Tính cơng Những tiến trình độ ưu tiên phải đối xử nhau, khơng tiến trình bị đói tài ngun tiến trình khác Trong phần sau, ta sử dụng tiêu chí xem xét thuật toán điều độ cụ thể 6.3.2.4 Các thuật toán điều độ Nhiều thuật toán điều độ tiến trình đề xuất sử dụng thực tế Sau thuật toán tiêu biểu thường gặp a Thuật toán đến trước phục vụ trước Đến trước phục vụ trước (First Come First Served – viết tắt FCFS) phương pháp điều độ đơn giản nhất, nguyên tắc cách thực Tiến trình yêu cầu CPU trước cấp CPU trước Hệ điều hành xếp tiến trình sẵn sàng vào hàng đợi FIFO Tiến trình xếp vào cuối hàng đợi, CPU giải phóng, hệ điều hành lấy tiến trình từ đầu hàng đợi cấp CPU cho tiến trình thực Mặc dù đơn giản đảm bảo tính cơng bằng, FCFS có thời gian chờ đợi trung bình tiến trình lớn phải chờ đợi tiến trình có chu kỳ CPU dài trường hợp tiến trình nằm đầu hàng đợi Để minh họa, ta xét ví dụ: cho tiến trình với thứ tự xuất độ dài chu kỳ CPU sau: Tiến trình Độ dài chu kỳ CPU P1 10 P2 P3 Kết điều độ theo thuật toán FCFS thể hình sau: 10 14 10 P1 P2 P3 Thời gian chờ đợi P1, P2, P3 0, 10, 14 Thời gian chờ đợi trung bình = (0 + 10 + 14)/3 = 137 Chương – Các thành phần hệ điều hành Có thể thấy thời gian chờ đợi trung bình lớn, chẳng hạn so với trường hợp tiến trình cấp CPU theo thứ tự P3, P2, P1 Khi thời gian chờ đợi trung bình giảm xuống (6 + + 0)/3 = 2,67 Cần lưu ý việc tăng thời gian chờ đợi CPU tiến trình ảnh hưởng lớn tới hiệu suất chung hệ thống nhiều tiến trình phải dồn lại chờ tiến trình khoảng thời gian q lâu, dẫn tới tình trạng khơng tiến trình thực cơng việc mình, kể vào Kết toàn hệ thống phải dừng lại chờ giải phóng CPU Thuật tốn FCFS thơng thường thuật tốn điều độ khơng phân phối lại Sau tiến trình cấp CPU, tiến trình sử dụng CPU kết thúc phải dừng lại để chờ kết vào Để sử dụng hệ thống chia sẻ thời gian, thuật toán đến trước phục vụ trước cải tiến để thêm chế phân phối lại Ta xem xét thuật toán điều độ phần sau b Điều độ quay vòng Điều độ quay vòng (round robin - RR) phiên sửa đổi FCFS dùng cho hệ chia sẻ thời gian Điều độ quay vòng tương tự FCFS chế phân phối lại cách sử dụng ngắt đồng hồ Hệ thống định nghĩa khoảng thời gian nhỏ gọi lượng tử thời gian (time quantum) hay lát cắt thời gian (time slice) có độ dài từ vài mili giây tới vài trăm mili giây tùy vào cấu hình cụ thể Tiến trình cấp CPU khoảng thời gian trước bị ngắt CPU cấp cho tiến trình khác Giống FCFS, tiến trình sẵn sàng xếp vào hàng đợi cho tiến trình đến sau thêm vào cuối hàng Khi CPU giải phóng, hệ điều hành đặt thời gian đồng hồ độ dài lượng tử, lấy tiến trình đầu hàng đợi cấp CPU cho tiến trình Sau cấp CPU, tiến trình chuyển sang trạng thái chạy Nếu tiến trình kết thúc chu kỳ sử dụng CPU trước hết thời gian lượng tử, tiến trình giải phóng CPU trả lại quyền điều khiển cho hệ điều hành Trong trường hợp ngược lại, hết độ dài lượng tử, đồng hồ sinh ngắt Tiến trình thực phải dừng lại quyền điều khiển chuyển cho hàm xử lý ngắt hệ điều hành Hệ điều hành thực việc chuyển đổi ngữ cảnh chuyển tiến trình cuối hàng đợi sau chọn tiến trình đầu lặp lại q trình Điều độ quay vịng cho phép cải thiện thời gian đáp ứng tiến trình so với FCFS có thời gian chờ đợi trung bình tương đối dài Sau minh họa cho phương pháp điều độ với ba tiến trình P1, P2, P3 lấy từ ví dụ phần trước lượng tử thời gian có độ dài 2 10 12 14 2 2 2 2 P1 P2 P3 P1 P2 P1 P1 P1 Thời gian chờ đợi P1, P2, P3 6, 6, Thời gian chờ đợi trung bình = (6 + + 4)/3=5,33 138 Chương – Các thành phần hệ điều hành Một vấn đề quan trọng điều độ quay vòng lựa chọn độ dài lượng tử thời gian Nếu lượng tử ngắn, thời gian đáp ứng giảm Tuy nhiên, việc chuyển đổi tiến trình diễn thường xuyên đòi hỏi nhiều thời gian cho việc chuyển đổi ngữ cảnh Độ dài lượng tử nên lựa chọn lớn thời gian cần thiết để tiến trình thực thao tác tương tác tiêu biểu Ngược lại, lượng tử lớn tốn thời gian chuyển đổi tiến trình tính đáp ứng Khi lượng tử lớn tới mức đó, điều độ quay vịng trở thành FCFS c Điều độ ưu tiên tiến trình ngắn Một phương pháp điều độ cho phép giảm thời gian chờ đợi trung bình điều độ ưu tiên tiến trình ngắn trước (Shortest Process First - SPF), hay có tên gọi khác cơng việc ngắn trước (Shortest Job Fist), tiến trình ngắn (Shortest Process Next) Phương pháp điều độ lựa chọn hàng đợi tiến trình có chu kỳ sử dụng CPU ngắn để phân phối CPU Trong trường hợp có nhiều tiến trình với chu kỳ CPU nhau, tiến trình đứng trước chọn Ưu điểm lớn SPF so với FCFS thời gian chờ đợi trung bình nhỏ nhiều Xét ví dụ điều độ cho tiến trình phần sử dụng SPF 10 P3 P2 P1 Thời gian chờ đợi trung bình = (6 + +0)/3 = 2,67 Mặc dù điều độ ưu tiên tiến trình ngắn có thời gian chờ đợi trung bình tối ưu, phương pháp khó sử dụng thực tế địi hỏi phải biết trước độ dài chu kỳ sử dụng CPU tiến trình Có hai cách để giải phần khó khăn Cách thứ áp dụng hệ thống xử lý theo mẻ trung tâm tính tốn hiệu cao Quản trị hệ thống vào thời gian đăng ký tối đa lập trình viên cung cấp để xếp ứng dụng có thời gian đăng ký ngắn lên trước Lưu ý, thời gian thực ứng dụng không phài chu kỳ sử dụng CPU cụ thể Cách thứ hai dự đoán độ dài chu kỳ sử dụng CPU Cách dự đoán đơn giản dựa độ dài trung bình chu kỳ CPU trước để dự đốn độ dài chu kỳ định cấp CPU Điều độ ưu tiên tiến trình ngắn trước điều độ khơng có phân phối lại Nếu tiến trình cấp CPU, tiến trình thực khơng cần CPU nữa, kể trường hợp xuất tiến trình với chu kỳ sử dụng CPU ngắn chu kỳ CPU cịn lại tiến trình thực Trong phần ta xem xét việc thêm chế phân phối lại cho điều độ ưu tiên tiến trình ngắn trước 139 Chương – Các thành phần hệ điều hành d Điều độ ưu tiên thời gian lại ngắn Phiên ưu tiên tiến trình ngắn có thêm chế phân phối lại gọi điều độ ưu tiên thời gian lại ngắn trước (Shortest Remaining Time First – SRTF) Khi tiến trình xuất hàng đợi, hệ điều hành so sánh thời gian cịn lại tiến trình chạy với thời gian cịn lại tiến trình xuất Nếu tiến trình xuất có thời gian cịn lại ngắn hơn, hệ điều hành thu hồi CPU tiến trình chạy phân phối cho tiến trình Cũng giống điều độ ưu tiên tiến trình ngắn nhất, điều độ ưu tiên thời gian lại ngắn có thời gian chờ đợi trung bình nhỏ địi hỏi hệ điều hành phải dự đốn độ dài chu kỳ sử dụng CPU tiến trình So với điều độ quay vịng, việc chuyển đổi tiến trình diễn khơng tốn nhiều thời gian chuyển đổi ngữ cảnh e Điều độ có mức ưu tiên Theo phương pháp này, tiến trình có mức ưu tiên Tiến trình ưu tiên cấp CPU trước Các tiến trình có mức ưu tiên điều độ theo nguyên tắc FCFS Có thể thấy hai phương pháp STF SRTF trường hợp riêng điều độ có mức ưu tiên tiến trình có thời gian chu kỳ CPU thời gian chu kỳ CPU lại ngắn ưu tiên Trong trường hợp tổng quát, mức ưu tiên xác định theo nhiều tiêu chí khác yêu cầu nhớ, hạn chế thời gian… Mức ưu tiên người quản trị hệ thống xác định dựa mức độ quan trọng tiến trình Hệ điều hành quy định mức ưu tiên dạng số nguyên khoảng đó, ví dụ từ đến 31 Tuy nhiên, khơng có quy tắc chung việc mức ưu tiên cao tương ứng với số nhỏ hay số to Một số hệ điều hành coi số ứng với mức ưu tiên cao số hệ điều hành sử dụng cho mức ưu tiên thấp 140 TÀI LIỆU THAM KHẢO Stallings W., Computer Organization and Architecture: Designing for Performance, 8th Edition, Prentice – Hall 2009 Mostafa Abd-El-Barr and Hesham El-Rewini, Fundamentals of Computer Organization and Architecture, John Wiley & Sons, Inc, 2005 Hennesy J.L and Patterson D.A., Computer Architecture A Quantitative Approach, Morgan Kaufmann, 4th Edition, 2006 A Silbeschatz, P.B Galvin, G Gagne, Operating system concepts, 8th edition John Wiley & Sons, 2009 W Stallings, Operating Systems: Internals and Design Principles, 5th edition, Prentice Hall, 2005 Hồ Khánh Lâm, Kỹ thuật vi xử lý, Nhà xuất Bưu điện, 2005 Trần Quang Vinh, Cấu trúc máy vi tính, Nhà xuất Giáo dục, 1999 Hà Quang Thụy, Giáo trình Nguyên lý hệ điều hành, In lần thứ ba, NXB KHKT 2009 Trang Wikipedia.org, tham khảo năm 2009 2010, 2012 10 Trang Howstuffworks.com, tham khảo năm 2009 2010 11 Trang PCGuide.com, tham khảo năm 2009 2010 141 ... lệnh vào nhớ (nếu có) 1.4.2 Kiến trúc máy tính Harvard Kiến trúc máy tính Harvard kiến trúc tiên tiến minh hoạ Hình Hình Kiến trúc máy tính Harvard Kiến trúc máy tính Harvard chia nhớ thành hai... cao, tính đa dạng giá thành thấp Hệ điều hành thành phần quan trọng hệ thống máy tính Nắm vững kiến thức hệ điều hành sở cho việc hiểu biết sâu sắc hệ thống máy tính nói chung Mơn học Kiến trúc máy. .. nói kiến trúc máy tính tranh tồn cảnh hệ thống máy tính, cịn tổ chức máy tính tranh cụ thể thành phần phần cứng hệ thống máy tính Kiến trúc máy tính khoa học việc lựa chọn kết nối thành phần