In the case of a computer with a single CPU, only one task is said to be running at any point in time, meaning that the CPU is actively executing instructions for that task.. Multitask
Trang 1Ngô Khánh Hi u
T ng quan v h tin h c th i gian th c(1/5)
- H tin h c th i gian th c nh n các thông tin v tr ng thái c a quá trình bên ngoài, x
lý các d li u, và tùy thu c vào k t qu mà đ a ra "quy t đ nh" tác đ ng đ n môi
tr ng bên ngoài trong đi u ki n các ràng bu c nghiêm ng t v th i gian nh m b o
đ m tr ng thái n đ nh c a quá trình
- M t ch ng trình th i gian th c không có các đ c tính th ng th y các ch ng
trình tu n t :
⇒ không có s ràng bu c nào gi a k t qu tính toán v i th i gian tính toán,
⇒ có kh n ng tái s d ng (comportement reproductible)
H th i gian th c là h môi tr ng
song song
Trang 2Ngô Khánh Hi u
theo các cách sau:
(1) H tin h c hình thành t nhi u máy tính
(2) H tin h c ch g m m t máy tính nh ng có nhi u vi x lý (processeurs)
(3) H tin h c ch g m m t máy tính v i m t vi x lý (mono-processeur)
nh ng có kh n ng qu n lý th i gian tính toán theo "kho ng th i gian"
xác đ nh (tranches de temps) Khái ni m "song song" n u đ c hi u
theo ngh a này còn đ c g i là "pseudo-parallélisme"
- M t vòng l p: ng m i l n l p s th c hi n vi c tính toán m t ít c a "tâche 1", m t ít c a
"tâche 2",… và c th cho đ n khi các "tâches" k t thúc vi c tính toán.
- Chia m t ch ng trình tin h c th i gian th c làm hai ph n: ph n I liên quan đ n vi c thi t k
(conception) các "tâches" cho ch ng trình; ph n II gi i quy t v n đ "parallélisme" hay
"pseudo-parallélisme" gi a các "tâches".
T ng quan v h tin h c th i gian th c(3/5)
- Phân lo i các h th ng "song song" (Système parallèle):
(2) SIMD (Single Instruction Multiple Data): cùng th c hi n chung m t l nh
(instruction) nh ng m i m t "ouvrier" s tính các ph n khác nhau hay các
d li u khác nhau
(1) D ng dãy tuy n tính: h th ng song song "pipeline" (d ng c u trúc c a
"processeur" hay "microprocesseur" cho phép th c hi n cùng m t lúc
nhi u l nh (instructions)
(3) MIMD (Multiple Instruction Multiple Data): cho phép cùng m t lúc th c
hi n nhi u "tâches" khác nhau (l u ý: m t "tâche" có th g i m t hay
nhi u l nh)
(4) SPMD (Single Program Multiple Data): là d ng đ c bi t c a MIMD, m i
th i đi m trong quá trình th c hi n m t ch ng trình (program), m t
"tâche" không th đ c tính hai hay nhi u n i khác nhau (l u ý: m t
chu ng trình là t p h p c a m t hay nhi u "tâche")
Trang 3Ngô Khánh Hi u
T ng quan v h tin h c th i gian th c(4/5)
- Phân lo i t ng quát các h th ng tin h c (Systèmes informatiques):
(2) Các h t ng tác (Systèmes interactifs): là h đ c hi u theo ngh a d li u
đ c t o ra b i s tác đ ng v i "môi tr ng" b ng nhi u hính th c khác nhau
nh : bàn phím, file d li u, m ng, chu t, c tính v th i gian trong tr ng
h p này không có nh h ng nào khác ngoài c m giác không tho i mái khi làm
vi c (aspect confort de travail) hay ch t l ng ph c v (qualité de service)
(1) Các h bi n đ i (Systèmes transformationnels): là các h s d ng các d li u
đ u vào (input) đ c cung c p lúc khai báo ban đ u, sau đó x lý các d li u
đó đ xu t ra các d li u đ u ra (output) mà không có b t c ràng bu c nào v
th i gian
(3) Các h đi u khi n hay ph n ng (Systèmes de contrôle-commande ou réactifs):
là các h có m i quan h v i môi tr ng th c t thông qua các d li u đ u vào,
tuy nhiên khác v i h t ng tác, h đi u khi n hay ph n ng có s ràng bu c
b t bu c v th i gian d i các hình th c nh : th i gian ph n ng (temps de
réaction), h n th i gian ph n hoàn thành (temps d’une échéance à respecter),
T ng quan v h tin h c th i gian th c(5/5)
Trang 4Ngô Khánh Hi u
(specifications) riêng c a h nh sau:
(1) Các h th i gian th c (Systèmes temps réel): là h đi u khi n mà yêu c u ng
x "đúng/chính xác" (exactitude) c a các ng d ng c a nó không nh ng ch
ph thu c vào k t qu (résultat), mà còn ph thu c vào th i gian mà k t qu đó
đ c t o ra Và n u các ràng bu c v th i gian (contraintes temporelles) c a
ng d ng không đ c tuân th , ta nói h b sai sót/l i (défaillance du système)
D a vào các ràng bu c th i gian này ta có th chia h th i gian th c làm 2 lo i:
1.a ràng bu c th i gian l ng/t ng đ i (contraintes temporelles relatives ou
lâches): là h có th ch u đ c/b qua (tolérance) m t s l i xác đ nh v
th i gian n u phát sinh trong quá trình v n hành (ví d : trò ch i đi n t ,
các ng d ng v nghe nhìn, đi n tho i di đ ng,…)
1.b ràng bu c th i gian ch t/nghiêm ng t (contraintes temporelles strictes ou
dures): là h không ch p nh n/b qua b t k l i v th i gian nào phát sinh
trong quá trình v n hành (ví d : thi t b đi n t hàng không, tàu v tr , xe
h i, h th ng đ ng s t…)
Phân lo i h đi u khi n (Système de contrôle-commande ou réactif)(2/2)
(2) Các h đi u khi n "embarqué" (Systèmes de contrôle-commande embarqué):
đ c hi u đ n gi n là h đ c tích h p trên các thi t b hay các h th ng khác
đ đi u khi n quá trình ho t đ ng c a thi t b hay h th ng đó
(3) Các h đi u khi n "dédié" (Systèmes de contrôle-commande dédié): đ c hi u
đ n gi n là các h "c ng" ho c "m m" (architectures matériels ou logiciels)
đ c thi t k dành riêng cho m t ng d ng c th (ví d : h t nhân hay lõi
(noyau) c a m t microprocesseur, vi x lý (processeur), )
(4) Các h đi u khi n "distribué" (Systèmes de contrôle-commande distribué):
đ c hi u đ n gi n là m t c u trúc ph n "c ng" (l’architecture matériel) đ c
hình thành t nhi u vi x lý (processeurs) liên k t v i nhau thông qua m t
"bus" hay m t h th ng m ng (réseau)
Trang 5Ngô Khánh Hi u
Các đ c tính c b n c a h đi u khi n(1/6)
M i quan h t ng h gi a h
đi u khi n v i môi tr ng bên
ngoài mà nó đi u khi n có th
phân chia thành hai ph n sau:
ph n "quan sát" (observations) thông qua các c m bi n (sensors), cho phép thu
nh n các thông tin d i hình th c các ng t (interruptions, information tout ou
rien), ho c các giá tr đo (mesures, information continue) t quá trình th c t mà
h đi u khi n
ph n "hành đ ng" (actions) đ c th c hi n nh các c c u ch p hành
(actuators), cho phép ph n ng l i quá trình th c t mà h đi u khi n d i hình
th c các l nh (commandes) làm thay đ i tr ng thái hi n hành c a h th ng, ho c
Trang 6Ngô Khánh Hi u
(1) r t đa d ng các thi t b đ u vào và đ u ra (dispositifs d’entrées/sorties):
d li u đ u vào yêu c u, đ c cung c p b i các c m bi n, và các d li u
đ u ra cung c p cho các c c u ch p hành có các ki u d li u (types) r t
đa d ng (liên t c, r i r c, "tout ou rien", ho c "analogique")
(2) có kh n ng tính toán song song (comportements concurrents): t p h p
t t c các d li u th c t t bên ngoài, và "m ng" (le réseau) cho phép
nh p các d li u d ng tin nh n (messages) không đ c đ ng b (ne sont
pas synchronisés) so v i s phát tri n c a chúng i u này d n đ n, h
th ng tin h c ph i có kh n ng ch p nh n nh ng s khác bi t đ ng th i
c a các tham s (variations simultanées des paramètres)
Các đ c tính c b n c a h đi u khi n(4/6)
Các đ c tính c b n c a h đi u khi n là: (ti p theo)
(3) tuân th các ràng bu c v th i gian (contraintes temporelles): đ c tính
tr c đó c a h đi u khi n đ t ra cho h th ng tin h c m t m t ph i có m t
kh n ng "ph n ng" (réactivité) đ đ xét h t t t c các ng x đ ng th i
(comportements concurrents), m t khác ph i tr l i các ng x đó b ng
cách t o ra các l nh trong tuân th m t gi i h n th i gian (un délai) t ng
ng/phù h p v i tính đ ng h c c a h th ng (la dynamique du système)
(4) s ch c ch n trong ho t đ ng (sureté de fonctionnement): các h đi u
khi n th ng đ c s d ng trong các ng d ng mà đó yêu c u m c
đ r t quan tr ng v s an toàn vì lý do chi phí (cout) ho c tính m ng c a
con ng i (vies humaines) đáp ng đ c yêu c u này, r t c n thi t
ph i b o đ m tính ch c ch n trong ho t đ ng c a các h đi u khi n thông
qua các bi n pháp nh phát tri n "ch c ch n", tests, các ph ng pháp
"formelles", các d đoán (prévisibilité), déterminisme, tolérance aux
fautes, redondance,…
Trang 7Ngô Khánh Hi u
Các đ c tính c b n c a h đi u khi n(5/6)
So sánh tính đ ng h c c a các ng d ng khác nhau c a h đi u khi n
M t vài ng d ng c a h đi u khi n(6/6)
Robot s n xu t: m t robot, th c hi n m t ho t đ ng c th trong m t chu i s n
xu t, ph i hoàn thành công vi c c a nó trong kho ng th i gian c đ nh xác đ nh
b i dây chuy n ch t o N u th i gian này quá s m ho c quá tr s n ph m ch
t o s b phá h y ho c làm h h ng d n đ n các thi t h i v kinh t ho c con
i n tho i di đ ng: h th ng đi u khi n ph i có kh n ng hoàn thành nhi u ch c
n ng mà trong đó m t s có ràng bu c v th i gian cao đ có ch t l ng ph c v
t t (QoS, Quality of Service) Ch c n ng đ u tiên là truy n và nh n tín hi u gi ng
nói (577 µs gi ng nói đ c phát cho m i 4.6 ms, và 577 µs gi ng nói đ c nh n
cho m i 4.6 ms các kho ng cách khác nhau) Vi v y c n ph i
Trang 8Ngô Khánh Hi u
ng x đ ng th i c a các tín hi u đ c th hi n d i d ng các "événements" và các
đ i l ng th c bên ngoài (grandeurs physiques externes) d n đ n mô t /th hi n môi
tr ng đi u khi n nh là m t h th ng b t bu c song song
C u trúc ph n m m có th đáp ng t t nh t đ tr l i các ng x song song c a
quá trình đi u khi n bên ngoài (comportement parallèle du procédé externe) là c u
trúc "multitâche" (multi-task hay multiprogrammation).
C u trúc c a các ng d ng c a h đi u khi n(2/16)
C u trúc ph n m m (Architecture logicielle) (2/14)
“In computing, multitasking is a method by which multiple tasks, also known as
processes, share common processing resources such as a CPU In the case of a
computer with a single CPU, only one task is said to be running at any point in time,
meaning that the CPU is actively executing instructions for that task.
Multitasking solves the problem by scheduling which task may be the one running at
any given time, and when another waiting task gets a turn The act of reassigning a
CPU from one task to another one is called a context switch.
When context switches occur frequently enough the illusion of parallelism is
achieved Even on computers with more than one CPU (called multiprocessor
machines), multitasking allows many more tasks to be run than there are CPUs.”
(Trích ngu n Wikipedia)
Trang 9Ngô Khánh Hi u
C u trúc c a các ng d ng c a h đi u khi n(3/16)
C u trúc ph n m m (Architecture logicielle) (3/14)
“Operating systems may adopt one of many different scheduling strategies, which
generally fall into the following categories:
- In multiprogramming systems, the running task keeps running until it performs an
operation that requires waiting for an external event (e.g reading from a tape) or
until the computer's scheduler forcibly swaps the running task out of the CPU
Multiprogramming systems are designed to maximize CPU usage
- In time-sharing systems, the running task is required to relinquish the CPU, either
voluntarily or by an external event such as a hardware interrupt Time sharing
systems are designed to allow several programs to execute apparently
simultaneously
- In real-time systems, some waiting tasks are guaranteed to be given the CPU
when an external event occurs Real time systems are designed to control
mechanical devices such as industrial robots, which require timely processing.”
(Trích ngu n Wikipedia)
C u trúc c a các ng d ng c a h đi u khi n(4/16)
C u trúc ph n m m (Architecture logicielle) (4/14)
Trang 10Ngô Khánh Hi u
(1) “tâches" nh p/xu t (tâches d’entrées/sorties): đây là các "tâches" cho phép ti p
c n v i các d li u bên ngoài thông qua các "cartes" giao ti p nh p/xu t, và các
c m bi n (capteurs), các c c u ch p hành (actionneurs) liên k t tr c ti p v i
quá trình đi u khi n Các "tâches" này có th đ c kích ho t m t cách đ u đ n
(façon régulières) ho c b ng "ng t" (par interruption)
(2) “tâches" x lý/tính toán (tâches de traitement): các "tâches" này t o nên ph n
trung tâm c a ng d ng Nó tích h p các ph ng pháp x lý tín hi u
(traitements de signaux) nh phân tích ph , s t ng đ ng, x lý hình nh,…;
các quy lu t đi u khi n (lois de commande) nh đi u khi n có chu k theo th i
gian, đi u khi n ki u "tout ou rien", đi u khi n PID,… Trong khuôn kh c a môn
h c này, ta có th xem các "tâches" x lý/tính toán nh là các h p đen mà đó
ph n x lý/tính toán c a t ng "tâche" s là ph m vi c a các l nh v c liên quan
nh x lý tín hi u, x lý hình nh, đi u khi n t đ ng,…
C u trúc c a các ng d ng c a h đi u khi n(6/16)
C u trúc ph n m m (Architecture logicielle) (6/14)
(3) “tâches" qu n lý giao ti p ng i s d ng (tâches de gestion de l’interface
utilisateur): đây là các "tâches" cho phép hi n th tr ng thái c a quá trình đi u
khi n, c ng nh vi c giao ti p v i ng i s d ng Theo đó, ng i đi u khi n có
th hi u ch nh các d li u đi u khi n ho c thay đ i các l nh đi u khi n Các
"tâches" này có th r t ph c t p và đ t v m t th i gian tính toán n u giao di n
đi u khi n có kích th c "quan tr ng" (de taille importante) nh b ng đi u khi n
trong bu ng lái máy bay (tableau de bord) ho c thu c ki u giao đi n đ h a nh
hi n th 3D,…
(4) “tâches" thông tin liên l c (tâches de communications): các "tâches" này đ c
t o ra đ dành cho vi c qu n lý vi c g i và nh n các "messages" trong m t
ho c nhi u m ng ho c thi t b k t n i (réseaux ou bus de terrain) N u các
"tâches" d ng này xu t hi n trong ng d ng c a h đi u khi n thì ng d ng
đ c g i là "phân ph i" (distribuée ou répartie)
Trang 11Ngô Khánh Hi u
C u trúc c a các ng d ng c a h đi u khi n(7/16)
C u trúc ph n m m (Architecture logicielle) (7/14)
(5) “tâches" l u tr (tâches de sauvegarde): đây là các "tâches" cho phép l u tr
tr ng thái c a h th ng (l’état du système) các th i đi m c đ nh Vi c l u tr
này có th đ c s d ng sau đó (a posteriori) đ phân tích vi c v n hành c a
ng d ng ho c ngay sau m t s l y l i tr ng thái v n hành m t giai đo n
tr c đó (une reprise d’exécution à une étape précédente)
Sau giaiđo n phân tích (l’analyse) và thi t k (la conception) ng d ng, ta thu
đ c t p h p các "tâches" hay các "activités" có quan h l n nhau đ th c
hi n vi c đi u khi n c a quá trình Các "tâches" này thu c v các nhóm khác
nhau nh li t kê trên Cách th c phân chia theo ch c n ng này có th đ c
S đ th hi n c u trúc "multitâche" c a m t ng d ng c a h đi u khi n
Các "tâches" c u thành lên ng d ng c a h đi u khi n không ph i là các th c th
ho t đ ng đ c l p M t s "tâches" đ c k t n i v i bên ngoài đ nh p/xu t; m t s
"tâches" có th đ c liên k t v i nhau trong quá trình v n hành c a ng d ng
Trang 12Ngô Khánh Hi u
- Synchronisation: đây là ki u k t n i gi a hai hay nhi u "tâches" đ th hi n m t
m i quan h tr c sau (une relation de précédence d’exécution) gi a chúng
- Communication: đây là ki u k t n i gi a hai hay nhi u "tâches" đ th hi n m t
m i quan h tr c sau nh ng có b sung thêm s chuy n d li u (le transfert de
données) gi a chúng
- Partage de ressources: đây là ki u k t n i gi a hai hay nhi u "tâches" cùng chia
s v i nhau các ngu n nghiêm ng t (ressources critiques) Các ngu n nghiêm
ng t là các ngu n mà s ti p c n chúng b i hai hay nhi u "tâches" cùng m t lúc
ho c không th th c hi n đ c, ho c không th đ có m t s v n hành đúng
C u trúc c a các ng d ng c a h đi u khi n(10/16)
C u trúc ph n m m (Architecture logicielle) (10/14)
Vai trò chính y u c a h tin h c là đi u ph i s đan xen (l’enchainement) và đ ng th i
(la concurrence) c a các "tâches" nh m t i u th i gian chi m d ng vi x lý, ch c n ng
này th ng đ c g i là "ordonnancement" (schedulability)
- Mô hình “synchrone”: mô hình này s nh n th c th i đi m kích ho t c a t t c
d ki n đi u khi n (l’occurrence de tout événement) b i h th ng b tr b i th i
gian tính toán c a "tâche" hi n hành Hay nói cách khác, các "tâches" c a mô hình
"synchrone" là các "tâches" không th ng t (non interruptibles ou non préemptibles)
Ta có th phân chia mô hình v n hành c a các h đi u khi n thành hai mô hình sau: mô
hình "synchrone" và mô hình "asynchrone"
- Mô hình “asynchrone”: mô hình này s nh n th c th i đi m kích ho t c a t t c
d ki n đi u khi n (l’occurrence de tout événement) đ c ghi nh n ngay l p t c b i
h th ng đ cân nh c tính ch t kh n (urgence) hay tính ch t quan tr ng c a chúng
Hay nói cách khác, các "tâches" c a mô hình "asynchrone" là các "tâches" có th
ng t (interruptibles ou préemptibles)
Trang 13Ngô Khánh Hi u
C u trúc c a các ng d ng c a h đi u khi n(11/16)
C u trúc ph n m m (Architecture logicielle) (11/14)
Mô hình "synchrone" c a m t ng d ng đi u khi n
Ph ng pháp phân tích "ordonnancement" trong mô hình "synchrone" đ c g i là
ph ng pháp phân tích "ordonnancement hors ligne".
C u trúc c a các ng d ng c a h đi u khi n(12/16)
C u trúc ph n m m (Architecture logicielle) (12/14)
Mô hình "asynchrone" c a m t ng d ng đi u khi n
Ph ng pháp phân tích "ordonnancement" trong mô hình "asynchrone" đ c g i là
ph ng pháp phân tích "ordonnancement en ligne".
Trang 14Ngô Khánh Hi u
C u trúc c a
ng d ng:
tâches và noyau temps réel
Trang 15C u trúc ph n c ng gi m t vai trò r t quan tr ng trong các ng d ng h đi u khi n
Nó liên quan m t m t đ n s k t n i tr c ti p v i môi tr ng th c t nh vào các h
th ng nh p/xu t đa d ng (une grande diversité de systèmes d’entrées/sorties); m t
khác đ n thi t b tin h c ph n c ng (matériel informatique) chuyên bi t và đ c phát
tri n dành riêng cho m t ng d ng nào đó
R t nhi u ng d ng c a h đi u khi n v n hành d a trên các n n PC truy n th ng
Tuy v y, vi c l p đ t các cartes nh p/xu t, chúng ph i đ c đ ng b hóa (vi c thu
nh n d li u và xu t l nh đ c th c hi n các th i đi m chính xác), là luôn c n thi t
Vì v y, trong các ng d ng tin h c này, các ph n c ng chuyên bi t luôn t n t i và h
tr tính n ng v th i gian
Trong nhi u tr ng h p, các ng d ng c a h đi u khi n thu c d ng "distribué" mà
đó chúng v n hành trong môi tr ng "multitâche", đ c k t n i v i nhau b i m t ho c
nhi u h th ng m ng (nh Erthenet, CAN, FIP…)