operating systemvilab.org/os2018/os2018-06.pdf · dly_tsk delay task 21.& slp_tsk sleeptask...

26
1 Operating System 2018-06

Upload: others

Post on 27-May-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Operating Systemvilab.org/os2018/OS2018-06.pdf · dly_tsk delay task 21.& slp_tsk sleeptask 21.& 8 %9 tslp_tsk 82,5+-3"*9 wup_tsk wake up task 21. iwup_tsk 8 * ( 9 can_wup cancel

1

Operating System�����������

2018-06

Page 2: Operating Systemvilab.org/os2018/OS2018-06.pdf · dly_tsk delay task 21.& slp_tsk sleeptask 21.& 8 %9 tslp_tsk 82,5+-3"*9 wup_tsk wake up task 21. iwup_tsk 8 * ( 9 can_wup cancel

2018 H. SHIOZAWA http://vilab.org

2

LSFE38V��W

p LSFEVprocessW38n "�/1&�!�'7LSCQM

n DTKPUG7�2&�+1+=:7'VCPU>�01+=:7Wn (GEB)VtaskW3:+,

p OS6;=LSFE7��n LSFE7��VLSCQM7#�3NOR��W

n LSFE7��VLSCQM7��3NOR#�W

n LSFE7<�-X��$�7��X5454…

p LSFE7&��'>X;<JUI@A?�6 -=3…n (�+1+=)or(�!�) Y CPU2���>/1+=n LSCQM3HUG.*= Y NOR7% >�91+=

Page 3: Operating Systemvilab.org/os2018/OS2018-06.pdf · dly_tsk delay task 21.& slp_tsk sleeptask 21.& 8 %9 tslp_tsk 82,5+-3"*9 wup_tsk wake up task 21. iwup_tsk 8 * ( 9 can_wup cancel

2018 H. SHIOZAWA http://vilab.org

3

SXPOMKZSXPRYNM[p SXPOMK:?]

