1. Trang chủ
  2. » Công Nghệ Thông Tin

Nguyên lí hệ điều hành

25 638 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 25
Dung lượng 806,58 KB

Nội dung

Giáo trình Nguyên lý hu hành – KS. Trn Ngc Thái,  môn Tin hc – i hc DL Hi Phòng Tài liu lu hành ni b - 1 - Chng 2: Qun lý tin trình Trong chng này chúng ta s tìm hiu chc nng qun lý tin trình ca Hu hành : làm th nào  phân chia CPU cho các tin trình ? Theo vt x lý ca tin trình ? Và các thao tác trên tin trình ? 2.1 T chc qun lý tin trình 2.1.1. Các trng thái ca tin trình Trng thái ca tin trình ti mt thi m c xác nh bi hot ng hin thi ca tin trình ti thi m ó. Trong quá trình sng, mt tin trình thay i trng thái do nhiu nguyên nhân nh : phi ch mt s kin nào ó xy ra, hay i mt thao tác nhp/xut hoàn tt, buc phi dng hot ng do ã ht thi gian x lý … i mt thi m, mt tin trình có th nhn trong mt các trng thái sau ây : i to : tin trình ang c to lp. Running : các ch th ca tin trình ang c x lý. Blocked : tin trình ch c cp phát mt tài nguyên, hay ch mt

Trang 1

ó x y ra, hay i m t thao tác nh p/xu t hoàn t t, bu c ph i d ng ho t ng do ã h t th i gian x lý …

i m t th i m, m t ti n trình có th nh n trong m t các tr ng thái sau ây :

i m t th i m, ch có m t ti n trình có th nh n tr ng thái running trên m t b x lý b t k Trong khi ó,

nhi u ti n trình có th tr ng thái blocked hay ready.

Các cung chuy n ti p trong s tr ng thái bi u di n sáu s chuy n tr ng thái có th x y ra trong các u ki nsau :

Ti n trình m i t o c a vào h th ng

u ph i c p phát cho ti n trình m t kho ng th i gian s d ng CPU

Ti n trình k t thúc

Ti n trình yêu c u m t tài nguyên nh ng ch a c áp ng vì tài nguyên ch a s n sàng c p phát t i th i

m ó ; ho c ti n trình ph i ch m t s ki n hay thao tác nh p/xu t

u ph i ch n m t ti n trình khác cho x lý

Trang 2

Tài nguyên mà ti n trình yêu c u tr nên s n sàng c p phát ; hay s ki n ho c thao tác nh p/xu t ti n trìnhang i hoàn t t.

2.1.2 Ch x lý c a ti n trình

m b o h th ng ho t ng úng n, h u hành c n ph i c b o v kh i s xâm ph m c a các ti ntrình B n thân các ti n trình và d li u c ng c n c b o v tránh các nh h ng sai l c l n nhau M tcách ti p c n gi i quy t v n là phân bi t hai ch x lý cho các ti n trình : ch không c quy n và

ch c quy n nh vào s tr giúp c a c ch ph n c ng T p l nh c a CPU c phân chia thành các l nh

c quy n và l nh không c quy n C ch ph n c ng ch cho phép các l nh c quy n c th c hi n trong

ch c quy n Thông th ng ch có h u hành ho t ng trong ch c quy n, các ti n trình c a

ng i dùng ho t ng trong ch không c quy n, không th c hi n c các l nh c quy n có nguy c nh

Ng c nh c a ti n trình (3): mô t các tài nguyên ti n trình ang trong quá trình, ho c ph c v cho ho t

ng hi n t i, ho c làm c s ph c h i ho t ng cho ti n trình, bao g m các thông tin v :

Tr ng thái CPU: bao g m n i dung các thanh ghi, quan tr ng nh t là con tr l nh IP l u tr a ch câu l nh k

ti p ti n trình s x lý Các thông tin này c n c l u tr khi x y ra m t ng t, nh m có th cho phép ph c h i

ho t ng c a ti n trình úng nh tr c khi b ng t

