Cơ chế đa nhiệm

Một phần của tài liệu GIÁO TRÌNH KIẾN TRÚC MÁY TÍNH (Trang 35 - 36)

Nhiệm vụ được định nghĩa như là một thực hiện của chương trình nào đó. Mỗi một nhiệm vụ có một đoạn trạng thái nhiệm vụ (đoạn TSS - Task State Segment) chứa toàn bộ trạng thái của nhiệm vụ đó. Mỗi đoạn TSS được quản lý (trỏ) bởi một Bộ mô tả TSS nằm trong bảng GDT. CPU x86 có phần cứng hỗ trợ thao thác chuyển nhiệm vụ. Thao tác chuyển nhiệm vụ thực hiện lưu và bảo vệ toàn bộ trạng thái hoạt động của nhiệm vụ đang thực hiện (bao gồm

36 nội dung toàn bộ các thanh ghi của CPU, không gian địa chỉ có liên quan và Bộ chọn LDT của nhiệm vụ đang chạy) vào đoạn TSS, sau đó nạp trạng thái của nhiệm vụ tiếp theo từ đoạn TSS tương ứng vào

CPU, kiểm tra quyền truy nhập và bắt đầu thực hiện nhiệm vụ mới.

Thanh ghi nhiệm vụ TR (Task Register) trỏ đến Bộ mô tả TSS quản lý nhiệm vụ hiện thời.

Thao tác chuyển nhiệm vụ được tiến hành theo các bước sau :

+ Lưu toàn bộ trạng thái hoạt động của nhiệm vụ đang thực hiện (bao gồm nội dung toàn bộ các thanh ghi của CPU, các địa chỉ có liên quan và Bộ chọn LDT của nhiệm vụ hiện thời) vào đoạn trạng thái nhiệm vụ TSS của nhiệm vụ này.

+ Nạp Bộ chọn nhiệm vụ tiếp theo vào thanh ghi TR. Thanh ghi TR trỏ đến Bộ mô tả TSS quản lý đoạn TSS của nhiệm vụ tiếp theo.

+ Qua Bộ mô tả TSS truy nhập đoạn TSS của nhiệm vụ tiếp theo, nạp trạng thái nhiệm vụ tiếp theo vào các thanh ghi của CPU, trong đó có thanh ghi LDTR. Bộ mô tả TSS được nạp vào phần kín của TR.

+ Thực hiện kiểm tra quyền truy nhập. + Thực hiện nhiệm vụ tiếp theo.

Một phần của tài liệu GIÁO TRÌNH KIẾN TRÚC MÁY TÍNH (Trang 35 - 36)