QUẢN LÝ PROCESSOR

Một phần của tài liệu Hệ Điều Hành Học Viện Công Nghệ Bưu Chính Viễn Thông (Trang 133 - 136)

- Đọc/Ghi ngày, tháng, năm

QUẢN LÝ PROCESSOR

Chƣơng “QUẢN LÝ PROCESSOR" sẽ giới thiệu và giải thích các vấn đề sau:

5.1 Processor Vật lý và Processor logic 5.2 Ngắt và xử lý ngắt

5.3 Xử lý ngắt trong IBM-PC

5.1. PROCESSOR VẬT LÝ VÀ PROCESSOR LOGIC

Trong lĩnh vực cơng nghệ thơng tin, khái niệm bộ xử lý (processor) thƣờng đƣợc gọi là đơn vị xử lý trung tâm (CPU-Central Processing Unit). CPU là một thành phần bên trong máy tính thực hiện cơng việc biên dịch các chỉ thị của máy tính và xử lý các dữ liệu bên trong các chƣơng trình. Cùng với đơn vị lƣu trữ chính, thiết bị nhập/xuất, CPU là thành phần cơ bản nhất khơng thể thiếu trong bất kỳ hệ thống máy tính nào.

Để tăng tốc độ cho một hệ thống máy tính, ngồi việc sử dụng nhiều CPU, cịn cĩ một giải pháp khác – hyper threading (siêu phân luồng). Với kỹ thuật này, hệ điều hành sẽ nhìn thấy một processor vật lý thành hai processor logic. Processor vật lý là một thành phần phần cứng thực sự, thực hiện các thao tác do hệ điều hành và các chƣơng trình đang thực thi trên máy tính ra lệnh. Trong khi đĩ, processor logic đƣợc tạo ra bởi các chƣơng trình, tài nguyên hệ điều hành, hoặc là sự mơ phỏng của processor vật lý. Một lý do khác để tạo ra processor logic là để tận dụng tối đa nguồn tài nguyên bên trong bộ xử lý đồng thời cho phép thực hiện tính tốn cho nhiều tiểu trình hơn trong cùng một thời điểm.

Hình 5.1. Processor vật lý và processor logic

Giả sử hệ thống cĩ một CPU vật lý. Nếu CPU này khơng hỗ trợ kỹ thuật siêu phân luồng thì hệ điều hành chỉ nhìn thấy hệ thống cĩ một CPU (vật lý) duy nhất. Ngƣợc lại, nếu CPU này hỗ trợ kỹ thuật siêu phân luồng thì hệ điều hành sẽ cho rằng hệ thống này cĩ hai CPU (logic). Hình 5.2 minh họa điều này khi thực hiện trên hai hệ thống đƣợc giả sử nhƣ trên. Khi đĩ, ở hình (b) ta sẽ thấy cĩ hai ơ hình chữ nhật rời nhau để đo Performance cho từng CPU (logic). Trong khi đĩ, ở hình (a) chỉ cĩ một CPU (vật lý) đƣợc đo Performance.

Hình 5.2. Minh họa Performance của hệ thống cĩ 1 CPU vật lý và hệ thống cĩ 2 CPU logic

5.2. NGẮT VÀ XỬ LÝ NGẮT

Ngắt là sự xảy ra của một điều kiện, sự kiện làm cho treo tạm thời chƣơng trình trong khi đĩ điều kiện, sự kiện này đƣợc phục vụ bởi chƣơng trình khác. Một hệ thống đƣợc điều khiển bằng ngắt cho ảo giác là nĩ thực hiện nhiều cơng việc đồng thời. Dĩ nhiên, CPU mỗi lần khơng thể thực thi nhiều hơn một lệnh; nhƣng nĩ cĩ thể tạm treo việc thực thi một chƣơng trình để thực thi chƣơng trình khác, rồi quay về chƣơng trình thứ nhất. Cụ thể hơn, khi ngắt xảy ra, thì:

