Gián đoạn là một sự kiện "bất thường" xảy ra cần được xử lý ngay lập tức , bất kể điều gì đang xảy ra. Tôi nói "bất thường" trong ngoặc kép, bởi vì chúng không nhất thiết là bất ngờ hay xấu, nhưng "bất thường" theo quan điểm của CPU vì chúng "chỉ xảy ra" trong khi nó bận thực thi mã có thể không liên quan.
CPU có một số cơ chế để nghe các ngắt và một số cách định cấu hình "phải làm gì" khi các loại khác nhau xảy ra. Điều này cho phép hệ điều hành sắp xếp rằng nó sẽ được thông báo khi các thiết bị phần cứng thực hiện mọi việc (bao gồm cả đồng hồ phần cứng quan trọng, chỉ đơn giản là tạo ra các ngắt theo chu kỳ đều đặn). Thông qua cấu hình xử lý ngắt của CPU, mã được chỉ định trong HĐH sẽ giành quyền kiểm soát mỗi khi xảy ra gián đoạn.
Máy tính ở trạng thái rất khó chịu (đối với người lập trình ứng dụng) khi trình xử lý ngắt bắt đầu chạy; Máy đang bận làm việc khác (có thể là bất cứ điều gì ) và bây giờ HĐH đã được thông báo rằng "điều gì đó đã xảy ra". Nó phải thu thập bất kỳ thông tin nào khác cần thiết để thực sự xử lý ngắt từ bất cứ nơi nào trong máy mà nó nên nằm xung quanh và thực hiện bất kỳ xử lý nào được yêu cầu mà không làm phiền rằng "có thể là bất cứ thứ gì" đang chạy trên CPU. Nếu HĐH muốn chuyển đổi quá trình ứng dụng nào hiện đang chạy, nó sẽ phải lưu đủ ngữ cảnh để có thể khôi phục lại sau (một lần nữa, mà không làm phiền bối cảnh đó), sau đó tải một số ngữ cảnh khác, sau đó để CPU tiếp tục bình thường thực hiện trong bối cảnh đó.
Như đã đề cập, các ngắt được sử dụng để nhận thông báo từ các thiết bị phần cứng (cách thay thế duy nhất là kiểm tra định kỳ chúng), theo dõi thời gian và nhận cơ hội được bảo đảm để lấy lại quyền kiểm soát từ quy trình ứng dụng (để chuyển đổi ứng dụng nào đang chạy) , phục hồi từ các quy trình ứng dụng thực hiện các hướng dẫn không hợp lệ và cũng để cho phép các ứng dụng thực hiện các yêu cầu của HĐH. Những cuộc gọi cuối cùng được gọi là cuộc gọi hệ thống. Để ngăn các ứng dụng làm rối máy và nhau, chúng thường chạy với máy ở "chế độ người dùng", điều này ngăn ứng dụng thực hiện bất kỳ việc gì khác ngoài việc đọc và ghi bộ nhớ (ảo) đã được phân bổ cho nó. Điều này có nghĩa là để làm bất cứ điều gìkhác (đọc / ghi tệp, yêu cầu thêm bộ nhớ, truy cập thiết bị, v.v.) ứng dụng phải thực hiện cuộc gọi hệ thống; về cơ bản, nó làm như vậy bằng cách để lại một số thông tin về những gì nó muốn làm ở đâu đó, nó biết rằng HĐH sẽ tìm kiếm nó, sau đó thực hiện một lệnh CPU gây ra sự gián đoạn đúng loại. Hệ điều hành sau đó có thể xem ứng dụng đang cố gắng làm gì và xác định xem có nên thực hiện yêu cầu đó hay không. Điều này đảm bảo rằng HĐH sẽ tham gia vào bất kỳ quá trình nào 'cố gắng làm bất cứ điều gì ảnh hưởng đến bất kỳ điều gì ngoài quy trình là cách duy nhất để các chính sách truy cập có thể được thi hành.
Vì vậy, về cơ bản, có, hệ điều hành được điều khiển bởi các ngắt. Một hệ điều hành "trừu tượng" sẽ đưa máy vào trạng thái "hoạt động bình thường" và đôi khi không kiểm soát được quy trình "bình thường". Trong trường hợp bình thường, HĐH sẽ chỉ lấy lại quyền kiểm soát bằng cách xử lý các ngắt; nhưng vì không có gì thú vị xảy ra mà không có sự gián đoạn, nên về cơ bản, HĐH có quyền kiểm soát mọi thứ.