operating systemvilab.org/os2018/os2018-04.pdf · 2 nuhg5: pnuhgxprocessy5: n# 03' "...
TRANSCRIPT
![Page 1: Operating Systemvilab.org/os2018/OS2018-04.pdf · 2 nuhg5: pnuhgxprocessy5: n# 03' " (9nueso nfvmrwi9 4' ,3,?](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed13ea5b828e25181666d0b/html5/thumbnails/1.jpg)
1
Operating System����������
2018-04
![Page 2: Operating Systemvilab.org/os2018/OS2018-04.pdf · 2 nuhg5: pnuhgxprocessy5: n# 03' " (9nueso nfvmrwi9 4' ,3,?](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed13ea5b828e25181666d0b/html5/thumbnails/2.jpg)
2018 H. SHIOZAWA http://vilab.org
2
NUHG5:
p NUHGXprocessY5:n #�03'�"�(9NUESO
n FVMRWI9�4'�,3,?<9(XCPU@�23,?<9Yn OS8=23:Z 1��4)IGD*XtaskY5<,-
p OS8=?NUHG9 �n NUHG9��XNUESO9$�5PQT��Y
n NUHG9��XNUESO9��5PQT$�Y
n NUHG9>�.Z��%�9 �Z7676…
p NUHG9'��(@Z=>LWKBCA�8!.?5…n )�,3,?* or )�"�* 5: [ CPU4���@03,?n )NUESO5JWI/+?*5: [ PQT9&�@�;3,?
![Page 3: Operating Systemvilab.org/os2018/OS2018-04.pdf · 2 nuhg5: pnuhgxprocessy5: n# 03' " (9nueso nfvmrwi9 4' ,3,?](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed13ea5b828e25181666d0b/html5/thumbnails/3.jpg)
2018 H. SHIOZAWA http://vilab.org
3
�4Windows�+0%$p &$ ,)2#-2
n Ctrl+Alt+Del → [&$ ,)2#-23���4]n Windows�*2#/1�������� �����
p tasklist !,1( 3!,1(+01+'4n tasklist | moren tasklist /? | moren tasklist /v /FI “username eq .2""
p Sysinternals�!,1(n http://technet.microsoft.com/ja-jp/sysinternals/n pslist ←tasklist�����n pskill ←+0%$����n pssuspend ←+0%$�����
![Page 4: Operating Systemvilab.org/os2018/OS2018-04.pdf · 2 nuhg5: pnuhgxprocessy5: n# 03' " (9nueso nfvmrwi9 4' ,3,?](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed13ea5b828e25181666d0b/html5/thumbnails/4.jpg)
2018 H. SHIOZAWA http://vilab.org
4
5>(:7!>A1��
5>(:7#/A-#89; ��%��$B3&6?�C
OS'A2<
5>,+A /A-��
��
���!�"�"B>A1C
��!89;6.5
5>,+A )A1��
5>,+B /A-��
5>,+B )A1��...
+0=A*
���%�5>(:7A
=*+-1=*+-2=*+-3@@@4:(
/A-
��
��!�"�"
/A-!�"��
CPU
CPU�1������$
![Page 5: Operating Systemvilab.org/os2018/OS2018-04.pdf · 2 nuhg5: pnuhgxprocessy5: n# 03' " (9nueso nfvmrwi9 4' ,3,?](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed13ea5b828e25181666d0b/html5/thumbnails/5.jpg)
2018 H. SHIOZAWA http://vilab.org
5
OPSY�!�Z4+*6
p ���OPSn RAM: #6�) 2OPSn ROM: #6�+��OPS
p :HU@Y��Zn OPS4�5$+��4��(.'/'8
n � 4PC05[:HU@51K;G�n CPU5[��:HU@0FXB9��-8
p J;MW�:X=E>CQn LV?RN7FXB1�,�!�3��-8
n LV?RN4��5[%��"&4FXB�
n ��"4�: 10110000 01100001 OPSMDL
LVA@A
LVA@B
OSY<XITZ
�)
...
��
![Page 6: Operating Systemvilab.org/os2018/OS2018-04.pdf · 2 nuhg5: pnuhgxprocessy5: n# 03' " (9nueso nfvmrwi9 4' ,3,?](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed13ea5b828e25181666d0b/html5/thumbnails/6.jpg)
2018 H. SHIOZAWA http://vilab.org
6
CPUA\dNa^�!p ��%
n CPU4�!=5HABh/��%0>�CIH2(�A�n ��%BCPUfMPUh]KMd\dSVPgA��7>@�?H
p CPUA�!�,1. [LVU _`b3G�fOeY��gJ1;&D6E2. WOeY �fOeY��gJ"&9H
3. �! _`bFcQRTA��J&D�8h��J�!9H
4. aKXZVM �� �J_`bFcQRT@�5�9
p cQRTfregisterg>Bin CPUA�)@1H+�@.':4 �*A$�-n #��AWeTA�hCPUA���!��J��8<2H
![Page 7: Operating Systemvilab.org/os2018/OS2018-04.pdf · 2 nuhg5: pnuhgxprocessy5: n# 03' " (9nueso nfvmrwi9 4' ,3,?](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed13ea5b828e25181666d0b/html5/thumbnails/7.jpg)
2018 H. SHIOZAWA http://vilab.org
7
?G65*! �3H915;"K ���L(#$
?G65* ���
3J< �?G2DA��
��:J7 �
�%
5781 �K����L
=J? �
?G65��K?G65)�,�'+-&BCE��L
��*CPU*��K��F457L
��F4571 �1��F4572 �2��F4573 �3
III?G2DA0/H7 �[email protected] �B>D2F457 >D2��
�A
�B
� ��*��
5781*;8?
![Page 8: Operating Systemvilab.org/os2018/OS2018-04.pdf · 2 nuhg5: pnuhgxprocessy5: n# 03' " (9nueso nfvmrwi9 4' ,3,?](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed13ea5b828e25181666d0b/html5/thumbnails/8.jpg)
2018 H. SHIOZAWA http://vilab.org
8
R\QZUSP]R\QZW[TS^
p R\QZUSPDI`n OS8�)��N%!C9MW[TSI_31A4>:]R\QZ^n HW[TS8��G&�;F6D_�HW[TSN- C9F6
p R\QZUSPH�1�n W[TS8VOSP*(H+K�9FEC$0#G�J@B6M0_
CPUI�L=<G�@B6M;7F6 ⇒ CPUH"��8�6n '��H26W[QYX85@BL_ ��)�HW[TSH��&�N�A;7F6 ⇒ �.F,�/�8C9F6
W[TSAW[TSBW[TSCW[TSD
�0-
��G&�����?C��
![Page 9: Operating Systemvilab.org/os2018/OS2018-04.pdf · 2 nuhg5: pnuhgxprocessy5: n# 03' " (9nueso nfvmrwi9 4' ,3,?](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed13ea5b828e25181666d0b/html5/thumbnails/9.jpg)
2018 H. SHIOZAWA http://vilab.org
9
WZTSQO\WZTV[RQ]p WZTSQO<A_
n 19@CPU;$�@V[PYXK\%/3�](��?)�";1Hn @V[RQ0 �5:,>2:C^�5,V[RQK&�;1H
p WZTSQO@��LNULn +HV[RQ0UMQO#!@�>=;�'�?�B8:,H'^�@V[RQ?�,:,HCPUK�J6H
n 4F?^�"V[RQK�/,�';�*?�G�.:^���"?��5:,H/@E-?%6/3H
V[RQAV[RQBV[RQCV[RQD
�'&�
���7D�'�I;����
�
![Page 10: Operating Systemvilab.org/os2018/OS2018-04.pdf · 2 nuhg5: pnuhgxprocessy5: n# 03' " (9nueso nfvmrwi9 4' ,3,?](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed13ea5b828e25181666d0b/html5/thumbnails/10.jpg)
2018 H. SHIOZAWA http://vilab.org
10
=E65)����p >C8752( "-=E65G5D9;H)��
�����GCPU)�!�#H
���GCPU3/.��H
�#��
��)����G�,�+'&H)���#
��,G=B1F=4AFH
:05<98
��G��H� G?@B�,$H CPU)3/�*%
�(�����
![Page 11: Operating Systemvilab.org/os2018/OS2018-04.pdf · 2 nuhg5: pnuhgxprocessy5: n# 03' " (9nueso nfvmrwi9 4' ,3,?](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed13ea5b828e25181666d0b/html5/thumbnails/11.jpg)
2018 H. SHIOZAWA http://vilab.org
11
SbVY
p SbVYgthreadh@Dn ��C]^a .M�;A3 0*3[cTS1C8@
n �$C�%QeWOSXM�=5i]^aD(C[cTS@��:L
n #F+FOSC��i[cTSD�)�BSbVYC��5�3
p SbVYC�,n 1=C[cTSC�Bi9JB�2B 0�7GC1M�L8@5?6Ln '�C��C���%BI<>[cP`\M/-�:L
n ]NeC��C0&1?_fRHZVXdfO4JC�B��:L
p [cTSB�E;�n [cTSB�E>i��HQeWOSXSNVUC��5-3
n ]^a��5A3C?i[cTSIKGOSBIL!�5 "�?6L
![Page 12: Operating Systemvilab.org/os2018/OS2018-04.pdf · 2 nuhg5: pnuhgxprocessy5: n# 03' " (9nueso nfvmrwi9 4' ,3,?](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed13ea5b828e25181666d0b/html5/thumbnails/12.jpg)
2018 H. SHIOZAWA http://vilab.org
12
XaPO/O`SUA!�p XaPOA)�-�
n XaPOBe)AXaPO2!�8GcXaPO!�"APIJ�0dn ��AXaPOBf ⇒ OSKbV_2!�8G
p Y_RQOL �=Bn )XaPO2�XaPOJ!�8G>e�%B�'#@��8G
n )XaPOBe/4;D�XaPOJ+ 7<�.@�J'I9e�(?F$���J�;5>2=3G
p UNIXAfork/exec/join\T_n fork: &AXaPOA,J�Gc[\^E*�JCGCGNWbdn exec: XaM]ZJabU7e&AXaPOA��J�H�1Gn join: fork6H:XaPO��2��8Gcexit & waitd
![Page 13: Operating Systemvilab.org/os2018/OS2018-04.pdf · 2 nuhg5: pnuhgxprocessy5: n# 03' " (9nueso nfvmrwi9 4' ,3,?](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed13ea5b828e25181666d0b/html5/thumbnails/13.jpg)
��� ������
2018 H. SHIOZAWA http://vilab.org
13
wait
fork
exec
��� ���
���� ����
����
CreateProcess
exitExitProcess
����������
����������
Windows���� ����� UNIX���� �����
![Page 14: Operating Systemvilab.org/os2018/OS2018-04.pdf · 2 nuhg5: pnuhgxprocessy5: n# 03' " (9nueso nfvmrwi9 4' ,3,?](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed13ea5b828e25181666d0b/html5/thumbnails/14.jpg)
2018 H. SHIOZAWA http://vilab.org
14
^gWVE$�i !#
p ^gWVE$�#1. Qj\e�Dm�=75^gWV(#]gYR6M�J�BK
2. ^gWVE@GEabdk�.�lE4�M&�>K
3. ^gSc`Tj[M0F1FmZjX4�HVXYR4�M/�>K
4. �+2��EfUVX'E�M�/�>K
p ^gSc`QOhXmVXYR_NhXm?E�…5. 5�+ *"�6D=BmOSD�+<LKEM�A
p ^gWVE !#1. OS:(#>K�+ *C^gWVE�,9I�3>K2. ^gWVD�J�BIL@abdM-�>Kk��%D�>l
3. ^gWVE)�Tj[k��)�9Pcj9lM��=B8;
4. Qj\e�E5^gWV(#]gYR6M�3>K
![Page 15: Operating Systemvilab.org/os2018/OS2018-04.pdf · 2 nuhg5: pnuhgxprocessy5: n# 03' " (9nueso nfvmrwi9 4' ,3,?](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed13ea5b828e25181666d0b/html5/thumbnails/15.jpg)
2018 H. SHIOZAWA http://vilab.org
15
25,+��!�p '804�!25,+�
n '804 ;25,+�15-(925,+.814:������#
n �25,+!����%� ��;'804�����#
n 25,+!���)7.(+/�"�� ���$#
25,+196825:
25,+3913&*:
25,+29���:
'804
25,+�15-(
���
![Page 16: Operating Systemvilab.org/os2018/OS2018-04.pdf · 2 nuhg5: pnuhgxprocessy5: n# 03' " (9nueso nfvmrwi9 4' ,3,?](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed13ea5b828e25181666d0b/html5/thumbnails/16.jpg)
!.8?������
p 8? 4a HOSZGJcmkh�s|lk�[�3n K[8?[#D\�mkhI1TRJ[s|ixue�3M�mkhe�SQs|ixt}i[��e%5NcKWVCc@
n �2ZOS\�mkh[&�~;�~,�~� +[�0eFUGb�Pda[�%[Q_[API�<��e��MUDc@
n -^:^OSVCcHOSV\�mkh\OS[�[�<�WMU��Ld�OS[�[k{opWMU �Nc�$1[vwye�QYD�@
p �>n rgzn hos-v4¥sample¥win-task [�e)6Nc@n sample.sln e;DUj}qfz~�3Nc@n (=4*e)6M�XEMUPEYc[H/��%'e7��O`@
n "Z�dly_tsk\X[`EY�%e3SUDc[H9]U/�O`@n AµITRON���Be�/Z�%�e/FcW`D@
2018 H. SHIOZAWA http://vilab.org
16
![Page 17: Operating Systemvilab.org/os2018/OS2018-04.pdf · 2 nuhg5: pnuhgxprocessy5: n# 03' " (9nueso nfvmrwi9 4' ,3,?](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed13ea5b828e25181666d0b/html5/thumbnails/17.jpg)
"+3:r����s
p 3: 4b HOSS@D[knecb_jo`mlp`n ET3:T$=Utknecb_T��\%0H[EPO<[;
n knecb_�%B�-ROSOUt�/�Tcb_\����GNtTcb_S�/\�Z�?[EPBOC[;
n HOSOUt�/�Tcb_B.Y�!)T�%\H[EPSXLNt�%\����GN�Tcb_S�/\�Z�?[EPBOC[;
n JTKWStOSUcb_T�/apf_bg\46q��H[;
p �9n i^nd hos-v4¥sample¥win-multitask T��\'1H[;n sample.sln \7=Naph]nq�/H[;n �* \(GtQ>GNJ>R[TA,�r%&\2�sIX;
n #Sttask1Ptask2T�%Tc]lp`SM=N,�IX;n FYStdly_tskT��r5��8s\ �GNV[PX=;
2018 H. SHIOZAWA http://vilab.org
17
![Page 18: Operating Systemvilab.org/os2018/OS2018-04.pdf · 2 nuhg5: pnuhgxprocessy5: n# 03' " (9nueso nfvmrwi9 4' ,3,?](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed13ea5b828e25181666d0b/html5/thumbnails/18.jpg)
HOS6µITRON7)10-��
2018 H. SHIOZAWA http://vilab.org
18
/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 19: Operating Systemvilab.org/os2018/OS2018-04.pdf · 2 nuhg5: pnuhgxprocessy5: n# 03' " (9nueso nfvmrwi9 4' ,3,?](https://reader034.vdocuments.net/reader034/viewer/2022042305/5ed13ea5b828e25181666d0b/html5/thumbnails/19.jpg)
HOS<µITRON=*652��
2018 H. SHIOZAWA http://vilab.org
19
4;853;: � ��
dly_tsk delay task �652*!�<��#��=
slp_tsk sleep task �652*��<�����)=
tslp_tsk ��<609/17&.=
wup_tsk wake up task 652����
iwup_tsk ��<�. ,�=
can_wup cancel wakeup 652����*�.�(
rel_wai release wait �)��* ��%
irel_wai ��<�. ,�=
sus_tsk suspend task ��)��+*�$
rsm_tsk resume task ��)��'-*�"
frsm_tsk force resume task ��)��'-* ��"