Thi hành luồng trong không gian nhân của hệ điều hành

Một phần của tài liệu Hµ Quang Thôy Bµi gi¶ng HÖ ®iÒu hµnh ph©n t¸n (PhÇn 1) ch−¬ng I. C¸c nguyªn lý ppt (Trang 52 - 54)

Các gói luồng đ−ợc thi hành nh− một mức phần mềm trong không gian ng−ời dùng là dễ thực hiện và cơ động mà không đòi hỏi phải thay đổi nhân. Luồng có thể đ−ợc thi hành ở mức nhân với một số mở rộng. Khi thi hành luồng trong không gian nhân, việc kết khối và lập lịch luồng đ−ợc xử lí nh− thông th−ờng nh−ng lại mềm dẻo hơn và hiệu quả hơn. Ví dụ, luồng có thể đ−ợc −u tiên một cách dễ dàng, một luồng phát ra một lời gọi hệ thống thì nó có thể bị kết khối mà không kết khối các luồng khác thuộc cùng QT và mỗi luồng có thể hoàn thành một chu trình của bộ xử lí với cùng cơ sở của các QT. Tuy nhiên, sự trừu t−ợng hai mức tinh vi đối với đồng thời trở nên mờ nhạt hơn và lợi thế tải chuyển ngữ cảnh luồng của QT nhẹ không còn nữa. Tính cơ động và hai mức trừu t−ợng đồng thời đôi khi nảy sinh thêm bất lợi khác.

Giống nh− các khái niệm mô hình Client/Server và RPC, luồng là khái niệm thiết kế hệ thống cơ bản. Việc lựa chọn thi hành luồng trong không gian nhân hay trong không gian ng−ời dùng là một nhân tố thiết kế hệ thống khó tính. Cách kết hợp thi hành luồng cả không gian ng−ời dùng và không gian nhân nh− trong Sun’s Solaris hội tụ đ−ợc các

lợi điểm của hai h−ớng tiếp cận trên. Phần d−ới đây minh họa việc kết hợp hỗ trợ nhân đa luồng nh− vậy.

Nhân truyền thống là những luồng đơn. Th−ờng thì chỉ có một bộ xử lí và cấu trúc của nhận là rất gọn. Vì vậy, đòi hỏi dịch vụ nhân chạy trong một luồng đơn không cần tính sự −u tiên. Không đồng bộ là điều cần thiết trong thao tác nhân. Gần đây, hai khuynh h−ớng quan trọng đã đ−ợc nảy sinh cho những hệ thống hiện đại. Thứ nhất, máy tính đơn với nhiều bộ xử lý đã trở nên thông dụng. Thứ hai là sự phức tạp về nhu cầu phần mềm đòi hỏi phải tạo ra nhiều dịch vụ mới trong nhân. Nhân đa luồng hỗ trợ cho những dịch vụ nhân đồng thời đã đ−ợc khẳng định.

Thao tác nội tại của nhân và những dịch vụ mà nhân cung cấp tới ứng dụng của ng−ời dùng có thể đ−ợc thi hành nh− luồng. Luồng trong không gian nhân đã đ−ợc phức hợp trong một hệ đa bộ xử lý hạ tầng. Việc thực hiện luồng là song song thực sự và có thể định −u tiên. Sự đồng bộ giữa những luồng trong nhân trở nên cần thiết và có thể thực hiện đ−ợc bằng cách dùng bộ nhớ chia xẻ. Để kết hợp chặt chẽ luồng trong không gian ng−ời dùng và luồng trong không gian nhân trong cùng một hệ thống, Solaris giới thiệu một khái niệm luồng mức trung gian và gọi là QT nhẹ LWP. LWP đ−ợc QT ng−ời sử dụng tạo ra và đ−ợc ch−ơng trình con (trong th− viện) thời gian chạy luồng quản lý. Chúng đ−ợc nhân tổ chức nh− là đơn vị cơ sở cho việc lập lịch. Luồng ng−ời dùng, không thể đ−ợc nhân nhận biết, cũng đ−ợc tạo ra và quản lý bởi bó luồng. LWP phục vụ giao diện luồng ng−ời dùng và luồng nhân. Hình 3.5 thể hiện nhân đa luồng có −u tiên với ba mức đồng thời: Luồng của ng−ời sử dụng là đa thành phần theo LWP trong cùng một QT; LWP là đa thành phần theo luồng nhân và luồng nhân là đa thành phần trong hệ đa bộ xử lý.

Luồng ng−ời dùng có thể đ−ợc lập lịch tới bất cứ một LWP nào đ−ợc QT tạo ra. Khi đ−ợc gắn tới một LWP, nó trở thành thực hiện đ−ợc khi dùng thời gian đ−ợc nhân đã định vị tới LWP. Mỗi LWP lại đ−ợc kết nối tới một luồng nhân. Lời gọi kết khối từ một luồng ng−ời sử dụng sẽ bẫy tới một LWP. LWP đó tạo ra một hệ thống thực gọi đến nhân và trở thành kết khối. Việc kết khối LWP không làm kết khối toàn bộ QT do

L

L L L

Hệ đa xử lý

Luồng trong không gian ng−ời dùng

QT nhẹ - Luồng

Luồng trong không gian nhân

các luồng đợi có thể đ−ợc lập lịch tới LWP khác trong cùng QT. Luồng ng−ời dùng có thể đ−ợc −u tiên vì rằng các LWP có thể đ−ợc −u tiên bởi nhân. Việc thi hành lai có tính mềm dẻo và hiệu quả từ cả luồng ng−ời dùng và luồng nhân.

Rất nhiều HĐH hiện thời có hỗ trợ luồng và có một số l−ợng lớn các phần mềm sử dụng luồng. Sự hỗ trợ luồng trở thành một bộ phận trong HĐH ngày nay.

Một phần của tài liệu Hµ Quang Thôy Bµi gi¶ng HÖ ®iÒu hµnh ph©n t¸n (PhÇn 1) ch−¬ng I. C¸c nguyªn lý ppt (Trang 52 - 54)

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

(182 trang)