x lý: dùng cho máy có c u hình nhi u CPU, xác nh s hi u CPU mà ti n trình ang s d ng.

nh chính: danh sách các kh i nh c c p cho ti n trình

Tài nguyên s d ng: danh sách các tài mguyên h th ng mà ti n trình ang s d ng.

Tài nguyên t o l p: danh sách các tài nguyên c ti n trình t o l p

Thông tin giao ti p (4): ph n ánh các thông tin v quan h c a ti n trình v i các ti n trình khác trong h

th ng :

Ti n trình cha: ti n trình t o l p ti n trình này

Ti n trình con: các ti n trình do ti n trình này t o l p

Trang 3

u tiên : giúp b u ph i có thông tin l a ch n ti n trình c c p CPU.

Thông tin th ng kê (5): ây là nh ng thông tin th ng kê v ho t ng c a ti n trình, nh th i gian ã s d ngCPU,th i gian ch Các thông tin này có th có ích cho công vi c ánh giá tình hình h th ng và d oán cáctình hu ng t ng lai

Trang 4

Hình v 2.5 M t cây ti n trình trong h th ng UNIX

Các công vi c h u hành c n th c hi n khi t o l p ti n trình bao g m :

nh danh cho ti n trình m i phát sinh

a ti n trình vào danh sách qu n lý c a h th ng

xác nh u tiên cho ti n trình

o PCB cho ti n trình

p phát các tài nguyên ban u cho ti n trình

Khi m t ti n trình t o l p m t ti n trình con, ti n trình con có th s c h u hành tr c ti p c p phát tàinguyên ho c c ti n trình cha cho th a h ng m t s tài nguyên ban u

Khi m t ti n trình t o ti n trình m i, ti n trình ban u có th x lý theo m t trong hai kh n ng sau :

Ti n trình cha ti p t c x lý ng hành v i ti n trình con

Ti n trình cha ch n khi m t ti n trình con nào ó, ho c t t c các ti n trình con k t thúc x lý

Các h u hành khác nhau có th ch n l a các cài t khác nhau th c hi n thao tác t o l p m t ti n trình

2.1.4.2 K t thúc ti n trình

t ti n trình k t thúc x lý khi nó hoàn t t ch th cu i cùng và s d ng m t l i g i h th ng yêu c u h

u hành h y b nó ôi khi m t ti n trình có th yêu c u h u hành k t thúc x lý c a m t ti n trình khác.Khi m t ti n trình k t thúc, h u hành th c hi n các công vi c :

thu h i các tài nguyên h th ng ã c p phát cho ti n trình

y ti n trình kh i t t c các danh sách qu n lý c a h th ng

y b PCB c a ti n trình

u h t các h u hành không cho phép các ti n trình con ti p t c t n t i n u ti n trình cha ã k t thúc Trong

nh ng h th ng nh th , h u hành s t ng phát sinh m t lo t các thao tác k t thúc ti n trình con

2.1.5 C p phát tài nguyên cho ti n trình

Khi có nhi u ng i s d ng ng th i làm vi c trong h th ng, h u hành c n ph i c p phát các tài nguyêntheo yêu c u cho m i ng i s d ng Do tài nguyên h th ng th ng r t gi i h n và có khi không th chia s ,

Trang 5

nên hi m khi t t c các yêu c u tài nguyên ng th i u c th a mãn Vì th c n ph i nghiên c u m t

ph ng pháp chia s m t s tài nguyên h u h n gi a nhi u ti n trình ng i dùng ng th i H u hành

qu n lý nhi u lo i tài nguyên khác nhau (CPU, b nh chính, các thi t b ngo i vi …), v i m i lo i c n có m t

ch c p phát và các chi n l c c p phát hi u q a M i tài nguyên c bi u di n thông qua m t c u trúc d

li u, khác nhau v chi ti t cho t ng lo i tài nguyên, nh ng c b n ch a ng các thông tin sau :

nh danh tài nguyên

Tr ng thái tài nguyên : ây là các thông tin mô t chi ti t tr ng thái tài nguyên : ph n nào c a tài nguyên ã

