2011-09-03 36 views

Trả lời

14

Ngắt là sự kiện không đồng bộ thường được tạo bởi phần cứng (Ex, I/O) không đồng bộ với thực thi lệnh của bộ xử lý. Trong khi trường hợp ngoại lệ là các sự kiện đồng bộ được tạo khi bộ xử lý phát hiện bất kỳ điều kiện được xác định trước nào trong khi thực hiện lệnh.

trình xử lý ngắt có thể bị gián đoạn bởi trình xử lý ngắt khác và vv. Một trình xử lý ngắt có thể trì hoãn một trình xử lý ngoại lệ, nhưng một trình xử lý ngoại lệ không bao giờ xử lý một trình xử lý ngắt. Ngoại lệ duy nhất có thể trong chế độ hạt nhân là lỗi trang.

Trình xử lý ngắt không bao giờ thực hiện các thao tác có thể gây ra lỗi trang và do đó có khả năng lên lịch. Trong trường hợp họ phát sinh lỗi trang, có nghĩa là nó là một lỗi.

Bạn cần phải cẩn thận khi viết/sửa đổi trình xử lý ngắt

2

Ngắt và ngoại lệ cả hai thay đổi luồng chương trình. Sự khác biệt giữa hai là ngắt được sử dụng để xử lý sự kiện bên ngoài (cổng nối tiếp, bàn phím) và ngoại lệ được sử dụng để xử lý hướng dẫn lỗi, (chia cho số không, opcode không xác định).

Ngắt được xử lý bởi bộ xử lý sau khi hoàn thành lệnh hiện tại . Nếu nó tìm thấy tín hiệu trên chốt ngắt, nó sẽ tra cứu địa chỉ của trình xử lý ngắt trong bảng ngắt và vượt qua điều khiển thông thường đó. Sau khi trở về từ trình xử lý ngắt gián đoạn , nó sẽ tiếp tục thực hiện chương trình theo hướng dẫn sau lệnh bị gián đoạn.

Ngoại lệ, mặt khác được chia thành ba loại. Đây là Lỗi, bẫy và hủy bỏ. Các lỗi được phát hiện và phục vụ bởi bộ xử lý trước các hướng dẫn bị lỗi. Bẫy được bảo dưỡng sau hướng dẫn gây ra bẫy. Ngắt kết nối do người dùng xác định đi vào danh mục này và có thể được gọi là bẫy; điều này bao gồm MS- DOS INT 21h phần mềm gián đoạn, ví dụ. Hủy bỏ chỉ được sử dụng cho tín hiệu nghiêm trọng sự cố hệ thống, khi không còn hoạt động nữa.

Nghiên cứu tại: http://www.allinterview.com/showanswers/14289.html

Các vấn đề liên quan