Sự khác biệt giữa ngắt và bỏ phiếu trong hệ điều hành

Tác Giả: Laura McKinney
Ngày Sáng TạO: 2 Tháng Tư 2021
CậP NhậT Ngày Tháng: 15 Có Thể 2024
Anonim
Sự khác biệt giữa ngắt và bỏ phiếu trong hệ điều hành - Công Nghệ
Sự khác biệt giữa ngắt và bỏ phiếu trong hệ điều hành - Công Nghệ

NộI Dung


Chúng tôi có nhiều thiết bị bên ngoài được gắn vào CPU như chuột, bàn phím, máy quét, er, v.v ... Những thiết bị này cũng cần sự chú ý của CPU. Giả sử, CPU đang bận hiển thị tệp PDF và bạn nhấp vào biểu tượng trình phát phương tiện cửa sổ trên màn hình nền. Mặc dù CPU không có ý tưởng nào khi một sự kiện như thế này xảy ra, nhưng nó phải đáp ứng với các đầu vào như vậy từ các thiết bị I / O. Ngắt và bỏ phiếu là hai cách để xử lý các sự kiện được tạo bởi các thiết bị có thể xảy ra bất cứ lúc nào trong khi CPU đang bận thực hiện quy trình khác.

Bỏ phiếu và ngắt cho phép CPU dừng những gì hiện đang làm và đáp ứng với nhiệm vụ quan trọng hơn. Bỏ phiếu và ngắt là khác nhau về nhiều mặt. Nhưng điểm cơ bản để phân biệt Bỏ phiếu và Ngắt là ở bỏ phiếu CPU tiếp tục kiểm tra các thiết bị I / O đều đặn xem nó có cần dịch vụ CPU hay không, trong khi, trong làm gián đoạn, thiết bị I / O làm gián đoạn CPU và thông báo cho CPU rằng nó cần dịch vụ CPU. Tôi đã thảo luận về một số khác biệt giữa Ngắt và Bỏ phiếu trong biểu đồ so sánh bên dưới, xin vui lòng xem xét.


  1. Biểu đồ so sánh
  2. Định nghĩa
  3. Sự khác biệt chính
  4. Phần kết luận

Biểu đồ so sánh

Cơ sở để so sánhLàm gián đoạnBỏ phiếu
Căn bảnThiết bị thông báo cho CPU rằng nó cần CPU chú ý.CPU liên tục kiểm tra trạng thái thiết bị xem nó có cần CPU chú ý hay không.
Cơ chếMột ngắt là một cơ chế phần cứng.Bỏ phiếu là một Nghị định thư.
Phục vụTrình xử lý ngắt dịch vụ Thiết bị.CPU phục vụ thiết bị.
Chỉ địnhDòng yêu cầu ngắt cho biết thiết bị cần được bảo trì.Comand-bit cho biết thiết bị cần được bảo trì.
CPUCPU chỉ bị xáo trộn khi thiết bị cần bảo trì, giúp tiết kiệm chu kỳ CPU.CPU phải chờ và kiểm tra xem một thiết bị có cần bảo trì hay không, gây lãng phí nhiều chu kỳ CPU.
Xảy raMột gián đoạn có thể xảy ra bất cứ lúc nào.CPU thăm dò các thiết bị ở khoảng thời gian thường xuyên.
Hiệu quảNgắt trở nên không hiệu quả khi các thiết bị liên tục làm gián đoạn CPU.
Việc bỏ phiếu trở nên không hiệu quả khi CPU hiếm khi tìm thấy một thiết bị sẵn sàng phục vụ.
Thí dụĐể chuông reo rồi mở cửa để kiểm tra xem ai đã đến.Liên tục mở cửa để kiểm tra xem có ai đến không.


Định nghĩa ngắt

Một ngắt là một cơ chế phần cứng cho phép CPU phát hiện ra rằng một thiết bị cần sự chú ý của nó. CPU có dây dòng yêu cầu ngắt được CPU kiểm tra sau khi thực hiện mọi lệnh đơn. Khi CPU cảm nhận được tín hiệu ngắt trên dòng yêu cầu ngắt, CPU sẽ dừng nhiệm vụ hiện đang thực thi của nó và phản hồi lại ngắt bằng thiết bị I / O bằng cách chuyển điều khiển tới xử lý ngắt. Trình xử lý ngắt giải quyết ngắt bằng cách bảo trì thiết bị.

Mặc dù CPU không biết khi nào một ngắt sẽ xảy ra vì nó có thể xảy ra bất cứ lúc nào, nhưng nó phải đáp ứng với ngắt bất cứ khi nào nó xảy ra.

Khi trình xử lý ngắt kết thúc việc thực hiện ngắt, thì CPU sơ yếu lý lịch việc thực hiện nhiệm vụ mà nó đã dừng lại để đáp ứng ngắt. Phần mềm, phần cứng, người sử dụng, một số lỗi trong chương trình, vv cũng có thể tạo ra một ngắt. Làm gián đoạn tính chất xử lý của CPU dẫn đến đa nhiệm, tức là người dùng có thể thực hiện một số nhiệm vụ khác nhau cùng một lúc.