p phát cho ti n trình, ph n nào còn có th s d ng ?

Hàng i trên m t tài nguyên : danh sách các ti n trình ang ch c c p phát tài nguyên t ng ng

c p phát : là n code m nhi m vi c c p phát m t tài nguyên c thù M t s tài nguyên òi h i các

gi i thu t c bi t (nh CPU, b nh chính, h th ng t p tin), trong khi nh ng tài nguyên khác (nh các thi t b

nh p/xu t) có th c n các gi i thu t c p phát và gi i phóng t ng quát h n

Hình 2.6 Kh i qu n lý tài nguyên

Các m c tiêu c a k thu t c p phát :

o m m t s l ng h p l các ti n trình truy xu t ng th i n các tài nguyên không chia s c

p phát tài nguyên cho ti n trình có yêu c u trong m t kho ng th i gian trì hoãn có th ch p nh n c

i u hóa s s d ng tài nguyên

có th thõa mãn các m c tiêu k trên, c n ph i gi i quy t các v n n y sinh khi có nhi u ti n trình ng

th i yêu c u m t tài nguyên không th chia s

2.2 u ph i ti n trình

Trong môi tr ng a ch ng, có th x y ra tình hu ng nhi u ti n trình ng th i s n sàng x lý M c tiêu

a các h phân chia th i gian (time-sharing) là chuy n i CPU qua l i gi a các ti n trình m t cách th ngxuyên nhi u ng i s d ng có th t ng tác cùng lúc v i t ng ch ng trình trong quá trình x lý

th c hi n c m c tiêu này, h u hành ph i l a ch n ti n trình c x lý ti p theo B u ph i s s

ng m t gi i thu t u ph i thích h p th c hi n nhi m v này M t thành ph n khác c a h u hành c ng

ti m n trong công tác u ph i là phân ph i (dispatcher) B phân ph i s ch u trách nhi m chuy n i ng

nh và trao CPU cho ti n trình c ch n b i b u ph i x lý

2.2.1 Gi i thi u

2.2.1.1 M c tiêu u ph i

Trang 6

u ph i không cung c p c ch , mà a ra các quy t nh Các h u hành xây d ng nhi u chi n l ckhác nhau th c hi n vi c u ph i, nh ng t u chung c n t c các m c tiêu sau :

c) Th i gian áp ng h p lý (Response time) :

c ti u hoá th i gian h i áp cho các t ng tác c a ng i s d ng

d) Th i gian l u l i trong h th ng ( Turnaround Time) :

c ti u hóa th i gian hoàn t t các tác v x lý theo lô

e) Thông l ng t i a (Throughput ) :

c i hóa s công vi c c x lý trong m t n v th i gian

Tuy nhiên th ng không th th a mãn t t c các m c tiêu k trên vì b n thân chúng có s mâu thu n v i nhau

mà ch có th dung hòa chúng m c nào ó

2.2.1.2 Các c m c a ti n trình

u ph i ho t ng c a các ti n trình là m t v n r t ph c t p, òi h i h u hành khi gi i quy t ph i xemxét nhi u y u t khác nhau có th t c nh ng m c tiêu ra M t s c tính c a ti n trình c n cquan tâm nh tiêu chu n u ph i :

a) Tính h ng xu t / nh p c a ti n trình ( I/O-boundedness):

Khi m t ti n trình nh n c CPU, ch y u nó ch s d ng CPU n khi phát sinh m t yêu c u nh p xu t ?

Ho t ng c a các ti n trình nh th th ng bao g m nhi u l t s d ng CPU , m i l t trong m t th i giankhá ng n

b) Tính h ng x lý c a ti n trình ( CPU-boundedness):

Khi m t ti n trình nh n c CPU, nó có khuynh h ng s d ng CPU n khi h t th i gian dành cho nó ? Ho t

ng c a các ti n trình nh th th ng bao g m m t s ít l t s d ng CPU , nh ng m i l t trong m t th igian dài

c) Ti n trình t ng tác hay x lý theo lô :