+ Hệ điều hành lấy đƣợc sự điều khiển.

+ Hệ điều hành lƣu lại trạng thái của tiến trình bị ngắt. Trong nhiều hệ thống, các thơng tin này đƣợc lƣu trong khối điều khiển tiến trình của tiến trình bị ngắt.

+ Hệ điều hành phân tích ngắt và chuyển điều khiển đến một thủ tục tƣơng ứng để thực hiện ngắt. + Thủ tục thực hiện ngắt tiến hành ngắt.

Hình 5.3 Thủ tục ngắt

Ngắt cĩ thể đƣợc nạp từ một tiến trình đang thực thi, từ một sự cố cĩ liên quan hoặc khơng liên quan đến tiến trình đang thực thi. Nhƣ ví dụ trong hình 5.11, CPU nhảy đến địa chỉ 1000 và thực thi chƣơng trình ở đĩ. Và ở cuối thủ tục ngắt, một lệnh đƣợc khởi tạo để khơi phục lại trạng thái của các thanh ghi bị treo trong chƣơng trình chính, nhờ đĩ nĩ cũng giúp khơi phục lại việc điều khiển cho chƣơng trình gốc.

Cấu trúc ngắt cĩ thể khác nhau giữa các hệ thống, nhƣng nhìn chung chúng đều thực hiện cùng một thủ tục ngắt nhƣ nhau. Dƣới đây là một số yêu cầu mà một hệ thống ngắt phải đáp ứng đƣợc trƣớc khi thực hiện ngắt:

+ Định nghĩa một tập các sự kiện cĩ khả năng gây ra ngắt.

+ Cĩ phƣơng tiện để ghi lại các tình huống (ngữ cảnh) khi một ngắt xảy ra, thƣờng là một hoặc một vài bit cờ (flag).

+ CPU phải thực hiện việc kiểm tra trạng thái ngắt theo thời gian định kỳ. Việc thiết lập và kiểm tra trạng thái các cờ ngắt thƣờng đƣợc xử lý tự động bởi phần cứng với rất ít hoặc khơng cĩ sự tham gia của CPU.

+ Hệ thống phải kiểm tra để xác định xem yêu cầu ngắt xuất phát từ đâu, và để quyết định cĩ nên cấp CPU để đáp ứng yêu cầu ngắt đĩ hay khơng.

+ Xác định vị trí bên trong CPU, để lƣu thơng tin về nguyên nhân gây ra ngắt.

+ Nếu yêu cầu ngắt cần đƣợc đáp ứng, thì CPU phải nhảy đến chƣơng trình hoặc thủ tục phục vụ ngắt tƣơng ứng.

+ Bên trong hệ điều hành, các ngắt thƣờng đƣợc sử dụng để truy xuất các dịch vụ của kernel (nhân của hệ điều hành). Việc thâm nhập vào kernel của một hệ điều hành cĩ liên quan mật thiết

Chƣơng trình chính CPU Thủ tục ngắt: - Xác định nguồn. - Cấm các ngắt khác? - Lƣu lại nội dung các thanh ghi. - Link đến thủ tục ngắt. - Khơi phục lại các thanh ghi. - Cho phép ngắt - Quay lại chƣơng trình chính

Input

Phục vụ ngắt A

Các lệnh đƣợc thực hiện cho việc phục vụ ngắt A Quay lui 100 101 102 Bộ nhớ Địa chỉ 1000 1001 1002 Ngắt A

đến quá trình xử lý ngắt, một vài khả năng đáp ứng ngắt là yêu cầu tất yếu của kernel trong một hệ điều hành. Cĩ ba loại ngắt đƣợc sử dụng trong một hệ điều hành nhƣ sau:

Một phần của tài liệu Hệ Điều Hành Học Viện Công Nghệ Bưu Chính Viễn Thông (Trang 133 - 136)

Tải bản đầy đủ (PDF)

(200 trang)