?e????af? ?a? ??e???? ??e??as??? - PowerPoint PPT Presentation

About This Presentation
Title:

?e????af? ?a? ??e???? ??e??as???

Description:

Title: Communication Systems and Networks Author: Christos Panayiotou Last modified by: Christos Panayiotou Created Date: 1/13/2004 3:32:00 PM Document presentation ... – PowerPoint PPT presentation

Number of Views:38
Avg rating:3.0/5.0
Slides: 24
Provided by: ChristosP3
Category:

less

Transcript and Presenter's Notes

Title: ?e????af? ?a? ??e???? ??e??as???


1
?e????af? ?a? ??e???? ??e??as???
2
?e??????
  • ??e??as?e?
  • ????p????aµµat?sµ??
  • ?atast?se?? ??e??as???
  • ?e????af? d?e??as??? st? ?S
  • ??e???? d?e??as???
  • ?? ?S Linux

3
??e??as?a (process)
  • ??e??as?a e??a? ???e p????aµµa p?? e?te?e?ta?
  • ??d??a? t?? p?????µµat?? (program code)
  • ?ed?µ??a (data) ta ?p??a ??e?????ta? ap? t?
    p????aµµa (µetaß??t??, e?d??µes? µ??µ? (buffers),
    work space)
  • ?at?stas? t?? d?e??as?a? (execution context or
    process state).
  • ?ata????t?? t?? epe?e??ast? ?a? ded?µ??a ta ?p??a
    ???s?µ?p??e? t? ?S ??a ?a pa?a??????e? ?a? ?a
    e????e? ???e d?e??as?a (p??te?a??t?ta, ?at?stas?
    ?/?, ??p).
  • ? ?????a t?? d?e??as?a? e??a? s?µa?t??? st?? ???
    ?e?t?????a t?? ?S.
  • ???e p????aµµa ap?te?e?ta? ap? µ?a ? pe??ss?te?e?
    d?e??as?e? ? ?p?d?e??as?e? (threads).
  • ? ?ataµe??sµ?? t?? p???? t?? s?st?µat?? ???eta?
    µeta?? t?? d?e??as???
  • ??e??as?e? s??a???????ta? ??a p??sßas? st???
    p????? t?? s?st?µat??
  • ?? ?S ep?s?? ap?te?e?ta? ap? d??f??e? d?e??as?e?.

4
??e??as?a (process)
  • ???p?? ??µ??????a? ??e??as???
  • ?p?ß??? e??as?a? (batch job submission)
  • ??s?d?? ???? ???st?? (user login)
  • ?a???? ??p??a? ?p??es?a? ap? t? ?S.
  • ??a d?e??as?a (efa?µ???) d?µ?????e? µ?a ??a
    (spawned child process)
  • ?ta? d?µ???????e? ? ??a d?e??as?a t? ?S
    d?µ?????e? t?? apa?t??µe?e? d?µ?? ?ts? p?? ?a
    µp??e? ?a t? d?a?e???ste?
  • ???p?? te?µat?sµ?? d?e??as???
  • ?a??????? te?µat?sµ??
  • ???f??a ???? (p.?., a???µ?t???, p??sp??e?a
    p??sßas?? se µ? ep?t?ept? ????, ????s? µ?
    ep?t?ept?? e?t????)
  • ?p?t???a ??p???? s?s?e??? ?/?
  • ?a?aß?as? ???????? pe????????
  • ?ta? te?µat??eta? µ?a d?e??as?a e?e??e???eta? ?
    desµe?µ??? µ??µ?.

5
??sta ??e??as??? (Process List)
6
????p????aµµat?sµ?? (multiprogramming)
0xFFFF
  • ????p????aµµat?sµ?? ? ?e?d?pa??????? s?st?µa
  • ? epe?e??ast?? µp??e? ?a e?te?e? µ??? ??a
    p????aµµa
  • ?? ?S d?µ?????e? t?? ?e?da?s??s? ?t? ?
    ?p?????st?? e?te?e? pa??????a p???? p?????µµata