Ng i s d ng theo ki u t ng tác th ng yêu c u c h i áp t c th i i v i các yêu c u c a h , trong khicác ti n trình c a tác v c x lý theo lô nói chung có th trì hoãn trong m t th i gian ch p nh n c

d) u tiên c a ti n trình :

Các ti n trình có th c phân c p theo m t s tiêu chu n ánh giá nào ó, m t cách h p lý, các ti n trìnhquan tr ng h n ( có u tiên cao h n) c n c u tiên h n

e) Th i gian ã s d ng CPU c a ti n trình :

Trang 7

t s quan m u tiên ch n nh ng ti n trình ã s d ng CPU nhi u th i gian nh t vì hy v ng chúng s c n

ít th i gian nh t hoàn t t và r i kh i h th ng Tuy nhiên c ng có quan m cho r ng các ti n trình nh n

c CPU trong ít th i gian là nh ng ti n trình ã ph i ch lâu nh t, do v y u tiên ch n chúng

f) Th i gian còn l i ti n trình c n hoàn t t :

Có th gi m thi u th i gian ch i trung bình c a các ti n trình b ng cách cho các ti n trình c n ít th i gian

nh t hoàn t t c th c hi n tr c Tuy nhiên áng ti c là r t hi m khi bi t c ti n trình c n bao nhiêu

th i gian n a k t thúc x lý

2.2.1.3 u ph i không c quy n và u ph i c quy n (preemptive/nopreemptive)

Thu t toán u ph i c n xem xét và quy t nh th i m chuy n i CPU gi a các ti n trình H u hành có

th th c hi n c ch u ph i theo nguyên lý c quy n ho c không c quy n.

u ph i c quy n : Nguyên lý u ph i c quy n cho phép m t ti n trình khi nh n c CPU s cóquy n c chi m CPU n khi hoàn t t x lý ho c t nguy n gi i phóng CPU Khi ó quy t nh u ph iCPU s x y ra trong các tình hu ng sau:

Khi ti n trình chuy n t tr ng thái ang x lý(running) sang tr ng thái b khóa blocked ( ví d ch m t thaotác nh p xu t hay ch m t ti n trình con k t thúc…)

Khi ti n trình k t thúc

Các gi i thu t c quy n th ng n gi n và d cài t Tuy nhiên chúng th ng không thích h p v i các h

th ng t ng quát nhi u ng i dùng, vì n u cho phép m t ti n trình có quy n x lý bao lâu tùy ý, có ngh a là ti ntrình này có th gi CPU m t th i gian không xác nh, có th ng n c n nh ng ti n trình còn l i trong h th ng

có m t c h i x lý

u ph i không c quy n : Ng c v i nguyên lý c quy n, u ph i theo nguyên lý không c quy n

cho phép t m d ng ho t ng c a m t ti n trình ang s n sàng x lý Khi m t ti n trình nh n c CPU, nó

n c s d ng CPU n khi hoàn t t ho c t nguy n gi i phóng CPU, nh ng m t ti n trình khác có utiên có th dành quy n s d ng CPU c a ti n trình ban u Nh v y là ti n trình có th b t m d ng ho t ng

t c lúc nào mà không c báo tr c, ti n trình khác x lý Các quy t nh u ph i x y ra khi :

Khi ti n trình chuy n t tr ng thái ang x lý (running) sang tr ng thái b khóa blocked ( ví d ch m t thaotác nh p xu t hay ch m t ti n trình con k t thúc…)

Khi ti n trình chuy n t tr ng thái ang x lý (running) sang tr ng thái ready ( ví d x y ra m t ng t)

Khi ti n trình chuy n t tr ng thái ch (blocked) sang tr ng thái ready ( ví d m t thao tác nh p/xu t hoànt)

Khi ti n trình k t thúc

Các thu t toán u ph i theo nguyên t c không c quy n ng n c n c tình tr ng m t ti n trình c chi mCPU, nh ng vi c t m d ng m t ti n trình có th d n n các mâu thu n trong truy xu t, òi h i ph i s d ng

