Có sự khác biệt lớn nào giữa hai loại này không? Có điều gì có thể được thực hiện trong một và không phải cái khác? Tôi có cần phải cẩn thận hơn khi sửa đổi, ví dụ, trình xử lý lỗi trang hơn một trình xử lý bộ hẹn giờ không?Sự khác biệt giữa bối cảnh ngắt và ngoại lệ là gì?
Trả lời
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
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
- 1. Sự khác biệt giữa Hoạt động và bối cảnh là gì?
- 2. Sự khác biệt giữa lỗi và ngoại lệ trong .NET là gì?
- 3. Sự khác biệt giữa ném và ném với arg bị bắt ngoại lệ là gì?
- 4. Sự khác biệt giữa xử lý ngoại lệ C++, Java và JavaScript là gì?
- 5. Sự khác nhau giữa phụ thuộc vào bối cảnh mùa xuân và lõi-xuân là gì?
- 6. Sự khác biệt giữa đúc và co giật là gì?
- 7. Sự khác biệt giữa JavaBean và POJO là gì?
- 8. Sự khác biệt giữa exit() và abort() là gì?
- 9. Sự khác biệt giữa instanceof và Class.isAssignableFrom (...) là gì?
- 10. Sự khác biệt giữa nghỉ và thoát là gì?
- 11. Sự khác biệt giữa các phương pháp khác nhau để có được một bối cảnh là gì?
- 12. Sự khác biệt giữa dispatch_get_global_queue và dispatch_queue_create là gì?
- 13. Sự khác biệt giữa .closest() và .parents ('selector') là gì?
- 14. sự khác biệt giữa DoCmd.SetWarnings và CurrentDB.Execute là gì
- 15. Sự khác biệt giữa '&' và ',' trong Generics Java là gì?
- 16. Nhận bối cảnh ngoại lệ trong PHP
- 17. Sự khác biệt giữa ngoại lệ không được kiểm soát hoặc ngoại lệ thời gian chạy
- 18. Sự khác biệt giữa betweeen% INC và @INC là gì?
- 19. Sự khác biệt giữa INTERSECT và WHERE IN là gì?
- 20. Sự khác biệt giữa RoutedCommand và RoutedUICommand là gì?
- 21. Sự khác biệt chính giữa Sinatra và Ramaze là gì?
- 22. Sự khác biệt giữa DBI và DBD là gì?
- 23. Sự khác biệt giữa NSInvocation và chặn là gì?
- 24. Sự khác biệt giữa fn và fn * là gì?
- 25. Sự khác biệt giữa xtype và bí danh là gì?
- 26. Sự khác biệt giữa build.sbt và build.scala là gì?
- 27. Sự khác biệt giữa localname và qname là gì?
- 28. Sự khác biệt giữa Application.ThreadException và AppDomain.CurrentDomain.UnhandledException là gì?
- 29. Sự khác biệt giữa while (true) và loop là gì?
- 30. Sự khác biệt giữa dealloc và viewdidunload là gì?