n 17>CPU9��>RYLVUGZ�+/�[%��=&��03Dn �>RYLVU,�F68(<.8@\�1(RYLVUG 9-D

p SXPOMK>��HJQHn 'DRYLVU,QIMK>���<;G�68(D'(4?\>RYLVU,�(8(DCPUG�*DB)=2D

n RYNMG#�=$!<OJUMVJMZTW���[9C�*8\��=��18(DB)=�3+/D

RYNMARYNMBRYNMCRYNMD

�"

����5A�"E9����

��

Page 4: Operating Systemvilab.org/os2018/OS2018-06.pdf · dly_tsk delay task 21.& slp_tsk sleeptask 21.& 8 %9 tslp_tsk 82,5+-3"*9 wup_tsk wake up task 21. iwup_tsk 8 * ( 9 can_wup cancel

2018 H. SHIOZAWA http://vilab.org

4

bgXWTOB�

p �* B��n CPUB�.Im�/@7�A�$>6Gn OSNj]gDZ^KT\fK^B�(C�!9D:2

p bgXejS�(n ,�BejS5Qi_djWI$:GE3@Rj^5�!>6G

n 1�>B�$>Cm �A,�BV`[LMJI�4GE3A@G

p ��@�(BahUTn ^YOPfLi\k+l>��9'8GE3@�"5�!>6G

n 1GahUTI�*�Am;HEF���B02ahUT5%#9<��m��9=��>6G

n ���.A)�&A-�:GahPfc@?5�FD:2

Page 5: Operating Systemvilab.org/os2018/OS2018-06.pdf · dly_tsk delay task 21.& slp_tsk sleeptask 21.& 8 %9 tslp_tsk 82,5+-3"*9 wup_tsk wake up task 21. iwup_tsk 8 * ( 9 can_wup cancel

2018 H. SHIOZAWA http://vilab.org

5

ci]\ZVF(5p _kbhUkb^SaDci]\ZV

n �q �/�ci]\ZVp$�ci]\ZV

n OSGIBRCCPUF�3*"Q>D6n OSG�.�Fbj[Z8LCPUQ��MnbhUkbYgkoA:D6n �bj[ZGp2�D\TdkWA-�%l�&%ECPUF�#�Q Fbj[ZE0LD<OHDLD6

n OSFAPIQ�#�Ep��9OSE'Mp Fbj[ZE�M�PNn �q 16bit��FWindowsKMacp+1OS)nHOSF�!�o

p bhUkb^SaDci]\ZVn ��Fci]\ZV

n OS9\Tcm M1J)Q�#>@CPUF�3*"Q?Nn OSGp2�D\TdkW=BEp�.�Fbj[Z8LCPUQ��MnbhUkbYgko>@p Fbj[ZQ�M�7N

n �q ��,D+J1JYZ^eQ4;pIBRCFXk`fm\

Page 6: Operating Systemvilab.org/os2018/OS2018-06.pdf · dly_tsk delay task 21.& slp_tsk sleeptask 21.& 8 %9 tslp_tsk 82,5+-3"*9 wup_tsk wake up task 21. iwup_tsk 8 * ( 9 can_wup cancel

2018 H. SHIOZAWA http://vilab.org

6

4;.-%� ��p 5:0/-+$��(4;.-%��

n ��#OS%�

���

Ready

��

Run

� �

Wait

��%����>�'�&#"?

%���

49*<4,8<>��'=��?

2)-310>�'�!?

��>��?��>679�'�!?

Page 7: Operating Systemvilab.org/os2018/OS2018-06.pdf · dly_tsk delay task 21.& slp_tsk sleeptask 21.& 8 %9 tslp_tsk 82,5+-3"*9 wup_tsk wake up task 21. iwup_tsk 8 * ( 9 can_wup cancel

2018 H. SHIOZAWA http://vilab.org

7

UNIX/Linux2��*

�&�%��RCPU2!-�0S

�&��RCPU7��S

�0��

�(2���(R��6)3"S

2���0

FL9OF<KOR� 6P��S

C8=DA@R6�1S

#���RHIL6�1S

?OE��R$�/.��S

��

����R����S

JQ;4�2FN>=,52����'+

R<=BG:QMS

Page 8: Operating Systemvilab.org/os2018/OS2018-06.pdf · dly_tsk delay task 21.& slp_tsk sleeptask 21.& 8 %9 tslp_tsk 82,5+-3"*9 wup_tsk wake up task 21. iwup_tsk 8 * ( 9 can_wup cancel

2018 H. SHIOZAWA http://vilab.org

8

�KQEC3�5�!

p Run → Readyn OS"��3KQEC8� &V��8�247(TKO<RKANRU

p Run → Waitn KQEC"HI;C103���+2�,-� (6

p Ready → Runn OS"CPU2�& KQEC8�5-6TH:CJGFUn =MST�+��U.��8��

p C?BMSOR>n CPU.KQEC8�(6��T��U8��(6$/n ��(6KQEC8�#�%)*5V��/��8��(6

n ��2�'*��1C?BMSOR>9P@ODL"�6

Page 9: Operating Systemvilab.org/os2018/OS2018-06.pdf · dly_tsk delay task 21.& slp_tsk sleeptask 21.& 8 %9 tslp_tsk 82,5+-3"*9 wup_tsk wake up task 21. iwup_tsk 8 * ( 9 can_wup cancel

2018 H. SHIOZAWA http://vilab.org

9

26-,*48

p 26-,"���'��$��� ���%�n 26-,*48:)805�!�%26-,"���

n 26-,��16/+#"3(7.�9���!� �&��%

���26-,

26-,

26-, 26-, 26-, 26-,

26-, 26-,

26-, 26-, 26-, 26-,

�� �

�� �

��*48

����*48

Page 10: Operating Systemvilab.org/os2018/OS2018-06.pdf · dly_tsk delay task 21.& slp_tsk sleeptask 21.& 8 %9 tslp_tsk 82,5+-3"*9 wup_tsk wake up task 21. iwup_tsk 8 * ( 9 can_wup cancel

2018 H. SHIOZAWA http://vilab.org

10

=GL MQueueNp =GLMQueueN38

n )�0 �*3".:9 M���7 �MmatrixN38�%�Nn �,;�12+9 �;!/DLB�$

n ' ← ( ( ( ( ( ( ( ( ( M@LEL7I?54N

p FIFOM������Nn First In First Out n ��68O��&6��.:9DLB�$

n �P LIFO MLast In First OutN Q @BC>

p � ��=GLMOS�#Nn �)ID<=GL*)HK=GL*

n CPU7�-;�12+9� ����7FJA@7�0 �

Page 11: Operating Systemvilab.org/os2018/OS2018-06.pdf · dly_tsk delay task 21.& slp_tsk sleeptask 21.& 8 %9 tslp_tsk 82,5+-3"*9 wup_tsk wake up task 21. iwup_tsk 8 * ( 9 can_wup cancel

2018 H. SHIOZAWA http://vilab.org

11

^dXWURE����p `acF]eVU:BD�A7K

n `acF��61>@ �G=2CHE

n %�E]eSb_Mj�'�D��D(G)NA489BF��

p ;5;jCPUF�A7C2n 1?ECPUTO6�$A7K��F1?n �$]eVUMj/,D�0B�J�3K�"6�&DCK

p TfZRU[UPYXh�#�J�3in �$]eVUETfZRU[h+� -iMQg\d�D��*.;j

n *.;@1>=E]eVUETfZRU[M(G�;@��;=B9L5I!$<K `ac^Y]

]eVUA

]eVUB

OShQg\di

�7

...

CPU

�$�

Page 12: Operating Systemvilab.org/os2018/OS2018-06.pdf · dly_tsk delay task 21.& slp_tsk sleeptask 21.& 8 %9 tslp_tsk 82,5+-3"*9 wup_tsk wake up task 21. iwup_tsk 8 * ( 9 can_wup cancel

2018 H. SHIOZAWA http://vilab.org

12

=E43(���1F7/39 I����J&!"

��1F7/39

1H:�=E0B?��

��8H5�

�#

356/�I����J

;H=�

=E43��I=E43'�* %)+$@AC��J

���(CPU(��

��D2351 �1��D2352 �2��D2353 �3

GGG=E0B?.-F5 �A356/>,F5 �B<B0D235 <B0��

�A

�B

�����(��

356/(96=

Page 13: Operating Systemvilab.org/os2018/OS2018-06.pdf · dly_tsk delay task 21.& slp_tsk sleeptask 21.& 8 %9 tslp_tsk 82,5+-3"*9 wup_tsk wake up task 21. iwup_tsk 8 * ( 9 can_wup cancel

2018 H. SHIOZAWA http://vilab.org

13

JPIGGCFLRNQB

p GCFLRNQB59n GCFLRNQB V GCFLRO?�;>

n CPU4JPIG?�$1>�&S'�T?"�1>.5n �%7�03�)6GCFLRNQB@ODNHK,*>

p GCFLRNQB8��n CPU8���?<=(;>n �& :8�!�&?<-1>

n ��8���S#��T?��/2>

p JNAQJEMQS��=Tn OS,�$JPIGSCPU��T?���7�=�+>.5n -8GCFLRNQB@ODNHK9UJNAQJEMQ,�

Page 14: Operating Systemvilab.org/os2018/OS2018-06.pdf · dly_tsk delay task 21.& slp_tsk sleeptask 21.& 8 %9 tslp_tsk 82,5+-3"*9 wup_tsk wake up task 21. iwup_tsk 8 * ( 9 can_wup cancel

2018 H. SHIOZAWA http://vilab.org

14

��������������

p �� ��������n FCFS: First Come First Service

p ��� ��������n SJF: Shortest Job First

p ��� ��������n EDF: Earliest Deadline First

p �����������

p ���������������n RR: Round-robin

Page 15: Operating Systemvilab.org/os2018/OS2018-06.pdf · dly_tsk delay task 21.& slp_tsk sleeptask 21.& 8 %9 tslp_tsk 82,5+-3"*9 wup_tsk wake up task 21. iwup_tsk 8 * ( 9 can_wup cancel

2018 H. SHIOZAWA http://vilab.org

15

��!IDHQWSVC

p FCFSIDHQWSVCn First Come First Servicen ��5�.NUJI&<X��5FWMI?�*=

p NSAVNGRV6��n 4+ ⇒ ��57GVCTKIB6.:6��4IDHQWSVC

p ��5.3%19=3…n EWPJVKW2XEWP�5�)�@/�&<!5EWP'2(=

n �6�'�>=82X�6�7,03 01$=

p ��n ��'��2X��'��2#=

n "�7Y ⇒ -;-;OTLKIB3 %4$

Page 16: Operating Systemvilab.org/os2018/OS2018-06.pdf · dly_tsk delay task 21.& slp_tsk sleeptask 21.& 8 %9 tslp_tsk 82,5+-3"*9 wup_tsk wake up task 21. iwup_tsk 8 * ( 9 can_wup cancel

2018 H. SHIOZAWA http://vilab.org

16

�#�+,OLNRWTVK

p SJFOLNRWTVKn Shortest Job Firstn �B#.�+:%HF��0D,!=CF

p QTJVQMSV>��n �"=?Z<5 X.86I�A6QUPO?��5<.Y

n QTJVQMSV�E=�& ⇒ Shortest Remaining Time First

p ��� =6;/9@F;…n *>�<. -0D�2��3F

p ��n QUPO>���7�+1��=<F

n �-�[ ⇒ �(�+?�'�=)$BG<.4;1.

Page 17: Operating Systemvilab.org/os2018/OS2018-06.pdf · dly_tsk delay task 21.& slp_tsk sleeptask 21.& 8 %9 tslp_tsk 82,5+-3"*9 wup_tsk wake up task 21. iwup_tsk 8 * ( 9 can_wup cancel

2018 H. SHIOZAWA http://vilab.org

17

�(�,.URT^d`cQ

p EDFURT^d`cQn Earliest Deadline First n 1'F�I26�"*3[bVU5H�(;J

p [`Pc[S_cn GI'F�ID*3[bVU6#!:=Hg<KC�I�LJ

p �%�C=@4>EJ@…n #� D�30(�D�5Hg��$C���&7M;J

p ��n b\XZD��BAg`NaWO]e��+f?�8SUY]�9

n �/�h ⇒ �)6-:8g�@:>��DRdU6��:C83

Page 18: Operating Systemvilab.org/os2018/OS2018-06.pdf · dly_tsk delay task 21.& slp_tsk sleeptask 21.& 8 %9 tslp_tsk 82,5+-3"*9 wup_tsk wake up task 21. iwup_tsk 8 * ( 9 can_wup cancel

2018 H. SHIOZAWA http://vilab.org

18

���TQSY_[^P

p ���TQSY_[^Pn $�2I7���/+,W]UT.F�#5H

n ���/�4�@cFCFS=<�?TQSY_[^P:�G�9H

p W[O^WRZ^n EG���?+,W]UT/!�37Fc6I>�G�JH

p ��"�>7;-9CH;n " (�>�L:,9c�/�7F& K%F=1IA=F=,

p ��n [M\VNXOS�0 `ITRON@FCFSb���an �'�e ⇒ ,8B:D��3>=HW]UT/!� d )*��

Page 19: Operating Systemvilab.org/os2018/OS2018-06.pdf · dly_tsk delay task 21.& slp_tsk sleeptask 21.& 8 %9 tslp_tsk 82,5+-3"*9 wup_tsk wake up task 21. iwup_tsk 8 * ( 9 can_wup cancel

2018 H. SHIOZAWA http://vilab.org

19

nZqfpgqb_alsoq^

p Round-Robinb_alsoq^n dYisT7RX&Fv�hpcbX���9PdYkbnYbt]\qdkdYkv��x�(jo+uL�T�@K�2FK>C

n <�I�T=PDMX15LQRound-robinM>?

p ho[qh`mqn dYkbnYbA/8FHhpcbQ �TEVv!O:'X6U

p #�n �,r��Lv�O$�3*A�4N�9)�P`bekO�C

p ���JBnZqfpgqn UNIXvLinuxvWindows,LQRRO���X.R WGK>Un �;"w ⇒ �9-%S�T�@0�P�%A�>

Page 20: Operating Systemvilab.org/os2018/OS2018-06.pdf · dly_tsk delay task 21.& slp_tsk sleeptask 21.& 8 %9 tslp_tsk 82,5+-3"*9 wup_tsk wake up task 21. iwup_tsk 8 * ( 9 can_wup cancel

2018 H. SHIOZAWA http://vilab.org

20

�#&)^����_

p &) 6a ROQW]Y\NLZPYSVn ��<��AF.? )1�4J8*

n 3JGKOSA+FCFS,`+SJF,`+EDF,`+XM\T[U\,A��=�?$/�<ROQW]Y\N6I=`>AF.?(�@��5;>AF.?!�@?I0%�5?4-*

�� �)� "D�H 00I�'

A 6�1� 6�11� 5�'B 6�2� 6�30� 7�'C 6�4� 6�15� 3�'D 6�5� 6�8� 1�'

n �)A���A8D`1�@�H DI )A�B1:92=6I*n C8` )B�)4J87A�0G�H DIEA=6I*

Page 21: Operating Systemvilab.org/os2018/OS2018-06.pdf · dly_tsk delay task 21.& slp_tsk sleeptask 21.& 8 %9 tslp_tsk 82,5+-3"*9 wup_tsk wake up task 21. iwup_tsk 8 * ( 9 can_wup cancel

�'/5g����h

p /5 6b HOSJ:=SFCFS+���\Y[`fbeXn >K/5K�8Li�3K^dXa_eXJQDFiFCFS\Y[`fbeXH���\Y[`fbeXK�%NV +@S>HG7S6

n HOSLZe^cI%N1NOSIKGi�"I\Y[`fbeXLiFCFSg�#4hH���JQSOKG7S6

n FCFSL]\WK0�4i���L]\WK, ��JQDF�MS6

p �4n sample¥win-scheduling VgCKMMh�)@S6n �)&�V$?iIBCKQ9I��@SK;i\Y[`fbeXK*�;R(�g !V.�hAQ6

n �]\WK���P start 2�GK�)4�V��?F8<E;K%NUAV-?iCTRK��JE8F(�AQ6

2018 H. SHIOZAWA http://vilab.org

21

Page 22: Operating Systemvilab.org/os2018/OS2018-06.pdf · dly_tsk delay task 21.& slp_tsk sleeptask 21.& 8 %9 tslp_tsk 82,5+-3"*9 wup_tsk wake up task 21. iwup_tsk 8 * ( 9 can_wup cancel

!+28z����{

p 28 6c HOSM=@SkxntZxngWmLoufeb\n AN28N#;O|kxntZxngWmLz3(L{oufeb\N��KGNHPNnw]spx]��U%0DSAKJ:S9

n ntZxngWmJL;OSJO|nwcbzeb\{?5�LeXpx]J-�(M�.�U��DAKJ� Loufeb\U�$DS9

n HOSN �|vhW[ryU�CI�Neb\U�.DS rot_rdqzrotate ready queue{K;<`ylb_yuzAPI{U�&DS9

p �7n 286bJ��CH sample¥win-scheduling U�M�D9n dyb_yjJ_qxiVYiBTI;Seb\N rot_rdq 6�U��MC|eb\?-�(M�.�U�Neb\M4SQ<MEQ9

n �.*�U)C|LFGNQ<L��DSN>|b^arytx]N/">R,�z%'U1�{EQ9

2018 H. SHIOZAWA http://vilab.org

22

Page 23: Operating Systemvilab.org/os2018/OS2018-06.pdf · dly_tsk delay task 21.& slp_tsk sleeptask 21.& 8 %9 tslp_tsk 82,5+-3"*9 wup_tsk wake up task 21. iwup_tsk 8 * ( 9 can_wup cancel

&29=~����

p 9= 6d HOSVDH^xd|q{r|khjw}y|gn IW9=W)AX�xd|q{r|khjw}y|gV[^tye|tobsU~.W�uznmkfW�0Y`*7L^ITS@^?

n xd|q{r|khjw}y|gSX�OSF���$S�4t{lk`<,V~EQ��-V��]"CRAG�5F@^?

n OWPZVmcu} ]:YSkhjw}x}`>�K�t{lkW�]"C`4B?HOSSX ]:Y��(W irot_rdq`�B?

p �<n 9=6cS�!KP sample¥win-scheduling `�V�L?n ~���mcu} ]:Y�*S@^ ostimer.c W�Siv|padpJ_RA^ if �T irot_rdq W;`#�VKR�4L^?

n �41%`/K�UNOW[BU��L^WE�khjw}y|gW6'E\3�~*+`8 �M[?