PC
0
7
????p????aµµat?sµ??
?1
?2
?3
?4
???? ??a p????aµµa e?te?e?ta? ???e st??µ?.
?e?da?s??s? ?t? ?? d?e??as?e? t?????? pa??????a.
8
?a??de??µa ????p????aµµat?sµ??
???? t?? ??e??as??? ???? t?? ??e??as??? ???? t?? ??e??as???
??e?. ? ??e?. ? ??e?. G
1000 1001 1002 1003 1004 1005 1006 1007 1008 3000 3001 3002 3003 3004 8000 8001 8002 8003 8004 8005 8006 8007 8008 8009 8010
????? ????? ?????

1000 1001 1002 1003 1004 1005
100 101 102 103 104 105
1006 1007 1008
100 105
100 101 102 103 104 105
8000 8001 8002 8003 8004 8005
8006 8007 8008 8009 8010
100 105
3000 3001 3002 3003
100 101 105
9
???t??? ??? ?atast?se??
  • ???e d?e??as?a µp??e? ?a ß??s?eta? se µ?a ap? d??
    d??at?? ?atast?se??
  • ??te?e?ta? (running)
  • ?e? e?te?e?ta? ?a? pe??µ??e? (waiting)
  • ???a?? ?epe?asµ???? ?atast?se?? (Finite State
    Machine FSM)

?p?????
??µ??????a ??e??as?a?
?e?µat?sµ??
??ast???
  • ?????? a?t?p??s?pe???? ?atast?se?? (states)
  • ???? a?t?p??s?pe???? µetaß?se?? (event
    transitions)

10
???t??? ??? ?atast?se??
  • ???p???s? t?? µ??t???? d?? ?atast?se?? sa?
    s?st?µa ?????

???? d?e??as???
??µ??????a d?e??as?a?
?e?µat?sµ??
CPU
  • ??? ?a ???p????sate µ?a ????
  • ???a ta p??a?? µe???e?t?µata t?? µ??t???? d??
    ?atast?se?? ?a? p?? a?t?µet?p????ta?
  • ??a d?e??as?a µp??e? ?a µ?? e?te?e?ta? ??a d??
    ??????
  • ? ?????d??µ?????t?? ep??e?e ???? d?e??as?a ?a
    e?te?es?e? ap? t?? epe?e??ast?.
  • ? d?e??as?a de? µp??e? ?a e?te?es?e? d??t?
    pe??µ??e? ??p??a s?s?e?? ?/?.

11
???t??? ???te ?atast?se??
  • ???e d?e??as?a µp??e? ?a ß??s?eta? se µ?a ap?
    p??te d??at?? ?atast?se??
  • ??te?e?ta? (running)
  • ?e? e?te?e?ta? a??? e??a? ?t??µ? (ready)
  • ?e? e?te?e?ta? ?a? de? e??a? ?t??µ? (blocked)
  • ??a d?e??as?a ?p? d?µ??????a (new)
  • ?a???? p?? ??e? d?µ???????e? µp??e? ?a pa?aµ??e?
    a??t??µ? ?a e?te?es?e?
  • ?e?µat?sµ?? d?e??as?a? (Exit)
  • ??a d?e??as?a p?? te?µat??e? p??pe? ?a
    e?e??e??se? ????? t??? p????? t??? ?p????? ??e?
    desµe?µ?????.

12
???t??? ???te ?atast?se??
dispatched
loaded
Done
Timeout
I/O Request
I/O Response
  • Se ???sµ??a ?S e??a? d??at?? ?a ?p??????
    ep?p??s?ete? µetaß?se??, p.?., Ready ? Exit,
    Blocked ? Exit. ??t? µp??e? ?a s?µßa??e? ?ta? ?
    d?e??as?a e??a? ???at???? ap? ????a ? ?p????
    te?µ?t?se.