Nếu có nhiều hơn một ngắt được gửi đến CPU, trình xử lý ngắt sẽ giúp quản lý các ngắt đang chờ xử lý. Khi xử lý ngắt được kích hoạt bởi sự tiếp nhận của một ngắt, nó ưu tiên các ngắt chờ CPU được xử lý và sắp xếp chúng trong một xếp hàng để được phục vụ.

Định nghĩa về bỏ phiếu

Như chúng ta đã thấy trong các ngắt, đầu vào từ thiết bị I / O có thể đến bất cứ lúc nào yêu cầu CPU xử lý nó. Bỏ phiếu là một giao thức thông báo cho CPU rằng thiết bị cần sự chú ý của nó. Không giống như trong ngắt, nơi thiết bị thông báo cho CPU rằng nó cần xử lý CPU, trong việc bỏ phiếu CPU sẽ giữ hỏi thiết bị I / O cho dù nó cần xử lý CPU.

CPU liên tục kiểm tra từng thiết bị được gắn vào nó để phát hiện xem có thiết bị nào cần sự chú ý của CPU hay không. Mỗi thiết bị có một sẵn sàng chỉ huy bit cho biết trạng thái của thiết bị đó, tức là liệu nó có một số lệnh được CPU thực thi hay không. Nếu bit lệnh được đặt 1, sau đó nó có một số lệnh được thực thi khác nếu bit là 0, sau đó nó không có lệnh. CPU có một bận một chút cho biết trạng thái của CPU có bận hay không. Nếu bit bận được đặt 1, sau đó nó đang bận thực hiện lệnh của một số thiết bị, khác là 0.

Thuật toán bỏ phiếu

  • Khi một thiết bị có một số lệnh được CPU thực thi, nó sẽ liên tục kiểm tra bit bận rộn của CPU cho đến khi nó rõ ràng (0).
  • Khi bit bận trở nên rõ ràng, thiết bị sẽ thiết lập bit ghi trong thanh ghi lệnh của nó và ghi một byte trong thanh ghi dữ liệu.
  • Bây giờ thiết bị đặt (1) bit sẵn sàng lệnh.
  • Khi CPU kiểm tra bit sẵn sàng lệnh của thiết bị và tìm thấy nó được đặt (1), nó sẽ đặt (1) bit bận của nó.
  • CPU sau đó đọc thanh ghi lệnh của thiết bị và thực hiện lệnh của thiết bị.
  • Sau khi thực hiện lệnh, CPU sẽ xóa (0) bit sẵn sàng lệnh, bit lỗi của thiết bị để biểu thị thực hiện thành công lệnh của thiết bị và hơn nữa nó cũng xóa (0) bit bận rộn của nó để cho biết CPU có thể tự do thực thi lệnh của một số thiết bị khác.
  1. Khi bị gián đoạn, thiết bị sẽ thông báo cho CPU rằng nó cần bảo trì trong khi đó, trong quá trình bỏ phiếu, CPU sẽ kiểm tra xem thiết bị có cần bảo trì hay không.
  2. Ngắt là một phần cứng cơ chế vì CPU có dây dòng yêu cầu ngắt tín hiệu nào đã bị gián đoạn. Mặt khác, bỏ phiếu là một giao thức tiếp tục kiểm tra bit điều khiển để thông báo cho dù một thiết bị có cái gì đó để thực thi.
  3. Xử lý ngắt xử lý các ngắt được tạo ra bởi các thiết bị. Mặt khác, trong bỏ phiếu, CPU dịch vụ thiết bị khi họ yêu cầu.
  4. Ngắt được báo hiệu bởi dòng yêu cầu ngắt. Tuy nhiên, Sẵn sàng chỉ huy bit chỉ ra rằng thiết bị cần được bảo trì.
  5. Trong các ngắt, CPU chỉ bị xáo trộn khi bất kỳ thiết bị nào làm gián đoạn nó. Mặt khác, trong quá trình bỏ phiếu, CPU lãng phí rất nhiều chu kỳ CPU bằng cách liên tục kiểm tra bit sẵn sàng lệnh của mọi thiết bị.
  6. Một gián đoạn có thể xảy ra tại bất cứ lúc nào trong khi đó, CPU tiếp tục thăm dò thiết bị khoảng thời gian đều đặn.
  7. Việc bỏ phiếu trở nên không hiệu quả khi CPU tiếp tục bỏ phiếu cho thiết bị và hiếm khi tìm thấy bất kỳ thiết bị nào sẵn sàng phục vụ. Mặt khác, các ngắt trở nên kém hiệu quả khi các thiết bị liên tục làm gián đoạn quá trình xử lý CPU liên tục.

Phần kết luận:

Cả Bỏ phiếu và Ngắt đều hiệu quả khi tham dự các thiết bị I / O. Nhưng chúng có thể trở nên kém hiệu quả ở điều kiện nhất định như đã thảo luận ở trên.