Tiếp tục bài 5, Bài giảng Kiến trúc máy tính và hệ điều hành bài 6 giới thiệu nội dung về thực thi chương trình có ngắt: Khái niệm ngắt; Thủ tục ngắt tổng quát; Hoạt động ngắt và Interrupt Handler. Kính mời quý đọc giả tham khảo nội dung chi tiết. | BAØI 6 THỰC THI CHƯƠNG TRÌNH CÓ NGẮT 1 Khái niệm Ngắt Interrupt Hầu hết các máy tính đều có cơ chế cho phép ngắt quá trình xử lý bình thường của CPU. Có một số loại ngắt phổ biến Program phát sinh bởi điều kiện là kết quả thực thi một chỉ thị như tràn số học chia 0 Timer phát sinh bởi một bộ định thời trong CPU cho phép OS thực hiện một chức năng thông thường nào đó. I O phát sinh bởi I O controller báo hoàn tất một công việc hay thông báo một điều kiện lỗi nào đó. Lỗi phần cứng 2 Khái niệm Ngắt Interrupt Ngắt thể hiện đặc tính kiến trúc của máy tính Các thiết bị ngoài hoạt động chậm hơn rất nhiều so với CPU lãng phí CPU Ví dụ hoạt động in Ngắt là một phương thức nhằm cải thiện hiệu suất CPU sẽ chuyển đến thực thi chỉ thị khác giữa lúc hoạt động I O đang diễn ra. 3 Chương trình I O tiêu biểu Một chương trình I O gồm có ba phần cơ bản Tuần tự các chỉ thị nhằm chuẩn bị cho hoạt động I O thực sự Lệnh I O khi gọi lệnh này chương trình phải đợi thiết bị I O thực hiện chức năng được yêu cầu. Chương trình có thể đợi theo cách lặp lại thao tác kiểm tra để xác định hoạt động I O đã được thực hiện hay chưa. Tuần tự chỉ thị làm thủ tục hoàn tất hoạt động I O ví dụ dựng các cờ thiết lập thông báo 4 Hoạt động của chương trình không ngắt Main program I O program 1 4 Call write I O command 5 2 end Call write Lộ trình thực th c thi 3 5 Hoạt động của chương trình không ngắt Hoạt động I O liên quan đến các thiết bị ngoài với các thao tác cơ-điện mất nhiều thời gian. Chương trình I O phải đợi cho các thao tác I O hoàn tất. gt Chương trình chính sẽ phải dừng lại mỗi khi gặp một chỉ thị I O ví dụ write trong một thời gian khá dài. 6 Hoạt động của chương trình có ngắt 1 4 Call write I O command Thời gian thao tác I O kết thúc trước 2a khi gặp chỉ thị I O mới Interrupt Handler 2b 5 Call write end 3a 3b Lộ trình thực th c thi 7 Hoạt động của chương trình có ngắt 1 4 Call write I O command Thời gian thao tác I O chưa kết thúc đã gặp chỉ thị I O 2 mới Interrupt Handler 5 Call write end 3 .