13
???p???s? ???t??? ???te ?atast?se??
???? ?t??µ?? d?e??as???
??µ??????a d?e??as?a?
?e?µat?sµ??
CPU
???a?? d?e??as?a?
???? ??-?t??µ?? d?e??as???
  • ? a??a?? d?e??as?a? e????eta? ap? t? ?S ?a?
    µp??e? ?a ???e? d??t? µ?a d?e??as?a ??e?
    e?a?t??se? t? ??????? t?? pe??????? ? d??t?
    ?p???e? d?e??as?a ?????te??? p??te?a??t?ta?
  • ??a??a?t???, µp????? ?a ???p??????? pa??????e?
    ????? µ? ?t??µ?? d?e??as???, µ?a ??a ???e
    a?aµe??µe?? s?µß??.

14
???t??a ?atast?se??
  • ???a µ??t??a µp????? s?µpe????ß??? ep?p??s?et??
    ?atast?se??, p.?., t? ?a s?µße? e?? de? ?p???e?
    d?a??s?µ? µ??µ? ??a ?a f??t??e? ???? µ?a
    d?e??as?a
  • Suspended ?at?stas? st?? ?p??a ? d?e??as?a de?
    e??a? f??t?µ??? st?? ????a µ??µ?.

activate
suspended
suspend
15
?e????af? ??e??as??? st? ?S
  • ?? ?S d?at??e? d??f??e? d?µ?? e?????? (control
    structures) ?p?? ap????e???ta? ?? p????f???e? p??
    ??e???eta? t? ?S
  • ???a?a? ???µ??
  • ?ata??µ? µ??µ?? (????a? ? de?te?e???sa?) se
    d?e??as?e?
  • ?a???e? ???s?? ?a? pe?????sµ??? p??sßas??
  • ???a?a? s?s?e??? ?/?
  • ???e? s?s?e??? ?p?????, p?e? e??a? desµe?µ??e?
    ?a? p??e? e?e??e?e?.
  • ???e? ?e?t?????e? ?/? ß??s???ta? se e??????
  • ???a?a? ???e???
  • ??? ß??s?eta? t? ???e a??e?? ?a??? ?a?
    ep?p??s?ete? p????f???e? p.?., ??d?????
    p??sßas??.
  • ???a?a? ??e??as???
  • ?? p????aµµa, ta ded?µ??a t?? p?????µµat??, ??
    t?µ?? t?? ?ata????t?? (process image).

16
??e???? ??e??as???
  • ?a pe??ss?te?a ?S ?p?st??????? d?? t??p???
    e?t??es?? p????aµµ?t?? (modes of execution)
  • St?? p????a (kernel mode) t?? ?S
  • ??e??as?e? p?? e?te????ta? st?? p????a ?????
    pe??ss?te?a p????µ?a.
  • ?p????? ?a ???s?µ?p????? pe??ss?te?e? e?t????
  • ????? ?µes? p??sßas? st?? s?s?e??? ?/?
  • St? ???? t?? ???st? (user mode)
  • ???ß??µata
  • ??? ? epe?e??ast?? ap?fas??e? p??? t??p? ?a
    ???s?µ?p???se?
  • ?p???e? ??p??? bit st?? ?ata????t? (Program
    Status Word PSW)
  • ??? a????e? t? t??p?? e?t??es??
  • ?? bit a?t? a????e? ?at?stas? ?ta? s?µße? ??p???
    ?e????? (event) p.?., s?st?µ??? ???s? (system
    call)

17
??e???? ??e??as???
  • ?ta? d?µ???????e? µ?a d?e??as?a? t? ?S
  • ???sd?????e? µ?a ta?t?t?ta (process
    identification)
  • ?a???e? t?? apa?t??µe?? µ??µ? (memory allocation)
  • ??????p??e? t?? d?µ? e?????? t?? d?e??as?a?
    (process control block initialization)
  • ??????p??e? ???e? p??a??? s??d?se?? (p.?., µe t??
    ??ste? t?? ?????d??µ?????t?)
  • ??µ?????e? ? epe?te??e? ???e? d?µ?? ded?µ????
    (p.?., t?? d?µ? µet??se?? ?a? pa?a???????s?? ??a
    s??p??? ????s??).

