L N Đ U .................................................................................................. 1 I T U V T ............................................. 3 1.1 u................................................................................................. 4 1.1.1 ỏc khỏi niệm về hệ nhỳng ...................................................... 4 1.1.2 ch s ........................................................................................ 6 1.1.3 ỏc c i m.............................................................................. 7 1.1.4 i o iện .................................................................................... 8 1.1.5 i n Trỳc ................................................................................... 9 1.1.6 Thi t ngo i vi......................................................................... 9 1.1.7 ng c phỏt tri n................................................................... 10 1.1.8 tin c ................................................................................. 11 1.2 nh v c ng ng c hệ nhỳng ................................................... 12 1.2.1 Xu th phỏt tri n và s t ng trường c hệ thống.............. 12 1.3 ấu trỳc ph n c ng hệ nhỳng......................................................... 14 1.3.1 ỏc thành ph n ki n trỳc c n .......................................... 14 1.3.2 n v x lý trung tõm PU .................................................. 14 1.3.3 Xung nh p và tr ng thỏi tin hiệu ........................................... 16 1.3.4 B nhớ ...................................................................................... 18 1.3.5 go i vi..................................................................................... 20 II. T M U V Đ U N T N T ......................... 22 2.1 hỏi niệm hệ thống th ng tin thời gi n th c................................. 22 2.2 c th ............................................................................................... 22 2.3 hiệm v ............................................................................................ 23 2.4 t số v về thời gi n th c............................................... 24 2.5 Thời gi n th c c ng ( r Re ltime) và thời gi n th c mềm ( Soft RealTime): ........................................................................................ 24 III. p l ch trong thời gi n th c – Scheduling....................................... 26 3.1 Vấn ề l p l ch................................................................................... 26 3.2 ỏc phư ng phỏp l p l ch ph i n ................................................ 30 3.3 p l ch c chu k ............................................................................. 32 3.4 p l ch kh ng theo chu k .............................................................. 33 Hệ điều hành thời gian thực: Vấn đề lập lịch (Scheduler) Nhúm 23_LTCĐDHKHMT2_K6 3 3.5 p l ch theo ki u chi m qu ền th c thi và l p l ch kh ng c chi m qu ền th c thi................................................................................. 34 3.6 ỏc ti u ch ỏnh giỏ l p l ch .......................................................... 36 3.7 ỏnh giỏ cỏc thu t toỏn l p l ch...................................................... 37 3.8 ỏc k thu t l p l ch ph i n......................................................... 37 IV. T U T ................................................................... 43
Hệ điều hành thời gian thực: Vấn đề lập lịch (Scheduler) U 21 : V W L M H ẽ ( NTT) T 2010 ẽ ị ỷ Đ ” ễ 23 môn là: “Hệ điều t ời (Scheduler))” Q giáo i V Hà - Mỹ(1) “L ia t ực: Vấ lịc đề l ớ C Nhóm 23_LTCĐ-DHKHMT2_K6 e xi c â t ! Hệ điều hành thời gian thực: Vấn đề lập lịch (Scheduler) L N I- T Đ U U V T u 1.1 1.1.1 ác khái niệm hệ nhúng 1.1.2 1.1.3 ch s ác c i m 1.1.4 i o iện 1.1.5 i n Trúc 1.1.6 1.1.7 Thi t ngo i vi ng c phát tri n 10 1.1.8 tin c 1.2 nh v c ng 1.2.1 11 ng c hệ nhúng 12 Xu th phát tri n s t ng trường c hệ thống 12 ấu trúc ph n c ng hệ nhúng 14 1.3 1.3.1 ác thành ph n ki n trúc c n 14 1.3.2 1.3.3 n v x lý trung tâm PU 14 Xung nh p tr ng thái tin hiệu 16 1.3.4 B nhớ 18 1.3.5 go i vi 20 TM II UV Đ U N T NT 22 2.1 hái niệm hệ thống th ng tin thời gi n th c 22 2.2 2.3 c th 22 hiệm v 23 2.4 t số v thời gi n th c 24 2.5 Thời gi n th c c ng ( r Re l-time) thời gi n th c mềm ( Soft Real-Time): 24 III p l ch thời gi n th c – Scheduling 26 3.1 Vấn ề l p l ch 26 3.2 3.3 ác phư ng pháp l p l ch ph i n 30 p l ch c chu k 32 3.4 p l ch kh ng theo chu k 33 Nhóm 23_LTCĐ-DHKHMT2_K6 Hệ điều hành thời gian thực: Vấn đề lập lịch (Scheduler) 3.5 p l ch theo ki u chi m qu ền th c thi l p l ch kh ng c chi m qu ền th c thi 34 3.6 ác ti u ch ánh giá l p l ch 36 3.7 ánh giá thu t toán l p l ch 37 3.8 ác k thu t l p l ch ph i n 37 IV T UT 43 Nhóm 23_LTCĐ-DHKHMT2_K6 Hệ điều hành thời gian thực: Vấn đề lập lịch (Scheduler) I- T U V T u 1.1 Kỷ ằ N 4004 ở 1972 B ở P K ẳ ặ ị è ị V ị ằ ớ Đ ẩ ị MP3 è ỏ ặ ặ Xé ị ỏ ị ặ ớ ằ 1.1.1 ác khái niệm hệ nhúng Nhóm 23_LTCĐ-DHKHMT2_K6 Hệ điều hành thời gian thực: Vấn đề lập lịch (Scheduler) ệ nhúng? T ỳ ị / ẩ ị ị V ị ị ặ ễ R ị ẹ V ị ỏ ẩ ễ ặ T ng V ị ị ổ ặ N ( - ) ( f -time) Thời gi n th c c ng : ỏ N ẽ ị ặ ị V ổ Thời gi n th c mềm: ỏ Nhóm 23_LTCĐ-DHKHMT2_K6 Hệ điều hành thời gian thực: Vấn đề lập lịch (Scheduler) ằ é T ằ Đ V ớ ặ Hình 1.1: P 1.1.2 ch s (M ) S MT ớ 1961 N -17 K 1996 -17 T Nhóm 23_LTCĐ-DHKHMT2_K6 M ớ M Hệ điều hành thời gian thực: Vấn đề lập lịch (Scheduler) T 1960 ẽ B 4004 ỏ phát minh T V ỗ 1970 V 80 ỹ Vớ Đ ổ ị V ặ V tr 80 ổ ị : ặ k 1.1.3 ác c i m ặ : • M Nhóm 23_LTCĐ-DHKHMT2_K6 ỏ Hệ điều hành thời gian thực: Vấn đề lập lịch (Scheduler) ; ỏ ặ ặ ẽ é •M ằ ị • P f ROM ổ ặ P : ớ ớf ặ ỏ S ẽ é ặ 1.1.4 i o iện ( ) ặ ị ị ỏ ặ Đ è LE ị è ị ặ é ; ổ (j ) S ẽ Đ Nhóm 23_LTCĐ-DHKHMT2_K6 giúp Hệ điều hành thời gian thực: Vấn đề lập lịch (Scheduler) ị Đ ị ặ ễ V router ị i n Trúc 1.1.5 : ị ằ PU RM M PS f /68 P P 86 P 8051, Atmel AVR, Renesas H8, SH, V850, FR-V, M32R, Z80, Z8 Đ ị ị ỏ P /104 N P /104++ OS L N BS QNX V W (S – SoC), ( specific integrated circuit – ặ S ) S - PU M P (f ) - 1.1.6 Thi t PU ngo i vi Nhóm 23_LTCĐ-DHKHMT2_K6 Hệ điều hành thời gian thực: Vấn đề lập lịch (Scheduler) ị : • S f (S ): RS-232, RS-422, RS- 485 • S S f : JT SP SSC ESSI •U S •N : •B ị B (USB) N : PLL( ) • O: L W / T P U eral Purpose Input/Output (GPIO) ng c phát tri n 1.1.7 T ẩ ị ( ) ( ị ( ) ặ ) T : •B ặ • T •Đ ị ( ặ R ) M ỏ ỏ ặ M é Nhóm 23_LTCĐ-DHKHMT2_K6 10 Hệ điều hành thời gian thực: Vấn đề lập lịch (Scheduler) o Đ (R ): ằ có n M Đ K (B ) ằ T ( ẽ ) (R ị Đ ) Sẵ u tiên cao h Sẵ (preemption) o Sẵ (R ): ẵ ẽ T Đ - K (B ẽ ): ị ang nh 1: M Nhóm 23_LTCĐ-DHKHMT2_K6 29 Hệ điều hành thời gian thực: Vấn đề lập lịch (Scheduler) ác phư ng pháp l p l ch ph 3.2 i n T ị ỳ L ị ỳ non – preemptive: P ỗ L ị ị preemptive: P – ẽ ị ị Nhóm 23_LTCĐ-DHKHMT2_K6 j é 30 Hệ điều hành thời gian thực: Vấn đề lập lịch (Scheduler) L ị ff / :V ị ặ ( ) ị ị V ị : o T ằ o K N : o K o Đ ổ ị ỏ ị M ị ị L ị / ỏ :B ị S ị ị ổ ị Nhóm 23_LTCĐ-DHKHMT2_K6 31 Hệ điều hành thời gian thực: Vấn đề lập lịch (Scheduler) p l ch c chu k 3.3 ỳ ph ng pháp T ễ () ặ ng t ị ị ễ th ằ thông ồ( ) 41 () ỳ ễ Trong tr clock tick N tick nh ỏh ẽ T ỗ () nh ẽ ị khoá ẽ , T ỗ tick Đ Nhóm 23_LTCĐ-DHKHMT2_K6 32 Hệ điều hành thời gian thực: Vấn đề lập lịch (Scheduler) M hình 4.2b Trong tr ị ẽ nh () ỳ ẽ W T N () ẽ khóa 2: ỳ p l ch kh ng theo chu k 3.4 M M n ặ ADC T Nhóm 23_LTCĐ-DHKHMT2_K6 ng trình ị 33 Hệ điều hành thời gian thực: Vấn đề lập lịch (Scheduler) ị p l ch theo ki u chi m qu ền th c thi l p l ch kh ng 3.5 c chi m qu ền th c thi ị Có ph : Xé : n u ị u tiên cao h n khoá 43 ị u tiên Ch SR K u tiên cao h Sẵ SR sàng Tuy nhiên, ẽ t ị ị khoá 43 u S , ớ tiên Đ ị u y ị ị ị B ng trình u tiên cao ang Sẵ ị M ằ “ khác ” ằ : Windows tr L Nhóm 23_LTCĐ-DHKHMT2_K6 ặ 34 Hệ điều hành thời gian thực: Vấn đề lập lịch (Scheduler) L ẩ ở oán ẽ õ Đ y : n ng T ẳ nh Mặ ng ẩ 3: Hai ph ng án khác u tiên Trong ph ẽ có ị ặ ị khoá (block) ặ ( ) S Nhóm 23_LTCĐ-DHKHMT2_K6 ỗ: 35 Hệ điều hành thời gian thực: Vấn đề lập lịch (Scheduler) tr ẽ Sẵ Sẵ Xét tr A, B ( ) T u tiên nh A T K ( A nh Sẵ ) B ẽ nh sau: BCA ẽ Khi B nh ẽ thành: CAB ẽ Nh n Sẵ ẽ ị khoá N quy ị ặ ỗ T ẽ , ị V ỏ ẽ lý lâu Do ị é ẽ có l ằ T ỳ é ặ Xé ặ ặ 3.6 ác ti u ch ánh giá l p l ch Nhóm 23_LTCĐ-DHKHMT2_K6 36 Hệ điều hành thời gian thực: Vấn đề lập lịch (Scheduler) o K PU ( PU PU – 0% o T ): T 100% ( ): L ị o T ( ): ằ (T ị ổ ) PU ổ T ( ): T ( o Th o T T –T ): L T T 3.7 ánh giá thu t toán l p l ch 3.8 ác k thu t l p l ch ph Nhóm 23_LTCĐ-DHKHMT2_K6 i n 37 Hệ điều hành thời gian thực: Vấn đề lập lịch (Scheduler) FCFS: T o ị ớ ị ễ T ỗ ổ ễ u i m: hư c i m: ( V ) 1: 24 3 P1 P2 P3 P1 P2 P3 K : P1 P P3 P3 24 T : P1 T : (0+24+27)/3 V 33 P2 24 27 2: Xé 17 P3 P2 P1 B Nhóm 23_LTCĐ-DHKHMT2_K6 38 Hệ điều hành thời gian thực: Vấn đề lập lịch (Scheduler) P3 P P1 33 T 6ms, P3 : P3 P2 T : (0+6+9)/3 T o Shortest Job First – SJF: T ị ẽ ẽ V ặ ị Đ ị o Rate monotonic (RM): P ị RM ẽ P : T ỳ T T ớ ổ Nhóm 23_LTCĐ-DHKHMT2_K6 39 Hệ điều hành thời gian thực: Vấn đề lập lịch (Scheduler) T ổ ỏ ỏ T RM ỳ ỳ T ổ ị RM ẽ T ỏ ị ẽ ỳ é RM ỗ Earliest – deadline – first (EDF): N o ị T ẽ ẽ Ư ổ ị 100% ỗ ỳ ổ ỳ gian E ỳ ổ ỳ V ị ị ỏ T E ặ 100% ẽ T ị ỗ Nhóm 23_LTCĐ-DHKHMT2_K6 ặ 40 Hệ điều hành thời gian thực: Vấn đề lập lịch (Scheduler) ị o Minimum Laxity first (MLF): ẽ Đ ị ễ ằ o Round Robin: Đ ặ ị Mỗ / ị ặ ỏ ỏ ằ T ỏ ổ ỗ ỗ RR T ( ) tquantum: Mỗ ằ PU quantum, sau RR N quantum N quantum N quantum ỏ quantum RR CPU ỏ( ) RR sharing N quantum = ∞ RR Nhóm 23_LTCĐ-DHKHMT2_K6 S 41 Hệ điều hành thời gian thực: Vấn đề lập lịch (Scheduler) V : 24 P1 P2 P3 P1 P2 P3 quantum = 4ms RR T P1: 0+(11-4)+(17-15)=9ms P2: 4ms P3: 7+(15-11)=11ms T ị Nhóm 23_LTCĐ-DHKHMT2_K6 : : (9+4+11)/3 42 Hệ điều hành thời gian thực: Vấn đề lập lịch (Scheduler) IV T UT [1] http://luanvan.co/luan-van/he-dieu-khien-nhung-31767/ [2] http://doan.edu.vn/do-an/bai-giang-lap-lich-bieu-cpu- cpu-scheduling-23389/ [3] http://www.dientuvietnam.net/forums/he-thong-nhung- 75/he-thoi-gian-thuc-va-dieu-khien-thoi-gian-thuc-377/ [4] http://www.st.com/st-web- ui/static/active/en/resource/technical/document/datasheet/CD002 51732.pdf [5] http://arm.vn/ [6] http://www.freertos.org/ [7] http://dientuvietnam.net Nhóm 23_LTCĐ-DHKHMT2_K6 43 [...]... 23_LTCĐ-DHKHMT2_K6 24 Hệ điều hành thời gian thực: Vấn đề lập lịch (Scheduler) Hình 2 1: T T : o M T : o M é ẽ ở Nhóm 23_LTCĐ-DHKHMT2_K6 25 Hệ điều hành thời gian thực: Vấn đề lập lịch (Scheduler) p l ch trong thời gi n th c – Scheduling III 3.1 T Vấn ề l p l ch ị Đ ẻ L ị ỏ ằ ỏ ớ ỏ L ị é ỗ L ị – ồ ớ ị ớ ị / ớ ị ồ ỳ : Nhóm 23_LTCĐ-DHKHMT2_K6 26 Hệ điều hành thời gian thực: Vấn đề lập lịch (Scheduler) ... ị ị 20 Hệ điều hành thời gian thực: Vấn đề lập lịch (Scheduler) ị é Đ Nhóm 23_LTCĐ-DHKHMT2_K6 21 Hệ điều hành thời gian thực: Vấn đề lập lịch (Scheduler) II T UV U T C hái niệm hệ thống th ng tin thời gi n th c 2.1 T t ô T ệ t ố ti t ời ia t ực ớ ớ M ễ ( ị ẽ ị ) ớ ở hông : ( ) S ỗ c th 2.2 T ở ị : ớ ớ Nhóm 23_LTCĐ-DHKHMT2_K6 V 22 Hệ điều hành thời gian thực: Vấn đề lập lịch (Scheduler) ị ổ T ị : ị... 29 Hệ điều hành thời gian thực: Vấn đề lập lịch (Scheduler) ác phư ng pháp l p l ch ph 3.2 i n T ị ỳ L ị ỳ non – preemptive: P ỗ L ị ị preemptive: P – ẽ ị ị Nhóm 23_LTCĐ-DHKHMT2_K6 j é 30 Hệ điều hành thời gian thực: Vấn đề lập lịch (Scheduler) L ị ff / :V ị ặ ( ) ị ị V ị ớ : o T ằ o K ớ N : o K o Đ ổ ị ỏ ị M ị ị L ị / ỏ :B ị ở S ồ ị ị ớ ổ ị Nhóm 23_LTCĐ-DHKHMT2_K6 31 Hệ điều hành thời gian thực: Vấn. .. 18 Hệ điều hành thời gian thực: Vấn đề lập lịch (Scheduler) K ớ ớV N T N Đ é ROM R M ớ Hình 1.7: K K Neumann và Havard / ROM ổ R M ớ ở ( ặ ớ é ) Ư ổ ớ ớ N ớ ồ Nhóm 23_LTCĐ-DHKHMT2_K6 ồ 19 Hệ điều hành thời gian thực: Vấn đề lập lịch (Scheduler) ị Hình 1.8: N B ớ –PROM (Programmable Read Only Memory) V ớ PROM ẽ go i vi 1.3.5 B ớ ị / ị / ị é ỗ ặ ổ ị ỳ M ị Nhóm 23_LTCĐ-DHKHMT2_K6 ị ị 20 Hệ điều hành thời. .. 23_LTCĐ-DHKHMT2_K6 t ng trường c hệ thống 12 Hệ điều hành thời gian thực: Vấn đề lập lịch (Scheduler) V ễ ớ ị/ ớ ặ Lớ ỏ ớ f tính toán ít h ặ ồ 8 ở – 16 ặ 32 ỗ toán Lớ ớ ẽ ớ ớ ớ Lớ ớ ớ ỏ T ỏ ồ 8 16 32 Đ ằ Nhóm 23_LTCĐ-DHKHMT2_K6 ỏ 13 Hệ điều hành thời gian thực: Vấn đề lập lịch (Scheduler) Vớ ỗ ặ è K ẩ ặ R è ổ (S K E ) ỗ ớ ằ Tro ỏ é Đ ổ SP S 1.3 PL ấu trúc ph n c ng hệ nhúng 1.3.1 ác thành ph n ki n trúc c Hình... Nhóm 23_LTCĐ-DHKHMT2_K6 VXL 16 Hệ điều hành thời gian thực: Vấn đề lập lịch (Scheduler) M ồ ị ỗ ỳ ỗ N é ị é ở T ị ặ ỹ ặ M ị ỏ ặ ồ T T T T Tễ Đ T : ặ ễ (TR -State) ị Thời gi n tăng ho c gi m Hình 1.4: M T 20% 80% Nhóm 23_LTCĐ-DHKHMT2_K6 T 17 Hệ điều hành thời gian thực: Vấn đề lập lịch (Scheduler) 80% 20% Thời gi n trễ l n tru ền L ổ ổ ở Đặ ễ Hình 1.5: M ớ Thời gi n thi p l p và lưu.. .Hệ điều hành thời gian thực: Vấn đề lập lịch (Scheduler) • ị ( ) ị •M ặ ẵ ở ặ ổ NU Đ ớ P tin c 1.1.8 ằ ỗ ẽ ỳ ị ỗ ặ ặ ỗ V ẩ N ổ ị ặ V ị ặ ằ ỗ ỹ – ặ ẽ ị ị ở M : • ở ớ è Nhóm 23_LTCĐ-DHKHMT2_K6 11 Hệ điều hành thời gian thực: Vấn đề lập lịch (Scheduler) ặ n • ị ị •N ẽ ổ ị nh v c ng 1.2 M ng c ẩ hệ nhúng ị ớ : ị T T ị ẩ Tòa nhà thông minh... 23_LTCĐ-DHKHMT2_K6 ặ 34 Hệ điều hành thời gian thực: Vấn đề lập lịch (Scheduler) L ẩ ở ở oán ẽ õ Đ y chính là : ớ n ng T ẳ nh Mặ ng ẩ 3 3: Hai ph ng án khác u tiên Trong ph ẽ có ị ặ ị khoá (block) ặ ( ) S Nhóm 23_LTCĐ-DHKHMT2_K6 ở ỗ: 35 Hệ điều hành thời gian thực: Vấn đề lập lịch (Scheduler) 2 trong tr ẽ ở Sẵ Sẵ Xét tr là A, B ( ) 3 T u tiên nh A T K ( A nh Sẵ ) B ở ẽ nh sau: BCA ẽ Khi B nh ẽ thành: CAB ẽ Nh... Hình 1.2: K 1.3.2 n VXL/VĐK n v x lý trung tâm PU Nhóm 23_LTCĐ-DHKHMT2_K6 14 Hệ điều hành thời gian thực: Vấn đề lập lịch (Scheduler) N ớ PU ( õ P VX U ị ị ) é P PU ị ) N (ALU- ỗ LU ( ) ( T ) ỏ ( ị )T T ỏ T ẽ ( ) T ị N (M T ị ớ ỏ ị ị ị ) / (P Counter) Nhóm 23_LTCĐ-DHKHMT2_K6 15 Hệ điều hành thời gian thực: Vấn đề lập lịch (Scheduler) M PU T ị ẽ PU PU Mỗ ỏ ớ ị ẽ ẽ P ị ằ T ( ị ằ ớ ) T LU ặ é LU... Nhóm 23_LTCĐ-DHKHMT2_K6 27 Hệ điều hành thời gian thực: Vấn đề lập lịch (Scheduler) T : o T o T o T o K 1 9 2 : 1 : f1 12 0 2 18 f2 6 28 (lateness) Lt = fi – di: L1 = -4, L2 = 1 o K ỗ/ é ( )X – ai – Ci: X1= 13, X2 = 11 ( ) ớ ồ : o M o M ị ị ồ ( ) ớ ớ B ị ) T é ẳ ị ằ ang ( nh các kernel 41 thông th T Nhóm 23_LTCĐ-DHKHMT2_K6 ra : 28 Hệ điều hành thời gian thực: Vấn đề lập lịch (Scheduler) o Đ (R ): ằ có