t ph ng pháp ng b hóa thích h p gi i quy t

Trong các h th ng s d ng nguyên lý u ph i c quy n có th x y ra tình tr ng các tác v c n th i gian x

lý ng n ph i ch tác v x lý v i th i gian r t dài hoàn t t! Nguyên lý u ph i c quy n th ng ch thích

p v i các h x lý theo lô

i v i các h th ng t ng tác(time sharing), các h th i gian th c (real time),c n ph i s d ng nguyên lý u

ph i không c quy n các ti n trình quan tr ng có c h i h i áp k p th i Tuy nhiên th c hi n u ph i

Trang 8

theo nguyên lý không c quy n òi h i nh ng c ch ph c t p trong vi c phân nh u tiên, và phát sinhthêm chi phí khi chuy n i CPU qua l i gi a các ti n trình.

2.2.2 T ch c u ph i

2.2.2.1 Các danh sách s d ng trong quá trình u ph i.

u hành s d ng hai lo i danh sách th c hi n u ph i các ti n trình là danh sách s n sàng (ready list)

và danh sách ch i(waiting list).

Khi m t ti n trình b t u i vào h th ng, nó c chèn vào danh sách các tác v (job list) Danh sách này bao

m t t c các ti n trình c a h th ng Nh ng ch các ti n trình ang th ng trú trong b nh chính và tr ngthái s n sàng ti p nh n CPU ho t ng m i c a vào danh sách s n sàng.

u ph i s ch n m t ti n trình trong danh sách s n sàng và c p CPU cho ti n trình ó Ti n trình c c pCPU s th c hi n x lý, và có th chuy n sang tr ng thái ch khi x y ra các s ki n nh i m t thao tác

nh p/xu t hoàn t t, yêu c u tài nguyên ch a c th a mãn, c yêu c u t m d ng Khi ó ti n trình s cchuy n sang m t danh sách ch i

u hành ch s d ng m t danh sách s n sàng cho toàn h th ng, nh ng m i m t tài nguyên ( thi t b ngo i

vi ) có m t danh sách ch i riêng bao g m các ti n trình ang ch c c p phát tài nguyên ó

Ti n trình phát sinh m t yêu c u m t tài nguyên mà h th ng ch a th áp ng, khi ó ti n trình s cchuy n sang danh sách các ti n trình ang ch tài nguyên t ng ng

Ti n trình có th b b t bu c t m d ng x lý do m t ng t x y ra, khi ó ti n trình c a tr l i vào danhsách s n sàng ch c c p CPU cho l t ti p theo

Trang 9

Hình 2.10 chuy n i gi a các danh sách u ph i

Trong tr ng h p u tiên, ti n trình cu i cùng s chuy n t tr ng thái blocked sang tr ng thái ready và l i

c a tr vào danh sách s n sàng Ti n trình l p l i chu k này cho n khi hoàn t t tác v thì c h th ng

ho t ng th p

h th ng ho t ng t t, b u ph i tác v c n bi t tính ch t c a ti n trình là h ng nh p xu t (I/O bounded) hay ng x lý ( CPU bounded) M t ti n trình c g i là h ng nh p xu t n u nó ch y u nó ch

Ch n m t ti n trình tr ng thái s n sàng ( ã c n p vào b nh chính, và có tài nguyên ho t ng ) và

p phát CPU cho ti n trình ó th c hi n B u ph i ti n trình có t n su t ho t ng cao, sau m i l n x y ra

ng t ( do ng h báo gi , do các thi t b ngo i vi ), th ng là 1 l n trong kho ng 100ms Do v y nâng cao

Trang 10

Hình 2.11 C p u ph i trung gian

2.2.3 Các chi n l c u ph i

2.2.3.1 Chi n l c FIFO

Nguyên t c : CPU c c p phát cho ti n trình u tiên trong danh sách s n sàng có yêu c u, là ti n trình

c a vào h th ng s m nh t ây là thu t toán u ph i theo nguyên t c c quy n M t khi CPU c