18
??e???? ??e??as???
  • ??a??a?? ??e??as??? (process switching)
  • S?µßa??e? sa? ap?t??esµa ??p???? ?e????t??
    (event)
  • S?µa d?a??p?? (interrupt, e.g., clock interrupt,
    I/O interrupt).
  • ?e??stat??? ?????? ? e?a??et???? ?at?stas??
    (fault or exception, e.g., Memory fault)
  • ???s? ep?pt? (supervisor call, e.g., a system
    call)
  • ??a??a?? t??p?? e?t??es??
  • ????? pa?a??f?e? s?µa d?a??p?? t? program counter
    p?d? st?? a??? t?? ???t??a? p?? d?a?e????eta? t?
    s?µa d?a??p?? (interrupt handler).
  • ? epe?e??ast?? e?a???sse? ep?s?? st?? t??p?
    e?t??es?? st?? p????a (kernel mode).
  • ???e s?µa d?a??p?? de? s?µa??e? a?t?µata ?a?
    e?a??a?? d?e??as?a?

19
??e???? ??e??as???
  • ???a?? ?at?stas?? d?e??as?a? (process state
    change)
  • ?eta???? pe??ß?????t?? (process switch or context
    switch).
  • ?p????e?s? t?? ?at?stas?? t?? epe?e??ast?
    (?ata??t?t?? context)
  • ???µ???s? t?? d?µ?? e?????? t?? d?e??as?a?
    (process control block)
  • ?etaf??? t?? d?µ?? e?????? t?? d?e??as?a? st?
    ?at?????? ????
  • ?p????? t?? ep?µe??? d?e??as?a?
    (?????d??µ?????t??)
  • ???µ???s? t?? d?µ?? e?????? t?? ??a? d?e??as?a?.
  • ???µ???s? t?? d?µ?? ded?µ???? p?? s?et????ta? µe
    t? d?a?e???s? t?? µ??µ??
  • ?pa?af??? t?? ?at?stas?? t?? epe?e??ast? st?
    s?µe?? p?? ?ta? t?? te?e?ta?a f??? p??? d?a??pe?
    ? ded?µ??? d?ad??as?a.

20
Linux
  • ???e d?e??as?a st? ?S Linux pe?????feta? µe t?
    d?µ? task_structure
  • State (???t??? p??te ?atast?se??)
  • Scheduling Information (?????f???e? ??a t?
    ?????d??µ?????s? t?? d?e??as???)
  • Real-time processes
  • Normal process
  • Identifiers (?a?t?t?ta d?e??as???)
  • Unique process identifier (???ad??? ta?t?t?ta)
  • Group ID (?µad??? ta?t?t?ta)
  • Interprocess Communication. (?p????????a µeta??
    d?e??as???)
  • Times and timers (?????f???e? s?et???? µe t?? ??a
    d?µ??????a? µ?a? d?e??as?a?, d??st?µa e?t??es??,
    ?????µet?a)
  • File system. (?e??te? (pointers) se a??e?a ta
    ?p??a a????t??a? ap? t? d?e??as?a)

21
Linux
  • ???e d?e??as?a st? ?S Linux pe?????feta? µe t?
    d?µ? task_structure
  • Address space (d?e????se?? t?? ????? t??
    d?e??as?a?)
  • Process-specific context (?ata????t?? ?a? ???e?
    p????f???e? p?? pe?????f??? t? pe??ß?????
    (context) t?? d?e??as?a?.

22
?atast?se?? t?? ?S Linux
  • Running Either executing or ready to execute
  • Interruptible Blocked state where the process is
    waiting for an I/O operation, availability of a
    resource or a signal from another process
  • Uninterruptible Also a blocked state that waits
    only on hardware response (no signals)
  • Stopped Process stopped that needs to be
    restarted by another process (e.g., debugger)
  • Zombie Terminated process but its data
    structures still exist.

23
?atast?se?? t?? ?S Linux
signal
signal
dispatched
creation
termination
timeout
event
signal or event
I/O request
Write a Comment
User Comments (0)
About PowerShow.com