2018 H. SHIOZAWA http://vilab.org

23

Page 24: Operating Systemvilab.org/os2018/OS2018-06.pdf · dly_tsk delay task 21.& slp_tsk sleeptask 21.& 8 %9 tslp_tsk 82,5+-3"*9 wup_tsk wake up task 21. iwup_tsk 8 * ( 9 can_wup cancel

�+��� �!&�$#'���

p ��� )45�,*n 1�� 6��������������

p !&�$#'���n 1�� 6�����������

n %"( �������

2018 H. SHIOZAWA http://vilab.org

24

Page 25: Operating Systemvilab.org/os2018/OS2018-06.pdf · dly_tsk delay task 21.& slp_tsk sleeptask 21.& 8 %9 tslp_tsk 82,5+-3"*9 wup_tsk wake up task 21. iwup_tsk 8 * ( 9 can_wup cancel

HOS6µITRON7)10-��

2018 H. SHIOZAWA http://vilab.org

25

/520.54 � #�

cre_tsk create task 10-)��

acre_tsk ��6ID!��+�(7act_tsk activate task 10-)$�

iact_tsk ��6�+&*�7

can_act cancel activation 10-$���)+�'

ext_tsk exit task !10-)��

ter_tsk terminate task 10-)����

chg_pri change priority 10-���)��

get_pri get priority 10-���)�

rot_rdq rotate ready queue �"� ,35)�%

irot_rdq ��6�+&*�7

Page 26: Operating Systemvilab.org/os2018/OS2018-06.pdf · dly_tsk delay task 21.& slp_tsk sleeptask 21.& 8 %9 tslp_tsk 82,5+-3"*9 wup_tsk wake up task 21. iwup_tsk 8 * ( 9 can_wup cancel

HOS8µITRON9&21.��

2018 H. SHIOZAWA http://vilab.org

26

0741/76 � ��

dly_tsk delay task �21.&��

slp_tsk sleep task �21.&��8��� %9

tslp_tsk ��82,5+-3"*9

wup_tsk wake up task 21.���

iwup_tsk ��8�*�(�9

can_wup cancel wakeup 21.���&�*�$

rel_wai release wait %��&���!

irel_wai ��8�*�(�9

sus_tsk suspend task �� %��'&�

rsm_tsk resume task �� %��#)&��

frsm_tsk force resume task �� %��#)&����