Đa chương trình

Một phần của tài liệu BÀI GIẢNG KIẾN TRÚC MÁY TÍNH VÀ HỆ ĐIỀU HÀNH (Trang 92)

Mặc dù việc xử lý theo mẻ cho phép giảm thời gian chuyển đổi giữa các chương trình

Monitor

Trình ứng dụng

Chương 5 – Tổng quan về hệ điều hành

90

ứng dụng xong hiệu suất sử dụng CPU vẫn tương đối thấp. Mỗi khi có yêu cầu vào/ra, CPU phải dừng việc xử lý dữ liệu để chờ quá trình vào ra kết thúc. Do tốc độ vào ra luôn thấp hơn tốc độ CPU rất nhiều nên CPU thường xuyên phải chờ đợi những khoảng thời gian dài.

Để hạn chế tình trạng nói trên, kỹ thuật đa chương trình (multiprogramming) hay còn

gọi là đa nhiệm (multitasking) được sử dụng. Hệ thống chứa đồng thời nhiều chương trình trong bộ nhớ. Khi một chương trình phải dừng lại để thực hiện vào ra hệ điều hành sẽ chuyển CPU sang thực hiện một chương trình khác. Nếu số chương trình nằm trong bộ nhớ đủ nhiều thì hầu như lúc nào CPU cũng có việc để thực hiện, nhờ vậy giảm thời gian chạy không tải của CPU.

Trên hình 94 là minh họa hiệu suất sử dụng thời gian CPU cho trường hợp đơn chương

trình và đa chương trình với 3 chương trình cùng được tải vào bộ nhớ một lúc. Thời gian thực hiện chương trình xen kẽ với thời gian chờ đợi vào/ra. Dễ dàng nhận thấy, thời gian chờ đợi của CPU trong chế độ đa chương trình giảm đáng kể so với trong trường hợp đơn chương trình.

Trong trường hợp đa chương trình, hệ điều hành trở nên phức tạp hơn rất nhiều so với trường hợp đơn chương trình. Trước hết, cần quyết định xem bao nhiêu chương trình được tải vào bộ nhớ. Sau khi đã các chương trình đã ở trong bộ nhớ và sẵn sàng thực hiện (gọi là các tiến trình), hệ điều hành phải phân phố CPU cho các tiến trình. Việc phân phối CPU như vậy gọi là điều độ tiến trình hay điều độ CPU và sẽ được trình bầy chi tiết trong chương 2. Ngoài ra, hệ điều hành cần đảm bảo để tiến trình không xâm phạm vùng nhớ và tài nguyên đã cấp cho tiến trình khác.

Việc thực hiện đa chương trình đòi hỏi những hỗ trợ nhất định từ phần cứng đặc biệt là khả năng vào ra bằng ngắt và cơ chế DMA. Nếu không có cơ chế này, CPU sẽ phải trực tiếp điều khiển quá trình vào/ra thông tin và dữ liệu. Hiệu quả của đa chương trình khi đó sẽ bằng không. Hệ điều hành 1.1.1.1 B Hình 93: Đa chương trình Chương trình 3 Chương trình 2 Chương trình 1 0 256K

Hình 94: Hiệu suất sử dụng CPU

Một phần của tài liệu BÀI GIẢNG KIẾN TRÚC MÁY TÍNH VÀ HỆ ĐIỀU HÀNH (Trang 92)