Đồng b hóa Kernel ộ

Một phần của tài liệu Slide bài giảng hệ điều hành (Trang 27 - 30)

Đồ

■ M t yêu c u cho vi c th c thi ch ộ ầ ệ ự ế độ nhân có th x y ra theo hai ể ả

cách:

● Khi m t chộ ương trình ang ch y có th yêu c u m t d ch v đ ạ ể ầ ộ ị ụ

c a h i u hành, ho c rõ ràng h n thì qua system call. Ví d : ủ ệ đ ề ặ ơ ụ

khi l i trang x y ra.ỗ ả

● M t trình i u khi n có th chuy n các ng t, các ng t này làm ộ đ ề ể ể ể ắ ắ

cho CPU b t ắ đầu th c thi t ng ng tự ừ ắ

■ Đồng b nhân yêu c u các framework ộ ầ để cho phép các vùng tranh

21.28

ng b hóa Kernel

Đồng b hóa Kernel

Đồ

■ Linux dùng 2 k thu t ỹ ậ để ả b o v vùng tranh ch p:ệ ấ

1. Mã kernel bình thường thì nonpreemptible (until 2.4)

– khi có m t ng t x y ra trong khi chộ ắ ả ương trình ang th c thi đ ự

m t tác v c a h th ng nhân, c ộ ụ ủ ệ ố ờ need_resched c a kernel

c b t lên b nh th i s ch y system call n khi hoàn

đượ ậ để ộ đị ờ ẽ ạ đế

thành và i u khi n tr v ch đ ề ể ả ề ế độ ngườ ử ụi s d ng

2. K thu t th hai là vùng tranh ch p x y ra trong service routineỹ ậ ứ ấ ả

– b ng cách dùng ng t vi x lý ằ ắ ử để đ ề i u khi n không cho ng t ể ắ

x y ra trong vùng tranh ch p, kernel ả ấ đảm b o r ng nó có th ả ằ ể

x lý mà không có m t l i nào do các c u trúc d li u chia x ử ộ ỗ ấ ữ ệ ẻ

21.29

ng b hóa Kernel

Đồng b hóa Kernel

Đồ

■ Để tránh nh ng b t l i hi u su t , các nhân Linux dùng nh ng c u ữ ấ ợ ệ ấ ữ ấ

trúc đồng b , ộ để cho phép nh ng vùng tranh ch p dài ch y mà ữ ấ ạ

không vô hi u các ng t cho ệ ắ độ dài c a t t c các vùng tranh ch pủ ấ ả ấ

Interrupt service routines được chia thành a top half and a bottom half.

● Top half là interrupt service routine bình thường và ch y mà ạ

không cho phép ng t l p l iắ ặ ạ

● Bottom half ch y cho phép t t c các ng t, b ng m t b d nh ạ ấ ả ắ ằ ộ ộ ị

th i nh ờ ỏ để ch c r ng các bottom half không bao gi ng t ắ ằ ờ ắ

chính nó

● Ki n trúc này ế được hoàn thành b i m t c ch ở ộ ơ ế để vô hi u hoá ệ

l a ch n các bottom half trong khi ang th c thi bình thự ọ đ ự ường, mã nhân foreground

21.30

Một phần của tài liệu Slide bài giảng hệ điều hành (Trang 27 - 30)

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

(62 trang)