p phát cho ti n trình, CPU ch c ti n trình t nguy n gi i phóng khi k t thúc x lý hay khi có m t yêu c u

2.2.3.2 Chi n l c phân ph i xoay vòng (Round Robin)

Nguyên t c : Danh sách s n sàng c x lý nh m t danh sách vòng, b u ph i l n l t c p phát cho

ng ti n trình trong danh sách m t kho ng th i gian s d ng CPU g i là quantum ây là m t gi i thu t u

ph i không c quy n : khi m t ti n trình s d ng CPU n h t th i gian quantum dành cho nó, h u hành

Trang 11

thu h i CPU và c p cho ti n trình k ti p trong danh sách N u ti n trình b khóa hay k t thúc tr c khi s d ng

t th i gian quantum, h u hành c ng l p t c c p phát CPU cho ti n trình khác Khi ti n trình tiêu th h t

th i gian CPU dành cho nó mà ch a hoàn t t, ti n trình c a tr l i vào cu i danh sách s n sàng i

Th i gian ch i trung bình s là (0+6+3+5)/3 = 4.66 milisecondes

u có n ti n trìh trong danh sách s n sàng và s d ng quantum q, thì m i ti n trình s c c p phát CPU 1/n trong t ng kho ng th i gian q M i ti n trình s không ph i i quá (n-1)q n v th i gian tr c khi nh n cCPU cho l t k ti p

2.2.3.3 u ph i v i u tiên

Nguyên t c : M i ti n trình c gán cho m t u tiên t ng ng, ti n trình có u tiên cao nh t s

c ch n c p phát CPU u tiên u tiên có th c nh ngh a n i t i hay nh vào các y u t bênngoài u tiên n i t i s d ng các i l ng có th o l ng tính toán u tiên c a ti n trình, ví d các

gi i h n th i gian, nhu c u b nh u tiên c ng có th c gán t bên ngoài d a vào các tiêu chu n do

u hành nh t m quan tr ng c a ti n trình, lo i ng i s d ng s h u ti n trình…

Gi i thu t u ph i v i u tiên có th theo nguyên t c c quy n hay không c quy n Khi m t ti n trình

c a vào danh sách các ti n trình s n sàng, u tiên c a nó c so sánh v i u tiên c a ti n trình

hi n hành ang x lý Gi i thu t u ph i v i u tiên và không c quy n s thu h i CPU t ti n trình hi nhành c p phát cho ti n trình m i n u u tiên c a ti n trình này cao h n ti n trình hi n hành M t gi ithu t c quy n s ch n gi n chèn ti n trình m i vào danh sách s n sàng, và ti n trình hi n hành v n ti p t c

lý h t th i gian dành cho nó

Ví d : ( u tiên 1 > u tiên 2> u tiên 3)

Ti n trình Th i m vào RL u tiên Th i gian x lý

Trang 12

2.2.3.4 Chi n l c công vi c ng n nh t (Shortest-job-first SJF)

Nguyên t c : ây là m t tr ng h p c bi t c a gi i thu t u ph i v i u tiên Trong gi i thu t này,

u tiên p c gán cho m i ti n trình là ngh ch o c a th i gian x lý t mà ti n trình yêu c u : p = 1/t Khi

CPU c t do, nó s c c p phát cho ti n trình yêu c u ít th i gian nh t k t thúc- ti n trình ng n nh t

Gi i thu t này c ng có th c quy n hay không c quy n S ch n l a x y ra khi có m t ti n trình m i c

a vào danh sách s n sàng trong khi m t ti n trình khác ang x lý Ti n trình m i có th s h u m t yêu c u

th i gian s d ng CPU cho l n ti p theo (CPU-burst) ng n h n th i gian còn l i mà ti n trình hi n hành c n x

lý Gi i thu t SJF không c quy n s d ng ho t ng c a ti n trình hi n hành, trong khi gi i thu t c quy n cho phép ti n trình hi n hành ti p t c x lý

Ví d :

Ti n trình Th i m vào

RL

Th i gian xlý

Ngày đăng: 27/05/2014, 19:53

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w