operating systems

68
Áñ÷Ýò Ëåéôïõñãéêþí ÓõóôçìÜôùí K Ôé åßíáé ôï Ëåéôïõñãéêü Óýóôçìá (ËÓ) K Ç ÄïìÞ êáé ç éåñáñ÷ßá ôïõ ËÓ K Êáôçãïñßåò ËÓ K ¢ëëá ËåéôïõñãéêÜ ÓõóôÞìáôá K Óýãêñéóç åðßäïóçò ËÓ 7 ÊåöÜëáéï

Upload: api-3699729

Post on 13-Nov-2014

43 views

Category:

Documents


4 download

DESCRIPTION

Απλό και κατανοητό, βιβλίο του λυκείου...Για ΛΣ

TRANSCRIPT

Page 1: Operating Systems

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

������������������ ������������������������������������������������ ������������������ ����������������� ������� �!�����

7�������

Page 2: Operating Systems

178 ��������������� �� �������������� �� ����� ���������

��������

������������ ��������� ������������������������������������������ !"#�����$%�����������&����'������������������������������(�� ) #�*� !"#����������������������+����,����--./0�#/!1 � !"#�����$�%��2�����������3������23���'������ �������������������������������������(���������&�������������4����������� ��������$�%��23����������'��������&���(������������4���������������������� ��54������ ��������������� �'����4����(� ���'������� ��6��������������5������� ������������$

7���������������(�5�����(��8��23���� �������������&��+�����'&����9�������,��������8��� �������4������+�����(�54�����������$�%���'&������ �������������4������������&����65��6(��8��23:�� ���&����'���������9�8��8���58��4�����������,���������������, ��� ������8����������������������'8���(�� �&��($

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

;������������8��������+���'������������ ���'��<

� =����'>�������23�������� ������+�������(��������(���� ��(����$

� =����8�'>�������� ' �&�������4'�(�����23����5������4�����3�����?@A������� ������+�������������&������(��� �����23$

� =�����+5������������ ������+������(����������(�������'�(�23$

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

3�����+������������ ���,�������8������� 8(<

� B����4�������������+�'���������54���� ����� ����������� ����4����5���23C

� B�����'�������� ' �&�������4'�(����(�23C

� B���(��'������������������(�������'�(�23����� ������� ���&���������4����������������(C

Page 3: Operating Systems

������� ����� ������������� 179

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

3���������������� ���������&����'�����&���5�:������ ��������� ������������������������������������������$

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

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

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

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

%��������� �����'����� �����(���(�������5(������ �����������;D:���:�&'����:���� 8�5(��$� $�� ������������������ �����������+��������������'��$

%�����������&����'��������� ��� �� ������������� ��������������������� �� �����������������������������$�%�������������������(���4���'�������&��4�'��������� ��������:���,��������������+����,��� ������ ������9����8��4���,�$�%�� �������������������������������������(��'������2������������������23����������&�������������4����� ������������ ������������� ����$

���������������������%���������������������23���E-���#/1F�G) #�*�9EG���'����5���������85�������9��� �������8�� ���4���� ���'����������&��4�'�����8�� ��8����;D:���:&'����:�������5(�����&���9��6�&����$� $������� ������������,(�� '�(����������&�����'�����(� �����������(�� �����8�'�(�����4������������ ��������$

H���23�54���&����������(���� ��(<

�������������(���� �(����(����������������������(��'�����&�������������4���������� �����8�'������������� ��������$��?�&���������������� ����94�����������&�����'�����(� �����������(�� �����8�'�(�����(�+������9 ��..�$�%� ����������������������'������������4�������������� �������������� ��9����������� �,���� ����������������8�'>������� ��5�������������� ���&���59������&������($�I�4����(:�����(������5(������������ ����������+����,� ���4���� ���':�� ������,�������������� ��� �5 �������'���:��������������5�� ���������$�3�����54�������23���������������� ������������������������ �����������(���5�����(� ������� �5 �������'�������������������� ��������($�34���J$K�

7��� ���&����:���4����(�&'����������������������������+�����(���4�'���� ����������&'�������&���5��$��%��23������8�'>�����������������4����:����>�������4�'������&'���:����� '>������5�����:���5�4������� ��4���&���5��������������54������������4,���������4'>��������+����������4�'����������9�������� �����&'���� ��(���&���5��$

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

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

Page 4: Operating Systems

180 ��������������� �� �������������� �� ����� ���������

3��(� �,��(�����5(��8��� �������,�:���4����(�������������5��(�������L����'&��(�9����������������,����4���(9����(���(�� ��������(�����'��(��6� �5��(�������������'�(������ ����������������� '�������(� ��������($

!����������� �(����(����������������������(��'������6�� ���������� �9&��������������'��������������(������ ��������$��H���������� ��������54��� �����(�������(� ����(����;D:�;��:�M'����(:����� 8�5(�$�D ��&��� ���'���� ��6���� ������������� �'��>��������'&���4������� ��'�&����4����8��'&�8�� ��8�:����23��������������&���������,���8�� ��8������ �����9���:�5����,�������� ����4�����������������6�� �'������($

��D '�(����23���5�4���������5������N�0O#/!1���8�� �������8���8��4�9��,��� ���5 ����(������������������4��������?@A$

%��23����������>�������'���� ������������������������ ������������������'���������8(��������������������?@A���'���� �����6������(����������9��5(����������$�%��������������������� ��������������������&'��������� �9����������������������������'�9� 8(�������� ��������9���� �5 ������+���8��'������������$��;��������'�������� ���������+���,�����������:���9+8�������(������5(����(���&����� ��������(� �����'�������������PEQ:�����8(�����5��������������������������������($�%����������������� ���5��������������������'�������54���:���������&�������� ������ �����9���(��'���������������'�$�%�����������&������'���� ����������� �����8�'�(����4�����������������������+���,����������������������������� �����9��������23�������������(���5�����(�������(�������(�����4����$

%��23� ������������������5��:������8(�������"�� �������������� ����������(� ����4��'>���������������������5���4����������������������4�������5���($�%�����4�����23������8(����������������������4����$�%������������������(�����������(������'�(���'�������5�������� ������,�����L����� � 59&��:�� 8(��R:�������6��������������&������������5������������(������9���������,���$

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

I�������(������'�(����(����4���������������������������(� ���� ������'9���<

������������� ��������������������� �!"#!$%&����������

M�����'������&�����+���8��&�������,���8��4���,������������������(

S���� ����������(��8��&�������,�

M����������������������������������8��&�������,�

D ���5 ��������8�������� �����8�'���8��&�������,�

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

D�4,�����(

B������'������4,������(��8�� �������8�

3���&� �'���T�F/1F�

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

Page 5: Operating Systems

������� ����� ������������� 181

U����������G��--/1F�

V&�������

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

M��4�'����4,����&'����

3�������&��(��������8����/��0#!�)�

U�+��������4�'8�

H���4�(� �������8�������8�(����������+�(

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

I&��'�������,�

3����'�&'����

%�������

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

H���23�� �����'����� ����� ������8������<

#�%���$�����'������$�D'������������������������(�23$�%������������+���,9������ �,��������������������������'�������54�������W������&���������������'�(������ ��������$�%�� ����������+����,��� �����8���������9����5���� ��5����������5���������������8�$�I� �����(��'�����������(�� ��9����(���������������'�������������������������������� ��������$

"#�%����������������(����� ����)�D'���������������23����� �'��! �� ��%�&� ������4�'���������&��'�:�����4,���:���������$� $������+����'>���� '9�(�������&����������(�����(�4�����($

�#�%��' ���������(��������������*�������������)�� ���������$�D'���������� �����������������&54������������&'������������������� �����������(�� ��9�����(�������5(������4����:����,(�� '�(�����������+5��������4��������9����� ����������$�%�����������&������'���� ����������� �����8�'�(4�����9�� ��������$

%��23�������������+�����+'�����������(����(:�������������� ����&��$�M��� ����(����������(�&�5(��8��23��'�����*���� + ����������������� �����$

!����"����#���� �%�� �,�������������������������������������������� + ��!�����+�����������������$�U�������23��'4������ ����'���5���������� �������8�9&��&���9��,�:����� �'�(�� �����8����������6�����(�&��� ����,�8���(����(���(��������9�'�(����$��?�&����������������8��'����6� ����5������&��4���� ���'���$

� �� ����� ���������� � ���������������������������� ������������ ���������� ����� �������������!��� ��� ��� ��������������"��������#������������� � �!��������$�����$�� � ���������$%��� ��� �������������

Page 6: Operating Systems

182 ��������������� �� �������������� �� ����� ���������

���$���%����&��#���� �%�����4�����23�����������������8��� ��5��&��$��?�&��������� �����'9����� ��5����������� � 5&8���.�)�� ������ �'���������������������4'�$������ ' �&��������'������������5�������'������� �����8��'�����������5�8(���,9�������������,������ ' �&�����$�%���L�������� ' �&��&�����4�������������9������������� �� ���������,������ ' �&������������5�������($�%����,����� ' �&���(������4'�(�� �����8��'������(�4�����(:���,�������,�������������������� ��������$

H���:��������,������ ' �&���'�������&��4�'�����(���(������(�� �����8�'�(����(� ���+������5(�������5(������ ��������$��3�����,������ ' �&���'�������&��94�'�����8�� �������8���+����,�� ���������������4�����($

%�� ����������8��4���,��� �����8����������23�5���� ����&��5(�&��&�9���'�(� �������>����������� ������������ ���������$�3�����54���������9�,������ ' �&������������������6� �5������,���8�������8�$

���������� ����#� ������������������

��' ���������� ���������(�������)�$

%���������������������������������������4����������65��6��(���4��������9��(��8��� �������,��������� ��4����� ���������������($�I�����������(���9����'�(�23:���+8�������4����������������� ��� ������������:��'������� �9�����8$

��'��� ���������)�����������#������%�*���������������+,-./0123.453�678/4339:;<3��� �,������������?@A� �� &�����'�� ����XY���� � �������5(� �����4��5(��������(������������� �'�(������� ���������5�8���(��������(���5�4����0!1 !.��$

Page 7: Operating Systems

������� ����� ������������� 183

I��4�����(�&���� �����8�������� W�����'�(�������� ��������:������5�8����(&��4�������$I��4�����(����'�>�����������'���Z![���� �'��� ������������ ���� ������:����&�&�5������� ��������(������� ���(� ���+��'�(���5�4��������� ��5&�&��������� �������������������(�� ��������$�?������'�������8(������8&��� ��5�������+��&�����8������,�$�I�� ������(�������������(� �����������&� ���������(������'�(��8��4���,�:��4���>������������ � ������(������'�(��������+�&������������ ��������$�I�� ��������(�� �6����9>�������(������'�(����5(��������������+�&��'�(����(�����5���+������ ����59��������������5(�����'�(��'�������� 8������4���'$�3�����54���:����� ����59������ 5����+�������(�4�����(:�������������6����������$

%��������������4��������������8��������8��I�&���(�D �6�����'�(�'��������&���� ��4������� '&�������6������4����������(������'�(:���8������'�������������������5���$�?������'�� �������>���������� ���������:���,���� ��5������+��'>��������������������� �����4��������&��������(�,��(�������5��(�$�%��4�������&���������6���(�� �����(��(������'�(�����(��������8�(��(�����>�����������������������������������������

�����$

%������������������������������23�����<

\��,���������������������������� ���������-*(.

H�����������������������&���(�� �6�����'�(� ���������������5�������'�������'��� �������������+���$�]����6���������������5�����(������'�(:�5 �� �� �,�����������,��������:��������6�������������59�����(�� ���($�D ��&����������'��&��� ���'����� ��4���'������94��������(���(�������5(:����� ��5������������ �� ��4�����8�������,�$�7��� ���&����:���;D� ��'����� ����:�54�����������,����

���� 8���8��� ��������8�$

\�� �������������������������.

7������������8��'���������'�:����6�������������������������:���5 �� ����� ���5������������,��������(���������'�(� �������� ������ �������$�D '�(:���4������� ����5����������&���5��������(�4��9���(:�����������'4��������8��'�����5������(��(���&�(��8������9��,�$�%��� ��5�����������������(�4����(� ����8�(�����������'�($

%�� ����5��������������23�������� ���������$�3�������4����������������'�������'��� ��4������������� ��������������������� �����������23�����������+5��������5���4��� ������������'������� ���$

U��������������23��'����������� ����:����5(�� �������'�(�4���� ����������������������$�7��� ���&����:����(����� ,���(������+8�$�3��5������4����23�5��(�4����(� ���'����>������������� 8�������4���������4�&��������94�������� �����(������(�4�����($�I���������(��8��4���,���������� ,���(���9 ����������������������������������������������4����� ���� �������������6� �������������������� ���54������ ������'$

�� ����� ��

3����

�����

4����

����������&���������'� �� (

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

�)�� ��

Page 8: Operating Systems

184 ��������������� �� �������������� �� ����� ���������

��'��� ���������)���������%���%��������������������+=>?.9@78;7-559:;<U�������������������������� ���5 ������&��48������(������(���(�������9��:�������5���� ������ �'�� ���'������ ������'�5���&��+�������� ������$

%�� �������������� ��������������������������4����:�����'�������5��� ����������4���� ���'�'��&��+��������������������� ��������$

7��� ���&����:�5��� �������������'�� ��������(�������;D:�5���&������&����>���&�&�5���� �����&'���:���,�5�����'����� ,������������� 8��$

?�� �����8�'���8�� �������8��������;D��'������������ ���������&��,����8��&���� �(��/1#���O- �$�]����5��� ������:� ����6� ����'����� �����;D:�>�����������������'������&��@�6�&���� $4����� 8��:��������5�����5�����9�����������&���� �(������;D$�?��;D�&���� ��������6� �5������������ ��������(������6� ����'��� ��������$

%�������� ����5��������������23��'����� ��������6�� �'���8��&��+�9�8��������,������� ��������$�%��� ��5������'������'8������4������ �����5(� ���5������������5(��������6���(�� �&��(�������������(�� ���9�����$�D '�(:�� ��4����'8������4�������������8�(��8��&��+��8�� �����9��8�:�����'�5��� �������&��� ���5������������,������� ������������:�����4���� ���'� �����������������(�������5(������ ��������$

%������5��������������23��'����� ��� �����������$�7��� ���&����: �5 ������� ��4������&��5(���4���5(� ������'�(�����4,��������� ��������(� ��� �&�����(� ��� ��������� ��5������� ��������5�������(������� ��9������($

��'�'� ���������)����������������������������������+A954B10-79:;<%����������������������������������4������4���� �����������4����� ���9��������������� ��� �����������$�H�������������������23������������������ ����������� ��4���5���������� �������8������ �'�� ���5���������6�9 ��������� ������;D$��D � �5����8(����23�&���5����5����4����&����������� �'�(����������������(���&���������,���(� �������>�����4�������(��#/*���:��������������������'������4������(��;D�������� ����������'����5�����������5���$�M��&����;D��6� ����'�&��&�4����������� ���������&���5��9���(�������5���� �������5�������5��� ����4�����$�U�������4�������&���������>������"�����������������,�����������������8(��'����������&5��������&�������5 ���$

B��������������������'������������23��'������8(��6�(<

?��;D�&���'���������� �,��� �������������4'>�������5��������$�;���( �������5�������5���4�������&�����������������4���������4�������(� ������5�������&���� �(:���;D��������������5�������� ��������(������������4����&��������(��������������&��������(������ ����� ������$�;5�����5����������5���4�������&��������;D����54����6� ��������������� ��9��������������� ����5L���������4���$�U�������4�������&����������>���� ��'�&�(����������'>����������%$

���������� ���� ����� � � �$*

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

�� �� ���� ���������� �� ��*

���

����������

���� ��

B��������̂

B��������K

B��������_

B��������̀

B��������X

Page 9: Operating Systems

������� ����� ������������� 185

?����5��������� �,���� ��������(��������4����':�����������,�����&����9��4������ ���&���'����������������� ���� �� ��������$�;��������� ��������6� ����������������� ��������$�U���� ���� ��������&��>����6� �5�9��� ������;D��������,���� ��������6�����4������ �������&���'�����:�������4'>�����6� �5�������� ������ ��������($

%����������������������4��������� ����������&�����'������JY������� 59���L�����&���������4�������(���������(�� ���������� �� �����(�4�����($�����4����(� ���'����54���5���������������������� ���������������&�5��������� ����������������� �����8��'�&����������������$�D ��&�:������������(4����(��(�� �����8�'�(��������,���������� ������������������+����� ��������8������������D'��&�(�9�H6�&�(����;D��������������������������6� ����'����������4�����5���:�,�������5��(�� �������(����54���������� 89������54������&������������������������ ��������$

%�������� ����5��������������23��'������6��+�������������� ����������6� �����'�5������5����������4�������&�����$�%����4�����&�����'���� ���9������������� ��� �����������:�&��&�������6���(�� �&��(����8 ������(��4���(��8��������,����������'8������4������ ����8�(��8� �������8�$

%������5���������'�������65�� ��� �����������$�7��� ���&����:�������;D������'����� ��5��� ����������5��������:���� �5 ��:������� ����5L������ �,������ ���'��������4'�������� �6�����'������� �������'�������,( ����'4�����������$�U�������� ����������������������� �5 ������� �����������5��(� ���+��'�(�������� ������� �����������' ��:�������� ���':�����6������'�����������:��������4'�������� �6�����'�����$

��C D��� ���������)��������

%����'��23� ������+5������� ��5������������(����������'���8�����������9�,��������8�$�]������23� �������������������������������4�������9���������(�������� ������������ ��� ���5+����$�D '�(:����� ��6��(���94�����'�(�������'(�� 8(����&'����:��� ��6� ���,��� �6������,�����5���������$� $��&���������5���6����5������� ��� �����23����� �'��������9�������������5��4�����������������������$�I���5���� �������������23��'���<

��������%����%�*�������+=>?.9@78/43387�123.453<%��23� ���� �6�����'�(�� ��������������� �������5(� ���&���5����� ������9�����(�� ��5����� �6������5($�U�����������������������������4���� ����� ��� �������������������������4�����:������� � �5���54������&������9����������(�����5������(�� �6�����'�(�����(�&���5����(�� �6������5($

3����������23��'������ ��������� �������� �6�����'�� �������8�:�+��:����� ���&����:������� �6�������(� ���'�����6� ����'�5���&��+������� ������$

���� +���� � ������������������������� ��� ��������#��*�� ������������� ��������� � ����������������',-./0*-123(

Page 10: Operating Systems

186 ��������������� �� �������������� �� ����� ���������

��������#����$�+E4.F87G�[email protected]:;�123.453<%��23�&����8��4���� ������������&'����� ���8 ��,��� �������,�$������� �9�������(���54������&���������� ����23:���������4�����(���8�'>�������� ��6��8����8��� �������,�$�%��23�&������� ��54�������(�4�����(���&���������� ����9�8�'�(��������+���(�&�&�5�8���� ��� ������������� ��������$

I�����&���������+J93.79K>.4L�123.453<%��������5���23�� ��������������&'������ �������,�� ���� �����8���������5(��L��(���4����($�3W�5����5�����&'��������� �������5(� ������� ���9����� ���������&��+5�������������������������5����(������������(�&������9��(:���������4�����(�����&����'����������'�������8�'>�������������������&�9�����$

H���������5���23��+��'>�������������4���������5��� ���&���������9�������(�� �6�������:�������� �6�����'����8�� �������8�������� ���9������8����4�'8�� ���'�����'���������� ���&� ����� �������������&����������� ������'����&���5���(�$�%�� ���������������5���23��'���� ���� ��� ��������&�������������� �'������($

��������%���������������+M4-?BA954�123.453<;���������+��23��'���������������� ����������4����������.9#/*��G) #�* �$%���23� ����������4�������'������&�������� �������4���� ��������:������� ��94���������5(�4�����5(�� �������(���������������8����(���������'�(������ �9�������$�%����������������4���� �����������4�����������5���4�����8�����9&8�:�� 8(:����� ���&����:����4����,�����&8�� ����8��($

H���23� ����������4������54�����+,(�����5���(�4�������(� ���������($3��5����5������������'��������������(����'�(��� �6�����'������'�����5����W�����(����(��4�������(�� ���������($�H���������� ����������4��������8��'9�����������������'��8���:����������� ����5+�������8����� ��5�����5�������(�������(�4�������(� ���������(� ���54���� �����������'$�U���:�������'����������������������������4�����:�� ������������ ����������������9��(��'����� ���� ������������������������&���(�� �6�����'�(:�� ���&��� ��4������������4������'� ��������'$

V�����������65��6��8���23���������������65��6��(���4����������(��8�� �������,��������������������������23� ����������������� �������������5(����'����4�(�����(�����5(��8��� �������,�$

/�0�� �/123&/133 I��� �������5(�4���� ������&���� ��(�������4�'�(�����$�M���� ��4��������������23

4�0�� �/133&/153 I��� �������5(�4���� ����������>'����$D+��'>���������23���&���(�� �6�����'�($

6�0�� �/153&/178 23�B��� ���������������������������S�����$

Page 11: Operating Systems

������� ����� ������������� 187

S�����&����(����������(����($B���� �6�����'�$

2�0�� ���/178 D+����� ���8 ��,��� �������,����������,����� ����� �����'�(��23�QG9aEG:�bcde�$�f ��6� ������8�

������8�:�&����8��� �������,������������59�8��������8�$

��N ����������%�#����� �

;����� ���&����� �����������'������+���'��� �������������� �����������'����,��23��I�&���(�D �6�����'�(:�B��� ���������������������������S��9��������,(������&��+�������(�� �&����(� ��� ���+5����$

7�����(�������(����� ���&�'����(���8���������� ��4������'��5�����������5���� ��������:��������� �'����8�'>������(�� �������(����(����4����� �6�����'�(��� ��4�����;D�:����,(��������4�����������(���������'�(�����&���6�&��$

%�� ����������54�����������������(� ������8�������(�����4�����5(����&�(�$

� � ����� ��!�"�!�� #$��%�

B����$^ _ K K J

B����$K _ ` ^ g

B����$_ K K _ J

3����� g g h KK

;��� ��������������5�����8�� �������8�����,�����5���23�I�&���(D �6�����'�(��'���<

?����5��������23��B��� �����������

������9�����

^ K _ ` X h J g i ^Y ^^ ^K ^_ ^` ^X ^h ^J ^g ^i KY K^ KK K_ K`

-*( ^ ^ ^ K K K _ _

'����� ^ ^ K K K K _ _

(�������� ^ ^ K _ _ _

������9�����

^ K _ ` X h J g i ^Y ^^ ^K ^_ ^` ^X ^h ^J ^g ^i KY K^ KK K_ K`

-*( ^ ^ ^ K K K _ _

'����� ^ ^ K K K K _ _

(�������� ^ ^ K _ _ _

Page 12: Operating Systems

188 ��������������� �� �������������� �� ����� ���������

?����5��������23������������S�����

%��� ����5������8�����,�������5��8������L'>����������� '�����J$^$

����������

; ��������� �������������������������(�4����(����5���(������8�����,� �������8���'�������������������(����� ��' �8���8��23� ��� �����9�������������������5����4������� j��:������� ��' �8��� �6�����'�(�����&��'&�($%��'&�������'�������������4����� ���������&�(��;D�����D���&���9�D6�&��������������5($�3��� ,(:������������������ ���+5�������� ������������6�� �'���8�����&8��������������(�������� ' �8������� �&��������������($�%�� ���&���������(��(� ������+����'���� ����� �� ��5����+��� ����������� ���+�������(�� ��������(��'���� ��� ����������4�'(����9+��5(������;D��������������5(�D���&���9�D6�&��$��3�� �������5(��������(�54��� �&��4��'����������������������������S������54������������� �&���� ���������&��$�D '�(:��'�������� ���k&'����l:�&��&��������8 '>����������'&����� ��������� ����������'����'����������'����'���������$�%��� ��5������'�����������'>���� �,������ ��������� ���54�������5(�� �������(:���,�����������������������$�%�� ��������� ���54���� ������(�� �������(���9���,����������'&��� ��' ���4����$

%���������'��+�������� ���'���� �������'��������� ���&����� ���4�9��� ������$��3��� ��' �8��23������������S�������&��+��������������8�����,�� �������8���'�������(�_�4�����5(����&�(����� ���� ��������� ���&��+���� ��� �������>������������&���23$

O��P��$��

%��23��'����5���������� �������8�� ������ ��54��<

�����&��4�'�����8�� ��8��������������(������ ��������$

�����&�����'�����(� �����������(�� �����8�'�(������4������������ ��9����������$

H���23�� �����'����� ����'��������5������ �����:������������4�'8�:���+����$

����� ��� ����� ��� ����� ����� ����������� �������� $����./ $����.4 $����.6��������� ������

�! ��(��:����� KK `` J ^X KK

$����������� ���� ^X K_ J ^^ ^X

-���� ����9����� ^` KY ^Y ^_ ^^

����&����

^ K _ ` X h J g i ^Y ^^ ^K ^_ ^` ^X ^h ^J ^g ^i KY K^ KK K_ K`

�;D ^ K _ ^ K _ ^ K

M'���( _ _ ^ ^ K K K

D��� 8��( _ _ _ ^ ^ K

Page 13: Operating Systems

������� ����� ������������� 189

%������4�����23������������������8��� ��5��&��:�� ������������ '9 �&��������'�'����������5�������'�$�I��4�����(�������� ������������(�� �9����8����������������,������ ' �&�:���,�������,������ �����8��������������$�%��23����������������65��6��8��� �������,���������������������������� ��������'�������23�I�&���(�D �6�����'�($�B��� ��������������������9�������S�����$�=�,�����23��'����������������B���� �6�����'�(:�M����8�:������5�8��������8������B����������S�����$�%��23������������S��9����� ����4��������������� �&�������45�������23�I�&���(�D �6�����'�(����B��� �����������$

Q�$������R�������������RS&��������T�����

$̂ %���'�����5���23C

K$ B��!���'�������������'���� �'����(�2������������3�������(C

_$ 3��5��� ���������� ��� ���������������������������4������������'4�����(������>��������������������4����$�U���� ���'����54���8(�� ��59����� ����� �����������+�����($�U��+5�����&���� ������$

$̀ B�����'������������������� ����5�������� ���� �����������C

X$ M,����5��� ����5�����8��������8�� ���� �6�����'�($

h$ B�����'�������������������4��������������8�� ������8��� 8��23<

�$�M��'&8��m�#0���9��$������������4�������n/*��G���/1F��9��$�B���������4������P��.�n/*���9�&$�������5���a/ #�/[O#���

U�V�����P�

/.�*.$.*�������;�D����8������� ���+�����:�D�&����(�D$�; 5����̂ iii

4.��.<=>?@ABCDEFG&H.I.JE>K=L;�E-���#/1F�G) #�* �R!10�-# :�o��/ !19p� .�):^iig$

���M.-.-�"���;�3��������A �������,��VV:�2�������������������:�����&�9����(�̂ iih

2.��.<.NEL@L?EOP;�3��4�����2�����������3�������:�q�&����(�B� ��8�9�'��:�%��(�U�����r:�̂ ii_@^ii`$

3.��.*. Q=BF@A &R.S. TEU@A;� sO1��*�1#�. � !"�E-���#/1F� G) #�* :�Q�0*/..�1q�O0�#/!1�tna:�̂ igg$

����"������#�#������

�##-<@@-�!�1/N$O0�$��O@*/ @[ ��^JY@t�0#O�� @t�0#g@ .�YYg$�#*

I�����(�����(� ���+5�������������� ��&���'���4���������������'����5�����������������������,(�������(���������'�(�� ���� �����'$

�##-<@@���$0 $O* .$��O@u �1Z/v@0 _Jh@/1#�!$�#*.

D����8���������������������������$

Page 14: Operating Systems

190 ��������������� �� �������������� �� ����� ���������

&*��������#�)

���������(�4����� $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$n/*�� ���/1F

������5����� ����� $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ a/ #�/[O#���G) #�*

I�&����� �6�����'� $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ m�#0���T�!0� /1F

B���� �6�����'� $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ QO.#/-�!0� /1F

B��� ����������( $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$QO.#/-�!F��**/1F

3�������� ����������4����� $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ P��.�#/*�� ) #�*

S�������( $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ n/*��

Page 15: Operating Systems

8ÊåöÜëáéï

Äéåñãáóßåò

u Ç Ýííïéá êáé ôï ìïíôÝëï ôçò äéåñãáóßáòu ÊáôáóôÜóåéò êáé Êýêëïò ÆùÞò Äéåñãáóéþíu ÓõíèÞêåò Áíôáãùíéóìïý êáé ÄéáäéåñãáóéáêÞ åðéêïéíùíßáu Áìïéâáßïò Áðïêëåéóìüò êáé Êñßóéìá ÔìÞìáôá Äéåñãáóéþíu Áðëïß Ìç÷áíéóìïß Áìïéâáßïõ Áðïêëåéóìïýu Eíåñãüò ÁíáìïíÞ êáé Áðåíåñãïðïßçóç-Áöýðíéóçu Óçìáôïöïñåßòu ×ñïíïäñïìïëüãçóç ÅðåîåñãáóôÞ

Page 16: Operating Systems

192 Ôå÷íïëïãßá õðïëïãéóôéêþí óõóôçìÜôùí êáé ëåéôïõñãéêÜ óõóôÞìáôá

ÅéóáãùãÞ

Óôï êåöÜëáéï áõôü èá áó÷ïëçèïýìå ìå ôï ìïíôÝëï ôùí äéåñãáóéþí ôï ïðïßïìáò âïçèÜ óôçí êáôáíüçóç ôçò ëåéôïõñãßáò åíüò õðïëïãéóôéêïý óõóôÞìáôïò. ÔïìïíôÝëï Ýììåóá ìáò âïçèÜ íá êáôáíïÞóïõìå êáé ó÷åäéáóôéêÜ èÝìáôá ðïõ áöï-ñïýí ôçí ÊÌÅ. Óôçí áñ÷Þ ôïõ êåöáëáßïõ èá ìåëåôÞóïõìå ôçí Ýííïéá êáé ôï ìïíôÝ-ëï ôçò äéåñãáóßáò. Èá ãíùñßóïõìå âáóéêïýò ìç÷áíéóìïýò ðïõ óõíôåëïýí óôçí õëï-ðïßçóç êáé ôç äéá÷åßñéóç ôùí äéåñãáóéþí áðü ôï óýóôçìá êáé èá åîåôÜóïõìåðñïâëÞìáôá ðïõ äçìéïõñãïýíôáé óå óõóôÞìáôá ðïõ õðïóôçñßæïõí ðïëëÝò ôáõ-ôü÷ñïíåò äéåñãáóßåò.

Óôç óõíÝ÷åéá èá ìåëåôÞóïõìå ìç÷áíéóìïýò ðïõ åããõþíôáé ôçí ïñèÞ ëåéôïõñãßáóõóôçìÜôùí ìå ðïëëÝò ôáõôü÷ñïíåò äéåñãáóßåò. Èá áó÷ïëçèïýìå ôüóï ìå áðëïýò,üóï êáé ìå ðéï óýíèåôïõò êáé éó÷õñïýò ìç÷áíéóìïýò åðéêïéíùíßáò, óõíåñãáóßáò êáéóõã÷ñïíéóìïý ôùí äéåñãáóéþí óå Ýíá óýóôçìá. ÔÝëïò, èá äïýìå ðþò ïé ìç÷áíéóìïßáõôïß äßíïõí åðáñêåßò ëýóåéò óå óõíçèéóìÝíá ðñïâëÞìáôá äéáäéåñãáóéáêÞò óõíåñ-ãáóßáò.

Óôï ôåëåõôáßï ìÝñïò ôïõ êåöáëáßïõ èá ìáò áðáó÷ïëÞóåé ï ôñüðïò ìå ôïíïðïßï ðñáãìáôïðïéåßôáé ç ôáõôü÷ñïíç åîõðçñÝôçóç äéåñãáóéþí óå Ýíá óýóôçìáðïëõðñïãñáììáôéóìïý. Èá ìåëåôÞóïõìå áëãüñéèìïõò ðïõ ïñßæïõí ôç äéáäï÷Þ ôùíäéåñãáóéþí óôçí ÊÌÅ êáé èá åîåôÜóïõìå ôéò ðáñáìÝôñïõò ôùí áëãüñéèìùí áõôþíðïõ åðçñåÜæïõí ôçí áðüäïóç ôùí óõóôçìÜôùí.

Äéäáêôéêïß óôü÷ïé

Ìå ôçí ïëïêëÞñùóç ôïõ êåöáëáßïõ, èá ìðïñåßôå íá ðåñéãñÜöåôå êáé íá áíá-ëýåôå:

t ôçí Ýííïéá ôçò äéåñãáóßáò,

t ôïí ôñüðï äçìéïõñãßáò êáé ôïí êýêëï æùÞò ôçò êáèþò êáé ôç âáóéêÞ äéá÷åßñé-óç ôùí äéåñãáóéþí áðü ôï óýóôçìá

t èá Ý÷åôå áöïìïéþóåé ôçí áíÜãêç ôçò äéáäéåñãáóéáêÞò åðéêïéíùíßáò.

t èá ìðïñåßôå íá ðåñéãñÜøåôå ìå ôïõò êõñéüôåñïõò ìç÷áíéóìïýò áëëçëåðß-äñáóçò, óõíåñãáóßáò êáé óõã÷ñïíéóìïý ôùí äéåñãáóéþí ïé ïðïßïé åîáóöáëß-æïõí óôï óýóôçìá ôç äõíáôüôçôá íá ëåéôïõñãåß ïñèÜ êáé áðïäïôéêÜ.

ÐñïåñùôÞóåéò

Óôï êåöÜëáéï áõôü áðáíôþíôáé åñùôÞìáôá üðùò:

ü Ôé åßíáé ïé äéåñãáóßåò êáé ôé åßíáé ôï ìïíôÝëï äéåñãáóéþí;

ü Ðïéåò åßíáé ïé êáôáóôÜóåéò ìéáò äéåñãáóßáò êáé ðþò áõôÝò ìåôáâÜëëïíôáé;

ü Ðþò ãßíåôáé ç õëïðïßçóç êáé ðþò ç äéá÷åßñéóç ôùí äéåñãáóéþí;

ü Ðïéá ðñïâëÞìáôá åìöáíßæïíôáé óå óõóôÞìáôá ìå ðïëëÝò ðáñÜëëçëåò äéåñãáóßåò;

ü Ðþò ëýíïíôáé ôá ðñïâëÞìáôá äéá÷åßñéóçò ôùí ðïëëþí ðáñÜëëçëùí äéåñãáóéþí;

Page 17: Operating Systems

Äéåñãáóßåò 193

8.1 Ç Ýííïéá êáé ôï ìïíôÝëï ôçò äéåñãáóßáò

Ôá óýã÷ñïíá óõóôÞìáôá õðïëïãéóôþí åßíáé óå èÝóç íá åêôåëïýí ôáõôü÷ñïíá ÝíáìåãÜëï áñéèìü åñãáóéþí åíüò Þ ðåñéóóüôåñùí ÷ñçóôþí. ÐáñÜëëçëá ìå ôéò åñãá-óßåò ôùí ÷ñçóôþí, ôï óýóôçìá óõ÷íÜ åêôåëåß êáé åóùôåñéêÝò åñãáóßåò äéá÷åßñéóçòêáé óõã÷ñïíéóìïý. ̧ íá ôõðéêü óýóôçìá ìðïñåß óôï ßäéï äéÜóôçìá íá äéáâÜæåé áðüÝíá äßóêï, íá åêôåëåß êÜðïéïõò ðïëýðëïêïõò õðïëïãéóìïýò, íá ìåôáöÝñåé äåäïìÝ-íá ìÝóù äéêôýïõ êáé íá åêôõðþíåé Ýíá ó÷Ýäéï óå êÜðïéïí åêôõðùôÞ. Ó� Ýíá óýóôç-ìá êáôáìåñéóìïý ÷ñüíïõ (time-sharing system), ç ÊÌÅ äéáôßèåôáé äéáäï÷éêÜ óåäéáöïñåôéêÜ ðñïãñÜììáôá ãéá ôçí åêôÝëåóç êÜðïéïõ ìéêñïý ìÝñïõò ôïõ êáèåíüòãéá êÜðïéá ÷éëéïóôÜ ôïõ äåõôåñïëÝðôïõ. Óôïõò ÷ñÞóôåò ôïõ óõóôÞìáôïò, ç ôá-÷åßá áõôÞ åíáëëáãÞ ôùí ðñïãñáììÜôùí óôçí ÊÌÅ äßíåé ôçí øåõäáßóèçóç ôçòôáõôü÷ñïíçò åðåîåñãáóßáò. ÖõóéêÜ êÜèå óôéãìÞ ìüíï Ýíá ðñüãñáììá åßíáé åíåñãüóå êÜèå ÊÌÅ ôïõ óõóôÞìáôïò. Ç øåõäáßóèçóç ôçò ôáõôü÷ñïíçò åêôÝëåóçò ðñï-ãñáììÜôùí óå ìéá ÊÌÅ óõ÷íÜ áðïêáëåßôáé øåõäïðáñáëëçëéóìüò (pseudoparallelism)óå áíôßèåóç ìå ôïí ðñáãìáôéêü ðáñáëëçëéóìü, üðïõ óôï óýóôçìá åêôåëïýíôáéðáñÜëëçëá ðñïãñÜììáôá óå ðåñéóóüôåñåò ôçò ìßáò ÊÌÅ.

Ç ðïëõðëïêüôçôá ôùí óçìåñéíþí óõóôçìÜôùí ìáò Ý÷åé ïäçãÞóåé óôç äçìéïõñ-ãßá ôçò Ýííïéáò êáé ôïõ ìïíôÝëïõ ôçò äéåñãáóßáò, ìå ôç âïÞèåéá ôçò ïðïßáò ìðï-ñïýìå íá ìåëåôÞóïõìå, íá ó÷åäéÜóïõìå êáé íá äéá÷åéñéóôïýìå ó÷åôéêÜ åýêïëá üëáôá óõóôÞìáôá õðïëïãéóôþí.

Óýìöùíá ìå ôï ìïíôÝëï ôçò äéåñãáóßáò (process model), üëá ôá åêôåëïýìåíáðñïãñÜììáôá óôï óýóôçìá, ìáæß êáé ôï ßäéï ôï ËÓ, áðïôåëïýí Ýíá óýíïëï áðüóåéñéáêÝò äéåñãáóßåò (sequencial processes).

Ìéá äéåñãáóßá (process) åßíáé Ýíá ðñüãñáììá óå åêôÝëåóç.

Óå áíôßèåóç ìå ôï ðñüãñáììá, ôï ïðïßï åßíáé êÜôé óôáôéêü, ç äéåñãáóßá åßíáé ìéáïíôüôçôá äõíáìéêÞ êáé ðåñéëáìâÜíåé êáé Üëëá óôïé÷åßá åêôüò áðü ôï ðñüãñáììá.Ãéá ðáñÜäåéãìá, ìéá óõíôáãÞ öáãçôïý åßíáé Ýíá ðñüãñáììá. Ôï åã÷åéñßäéï ôùíðñþôùí âïçèåéþí åßíáé Ýíá Üëëï ðñüãñáììá. ¼ôáí üìùò óõãêåíôñþóåôå ôá õëé-êÜ ôçò óõíôáãÞò êáé îåêéíÞóåôå íá öôéÜ÷íåôå ôï öáãçôü, ôüôå:

t Ç óõíôáãÞ åßíáé ôï ðñüãñáììá, ï áëãüñéèìïò äçëáäÞ ðïõ èá äþóåôå ãéá ôçäçìéïõñãßá ôïõ öáãçôïý.

t Åóåßò åßóôå åêåßíïò ðïõ èá åêôåëÝóåé ôç óõíôáãÞ, ôï ðñüãñáììá äçëáäÞ. Åßóôåôï áíôßóôïé÷ï ôçò ÊÌÅ.

t Ôá õëéêÜ ôçò óõíôáãÞò, ôá ïðïßá ÷ñçóéìïðïéåßôå, åßíáé ôá äåäïìÝíá åéóüäïõ(input data).

t Ç äéáäéêáóßá åêôÝëåóçò ôçò óõíôáãÞò (ðñïãñÜììáôïò) áðü åóÜò (ÊÌÅ) ìå ÷ñÞ-óç ôùí õëéêþí (äåäïìÝíùí åéóüäïõ) ãéá ôçí ðáñáãùãÞ ôïõ öáãçôïý (äåäïìÝíáåîüäïõ) åßíáé ç äéåñãáóßá.

t Ôï öáãçôü ðïõ èá öôéÜîåôå åßíáé ôï áðïôÝëåóìá (ç Ýîïäïò) ôçò äéåñãáóßáò.

Áí ôþñá ÷ñåéáóôåß íá äéáêüøåôå ôçí åíáó÷üëçóÞ óáò ìå ôçí åêôÝëåóç ôçòóõíôáãÞò, ãéá íá áêïëïõèÞóåôå ôéò ïäçãßåò ôïõ åã÷åéñéäßïõ ðñþôùí âïçèåéþí, ãéá-ôß êáÞêáôå, ôüôå:

t Áðïèçêåýåôå óôç ìíÞìç óáò ôï óçìåßï óôï ïðïßï åß÷å öèÜóåé ç åêôÝëåóç ôçò

Page 18: Operating Systems

194 Ôå÷íïëïãßá õðïëïãéóôéêþí óõóôçìÜôùí êáé ëåéôïõñãéêÜ óõóôÞìáôá

óõíôáãÞò (ç ÊÌÅ öõëÜóóåé ôçí êáôÜóôáóç ôçò äéåñãáóßáò ðïõ äéáêüðôåôáé).

t Áñ÷ßæåôå íá åêôåëåßôå ôï ðñüãñáììá �ðáñï÷Þ ðñþôùí âïçèåéþí óå ðåñßðôù-óç åëáöñïý åãêáýìáôïò�. ÐÜëé åßóôå ôï áíÜëïãï ôçò ÊÌÅ, ôï åã÷åéñßäéï åßíáéôï ðñüãñáììá, ç áëïéöÞ åãêáýìáôïò åßíáé ôï äåäïìÝíï åéóüäïõ, êáé ôï öñïíôé-óìÝíï óáò êáìÝíï ÷Ýñé åßíáé ç Ýîïäïò ôçò äéåñãáóßáò. ¸÷åôå ðåñÜóåé óå ìéáÜëëç äéåñãáóßá.

t Ìüëéò öñïíôßóåôå ôï ÷Ýñé óáò, óõíå÷ßæåôå ôçí åêôÝëåóç ôçò óõíôáãÞò, áí äåíÝ÷åôå öèÜóåé ðïëý áñãÜ (åõôõ÷þò óôï óýóôçìá äåí êáßãåôáé ïýôå êáôáóôñÝ-öåôáé êáìéÜ äéåñãáóßá áðü ìüíç ôçò).

¼ðùò êáé óôï öõóéêü êüóìï, Ýôóé êáé óå Ýíá óýóôçìá õðïëïãéóôÞ, åêôüò áðüðåñéðôþóåéò êáôáóôÜóåùí áíÜãêçò, üðïõ ç åíåñãÞ äéåñãáóßá äéáêüðôåôáé ðñïòåîõðçñÝôçóç êÜðïéáò Üëëçò ìå õøçëüôåñç ðñïôåñáéüôçôá, ç ÊÌÅ áó÷ïëåßôáé äéá-äï÷éêÜ ìå ðïëëÝò äéåñãáóßåò ðïõ ðåñéìÝíïõí åîõðçñÝôçóç. Ç ìÝèïäïò ìå ôçí ïðïßáãßíåôáé ç äéáäï÷Þ ôùí äéåñãáóéþí óôçí ÊÌÅ ïíïìÜæåôáé áëãüñéèìïò ÷ñïíïäñïìï-ëüãçóçò (scheduling algorithm) êáé ç äéáäï÷Þ ôùí äéåñãáóéþí óôçí ÊÌÅ ïíïìÜæå-ôáé ðïëõðñïãñáììáôéóìüò (multiprogramming).

Ó÷Þìá 8.1 Ðïëõðñïãñáììáôéóìüò. Ç ÊÌÅ äéáôßèåôáé äéáäï÷éêÜ óôéò äéåñãáóßåò ôïõ óõóôÞìáôïò,

åîõðçñåôþíôáò êÜèå ìßá áðü áõôÝò ãéá ïñéóìÝíï ÷ñïíéêü äéÜóôçìá.

Ôï ìïíôÝëï ôùí äéåñãáóéþí, óýìöùíá ìå ôï ïðïßï ïôéäÞðïôå áðáó÷ïëåß ôçí ÊÌÅôïõ óõóôÞìáôïò åßíáé äéåñãáóßá, ìðïñåß íá ÷ñçóéìïðïéçèåß ãéá ôçí áíÜëõóç, ó÷å-äßáóç êáé äéá÷åßñéóç êÜèå óõóôÞìáôïò õðïëïãéóôÞ. Ôï ìïíôÝëï âñßóêåé åöáñìïãÞêáé óå óõóôÞìáôá ðïõ äåí åðéôñÝðïõí ôçí ôáõôü÷ñïíç åðåîåñãáóßá äéåñãáóéþí,üðùò ôï ËÓ MS-DOS. Óôá óõóôÞìáôá áõôÜ õðÜñ÷ïõí äéáêïðÝò (interrupts) ðïõáíáóôÝëëïõí ôçí åêôåëïýìåíç äéåñãáóßá, ãéá íá åîõðçñåôÞóïõí óõìâÜíôá óçìá-íôéêÜ ãéá ôï óýóôçìá, üðùò ç åããñáöÞ óå áñ÷åßï (äéáêïðÝò äßóêïõ), ç åíçìÝñùóçôçò ïèüíçò Þ ç åêôýðùóç. Áí èåùñÞóïõìå ôïõò åîõðçñåôçôÝò ôùí äéáêïðþí áõ-ôþí ùò äéåñãáóßåò (äéåñãáóßåò äßóêïõ, ïèüíçò, óåéñéáêþí èõñþí ê.á.), ôüôå ìðïñïý-ìå íá ìåëåôÞóïõìå êáé áõôü ôï óýóôçìá ìå âÜóç ôï ìïíôÝëï äéåñãáóéþí.

Page 19: Operating Systems

Äéåñãáóßåò 195

ÅëáöñéÝò Äéåñãáóßåò - ÍÞìáôáÓå Ýíá ËÓ êáôáìåñéóìïý ÷ñüíïõ, êÜèå óôéãìÞ åêôåëïýíôáé ðïëëÜ ðñïãñÜììáôá,åßôå ôïõ ËÓ åßôå ôùí ÷ñçóôþí. ÊÜèå ðñüãñáììá åßíáé ãéá ôï ËÓ ôïõëÜ÷éóôïí ìßáäéåñãáóßá. Ìðïñåß üìùò êáé Ýíá ðñüãñáììá íá åêôåëåß åñãáóßåò ðáñÜëëçëá, üðùòôï ðñüãñáììá êñÜôçóçò åéóéôçñßùí óôá ãñáöåßá ìéáò áåñïðïñéêÞò åôáéñåßáò.

Óôïí êåíôñéêü õðïëïãéóôÞ ôçò åôáéñåßáò åêôåëïýíôáé ðïëëÝò åöáñìïãÝò êáé ìéááðü áõôÝò åßíáé ôï ðñüãñáììá êñÜôçóçò åéóéôçñßùí. Ç åôáéñåßá Ý÷åé ðïëëïýò ðñÜ-êôïñåò ðïõ ÷ñçóéìïðïéïýí ôï ðñüãñáììá êáé êÜíïõí êñáôÞóåéò ôáõôü÷ñïíá.

Ôï ðñüãñáììá êñáôÞóåùí åßíáé ÷ùñéóìÝíï óå ôìÞìáôá ðïõ åêôåëïýíôáé ðá-ñÜëëçëá êáé ôï êÜèå Ýíá áðü áõôÜ åîõðçñåôåß Ýíáí ðñÜêôïñá. Ôï êÜèå ôìÞìá èáìðïñïýóå íá åßíáé ìéá äéåñãáóßá. ¼ìùò ç åíáëëáãÞ ôùí ôìçìÜôùí ôïõ ßäéïõ ðñï-ãñÜììáôïò óôçí ÊÌÅ ôïõ õðïëïãéóôÞ Ý÷åé ìéá éäéáéôåñüôçôá óå ó÷Ýóç ìå ôçíåíáëëáãÞ äéáöïñåôéêþí ðñïãñáììÜôùí óôçí ÊÌÅ:

Ôá áíåîÜñôçôá ôìÞìáôá ôïõ ðñïãñÜììáôïò ÷ñçóéìïðïéïýí üëá ìéá êïéíÞ ðå-ñéï÷Þ ôçò ìíÞìçò (ð.÷. ôéò ßäéåò ìåôáâëçôÝò üðùò ï áñéèìüò ôùí åëåýèåñùí åéóéôç-ñßùí), åíþ áõôü äåí óõìâáßíåé ìåôáîý äéáöïñåôéêþí ðñïãñáììÜôùí.

Ãéá ôï ëüãï áõôü, ïé åíÝñãåéåò ðïõ áðáéôïýíôáé ãéá ôçí åíáëëáãÞ ôìçìÜôùíðñïãñÜììáôïò óôçí ÊÌÅ åßíáé Üëëåò êáé ãåíéêÜ áðëïýóôåñåò áðü ôéò åíÝñãåéåòðïõ ðñÝðåé íá êÜíåé ôï ËÓ ãéá åíáëëáãÞ ðñïãñáììÜôùí (äéåñãáóéþí) óôçí ÊÌÅ.

Ãéá ôçí áðïäïôéêüôåñç ëåéôïõñãßá ôïõ ËÓ, ôá ôìÞìáôá ðñïãñáììÜôùí ðïõåêôåëïýíôáé ðáñÜëëçëá óõíÞèùò äåí õëïðïéïýíôáé ùò äéåñãáóßåò, áëëÜ ùò åëá-öñéÝò äéåñãáóßåò (lightweight processes) Þ íÞìáôá åêôÝëåóçò (execution threads) ÞáðëÜ íÞìáôá (threads).

Ôá íÞìáôá Ý÷ïõí ðïëëÝò ïìïéüôçôåò ìå ôéò äéåñãáóßåò áëëÜ êáé äýï äéáöïñÝò:

t ̧ ÷ïõí üëá ðñüóâáóç óå ìéá êïéíÞ ðåñéï÷Þ ôçò ìíÞìçò

t Ç äéáäéêáóßá åíáëëáãÞò ôïõò óôçí ÊÌÅ åßíáé áðëïýóôåñç áðü ôçí áíôßóôïé-÷ç äéáäéêáóßá åíáëëáãÞò äéáäéêáóéþí.

Ìðïñïýìå íá ðïõìå ãåíéêÜ üôé ôá äéáöïñåôéêÜ ðñïãñÜììáôá ðïõ åêôåëïýíôáéðáñÜëëçëá óå Ýíá õðïëïãéóôÞ åßíáé äéåñãáóßåò êáé ôá áíåîÜñôçôá ôìÞìáôá åíüòðñïãñÜììáôïò ðïõ åêôåëïýíôáé ðáñÜëëçëá óôïí õðïëïãéóôÞ åßíáé íÞìáôá.

Ôá ðñïãñÜììáôá ðïõ ìðïñïýí íá äéáéñåèïýí óå íÞìáôá ïíïìÜæïíôáé ôáõôü-÷ñïíá ðñïãñÜììáôá (concurrent programs).

Áðåéêüíéóç äéåñãáóéþíÅíáò ðïëý êáëüò ôñüðïò ãéá íá áðåéêïíßóïõìå ôáõôü÷ñïíá ðñïãñÜììáôá åßíáé íá÷ñçóéìïðïéÞóïõìå ôï ãñÜöï ðñïâáäßóìáôïò (precedence graph). ×ñçóéìïðïéþíôáòÝíá ôÝôïéï ãñÜöï ìðïñïýìå íá áíáðáñáóôÞóïõìå Ýíá ðñüãñáììá êáé íá äïýìåðïéá ôìÞìáôÜ ôïõ ìðïñïýí íá åêôåëåóèïýí ðáñÜëëçëá êáé ðïéá ðñÝðåé íá ðåñé-ìÝíïõí ìÝ÷ñé íá ïëïêëçñùèïýí êÜðïéá Üëëá.

ÐáñÜäåéãìá 1.Áò ðÜñïõìå ãéá ðáñÜäåéãìá ôçí ðñïåôïéìáóßá ìéáò ðïäïóöáéñéêÞò ïìÜäáò ãéá

ôï ðñùôÜèëçìá. ÁõôÞ áðïôåëåßôáé áðü ôá åîÞò óôÜäéá: Ïé ðáßêôåò îåêéíïýí áôï-ìéêÝò ðñïðïíÞóåéò öõóéêÞò êáôÜóôáóçò. ÐáñÜëëçëá, ç ïìÜäá åðéëÝãåé íÝïõò ðáß-êôåò ãéá ìåôáãñáöÞ. Áöïý áðïêôçèïýí üóïé åðéëåãïýí, ç ïìÜäá îåêéíÜ ïìáäéêÝò

Page 20: Operating Systems

196 Ôå÷íïëïãßá õðïëïãéóôéêþí óõóôçìÜôùí êáé ëåéôïõñãéêÜ óõóôÞìáôá

ðñïðïíÞóåéò. Ï ðñïðïíçôÞò ìåëåôÜ ôéò ôáêôéêÝò ðáé÷íéäéïý. Áöïý êáôáëÞîåé óôéòêáëýôåñåò, ç ïìÜäá îåêéíÜ ðñïðïíÞóåéò óôéò óõãêåêñéìÝíåò ôáêôéêÝò. Óôç óõíÝ-÷åéá, áöïý åðéëåãïýí ïìÜäåò áíôßðáëïé, ç ïìÜäá äßíåé öéëéêÜ ðáé÷íßäéá, þóôå íáåßíáé Ýôïéìç ãéá ôï ðñùôÜèëçìá. Ãéá íá ïñãáíþóåé ï ðñïðïíçôÞò ôçí åñãáóßá ôïõðñÝðåé íá ãíùñßæåé üëá ôá óôÜäéá ôçò ðñïåôïéìáóßáò, üðùò åðßóçò êáé íá îÝñåéðïéá ðñÝðåé íá Ý÷ïõí ïëïêëçñùèåß, ãéá íá îåêéíÞóïõí ôá åðüìåíá. Ãéá ðáñÜäåéãìá,ðñÝðåé íá îÝñåé ïôé ðñÝðåé ðñþôá íá Ý÷åé êÜíåé üëåò ôéò ìåôáãñáöÝò ðñéí îåêéíÞóåéïìáäéêÝò ðñïðïíÞóåéò.

¸íáò ãñÜöïò áðïôåëåßôáé áðü êüìâïõò (vertices) êáé áêìÝò (edges). ÊÜèå áêìÞóõíäÝåé äýï êüìâïõò êáé ìðïñåß íá Ý÷åé Þ íá ìçí Ý÷åé êáôåýèõíóç. Ïôáí ìéá áêìÞÝ÷åé êáôåýèõíóç áðü ôïí Ýíá êüìâï óôïí Üëëï, ôüôå ïíïìÜæåôáé êáôåõèõíüìåíçáêìÞ (directed edge). ¼ôáí ïé áêìÝò åíüò ãñÜöïõ åßíáé êáôåõèõíüìåíåò, ôüôå ïãñÜöïò ïíïìÜæåôáé êáôåõèõíüìåíïò ãñÜöïò (directed graph). ÓõíÞèùò óå Ýíá ãñÜöïäå óõíáíôÜìå êáé êáôåèõíüìåíåò êáé ìç êáôåõèõíüìåíåò áêìÝò.

ÐáñÜäåéãìá åíüò ãñÜöïõ åßíáé ôï ïäéêü äßêôõï ðïõ öáßíåôáé óôï ó÷Þìá ðïõáêïëïõèåß. (Ó÷Þìá 8.2).

Ó÷Þìá 8.2.

Óôï ó÷Þìá, ïé ðüëåéò åßíáé ïé êüìâïé ôïõ ãñÜöïõ êáé ïé äñüìïé åßíáé ïé áêìÝò. Ïëïé ïéäñüìïé åßíáé äéðëÞò êáôåýèõíóçò. Áí êÜðïéïé Þôáí ìïíüäñïìïé, ôüôå èá Ýðñåðåóôçí áðåéêüíéóç ôïõ ãñÜöïõ íá áíôéêáôáóôÞóïõìå üëïõò ôïõò äñüìïõò äéðëÞòêáôåýèõíóçò ìå äýï ìïíüäñïìïõò ôïí êáèÝíá. Óôçí ðåñßðôùóç áõôÞ, ï ãñÜöïò èáÞôáí êáôåõèõíüìåíïò.

Ðáñáôçñåßóôå üôé óôïí ãñÜöï ôïõ ïäéêïý äéêôýïõ ìðïñïýìå íá êÜíïõìå êý-êëïõò äéáó÷ßæïíôÜò ôïí. Ìðïñïýìå äçëáäÞ íá êÜíïõìå ôç äéáäñïìÞ Êüñéíèï ->Ôñßðïëç -> ÍÜõðëéï -> Êüñéíèï êáôáëÞãïíôáò Ýôóé óôïí êüìâï áðüðïõ îåêéíÞ-óáìå. Ï ãñÜöïò áõôüò ïíïìÜæåôáé êõêëéêüò. ¸íáò ãñÜöïò ðïõ äåí ðåñéÝ÷åé êý-êëïõò ïíïìÜæåôáé áêõêëéêüò (acyckic).

ÐáñÜäåéãìá 2.Ï ãñÜöïò ðïõ ðåñéãñÜöåé ôï ðñüãñáììá ðñïåôïéìáóßáò ôçò ïìÜäáò ìáò ãéá ôï

ðñùôÜèëçìá öáßíåôáé óôï Ó÷Þìá 8.3. Ðáñáôçñåßóôå üôé åßíáé êáôåõèõíüìåíïò êáéáêõêëéêüò.

Page 21: Operating Systems

Äéåñãáóßåò 197

Áí õðÞñ÷å ìéá áêìÞ ìå êáôåýèõíóç áðü ôçí «ïìáäéêÞ ðñïðüíçóç» óôéò «ìåôáãñá-öÝò», ôüôå èá Ýðñåðå ç ðñïðüíçóç íá ãßíåé ìåôÜ ôéò ìåôáãñáöÝò, ïé ïðïßåò èáðñÝðåé íá ãßíïõí ìåôÜ ôçí ïìáäéêÞ ðñïðüíçóç ðïõ ðñÝðåé íá ãßíåé ìåôÜ ôéò ìåôá-ãñáöÝò ê.ï.ê. Óôçí ðåñßðôùóç áõôÞ ç ðñïåôïéìáóßá äå èá ïëïêëçñùíüôáí ðïôÝ.

ÐáñÜäåéãìá 3: ÊáôáóêåõÞ ãñÜöïõ ðñïâáäßóìáôïòÅóôù ôï ðñüãñáììá ðïõ õðïëïãßæåé ôç ìáèçìáôéêÞ Ýêöñáóç Y = a / b + (c � d)/e.

Áò ôçí áíáëýóïõìå óå ìåñéêÜ áðïôåëÝóìáôá:

t Y1 = a / b

t Y2 = ( c � d )

t Y3 = Y2 / e

t Y = Y1 + Y3

Áíôéóôïé÷ïýìå ôïí õðïëïãéóìü êáèåíüò åíäéÜìåóïõ áðïôåëÝóìáôïò óå ìéá äéåñ-ãáóßá. Áðåéêïíßæïõìå ôéò äéåñãáóßåò áõôÝò ùò êüìâïõò óå ãñÜöï. Ïôáí ìéá äéåñãá-óßá áðáéôåß ôçí ïëïêëÞñùóç ìéáò Üëëçò ðñßí áðü áõôÞí, ôüôå óõíäÝïõìå ôéò äéåñ-ãáóßåò ìå áêìÞ. Ç öïñÜ ôçò áêìÞò åßíáé áðü ôç äéåñãáóßá ðïõ ðñïçãåßôáé óå áõôÞðïõ áêïëïõèåß.

Ï ãñÜöïò ðïõ ðñïêýðôåé öáßíåôáé óôï Ó÷Þìá 8.4:

Ó÷Þìá 8.3.

Ó÷Þìá 8.4.

Ãéá íá ìðïñåß Ýíáò ãñÜöïò íáðåñéãñÜøåé Ýíá ôáõôü÷ñïíïðñüãñáììá êáé íá ïñßóåé ôç óåéñÜåêôÝëåóçò ôùí íçìÜôùí Þ ôùíäéåñãáóéþí ôïõ, áõôüò ðñÝðåé íáåßíáé êáôåõèõíüìåíïò êáéáêõêëéêüò. ÌÜëéóôá, óå Ýíá ãñÜöïðñïâáäßóìáôïò, äýï äéåñãáóßåòìðïñïýí íá åêôåëåóèïýí ðáñÜëëç-ëá, áí äåí õðÜñ÷åé äéáäñïìÞ ðïõíá óõíäÝåé Üìåóá Þ Ýììåóá ôéòäéåñãáóßåò áõôÝò.

Page 22: Operating Systems

198 Ôå÷íïëïãßá õðïëïãéóôéêþí óõóôçìÜôùí êáé ëåéôïõñãéêÜ óõóôÞìáôá

Áðü ôï ãñÜöï öáßíåôáé åýêïëá ïôé ïé äéåñãáóßåò Õ1 êáé Õ2 ìðïñïýí íá åêôåëåóèïýíðáñÜëëçëá, áöïý äåí õðÜñ÷åé ôñüðïò íá ìåôáâïýìå áðü ôç ìéá óôçí Üëëç (êáéëïãéêü åßíáé áöïý ïé ðñÜîåéò õðïëïãéóìïý ôùí Õ1 êáé Õ2 åßíáé åíôåëþò áíåîÜñôç-ôåò). Áíôßèåôá, ï õðïëïãéóìüò (äéåñãáóßá) Õ3 ðñÝðåé íá åêôåëåóèåß áöïý ïëïêëç-ñùèåß ï õðïëïãéóìüò (äéåñãáóßá) Õ2. Ðáñáôçñåßóôå üôé õðÜñ÷åé ôñüðïò ìåôÜâá-óçò áðü ôçí Õ2 óôçí Õ3. Åðßóçò ç äéåñãáóßá Õ ðñÝðåé íá åêôåëåóèåß ìåôÜ ôéò Õ1 êáéÕ2. Ðñïöáíþò ç Õ åêôåëåßôáé ìåôÜ êáé ôçí Õ2, áöïý ïé äýï êüìâïé óõíäÝïíôáé (ìåôï ìïíïðÜôé Õ2 -> Õ3 -> Õ)

Ïé ãñÜöïé ðñïâáäßóìáôïò âïçèïýí éäéáßôåñá óôçí áíÜëõóç ðñïãñáììÜôùí,áëëÜ äõóôõ÷þò äåí ìðïñïýí íá ÷ñçóéìïðïéçèïýí áðü ôéò êïéíÝò ãëþóóåò ðñï-ãñáììáôéóìïý. Óå áõôÝò ÷ñçóéìïðïéïýìå óõíÞèùò ôéò åíôïëÝò parbegin (parallelbegin) êáé parend (parallel end), ðïõ ðñïôÜèçêáí ôï 1965 áðü ôïí Dijkstra.

Ç ÷ñÞóç ôïõò åßíáé åíôåëþò áíÜëïãç ìå ôç ÷ñÞóç ôùí åíôïëþí begin � end óôçãëþóóá pascal. Ïðùò óôçí Pascal ïé åíôïëÝò ìåôáîý ôïõ begin êáé ôïõ end ÷ùñßæï-íôáé ìå «;» êáé åêôåëïýíôáé óåéñéáêÜ, Ýôóé êáé ïé åíôïëÝò ðïõ âñßóêïíôáé ìåôáîý ôïõparbegin êáé ôïõ parend ÷ùñßæïíôáé ìå ôï óýìâïëï «||» êáé åêôåëïýíôáé ðáñÜëëç-ëá. Ïëç ç ïìÜäá åíôïëþí ìÝóá óôï parbegin�parend îåêéíÜ íá åêôåëåßôáé ôáõôü-÷ñïíá, åíþ ç åêôÝëåóç ôçò ïìÜäáò åíôïëþí ôåëåéþíåé üôáí ôåëåéþóïõí üëåò.

Ï óõìâïëéóìüò áõôüò Ý÷åé ôï ðëåïíÝêôçìá ïôé êÜíåé ôá ðñïãñÜììáôá åõáíÜ-ãíùóôá êáé êáôáíïçôÜ, äõóôõ÷þò üìùò äåí ìðïñåß íá ðåñéãñÜøåé üëïõò ôïõòãñÜöïõò ðñïâáäßóìáôïò.

ÐáñÜäåéãìá 4. ÊáôáóêåõÞ ðñïãñÜììáôïò áðü ãñÜöï ðñïâáäßóìáôïòÔï ðñüãñáììá ôïõ ðáñáäåßãìáôïò 3 äßíåôáé óôïí ðßíáêá ðïõ áêïëïõèåß ãñáì-

ìÝíï ìå óõìâïëéóìü parbegin�parend. Óôçí áñéóôåñÞ óôÞëç ôïõ ðßíáêá öáßíåôáéôï ðñüãñáììá ãñáììÝíï óå pascal ðïõ åêôåëåßôáé ÷ùñßò ðáñáëëçëéóìü.

Ðßíáêáò 8.1

ÐáñÜäåéãìá 5. Áíôéóôïß÷éóç ãñÜöïõ êáé óõìâïëéóìïýparbegin�parend

Èá äïýìå ïôé áðü Ýíá ãñÜöï ðñïâáäßóìáôïò ìðïñïýí íá ðñïêýøïõí ðïëëÜðñïãñÜììáôá ìå óõìâïëéóìü parbegin�parend. Ôá ðñïãñÜììáôá áõôÜ äéáöÝñïõíóå ðïëõðëïêüôçôá áëëÜ êáé óôï ÷ñüíï ïëïêëÞñùóÞò ôïõò. Ï ãñÜöïò ðïõ êáëïý-ìáóôå íá õëïðïéÞóïõìå åßíáé ï áêüëïõèïò:

begin

parbegin

Y1 = a / b ||

begin

Y2 = ( c � d ) ;

Y3 = Y2 / e ;

End ;

parend ;

Y = Y1 + Y3 ;

End

begin

Y1 = a / b ;

Y2 = ( c � d ) ;

Y3 = Y2 / e ;

Y = Y1 + Y3 ;

End

Page 23: Operating Systems

Äéåñãáóßåò 199

Óôïí ðßíáêá 8.2 ðïõ áêïëïõèåß äßíïíôáé äéáöïñåôéêÜ ðñïãñÜììáôá (ìå ôçí ßäéá ëåé-ôïõñãßá). Ãéá ôï êáèÝíá óçìåéþíïõìå ôá ðëåïíåêôÞìáôá êáé ôá ìåéïíåêôÞìáôÜ ôïõ.

Ðßíáêáò 8.2

Parbegin a || b || d parend; c; e; (+) Áðëüò êþäéêáò. (-) H c ðåñéìÝíåé ôçíïëïêëçñùóç ôçò d åíþ äåí áðáéôåßôáé

Parbegin a || b parend; (+) Ó÷åôéêÜ áðëüò êþäéêáò (-) Ç d ðåñé-

Parbegin c || d parend; e; ìÝíåé ôçí ïëïêëÞñùóç ôùí a êáé b åíþäåí áðáéôåßôáé

Parbegin (-) Óýíèåôïò êþäéêáò (+) Êáëýôåñïò

Begin ðáñáëëçëéóìüò.

Parbegin a || b parend ;

c

end ||

d

parend;

e;

Ï ðáñáëëçëéóìüò ðïõ åðéôõã÷Üíåôáé ìå ôï ôñßôï ðñüãñáììá áöÞíåôáé ùò Üóêç-óç. Åîçãåßóôå ôé áêñéâþò óõìâáßíåé êáé ãéáôß ôï ôñßôï ðñüãñáììá õðåñôåñåß ôùíÜëëùí äýï.

8.2 ÊáôáóôÜóåéò êáé Êýêëïò ÆùÞò Äéåñãáóéþí

Óå üëá ôá ëåéôïõñãéêÜ óõóôÞìáôá ðïõ õðïóôçñßæïõí ôçí Ýííïéá ôçò äéåñãáóßáòõðÜñ÷ïõí äéáäéêáóßåò ãéá ôç äçìéïõñãßá êáé ôç äéá÷åßñéóç ôùí äéåñãáóéþí áõôþí.

Óå óõóôÞìáôá ðïõ åêôåëïýí ìüíï ìßá êáèïñéóìÝíç åöáñìïãÞ, üëåò ïé äéåñãá-óßåò äçìéïõñãïýíôáé áõôüìáôá ìå ôçí Ýíáñîç ôçò åêôåëïýìåíçò åöáñìïãÞò. Áíôß-èåôá, óå óõóôÞìáôá ìå ðïëëïýò ÷ñÞóôåò êáé ðëÞèïò åöáñìïãþí, ðïõ ìðïñïýí íáåßíáé åíåñãÝò óå êÜèå ÷ñïíéêÞ óôéãìÞ, õðÜñ÷ïõí óõãêåêñéìÝíïé ìç÷áíéóìïß äõíáìé-êÞò äçìéïõñãßáò êáé äéá÷åßñéóçò äéåñãáóéþí.

Ãéá ðáñÜäåéãìá, óôï ËÓ UNIX, ìéá äéåñãáóßá äçìéïõñãåß ìéá íÝá äéåñãáóßá áêñé-âÝò áíôßãñáöü ôçò, ìå ÷ñÞóç êáôÜëëçëçò êëÞóçò óõóôÞìáôïò (system call). Ïé äýïäéåñãáóßåò, ãïíÝáò (ç êáëïýóá) êáé ðáéäß (ç êáëïýìåíç), åêôåëïýíôáé ðáñÜëëçëá.Óôï ËÓ WINDOWS NT ìéá äéåñãáóßá ìðïñåß åðßóçò ìå êëÞóç óõóôÞìáôïò íá äç-ìéïõñãÞóåé ìéá íÝá äéåñãáóßá, ç åêôÝëåóç ôçò ïðïßáò ðñáãìáôïðïéåßôáé áíåîÜñôç-ôá áðü ôçí åêôÝëåóç ôçò êáëïýóáò äéåñãáóßáò.

Page 24: Operating Systems

200 Ôå÷íïëïãßá õðïëïãéóôéêþí óõóôçìÜôùí êáé ëåéôïõñãéêÜ óõóôÞìáôá

Ðáñáäåßãìáôá äçìéïõñãßáò íÝùí äéåñãáóéþí, åßôå áðü ôï ëåéôïõñãéêü åßôå áðüôï ÷ñÞóôç åßôå áðü êÜðïéá Üëëç äéåñãáóßá, óõíáíôÜìå ðïëëÜ. ÅíäåéêôéêÜ åßíáé ôááêüëïõèá:

t Äýï ÷ñÞóôåò êÜèïíôáé óå äýï ôåñìáôéêÜ åíüò óõóôÞìáôïò êáé áñ÷ßæïõí íáåñãÜæïíôáé. Ôï ëåéôïõñãéêü óýóôçìá Ý÷åé åêêéíÞóåé ôïõëÜ÷éóôïí äýï äéåñãá-óßåò ðïõ áíôéóôïé÷ïýí óôïõò öëïéïýò ôïõ ËÓ ìå ôïõò ïðïßïõò áëëçëåðéäñïýíïé ÷ñÞóôåò.

t ¸íáò ÷ñÞóôçò ÷ñçóéìïðïéåß ìéá äéáëïãéêÞ åöáñìïãÞ ãéá ôç ó÷åäßáóç åíüò êôé-ñßïõ. Óå êÜðïéï óçìåßï êáé åíþ ï ÷ñÞóôçò ó÷åäéÜæåé, ç åöáñìïãÞ (ðïõ åßíáéäéåñãáóßá) ðñÝðåé íá ðñáãìáôïðïéÞóåé óçìáíôéêïýò õðïëïãéóìïýò. Ç åöáñìï-ãÞ-äéåñãáóßá äçìéïõñãåß ìéá íÝá äéåñãáóßá ðïõ åêôåëåß ôïõò õðïëïãéóìïýò, åíþç äéåñãáóßá ó÷åäßáóçò óõíå÷ßæåé íá åßíáé åíåñãÞ (ãéá íá ó÷åäéÜæåé ï ÷ñÞóôçò).

ÊÜèå óôéãìÞ ìéá äéåñãáóßá ìðïñåß, áíÜëïãá ìå ôéò óõíèÞêåò ðïõ åðéêñáôïýíóôï óýóôçìá ôç äåäïìÝíç óôéãìÞ, áëëÜ êáé ìå ôéò áðáéôÞóåéò ôçò äéåñãáóßáò óåðüñïõò óõóôÞìáôïò êáé óå äåäïìÝíá áðü Üëëåò äéåñãáóßåò, íá âñßóêåôáé óå ìßááðü ôéò ðéï êÜôù êáôáóôÜóåéò:

1. Åêôåëïýìåíç (running). Ç äéåñãáóßá åêôåëåßôáé, áðáó÷ïëåß äçëáäÞ ðñáãìáôéêÜôçí ÊÌÅ.

2. ¸ôïéìç (runnable, ready). Ç äéåñãáóßá Ý÷åé äéáêïðåß ðñïóùñéíÜ ãéá íá ãßíåé åêôå-ëïýìåíç êÜðïéá Üëëç äéåñãáóßá. Ìüëéò ôçò äïèåß ç åíôïëÞ áðü ôï óýóôçìá,ìðïñåß íá óõíå÷ßóåé ôçí åêôÝëåóÞ ôçò.

Ó÷Þìá 8.5 Ìéá äéåñãáóßá ìðïñåß íá åßíáé åêôåëïýìåíç, Ýôïéìç Þ õðü áíáóôïëÞ. Ïé äõíáôÝò

ìåôáâÜóåéò áðü êáôÜóôáóç óå êáôÜóôáóç óçìåéþíïíôáé ìå âÝëç.

3. Õðü áíáóôïëÞ (blocked). Ç äéåñãáóßá Ý÷åé äéáêïðåß ðñïóùñéíÜ åðåéäÞ áäõíáôåßíá óõíå÷ßóåé ôçí åêôÝëåóÞ ôçò ëüãù åîùôåñéêïý (áðü áõôÞ) óõìâÜíôïò.

Ç ìåôáâïëÞ ôçò êáôÜóôáóçò ìéáò äéåñãáóßáò ðñáãìáôïðïéåßôáé ìå âÜóç ïñéóìÝ-íïõò êáíüíåò êáé ðñïêáëåßôáé åßôå áðü ôçí ßäéá ôç äéåñãáóßá åßôå áðü ôï ËÓ, Üìå-óá Þ Ýììåóá (ìÝóù ôïõ ÷ñÞóôç).

Ïé äõíáôÝò ìåôáâïëÝò åßíáé:

á. Áðü åêôåëïýìåíç óå õðü áíáóôïëÞ. Ðñáãìáôïðïéåßôáé üôáí ç äéåñãáóßá,åíþ åêôåëåßôáé, áðïöáóßæåé üôé äå ìðïñåß íá óõíå÷ßóåé. ÐáñÜäåéãìá åßíáé çäéåñãáóßá ðïõ áíáìÝíåé åßóïäï/Ýîïäï, ðñüóâáóç óå ìç äéáèÝóéìç ôç óõãêå-êñéìÝíç óôéãìÞ ðåñéï÷Þ ìíÞìçò Þ äåäïìÝíá áðü Üëëç äéåñãáóßá.

â. Áðü õðü áíáóôïëÞ óå Ýôïéìç. Ôï åîùôåñéêü óõìâÜí, ç áíáìïíÞ ôïõ ïðïßïõ

Page 25: Operating Systems

Äéåñãáóßåò 201

áíÜãêáóå ôç äéåñãáóßá íá áíáóôáëåß ðñáãìáôïðïéåßôáé. Ç äéåñãáóßá ìðï-ñåß êáôÜ óõíÝðåéá íá åêôåëåóôåß, ãßíåôáé äçëáäÞ Ýôïéìç. Áí äåí õðÜñ÷åéåêôåëïýìåíç äéåñãáóßá óôï óýóôçìá, áìÝóùò ìåôÜ ôç ìåôÜâáóç 2 ðñáã-ìáôïðïéåßôáé ç ìåôÜâáóç 3.

ã. Áðü Ýôïéìç óå åêôåëïýìåíç. Ðñáãìáôïðïéåßôáé ìå åíôïëÞ ôïõ ËÓ êáé óõãêå-êñéìÝíá ôïõ ìÝñïõò ôïõ, ðïõ ïíïìÜæåôáé ÷ñïíïäñïìïëïãçôÞò äéåñãáóéþí.Ôï ËÓ áðïöáóßæåé, üôé ç åêôåëïýìåíç äéåñãáóßá Ý÷åé êáôáíáëþóåé áñêåôü÷ñüíï ôçò ÊÌÅ êáé åßíáé êáéñüò íá åêôåëåóèåß êÜðïéá Üëëç äéåñãáóßá. Ôïóýóôçìá åðéëÝãåé ìå êÜðïéïí áëãüñéèìï ìéá Ýôïéìç äéåñãáóßá (Ýóôù ôçí Á)êáé ôçò äßíåé ÷ñüíï åðåîåñãáóßáò. Ç äéåñãáóßá Á Ýãéíå áðü Ýôïéìç åêôåëïýìåíç.

ä. Áðü åêôåëïýìåíç óå Ýôïéìç. Ðñáãìáôïðïéåßôáé êáé áõôÞ ìå åíôïëÞ ôïõ÷ñïíïäñïìïëïãçôÞ äéåñãáóéþí. Ôï ËÓ áðïöáóßæåé, üôé ç åêôåëïýìåíç äéåñ-ãáóßá Á Ý÷åé êáôáíáëþóåé áñêåôü ÷ñüíï ôçò ÊÌÅ, åðéëÝãåé ôç íÝá äéåñãá-óßá ðñïò åêôÝëåóç êáé ìåôáôñÝðåé ôçí åêôåëïýìåíç äéåñãáóßá Á óå Ýôïéìç.Ìå ôïí ôñüðï áõôü, ç äéåñãáóßá Á ðåñéìÝíåé íá óõíå÷ßóåé ôçí åêôÝëåóÞ ôçòáñãüôåñá, áöïý åîõðçñåôçèïýí êáé Üëëåò äéåñãáóßåò.

Ç ëïãéêÞ êáé ï ìç÷áíéóìüò ìå ôïí ïðïßï êáôáíÝìåôáé ï ÷ñüíïò áðáó÷üëçóçò ôçòÊÌÅ óôéò Ýôïéìåò äéåñãáóßåò, áëëÜ êáé ç åðéëïãÞ ôçò Ýôïéìçò äéåñãáóßáò, ðïõ êÜèåöïñÜ ãßíåôáé åêôåëïýìåíç áðü ôï ÷ñïíïäñïìïëïãçôÞ äéåñãáóéþí, åßíáé óçìáíôéêü-ôáôï ìÝñïò ôïõ ËÓ êáé èá åîåôáóôåß óôç óõíÝ÷åéá.

Åêôüò áðü ôéò ìåôáâÜóåéò ìåôáîý êáôáóôÜóåùí, óçìáíôéêü åßíáé íá ãíùñßæïõ-ìå üôé óôï ìïíôÝëï ôùí äéåñãáóéþí, êÜèå óôéãìÞ, ìðïñïýí íá óõìâïýí äýï áêüìçãåãïíüôá:

t Äçìéïõñãßá ìéáò íÝáò äéåñãáóßáò. Ôï ËÓ, Ýíáò ÷ñÞóôçò Þ ìéá åêôåëïýìåíçäéåñãáóßá ìðïñïýí íá äçìéïõñãÞóïõí ìéá íÝá äéåñãáóßá. Ç íÝá äéåñãáóßá èáåßíáé Üìåóá Ýôïéìç.

t ÁðïìÜêñõíóç ìéáò äéåñãáóßáò áðü ôï óýóôçìá. Ìéá åêôåëïýìåíç äéåñãáóßá,ìüëéò ïëïêëçñùèåß, áðïìáêñýíåôáé áðü ôï óýóôçìá (áöïý äåí áðáéôåß ðéáêáìéÜ åðåîåñãáóßá). Óôçí ðåñßðôùóç áõôÞ Ý÷ïõìå ïìáëü ôåñìáôéóìü äéåñãá-óßáò. ÁðïìÜêñõíóç äéåñãáóéþí ìðïñåß íá ðñáãìáôïðïéçèåß êáé áðü ôï ÷ñÞ-óôç, ôï ëåéôïõñãéêü Þ áðü Üëëç äéåñãáóßá ìå êëÞóç óôï ËÓ, áêüìá êáé áí çäéåñãáóßá äåí Ý÷åé ïëïêëçñùèåß. Óôçí ðåñßðôùóç áõôÞ Ý÷ïõìå ìç ïìáëü ôåñ-ìáôéóìü äéåñãáóßáò.

Áðü ôç óôéãìÞ ðïõ äçìéïõñãåßôáé ìéá äéåñãáóßá êáé ìÝ÷ñé íá ïëïêëçñùèåß Þ íáôåñìáôéóèåß âßáéá, ï êýêëïò æùÞò ôçò áðïôåëåßôáé áðü åíáëëáãÝò åðåîåñãáóßáòáðü ôçí ÊÌÅ, ðïõ ïíïìÜæïíôáé åêñÞîåéò ÊÌÅ (CPU bursts) êáé áðü áíáìïíÝò ãéáôçí ðåñÜôùóç åñãáóéþí Åéóüäïõ/Åîüäïõ (Å/Å) ðïõ ïíïìÜæïíôáé åêñÞîåéò Å/Å (I/Obursts) (Ó÷Þìá 8.6).

Óå Ýíá óýóôçìá ðïëõðñïãñáì-ìáôéóìïý ïíïìÜæïõìå ðáñÜëëç-ëåò Þ ôáõôü÷ñïíåò äéåñãáóßåò(parallel processes) ôï óýíïëïôùí åêôåëÝóéìùí êáé ôùíåêôåëïýìåíùí äéåñãáóéþí óôéòÊÌÅ ôïõ óõóôÞìáôïò

Ó÷Þìá 8.6

Page 26: Operating Systems

202 Ôå÷íïëïãßá õðïëïãéóôéêþí óõóôçìÜôùí êáé ëåéôïõñãéêÜ óõóôÞìáôá

Ïé äéåñãáóßåò ìðïñïýí íá êáôçãïñéïðïéçèïýí áíÜëïãá ìå ôï óõíïëéêü ÷ñüíï ðïõêáôáíáëþíïõí óå åêñÞîåéò ôçò ìéáò Þ ôçò Üëëçò ìïñöÞò. ̧ ôóé, äéáêñßíïíôáé óå

t äéåñãáóßåò ðñïóáíáôïëéóìÝíåò óôçí ÊÌÅ (CPU bound) üôáí áðáéôïýí êõñßùòåêñÞîåéò ÊÌÅ êáé óå

t äéåñãáóßåò ðñïóáíáôïëéóìÝíåò óôçí Å/Å (É/Ï bound) üôáí áðáéôïýí êõñßùòåêñÞîåéò Å/Å.

ÌåôáãùãÞ ðåñéâÜëëïíôïòÊÜèå öïñÜ ðïõ ôï ËÓ áëëÜæåé ôç äéåñãáóßá ðïõ åêôåëåßôáé óôçí ÊÌÅ ðñÝðåé íáêñáôÞóåé üëåò ôéò ðëçñïöïñßåò ó÷åôéêÝò ìå ôç äéåñãáóßá ðïõ áðÝñ÷åôáé áðü ôçíÊÌÅ óå êÜðïéï óçìåßï, þóôå áõôÝò íá åßíáé äéáèÝóéìåò ãéá ôç ìåëëïíôéêÞ óõíÝ÷éóçôçò åêôÝëåóÞò ôçò. Ãéá ôï óêïðü áõôü ôï ËÓ ôçñåß óôç ìíÞìç ìéá äïìÞ üðïõáðïèçêåýåé üëåò ôéò ðëçñïöïñßåò ãéá üëåò ôéò äéåñãáóßåò ðïõ åßíáé Ýôïéìåò Þ õðüáíáóôïëÞ. ¼ôáí ìéá áðü áõôÝò ãßíåé åêôåëïýìåíç, ôï ËÓ äéáâÜæåé áðü ôç äïìÞ üëáôá óôïé÷åßá ðïõ åßíáé áðáñáßôçôá ãéá ôç óõíÝ÷éóç åêôÝëåóçò ôçò äéåñãáóßáò. Ôïóýíïëï ôùí ðëçñïöïñéþí ðïõ áðïèçêåýïíôáé óôç ìíÞìç ãéá ôç äéåñãáóßá ïíïìÜ-æåôáé Óýíïëï ÅëÝã÷ïõ Äéåñãáóßáò � ÓÅÄ (Process Control Block � PCB). Óôçí ðåñß-ðôùóç ôùí íçìÜôùí, ôï óýíïëï ôùí ðëçñïöïñéþí ðïõ áðïèçêåýïíôáé óôç ìíÞìçïíïìÜæåôáé Óýíïëï ÅëÝã÷ïõ ÍÞìáôïò � ÓÅÍ (Thread Control Block � TCB).

Ç åíáëëáãÞ ôùí äéåñãáóéþí êáé íçìÜôùí óôçí ÊÌÅ ïíïìÜæåôáé ìåôáãùãÞðåñéâÜëëïíôïò (context switching) êáé äéáöÝñåé áíÜëïãá ìå ôï, áí åíáëëÜóóï-íôáé óôçí ÊÌÅ äéåñãáóßåò Þ íÞìáôá.

Ïé ðëçñïöïñßåò ðïõ êñáôïýíôáé êáôÜ ôçí ìåôáãùãÞ ðåñéâÜëëïíôïò ãéá ôç äéåñãá-óßá ðïõ áðü åêôåëÝóéìç ãßíåôáé Ýôïéìç Þ õðü áíáóôïëÞ åßíáé:

t Ç åðüìåíç åíôïëÞ ôïõ ðñïãñÜììáôïò ðïõ èá åêôåëÝóåé ç äéåñãáóßá üôáíîáíáãßíåé åêôåëïýìåíç

t Ç êáôÜóôáóç ôçò ÊÌÅ (äçëáäÞ ôá ðåñéå÷üìåíá üëùí ôùí êáôá÷ùñçôþíôçò) þóôå áõôÞ íá åðáíáöåñèåß, üôáí ç äéåñãáóßá îáíáãßíåé åêôåëïýìåíç

t ¼ëá ôá åíäéÜìåóá áðïôåëÝóìáôá ðïõ Ý÷åé õðïëïãßóåé ç äéåñãáóßá, þóôåáõôÜ íá åßíáé ðÜëé äéáèÝóéìá, üôáí ç äéåñãáóßá îáíáãßíåé åêôåëïýìåíç

Ôç äéáäéêáóßá ìåôáãùãÞò ðåñéâÜëëïíôïò ôç óõíáíôÜìå êáèçìåñéíÜ êáé óôç æùÞìáò óå áðëÝò Þ ðïëýðëïêåò ìïñöÝò. Ìéá áðëÞ ðåñßðôùóç åßíáé, üôáí äéáâÜæïõìåÝíá âéâëßï êáé êÜðïéá óôéãìÞ ôï áöÞíïõìå ãéá íá áó÷ïëçèïýìå ìå êÜôé Üëëï. Ôïðï-èåôïýìå ôï óåëéäïäåßêôç óôç óåëßäá ðïõ ìåßíáìå, þóôå áñãüôåñá íá óõíå÷ßóïõìåáðü ôç óåëßäá áõôÞ. Ìéá ðéï óýíèåôç ðåñßðôùóç åßíáé óå åóôéáôüñéï ìå ôï óåñâé-ôüñï ðïõ åîõðçñåôåß ðåëÜôåò. ̧ ñ÷åôáé êáé ðáßñíåé ôçí ðáñáããåëßá ìáò ôçí ïðïßáãñÜöåé óôï ìðëïêÜêé ôïõ. Óôç óõíÝ÷åéá (ìåôáãùãÞ ðåñéâÜëëïíôïò), ðÜåé êáé ðáßñ-íåé ôá ðéÜôá ìéáò Üëëçò ðáñáããåëßáò êáé ôá ðáñáäßäåé óôï ôñáðÝæé. ¾óôåñá (ìå-ôáãùãÞ ðåñéâÜëëïíôïò), âãÜæåé ôçí ðáñáããåëßá ìáò áðü ôçí ôóÝðç êáé ðáñáäßäåéôï ÷áñôÜêé óôçí êïõæßíá. Áñãüôåñá (ìåôáãùãÞ ðåñéâÜëëïíôïò), õðïëïãßæåé ôï ëï-ãáñéáóìü ãéá ìéá ðáñÝá ðïõ öåýãåé. Ðñéí üìùò ôïí äþóåé ôïí åéäïðïéïýí áðü ôçíêïõæßíá (ìåôáãùãÞ ðåñéâÜëëïíôïò), áðü üðïõ ðçãáßíåé êáé ìáò öÝñíåé ôçí ðáñáã-ãåëßá ìáò. Åõôõ÷þò êáôÜ ôçí ôåëåõôáßá áëëáãÞ åñãáóßáò (ìåôáãùãÞ ðåñéâÜëëï-íôïò) åß÷å êñáôÞóåé ôï ÷áñôÜêé ôïõ ëïãáñéáóìïý ôçò ðáñÝáò ðïõ öåýãåé, ïðüôåôåëéêÜ äßíåé êáé óå áõôïýò ôï ëïãáñéáóìü.

Page 27: Operating Systems

Äéåñãáóßåò 203

8.3 ÓõíèÞêåò Áíôáãùíéóìïý êáé ÄéáäéåñãáóéáêÞÅðéêïéíùíßá

ÐáñÜäåéãìáÈåùñåßóôå Ýíá óýóôçìá õðïëïãéóôÞ óôï ïðïßï åßíáé åêôåëÝóéìåò ðïëëÝò äéåñ-

ãáóßåò. Äýï áðü áõôÝò, ç Á êáé ç Â, ìüëéò ãßíïõí åêôåëïýìåíåò èá åêôõðþóïõí Ýíááñ÷åßï, ç Á ôï ÁÁ êáé ç  ôï ÂÂ. Ôï óýóôçìá, ãéá ôçí åîõðçñÝôçóç ôùí åêôõðþ-óåùí, ôçñåß ìéá ïõñÜ óôç ìíÞìç, óôçí ïðïßá êÜèå äéåñãáóßá ôïðïèåôåß ôï üíïìáôïõ ðñïò åêôýðùóç áñ÷åßïõ ôçò. Ï ÷åéñéóìüò ôçò ïõñÜò ãßíåôáé ìå äýï ìåôáâëç-ôÝò, ôçí out êáé ôçí in. H ìåôáâëçôÞ out ðåñéÝ÷åé ôç äéåýèõíóç óôçí ïõñÜ óôçíïðïßá âñßóêåôáé ôï ðñþôï ðñïò åêôýðùóç áñ÷åßï êáé ç in ôç äéåýèõíóç óôçíïðïßá èá ôïðïèåôçèåß ôï íÝï ðñïò åêôýðùóç áñ÷åßï. Ðñïöáíþò, ïé èÝóåéò ôçòïõñÜò áðü ôçí out ìÝ÷ñé êáé ôçí in-1 ðåñéÝ÷ïõí ïíüìáôá áñ÷åßùí ãéá åêôýðùóç.

Ðáñáêïëïõèåßóôå ìéá ðéèáíÞ áêïëïõèßá ãåãïíüôùí óôï óýóôçìá:

1. Ç äéåñãáóßá Á ãßíåôáé åêôåëïýìåíç.

2. Ç äéåñãáóßá Á äéáâÜæåé ôç ìåôáâëçôÞ in ãéá íá äåé óå ðïéá èÝóç ôçò ïõñÜòèá áðïèçêåýóåé ôï üíïìá ôïõ áñ÷åßïõ ÁÁ, ôï ïðïßï èá ðñÝðåé íá åêôõ-ðùèåß. Óýìöùíá ìå ôçí êáôÜóôáóç ôïõ óõóôÞìáôïò (Ó÷Þìá 8.7), äéáâÜ-æåé ôçí ôéìÞ 9.

3. Ðñéí ðñïëÜâåé ç äéåñãáóßá Á íá áðïèçêåýóåé ôï üíïìá ôïõ áñ÷åßïõ ÁÁóôçí ïõñÜ êáé ðñéí åíçìåñþóåé êÜðïéá ìåôáâëçôÞ, ï ÷ñïíïäñïìïëïãçôÞòôïõ óõóôÞìáôïò ôç ìåôáôñÝðåé (ãéá ïðïéïäÞðïôå ëüãï, üðùò áßôçóç äéá-êïðÞò áðü êÜðïéá óõóêåõÞ, ëÞîç ÷ñüíïõ åêôÝëåóÞò ôçò, ê.ëð.) óå Ýôïéìç.Ç êáôÜóôáóç ôçò Á ìáæß ìå üëç ôçí êáôÜóôáóç ôïõ óõóôÞìáôïò (êáé ôçíôéìÞ 9 ãéá ôç ìåôáâëçôÞ in) öõëÜóóåôáé óôï ÓÅÄ.

4. Ç äéåñãáóßá  ãßíåôáé åêôåëïýìåíç (åðåéäÞ Ýôóé áðïöÜóéóå ï ÷ñïíïäñïìï-ëïãçôÞò).

5. Ç äéåñãáóßá  äéáâÜæåé ôç ìåôáâëçôÞ in, ãéá íá äåé óå ðïéá èÝóç ôçò ïõñÜòèá áðïèçêåýóåé ôï üíïìá ôïõ áñ÷åßïõ ÂÂ, ôï ïðïßï èá ðñÝðåé íá åêôõðù-èåß. Óýìöùíá ìå ôçí êáôÜóôáóç ôïõ óõóôÞìáôïò (Ó÷Þìá 8.7), äéáâÜæåéôçí ôéìÞ 9.

6. Ç äéåñãáóßá  áëëÜæåé ôçí ôéìÞ ôçò ìåôáâëçôÞò in óå 9+1=10 êáé ôïðïèå-ôåß óôç èÝóç 9 ôçò ïõñÜò ôï üíïìá áñ÷åßïõ ÂÂ. Óôç óõíÝ÷åéá åêôåëåß ÜëëåòåíôïëÝò ôçò.

7. Ç äéåñãáóßá Á ãßíåôáé åêôåëïýìåíç (åðåéäÞ Ýôóé áðïöÜóéóå ï ÷ñïíïäñïìï-ëïãçôÞò).

8. Ç äéåñãáóßá Á óõíå÷ßæåé ôçí åêôÝëåóÞ ôçò áðü ôï óçìåßï äéáêïðÞò ôçò.ÁõîÜíåé ôçí ôéìÞ ðïõ ãíùñßæåé ãéá ôç ìåôáâëçôÞ in (åß÷å äéáâÜóåé in=9),ôçí êÜíåé 9+1=10 êáé ôïðïèåôåß óôç èÝóç 9 ôçò ïõñÜò ôï üíïìá ôïõáñ÷åßïõ ÁÁ. Óôç óõíÝ÷åéá åêôåëåß Üëëåò åñãáóßåò.

×ñïíïäñïìïëïãçôÞò åßíáé ôïõðïóýóôçìá ôïõ ËÓ ðïõ áëëÜæåéêáé åëÝã÷åé ôçí êáôÜóôáóç ôùíäéåñãáóéþí óôï óýóôçìá.

Page 28: Operating Systems

204 Ôå÷íïëïãßá õðïëïãéóôéêþí óõóôçìÜôùí êáé ëåéôïõñãéêÜ óõóôÞìáôá

Ó÷Þìá 8.7 ÊáôÜóôáóç ôçò ïõñÜò åêôõðþóåùí óôï óýóôçìá. Äýï äéåñãáóßåò ðñïóðåëáýíïõí

ôáõôü÷ñïíá ìéá äéáìïéñáæüìåíç ðåñéï÷Þ ìíÞìçò (ìåôáâëçôÞ in êáé ïõñÜ åêôýðùóçò)

Ôß Ý÷åé óõìâåß; Ôï üíïìá ôïõ áñ÷åßïõ  Ý÷åé ÷áèåß áðü ôçí ïõñÜ, áöïý óôç èÝóç 9õðÜñ÷åé ôï üíïìá ÁÁ. Ç ïõñÜ åßíáé åóùôåñéêÜ óõíåðÞò êáé äåí ðáñáôçñåß êÜðïéïóöÜëìá. Ôï åðüìåíï áñ÷åßï èá ôïðïèåôçèåß óôçí êåíÞ èÝóç 10. ÁðëÜ ôï áñ÷åßï ÂÂäå èá ôõðùèåß ðïôÝ, êáé êáíÝíáò äå èá ëÜâåé ìÞíõìá ãéá ôï ãåãïíüò áõôü.

Ôï ðñüâëçìá, ðïõ ïíïìÜæåôáé �ðñüâëçìá êñßóéìïõ ôìÞìáôïò� äçìéïõñãåßôáé,åðåéäÞ óôï äéÜóôçìá áíÜìåóá óôçí áíÜãíùóç ôçò äéáìïéñáæüìåíçò ìåôáâëçôÞò ináðü ôçí Á êáé óôçí åíçìÝñùóÞ ôçò ìå ôéìÞ áõîçìÝíç êáôÜ 1, Ýôóé þóôå íá äåóìåõ-ôåß ç èÝóç 9, ç Á óôáìáôÜ êáé ç  ðñáãìáôïðïéåß ôçí ßäéá äéáäéêáóßá.

H Á äåí åíçìåñþíåôáé ðïôÝ ãéá ôç íÝá ôéìÞ ôçò ìåôáâëçôÞò in. Ôï öáéíüìåíïðïõ ðåñéãñÜøáìå åßíáé äõíáôü íá åìöáíéóôåß óå êÜèå ðåñßðôùóç ðïõ äéåñãáóßåòðñïóðåëáýíïõí ôçí ßäéá ðåñéï÷Þ ìíÞìçò.

Ïé óõíèÞêåò êáôÜ ôéò ïðïßåò äýï ïé ðåñéóóüôåñåò äéåñãáóßåò äéáìïéñÜæïíôáéôçí ßäéá ðåñéï÷Þ ìíÞìçò êáé ôï ôåëéêü áðïôÝëåóìá ôùí åíåñãåéþí ôïõò åîáñôÜ-ôáé, åíþ äåí ðñÝðåé, áðü ôç óåéñÜ êáé ôï ÷ñüíï åêôÝëåóÞò ôïõò ïíïìÜæïíôáéóõíèÞêåò áíôáãùíéóìïý (race conditions).

ÓõíèÞêåò áíôáãùíéóìïý ìðïñïýí íá åìöáíéóèïýí, üôáí ðáñÜëëçëåò äéåñãá-óßåò ÷ñçóéìïðïéïýí êïéíïýò ðüñïõò. Êïéíïß Þ ìïéñáæüìåíïé ðüñïé (sharedresources) åßíáé üëïé ïé ðüñïé ôïõ óõóôÞìáôïò, üðùò ð.÷. ç ìíÞìç, ü äßóêïò ê.ëð.,ðïõ äéáôßèåíôáé ðñïò áíÜãíùóç Þ åããñáöÞ óôéò äéåñãáóßåò.

Åßíáé ðñïöáíÝò üôé óå Ýíá óýóôçìá äåí ðñÝðåé íá åìöáíßæïíôáé óõíèÞêåò áíôáãù-íéóìïý, áöïý ðñïêáëïýí ôçí åìöÜíéóç óïâáñþí óöáëìÜôùí. Ôï ÷åéñüôåñï áðïôÝ-ëåóìÜ ôïõò åßíáé ðùò ôá ðñïâëÞìáôá ðïõ ðñïêáëïýí åìöáíßæïíôáé ôõ÷áßá, áöïýåîáñôþíôáé êáèáñÜ áðü ìéá ãåíéêÜ Üãíùóôç óåéñÜ óôçí åêôÝëåóç ôùí äéåñãáóéþíêáé Üãíùóôç äéÜñêåéá åêôÝëåóçò êÜèå äéåñãáóßáò. Ãéá íá ôï äéáðéóôþóåôå, åîåôÜ-óôå ôï ðáñÜäåéãìÜ ìáò, óôï ïðïßï üìùò ôï ãåãïíüò 8 ðñáãìáôïðïéåßôáé ðñéí ôï

Page 29: Operating Systems

Äéåñãáóßåò 205

ãåãïíüò 5 (ç  äéáêüðôåôáé ðñéí öèÜóåé óôï óçìåßï íá äéáâÜóåé ôçí ìåôáâëçôÞ Inêáé ç Á îáíáãßíåôáé åêôåëïýìåíç). Äåßôå ðùò êáé ôï ÁÁ, êáé ôï  èá ôõðùèïýí.

Ç áíÜãêç íá áðïöåýãåôáé ç åìöÜíéóç óõíèçêþí áíôáãùíéóìïý óôï óýóôçìáåßíáé Ýíáò áðü ôïõò óçìáíôéêüôåñïõò ëüãïõò ãéá ôçí ýðáñîç óôï óýóôçìá ìç÷á-íéóìþí åðéêïéíùíßáò ìåôáîý äéåñãáóéþí. Ç åðéêïéíùíßá áõôÞ, ïíïìÜæåôáé äéáäéåñ-ãáóéáêÞ åðéêïéíùíßá (InterProcess Communication - IPC).

Êõñéüôåñïò óôü÷ïò ôçò åßíáé íá åîáóöáëßóåé ôçí áêåñáéüôçôá äåäïìÝíùí (dataintegrity) óå ðåñéðôþóåéò üðïõ ðáñÜëëçëåò äéåñãáóßåò ÷ñçóéìïðïéïýí êïéíïýòðüñïõò óôï óýóôçìá.

Åêôüò áðü ôçí áíôéìåôþðéóç óõíèçêþí áíôáãùíéóìïý, ç åðéêïéíùíßá äéåñãáóéþíåßíáé åðéèõìçôÞ êáé óå Üëëåò ðåñéðôþóåéò, üðùò êáôáóôÜóåéò üðïõ ç Ýîïäïò ìéáòäéåñãáóßáò áðïôåëåß åßóïäï ìéáò Üëëçò Þ ðåñéðôþóåéò ðïõ ç óõíÝ÷éóç ìéáò äéåñãá-óßáò áðáéôåß åßóïäï áðü ôçí Ýîïäï êÜðïéáò Üëëçò.

8.4 Áìïéâáßïò Áðïêëåéóìüò êáé Êñßóéìá ÔìÞìáôáÄéåñãáóéþí

Ãéá íá áðïöýãïõìå ôçí åìöÜíéóç óõíèçêþí áíôáãùíéóìïý, ðñÝðåé íá åîáóöáëß-óïõìå üôé ðïôÝ äýï ðáñÜëëçëåò äéåñãáóßåò äåí èá åðé÷åéñÞóïõí ôáõôü÷ñïíá ðñü-óâáóç óå äéáìïéñáæüìåíåò ðåñéï÷Ýò ìíÞìçò Þ ãåíéêüôåñá óå äéáìïéñáæüìåíïõòðüñïõò ôïõ óõóôÞìáôïò.

Ï áðïêëåéóìüò ìéáò äéåñãáóßáò áðü êÜðïéá åíÝñãåéá, ç ïðïßá ôáõôü÷ñïíáåðéôåëåßôáé áðü êÜðïéá Üëëç äéåñãáóßá, ïíïìÜæåôáé áìïéâáßïò áðïêëåéóìüò(mutual exclusion).

Óôï ðáñÜäåéãìá ôçò ðñïçãïýìåíçò åíüôçôáò, èá åß÷áìå áìïéâáßï áðïêëåéóìü, áíôï óýóôçìá áðáãüñåõå óôç äéåñãáóßá  íá äéáâÜóåé ôçí ôéìÞ ôçò ìåôáâëçôÞò in,ðñïôïý ç äéåñãáóßá Á äéáâÜóåé ôç ìåôáâëçôÞ in êáé ôçí åíçìåñþóåé ìå ôç íÝá ôéìÞ(äåóìåýïíôáò Ýôóé ôç èÝóç 9 óôçí ïõñÜ åêôýðùóçò, þóôå ç  íá ãñÜøåé óôç èÝóç10 êáé íá ìç ÷áèåß êáììéÜ åêôýðùóç).

ÅîåôÜæïíôáò ôéò äéåñãáóßåò, äéáðéóôþíïõìå üôé êáôÜ ôçí åêôÝëåóÞ êÜèå ìéáò, áõôÞ:

t åßôå áó÷ïëåßôáé ìå åóùôåñéêïýò õðïëïãéóìïýò ÷ñçóéìïðïéþíôáò áðïêëåéóôéêÜäéêïýò ôçò ðüñïõò.

t åßôå ðñïóðåëáýíåé êáé ÷ñçóéìïðïéåß äéáìïéñáæüìåíåò ðåñéï÷Ýò ìíÞìçò êáé äéá-ìïéñáæüìåíïõò ðüñïõò ôïõ óõóôÞìáôïò.

Óôçí ðñþôç ðåñßðôùóç, ç äéåñãáóßá äåí ìðïñåß íá ðñïêáëÝóåé ðïôÝ óõíèÞêåòáíôáãùíéóìïý. Óôç äåýôåñç ðåñßðôùóç üìùò, åßíáé äõíáôüí, ç äéåñãáóßá íá äç-ìéïõñãÞóåé ôéò óõíèÞêåò áõôÝò óôï óýóôçìá.

ÊÜèå öïñÜ ðïõ ìéá äéåñãáóßá åêôåëåß ìÝñïò ôïõ ðñïãñÜììáôüò ôçò, óôï ïðïßïðñïóðåëáýíåé äéáìïéñáæüìåíåò ðåñéï÷Ýò ìíÞìçò êáé ðüñïõò ôïõ óõóôÞìáôïò,ëÝìå üôé ç äéåñãáóßá áõôÞ Ý÷åé åéóÝëèåé óå êñßóéìï ôìÞìá ôçò (critical section).

ÊáôÜ ôçí åêôÝëåóÞ ôçò, êÜèå äéåñãáóßá åéóÝñ÷åôáé åíáëëÜî óå êñßóéìá êáé ìçêñßóéìá ôìÞìáôá ôçò. Áí ôï óýóôçìá åîáóöáëßóåé üôé ðïôÝ äýï ðáñÜëëçëåò äéåñ-

Page 30: Operating Systems

206 Ôå÷íïëïãßá õðïëïãéóôéêþí óõóôçìÜôùí êáé ëåéôïõñãéêÜ óõóôÞìáôá

ãáóßåò äåí âñßóêïíôáé ôáõôü÷ñïíá óå êñßóéìï ôìÞìá ôïõò, ôüôå Ý÷åé åîáóöáëßóåéáìïéâáßï áðïêëåéóìü êáé óõíåðþò Ý÷åé áðïêëåßóåé ôçí åìöÜíéóç óõíèçêþí áíôá-ãùíéóìïý.

Ç åîáóöÜëéóç åêôÝëåóçò åíüò ìüíï êñßóéìïõ ôìÞìáôïò êÜèå óôéãìÞ óôïóýóôçìá, áðïôåëåß ìéá ðñïûðüèåóç ãéá ôç óùóôÞ ëåéôïõñãßá ôïõ óõóôÞìá-ôïò. Äåí åßíáé ç ìüíç. Ãéá ôç óùóôÞ êáé áðïäïôéêÞ åðéêïéíùíßá êáé óõíåñãáóßáôùí ðáñÜëëçëùí äéåñãáóéþí åíüò óõóôÞìáôïò, ðñÝðåé íá éêáíïðïéïýíôáé ïéáêüëïõèåò ôÝóóåñéò óõíèÞêåò (äéáôõðþèçêáí áðü ôï Dijkstra ôï 1965):

1. Äýï äéåñãáóßåò äå âñßóêïíôáé ðïôÝ ôáõôü÷ñïíá óôá êñßóéìá ôìÞìáôÜ ôïõò(áìïéâáßïò áðïêëåéóìüò).

2. Áí ìéá äéåñãáóßá äå âñßóêåôáé óå êñßóéìï ôìÞìá ôçò, ôüôå äåí åðéôñÝðåôáéíá áíáóôåßëëåé Üëëåò äéåñãáóßåò.

3. Áðáãïñåýïíôáé ïé õðïèÝóåéò óå üôé áöïñÜ óôçí ôá÷ýôçôá êáé óôï ðëÞèïòôùí åðåîåñãáóôþí óôï óýóôçìá.

4. Áðáãïñåýåôáé óå êÜèå äéåñãáóßá íá ðåñéìÝíåé åð� áüñéóôï ãéá íá åéóÝëèåéóôï êñßóéìï ôìÞìá ôçò.

Ïé óõíèÞêåò 2 êáé 4 ðñïöõëÜóóïõí ôï óýóôçìá áðü ôï áäéÝîïäï (deadlock) Þáëëéþò ôï áìïéâáßï ìðëïêÜñéóìá (mutual blocking), üðïõ üëåò ïé äéåñãáóßåò åìðï-äßæïõí ç ìéá ôçí Üëëç íá åêôåëÝóåé ôï êñßóéìï ôìÞìá ôçò, åíþ ìßá áðü áõôÝò èáìðïñïýóå íá ôï åêôåëÝóåé.

¸÷ïíôáò ïñßóåé ôï êñßóéìï ôìÞìá ôùí äéåñãáóéþí, ìðïñïýìå íá ðïýìå üôé:

á. ÓõíèÞêåò áíôáãùíéóìïý åßíáé ïé óõíèÞêåò ðïõ åìöáíßæïíôáé óôï óýóôçìá,üôáí äýï ðáñÜëëçëåò äéåñãáóßåò ôáõôü÷ñïíá åéóÝñ÷ïíôáé óå êñßóéìï ôìÞìá ôïõò.

â. Áìïéâáßïò áðïêëåéóìüò åßíáé ç áðáãüñåõóç óå ìéá äéåñãáóßá íá åéóÝëèåé óåêñßóéìï ôìÞìá ôçò, üôáí êÜðïéá Üëëç äéåñãáóßá âñßóêåôáé Þäç óå äéêü ôçò êñßóéìïôìÞìá.

8.5 Áðëïß Ìç÷áíéóìïß Áìïéâáßïõ Áðïêëåéóìïý

Óôçí ðáñïýóá åíüôçôá èá åîåôÜóïõìå äýï ìç÷áíéóìïýò ðïõ åðéôõã÷Üíïõí ôïíáìïéâáßï áðïêëåéóìü ôáõôü÷ñïíùí äéåñãáóéþí óå Ýíá óýóôçìá. Åêôüò áðü ôïõòìç÷áíéóìïýò ôçò áðåíåñãïðïßçóçò äéáêïðþí êáé ôçò åíôïëÞò TSL (Test and Set Lock� Äïêßìáóå êáé èÝóå êëåßäùìá), éäéáßôåñá ãíùóôÞ åßíáé êáé ç ëýóç ôïõ Peterson, çïðïßá ðåñéãñÜöåôáé åêôåíþò óôç âéâëéïãñáößá ðïõ äßíåôáé óôï ôÝëïò ôïõ êåöáëáßïõ.

8.5.1 Áðåíåñãïðïßçóç äéáêïðþíÌéá áðëÞ ëýóç ãéá ôçí åðéôõ÷ßá áìïéâáßïõ áðïêëåéóìïý åßíáé ç áðåíåñãïðïßçóçôùí äéáêïðþí (interrupts) ôïõ óõóôÞìáôïò, êÜèå öïñÜ ðïõ ìéá äéåñãáóßá åéóÝñ÷å-ôáé óå êñßóéìï ôìÞìá ôçò. Ï ìç÷áíéóìüò áõôüò åããõÜôáé üôé, áí ìéá äéåñãáóßá ìðåéóå êñßóéìï ôìÞìá, ôüôå ç åêôÝëåóç ôïõ ôìÞìáôïò áõôïý èá ïëïêëçñùèåß, áöïý ôïóýóôçìá äå èá ìðïñåß íá äéáêüøåé ôçí åêôÝëåóç ôçò äéåñãáóßáò. Ìüëéò ïëïêëçñù-èåß ôï êñßóéìï ôìÞìá, ïé äéáêïðÝò ôïõ óõóôÞìáôïò åíåñãïðïéïýíôáé îáíÜ.

Page 31: Operating Systems

Äéåñãáóßåò 207

Ç ëýóç áõôÞ ðáñïõóéÜæåé, åêôüò ôïõ ðëåïíåêôÞìáôïò ôçò áðëüôçôáò, óïâáñÜìåéïíåêôÞìáôá:

t Ç åíåñãïðïßçóç/áðåíåñãïðïßçóç ôùí äéáêïðþí ôïõ óõóôÞìáôïò åßíáé åõèýíçôùí äéåñãáóéþí. Åíþ áõôü ìðïñåß íá åßíáé áðïäåêôü ãéá ôéò äéåñãáóßåò ôïõðõñÞíá ôïõ óõóôÞìáôïò, èåùñåßôáé ìç áðïäåêôü ãéá ôéò äéåñãáóßåò ÷ñçóôþí.Ï ëüãïò åßíáé üôé, áí ìéá äéåñãáóßá ÷ñÞóôç äåí åíåñãïðïéåß/áðåíåñãïðïéåß óù-óôÜ ôéò äéáêïðÝò ôïõ óõóôÞìáôïò, ôï óýóôçìá ìðïñåß íá êáôáññåýóåé, ãåãï-íüò ðïõ åßíáé áðáñÜäåêôï.

t Áí ôï óýóôçìá ðåñéëáìâÜíåé ðåñéóóüôåñåò ôçò ìéáò ÌÅ (ìïíÜäåò åðåîåñãá-óßáò), ôüôå ç áðåíåñãïðïßçóç ôùí äéáêïðþí ðñáãìáôïðïéåßôáé ìüíï óôçí ÌÅðïõ åêôåëåß ôç äéåñãáóßá, ðïõ åéóÝñ÷åôáé óå êñßóéìï ôìÞìá. Åßíáé äõíáôüí Üëëåòäéåñãáóßåò íá åéóÝëèïõí óå êñßóéìá ôìÞìáôá êáôÜ ôçí åêôÝëåóÞ ôïõò óå ÜëëåòÌÅ ôïõ óõóôÞìáôïò. Ç áðåíåñãïðïßçóç ôùí äéáêïðþí üëùí ôùí ÌÅ, üôáí óåìßá áðü áõôÝò åéóÝñ÷åôáé äéåñãáóßá ãéá åêôÝëåóç êñßóéìïõ ôìÞìáôïò, åßíáé Ýíáéäéáßôåñá óýíèåôï ðñüâëçìá, ðåñéóóüôåñï ßóùò êáé áðü ôï ðñüâëçìá ôïõ áìïé-âáßïõ áðïêëåéóìïý.

Óáí óõìðÝñáóìá, ìðïñïýìå íá ðïýìå üôé ï ìç÷áíéóìüò áðåíåñãïðïßçóçò äéáêï-ðþí, åíþ ìðïñåß íá åßíáé áðëüò êáé óõ÷íÜ âïëéêüò ãéá ôçí ðåñßðôùóç äéåñãáóéþíôïõ ðõñÞíá ôïõ ËÓ, åßíáé ãåíéêÜ ìç áðïäåêôüò ãéá ÷ñÞóç áðü äéåñãáóßåò ÷ñçóôþí.Ãéá ôï ëüãï áõôü, óðÜíéá ðñïôéìÜôáé ðñïò õëïðïßçóç óå óýã÷ñïíá óõóôÞìáôá.

8.5.2 Ç ÅíôïëÞ TSLÏ ìç÷áíéóìüò TSL áðáéôåß ôç óõíäñïìÞ åéäéêïý õëéêïý. Ôï óýóôçìá ðáñÝ÷åé ìéáåíôïëÞ, ôçí �¸ëåãîå êáé ÈÝóå Êëåßäùìá� (Test and Set Lock), ìå ôçí ïðïßá ç ÊÌÅäéáâÜæåé ôï ðåñéå÷üìåíï ìéáò èÝóçò ìíÞìçò êáé áðïèçêåýåé óôç èÝóç áõôÞ ìçìçäåíéêÞ ôéìÞ.

Ç áíÜãíùóç êáé ç åããñáöÞ óôç ìíÞìç ãßíïíôáé áäéáßñåôá, åíþ ôáõôü÷ñïíáêáé üóï äéáñêåß ç åêôÝëåóç ôçò åíôïëÞò, áðïêëåßåôáé êáé ç ðñüóâáóç ïðïéïõ-äÞðïôå Üëëïõ åðåîåñãáóôÞ óôç óõãêåêñéìÝíç èÝóç ìíÞìçò.

Ï óõã÷ñïíéóìüò äéåñãáóéþí êáé ï áìïéâáßïò áðïêëåéóìüò åðéôõã÷Üíïíôáé óôï óý-óôçìá ìÝóù ìéáò äéáìïéñáæüìåíçò ìåôáâëçôÞò flag. Ï ìç÷áíéóìüò ëåéôïõñãåß ùò åîÞò:

t ¼ôáí ç ìåôáâëçôÞ Ý÷åé ôçí ôéìÞ 0, ôüôå êáìéÜ äéåñãáóßá äå âñßóêåôáé óåêñßóéìï ôìÞìá ôçò. ¼ôáí ç ìåôáâëçôÞ Ý÷åé ôéìÞ 1, ôüôå êÜðïéá äéåñãáóßáóôï óýóôçìá âñßóêåôáé óå êñßóéìï ôìÞìá ôçò.

t ÊÜèå öïñÜ ðïõ ìéá äéåñãáóßá èÝëåé íá ìðåé óå êñßóéìï ôìÞìá, ÷ñçóéìïðïéåßôçí åíôïëÞ TSL êáé åëÝã÷åé ôçí ôéìÞ ôçò flag. Áí ôç âñåé 0, áõôüìáôá ôç èÝôåé1 êáé ìðáßíåé óôï êñßóéìï ôìÞìá ôçò. Áí ôç âñåé 1, äåí åéóÝñ÷åôáé óôï êñßóéìïôìÞìá, ðáñÜ åðáíáëáìâÜíåé ôïí Ýëåã÷ï.

t ¼ôáí ìéá äéåñãáóßá ïëïêëçñþóåé ôï êñßóéìï ôìÞìá ôçò, ôüôå ìå ìéá áðëÞåíôïëÞ èÝôåé ôçí ôéìÞ ôçò flag óå 0.

Åßíáé ðñïöáíÝò üôé ðïôÝ äýï äéåñãáóßåò äå èá âñßóêïíôáé ôáõôü÷ñïíá óå êñßóéìáôìÞìáôÜ ôïõò. Ç áäéáßñåôç åêôÝëåóç áíÜãíùóçò êáé åããñáöÞò áðü êáé ðñïò ôç flagêáé ï áðïêëåéóìüò ôçò ìåôáâëçôÞò áðü üëïõò ôïõò Üëëïõò åðåîåñãáóôÝò ôïõ óõ-óôÞìáôïò, ðïõ ðåôõ÷áßíåé ç åíôïëÞ TSL, åããõÜôáé, üôé ðïôÝ äåí ðñüêåéôáé ìéá äéåñ-ãáóßá íá ðñïóðåëÜóåé ôç flag, åíþ áõôÞ ðñïóðåëáýíåôáé Þäç áðü êÜðïéá Üëëç.

Page 32: Operating Systems

208 Ôå÷íïëïãßá õðïëïãéóôéêþí óõóôçìÜôùí êáé ëåéôïõñãéêÜ óõóôÞìáôá

8.6 Åíåñãüò ÁíáìïíÞ êáé Áðåíåñãïðïßçóç-Áöýðíéóç

Ï ìç÷áíéóìüò TSL ðïõ åîåôÜóáìå óôçí åíüôçôá 8.5 Ý÷åé ìéá óïâáñÞ áôÝëåéá. ÊÜèåäéåñãáóßá ðïõ èÝëåé íá åéóÝëèåé óå êñßóéìï ôìÞìá ôçò, åëÝã÷åé óõíå÷þò ôçí ôéìÞìéáò äéáìïéñáæüìåíçò ìåôáâëçôÞò ìÝ÷ñé íá âñåé óå áõôÞí ôçí ôéìÞ ðïõ èá ôçòåðéôñÝøåé íá åéóÝëèåé óôï êñßóéìï ôìÞìá ôçò. ¼ëåò ïé äéåñãáóßåò ðïõ áíáìÝíïõí,êáôáíáëþíïõí ÷ñüíï óå ÌÅ ôïõ óõóôÞìáôïò, áöïý åêôåëïýí Ýíá âñü÷ï ðïõ ðåñé-ëáìâÜíåé ôïí Ýëåã÷ï ôçò ìåôáâëçôÞò. Ïé äéåñãáóßåò áõôÝò, üóï ðåñéìÝíïõí äåíðáñÜãïõí êáíÝíá Ýñãï.

Ï åðáíáëáìâáíüìåíïò Ýëåã÷ïò ôçò äéáìïéñáæüìåíçò ìåôáâëçôÞò ïíïìÜæåôáéåíåñãüò áíáìïíÞ (busy waiting) êáé åßíáé ðñïöáíÝò üôé óðáôáëÜ ÷ñüíï ôïõåðåîåñãáóôÞ (åêôåëþíôáò óõíå÷þò ôïí Ýëåã÷ï ôçò äéáìïéñáæüìåíçò ìåôáâëçôÞò)

Óôç óõíÝ÷åéá, èá åîåôÜóïõìå ôï ìç÷áíéóìü óçìáôïöïñÝùí, ï ïðïßïò áíáãêÜæåéôéò äéåñãáóßåò ðïõ èÝëïõí íá åéóÝëèïõí óå êñßóéìá ôìÞìáôá íá áðåíåñãïðïéïý-íôáé áíôß íá êáôáíáëþíïõí ÷ñüíï ôçò ÊÌÅ, åíþ ðåñéìÝíïõí.

8.7 Óçìáôïöïñåßò

Ï ìç÷áíéóìüò ôùí óçìáôïöïñÝùí, áðïôåëåß Ýíáí áðü ôïõò ðéï áðïäïôéêïýò êáéðéï äéáäåäïìÝíïõò ìç÷áíéóìïýò äéáäéåñãáóéáêÞò óõíåñãáóßáò. ¢ëëïé áíÜëïãïé ìç-÷áíéóìïß, ðïõ ÷ñçóéìïðïéïýíôáé êáé ïé ïðïßïé êáëýðôïíôáé óôçí ðñïôåéíüìåíç âé-âëéïãñáößá, åßíáé áõôïß ôùí ðáñáêïëïõèçôþí, ôùí ìåôñçôþí óõìâÜíôùí êáéôçò áíôáëëáãÞò ìçíõìÜôùí. Áðïäåéêíýåôáé üôé üëïé ïé ìç÷áíéóìïß áõôïß åßíáé åíôå-ëþò éóïäýíáìïé.

Áò åîåôÜóïõìå ìéá åôáéñåßá ìå ðïëëïýò åñãáæüìåíïõò, ðïõ ìïéñÜæïíôáé äýïôçëåöùíéêÝò ãñáììÝò, ìßá ãéá ôïðéêÜ ôçëåöùíÞìáôá êáé ìßá ãéá õðåñáóôéêÜ. ÊÜèååñãáæüìåíïò Ý÷åé ìéá ôçëåöùíéêÞ óõóêåõÞ óõíäåäåìÝíç êáé óôéò äýï ãñáììÝò. ÊÜèåóõóêåõÞ Ý÷åé äýï ëáìðÜêéá, Ýíá ãéá êÜèå ãñáììÞ. ¼ôáí ìéá ãñáììÞ åßíáé åëåýèåñç,ôüôå ôï áíôßóôïé÷ï ëáìðÜêé óå üëåò ôéò óõóêåõÝò åßíáé óâçóôü. ¼ôáí åßíáé êáôåé-ëçìÝíç, ôï áíôßóôïé÷ï ëáìðÜêé åßíáé áíáììÝíï óå üëåò ôéò óõóêåõÝò. ÅðéðëÝïí, ôïóýóôçìá Ý÷åé ñõèìéóôåß, Ýôóé þóôå êáíÝíáò íá ìçí ìðïñåß íá áêïýóåé óõíïìéëßáÜëëïõ, áí óçêþóåé ôï áêïõóôéêü åíþ ç ãñáììÞ åßíáé êáôåéëçìÝíç.

Ïôáí êÜðïéïò èÝëåé íá ôçëåöùíÞóåé, åîåôÜæåé ôï ëáìðÜêé ôçò ãñáììÞò ðïõèÝëåé íá äåóìåýóåé (áíÜëïãá ìå ôï ôçëåöþíçìá ðïõ ðñüêåéôáé íá êÜíåé). Áí ôï äåéáíáììÝíï, ðåñéìÝíåé åêôåëþíôáò Üëëåò åñãáóßåò ìÝ÷ñé ôï ëáìðÜêé íá óâÞóåé. Áí ôïäåé óâçóôü, óçêþíåé ôï áêïõóôéêü êáé êáëåß ôïí áñéèìü ðïõ åðéèõìåß. Óå áõôÞ ôçíðåñßðôùóç, ç ãñáììÞ äåóìåýåôáé êáé ôï ëáìðÜêé ôçò áíÜâåé óå üëåò ôéò óõóêåõÝò.Ìüëéò ôåëåéþóåé ôï ôçëåöþíçìÜ ôïõ êáôåâÜæåé ôï áêïõóôéêü, ïðüôå ç ãñáììÞåëåõèåñþíåôáé êáé ôï áíôßóôïé÷ï ëáìðÜêé óâÞíåé óå üëåò ôéò óõóêåõÝò. Ç ãñáììÞåßíáé äéáèÝóéìç óôïí åðüìåíï ðïõ èÝëåé íá ôç ÷ñçóéìïðïéÞóåé.

Ôï óýóôçìá ðïõ ðåñéãñÜøáìå åßíáé ôáõôüóçìï ìå Ýíá õðïëïãéóôÞ ðïõ ÷ñçóé-ìïðïéåß äýï óçìáôïöïñåßò ãéá íá ðåôý÷åé áìïéâáßï áðïêëåéóìü ðáñÜëëçëùí äéåñ-ãáóéþí ðïõ åðéèõìïýí ÷ñÞóç êïéíþí ðüñùí ôïõ óõóôÞìáôïò:

Page 33: Operating Systems

Äéåñãáóßåò 209

t Ïé åñãáæüìåíïé åßíáé ïé äéåñãáóßåò

t Ïé äýï ôçëåöùíéêÝò ãñáììÝò åßíáé ïé ìïéñáæüìåíïé ðüñïé

t Ôá äýï ëáìðÜêéá óôéò óõóêåõÝò åßíáé ïé äýï óçìáôïöïñåßò ôïõ óõóôÞìáôïò

t Ç ÷ñÞóç ìéáò ôçëåöùíéêÞò ãñáììÞò áðü Ýíáí åñãáæüìåíï éóïäõíáìåß ìå ôçíåêôÝëåóç êñßóéìïõ ôìÞìáôïò ìéáò äéåñãáóßáò.

¼ðùò êáé óôçí åôáéñåßá, Ýôóé êáé óôïí õðïëïãéóôÞ ïé óçìáôïöïñåßò Ý÷ïõí (óõíÞ-èùò) äýï ôéìÝò:

t ÔéìÞ = 1 (éóïäõíáìåß ìå óâçóôü ëáìðÜêé) ðïõ äçëþíåé üôé ï ìïéñáæüìåíïò ðü-ñïò åßíáé åëåýèåñïò).

t ÔéìÞ = 0 (éóïäõíáìåß ìå áíáììÝíï ëáìðÜêé) ðïõ äçëþíåé üôé ï ìïéñáæüìåíïòðüñïò ÷ñçóéìïðïéåßôáé.

Ðáñáôçñåßóôå ïôé êÜèå óçìáôïöïñÝáò, óå áíôéóôïé÷ßá ìå ôá ëáìðÜêéá, åëÝã÷åé ôç÷ñÞóç åíüò ìüíï êïéíïý ðüñïõ.

Èá äïýìå ôþñá ôï ãåíéêü ïñéóìü ôùí óçìáôïöïñÝùí, ðïõ ðñïôÜèçêå áðü ôïíDijkstra ôï 1965:

Ï óçìáôïöïñÝáò (semaphore) åßíáé Ýíáò ôýðïò áêÝñáéáò ìåôáâëçôÞò ðïõ÷ñçóéìïðïéåßôáé ãéá ôçí êáôáìÝôñçóç ôùí óçìÜôùí áðåíåñãïðïßçóçò/áöý-ðíéóçò ðñïò ìéá äéåñãáóßá, þóôå áõôÜ ôá óÞìáôá íá ìç ÷Üíïíôáé, áëëÜ íáìðïñïýí íá ÷ñçóéìïðïéïýíôáé ìåëëïíôéêÜ.

Ó÷Þìá 8.8 Ïé äéåñãáóßåò óå Ýíá ËÓ ÷ñçóéìïðïéïýí ôïõò óçìáôïöïñåßò ãéá íá åðéêïéíùíïýí

ìåôáîý ôïõò êáé ãéá íá óõã÷ñïíßæïíôáé.

Ç ôéìÞ åíüò óçìáôïöïñÝá åßíáé:

� 0, üôáí äåí Ý÷åé áðïóôáëåß êáíÝíá óÞìá áöýðíéóçò óå äéåñãáóßá

� ó>0, üôáí Ý÷ïõí áðïóôáëåß ó ôï ðëÞèïò, óÞìáôá áöýðíéóçò óå äéåñãáóßåò

Ïôáí Ýíáò óçìáôïöïñÝáò ïñéóôåß íá ðáßñíåé ôéìÝò 0 êáé 1, ìüíï ôüôå ïíïìÜæå-ôáé äõáäéêüò óçìáôïöïñÝáò êáé ÷ñçóéìïðïéåßôáé ãéá ôçí åîáóöÜëéóç áìïé-âáßïõ áðïêëåéóìïý óôï óýóôçìá. Ïé óçìáôïöïñåßò ðïõ ÷ñçóéìïðïéïýíôáé ãéáôçí åðéêïéíùíßá äéåñãáóéþí ðáßñíïõí êáé èåôéêÝò ôéìÝò ìåãáëýôåñåò ôïõ 1.

Óå Ýíá óýóôçìá ìå óçìáôïöïñåßò ïñßæïíôáé ïé êëÞóåéò óõóôÞìáôïò down êáé up:

t ÊëÞóç down(s). ¼ôáí êáëåßôáé áðü ôç äéåñãáóßá ×, åëÝ÷ãåé áí ï óçìáôïöïñÝáòs Ý÷åé ôéìÞ ìåãáëýôåñç ôïõ 0. Áí s>0 ôüôå ìåéþíåé ôçí ôéìÞ ôïõ s êáôÜ 1. Áíüìùò s=0, ôüôå ç äéåñãáóßá X áðåíåñãïðïéåßôáé (áíáóôÝëëåôáé).

t ÊëÞóç up(s). Ç êëÞóç áõîÜíåé ôçí ôéìÞ ôïõ óçìáôïöïñÝá s êáôÜ 1. Áí õðÜñ-÷ïõí óôï óýóôçìá äéåñãáóßåò ðïõ Ý÷ïõí áðåíåñãïðïéçèåß ìÝóù ôïõ s - äåíìðüñåóáí íá åêôåëÝóïõí ôçí down(s) � ôï óýóôçìá åðéëÝãåé ìßá ôçí ïðïßá êáéáöõðíßæåé (ôçí êÜíåé Ýôïéìç).

Page 34: Operating Systems

210 Ôå÷íïëïãßá õðïëïãéóôéêþí óõóôçìÜôùí êáé ëåéôïõñãéêÜ óõóôÞìáôá

Åßíáé ðñïöáíÝò üôé, áí êÜðïéá äéåñãáóßá áöõðíéóôåß ìÝóù ôçò êëÞóçò up(s), ôüôåáõôÞ èá åêôåëÝóåé áìÝóùò ôçí êëÞóç down(s), áöïý åêåß åß÷å áðåíåñãïðïéçèåß. ÏóçìáôïöïñÝáò s, ìåôÜ ôéò up(s) êáé down(s) èá Ý÷åé ðÜëé ôéìÞ 0.

Ó÷Þìá 8.9 ÁëëáãÞ êáôÜóôáóçò äéåñãáóéþí óå óýóôçìá ìå óçìáôïöïñåßò (s)

Áí îáíáãõñßóïõìå óôï ðáñÜäåéãìá ôçò åôáéñåßáò ìå ôéò äýï ôçëåöùíéêÝò ãñáììÝò,âëÝðïõìå ïôé:

ï Ýëåã÷ïò ðïõ êÜíåé ï åñãáæüìåíïò óôï ëáìðÜêé ìå óêïðü íá ðÜñåé ôç ãñáììÞéóïäõíáìåß ìå ôçí êëÞóç down(s) óôï óçìáôïöïñÝá ôçò êáôÜëëçëçò ãñáììÞò. Áíôï ëáìðÜêé åßíáé óâçóôü (s=1), ç êëÞóç down ìåéþíåé ôï óçìáôïöïñÝá êáôÜ 1(ãßíåôáé s=0) êáé ï åñãáæüìåíïò ôçëåöùíåß. Ï åðüìåíïò åñãáæüìåíïò âëÝðåé ðëÝïíôï ëáìðÜêé áíáììÝíï (s=0) ïðüôå, üôáí ðñïóðáèåß íá åêôåëåß ôçí down(s), ðåñé-ìÝíåé.

Ç áðåëåõèÝñùóç ôçò ãñáììÞò áðü Ýíáí åñãáæüìåíï, üôáí ëÞîåé ôï ôçëåöþíçìÜôïõ, éóïäõíáìåß ìå ôç ëåéôïõñãßá up(s) óôï óçìáôïöïñÝá ôçò êáôÜëëçëçò ãñáììÞò.O óçìáôïöïñÝáò áõîÜíåé (ãßíåôáé s=1), ïðüôå áõôüìáôá êÜðïéïò Üëëïò ðïõ ðåñß-ìåíå (åðåéäÞ åß÷å äåé s=0 äçëáäÞ ëáìðÜêé áíáìÝíï) ìðïñåß íá ðÜñåé ôç ãñáììÞ (íáåêôåëÝóåé äçëáäÞ ôç äéêÞ ôïõ down(s)).

Êñßóéìï óçìåßï óôï ìç÷áíéóìü ôùí óçìáôïöïñÝùí åßíáé ôï ãåãïíüò üôé êáé çêëÞóç down êáé ç êëÞóç up åßíáé áäéáßñåôåò. ÊÜèå öïñÜ ðïõ ìéá äéåñãáóßá îåêéíÜìéá êëÞóç up Þ down ãéá Ýíá óçìáôïöïñÝá ç êëÞóç ïëïêëçñþíåôáé, ðñéí äïèåß ïÝëåã÷ïò óå Üëëç äéåñãáóßá. ÅðéðëÝïí, óå óýóôçìá ìå ðïëëÝò ìïíÜäåò åðåîåñãá-óßáò (ÌÅ), êáìéÜ Üëëç ðáñÜëëçëç äéåñãáóßá äåí Ý÷åé ðñüóâáóç óôï óçìáôïöï-ñÝá áõôü. Ìå Üëëá ëüãéá:

t ¼ôáí åêôåëåßôáé ç êëÞóç down(s) ï Ýëåã÷ïò êáé ìåôáâïëÞ ôçò ôéìÞò ôïõ s Þ çáðåíåñãïðïßçóç ôçò êáëïýóáò äéåñãáóßáò ïëïêëçñþíïíôáé ÷ùñßò äéáêïðÞ.ÐáñÜëëçëá, êáôÜ ôçí åêôÝëåóç ôçò êëÞóçò, êáììßá Üëëç ÌÅ äåí ìðïñåß íáåêôåëÝóåé ëåéôïõñãßá down(s) Þ up(s).

t ¼ôáí åêôåëåßôáé ç êëÞóç up(s), ç ìåôáâïëÞ ôçò ôéìÞò ôïõ s êáé ç ðéèáíÞ áöý-ðíéóç êÜðïéáò äéåñãáóßáò ïëïêëçñþíïíôáé ÷ùñßò äéáêïðÞ. ÐáñÜëëçëá êáôÜôçí åêôÝëåóç ôçò êëÞóçò, êáìéÜ Üëëç ÌÅ äåí ìðïñåß íá åêôåëÝóåé ëåéôïõñãßádown(s) Þ up(s).

Óå Ýíá óýóôçìá ìå ðïëëïýò êïéíü÷ñçóôïõò ðüñïõò õðÜñ÷ïõí êáé ðïëëïß óçìáôï-öïñåßò. Ôï ËÓ, ãéá íá ìðïñåß íá äéá÷åéñßæåôáé åýêïëá ôéò äéåñãáóßåò ðïõ ðåñéìÝíïõíêÜèå óçìáôïöïñÝá, ÷ùñßæåé ôéò äéåñãáóßåò ðïõ Ý÷ïõí áðåíåñãïðïéçèåß (âñßóêïíôáé

Page 35: Operating Systems

Äéåñãáóßåò 211

õðü áíáóôïëÞ) óå ôüóåò ëßóôåò áíáìïíÞò üóïé êáé ïé óçìáôïöïñåßò. ÊÜèå äéåñãá-óßá ðåñéìÝíåé óôç ëßóôá áíáìïíÞò ôïõ óçìáôïöïñÝá ðïõ ôçí Ý÷åé áðåíåñãïðïéÞ-óåé. Óôï óýóôçìá õðÜñ÷ïõí öõóéêÜ êáé äéåñãáóßåò ðïõ äåí ðåñéìÝíïõí êáíÝíáóçìáôïöïñÝá. ÁõôÝò åßíáé ïé Ýôïéìåò äéåñãáóßåò êáé ðåñéìÝíïõí åîõðçñÝôçóç áðüôçí ÊÌÅ óå îå÷ùñéóôÞ ëßóôá, ôç ëßóôá Ýôïéìùí äéåñãáóéþí (Ready List � RL).

Ïé ëßóôåò áíáìïíÞò ôùí óçìáôïöïñÝùí åßíáé ïñãáíùìÝíåò ùò ïõñÝò. ÊÜèå öïñÜåîõðçñåôåßôáé ç äéåñãáóßá ðïõ ðåñéìÝíåé óôç ëßóôá ôçí ðåñéóóüôåñç þñá (üðùòêáé óôá ôáìåßá ôçò ôñÜðåæáò). ÏñãÜíùóç ïõñÜò Ý÷åé óõíÞèùò êáé ç ëßóôá Ýôïéìùíäéåñãáóéþí.

Óôï ó÷Þìá 8.10 öáßíåôáé ç ÷ñÞóç ôùí óçìáôïöïñÝùí áðü ìéá äéåñãáóßá ðïõåêôåëåßôáé êáé æçôÜ íá åéóÝëèåé óå êñßóéìï ôìÞìá ôçò. Ðáñáôçñåßóôå ïôé, áíÜëïãáìå ôçí êáôÜóôáóç (ôéìÞ) ôïõ óçìáôïöïñÝá, áðåíåñãïðïéåßôáé Þ óõíå÷ßæåé ôçí åêôÝ-ëåóÞ ôçò. Åðßóçò, áí ç äéåñãáóßá Ý÷åé áðåíåñãïðïéçèåß êáé ï óçìáôïöïñÝáò áëëÜ-îåé ôéìÞ, ôüôå ôï ËÓ åíåñãïðïéåß êáé ðÜëé ôç äéåñãáóßá.

Ó÷Þìá 8.10 ×ñÞóç óçìáôïöïñÝá áðü äéåñãáóßá ãéá åêôÝëåóç êñßóéìïõ ôìÞìáôüò ôçò

Ôï ðñüâëçìá óõããñáöÝùí êáé áíáãíùóôþíÈá åîåôÜóïõìå ôïí ôñüðï ðïõ ÷ñçóéìïðïéïýíôáé ïé óçìáôïöïñåßò ãéá íá ëýóïõíÝíá áðü ôá êëáóóéêüôåñá ðñïâëÞìáôá óôçí åðéóôÞìç ôùí õðïëïãéóôþí, ôï ðñü-âëçìá óõããñáöÝùí êáé áíáãíùóôþí. Ôï ðñüâëçìá åìöáíßæåôáé ìå äéÜöïñåò ìïñ-öÝò áëëÜ ðéï óõíçèéóìÝíï åßíáé óôç ìïñöÞ ðïõ ðáßñíåé óôéò âÜóåéò äåäïìÝíùí.

Page 36: Operating Systems

212 Ôå÷íïëïãßá õðïëïãéóôéêþí óõóôçìÜôùí êáé ëåéôïõñãéêÜ óõóôÞìáôá

Åêåß, ìéá ïìÜäá äéåñãáóéþí ìïéñÜæåôáé åíá áñ÷åßï, óôï ïðïßï êÜðïéåò áðü ôéò äéåñ-ãáóßåò (óõããñáöåßò) èÝëïõí íá ãñÜøïõí ðëçñïöïñßåò êáé íá ôï ôñïðïðïéÞóïõí,åíþ êÜðïéåò Üëëåò äéåñãáóßåò (áíáãíþóôåò) èÝëïõí íá äéáâÜóïõí ðëçñïöïñßá áðüáõôü.

Ãéá íá åîáóöáëßóïõìå ôçí áêåñáéüôçôá ôùí äåäïìÝíùí, ðñÝðåé êÜèå óõããñá-öÝáò íá Ý÷åé áðïêëåéóôéêÞ ðñüóâáóç óôï áñ÷åßï. ¼ôáí ãñÜöåé äçëáäÞ ìéá äéåñãá-óßá óôï áñ÷åßï, êáìßá Üëëç äåí èá ðñÝðåé íá ìðïñåß íá ôï ÷ñçóéìïðïéÞóåé ïýôå ãéáåããñáöÞ áëëÜ ïýôå êáé ãéá áíÜãíùóç. Óôçí ðåñßðôùóç ôçò áíÜãíùóçò, áíôßèåôá,ìðïñïýìå íá Ý÷ïõìå ðïëëÝò äéåñãáóßåò íá äéáâÜæïõí ôáõôü÷ñïíá. Óå ðåñßðôùóçðïõ ôçí ßäéá óôéãìÞ åíåñãïðïéïýíôáé Ýíáò óõããñáöÝáò êáé Ýíáò áíáãíþóôçò èáèåùñÞóïõìå ïôé ðñïôåñáéüôçôá Ý÷åé ï áíáãíþóôçò. Ï óõããñáöÝáò äçëáäÞ ðñÝðåéíá ðåñéìÝíåé íá ïëïêëçñùèïýí üëåò ïé åñãáóßåò áíÜãíùóçò. Ç ðáñáäï÷Þ áõôÞ äåíåßíáé õðï÷ñåùôéêÞ, èá ìðïñïýóå íá óõìâáßíåé êáé ôï áíôßóôñïöï. Ç ìüíç äéáöïñÜèá Þôáí ðùò ðéï åõíïçìÝíïé èá Þôáí ôüôå ïé óõããñáöåßò êáé ü÷é ïé áíáãíþóôåò.

Ïé áðëïýóôåñåò ìïñöÝò ôùí äéåñãáóéþí ôùí óõããñá-öÝùí êáé ôùí áíáãíùóôþí öáßíïíôáé óôï ó÷Þìá 8.11.

Ãéá íá åîáóöáëßóïõìå üôé ìüíï Ýíáò óõããñáöÝáò ãñÜ-öåé ðÜíôá óôï áñ÷åßï, èá ÷ñçóéìïðïéÞóïõìå Ýíá óçìá-ôïöïñÝá ìå áñ÷éêÞ ôéìÞ 1. Èá ôïí ïíïìÜóïõìå w. ÊÜèåöïñÜ ðïõ Ýíáò óõããñáöÝáò èÝëåé íá ãñÜøåé, èá êáôá-ëáìâÜíåé ôï óçìáôïöïñÝá ìå ôçí êëÞóç down(w). ¼óïãñÜöåé, üëïé ïé Üëëïé óõããñáöåßò, áí ðñïóðáèÞóïõí íáãñÜøïõí, èá âñßóêïõí w=0 êáé èá áðåíåñãïðïéïýíôáéóôçí äéêÞ ôïõò êëÞóç down(w). Ôï íÝï ðñüãñáììá ôùíóõããñáöÝùí öáßíåôáé óôï ó÷Þìá 8.12.

ÐñÝðåé ôþñá íá åîáóöáëßóïõìå ïôé, üôáíÝíáò áíáãíþóôçò äéáâÜæåé, êáíÝíáò óõããñáöÝáòäåí èá ìðïñåß íá ãñÜøåé. Áõôü èá ãßíåé ìÝóùôïõ óçìáôïöïñÝá w ðïõ åëÝã÷ïõí ïé óõããñá-öåßò ðñéí ãñÜøïõí. Áí êÜèå öïñÜ ðïõ åíåñãï-ðïéåßôáé åíáò áíáãíþóôçò äåóìåýåé ôï óçìáôï-öïñÝá w, ôüôå ïé óõããñáöåßò èá ìðëïêÜñïíôáé.Ïôáí ïëïêëçñþóåé ï áíáãíþóôçò, èá åëåõèåñþ-íåé ôï óçìáôïöïñÝá ìå ôçí êëÞóç up(w) ïðüôå,áí õðÜñ÷åé óõããñáöÝáò ðïõ ðåñéìÝíåé, èáåíåñãïðïéåßôáé. Áí üìùò ïé áíáãíþóôåò åëÝã÷ïõíôïí w, ôüôå ðþò èá ìðïñïýí íá äéáâÜæïõí ðïë-ëïß ôáõôü÷ñïíá; Áõôü èá ëõèåß ìå ôçí ðñïóèÞêçìéáò êïéíÞò ìåôáâëçôÞò, ôçò readers. Ç ìåôáâëç-ôÞ Ý÷åé áñ÷éêÞ ôéìÞ 0. ÊÜèå áíáãíþóôçò ôçí áõ-

Óõããñáöåßò

Write(file, text)

Áíáãíþóôåò

Read(file, text)

Óõããñáöåßò

Down(w)

Write(file, text)

Up(w)

Ó÷Þìá 8.11

Ó÷Þìá 8.12

Áíáãíþóôåò

readers := readers + 1

If readers = 1 then

Down(w)

Read(file, text)

readers := readers � 1

if readers = 0 then

up(w)

Ó÷Þìá 8.13

Page 37: Operating Systems

Äéåñãáóßåò 213

îÜíåé ðñéí áñ÷ßóåé ôï äéÜâáóìá êáé ôç ìåéþíåé ïôáí ôåëåéþóåé. ÊÜèå óôéãìÞ ç readers,äçëþíåé ôïí áñéèìü ôùí áíáãíùóôþí ðïõ äéáâÜæïõí. ×ñçóéìïðïéþíôáò ôçí readersåíáò áíáãíþóôçò ãíùñßæåé áí åßíáé ï ðñþôïò Þ ï ôåëåõôáßïò ðïõ äéáâÜæåé. Óôïíêþäéêá ôùí áíáãíùóôþí âÜæïõìå Ýëåã÷ï, Ýôóé þóôå ìüíï ï ðñþôïò íá äåóìåýåé ôïíóçìáôïöïñÝá w êáé ìüíï ï ôåëåõôáßïò íá ôïí åëåõèåñþíåé. Ï êþäéêáò öáßíåôáé óôïó÷Þìá 8.13.

ÊïéíÞ ìåôáâëçôÞ óçìáßíåé êáé áíÜãêç óçìá-ôïöïñÝá. ÐñÜãìáôé ç readers ìðïñåß íá ìåôá-âÜëëåôáé áíåîÝëåãêôá áðü ðïëëïýò ôáõôü÷ñï-íá áíáãíþóôåò. Áõôü ìðïñåß íá äçìéïõñãÞóåéóïâáñÜ ðñïâëÞìáôá êáé êáôÜññåõóç ôïõ óõ-óôÞìáôïò. Ç óùóôÞ ëýóç áðáéôåß ç ðñüóâá-óç ôùí áíáãíùóôþí óôç ìåôáâëçôÞ íá öõëÜó-óåôáé ìå óçìáôïöïñÝá (ôïí r). Ï ôåëéêüò êþäé-êáò ôïõ áíáãíþóôç äßíåôáé óôï ó÷Þìá 8.14.

8.8 ×ñïíïäñïìïëüãçóç ÅðåîåñãáóôÞ

Óôï ðáñåëèüí, óôá ðåñéóóüôåñá óõóôÞìáôá Þôáí äõíáôÞ ç åêôÝëåóç ìéáò ìüíïäéåñãáóßáò áðü ôï óýóôçìá õðïëïãéóôÞ. Ç ÊÌÅ áöéåñùíüôáí óôç äéåñãáóßá áõôÞêáé ìüíï ìå ôç ëÞîç ôçò Þôáí äõíáôü ôï óýóôçìá Þ êÜðïéïò ÷ñÞóôçò íá åêêéíÞóåéìéá íÝá. Áíôßèåôá, óå êÜèå óýã÷ñïíï óýóôçìá åßíáé ðïëý óõíçèéóìÝíï íá õðÜñ-÷ïõí êÜèå óôéãìÞ áñêåôÝò äéåñãáóßåò, åßôå ôïõ ËÓ åßôå åíüò Þ ðåñéóóüôåñùí ÷ñç-óôþí, ïé ïðïßåò åßíáé åêôåëÝóéìåò. Óôéò ðåñéðôþóåéò üðïõ õðÜñ÷ïõí ðåñéóóüôåñåòôçò ìéáò Ýôïéìåò äéåñãáóßåò, ðñÝðåé ôï óýóôçìá íá áðïöáóßóåé ðïéá èá åêôåëå-óôåß ðñþôç êáé ðþò ï ÷ñüíïò ôçò ÊÌÅ èá êáôáíåìçèåß óôéò äéåñãáóßåò áõôÝò.

Ôï õðïóýóôçìá ôïõ ËÓ ðïõ êáèïñßæåé ìå ðïéï ôñüðï êáé ðïéá óåéñÜ èá êáôá-íÝìåôáé ï ÷ñüíïò ôçò åðåîåñãáóôéêÞò éó÷ýïò óôéò åêôåëÝóéìåò äéåñãáóßåò ïíïìÜæå-ôáé ÷ñïíïäñïìïëïãçôÞò (scheduler). Ï áëãüñéèìïò ðïõ ÷ñçóéìïðïéåß ï ÷ñïíïäñï-ìïëïãçôÞò ãéá ôçí åêôÝëåóç ôçò åñãáóßáò ôïõ, ï ôñüðïò äçëáäÞ ðïõ ãßíåôáé ï÷ñïíïäñïìïëüãçóç, ïíïìÜæåôáé áëãüñéèìïò ÷ñïíïäñïìïëüãçóçò (schedulingalgorithm).

Áíáãíþóôåò

Down(r)

readers := readers + 1

up(r)

If readers = 1 then

Down(w)

Read(file, text)

Down(r)

readers := readers - 1

up(r)

if readers = 0 then

up(w)

Ó÷Þìá 8.14

Page 38: Operating Systems

214 Ôå÷íïëïãßá õðïëïãéóôéêþí óõóôçìÜôùí êáé ëåéôïõñãéêÜ óõóôÞìáôá

Åðßðåäá ×ñïíïäñïìïëüãçóçòÓå êÜèå óýóôçìá õðÜñ÷ïõí äýï åðßðåäá ÷ñïíïäñïìïëüãçóçò êáé óõíåðþò äýï÷ñïíïäñïìïëïãçôÝò (Üñá êáé 2 ßäéïé Þ äéáöïñåôéêïß áëãüñéèìïé ÷ñïíïäñïìïëüãçóçò)

t Ç ìáêñï÷ñüíéá ÷ñïíïäñïìïëüãçóç Þ ÷ñïíïäñïìïëüãçóç åñãáóéþí (long termscheduling Þ job scheduling). Óå áõôü ôï åðßðåäï, ôï óýóôçìá åðéëÝãåé áðü üëåòôéò äéåñãáóßåò ðïõ Ý÷ïõí õðïâëçèåß óôï óýóôçìá, ðïéåò èá Ýñèïõí óôç ìíÞìç(áðü ôï ìÝóï áðïèÞêåõóçò ðïõ âñßóêïíôáé) êáé èá åêôåëåóèïýí. Ïé äéåñãáóßåòáõôÝò åéóÜãïíôáé óôç ëßóôá Ýôïéìùí äéåñãáóéþí ôïõ óõóôÞìáôïò.

t Ç âñá÷õ÷ñüíéá ÷ñïíïäñïìïëüãçóç Þ ÷ñïíïäñïìïëüãçóç ÊÌÅ (short termscheduling Þ CPU scheduling). Óôï åðßðåäï áõôü, ôï óýóôçìá åðéëÝãåé ðïéá áðüôéò äéåñãáóßåò ðïõ Ý÷ïõí åðéëåãåß áðü ôç ìáêñï÷ñüíéá ÷ñïíïäñïìïëüãçóç èáåêôåëåßôáé êÜèå öïñÜ óôçí ÊÌÅ.

Ç âáóéêÞ äéáöïñÜ ôùí äýï äéáäéêáóéþí åßíáé ç óõ÷íüôçôá ìå ôçí ïðïßá åêôåëïý-íôáé. Ï ìáêñï÷ñüíéïò ÷ñïíïäñïìïëïãçôÞò åêôåëåßôáé áõôüìáôá áðü ôï óýóôçìáóå áñáéÜ ÷ñïíéêÜ äéáóôÞìáôá (ð.÷. êÜèå 500msec). Ï âñá÷õ÷ñüíéïò ÷ñïíïäñïìï-ëïãçôÞò åêôåëåßôáé áõôüìáôá áðü ôï óýóôçìá ðïëý ðéï óõ÷íÜ (ð.÷. êÜèå 10msec).

Óå ðïëëÜ óõóôÞìáôá õðÜñ÷åé êáé Ýíá åíäéÜìåóï åðßðåäï ÷ñïíïäñïìïëüãç-óçò, ï ìåóïðñüèåóìïò ÷ñïíïäñïìïëïãçôÞò (mid-term scheduler). Óôï åðßðåäïáõôü, ï ÷ñïíïäñïìïëïãçôÞò åðéëÝãåé áðü ôç ëßóôá Ýôïéìùí äéåñãáóéþí äéåñãá-óßåò ôéò ïðïßåò áðïìáêñýíåé áðü ôç ëßóôá êáé óôç èÝóç ôïõò öÝñíåé Üëëåò áðüôá áðïèçêåõôéêÜ ìÝóá ôïõ óõóôÞìáôïò.

Áîéïëüãçóç êáé ôýðïé ÷ñïíïäñïìïëüãçóçòÏ âáóéêüò óôü÷ïò åíüò áëãüñéèìïõ ÷ñïíïäñïìïëüãçóçò åßíáé íá äßíåé åðåîåñãáóôé-êÞ éó÷ý óå åêôåëÝóéìåò äéåñãáóßåò ìå ôÝôïéï ôñüðï, þóôå íá åðéôõã÷Üíåé:

t Áðïäïôéêüôçôá (efficiency). Ïé ÊÌÅ ðñÝðåé íá åßíáé áðáó÷ïëçìÝíåò äéåêðåñáéþ-íïíôáò äéåñãáóßåò ãéá ôï 100% ôïõ ÷ñüíïõ ôïõò.

t Äéêáéïóýíç (fairness), äçëáäÞ ï ÷ñüíïò ôùí ÊÌÅ íá ìïéñÜæåôáé äßêáéá (áíÜëï-ãá ìå ôéò ãåíéêüôåñåò áðáéôÞóåéò) óôéò Ýôïéìåò äéåñãáóßåò.

t ×áìçëü ÷ñüíï áðüêñéóçò (low response time), äçëáäÞ åëÜ÷éóôï ÷ñüíï áíáìï-íÞò ãéá ôïõò äéáëïãéêïýò ÷ñÞóôåò (interactive users).

t ×áìçëü ÷ñüíï äéåêðåñáßùóçò (low turnaround time), äçëáäÞ åëÜ÷éóôï ÷ñüíïáíáìïíÞò ãéá ôïõò ÷ñÞóôåò åíåñãåéþí äÝóìçò (batch process users).

Åßíáé ðñïöáíÝò üôé ôá ðéï ðÜíù êñéôÞñéá åðéôõ÷ßáò, ôá ïðïßá äåí åßíáé êáé ôáìüíá, åßíáé áíôáãùíéóôéêÜ. Ãéá ðáñÜäåéãìá, åëá÷éóôïðïßçóç ôïõ ÷ñüíïõ áðüêñé-óçò áõôüìáôá óçìáßíåé áýîçóç ôïõ ÷ñüíïõ äéåêðåñáßùóçò äéåñãáóéþí äÝóìçò êáéáíôßóôñïöá. Óå Ýíá ËÓ, ï áëãüñéèìïò ÷ñïíïäñïìïëüãçóçò ìðïñåß íá ñõèìéóôåßáðü ôï äéá÷åéñéóôÞ ôïõ óõóôÞìáôïò, áíÜëïãá ìå ôç öýóç ôùí åñãáóéþí óôéòïðïßåò èÝëåé áõôüò íá äþóåé ðñïôåñáéüôçôá óôï óýóôçìá. Ïé ñõèìßóåéò ðïõ ìðï-ñïýí íá ãßíïõí åßíáé ëéãüôåñåò Þ ðåñéóóüôåñåò áíÜëïãá ìå ôïí åéäéêü áëãüñéèìïðïõ êÜèå öïñÜ ÷ñçóéìïðïéåßôáé.

Óôç ìåëÝôç ôçò áðüäïóçò ôùí áëãïñßèìùí ÷ñïíïäñïìïëüãçóçò ÷ñçóéìïðïéïý-íôáé óõíÞèùò ïé áêüëïõèïé ðïóïôéêïß äåßêôåò:

Page 39: Operating Systems

Äéåñãáóßåò 215

t Ï âáèìüò ÷ñçóéìïðïßçóçò ôçò ÊÌÅ (CPU utilization). Ðñüêåéôáé ãéá ôï ðïóï-óôü ôïõ ÷ñüíïõ ðïõ ç ÊÌÅ åßíáé áðáó÷ïëçìÝíç åêôåëþíôáò äéåñãáóßåò.Âáèìüò÷ñçóéìïðïßçóçò êïíôÜ óôï 1 äçëþíåé ïôé ç ÊÌÅ åßíáé ó÷åäüí óõíÝ÷åéá áðáó÷ï-ëçìÝíç êáé ï áëãüñéèìïò ÷ñïíïäñïìïëüãçóçò äå óðáôáëÜ ÷ñüíï ÊÌÅ óå áíá-ìïíÞ ãéá åêôÝëåóç äéåñãáóéþí.

t Ç ñõèìáðüäïóç (throughput). Åßíáé ï áñéèìüò ôùí äéåñãáóéþí ðïõ ïëïêëçñþ-íïíôáé óôç ìïíÜäá ôïõ ÷ñüíïõ. Áí ð.÷. 3600 äéåñãáóßåò ïëïêëçñþíïíôáé óå óå60 ëåðôÜ, ç ñõèìáðüäïóç ôïõ óõóôÞìáôïò åßíáé 1 äéåñãáóßá/sec. ¼óï ìåãáëý-ôåñç åßíáé ç ñõèìáðüäïóç ôüóï ðéï áðïäïôéêü åßíáé ôï óýóôçìá.

t Ï ìÝóïò ÷ñüíïò áíáìïíÞò (mean waiting time). Ï ÷ñüíïò áíáìïíÞò åßíáé ï÷ñüíïò ðïõ ðåñéìÝíåé ìéá äéåñãáóßá óôçí ëßóôá Ýôïéìùí äéåñãáóéþí, áíáìÝíï-íôáò ôçí åêôÝëåóÞ ôçò. Ï ìÝóïò ÷ñüíïò áíáìïíÞò åßíáé ï ìÝóïò üñïò ôùí ÷ñü-íùí áíáìïíÞò ôùí äéåñãáóéþí óôï óýóôçìá. Åßíáé ï êáëýôåñïò äåßêôçò «êáèõ-óôÝñçóçò» ôùí äéåñãáóéþí óå Ýíá óýóôçìá ìå ðïëëÝò äéåñãáóßåò.

t Ï ìÝóïò ÷ñüíïò áðüêñéóçò (mean response time). Ï ÷ñüíïò áðüêñéóçò ïñßæå-ôáé ùò ôï óýíïëï ôïõ ÷ñüíïõ áíáìïíÞò ôçò äéåñãáóßáò êáé ôïõ ÷ñüíïõ åêôÝëå-óÞò ôçò. Óôï ÷ñüíï åêôÝëåóçò õðïëïãßæïíôáé ìüíï ïé ÷ñüíïé ôùí åêñÞîåùí ÊÌÅôçò äéåñãáóßáò (äåí ìåôÝ÷ïõí ïé ÷ñüíïé åêñÞîåùí Å/Å áöïý áõôïß åßíáé ðïëý ðéïìåãÜëïé êáé äéáöïñïðïéïýíôáé óçìáíôéêÜ áíÜëïãá ìå ôá ðåñéöåñåéáêÜ). Ï ìÝ-óïò ÷ñüíïò áðüêñéóçò åßíáé ï ìÝóïò üñïò ôùí ÷ñüíùí áðüêñéóçò ôùí äéåñãá-óéþí óôï óýóôçìá.

ÁíåîÜñôçôá áðü ôç ëïãéêÞ ðïõ õëïðïéåß Ýíáò áëãüñéèìïò ÷ñïíïäñïìïëüãçóçòðñÝðåé áõôüò íá ëáìâÜíåé õðüøç ôïõ üôé:

t Ãéá ôï õðïóýóôçìá ÷ñïíïäñïìïëüãçóçò, êÜèå äéåñãáóßá åßíáé áðñüâëåðôç.

t ÕðÜñ÷ïõí äéåñãáóßåò ðïõ óðáôáëïýí óçìáíôéêü ÷ñüíï ôçò ÊÌÅ áíáìÝíï-íôáò åßóïäï/Ýîïäï êé Üëëåò ðïõ ìðïñïýí ãéá óçìáíôéêü ÷ñüíï íá êáôáíáëþ-íïõí ôï 100% ôçò åðåîåñãáóôéêÞò éó÷ýïò ôïõ óõóôÞìáôïò, áí ôïõò äïèåß çåõêáéñßá. Ï áëãüñéèìïò äåí ìðïñåß íá ãíùñßæåé ðïôÝ ìå áêñßâåéá ðüôå ìéáäéåñãáóßá èá áíáóôáëåß ðåñéìÝíïíôáò åßóïäï/Ýîïäï, ïýôå ðüôå èá áðåíåñ-ãïðïéçèåß óå êÜðïéï óçìáôïöïñÝá ïýôå ôÝëïò, ðüôå èá ôåñìáôßóåé.

Ãéá ôçí áíôéìåôþðéóç ôïõ öáéíïìÝíïõ ôçò ìïíïðþëçóçò ôùí ÊÌÅ, ôá ðåñéóóüôå-ñá ËÓ ÷ñçóéìïðïéïýí ôç äéáêïðÞ ñïëïãéïý (timer interrupt) ðïõ ðñïêáëåß óå ôáêôÜ÷ñïíéêÜ äéáóôÞìáôá ôï êýêëùìá ÷ñïíéóìïý ôïõ õðïëïãéóôÞ. ÊÜèå öïñÜ ðïõ åì-öáíßæåôáé ç äéáêïðÞ áõôÞ, åêôåëåßôáé ï ðõñÞíáò ôïõ ËÓ êáé áðïöáóßæåé, áí çåêôåëïýìåíç óôç ÊÌÅ äéåñãáóßá èá óõíå÷éóôåß Þ áí Ý÷åé êáôáíáëþóåé áñêåôü ÷ñü-íï åðåîåñãáóßáò, ïðüôå ç äéåñãáóßá èá äéáêïðåß Ýôóé þóôå íá åêôåëåóôåß Üëëçäéåñãáóßá.

Ç óôñáôçãéêÞ ôïõ åëÝã÷ïõ êáé ôçò ðéèáíÞò áíáóôïëÞò åêôÝëåóçò åêôåëÝóéìùíäéåñãáóéþí ïíïìÜæåôáé ÷ñïíïäñïìïëüãçóç ðñïåê÷þñçóçò (preemptivescheduling) êáé Ýñ÷åôáé óå áíôßèåóç ìå ôç óôñáôçãéêÞ åêôÝëåóçò ìÝ÷ñé ôÝëïõò(run to completion) Þ áëëéþò ìç ðñïåê÷ùñçôéêÞ ÷ñïíïäñïìïëüãçóç (non-preemptive scheduling).

Óôç ìç ðñïåê÷ùñçôéêÞ ÷ñïíïäñïìïëüãçóç ìéá äéåñãáóßá äéáêüðôåôáé ìüíï áí çßäéá ôï åðéôñÝøåé (ãéá åßóïäï/Ýîïäï Þ Ýëåã÷ï óçìáôïöïñÝá). ÄéáöïñåôéêÜ, ç äéåñ-ãáóßá áðáó÷ïëåß êáô� áðïêëåéóôéêüôçôá ôçí ÊÌÅ ìÝ÷ñé íá ðåñáôùèåß.

Page 40: Operating Systems

216 Ôå÷íïëïãßá õðïëïãéóôéêþí óõóôçìÜôùí êáé ëåéôïõñãéêÜ óõóôÞìáôá

Åßíáé ðñïöáíÝò üôé óôá óýã÷ñïíá óõóôÞìáôá õðïëïãéóôÞ ãåíéêïý óêïðïý êáôÜë-ëçëïé èåùñïýíôáé ïé ðñïåê÷ùñçôéêïß áëãüñéèìïé êáé ìüíï óå áöïóéùìÝíá óõóôÞìáôáõðïëïãéóôÞ åéäéêïý óêïðïý ðñïôéìïýíôáé ïé áëãüñéèìïé åêôÝëåóçò ìÝ÷ñé ôÝëïõò.

Ó÷Þìá 8.15 ×ñïíïäñïìïëüãçóç ðñïåê÷þñçóçò. Ôï ËÓ óå ôáêôÜ ÷ñïíéêÜ äéáóôÞìáôá áðïöáóßæåé áí

ï Ýëåã÷ïò ôçò ÊÌÅ ðñÝðåé íá ìåßíåé óôçí åêôåëïýìåíç äéåñãáóßá Þ íá ðåñÜóåé óå Üëëç Ýôïéìç.

Óôç óõíÝ÷åéá ôïõ êåöáëáßïõ èá ìåëåôÞóïõìå ôïõò âáóéêüôåñïõò ðñïåê÷ùñçôé-êïýò êáé ìç ðñïåê÷ùñçôéêïýò áëãüñéèìïõò ÷ñïíïäñïìïëüãçóçò. Ïé áëãüñéèìïé áõ-ôïß ìðïñïýí íá åöáñìïóôïýí óå üëá ôá åðßðåäá ÷ñïíïäñïìïëüãçóçò. Ãéá ôçíêáôáíüçóç ôùí áëãïñßìùí áëëÜ êáé ôùí äéáöïñþí ôïõò, èá ìåëåôÞóïõìå Ýíá óý-óôçìá óôï ïðïßï åéóÝñ÷ïíôáé óôç ëßóôá Ýôïéìùí äéåñãáóéþí ïé äéåñãáóßåò ðïõöáßíïíôáé óôïí ðßíáêá 8.3.

Ðßíáêáò 8.3

Äéåñãáóßá ¢öéîç (÷ñïíéêÞ óôéãìÞ) ÄéÜñêåéá (ìïíÜäåò ÷ñüíïõ)

A 0 11

B 5 25

à 8 2

Ä 12 10

Óå êÜèå ðåñßðôùóç èá õðïëïãßóïõìå ôï ìÝóï ÷ñüíï áíáìïíÞò êáé ôï ìÝóï ÷ñüíïáðüêñéóçò ôïõ óõóôÞìáôïò.

8.8.1 Ìç ðñïåê÷ùñçôéêÞ åîõðçñÝôçóç ìå âÜóç ôç óåéñÜÜöéîçò (Non Preemptive First Come First Serve FCFS)Åßíáé ï áðëïýóôåñïò áëãüñéèìïò ÷ñïíïäñïìïëüãçóçò êáé áõôü åßíáé ïõóéáóôéêÜ ôïìüíï ðëåïíÝêôçìÜ ôïõ. Ìå áõôüí, ïé äéåñãáóßåò åîõðçñåôïýíôáé ìÝ÷ñé ôçí ïëïêëÞ-ñùóÞ ôïõò ìå ôç óåéñÜ ðïõ åéóÞëèáí óôç ëßóôá Ýôïéìùí äéåñãáóéþí.

×ñçóéìïðïéïýí ðñïåê÷þñçóç ôá ËÓ�WINDOWS NT

�UNIX

�LINUX

Äåí ÷ñçóéìïðïéïýí ðñïåê÷þñçóçôá ËÓ

�WINDOWS 95

�WINDOWS 98

Ïé üñïé pre emptive, non preemptive

áðïäßäïíôáé êáé ùò �äéáêïðôïß� êáé �ìç

äéáêïðôïß�

Page 41: Operating Systems

Äéåñãáóßåò 217

ÊÜèå öïñÜ ðïõ ìéá äéåñãáóßá åéóÝñ÷åôáé óôï óýóôçìá, ôïðïèåôåßôáé óôï ôÝ-ëïò ôçò ïõñÜò Ýôïéìùí äéåñãáóéþí (üðùò óõìâáßíåé ìå ôïõò ðåëÜôåò ìéáò ôñÜðå-æáò). ÊÜèå öïñÜ ðïõ ôåëåéþíåé ç åðåîåñãáóßá ìéáò äéåñãáóßáò, ôï óýóôçìá åðéëÝ-ãåé íá åðåîåñãáóôåß áõôÞ ðïõ âñßóêåôáé óôçí áñ÷Þ ôçò ïõñÜò.

Óôï ó÷Þìá 8.16 öáßíåôáé ç åêôÝëåóç ôùí äéåñãáóéþí ôïõ ðáñáäåßãìáôïò (ìåêßôñéíï óçìåéþíåôáé ï ÷ñüíïò áíáìïíÞò êáé ìå ðñÜóéíï ï ÷ñüíïò åêôÝëåóçò).

Ó÷Þìá 8.16 ÅêôÝëåóç äéåñãáóéþí

ÌÝóïò ÷ñüíïò áíáìïíÞò = ( 0 + 6 + 28 + 26 ) / 4 = 15 ÷ì (÷ñïíéêÝò ìïíÜäåò)

ÌÝóïò ÷ñüíïò áðüêñéóçò = [ (0+11) + (6+25) + (28+2) + (26+10) ] / 4 = 27 ÷ì

ÃåíéêÜ, ç áðüäïóç ôïõ áëãïñßèìïõ åßíáé ðïëý ÷áìçëÞ óå ó÷Ýóç ìå ôïõò ìÝóïõò÷ñüíïõò áíáìïíÞò êáé áðüêñéóçò áëëÜ êáé ìå üëïõò ôïõò õðüëïéðïõò ðïóïôéêïýòäåßêôåò åêôßìçóçò áðüäïóçò áëãïñßèìùí ÷ñïíïäñïìïëüãçóçò. Ðáñáôçñåßóôå üôé çäéåñãáóßá à ìå äéÜñêåéá ìüëéò 2 ÷ì áíáãêÜóôçêå íá ðåñéìÝíåé 28 ÷ì.

8.8.2 Ìç ðñïåê÷ùñçôéêÞ åîõðçñÝôçóç ìå âÜóç ôç ìéêñüôå-ñç äéÜñêåéá (Non Preemptive Shortest Job First - SJF)Ï áëãüñéèìïò åîõðçñÝôçóçò ìå âÜóç ôç ìéêñüôåñç äéÜñêåéá êáôáôÜóóåé ôéò äéåñ-ãáóßåò ìå âÜóç ôç äéÜñêåéá åêôÝëåóÞò ôïõò. Ç ðéï óýíôïìç äéåñãáóßá ôïðïèåôåß-ôáé óôçí áñ÷Þ ôçò ïõñÜò Ýôïéìùí äéåñãáóéþí êáé ç ðéï ìåãÜëç (÷ñïíéêÜ) óôï ôÝëïòôçò ïõñÜò. Ïôáí ìéá äéåñãáóßá åéóÝñ÷åôáé óôï óýóôçìá, ï ÷ñïíïäñïìïëïãçôÞòôçí ôïðïèåôåß óôçí ïõñÜ áíÜìåóá óôçí áìÝóùò ðéï óýíôïìç êáé ôçí áìÝóùò ðéïìåãÜëç ôçò.

Ó÷Þìá 8.17 ÅéóáãùãÞ äéåñãáóßáò ìå äéÜñêåéá 32 ÷ñïíéêÝò ìïíÜäåò óôç ëßóôá Ýôïéìùí äéåñãáóéþí

Page 42: Operating Systems

218 Ôå÷íïëïãßá õðïëïãéóôéêþí óõóôçìÜôùí êáé ëåéôïõñãéêÜ óõóôÞìáôá

ÊÜèå öïñÜ ðïõ ôåëåéþíåé ç åðåîåñãáóßá ìéáò äéåñãáóßáò, ôï óýóôçìá åðéëÝãåé íáåðåîåñãáóôåß áõôÞ ðïõ âñßóêåôáé óôçí áñ÷Þ ôçò ïõñÜò.

Ó÷Þìá 8.18. ÅêôÝëåóç äéåñãáóéþí

ÌÝóïò ÷ñüíïò áíáìïíÞò = ( 0 + 18 + 3 + 1 ) / 4 = 5,5 ÷ì

ÌÝóïò ÷ñüíïò áðüêñéóçò = [ (0+11) + (18+25) + (3+2) + (1+10) ] / 4= 17,5 ÷ì

Ðáñáôçñïýìå üôé ïé ìÝóïé ÷ñüíïé áíáìïíÞò êáé áðüêñéóçò åßíáé ðïëý ìéêñüôåñïé óåó÷Ýóç ìå ôç ÷ñïíïäñïìïëüãçóç ìå âÜóç ôç óåéñÜ Üöéîçò. ÌÜëéóôá, áðïäåéêíýåôáéüôé ï áëãüñéèìïò äßíåé ôï âÝëôéóôï ìÝóï ÷ñüíï áíáìïíÞò.

Ôï ìåéïíÝêôçìá ôïõ áëãïñßèìïõ åßíáé üôé óå Ýíá óýóôçìá åßíáé ðÜñá ðïëý äý-óêïëï � Ýùò áäýíáôï - íá åêôéìçèåß ï ÷ñüíïò ðïõ áðáéôåß ãéá ôçí åêôÝëåóÞ ôçò ìéáäéåñãáóßá. Ãéá ôï ëüãï áõôü, ï áëãüñéèìïò åöáñìüæåôáé ìüíï óå åéäéêÜ óõóôÞìáôáêáé óôï åðßðåäï ôçò ìáêñï÷ñüíéáò äñïìïëüãçóçò. Óôá óõóôÞìáôá áõôÜ, ïé ÷ñÞ-óôåò, üôáí õðïâÜëïõí ìéá äéåñãóßá óôï óýóôçìá, äçëþíïõí ôç ìÝãéóôç äéÜñêåéáåêôÝëåóÞò ôçò ôçí ïðïßá ÷ñçóéìïðïéåß ï ìáêñï÷ñüíéïò äñïìïëïãçôÞò. Áí ç äéåñãá-óßá äåí Ý÷åé ïëïêëçñùèåß óôï äçëùìÝíï ÷ñüíï, óõíÞèùò äéáêüðôåôáé. Óå äéáëïãéêÜóõóôÞìáôá ï áëãüñéèìïò äåí ÷ñçóéìïðïéåßôáé.

8.8.3 Ðñïåê÷ùñçôéêÞ åîõðçñÝôçóç ìå âÜóç ôç ìéêñüôåñçäéÜñêåéá (Preemptive Shortest Job First - SJF)Ï áëãüñéèìïò ëåéôïõñãåß üðùò ï áíôßóôïé÷ïò ìç ðñïåê÷ùñçôéêüò ìå ôçí áêüëïõèçäéáöïñÜ: êÜèå öïñÜ ðïõ åéóÝñ÷åôáé óôï óýóôçìá íÝá äéåñãáóßá, ï ÷ñïíïäñïìïëï-ãçôÞò åëÝã÷åé ôï ÷ñüíï åêôÝëåóçò ôçò íÝáò äéåñãáóßáò. Áí áõôüò åßíáé ìéêñüôåñïòáðü ôï ÷ñüíï ðïõ áðïìÝíåé ãéá ôçí ïëïêëÞñùóç ôçò åêôåëïýìåíçò äéåñãáóßáò, çåêôåëëïýìåíç äéåñãáóßá áõôüìáôá äéáêüðôåôáé êáé ôïðïèåôåßôáé óôç ëßóôá Ýôïé-ìùí äéåñãáóéþí. Ç íÝá äéåñãáóßá ãßíåôáé åêôåëïýìåíç.

Áí ï ÷ñüíïò åêôÝëåóçò ôçò íÝáò äéåñãáóßáò åßíáé ìåãáëýôåñïò áðü ôï ÷ñüíïðïõ áðïìÝíåé óôçí åêôåëïýìåíç äéåñãáóßá íá ïëïêëçñùèåß, ôüôå ç íÝá äéåñãáóßáôïðïèåôåßôáé óôçí ëßóôá Ýôïéìùí äéåñãáóéþí.

ÊÜèå öïñÜ ðïõ ôåëåéþíåé ç åðåîåñãáóßá ìéáò äéåñãáóßáò, ôï óýóôçìá åðéëÝãåéíá åðåîåñãáóôåß áõôÞ ðïõ âñßóêåôáé óôçí áñ÷Þ ôçò ïõñÜò.

Page 43: Operating Systems

Äéåñãáóßåò 219

Ó÷Þìá 8.19 ÅêôÝëåóç äéåñãáóéþí

Ôç óôéãìÞ 5 ìðáßíåé óôï óýóôçìá ç äéåñãáóßá Â. Ï ÷ñüíïò åêôÝëåóÞò ôçò åßíáé25÷ì, ìåãáëýôåñïò áðü ôï õðüëïéðï ôçò Á ðïõ åêôåëåßôáé óôçí ÊÌÅ (ï ÷ñüíïò ôçòÁ ðïõ áðïìÝíåé åßíáé 11-5=6). Óõíåðþò, ç Á óõíå÷ßæåé ôçí åêôÝëåóÞ ôçò.

Ôç óôéãìÞ 8 åéóÝñ÷åôáé óôï óýóôçìá ç äéåñãáóßá à ìå ÷ñüíï åêôÝëåóçò 2 ÷ñïíé-êÝò ìïíÜäåò. Ç Á ðïõ åêôåëåßôáé óôçí ÊÌÅ Ý÷åé õðüëïéðï 11-8=3 ÷ì. Óõíåðþò, ï÷ñïíïäñïìïëïãçôÞò ðñïùèåß ôç à óôçí ÊÌÅ êáé ôïðïèåôåß ôçí Á óôç ëßóôá äéåñ-ãáóéþí. ÅðåéäÞ ç Á Ý÷åé õðüëïéðï ÷ñüíïõ åêôÝëåóçò 3 ÷ì, ðïõ åßíáé ìéêñüôåñïò ôçò ðïõ åßíáé Þäç óôç ëßóôá, ç Á ôïðïèåôåßôáé óôç ëßóôá ìðñïóôÜ áðü ôç Â. Ïáëãüñéèìïò ëåéôïõñãåß ìå ðáñüìïéï ôñüðï êáé óôç óõíÝ÷åéá.

ÌÝóïò ÷ñüíïò áíáìïíÞò = ( 2 + 18 + 0 + 1 ) / 4 = 5,25 ÷ì

ÌÝóïò ÷ñüíïò áðüêñéóçò = [ (2+11) + (18+25) + (0+2) + (1+10) ] = 17,25 ÷ì

Ðáñáôçñïýìå üôé ïé ìÝóïé ÷ñüíïé áíáìïíÞò êáé áðüêñéóçò åßíáé êáëýôåñïé áðüüëïõò ôïõ áíôßóôïé÷ïõò ÷ñüíïõò ôùí ìç äéáêïðôþí áëãïñßèìùí. Ï áëãüñéèìïòåìöáíßæåôáé åëÜ÷éóôá êáëýôåñïò áðü ôïí ìç-ðñïåê÷ùñçôéêü SJF, êÜôé ðïõ ïöåßëå-ôáé óôï óõãêåêñéìÝíï ðáñÜäåéãìá. Óå Üëëï ðáñÜäåéãìá ç äéáöïñÜ èá ìðïñïýóåíá åßíáé ðéï óçìáíôéêÞ.

Óçìåéþóôå üôé óôïí ðñïåê÷ùñçôéêü áëãüñéèìï õðÜñ÷åé êáé ç åðéâÜñõíóç åðå-îåñãáóßáò ôïõ ßäéïõ ôïõ áëãïñßèìïõ áðü ôçí ÊÌÅ, ðïõ åêôåëåßôáé óõ÷íüôåñá áðüôïí ìç-ðñïåê÷ùñçôéêü áëãüñéèìï (óôç ìåëÝôç ìáò äåí ôçí ëáìâÜíïõìå õðüøçìáò). Ç åðéâÜñõíóç áõôÞ ðñÝðåé ðÜíôá íá åßíáé ìéêñÞ, þóôå íá ìçí åðçñåÜæåéóçìáíôéêÜ ôçí åðßäïóç ôïõ áëãïñßèìïõ.

8.8.4 Ðñïåê÷ùñçôéêÞ åîõðçñÝôçóç åê ðåñéôñïðÞò (Preemptive Round Robin)Ï áëãüñéèìïò åîõðçñÝôçóçò åê ðåñéôñïðÞò åßíáé Ýíáò áðü ôïõò ðáëáéüôåñïõò,ðéï äéáäåäïìÝíïõò êáé äéêáéüôåñïõò áëãüñéèìïõò ÷ñïíïäñïìïëüãçóçò. ¸÷åé ó÷å-äéáóôåß åéäéêÜ ãéá óõóôÞìáôá êáôáìåñéóìïý ÷ñüíïõ, áöïý äßíåé Ýíá ìéêñü ÷ñüíïåðåîåñãáóßáò óôéò Ýôïéìåò äéåñãáóßåò, ïé ïðïßåò åêôåëïýíôáé åê ðåñéôñïðÞò.

Ç ëïãéêÞ ôïõ åßíáé éäéáßôåñá áðëÞ:

t Óå êÜèå äéåñãáóßá ðáñá÷ùñåßôáé ïñéóìÝíï êáé ðÜíôá ßóï ÷ñïíéêü äéÜóôçìá - ôïïðïßï ïíïìÜæåôáé êâÜíôï ÷ñüíïõ (time quantum) - åðåîåñãáóßáò, ìÝóá óôïïðïßï åðéôñÝðåôáé ç åêôÝëåóÞ ôçò.

t Ìå ôï ôÝëïò ôïõ äéáóôÞìáôïò ç äéåñãáóßá áíáóôÝëåôáé êáé ôïðïèåôåßôáé óôçëßóôá Ýôïéìùí äéåñãáóéþí, óôï ôÝëïò ôçò ïõñÜò. Ç ÊÌÅ äßíåôáé ãéá ôï åðüìåíï

Page 44: Operating Systems

220 Ôå÷íïëïãßá õðïëïãéóôéêþí óõóôçìÜôùí êáé ëåéôïõñãéêÜ óõóôÞìáôá

êâÜíôï ÷ñüíïõ óôçí åðüìåíç Ýôïéìç äéåñãáóßá (ðïõ âñßóêåôáé óôçí áñ÷Þ ôçòëßóôáò/ïõñÜò)

t Áí ìéá äéåñãáóßá áíáóôáëåß ãéá ïðïéïäÞðïôå ëüãï Þ ïëïêëçñùèåß ðñéí ôç ëÞîçôïõ êâÜíôï ÷ñüíïõ ôçò, ôüôå ôï óýóôçìá ðáñåìâáßíåé êáé äßíåé ôïí Ýëåã÷ï óåíÝá äéåñãáóßá.

t ÊÜèå öïñÜ ðïõ åéóÝñ÷åôáé óôï óýóôçìá ìéá íÝá äéåñãáóßá, áõôÞ ôïðïèåôåßôáéóôï ôÝëïò ôçò ëßóôáò Ýôïéìùí äéåñãáóéþí.

Ç ÷ñïíïäñïìïëüãçóç ãéá ôï ðáñÜäåéãìÜ ìáò öáßíåôáé óôï ó÷Þìá ðïõ áêïëïõèåß.Óôï ó÷Þìá öáßíåôáé ãéá êÜèå ÷ñïíéêü äéÜóôçìá êáé ç ëßóôá ôùí Ýôïéìùí äéåñãá-óéþí ðïõ áíáìÝíïõí åðåîåñãáóßá.

Ó÷Þìá 8.20 ÅêôÝëåóç äéåñãáóéþí êáé ëßóôá Ýôïéìùí äéåñãáóéþí

Ðáñáôçñåßóôå üôé ôç óôéãìÞ 14 îåêéíÜ ðÜëé ç åêôÝëåóç ôçò äéáäéêáóßáò Á, ç ïðïßáôåëåéþíåé ðñéí ôï êâÜíôï ÷ñüíïõ ôçò. Ôï ßäéï óõìâáßíåé êáé ãéá ôç äéåñãáóßá à ðïõïëïêëçñþíåôáé ôç óôéãìÞ 20. Áðü ôç óôéãìÞ 20 êáé ìåôÜ äßíåôáé ïëüêëçñï êâÜíôïóôç äéåñãáóßá Ä.

ÌÝóïò ÷ñüíïò áíáìïíÞò = ( 7 + 18 + 10 + 15 ) / 4 = 12,5 ÷ì

ÌÝóïò ÷ñüíïò áðüêñéóçò = [ (7+11) + (18+25) + (10+2) + (15+10) ] = 24,5 ÷ì

Ç õëïðïßçóç ôïõ áëãïñßèìïõ åßíáé éäéáßôåñá áðëÞ êáé ç ìüíç ðáñÜìåôñïò ðïõåðçñåÜæåé ôçí áðüäïóç ôïõ óõóôÞìáôïò åßíáé ôï ìÝãåèïò ôïõ êâÜíôïõ ÷ñüíïõ.

Áí ôï êâÜíôï åßíáé ðïëý ìåãÜëï, ôüôå ôï óýóôçìá åìöáíßæåé ìåãÜëïõò ÷ñüíïõòáðüêñéóçò áêüìç êáé óå áðëÜ äéáëïãéêÜ áéôÞìáôá (åêöõëßæåôáé óå ìç ðñïåê÷ùñç-ôéêü FCFS). Áí ôï êâÜíôï ÷ñüíïõ åßíáé ðïëý ìéêñü åìöáíßæåôáé Üëëï ðñüâëçìá, ðïõïöåßëåôáé óôï ÷ñüíï ðïõ áðáéôåßôáé ãéá ôçí áëëáãÞ ôçò åêôåëïýìåíçò äéåñãáóßáò.ÊÜèå öïñÜ ðïõ áëëÜæåé ç åêôåëïýìåíç äéåñãáóßá, ï ÷ñüíïò äéá÷åßñéóçò ÷Üíåôáé ãéáôï óýóôçìá. ÐïëëÝò åíáëëáãÝò óõíåðþò (ìéêñü êâÜíôï ÷ñüíïõ) ðñïêáëïýí óðá-ôÜëç ÷ñüíïõ åðåîåñãáóßáò.

Page 45: Operating Systems

Äéåñãáóßåò 221

Áí ãéá ðáñÜäåéãìá Ý÷ïõìå ÷ñüíï äéá÷åßñéóçò 5msec óôçí åíáëëáãÞ êáé êâÜíôï÷ñüíïõ 45msec ðñïêýðôåé üôé ãéá êÜèå 50msec Ý÷ïõìå åðåîåñãáóßá 45msec (90%)êáé äéá÷åßñéóç 5sec (óðáôÜëç 10%).

Áí üìùò Ý÷ïõìå ÷ñüíï äéá÷åßñéóçò 5msec óôçí åíáëëáãÞ êáé êâÜíôï ÷ñüíïõ495msec ðñïêýðôåé üôé ãéá êÜèå 500msec Ý÷ïõìå åðåîåñãáóßá 495msec (99%) êáéäéá÷åßñéóç 5sec (óðáôÜëç 1%).

Ç âÝëôéóôç ëýóç ãéá óýóôçìá ìå äåäïìÝíï ÷ñüíï áëëáãÞò åêôåëïýìåíçò äéåñãá-óßáò åßíáé ìéá ôéìÞ ãéá ôï êâÜíôï ÷ñüíïõ ôÝôïéá, þóôå íá Ý÷ïõìå ÷áìçëÞ áíáìïíÞóå äéáëïãéêÝò åíÝñãåéåò (êâÜíôï ü÷é ðïëý ìåãÜëï) êáé ôáõôü÷ñïíá åëÜ÷éóôç óðá-ôÜëç ÷ñüíïõ åðåîåñãáóßáò (êâÜíôï ðïëý ìåãáëýôåñï áðü ôï ÷ñüíï åíáëëáãÞòäéåñãáóéþí). Åíá êáëü ìÝãåèïò åßíáé åêåßíï ðïõ åßíáé ìåãáëýôåñï óå äéÜñêåéá áðüôï 80% ôùí åêñÞîåùí ÊÌÅ óôï óýóôçìá.

Ôï âáóéêüôåñï ðëåïíÝêôçìá ôïõ áëãïñßèìïõ åßíáé ïôé åõíïåß ôçí ïëïêëÞñùóç ìé-êñþí äéåñãáóéþí, ïé ïðïßåò äåí áíáãêÜæïíôáé íá Ý÷ïõí ìåãÜëïõò ÷ñüíïõò áíáìïíÞò.

Ïé áëãüñéèìïé ðïõ åîåôÜóáìå áðïôåëïýí õðïðåñéðôþóåéò åíüò ãåíéêïý áëãï-ñßèìïõ ÷ñïíïäñïìïëüãçóçò: ôçò ÅîõðçñÝôçóçò ÐñïôåñáéïôÞôùí (priorityscheduling). Ï áëãüñéèìïò áõôüò ðïõ óõíáíôÜôáé êáé óå ðñïåê÷ùñçôéêÞ êáé óåìç ðñïåê÷ùñçôéêÞ ìïñöÞ áðüäßäåé óå êÜèå äéåñãáóßá ðïõ åéóÝñ÷åôáé óôï óý-óôçìá ìéá ðñïôåñáéüôçôá. Ïé äéåñãáóßåò óôç ëßóôá Ýôïéìùí äéåñãáóéþí âñß-óêïíôáé ôáîéíïìçìÝíåò ìå âÜóç ôçí ðñïôåñáéüôçôá ðïõ Ý÷ïõí. Ç äéåñãáóßá ìåôç ìåãáëýôåñç ðñïôåñáéüôçôá âñßóêåôáé ðÜíôá óôçí áñ÷Þ ôçò ëßóôáò êáéåßíáé ç ðñþôç ðïõ èá åîõðçñåôçèåß áðü ôçí ÊÌÅ. Ïé ðñïôåñáéüôçôåò ìðïñïýííá åßíáé åßôå óôáôéêÝò åßôå äõíáìéêÝò. Óå ðåñßðôùóç ðïõ ï áëãüñéèìïò ðñïôå-ñáéïôÞôùí áðïäßäåé óôáôéêÝò ðñïôåñáéüôçôåò, êÜèå äéåñãáóßá ðáßñíåé ìéáðñïôåñáéüôçôá, êáèþò åéóÝñ÷åôáé óôï óýóôçìá. Ïôáí ãßíåôáé ÷ñÞóç äõíáìé-êþí ðñïôåñáéïôÞôùí, ôüôå ï ÷ñïíïäñïìïëïãçôÞò ìðïñåß ìå êÜðïéá ëïãéêÞ íááëëÜæåé ôéò ðñïôåñáéüôçôåò ôùí äéåñãáóéþí êáèþò áõôÝò âñßóêïíôáé óôï óý-óôçìá (ð.÷. ìéá äéåñãáóßá ìðïñåß íá ðáßñíåé áõîçìÝíç ðñïôåñáéüôçôá, áí ÞäçðåñéìÝíåé ðïëëÞ þñá íá åîõðçñåôçèåß.)

ÁíÜëïãá ìå ôá êñéôÞñéá ðïõ ÷ñçóéìïðïéïýíôáé ãéá ôçí áðüäïóç ðñïôåñáéïôÞ-ôùí áëëÜæåé óçìáíôéêÜ êáé ç ëåéôïõñãßá áëëÜ êáé ç áðüäïóç ôïõ áëãïñßèìïõ.Ïé áëãüñéèìïé ðïõ åîåôÜóáìå ðñïêýðôïõí áðü ôïí áëãüñéèìï ðñïôåñáéïôÞ-ôùí ùò åîÞò:

Ï FCFS, áí üëåò ïé äéåñãáóßåò ðáßñíïõí ôçí ßäéá ðñïôåñáéüôçôá, ïðüôå ðÜíôáåêôåëåßôáé ðñþôç áõôÞ ðïõ ðñþôç ìðáßíåé óôç ëßóôá áíáìïíÞò.

Ï SJF, áí ç ðñïôåñáéüôçôá ìéáò äéåñãáóßáò åßíáé áíôéóôñüöùò áíÜëïãç ôïõ÷ñüíïõ ïëïêëÞñùóÞò ôçò.

Óôïí Round Robin êÜèå öïñÜ ðïõ ìéá äéåñãóßá åéóÝñ÷åôáé óôï óýóôçìá ðáßñ-íåé ôç ÷áìçëüôåñç ðñïôåñáéüôçôá. Åðßóçò, üôáí ìéá äéåñãáóßá áðïìáêñýíåôáéáðü ôçí ÊÌÅ êáé ãõñíÜ óôçí ëßóôá áíáìïíÞò, ôüôå åéóÝñ÷åôáé óôç ëßóôá Ý÷ï-íôáò ôç ìéêñüôåñç ðñïôåñáéüôçôá.

Óôá ðåñéóóüôåñá óõóôÞìáôá óÞìåñá, ï áëãüñéèìïò ðñïôåñáéïôÞôùí åìöáíß-æåôáé ìå ðïëý ðéï óýíèåôåò ìïñöÝò, ðïõ ðïëëÝò öïñÝò áðïôåëïýí åðåêôÜóåéòüóùí ìåëåôÞóáìå óå áõôü ôï êåöÜëáéï.

Page 46: Operating Systems

222 Ôå÷íïëïãßá õðïëïãéóôéêþí óõóôçìÜôùí êáé ëåéôïõñãéêÜ óõóôÞìáôá

Áíáêåöáëáßùóç

Ãéá ôçí áíÜëõóç, ôç ìåëÝôç êáé ôçí åõêïëüôåñç åóùôåñéêÞ äéá÷åßñéóç åíüò óõ-óôÞìáôïò õðïëïãéóôÞ äçìéïõñãÞóáìå ôï ìïíôÝëï äéåñãáóéþí, ôï ïðïßï áðïôåëåß-ôáé áðü óåéñéáêÝò äéåñãáóßåò ðïõ åêôåëïýíôáé ðáñÜëëçëá. ÊÜèå äéåñãáóßá Ý÷åé ôçäéêÞ ôçò êáôÜóôáóç êáé åíáëëÜóóåôáé ìå ôéò Üëëåò óôçí ÊÌÅ. Ç ôá÷ýôáôç åíáëëá-ãÞ äéåñãáóéþí óôçí ÊÌÅ åíüò óõóôÞìáôïò êáôáìåñéóìïý ÷ñüíïõ äçìéïõñãåß ìá-êñïóêïðéêÜ ôçí øåõäáßóèçóç ôïõ ðáñáëëçëéóìïý.

Óå ðåñéðôþóåéò üðïõ ðáñÜëëçëåò äéåñãáóßåò ðñïóðåëáýíïõí äéáìïéñáæüìå-íïõò óå áõôÝò ðüñïõò ôïõ óõóôÞìáôïò, üðùò ðåñéï÷Ýò êïéíü÷ñçóôçò ìíÞìçò, õðÜñ-÷åé ç áíÜãêç åðéêïéíùíßáò ìåôáîý ôïõò. Ç áëëçëåðßäñáóç ôùí äéåñãáóéþí, üôáíáó÷ïëïýíôáé ìå êïéíü÷ñçóôïõò ðüñïõò, áí äåí åßíáé óùóôÜ äïìçìÝíç, ðñïêáëåßóõíèÞêåò áíôáãùíéóìïý êáé óõ÷íÜ ïäçãåß ôï óýóôçìá óå áäéÝîïäá êáé ðéèáíüáêüìç êáé óå êáôÜññåõóç.

Ãéá íá áðïöýãïõìå ôçí åìöÜíéóç óõíèçêþí áíôáãùíéóìïý, åéóÜãïõìå ôçí Ýí-íïéá ôïõ êñßóéìïõ ôìÞìáôïò äéåñãáóßáò. Êñßóéìï ôìÞìá åßíáé êÜèå ôìÞìá ôïõ ðñï-ãñÜììáôïò ôçò äéåñãáóßáò óôï ïðïßï ç äéåñãáóßá äéá÷åéñßæåôáé êïéíü÷ñçóôïõòðüñïõò ôïõ óõóôÞìáôïò. Ç ïñèÞ ëåéôïõñãßá ôïõ óõóôÞìáôïò áðáéôåß ìßá ìüíïäéåñãáóßá íá âñßóêåôáé óå êñßóéìï ôìÞìá ôçò êÜèå öïñÜ, êÜôé ðïõ ïíïìÜæïõìåáìïéâáßï áðïêëåéóìü.

Ï áìïéâáßïò áðïêëåéóìüò åßíáé ìéá ìüíï ðñïûðüèåóç ãéá ôçí ïñèÞ ëåéôïõñãßáåíüò óõóôÞìáôïò. Ç óõíïëéêÞ ðñïûðüèåóç åßíáé íá õðÜñ÷åé Ýíá åõñýôåñï êáé êáëÜäïìçìÝíï ðëáßóéï áðü áñ÷Ýò åðéêïéíùíßáò, áëëçëåðßäñáóçò, óõíåñãáóßáò êáé óõã-÷ñïíéóìïý äéåñãáóéþí óôï óýóôçìá. Ìå ôéò áñ÷Ýò áõôÝò, ïé äéåñãáóßåò áëëçëåðé-äñïýí êáé áëëÜæïõí êáôáóôÜóåéò ìå ôÝôïéï ôñüðï, þóôå íá ðåôõ÷áßíïõí ôïí áìïé-âáßï áðïêëåéóìü, íá áðïöåýãïõí ôá áäéÝîïäá êáé íá óõã÷ñïíßæïíôáé áñìïíéêÜ,ïäçãþíôáò óå ïñèÞ êáé áðïäïôéêÞ ÷ñÞóç ôïõ óõóôÞìáôïò.

ÐïëëÝò áñ÷Ýò Ý÷ïõí ðñïôáèåß ãéá ôç äéáäéåñãáóéáêÞ åðéêïéíùíßá, üðùò ïé óç-ìáôïöïñåßò , ðïõ åßíáé êáé ìéá áðü ôéò ðéï äéáäåäïìÝíåò. ÈåùñçôéêÜ ïé áñ÷Ýò áõôÝòåßíáé éóïäýíáìåò.

¸íá æÞôçìá ìå óïâáñÝò åðéðôþóåéò óôçí åõåëéîßá êáé óôçí áðüäïóç êÜèå óõ-óôÞìáôïò åßíáé ï áëãüñéèìïò ìå ôïí ïðïßï åíáëëÜóïíôáé ïé äéåñãáóßåò óôçí ÊÌÅ,äçëáäÞ, ï áëãüñéèìïò ÷ñïíïäñïìïëüãçóçò. Óôá óõóôÞìáôá õðïëïãéóôþí ÷ñçóéìï-ðïéïýíôáé, áíÜëïãá ìå ôéò åéäéêÝò áðáéôÞóåéò ôïõ êáèåíüò, äéÜöïñïé áëãüñéèìïé,üðùò áõôïß ôçò åîõðçñÝôçóçò åê ðåñéôñïðÞò, ôçò åîõðçñÝôçóçò êáôÜ ðñïôå-ñáéüôçôá êáé ôçò åîõðçñÝôçóçò ìå âÜóç ôç äéÜñêåéá. Ïé ìç÷áíéóìïß áõôïß, ðïõ äåíåßíáé êáé ïé ìüíïé, ðåñéëáìâÜíïõí ðáñáìåôñïðïéÞóéìá ìåãÝèç ìå ôá ïðïßá ìðïñåß ïäéá÷åéñéóôÞò ôïõ óõóôÞìáôïò óôáôéêÜ Þ äõíáìéêÜ íá ðñïóáñìüóåé ôçí áðüäïóçôïõ óõóôÞìáôïò óå åéäéêÝò áíÜãêåò.

ÅñùôÞóåéò/Äñáóôçñéüôçôåò/ÈÝìáôá ãéá óõæÞôçóç

1. Ôé åßíáé ç äéåñãáóßá; Ôé äéáöÝñåé áðü Ýíá ðñüãñáììá;

2. Ôé åßíáé ïé åëáöñéÝò äéåñãáóßåò (íÞìáôá). Ôé äéáöÝñïõí áðü ôéò äéåñãáóßåò;

3. Ôé åßíáé ï ãñÜöïò ðñïâáäßóìáôïò; Äþóôå ðáñÜäåéãìá.

Page 47: Operating Systems

Äéåñãáóßåò 223

4. Ðþò áðåéêïíßæïõìå ôáõôü÷ñïíá ðñïãñÜììáôá; Åîçãåßóôå ìå ðáñÜäåéãìá ÷ñçóé-ìïðïéþíôáò ôéò äéáöïñåôéêÝò ìåèüäïõò áðåéêüíéóçò.

5. ÐåñéãñÜøôå ôéò êáôáóôÜóåéò êáé ôïí êýêëï æùÞò ìéáò äéåñãáóßáò. Äþóôå ôéòäõíáôÝò ìåôáâÜóåéò êáôáóôÜóåùí ìéáò äéåñãáóßáò.

6. Ôé ïíïìÜæïõìå åêñÞîåéò ÊÌÅ êáé ôß åêñÞîåéò Å/Å;

7. Ôé åßíáé ç ìåôáãùãÞ ðåñéâÜëëïíôïò;

8. Ôé ïíïìÜæïõìå ôáõôü÷ñïíåò Þ ðáñÜëëçëåò äéåñãáóßåò óå Ýíá óýóôçìá ðïëõ-ðñïãñáììáôéóìïý; Åßíáé ðñáãìáôéêÜ ðáñÜëëçëåò;

9. Ôé åßíáé ïé óõíèÞêåò áíôáãùíéóìïý;

10. Ôé åßíáé ï áìïéâáßïò áðïêëåéóìüò êáé ôß ôá êñßóéìá ôìÞìáôá ìéáò äéåñãáóßáò;Ðüóá êñßóéìá ôìÞìáôá ìðïñåß íá Ý÷åé ìéá äéåñãáóßá;

11. Ôé ïíïìÜæïõìå áäéÝîïäï;

12. Åîçãåßóôå ãéáôß ç áðåíåñãïðïßçóç äéáêïðþí åßíáé áðïäåêôÞ ãéá êëÞóåéò óõ-óôÞìáôïò åíþ åßíáé ìç áðïäåêôÞ ãéá äéåñãáóßåò ôùí ÷ñçóôþí.

13. Ôé åßíáé ç åíåñãüò áíáìïíÞ; Óå ôé äéáöÝñåé ç åíåñãüò áíáìïíÞ áðü ôçí áíáóôï-ëÞ ìéáò äéåñãáóßáò;

14. Åîçãåßóôå ìå Ýíá ó÷Þìá ðþò ìéá äéåñãáóßá ÷ñçóéìïðïéåß åíá óçìáôïöïñÝá ãéáíá åêôåëÝóåé ôá êñßóéìá ôìÞìáôÜ ôçò (ðïõ ó÷åôßæïíôáé ìå ôï óçìáôïöïñÝááõôü).

15. Ðïéá åßíáé ôá äýï êýñéá ÷áñáêôçñéóôéêÜ ôùí óçìáôïöïñÝùí; Åîçãåßóôå ìåðáñÜäåéãìá ãéáôß ÷ùñßò ôá ÷áñáêôçñéóôéêÜ áõôÜ ïé óçìáôïöïñåßò äå ëýíïõíôá ðñïâëÞìáôá áìïéâáßïõ áðïêëåéóìïý êáé óõã÷ñïíéóìïý äéåñãáóéþí.

16. Ôé åßíáé ïé ëßóôåò áíáìïíÞò äéåñãáóéþí ôïõ ËÓ;

17. Ôé åßíáé ç ÷ñïíïäñïìïëüãçóç, ôé ï ÷ñïíïäñïìïëïãçôÞò êáé ôé ï áëãüñéèìïò ÷ñï-íïäñïìïëüãçóçò;

18. Åîçãåßóôå ôá åðßðåäá ÷ñïíïäñïìïëüãçóçò êáé ôïõò âáóéêïýò äåßêôåò áîéïëüãç-óçò ôçò åðßäïóçò ôùí áëãïñßèìùí ÷ñïíïäñïìïëüãçóçò.

19. Ôé ïíïìÜæïõìå ðñïåê÷ùñçôéêÞ êáé ôé ìç-ðñïåê÷ùñçôéêÞ ÷ñïíïäñïìïëüãçóç;

20. Ðïéïò åßíáé ï âáóéêüò ëüãïò ðïõ ï áëãüñéèìïò åîõðçñÝôçóçò ìå âÜóç ôç ìéêñüôå-ñç äéÜñêåéá äéåñãáóßáò äå ÷ñçóéìïðïéåßôáé óå óõóôÞìáôá êáôáìåñéóìïý ÷ñüíïõ;

21. Ôé äéáöÝñåé ç ðñïåê÷ùñçôéêÞ áðü ôçí ìç ðñïåê÷ùñçôéêÞ åîõðçñÝôçóç ìå âÜóçôç ìéêñüôåñç äéÜñêåéá äéåñãáóßáò;

22. Ôé åßíáé ôï êâÜíôï ÷ñüíïõ êáé ðþò åðçñåÜæåé ôçí áðüäïóç ôïõ áëãïñßèìïõåîõðçñÝôçóçò åê ðåñéôñïðÞò; Äþóôå ðáñÜäåéãìá.

Âéâëéïãñáößá

1. É. ÊÜâïõñá, Óõóôçìáôá Õðïëïãéóôþí ÉÉ ËåéôïõñãéêÜ Óõóôçìáôá, 3ç åêäïóç,Åêäüóåéò ÊëåéäÜñéèìïò, 1995

2. Á. Tanenbaum, Óýã÷ñïíá ËåéôïõñãéêÜ ÓõóôÞìáôá, Åêäüóåéò Ðáðáóùôçñßïõ,1993

3. Silberschatz et al., Operating System Concepts, 3rd Ed. Addison-Wesley, 1991

Page 48: Operating Systems

224 Ôå÷íïëïãßá õðïëïãéóôéêþí óõóôçìÜôùí êáé ëåéôïõñãéêÜ óõóôÞìáôá

Äéåõèýíóåéò äéáäéêôýïõ

http://pandonia.canberra.edu.au/ssw/intro/generic.html

�Generic Operating System Structure�, ÄïìÞ åíüò ôõðéêïý ËÓ.

http://pandonia.canberra.edu.au/ssw/processes/lecture.html

�System Software Overview�, Ðáñïõóßáóç ËÓ áðü ôçí Üðïøç ôùí äéåñãáóéþí.

http://cs.millersv.edu/cs382.dir/20.html

�The notion of a process�, ÅîÞãçóç ôçò Ýííïéáò ôçò äéåñãáóßáò.

http://www-dsg.stanford.edu/papers/cachekernel/subsection3_3_2.html

�Interprocess Communication�, Ðáñïõóßáóç äéáäéåñãáóéáêÞò åðéêïéíùíßáò.

http://www.cs.adfa.oz.au/teaching/studinfo/csa2/OSNotes/node12.html

�Interprocess Communication and synchronization�, Ìç÷áíéóìïß åðéêïéíùíßáòêáé óõã÷ñïíéóìþí äéåñãáóéþí.

http://www.cs.adfa.oz.au/teaching/studinfo/csa2/OSNotes/node4.html

�Process Scheduling�, Ðáñïõóßáóç Ìç÷áíéóìþí ÷ñïíïäñïìïëüãéóçò äéåñãáóéþí.

ËÝîåéò êëåéäéÜ

ÁäéÝîïäï .............................................................................................. Deadlock

Áìïéâáßïò áðïêëåéóìüò ............................................................. Mutual blocking

ÄéáäéåñãáóéáêÞ åðéêïéíùíßá .................................. Interprocess communication

Åíåñãüò áíáìïíÞ ............................................................................ Busy waiting

Êñßóéìï ôìÞìá äéåñãáóßáò ............................................. Process critical section

ÓçìáôïöïñÝáò ................................................................................. Semaphore

ÓõíèÞêåò áíôáãùíéóìïý ........................................................... Race conditions

×ñïíïäñïìïëüãçóç ........................................................................... Scheduling

Page 49: Operating Systems

Äéá÷åßñéóç áñ÷åßùíêáé äßóêùí

u Áñ÷åßáu ÊáôÜëïãïé/öÜêåëïéu Äéá÷åßñéóç êáé ÁóöÜëåéá Áñ÷åßùí êáé êáôáëüãùí/öáêÝëùíu Õëïðïßçóç Áñ÷åßùíu Äéá÷åßñéóç ÷þñïõ ôïõ Äßóêïõ

ÊåöÜëáéï 10

Page 50: Operating Systems

250 Ôå÷íïëïãßá õðïëïãéóôéêþí óõóôçìÜôùí êáé ëåéôïõñãéêÜ óõóôÞìáôá

ÅéóáãùãÞ

Óôï êåöÜëáéï áõôü èá áó÷ïëçèïýìå ìå ôï óýóôçìá áñ÷åßùí ôïõ ËÓ. Óôéò ðñþ-ôåò åíüôçôåò ôïõ êåöáëáßïõ èá åîåôÜóïõìå ôá áñ÷åßá êáé ôïõò êáôáëüãïõò/öáêÝ-ëïõò áðü ôçí ðëåõñÜ ôïõ áðëïý ÷ñÞóôç. Èá åîçãÞóïõìå ôé åßíáé ôá áñ÷åßá êáé ïéêáôÜëïãïé/öÜêåëïé êáé èá äïýìå ðþò ï ÷ñÞóôçò ôá ÷ñçóéìïðïéåß êáé ðþò ôá äéá-÷åéñßæåôáé, ãéá íá åñãáóôåß áðïôåëåóìáôéêÜ ìå ôï óýóôçìá.

Óôç óõíÝ÷åéá ôïõ êåöáëáßïõ èá åîåôÜóïõìå ôá áñ÷åßá êáé ôïõò êáôáëüãïõò/öáêÝëïõò áðü ôçí ðëåõñÜ ôïõ ËÓ Èá ìÜèïõìå ðþò õëïðïéïýíôáé ôá áñ÷åßá êáé èáãíùñßóïõìå ôïõò ðáñÜãïíôåò ðïõ åðçñåÜæïõí ôçí áðüäïóç ôïõ óõóôÞìáôïò óååñãáóßåò ðïõ ó÷åôßæïíôáé ìå áñ÷åßá êáé êáôáëüãïõò.

ÔÝëïò, èá ìÜèïõìå ðþò ôï ËÓ äéá÷åéñßæåôáé áðïôåëåóìáôéêÜ ôï äéáèÝóéìï ÷þñïóôïõò äßóêïõò ôïõ óõóôÞìáôïò õðïëïãéóôÞ.

Äéäáêôéêïß óôü÷ïé

Ìå ôçí ïëïêëÞñùóç ôïõ êåöáëáßïõ, èá ìðïñåßôå íá ðåñéãñÜöåôå ôéò âáóéêÝòìåèüäïõò ïñãÜíùóçò ôùí ðëçñïöïñéþí óå áñ÷åßá êáé êáôáëüãïõò/öáêÝëïõò óôïóýóôçìá, ôüóï óôï ëïãéêü åðßðåäï ôïõ ÷ñÞóôç üóï êáé óôï öõóéêü åðßðåäï ôùíäßóêùí ôïõ óõóôÞìáôïò. Èá ìðïñåßôå åðßóçò íá äéá÷åéñßæåóôå ôïõò äßóêïõò, ôïõòêáôáëüãïõò êáé ôá áñ÷åßá ôïõ óõóôÞìáôïò, Ýôóé þóôå íá åñãÜæåóôå áðïäïôéêÜ ìåôï óýóôçìá õðïëïãéóôÞ ôïõ ó÷ïëåßïõ.

ÐñïåñùôÞóåéò

Óôï êåöÜëáéï áõôü áðáíôþíôáé åñùôÞìáôá üðùò:

ü Ôé åßíáé ôá áñ÷åßá êáé ôï óýóôçìá áñ÷åßùí;

ü Ðïéïé ôýðïé áñ÷åßùí õðÜñ÷ïõí;

ü Ðïéåò åßíáé ïé åñãáóßåò åðåîåñãáóßáò êáé äéá÷åßñéóçò ôùí áñ÷åßùí;

ü Ôé åßíáé ïé êáôÜëïãïé/öÜêåëïé êáé ãéáôß õðÜñ÷ïõí;

ü Ðþò ïñßæåôáé Ýíá áñ÷åßï Þ êáôÜëïãïò/öÜêåëïò óôï óýóôçìá;

ü Ðïéåò åßíáé ïé åñãáóßåò åðåîåñãáóßáò êáé äéá÷åßñéóçò ôùí êáôáëüãùí;

ü Ðþò õëïðïéïýíôáé ôá áñ÷åßá áðü ôï ËÓ;

ü Ðþò ãßíåôáé ç äéá÷åßñéóç ôïõ ÷þñïõ ôïõ äßóêïõ;

ü Ðþò åðéôõã÷Üíåôáé ç áóöÜëåéá ôùí áñ÷åßùí óôï óýóôçìá;

Page 51: Operating Systems

Äéá÷åßñéóç áñ÷åßùí êáé äßóêùí 251

10.1 Áñ÷åßá

Ç ÷ñÞóç êÜèå óõóôÞìáôïò õðïëïãéóôÞ óõíåðÜãåôáé Üìåóá ïñéóìÝíåò áðáéôÞóåéòóå ó÷Ýóç ìå ôéò åðåîåñãáæüìåíåò ðëçñïöïñßåò, üðùò:

1. Ìáêñï÷ñüíéá áðïèÞêåõóç ìåãÜëïõ üãêïõ ðëçñïöïñéþí.

2. ÄéáôÞñçóç ôùí ðëçñïöïñéþí ìåôÜ ôï ôÝëïò ôçò äéåñãáóßáò ðïõ ôéò ÷ñçóéìï-ðïéåß.

3. Ôáõôü÷ñïíç ðñüóâáóç óôéò ßäéåò ðëçñïöïñßåò áðü äéáöïñåôéêÝò äéåñãáóßåò.

Ç éêáíïðïßçóç ôùí áðáéôÞóåùí áõôþí ãßíåôáé ìå ôçí áðïèÞêåõóç ôùí ðëçñï-öïñéþí óå ìáãíçôéêïýò äßóêïõò êáé Üëëá áðïèçêåõôéêÜ ìÝóá. Ïé ðëçñïöï-ñßåò áðïèçêåýïíôáé óå äïìÝò ïé ïðïßåò ïíïìÜæïíôáé áñ÷åßá (files). Ôá áñ÷åßáðáñáìÝíïõí áíáëëïßùôá óôï ðÝñáóìá ôïõ ÷ñüíïõ êáé äåí åðçñåÜæïíôáé áðüôéò åêôåëïýìåíåò äéåñãáóßåò, åêôüò áí åóêåììÝíá óõìâåß êÜôé ôÝôïéï. ̧ íá áñ-÷åßï ìðïñåß íá äçìéïõñãçèåß áðü ìéá äéåñãáóßá, íá ôñïðïðïéçèåß áðü áõôÞ Þáêüìç êáé íá äéáãñáöåß. ÐÜíôá üìùò ìå ñçôÞ åíôïëÞ áðü ôç äéåñãáóßá.

Ç äéá÷åßñéóç ôùí áñ÷åßùí ãßíåôáé áðü ôï ËÓ. Ç äéá÷åßñéóç ãßíåôáé åßôå áðü ôï÷ñÞóôç åßôå áðü äéåñãáóßåò, ðÜíôá ìÝóù êëÞóåùí ôùí êáôÜëëçëùí äéåñãáóéþíôïõ ËÓ. Ôï ìÝñïò ôïõ ËÓ ðïõ áó÷ïëåßôáé óõíïëéêÜ ìå ôá áñ÷åßá ïíïìÜæåôáéóýóôçìá áñ÷åßùí (file system).

10.1.1 Ôýðïé áñ÷åßùí¼ëá ôá ËÓ õðïóôçñßæïõí ðïëëïýò äéáöïñåôéêïýò ôýðïõò áñ÷åßùí. Ç êáôçãïñéï-ðïßçóç ôùí áñ÷åßùí ãßíåôáé ìå äéÜöïñá êñéôÞñéá. Ç êõñéüôåñç êáôçãïñéïðïßçóçãßíåôáé ìå âÜóç ôç ëåéôïõñãéêüôçôá ôùí áñ÷åßùí óôï óýóôçìá.

Áñ÷åßá ÐñïãñáììÜôùí. Åßíáé ôá áñ÷åßá óôá ïðïßá ðåñéÝ÷ïíôáé üëá ôá ðñïãñÜììá-ôá ðïõ åßíáé áðïèçêåõìÝíá óôï õðïëïãéóôéêü óýóôçìá. Óôçí êáôçãïñßá áõôÞ áíÞêïõíôá ðåñéóóüôåñá áñ÷åßá ðïõ óõíèÝôïõí ôï Ëåéôïõñãéêü Óýóôçìá, ôá áñ÷åßá ðïõ õëï-ðïéïýí ôéò åöáñìïãÝò ðïõ ÷ñçóéìïðïéåß ï ÷ñÞóôçò êáé ôá áñ÷åßá ðïõ ÷ñçóéìïðïéåß ôïËÓ ãéá íá ÷åéñßæåôáé êáé íá åðéêïéíùíåß ìå ôéò ðåñéöåñåéáêÝò óõóêåõÝò.

Áñ÷åßá ÄåäïìÝíùí. Åßíáé ôá áñ÷åßá ðïõ ðåñéÝ÷ïõí ôçí åñãáóßá ðïõ ðñáãìá-ôïðïéåß ï ÷ñÞóôçò ôïõ õðïëïãéóôéêïý óõóôÞìáôïò, üôáí áõôÞ áðïèçêåýåôáé. ÃéáðáñÜäåéãìá, êÜèå öïñÜ ðïõ ï ÷ñÞóôçò ãñÜöåé óå Ýíá åðåîåñãáóôÞ êåéìÝíïõ, æù-ãñáößæåé ìéá åéêüíá ìå Ýíá ðñüãñáììá åðåîåñãáóßáò åéêüíáò êáé áðïèçêåýåé ôçíåñãáóßá ôïõ áõôÞ óôï äßóêï ôïõ õðïëïãéóôéêïý óõóôÞìáôïò, ôüôå äçìéïõñãåßôáéêáé Ýíá Þ ðåñéóóüôåñá áñ÷åßá äåäïìÝíùí. Áñ÷åßá äåäïìÝíùí ôçñåß êáé ôï ßäéï ôïËÓ ãéá íá êñáôÜ óå áõôÜ ðáñáìÝôñïõò ãéá ôç ëåéôïõñãßá ôüóï ôïõ éäßïõ üóï êáéôùí åöáñìïãþí ðïõ ÷ñçóéìïðïéïýí ïé ÷ñÞóôåò.

Áñ÷åßá Êáôáëüãùí. Åßíáé ôá áñ÷åßá ðïõ ôçñåß ôï ËÓ ãéá ôçí õëïðïßçóç ôùíäïìþí öáêÝëùí/êáôáëüãùí êáé ôçí áíôéóôïß÷éóç ôùí áñ÷åßùí ðñïãñáììÜôùí êáéôùí áñ÷åßùí äåäïìÝíùí óôïõò öáêÝëïõò /êáôáëüãïõò áõôïýò. (ðåñéóóüôåñá ãéáôïõò öáêÝëïõò/êáôáëüãïõò èá äïýìå óôç óõíÝ÷åéá).

Ïé ðñþôåò øçöéïóõëëáâÝò êÜèå áñ÷åßïõ äçëþíïõí ôïí ôýðï ôïõ áñ÷åßïõ.Ôï ËÓ êñáôÜ ìéá ëßóôá ìå üëïõò ôïõò äéáöïñåôéêïýò êáé Ýãêõñïõò óõíäõá-óìïýò êáé ìå âÜóç ôç ëßóôá áõôÞ áðïöáóßæåé áí Ýíá áñ÷åßï åßíáé ðñüãñáììá,

Page 52: Operating Systems

252 Ôå÷íïëïãßá õðïëïãéóôéêþí óõóôçìÜôùí êáé ëåéôïõñãéêÜ óõóôÞìáôá

âéâëéïèÞêç, êÜðïéï áñ÷åßï êåéìÝíïõ, ëïãéóôéêü öýëëï, âÜóç äåäïìÝíùí, êáôÜëï-ãïò ê.ï.ê.

ÓõíÞèùò, óôï üíïìá åíüò áñ÷åßïõ ãßíåôáé Ýììåóá áíáöïñÜ êáé óôçí åóù-ôåñéêÞ ïñãÜíùóç ôïõ áñ÷åßïõ. Ìå ôïí ôñüðï áõôü áíáãíùñßæåé ï ÷ñÞóôçòôïí ôýðï ôïõ áñ÷åßïõ êáé óõíåðþò ôç äéåñãáóßá (åöáñìïãÞ) ìå ôçí ïðïßáðñÝðåé íá ôï åðåîåñãáóôåß.

10.1.2 ×áñáêôçñéóôéêÜ áñ÷åßùíÊÜèå áñ÷åßï óôï óýóôçìá Ý÷åé ïñéóìÝíá ÷áñáêôçñéóôéêÜ. ÌåñéêÜ áðü ôá ÷áñá-êôçñéóôéêÜ áõôÜ ÷ñçóéìïðïéïýíôáé ãéá ëüãïõò áíáãíþñéóçò, üðùò ôï üíïìá, ççìåñïìçíßá äçìéïõñãßáò êáé ï ôýðïò ôïõ, Üëëá ãéá ëüãïõò áóöÜëåéáò, üðùò ôáäéêáéþìáôá ôùí ÷ñçóôþí ôïõ óõóôÞìáôïò óôï áñ÷åßï êáé ç Ýíäåéîç ãéá ôç ëÞøçôïõ áñ÷åßïõ óå óýóôçìá áóöáëåßáò êáé Üëëá ãéá ðëçñïöïñéáêïýò óêïðïýò êáéâïçèïýí óôç ãåíéêüôåñç äéá÷åßñéóç ôùí áñ÷åßùí.

Ôá ÷áñáêôçñéóôéêÜ ðïõ ìðïñåß íá Ý÷åé Ýíá áñ÷åßï äéáöÝñïõí áðü ËÓ óå ËÓõðÜñ÷ïõí üìùò ìåñéêÜ ðïõ åßíáé êïéíÜ óôçí ðëåéïøçößá ôùí ËÓ. Ôá ðéï óõíçèé-óìÝíá åîçãïýíôáé óôç óõíÝ÷åéá, óôïí ðßíáêá, ðïõ áêïëïõèåß.

Ðßíáêáò 10.1. ÌåñéêÜ áðü ôá óõíçèÝóôåñá ÷áñáêôçñéóôéêÜ áñ÷åßùí.

×ÁÑÁÊÔÇÑÉÓÔÉÊÏ ÓÇÌÁÓÉÁ

ÐëÞñåò ¼íïìá Ôï üíïìá ôïõ áñ÷åßïõ ìáæß ìå ôï ìïíïðÜôé(èá åîçãçèåß óôç óõíÝ÷åéá) ðñïò ôï áñ÷åßï áõôü.Ôï ðëÞñåò üíïìá åßíáé ìïíáäéêü ãéá êÜèå áñ÷åßïóôï óýóôçìá.

Äçìéïõñãüò Ç ôáõôüôçôá ôïõ ÷ñÞóôç ðïõ äçìéïýñãçóåôï áñ÷åßï.

¸íäåéîç áñ÷åßïõ 0 áí åðéôñÝðåôáé ç áíÜãíùóç êáé ç åããñáöÞìüíï ãéá áíÜãíùóç óôï áñ÷åßï, 1 áí åðéôñÝðåôáé ìüíï ç áíÜ-

ãíùóç ôïõ áñ÷åßïõ.

¸íäåéîç êñõöïý áñ÷åßïõ 0 áí ôï áñ÷åßï åìöáíßæåôáé óå üëåò ôéò ëßóôåòáñ÷åßùí ðïõ äßíåé ôï óýóôçìá, 1 áí ôï áñ-÷åßï äåí åìöáíßæåôáé óôéò ëßóôåò áñ÷åßùí ôïõóõóôÞìáôïò

Çìåñïìçíßá êáé þñá Çìåñïìçíßá êáé þñá ðïõ äçìéïõñãÞèçêå ôï áñ÷åßï.äçìéïõñãßáò

Çìåñïìçíßá êáé þñá Çìåñïìçíßá êáé þñá ðïõ ôñïðïðïéÞèçêå ôïôñïðïðïßçóçò áñ÷åßï ãéá ôåëåõôáßá öïñÜ.

ÔñÝ÷ïí ìÝãåèïò Áñéèìüò ôùí øçöéïóõëëáâþí (bytes) ðïõ ðå-ñéÝ÷ïíôáé óôï áñ÷åßï.

¢ëëá ÷áñáêôçñéóôéêÜ áñ÷åßùí åßíáé, áíÜëïãá ìå ôï ËÓ, ï éäéïêôÞôçò ôïõ áñ÷åßïõ,åíäåßîåéò ãéá ôï ðïéïé ÷ñÞóôåò Ý÷ïõí ðñüóâáóç óôï áñ÷åßï, áí ôï áñ÷åßï áíÞêåéóôï ËÓ, áí ôï áñ÷åßï åßíáé ðñïóùñéíü ê.á.

Ôá ÷áñáêôçñéóôéêÜ ôùí áñ÷åßùí ÷ñçóéìïðïéïýíôáé áðü ôï óýóôçìá êáé ôïõò

Page 53: Operating Systems

Äéá÷åßñéóç áñ÷åßùí êáé äßóêùí 253

÷ñÞóôåò ôïõ óõóôÞìáôïò ãéá ôïõò áêüëïõèïõò óêïðïýò:

1. Áíáãíþñéóç. Áíáãíþñéóç ôïõ áñ÷åßïõ êáé ôçò åóùôåñéêÞò äïìÞò ôïõ.

2. ÁóöÜëåéá. Êáèïñéóìü ôùí ÷ñçóôþí ðïõ Ý÷ïõí ðñüóâáóç óôï áñ÷åßï, ôïåßäïò ôçò ðñüóâáóçò êáé ôéò åðéôñåðôÝò åíÝñãåéåò óå áõôü.

3. Åõêïëßá Äéá÷åßñéóçò. Áõôïìáôïðïßçóç åñãáóéþí äéá÷åßñéóçò áñ÷åßùí ìå âÜóçêïéíÜ éäéï÷áñáêôçñéóôéêÜ ôïõò (üðùò ëÞøç áíôéãñÜöùí áóöáëåßáò).

10.2 ÊáôÜëïãïé/öÜêåëïé

Óêåöèåßôå ëßãï ôï óðßôé óáò. Óôï óðßôé õðÜñ÷ïõí äùìÜôéá. Óå êÜèå äùìÜôéï, íôïõ-ëÜðåò, óõñôÜñéá êáé Üëëïé ÷þñïé óôïõò ïðïßïõò âñßóêïíôáé áíôéêåßìåíá. Áíôéêåßìå-íá âñßóêïíôáé êáé óôá äùìÜôéá. Óå êÜèå íôïõëÜðé âñßóêïíôáé ßóùò óõñôÜñéá êáéóôá óõñôÜñéá âñßóêïíôáé êïõôéÜ ðïõ ðåñéÝ÷ïõí áíôéêåßìåíá. Óõíïøßæïíôáò, âëÝ-ðïõìå üôé óôï óðßôé õðÜñ÷ïõí áíôéêåßìåíá êáé ÷þñïé ðïõ ðåñéÝ÷ïõí Üëëïõò ÷þ-ñïõò êáé áíôéêåßìåíá.

Ãéáôß õðÜñ÷ïõí ïé ÷þñïé; Ìá ãéá íá ìç âñßóêïíôáé üëá ôá áíôéêåßìåíá ôïõ óðé-ôéïý �÷ýìá� óôïí ßäéï ÷þñï. Ôá áíôéêåßìåíá âñßóêïíôáé óå ÷þñïõò ðïõ Ý÷ïõìåäçìéïõñãÞóåé ìå ìüíï óêïðü ôçí ôáîéíüìçóç êáé ôïðïèÝôçóç ôùí áíôéêåéìÝíùí.ÊÜèå áíôéêåßìåíï Ý÷åé ôç èÝóç ôïõ óå Ýíá ÷þñï. Áí âñåèåß óå êÜðïéï Üó÷åôï ÷þñï(ãéá ðáñÜäåéãìá, áí áõôü ôï âéâëßï âñåèåß óôï íôïõëÜðé ìå ôá ðéÜôá), ôüôå ï÷ñÞóôçò � åóåßò äçëáäÞ � äýóêïëá èá ìðïñåßôå íá ôï âñåßôå. ÊÜèå ÷þñïò ìå ôçóåéñÜ ôïõ âñßóêåôáé ìÝóá óå Ýíáí Üëëï ÷þñï ðÜëé ìå âÜóç ôç ëåéôïõñãéêüôçôÜôïõ. Ãéá ðáñÜäåéãìá, ôï óõñôÜñé ìå ôá ìá÷áéñïðÞñïõíá âñßóêåôáé óôï íôïõëÜðéìå ôá åßäç êïõæßíáò êáé ôï íôïõëÜðé áõôü ìÝóá óôçí êïõæßíá.

Ó÷Þìá 10.1 Éåñáñ÷ßá ÷þñùí (ìåñéêÞ üøç). á) óå Ýíá óðßôé â) óå Ýíá äßóêï

Ãéá ôïõò ßäéïõò áêñéâþò ëüãïõò ðïõ óôçí êáèçìåñéíÞ æùÞ äçìéïõñãïýìå ìéá éåñáñ-÷ßá ÷þñùí (Ó÷Þìá 10.1á), ãéá ôçí ôáîéíüìçóç êáé ôçí áóöÜëéóç áíôéêåéìÝíùí, äç-

(á) (â)

Page 54: Operating Systems

254 Ôå÷íïëïãßá õðïëïãéóôéêþí óõóôçìÜôùí êáé ëåéôïõñãéêÜ óõóôÞìáôá

ìéïõñãïýìå �÷þñïõò� (Ó÷Þìá 10.1â) êáé óôá áðïèçêåõôéêÜ ìÝóá åíüò óõóôÞìáôïòõðïëïãéóôÞ. Ïé �÷þñïé� áõôïß, ðïõ ïíïìÜæïíôáé êáôÜëïãïé (directories) Þ öÜêåëïé(folders), Ý÷ïõí óêïðü íá åîõðçñåôïýí ôéò äéáäéêáóßåò ïìáäïðïßçóçò êáé äéá÷åßñé-óçò ôùí áñ÷åßùí ôïõ óõóôÞìáôïò.

10.2.1. Éåñáñ÷éêÞ äïìÞ êáôáëüãùí/öáêÝëùíÓå êÜèå óýóôçìá õðÜñ÷ïõí êáôÜëïãïé/öÜêåëïé ïñéóìÝíïé áðü ôï ËÓ êáé Üëëïé ðïõïñßæïíôáé áðü ôïõò ÷ñÞóôåò ôïõò óõóôÞìáôïò êáé ôéò åêôåëïýìåíåò äéåñãáóßåò,áíÜëïãá ìå ôéò áíÜãêåò ôïõ êáèåíüò. Óå êÜèå óôéãìÞ, åßíáé äõíáôÞ ç äçìéïõñãßá êáéç êáôáóôñïöÞ êáôáëüãùí åßôå áðü ôï ËÓ åßôå áðü ôï ÷ñÞóôç. Ïé åñãáóßåò áõôÝòåêôåëïýíôáé ìå êëÞóåéò óôéò êáôÜëëçëåò äéåñãáóßåò ôïõ ËÓ.

Ç äçìéïõñãßá ôçò äïìÞò ôùí êáôáëüãùí óå Ýíá óýóôçìá, åêôüò áðü ôïõò êáôá-ëüãïõò ðïõ õðáãïñåýåé ôï óýóôçìá, åßíáé õðüèåóç êáèáñÜ ôïõ äéá÷åéñéóôÞ êáéôùí ÷ñçóôþí ôïõ óõóôÞìáôïò. ÊáèÝíáò, áíÜëïãá ìå ôïí ôñüðï ìå ôïí ïðïßï èÝëåéíá ïìáäïðïéåß ôá áñ÷åßá ôïõ, äçìéïõñãåß ôï áíôßóôïé÷ï äÝíôñï êáôáëüãùí (directorytree). Óôï ó÷Þìá 10.2 öáßíåôáé ìéá äïìÞ êáôáëüãùí óå Ýíá óýóôçìá ðïëëþí ÷ñç-óôþí. ÊÜèå ÷ñÞóôçò Ý÷åé ôï äéêü ôïõò êáôÜëïãï/öÜêåëï ìÝóá óôïí ïðïßï äçìéïõñ-ãåß êáôáëüãïõò êáé áðïèçêåýåé áñ÷åßá. ¼ëïé ïé êáôÜëïãïé/öÜêåëïé ôùí ÷ñçóôþíâñßóêïíôáé óôïí êáôÜëïãï ×ÑÇÓÔÅÓ. Ôï ËÓ Ý÷åé ãéá ôçí ôÞñçóç ôùí äéêþí ôïõáñ÷åßùí Ýíá ìÝñïò ôçò äåíäñïåéäïýò äïìÞò (îåêéíÜ áðü ôïí êáôÜëïãï ËÓ), åíþüëåò ïé åöáñìïãÝò ôçñïýíôáé óå áñ÷åßá ðïõ âñßóêïíôáé óå ìéá ôñßôç ðåñéï÷Þ ôïõäÝíäñïõ (îåêéíþíôáò áðü ôïí êáôÜëïãï ÐÑ).

Ó÷Þìá 10.2 ÅíäåéêôéêÞ äïìÞ êáôáëüãùí óå Ýíá óýóôçìá ðïëëþí ÷ñçóôþí.

Óôï óýóôçìá õðÜñ÷åé ðÜíôá Ýíáò êáôÜëïãïò ìÝóá óôïí ïðïßï âñßóêïíôáé üëïé ïéÜëëïé. Óôá ðåñéóóüôåñá óõóôÞìáôá áõôüò ï êáôÜëïãïò, áðü ôïí ïðïßï îåêéíÜ çäåíäñïåéäÞò äïìÞ ôùí êáôáëüãùí ôïõ óõóôÞìáôïò, ïíïìÜæåôáé ñßæá (root).

Óêåöèåßôå ðüóï ðéï åýêïëç Ý÷åé ãßíåé ç áíáæÞôçóç åíüò áñ÷åßïõ óôï óýóôçìáôïõ ðñïçãïýìåíïõ ó÷Þìáôïò. Óêåöèåßôå åðßóçò üôé óôï óýóôçìá áõôü ìðïñïýìåðïëý åýêïëá íá áíôéãñÜøïõìå üëá ôá áñ÷åßá åíüò ÷ñÞóôç óå Ýíá Üëëï áðïèçêåõ-ôéêü ìÝóï. Äåí ÷ñåéÜæåôáé íá øÜ÷íïõìå ðïëý. ¼ëá ôá áñ÷åßá ôïõ ÷ñÞóôç êáé ìüíïáõôÜ âñßóêïíôáé ìÝóá óôïí êáôÜëïãï ôïõ ÷ñÞóôç (óôç äåíäñïåéäÞ äïìÞ êáôáëü-ãùí ðïõ îåêéíÜ áðü ôïí êáôÜëïãï ôïõ ÷ñÞóôç).

Page 55: Operating Systems

Äéá÷åßñéóç áñ÷åßùí êáé äßóêùí 255

10.2.2. Ïíüìáôá äéáäñïìþí (pathnames)Áðü üóá áíáöÝñáìå ìÝ÷ñé ôþñá ãéá ôïõò êáôáëüãïõò, åßíáé ðñïöáíÝò üôé ãéá íáïñßóïõìå áêñéâþò Ýíá áñ÷åßï, äåí áñêåß íá ïñßóïõìå ôï üíïìÜ ôïõ. ÐñÝðåé íáïñßóïõìå êáé ôïí êáôÜëïãï óôïí ïðïßï âñßóêåôáé ôï áñ÷åßï. Ãéá ôïí ßäéï áêñéâþòëüãï äåí áñêåß ôï üíïìá åíüò êáôáëüãïõ ãéá íá ïñßóïõìå ôïí êáôÜëïãï áõôü. Áðáé-ôåßôáé íá ïñßóïõìå êáé ôïí êáôÜëïãï óôïí ïðïßï âñßóêåôáé ï êáôÜëïãïò.

ÔåëéêÜ ðþò ìðïñïýìå íá ïñßóïõìå Ýíá áñ÷åßï Þ Ýíá êáôÜëïãï;

¸÷ïõìå äýï ôñüðïõò, ðïõ ðåñéãñÜöïíôáé óôç óõíÝ÷åéá.

Áðüëõôç ÄéáäñïìÞÇ áðüëõôç äéáäñïìÞ åíüò áñ÷åßïõ / êáôáëüãïõ åßíáé ç äéáäñïìÞ êáôáëüãùí ðïõðñÝðåé íá áêïëïõèÞóïõìå, Ýôóé þóôå íá öèÜóïõìå áðü ôç ñßæá óôï óõãêåêñéìÝíïáñ÷åßï / êáôÜëïãï. Óôç äéáäñïìÞ áõôÞ ðñïóèÝôïõìå óôï ôÝëïò ôï üíïìá ôïõ áñ-÷åßïõ / êáôáëüãïõ.

Óôç äåíäñïåéäÞ äïìÞ ôïõ ó÷Þìáôïò ðïõ áêïëïõèåß, ç áðüëõôç äéáäñïìÞ ôïõ áñ-÷åßïõ ðïõ óçìåéþíåôáé óôï ðëáßóéï åßíáé:

\÷ñÞóôåò\ìé÷\ãñÜììá\Üííá\merry_christmas.doc

Ó÷Þìá 10.3 ÄéáäñïìÞ ìÝ÷ñé ôï áñ÷åßï merry_christmas.doc

Áí äçëáäÞ ôï áñ÷åßï Þôáí Ýíá ÷áñôß êáé ïé êáôÜëïãïé äùìÜôéá óôï öõóéêü êüóìï,ôüôå èá Ýðñåðå ãéá íá âñïýìå ôï ÷áñôß, íá áêïëïõèÞóïõìå ôç äéáäñïìÞ ðïõ äßíå-ôáé óôç óõíÝ÷åéá.

ü Áñ÷éêÜ ðÜù óôï �÷þñï� ôçò ñßæáò.

ü Áðü åêåß ðÜù óôï �÷þñï� ÷ñÞóôåò,

ü óôç óõíÝ÷åéá ìðáßíù ìÝóá óôï �äùìÜôéï� ìé÷ ðïõ âñßóêåôáé óôï �äùìÜôéï�÷ñÞóôåò,

ü óôç óõíÝ÷åéá ìðáßíù ìÝóá óôï �äùìÜôéï� ãñÜììá ðïõ âñßóêåôáé óôï �äùìÜ-ôéï� ìé÷,

ü óôç óõíÝ÷åéá ìðáßíù ìÝóá óôï �äùìÜôéï� Üííá ðïõ âñßóêåôáé óôï �äùìÜôéï� ãñÜììá,

ü êáé åêåß íá äù ôï ÷áñôß merry_christmas.doc

Page 56: Operating Systems

256 Ôå÷íïëïãßá õðïëïãéóôéêþí óõóôçìÜôùí êáé ëåéôïõñãéêÜ óõóôÞìáôá

Áí ôá äùìÜôéá ôçò äéáäñïìÞò áõôÞò ôá âÜëïõìå ôï Ýíá ìåôÜ ôï Üëëï êáé ìåôáîýôïõò ôï ÷áñáêôÞñá �\� (ï ïðïßïò äéáöÝñåé áíÜëïãá ìå ôï ËÓ), Ý÷ïõìå ôçíáðüëõôç äéáäñïìÞ åíüò áñ÷åßïõ Þ êáôáëüãïõ.

Óçìåéþóôå üôé áñ÷åßá ìå ôï ßäéï üíïìá ìðïñïýí íá õðÜñ÷ïõí ðïëëÜ óôï ßäéïóýóôçìá. Èá ðñÝðåé üìùò íá âñßóêïíôáé áíáãêáóôéêÜ óå äéáöïñåôéêïýò êáôáëü-ãïõò.

Ó÷åôéêÞ ÄéáäñïìÞÓ÷åôéêÞ äéáäñïìÞ åíüò áñ÷åßïõ / êáôáëüãïõ åßíáé ç äéáäñïìÞ êáôáëüãùí ðïõðñÝðåé íá áêïëïõèÞóïõìå Ýôóé þóôå íá öèÜóïõìå áðü ôïí ôñÝ÷ïíôá êáôÜëïãïóôï óõãêåêñéìÝíï áñ÷åßï / êáôÜëïãï. Óôç äéáäñïìÞ áõôÞ ðñïóèÝôïõìå óôï ôÝëïòôï üíïìá ôïõ áñ÷åßïõ / êáôáëüãïõ.

ÔñÝ÷ùí êáôÜëïãïò åßíáé ï êáôÜëïãïò óôá ðåñéå÷üìåíá ôïõ ïðïßïõ Ý÷ïõìå ðñü-óâáóç ÷ùñßò ÷ñÞóç äéáäñïìþí. Ï ïñéóìüò ôïõ ãßíåôáé ìå êáôÜëëçëåò êëÞóåéò ðñïòôï ËÓ.

Óôç äåíäñïåéäÞ äïìÞ ôïõ ðñïçãïýìåíïõ ó÷Þìáôïò, áí ôñÝ÷ùí êáôÜëïãïò åßíáéáõôüò ðïõ äåß÷íåé ôï âÝëïò, ôüôå ç ó÷åôéêÞ äéáäñïìÞ ôïõ áñ÷åßïõ ðïõ óçìåéþíåôáéóôï ðëáßóéï åßíáé:

..\ÃÑÁÌÌÁ\ÁÍÍÁ\merry_christmas.doc

Áí äçëáäÞ ôï áñ÷åßï Þôáí Ýíá ÷áñôß êáé ïé êáôÜëïãïé äùìÜôéá êáé âñéóêüìáóôåóôï äùìÜôéï ÅÑÃ, ôüôå èá Ýðñåðå, ãéá íá âñïýìå ôï ÷áñôß, íá áêïëïõèÞóïõìå ôçäéáäñïìÞ ðïõ äßíåôáé óôç óõíÝ÷åéá.

ü íá âãù áðü ôï äùìÜôéï ÅÑÃ, äçëáäÞ íá ìðù óôï äùìÜôéï. . (ðïõ ãéá ôï ÅÑÃóõìâïëßæåé ôï äùìÜôéï ÌÉ×)

ü óôç óõíÝ÷åéá íá ìðù ìÝóá óôï äùìÜôéï ÃÑÁÌÌÁ ðïõ âñßóêåôáé óôï äùìÜôéïÌÉ×,

ü óôç óõíÝ÷åéá íá ìðù ìÝóá óôï äùìÜôéï ÁÍÍÁ ðïõ âñßóêåôáé óôï äùìÜôéïãñÜììá,

ü êáé åêåß íá äù ôï ÷áñôß merry_christmas.doc

Áí ôá äùìÜôéá ôçò äéáäñïìÞò áõôÞò ôá âÜëïõìå ôï Ýíá ìåôÜ ôï Üëëï êáé ìåôáîýôïõò ôï ÷áñáêôÞñá �\� (ï ïðïßïò äéáöÝñåé áíÜëïãá ìå ôï ËÓ), Ý÷ù ôç ó÷åôéêÞäéáäñïìÞ åíüò áñ÷åßïõ Þ êáôáëüãïõ.

Ç ïíïìáôïäïóßá ôùí êáôáëüãùí/öáêÝëùí åíüò óõóôÞìáôïò áêïëïõèåß ôïõòßäéïõò êáíüíåò êáé ôçí ßäéá ëïãéêÞ ðïõ áêïëïõèåßôáé êáé ãéá ôá áñ÷åßá ôïõ óõ-óôÞìáôïò.

10.2.3 ×áñáêôçñéóôéêÜ êáôáëüãùí/ÖáêÝëùí¼ðùò êÜèå áñ÷åßï óôï óýóôçìá Ý÷åé ïñéóìÝíá ÷áñáêôçñéóôéêÜ, Ýôóé êáé ïé êáôÜ-ëïãïé óôï óýóôçìá Ý÷ïõí óõãêåêñéìÝíá ÷áñáêôçñéóôéêÜ. ÌåñéêÜ áðü ôá ÷áñáêôç-ñéóôéêÜ áõôÜ ÷ñçóéìïðïéïýíôáé ãéá ëüãïõò áíáãíþñéóçò, üðùò ôï üíïìá, ç çìåñï-ìçíßá äçìéïõñãßáò êáé ï ôýðïò ôïõ. ¢ëëá ÷ñçóéìïðïéïýíôáé ãéá ëüãïõò áóöÜëåéáò,üðùò ôá äéêáéþìáôá ôùí ÷ñçóôþí ôïõ óõóôÞìáôïò óôïí êáôÜëïãï. ÔÝëïò, Üëëá

Óôá ðåñéóóüôåñá ËÓ, ï êáôÜëïãïò-ãïíÝáò åíüò êáôáëüãïõ ×,åìöáíßæåôáé ìÝóá óôïí × ìå ôïóýìâïëï .. (äýï ôåëåßåò).

Ôï ßäéï éó÷ýåé êáé ãéá ôéò äéáäñïìÝò,üôáí èÝëïõìå íá ìåôáêéíçèïýìå óåêáôÜëïãï-ãïíÝá.

Ãéá íá �âãù� Ýîù áðü ôïíêáôÜëïãï × áñêåß íá �ìðù� óôïíêáôÜëïãü ôïõ ìå üíïìá.

¸íá áñ÷åßï ïñßæåôáé ðëÞñùòìüíï áðü ôçí áðüëõôç äéáäñïìÞôïõ.

Åíþ ãéá êÜèå áñ÷åßï õðÜñ÷åé ìéáìïíáäéêÞ áðüëõôç äéáäñïìÞ,õðÜñ÷åé ìåãÜëïò áñéèìüò áðüó÷åôéêÝò äéáäñïìÝò. Ç ó÷åôéêÞäéáäñïìÞ åíüò áñ÷åßïõ/êáôáëüãïõáëëÜæåé áíÜëïãá ìå ôïí ôñÝ÷ïíôáêáôÜëïãï. Áíôßèåôá, ç áðüëõôçäéáäñïìÞ åßíáé áíåîÜñôçôç ôïõôñÝ÷ïíôïò êáôáëüãïõ.

Page 57: Operating Systems

Äéá÷åßñéóç áñ÷åßùí êáé äßóêùí 257

÷ñçóéìïðïéïýíôáé ãéá ôçí åìöÜíéóç ðëçñïöïñéþí êáé âïçèïýí óôç ãåíéêüôåñç äéá-÷åßñéóç ôùí êáôáëüãùí.

10.3 Äéá÷åßñéóç êáé ÁóöÜëåéá Áñ÷åßùí êáé êáôáëüãùí/öáêÝëùí

Ïé ëåéôïõñãßåò ðïõ Üìåóá (áðü ôï öëïéü) Þ Ýììåóá (ìÝóù ðñïãñáììÜôùí) ÷ñçóé-ìïðïéåß ï ÷ñÞóôçò ãéá ôçí åðåîåñãáóßá êáé ôç äéá÷åßñéóç ôùí áñ÷åßùí êáé ôùíêáôáëüãùí ôïõ óõóôÞìáôïò, ðïéêßëïõí áðü óýóôçìá óå óýóôçìá. ÕðÜñ÷åé üìùòÝíá õðïóýíïëï áðü ëåéôïõñãßåò ðïõ åìöáíßæïíôáé óôá ðåñéóóüôåñá ËÓ êáé ôïïðïßï åîåôÜæïõìå óôç óõíÝ÷åéá. Óçìåéþóôå üôé ôüóï ç ïíïìáóßá üóï êáé ç óýíôá-îç ôùí åíôïëþí ôïõ ÷ñÞóôç ðñïò ôï ËÓ ãéá ôç äéá÷åßñéóç ôùí áñ÷åßùí êáé ôùíêáôáëüãùí äéáöÝñåé ìåôáîý óõóôçìÜôùí. Óôçí ðáñïýóá åíüôçôá ãéá êÜèå åíÝñ-ãåéá èá ÷ñçóéìïðïéÞóïõìå üíïìá ðïõ ó÷åôßæåôáé ìå ôï åßäïò ôçò åñãáóßáò óôïáñ÷åßï/êáôÜëïãï.

1. ÄÇÌÉÏÕÑÃÉÁ. Ç äéáäéêáóßá äçìéïõñãßáò áñ÷åßïõ Þ êáôáëüãïõ. ×ñçóéìï-ðïéåßôáé êõñßùò áðü äéåñãáóßåò ãéá ôç äçìéïõñãßá íÝùí, êåíþí áñ÷åßùí óôá ïðïßáèá áðïèçêåõôåß ðëçñïöïñßá áðü ôç äéåñãáóßá. Ç ÷ñÞóç ôçò áðü ôï ÷ñÞóôç åßíáéóõíÞèùò Ýììåóç êáé êáëåßôáé ìÝóù åíôïëþí ðïõ äßíåé áõôüò óôçí åöáñìïãÞ ðïõ÷ñçóéìïðïéåß. Óôçí ðåñßðôùóç êáôáëüãùí, áõôïß äçìéïõñãïýíôáé ãéá ôç öýëáîçáñ÷åßùí óå áõôïýò.

2. ÄÉÁÃÑÁÖÇ. Ç åíôïëÞ ãéá ôç äéáãñáöÞ áñ÷åßïõ Þ êáôáëüãïõ. Ôï áñ÷åßïáðïìáêñýíåôáé áðü ôï óýóôçìá êáé ôá ðåñéå÷üìåíÜ ôïõ ðáýïõí íá åßíáé äéáèÝóé-ìá. Ï ÷þñïò ðïõ êáôáëáìâÜíåé óôï äßóêï ôï áñ÷åßï åëåõèåñþíåôáé ãéá íá ÷ñçóé-ìïðïéçèåß áðü íÝá áñ÷åßá. Ç äéáãñáöÞ áñ÷åßùí ðñáãìáôïðïéåßôáé óõíÞèùò áðüôï ÷ñÞóôç, ìÝóá áðü ôï öëïéü ôïõ ËÓ. Äéåñãáóßåò êáëïýí åðßóçò ôç äéáäéêáóßá ãéáðñïóùñéíÜ áñ÷åßá ðïõ äçìéïõñãïýí êáôÜ ôçí åêôÝëåóÞ ôïõò. Óôçí ðåñßðôùóçäéáãñáöÞò êáôáëüãùí, óå Üëëá óõóôÞìáôá áõôÞ óõíåðÜãåôáé êáé äéáãñáöÞ üëùíôùí áñ÷åßùí ðïõ õðÜñ÷ïõí óå áõôïýò, åíþ óå Üëëá óõóôÞìáôá ç äéáäéêáóßáåðéôñÝðåôáé ìüíï óå êåíïýò êáôÜëïãïõò.

3. ÁÍÏÉÃÌÁ. ¢íïéãìá ôïõ áñ÷åßïõ Þ ôïõ êáôáëüãïõ. Ìå ôç äéáäéêáóßá áõôÞôï ËÓ åðéôñÝðåé óå ìéá äéåñãáóßá ôçí ðñüóâáóç óôá ðåñéå÷üìåíá ôïõ áñ÷åßïõ(êáôáëüãïõ) áíÜëïãá ìå ôá ÷áñáêôçñéóôéêÜ ôïõ ôåëåõôáßïõ. Ôï áñ÷åßï (êáôÜëï-ãïò) Þ ìÝñïò ôïõ ìåôáöÝñåôáé óôç ìíÞìç ôïõ óõóôÞìáôïò ãéá ôá÷ýôåñç åðåîåñ-ãáóßá. Ç åñãáóßá êáëåßôáé Ýììåóá áðü ôï ÷ñÞóôç ìÝóù ôçò äéåñãáóßáò åöáñìï-ãÞò ðïõ ÷ñçóéìïðïéåß ãéá ôçí åðåîåñãáóßá ôïõ áñ÷åßïõ (êáôáëüãïõ).

4. ÁÍÁÃÍÙÓÇ. ÁíÜãíùóç ìÝñïõò ôùí ðåñéå÷ïìÝíùí ôïõ áñ÷åßïõ Þ ôùí ðå-ñéå÷ïìÝíùí (áñ÷åßùí) ôïõ êáôáëüãïõ. Óôçí ðåñßðôùóç áñ÷åßùí, ç äéáäéêáóßá áðáé-ôåß íá äïèåß ôï ìÝãåèïò ôïõ ìÝñïõò ôïõ áñ÷åßïõ ðïõ èá áíáãíùóèåß, êáèþò êáé çðåñéï÷Þ ìíÞìçò óôçí ïðïßá èá åããñáöïýí ôá ðåñéå÷üìåíá ðïõ èá áíáãíùóèïýí.Ãéá íá ãßíåé áíÜãíùóç áðü áñ÷åßï Þ êáôÜëïãï, ðñÝðåé ðñþôá íá áíïé÷èåß ôï áñ-÷åßï/êáôÜëïãïò.

5. ÅÃÃÑÁÖÇ. Ç äéáäéêáóßá ìå ôçí ïðïßá äåäïìÝíá ãñÜöïíôáé óôï áñ÷åßï Þ

Page 58: Operating Systems

258 Ôå÷íïëïãßá õðïëïãéóôéêþí óõóôçìÜôùí êáé ëåéôïõñãéêÜ óõóôÞìáôá

ôïí êáôÜëïãï. Ç åããñáöÞ ãßíåôáé óôï ôñÝ÷ïí óçìåßï ôïõ áñ÷åßïõ Þ óå óõãêåêñéìÝ-íï óçìåßï ôïõ áñ÷åßïõ, áí áõôü êáèïñßæåôáé. Áí ç åããñáöÞ ãßíåé óôï ôÝëïò ôïõáñ÷åßïõ, ôá íÝá äåäïìÝíá ðñïóôßèåíôáé óå åêåßíá ðïõ Þäç ðåñéÝ÷åé ôï áñ÷åßï. Áí çåããñáöÞ ãßíåé êÜðïõ ìÝóá óôï áñ÷åßï, ôá äåäïìÝíá ðïõ õðÜñ÷ïõí åêåß áíôéêáèé-óôþíôáé áðü ôá äåäïìÝíá ðïõ åããñÜöïíôáé. Óôçí ðåñßðôùóç êáôáëüãùí, åããñá-öÞ óôïí êáôÜëïãï åßíáé ç äçìéïõñãßá íÝùí áñ÷åßùí ìÝóá óå áõôüí Þ ç äéáãñáöÞáñ÷åßùí ðïõ ðåñéÝ÷ïíôáé ó� áõôüí. Ãéá íá ãßíåé åããñáöÞ óå áñ÷åßï Þ êáôÜëïãï,ðñÝðåé íá ðñïçãçèåß ÜíïéãìÜ ôïõò.

6. ÐÑÏÓÈÇÊÇ. Åßíáé õðïóýíïëï ôçò äéáäéêáóßáò ÅÃÃÑÁÖÇ. Ìðïñåß íá åã-ãñÜøåé äåäïìÝíá ìüíï óôï ôÝëïò ôïõ áñ÷åßïõ (ðñïóèÞêç äåäïìÝíùí). Ç äéáäéêáóßáäåí åßíáé äéáèÝóéìç ãéá êáôáëüãïõò.

7. ÊËÅÉÓÉÌÏ. Äéáäéêáóßá ìå ôçí ïðïßá ôï áñ÷åßï Þ ï êáôÜëïãïò êëåßíåé. Áöïýåêôåëåóèåß ç äéáäéêáóßá, êáìéÜ Üëëç åðåîåñãáóßá äåí åßíáé äõíáôÞ ãéá ôï áñ÷åßï Þôïí êáôÜëïãï áõôü, ìÝ÷ñéò üôïõ ôï áñ÷åßï Þ ï êáôÜëïãïò áíïßîåé ðÜëé ìå ôç äéáäé-êáóßá ÁÍÏÉÃÌÁ.

8. ÁÍÔÉÃÑÁÖÇ. Ç äéáäéêáóßá ìå ôçí ïðïßá ï ÷ñÞóôçò áíôéãñÜöåé Ýíá áñ÷åßïóå Üëëï óçìåßï ôïõ áðïèçêåõôéêïý ìÝóïõ Þ óå Üëëï áðïèçêåõôéêü ìÝóï. Ç äéáäéêá-óßá äçìéïõñãåß, óôï óçìåßï ôïõ áðïèçêåõôéêïý ìÝóïõ ðïõ åðéëÝãåôáé, Ýíá íÝï áñ-÷åßï, áíôéãñÜöåé óôï íÝï áñ÷åßï ôá ðåñéå÷üìåíá ôïõ áíôéãñáöüìåíïõ áñ÷åßïõ êáéóôç óõíÝ÷åéá äßíåé óôï íÝï áñ÷åßï ôï üíïìá ðïõ êáèïñßæåôáé ìå ôçí êëÞóç ôçòäéáäéêáóßáò. Óôçí ðåñßðôùóç êáôáëüãùí, ôüóï ï êáôÜëïãïò üóï êáé üëá ôá ðåñéå-÷üìåíÜ ôïõ (áñ÷åßá êáé êáôÜëïãïé) áíôéãñÜöïíôáé óå íÝï óçìåßï ôïõ áðïèçêåõôé-êïý ìÝóïõ.

9. ÄÉÁÂÁÓÌÁ ×ÁÑÁÊÔÇÑÉÓÔÉÊÙÍ. Ç äéáäéêáóßá ìå ôçí ïðïßá ôï ËÓ áíáêôÜôá ÷áñáêôçñéóôéêÜ åíüò áñ÷åßïõ Þ êáôáëüãïõ. Ç äéáäéêáóßá åßíáé áðáñáßôçôç óåðÜñá ðïëëÝò ëåéôïõñãßåò óôï ËÓ. Ãéá ðáñÜäåéãìá, üôáí Ýíáò ÷ñÞóôçò æçôÜ íááíïßîåé Ýíá áñ÷åßï, ôï ËÓ ðñÝðåé íá áðïöáóßóåé áí ï óõãêåêñéìÝíïò ÷ñÞóôçò Ý÷åéäéêáéþìáôá óôï áñ÷åßï áõôü. Ôï ËÓ ðñÝðåé áêüìá íá áðïöáóßóåé ðïéåò åßíáé ïéåðéôñåðôÝò åíÝñãåéåò ãéá ôï óõãêåêñéìÝíï áñ÷åßï. Ïé åñãáóßåò ðïõ åðéôñÝðåé ôïáñ÷åßï åßíáé ìÝñïò ôùí ÷áñáêôçñéóôéêþí ôïõ áñ÷åßïõ.

10. ÈÅÓÇ ×ÁÑÁÊÔÇÑÉÓÔÉÊÏÕ. Ç äéáäéêáóßá ìå ôçí ïðïßá ôßèåíôáé Þ áëëÜæïõíôá ÷áñáêôçñéóôéêÜ åíüò áñ÷åßïõ Þ åíüò êáôáëüãïõ.

Ïé ëåéôïõñãßåò ôçò áíÜãíùóçò, åããñáöÞò, ðñïóèÞêçò êáé áíôéãñáöÞò åíüòáñ÷åßïõ áðáéôïýí áðü ôï óýóôçìá íá ðñïóðåëÜóåé ôï áñ÷åßï êáé óå óõãêåêñé-ìÝíï óçìåßï ôïõ åßôå íá äéáâÜóåé åßôå íá ãñÜøåé äåäïìÝíá. Ç ðéï óõíçèéóìÝíçìÝèïäïò ðñïóðÝëáóçò åßíáé ç Üìåóç ðñïóðÝëáóç (random access). Ìå áõôÞ,ôï óýóôçìá ìðïñåß íá äéáâÜóåé Þ íá ãñÜøåé áðåõèåßáò óå ïðïéïäÞðïôå óçìåßïôïõ áñ÷åßïõ. Ç ìÝèïäïò ÷ñçóéìïðïéåßôáé óå üëá ôá óýã÷ñïíá áðïèçêåõôéêÜìÝóá, åêôüò ôùí ìáãíçôéêþí ôáéíéþí. Óôéò ìáãíçôéêÝò ôáéíßåò, ãéá ìç÷áíéêïýòëüãïõò, ÷ñçóéìïðïéåßôáé ç ìÝèïäïò ôçò óåéñéáêÞò ðñïóðÝëáóçò (sequentialaccess). Ìå ôç ìÝèïäï áõôÞ, ôï óýóôçìá ãéá íá äéáâÜóåé áðü Ýíá óçìåßï ôïõáñ÷åßïõ ðñÝðåé íá äéáâÜóåé üëï ôï ôìÞìá ðïõ ðñïçãåßôáé ôïõ óçìåßïõ áõôïý.ÅðéðëÝïí, åããñáöÞ ãßíåôáé ìüíï óôï ôÝëïò ôïõ áñ÷åßïõ.

Page 59: Operating Systems

Äéá÷åßñéóç áñ÷åßùí êáé äßóêùí 259

ÁóöÜëåéá Áñ÷åßùí êáé ÊáôáëüãùíÇ áóöÜëåéá ôùí áñ÷åßùí óôï ËÓ Ý÷åé ðïëëÝò üøåéò. Äýï áðü ôéò óçìáíôéêüôåñåò åßíáé:

1. Ç åîáóöÜëéóç ôïõ óõóôÞìáôïò êáé ôùí áñ÷åßùí ôïõ óå ðåñéðôþóåéò áðþëåéáòäåäïìÝíùí.

2. Ç åîáóöÜëéóç ôïõ óõóôÞìáôïò êáé ôùí áñ÷åßùí ôïõ áðü ìç åîïõóéïäïôçìÝ-íïõò ÷ñÞóôåò.

Áðþëåéá äåäïìÝíùí ìðïñåß íá ðáñïõóéáóôåß óå Ýíá óýóôçìá áðü öõóéêÝòêáôáóôñïöÝò, óöÜëìáôá õëéêïý Þ ëïãéóìéêïý Þ áíèñþðéíï óöÜëìá. Ãéá ôçíåîáóöÜëéóç ôùí äåäïìÝíùí ðïõ ðåñéÝ÷ïíôáé óôá áñ÷åßá ôùí ÷ñçóôþí, ðïõåßíáé üôé ðéï ðïëýôéìï âñßóêåôáé óôï óýóôçìá, Ý÷ïõí áíáðôõ÷èåß äýï âáóéêÝòêáôçãïñßåò óõóôçìÜôùí áóöáëåßáò:

1. ÓõóôÞìáôá ðñüëçøçò êáôáóôñïöþí. Ôá óõóôÞìáôá áõôÜ, ðïõ ìðïñåß íááðïôåëïýíôáé áðü õëéêü, ëïãéóìéêü, äéáäéêáóßåò êáé ïðïéïíäÞðïôå óõíäõá-óìü ôùí ôñéþí áõôþí óôïé÷åßùí, áðïóêïðïýí óôçí áðïöõãÞ áðþëåéáòäåäïìÝíùí.

2. ÓõóôÞìáôá áðïêáôÜóôáóçò êáôáóôñïöþí. Ôá óõóôÞìáôá áõôÜ, ðïõ ðÜëéóõíôßèåíôáé áðü õëéêü, ëïãéóìéêü êáé äéáäéêáóßåò, áðïóêïðïýí óôçí áðï-êáôÜóôáóç ôïõ óõóôÞìáôïò áöïý ãßíåé ç êáôáóôñïöÞ. Êëáóéêüôåñï ðáñÜ-äåéãìá óõóôÞìáôïò áðïêáôÜóôáóçò åßíáé ç ëÞøç åöåäñåéþí áñ÷åßùí (filebackup) óå ìáãíçôéêÜ Þ Üëëá ìÝóá.

Ãéá ôçí åîáóöÜëéóç ôùí áñ÷åßùí êáé ôùí êáôáëüãùí ôïõ óõóôÞìáôïò áðü ìçåîïõóéïäïôçìÝíïõò ÷ñÞóôåò, ï ðéï óõíçèéóìÝíïò ìç÷áíéóìüò áóöáëåßáò åßíáé çðéóôïðïßçóç ôáõôüôçôáò ÷ñÞóôç êáé ç áðüäïóç äéêáéùìÜôùí ÷ñÞóçò ôïõ óõ-óôÞìáôïò áíÜëïãá ìå ôçí ôáõôüôçôá áõôÞ. Ï ìç÷áíéóìüò ëåéôïõñãåß ùò åîÞò:

t Ôï ËÓ ôçñåß ôï åõñåôÞñéï ÷ñçóôþí (user inventory), ìéá äïìÞ äåäïìÝíùí óôçíïðïßá ôçñåßôáé ìéá åããñáöÞ ãéá êÜèå ÷ñÞóôç ôïõ óõóôÞìáôïò. Ç åããñáöÞ ôïõ÷ñÞóôç ðåñéÝ÷åé ìéá êùäéêÞ ïíïìáóßá (username) ãéá ôï ÷ñÞóôç, Ýíá êñõðôï-ãñáöçìÝíï êùäéêü ðñüóâáóçò óôï óýóôçìá (password access key) êáé ìéáëßóôá ìå ôá äéêáéþìáôá ôïõ ÷ñÞóôç (rights list) óôá áñ÷åßá êáé óôéò äéåñãáóßåòôïõ óõóôÞìáôïò.

t Ãéá íá ÷ñçóéìïðïéÞóåé êÜðïéïò ôï óýóôçìá ðñÝðåé óôçí áñ÷Þ ôçò åñãáóßáò ôïõíá «åéóÝëèåé» ðñþôá óôï óýóôçìá (login). Ï õðïøÞöéïò ÷ñÞóôçò ðáñÝ÷åé óôïóýóôçìá ôçí êùäéêÞ ïíïìáóßá ôïõ êáé ôïí êùäéêü ðñüóâáóÞò ôïõ. Ôï ËÓ åëÝã-÷åé ôï åõñåôÞñéï ÷ñçóôþí êáé áíÜëïãá åðéôñÝðåé Þ áðáãïñåýåé ôçí åßóïäï óôïóýóôçìá.

t ÊÜèå öïñÜ ðïõ Ýíáò ÷ñÞóôçò ðñïóðáèåß íá åíåñãïðïéÞóåé ìéá äéåñãáóßá Þ íáåðåîåñãáóôåß ôá ðåñéå÷üìåíá åíüò áñ÷åßïõ Þ êáôáëüãïõ, ôï ËÓ áíáæçôåß óôïåõñåôÞñéï ÷ñçóôþí ôç ëßóôá äéêáéùìÜôùí ôïõ ÷ñÞóôç. Áí óôç ëßóôá åìöáíßæå-ôáé ùò åðéôñåðôÞ ç åíÝñãåéá ðïõ æçôÜ ï ÷ñÞóôçò ãéá ôï óõãêåêñéìÝíï áñ÷åßï,êáôÜëïãï Þ äéåñãáóßá, ôüôå áõôÞ åêôåëåßôáé, äéáöïñåôéêÜ äåí åêôåëåßôáé.

Ìå ôï ìç÷áíéóìü áõôü, åéäéêÜ åîïõóéïäïôçìÝíïé ÷ñÞóôåò, ïé ïðïßïé ïíïìÜæïíôáéäéá÷åéñéóôÝò ôïõ óõóôÞìáôïò (system administrators), åëÝã÷ïõí ôé åßíáé åðéôñåðôüáíÜ ÷ñÞóôç êáé áñ÷åßï óôï óýóôçìá. Ç äéá÷åßñéóç áõôÞ ðñáãìáôïðïéåßôáé ìå ôçâïÞèåéá åéäéêþí ðñïãñáììÜôùí/äéåñãáóéþí ðïõ ðáñÝ÷åé ôï ËÓ êáé óôá ìåãÜëáóõóôÞìáôá åßíáé éäéáßôåñá óçìáíôéêÞ êáé ðïëýðëïêç åñãáóßá.

Page 60: Operating Systems

260 Ôå÷íïëïãßá õðïëïãéóôéêþí óõóôçìÜôùí êáé ëåéôïõñãéêÜ óõóôÞìáôá

10.4 Õëïðïßçóç Áñ÷åßùí

Ãéá ôçí ðñüóâáóç óôá áñ÷åßá êáé ôç ÷ñÞóç ôïõò áðü ôï ÷ñÞóôç Þ ôï óýóôçìáìÝóù ôùí êáôÜëëçëùí äéåñãáóéþí, åßíáé áðáñáßôçôï ôï ËÓ íá ãíùñßæåé, êÜèå óôéã-ìÞ, ðïéåò åíüôçôåò (block) ôïõ äßóêïõ ÷ñçóéìïðïéïýíôáé ãéá ôçí áðïèÞêåõóç êÜèåáñ÷åßïõ.

Óå äéáöïñåôéêÜ ËÓ ÷ñçóéìïðïéïýíôáé ðïéêßëåò ìÝèïäïé. Ç ìÝèïäïò õëïðïßç-óçò ðïõ åðéëÝãåôáé ãéá êÜèå Ýíá ïíïìÜæåôáé êáé Óýóôçìá Áñ÷åßùí (file system)ôïõ ËÓ. Óôçí ðáñïýóá åíüôçôá èá åîåôÜóïõìå ìåñéêÝò óõíçèéóìÝíåò õëïðïéÞ-óåéò óõóôçìÜôùí áñ÷åßùí.

Óõíå÷Þò êáôáíïìÞ (contiguous allocation)Ôï áðëïýóôåñï óýóôçìá êáôáíïìÞò åíüò áñ÷åßïõ óôéò åíüôçôåò ôïõ äßóêïõ åßíáé çêáôáíïìÞ óå óõíå÷Þò åíüôçôåò óôï äßóêï. ¸ôóé, Ýíá áñ÷åßï 50Ê óå Ýíá äßóêï ìåìÝãåèïò åíüôçôáò 8Ê áðïèçêåýåôáé óå 7 óõíå÷üìåíåò åíüôçôåò.

Ôá âáóéêÜ ðëåïíåêôÞìáôá ôçò óõíå÷ïýò êáôáíïìÞò åßíáé äýï:

1. Ç áðëüôçôá ôçò õëïðïßçóÞò ôçò. Ãéá ôçí áíÜêôçóç Þ åããñáöÞ áñ÷åßïõ óôï äßóêïáñêåß ç ãíþóç ôçò äéåýèõíóçò ôçò ðñþôçò åíüôçôáò ôïõ áñ÷åßïõ óôï äßóêï.

2. Ç áðüäïóç ôïõ óõóôÞìáôïò óå åñãáóßåò ÷åéñéóìïý ôùí áñ÷åßùí. Ôá áñ÷åßáåããñÜöïíôáé êáé áíáêôþíôáé ìå ìßá ìüíï åíÝñãåéá.

Ôá êýñéá êáé äõóôõ÷þò ðïëý óçìáíôéêÜ ìåéïíåêôÞìáôá ôçò óõíå÷ïýò êáôáíï-ìÞò åßíáé ðÜëé äýï:

1. ¸ëëåéøç åõåëéîßáò. Ôï óýóôçìá ðñÝðåé íá ãíùñßæåé ãéá êÜèå áñ÷åßï ôï ìÝãéóôï÷þñï ðïõ áõôü, üóï õðÜñ÷åé, èá êáôáëáìâÜíåé óôï äßóêï.

2. Áðþëåéá ÷þñïõ óôï äßóêï. Áðü ôéò äéáãñáöÝò áñ÷åßùí äçìéïõñãïýíôáé �êåíÜ�(áêïëïõèßåò åíïôÞôùí), óôá ïðïßá ìðïñåß íá ãñáöåß Ýíá áñ÷åßï ìüíïí, áí ôïìÝãéóôï ìÝãåèüò ôïõ äåí îåðåñíÜ ôï ìÝãåèïò ôïõ êåíïý. Ìå ôçí ðÜñïäï ôïõ÷ñüíïõ ôá �êåíÜ� áõôÜ ãßíïíôáé ìéêñüôåñá óå ìÝãåèïò êáé ðåñéóóüôåñá óå áñéèìü.¼óï ôá �êåíÜ� ìéêñáßíïõí, ôüóï ðéï äýóêïëï åßíáé íá ÷ùñÝóåé óå áõôÜ ïëüêëç-ñï áñ÷åßï. Ôï öáéíüìåíï áõôü ïíïìÜæåôáé êáôáêåñìáôéóìüò åëåýèåñïõ ÷þñïõôïõ äßóêïõ.

Áðü ôá ðëåïíåêôÞìáôá êáé ôá ìåéïíåêôÞìáôá áõôÞò ôçò ïñãÜíùóçò åßíáé öáíå-ñü üôé åßíáé åëêõóôéêÞ ìüíï óå óõóôÞìáôá üðïõ áðáéôåßôáé ç ìÝãéóôç áðüäïóçóôï ÷åéñéóìü áñ÷åßùí, ìå áñ÷åßá ðïõ Ý÷ïõí ãíùóôÜ ìÝãéóôá ìåãÝèç.

KáôáíïìÞ óõíäåìÝíçò ëßóôáò (linked list allocation)Ç äåýôåñç ìÝèïäïò áðïèÞêåõóçò áñ÷åßùí åßíáé ìå ôç ÷ñÞóç ìéáò óõíäåìÝíçò ëß-óôáò áðü åíüôçôåò ôïõ äßóêïõ, üðùò öáßíåôáé óôï Ó÷Þìá 10.4.

Óôçí áñ÷Þ ôçò ðñþôçò åíüôçôáò, ðïõ ÷ñçóéìïðïéåßôáé ãéá ôçí áðïèÞêåõóç ôïõáñ÷åßïõ, õðÜñ÷åé ï áñéèìüò ôçò äåýôåñçò åíüôçôáò, ðïõ ÷ñçóéìïðïéåßôáé ãéá ôïáñ÷åßï áõôü (äåßêôçò óôç äåýôåñç åíüôçôá). Óôçí áñ÷Þ ôçò äåýôåñçò åíüôçôáòõðÜñ÷åé äåßêôçò ãéá ôçí ôñßôç ê.ï.ê.

Åíüôçôá ïíïìÜæåôáé ïìÜäáóõíå÷üìåíùí ëÝîåùí óôïìáãíçôéêü äßóêï. Ï áñéèìüò ôùíëÝîåùí åßíáé óôáèåñüò. ÊÜèååããñáöÞ/áíÜãíùóç ðñïò êáéáðü ôïí äßóêï ãßíåôáé ðÜíôá ãéááêÝñáéï áñéèìü åíïôÞôùí.

Page 61: Operating Systems

Äéá÷åßñéóç áñ÷åßùí êáé äßóêùí 261

Ó÷Þìá 10.4 ÓõíäåìÝíç ëßóôá áðü åíüôçôåò ôïõ äßóêïõ óôéò ïðïßåò

âñßóêåôáé áðïèçêåõìÝíï Ýíá áñ÷åßï.

Óå ó÷Ýóç ìå ôç óõíå÷Þ êáôáíïìÞ, ç êáôáíïìÞ óõíäåìÝíçò ëßóôáò ðáñïõóéÜæåé äýïðëåïíåêôÞìáôá:

1. Åßíáé ðåñéóóüôåñï åõÝëéêôç, áöïý äåí áðáéôåßôáé ãíþóç ôïõ ìÝãéóôïõ ìåãÝèïõòôùí áñ÷åßùí óôï óýóôçìá.

2. Åêìåôáëëåýåôáé üëï ôï ÷þñï óôï äßóêï, áöïý üëåò ïé åíüôçôåò åßíáé äéáèÝóéìåòãéá ÷ñÞóç. Êáé óôçí ïñãÜíùóç áõôÞ áðáéôåßôáé ãíþóç ìüíï ôçò ðñþôçò åíüôç-ôáò ôïõ áñ÷åßïõ, áöïý ï áñéèìüò êÜèå åðüìåíçò äéáâÜæåôáé áðü ôçí ðñïçãïý-ìåíç åíüôçôÜ ôïõ.

Ç ïñãÜíùóç ôùí áñ÷åßùí óå óõíäåìÝíç ëßóôá ðáñïõóéÜæåé üìùò êáé óçìáíôéêÜìåéïíåêôÞìáôá:

1. Åßíáé ðéï áñãÞ (áðü ôç óõíå÷Þ êáôáíïìÞ) óôéò ëåéôïõñãßåò áñ÷åßùí, áöïý çåããñáöÞ/áíÜãíùóç áðáéôåß ìåôáôüðéóç ôùí êåöáëþí ôïõ äßóêïõ óå ðïëëÜóçìåßá, ìéá êáé ïé åíüôçôåò ôïõ áñ÷åßïõ ìðïñïýí íá âñßóêïíôáé äéÜóðáñôåò óôïäßóêï. Åíþ áñ÷éêÜ ãßíåôáé áðü ôï óýóôçìá ðñïóðÜèåéá íá áðïèçêåýåôáé Ýíááñ÷åßï óå óõíå÷üìåíåò åíüôçôåò, áðü Ýíá óçìåßï êáé ìåôÜ áõôü åßíáé áäýíáôï,ìå áðïôÝëåóìá ôç äéáóðïñÜ ôùí åíïôÞôùí åíüò áñ÷åßïõ, öáéíüìåíï ðïõ ïíï-ìÜæåôáé êáôáêåñìáôéóìüò ôùí áñ÷åßùí ôïõ äßóêïõ.

2. ¸÷åé ìåãáëýôåñç, áðü ôç óõíå÷Þ êáôáíïìÞ, ðïëõðëïêüôçôá. Åêôüò ôïõ üôé ïéåñãáóßåò óôï áñ÷åßï äå ãßíïíôáé óå ìßá êßíçóç, êáôÜ ôçí áíÜãíùóç/åããñáöÞðñÝðåé íá ëáìâÜíåôáé ìÝñéìíá ãéá ôïí êáèïñéóìü ôïõ äåßêôç ðïõ ãñÜöåôáé óåêÜèå åíüôçôá êáé ôï äéá÷ùñéóìü ôùí äåéêôþí áðü ôá ðåñéå÷üìåíá ôïõ áñ÷åßïõ.

Áðü ôá ðëåïíåêôÞìáôá êáé ôá ìåéïíåêôÞìáôá áõôÞò ôçò ïñãÜíùóçò, åßíáé öá-íåñü üôé, áõôÞ åßíáé åëêõóôéêÞ óå óõóôÞìáôá üðïõ áðáéôåßôáé éäéáßôåñç åõåëéîßáóôï ÷åéñéóìü áñ÷åßùí áãíþóôïõ ìÝãéóôïõ ìåãÝèïõò êáé óôá ïðïßá õðÜñ÷åé áðáß-ôçóç ãéá ìåãÜëç ðëÞñùóç ôùí äßóêùí.

Page 62: Operating Systems

262 Ôå÷íïëïãßá õðïëïãéóôéêþí óõóôçìÜôùí êáé ëåéôïõñãéêÜ óõóôÞìáôá

ÊáôáíïìÞ óõíäåìÝíçò ëßóôáò ìå åõñåôÞñéï äåéêôþí(indexed linked list allocation)

Ç ïñãÜíùóç óõíäåìÝíçò ëßóôáò, ðïõ ðåñéãñÜøáìåóôçí ðñïçãïýìåíç åíüôçôá, ìðïñåß íá ãßíåé ðåñéóóü-ôåñï áðïäïôéêÞ ìå ìéá áðëÞ ôñïðïðïßçóç. Áíôß óåêÜèå åíüôçôá ôïõ áñ÷åßïõ íá êñáôÜìå ôï äåßêôç óôçíåðüìåíç, ìðïñïýìå íá êñáôÜìå Ýíáí îå÷ùñéóôü ðßíá-êá � åõñåôÞñéï óôï äßóêï êáé óôç ìíÞìç, ï ïðïßïò ðå-ñéÝ÷åé üëïõò ôïõò äåßêôåò ôùí åíïôÞôùí ôïõ äßóêïõ.Ç ìïñöÞ ôïõ ðßíáêá ãéá ôï ðáñÜäåéãìá ðïõ äþóáìåóôï Ó÷Þìá 10.4 öáßíåôáé óôï Ó÷Þìá 10.5.

Óôïí ðßíáêá åõñåôÞñéï õðÜñ÷ïõí ôüóåò èÝóåéò üóåòïé åíüôçôåò ôïõ äßóêïõ. Óå êÜèå èÝóç, ðïõ áíôéóôïé-÷åß óôç öõóéêÞ åíüôçôá ôïõ äßóêïõ ìå ôïí ßäéï áñéèìü,áðïèçêåýåôáé ï äåßêôçò óôçí åðüìåíç åíüôçôá ðïõ÷ñçóéìïðïéåßôáé óôï äßóêï ãéá ôçí áðïèÞêåõóç åíüòáñ÷åßïõ.

Óôï ðáñÜäåéãìÜ ìáò, îåêéíþíôáò áðü ôçí ðñþôçåíüôçôá ôïõ áñ÷åßïõ Á (ìå áñéèìü 5), äéáâÜæïõìå áðüôï äßóêï ôá ðåñéå÷üìåíá ôçò åíüôçôáò 5 êáé áðü ôïåõñåôÞñéï ôïí áñéèìü ôçò åðüìåíçò åíüôçôáò ôïõ áñ-

÷åßïõ, óôï ðáñÜäåéãìÜ ìáò, ôïõ 8. Ìå ôïí ôñüðï áõôü ìðïñïýìå íá äéáâÜóïõìåüëï ôï åðéëåãìÝíï áñ÷åßï.

Ç õëïðïßçóç ôïõ óõóôÞìáôïò áñ÷åßùí ìå ÷ñÞóç óõíäåìÝíçò ëßóôáò ìå åõ-ñåôÞñéï ðëåïíåêôåß óå ó÷Ýóç ìå ôçí õëïðïßçóç óõíäåìÝíçò ëßóôáò åðåéäÞ:

1. Óå êÜèå åíüôçôá áðïèçêåýåôáé ìüíï ðëçñïöïñßá áñ÷åßïõ. Ïé äåßêôåò óååðüìåíåò åíüôçôåò âñßóêïíôáé óôï åõñåôÞñéï, êÜôé ðïõ ïäçãåß óå áðëïýóôå-ñåò äéáäéêáóßåò áíÜãíùóçò/åããñáöÞò êáôÜ ôçí åêôÝëåóç äéåñãáóéþí.

2. Ïé èÝóåéò üëùí ôùí åíïôÞôùí ôïõ áñ÷åßïõ åßíáé ãíùóôÝò åî� áñ÷Þò (áðü ôïåõñåôÞñéï ðïõ âñßóêåôáé óôç ìíÞìç) êáé äåí ÷ñåéÜæåôáé íá äéáâÜæïíôáé êá-èþò äéáâÜæåôáé êÜèå åíüôçôá. Ôï ãåãïíüò áõôü ðñïóöÝñåé ìåãáëýôåñç åõ-÷Ýñåéá äéá÷åßñéóçò.

3. Ïé èÝóåéò üëùí ôùí åíïôÞôùí ôïõ áñ÷åßïõ âñßóêïíôáé Üìåóá äéáèÝóéìåò óôçìíÞìç, êÜôé ðïõ åðéôá÷ýíåé ôéò äéáäéêáóßåò äéá÷åßñéóçò ôùí áñ÷åßùí.

Ôï êõñéüôåñï ìåéïíÝêôçìá ôçò ìåèüäïõ åßíáé ïôé ãéá íá ëåéôïõñãÞóåé áðáéôåß ïðßíáêáò åõñåôÞñéï íá åßíáé öïñôùìÝíïò ìüíéìá óôçí ìíÞìç ôïõ óõóôÞìáôïò. ÃéáðáñÜäåéãìá, óå Ýíá óýóôçìá ìå 1.000.000 åíüôçôåò (óõíçèéóìÝíïò áñéèìüò óÞìå-ñá) êáé ìå åããñáöÞ óôïí ðßíáêá ìåãÝèïõò 4 bytes (åðßóçò óõíçèéóìÝíï ìÝãåèïò)áðáéôïýíôáé ðåñßðïõ 4MB ìíÞìçò ìüíéìá äåóìåõìÝíá ãéá ôï óõãêåêñéìÝíï óêïðü.

Ó÷Þìá 10.5 ÏñãÜíùóç áñ÷åßùí

ìå êáôáíïìÞ óõíäåìÝíçò ëßóôáò

ìå åõñåôÞñéï äåéêôþí.

Page 63: Operating Systems

Äéá÷åßñéóç áñ÷åßùí êáé äßóêùí 263

~~ ~~

10.5 Äéá÷åßñéóç ×þñïõ ôïõ Äßóêïõ

ÓçìáíôéêÞ äéáäéêáóßá ãéá ôçí áðüäïóç åíüò óõóôÞìáôïò áñ÷åßùí åßíáé ç óùóôÞäéá÷åßñéóç ôïõ ÷þñïõ ôùí äßóêùí ôïõ óõóôÞìáôïò. Ç äéá÷åßñéóç ôùí äßóêùí Ý÷åéóêïðü:

ü Ôç âÝëôéóôç ÷ñÞóç ôïõ äéáèÝóéìïõ áðïèçêåõôéêïý ÷þñïõ.

ü Ôç âÝëôéóôç ÷ñïíéêÞ áðüêñéóç ôïõ óõóôÞìáôïò óå åñãáóßåò ðïõ ðåñéëáìâÜíïõíðñüóâáóç óôïõò äßóêïõò.

ü Ôç äéêáéüôåñç êáôáíïìÞ ôïõ äéáèÝóéìïõ ÷þñïõ óôïõò ÷ñÞóôåò ôïõ óõóôÞìáôïò.

10.5.1. ÌÝãåèïò åíüôçôáòÓå óõóôÞìáôá, ðïõ ãéá ôçí õëïðïßçóç ôùí áñ÷åßùí ÷ñçóéìïðïéïýí óôñáôçãéêÝòóôáèåñïý ìåãÝèïõò ãéá ôéò åíüôçôåò óôï äßóêï, óçìáíôéêÞ ðáñÜìåôñïò áðüäïóçòôïõ óõóôÞìáôïò áðïôåëåß ôï ìÝãåèïò ôçò åíüôçôáò.

¼ðùò ðåñéãñÜøáìå, êÜèå áñ÷åßï ÷ñçóéìïðïéåß Ýíáí áñéèìü áðü åíüôçôåò ôïõäßóêïõ (óõíå÷üìåíåò Þ ü÷é) ãéá ôçí áðïèÞêåõóç ôùí ðëçñïöïñéþí ôïõ. ÊÜèå åíü-ôçôá ðåñéÝ÷åé ðëçñïöïñßá áðü Ýíá ìüíï áñ÷åßï. ̧ ôóé, áí Ýíá áñ÷åßï ÷ñçóéìïðïéåß10 êáé ìéóÞ åíüôçôåò, ç õðüëïéðç ìéóÞ åíäÝêáôç ìÝíåé á÷ñçóéìïðïßçôç áðü ôïóýóôçìá.

Ï óõíïëéêüò ÷þñïò ôùí åíïôÞôùí ðïõ âñßóêåôáé äåóìåõìÝíïò, áëëÜ á÷ñçóéìï-ðïßçôïò óôï äßóêï (óå ìåñéêþò ÷ñçóéìïðïéïýìåíåò åíüôçôåò), ïíïìÜæåôáé ÷á-ìÝíïò ÷þñïò (slack space).

Ôï áêüëïõèï ðáñÜäåéãìá ìáò äßíåé ìéá åéêüíá ôïõ ðñïâëÞìáôïò ðïõ ó÷åôßæåôáé ìåôï ìÝãåèïò ôçò åíüôçôáò ôïõ äßóêïõ åíüò óõóôÞìáôïò.

¸óôù, üôé Ý÷ïõìå ïñßóåé ìÝãåèïò åíüôçôáò ôá 16K. Óôïí ðßíáêá 10.2 ðïõ áêï-ëïõèåß äßíåôáé ï ÷þñïò ðïõ êáôáëáìâÜíïõí ïñéóìÝíá áñ÷åßá äéáöüñùí ìåãåèþíóôï äßóêï.

Ðßíáêáò 10.2. ÄåóìåõìÝíåò åíüôçôåò êáé ÷þñïò, ìáæß ìå áðþëåéåò

ãéá åíäåéêôéêÜ áñ÷åßá óå äßóêï ìå åíüôçôá ìåãÝèïõò 16Ê.

ÌÅÃÅÈÏÓ ÐËÇÈÏÓ ÄÅÓÌÅÕÌÅÍÏÓ ÁÐÙËÅÉÁ ÁÐÙËÅÉÁÁÑ×ÅÉÏÕ ÅÍÏÔÇÔÙÍ ×ÙÑÏÓ ×ÙÑÏÕ ×ÙÑÏÕ %

1byte 1 16Ê 16K 100%

3K 1 16K 13K 81%

20K 2 32K 12K 37%

50K 4 64K 14% 22%

100K 7 112K 12K 37%

1024K 64 1M 0K 0%

1025K 65 1040K 15K 1%

Áí ôï ìÝóï ìÝãåèïò ôùí áñ÷åßùí óôï óýóôçìá åßíáé 4Ê, ôüôå óå êÜèå åíüôçôáÝ÷ïõìå:

Page 64: Operating Systems

264 Ôå÷íïëïãßá õðïëïãéóôéêþí óõóôçìÜôùí êáé ëåéôïõñãéêÜ óõóôÞìáôá

ü 4Ê ðëçñïöïñßáò

ü 12Ê á÷ñçóéìïðïßçôï ÷þñï

ÄçëáäÞ, ìüíï ôá 4/16 (25%) ôïõ ÷þñïõ äåóìåýïíôáé ãéá áðïèÞêåõóç ðëçñïöï-ñßáò. Ôï õðüëïéðï 75% ìÝíåé á÷ñçóéìïðïßçôï ðáñüôé åßíáé äåóìåõìÝíï. ¸÷ïõìåáðþëåéá ÷þñïõ 75%.

Óôï óýóôçìá áõôü, ç åðéëïãÞ ôùí 16Ê ùò ìÝãåèïò åíüôçôáò åßíáé êáêÞ. ÌéáÜëëç ôéìÞ, ãéá ðáñÜäåéãìá 8Ê, èá Þôáí êáëýôåñç, áöïý èá Ýäéíå ðïóïóôü ÷áìÝíïõ÷þñïõ êïíôÜ óôï 50%. Åíüôçôá 4Ê äßíåé ðïóïóôü ÷áìÝíïõ ÷þñïõ êïíôÜ óôï 0%.

Ôï ìÝóï ìÝãåèïò áñ÷åßïõ åßíáé ðÜíôá âáóéêüò ðáñÜãïíôáò ãéá ôçí åðéëïãÞ ôïõìåãÝèïõò åíüôçôáò óôï äßóêï.

Åßíáé åìöáíÝò üôé ðÜíôá êáëÞ åðéëïãÞ åßíáé Ýíá ìÝãåèïò åíüôçôáò ôÝôïéï, ðïõôá ìåãÝèç ôùí áñ÷åßùí íá åßíáé áêÝñáéá ðïëëáðëÜóéÜ ôïõ (äå ìÝíïõí óôï óýóôç-ìá ìéóï-óõìðëçñùìÝíåò åíüôçôåò). Ðñïöáíþò, ìå âÜóç ôçí áíÜëõóç ðïõ êÜíáìååßíáé âïëéêü íá åðéëÝãïõìå ðïëý ìéêñü ìÝãåèïò åíüôçôáò ôïõ äßóêïõ.

Ðïëý ìéêñÞ åíüôçôá üìùò óõíåðÜãåôáé ìåßùóç ôçò áðüäïóçò ôïõ óõóôÞìáôïòåîáéôßáò åíüò äéáöïñåôéêïý öáéíïìÝíïõ. Óêåöèåßôå üôé ç áíÜãíùóç áðü ôï äßóêïãßíåôáé ìå áíÜãíùóç åíïôÞôùí. ¼óåò ðåñéóóüôåñåò åíüôçôåò ðñÝðåé íá áíáãíù-óèïýí áðü ôï äßóêï, ôüóåò ðåñéóóüôåñåò öïñÝò ðñÝðåé íá ìåôáêéíçèïýí ïé êåöá-ëÝò ôïõ äßóêïõ. Ðéèáíüôáôá, ç ìåôáêßíçóç ôçò êåöáëÞò íá ãßíåôáé êáé óå ìáêñéíÜóçìåßá. ÊÜèå ìåôáêßíçóç áðáéôåß ÷ñüíï. ¸ôóé, áí Ý÷ïõìå ìéêñü ìÝãåèïò åíüôçôáò(ðïõ ìå âÜóç ôï ðñïçãïýìåíï êñéôÞñéï ìáò åîõðçñåôåß éäéáßôåñá) ôá áñ÷åßá áðï-ôåëïýíôáé áðü ìåãÜëïõò áñéèìïýò åíïôÞôùí. Ç áíÜãíùóç ðïëëþí åíïôÞôùí óõíå-ðÜãåôáé ðïëëÝò ìåôáêéíÞóåéò ôçò êåöáëÞò ìå áðïôÝëåóìá áðþëåéá ÷ñüíïõ.

Ôï ìÝãåèïò åíüôçôáò åðçñåÜæåé ôçí áðüäïóç ôïõ óõóôÞìáôïò ìå äýï ôñüðïõò:

ü ÁõîÜíåé Þ ìåéþíåé ôïí ðñáãìáôéêü äéáèÝóéìï ÷þñï áðïèÞêåõóçò óôï óýóôçìá.

ü ÁõîÜíåé Þ ìåéþíåé ôï ÷ñüíï áðüêñéóçò ôïõ óõóôÞìáôïò óôéò åñãáóßåò ìå áñ-÷åßá.

Ìå âÜóç ôçí áíÜëõóç ðïõ êÜíáìå, ðñïêýðôåé üôé óå êÜèå óýóôçìá ôï âÝëôéóôïìÝãåèïò åíüôçôáò åîáñôÜôáé Üìåóá áðü ôï ìÝãåèïò ôùí áñ÷åßùí (êáé öõóéêÜ ôçóçìáóßá ôùí áñ÷åßùí áõôþí) óôï óýóôçìá. Ôï ìÝãåèïò åíüôçôáò äåí åîáñôÜôáéüìùò ìüíï áðü ôï ìÝãåèïò áõôü.

Óôç ëßóôá ðïõ áêïëïõèåß öáßíïíôáé óçìáíôéêïß ðáñÜãïíôåò ðïõ ëáìâÜíåéõðüøç ôïõ ï äéá÷åéñéóôÞò ôïõ óõóôÞìáôïò ãéá ôçí åðéëïãÞ ôïõ ìåãÝèïõò åíü-ôçôáò.

1. ÌÝóï ìÝãåèïò áñ÷åßùí.

2. ÌÝóï ìÝãåèïò óçìáíôéêþí áñ÷åßùí.

3. Ó÷åäéáóôéêïß ðåñéïñéóìïß ôïõ óõóôÞìáôïò. Óå ðïëëÜ óõóôÞìáôá, ôï ìÝãå-èïò åíüôçôáò õðáãïñåýåôáé Üìåóá áðü ôçí ôìçìáôïðïßçóç (partitioning)ôùí äßóêùí.

4. Áðáéôïýìåíïò ìÝóïò ÷ñüíïò áðüêñéóçò ôïõ óõóôÞìáôïò óå äéáäéêáóßåò ÷åé-ñéóìïý áñ÷åßùí.

Page 65: Operating Systems

Äéá÷åßñéóç áñ÷åßùí êáé äßóêùí 265

10.5.2 Äéá÷åßñéóç åëåýèåñùí åíïôÞôùíÊÜèå öïñÜ ðïõ äçìéïõñãåßôáé Ýíá íÝï áñ÷åßï Þ ðïõ ðåñéå÷üìåíá ðñïóôßèåíôáé óåÝíá Þäç õðÜñ÷ïí, ôï ËÓ ðñÝðåé íá áðïöáóßóåé óå ðïéá åíüôçôá ôïõ äßóêïõ èáãñáöåß ç íÝá ðëçñïöïñßá. Ãéá ôï óêïðü áõôü åßíáé áðáñáßôçôï ôï ËÓ íá ãíùñßæåéêÜèå óôéãìÞ ðïéåò åíüôçôåò ôïõ äßóêïõ åßíáé åëåýèåñåò êáé äéáèÝóéìåò ðñïò ÷ñÞóç.

Äýï åßíáé ïé ðéï óõíçèéóìÝíåò ôå÷íéêÝò ãéá ôçí ôÞñçóç áõôÞò ôçò ðëçñïöïñßáò:

� Ç ÓõíäåìÝíç Ëßóôá ÅëåõèÝñùí ÅíïôÞôùí. Ç ôå÷íéêÞ áõôÞ áðáéôåß áðü ôïóýóôçìá ôçí ôÞñçóç óôï äßóêï ìéáò ëßóôáò åããñáöþí, ç ïðïßá ðåñéÝ÷åé ôïõò áñéè-ìïýò ôùí åëåõèÝñùí åíïôÞôùí óôï äßóêï. Ç ëßóôá áõôÞ áðïèçêåýåôáé óå ìéá ëß-óôá áðü åíüôçôåò äßóêïõ êáé êÜèå åíüôçôá ðåñéÝ÷åé áñéèìïýò åíïôÞôùí ðïõ åßíáéäéáèÝóéìåò ðñïò ÷ñÞóç.

� Ï XÜñôçò äõáäéêþí øçößùí (Bit Map). Ôï ËÓ ôçñåß óôï äßóêï Ýíá ðßíáêáóôïí ïðïßï áíôéóôïé÷ßæåôáé åíá äõáäéêü øçößï (bit) óå êÜèå åíüôçôá ôïõ äßóêïõ.Áí Ýíá äõáäéêü øçößï åßíáé 0, ôüôå ç áíôßóôïé÷ç åíüôçôá åßíáé êáôçëåéììÝíç, áíåßíáé 1 ç áíôßóôïé÷ç åíüôçôá åßíáé åëåýèåñç ðñïò ÷ñÞóç.

Áíáêåöáëáßùóç

Ôï óýóôçìá áñ÷åßùí, Ýôóé üðùò åìöáíßæåôáé óôï ÷ñÞóôç ôïõ ËÓ, áðïôåëåßôáéáðü ìéá óõëëïãÞ áðü äßóêïõò, áñ÷åßá êáé êáôáëüãïõò, ôá ïðïßá ÷ñçóéìïðïéåß ï÷ñÞóôçò ãéá ôçí áñ÷åéïèÝôçóç êáé ôçí áðïèÞêåõóç ôùí çëåêôñïíéêþí äåäïìÝíùíôïõ. Ôá áñ÷åßá ìðïñïýí íá äéáâáóôïýí, íá ãñáöïýí, íá ôñïðïðïéçèïýí, íá äéá-ãñáöïýí íá áíôéãñáöïýí êáé íá ìåôáöåñèïýí ìåôáîý êáôáëüãùí êáé äßóêùí. ÊÜèåáñ÷åßï Ý÷åé óõãêåêñéìÝíç åóùôåñéêÞ äïìÞ ðïõ ïñßæåé êáé ôç äéåñãáóßá ìå ôçí ïðïßáãßíåôáé ç åðåîåñãáóßá ôïõ. ÔÝëïò, üëá ôá áñ÷åßá Ý÷ïõí ïñéóìÝíá ÷áñáêôçñéóôéêÜðïõ âïçèïýí óôçí áíáãíþñéóç, ôçí ðñïóôáóßá êáé ôç äéá÷åßñéóÞ ôïõò áðü ôï÷ñÞóôç.

Ïé êáôÜëïãïé áðïôåëïýí ðåñéï÷Ýò (�÷þñïõò�) óôïõò äßóêïõò ôïõ óõóôÞìáôïò,ðïõ ÷ñçóéìåýïõí óôçí ïñèïëïãéêÞ êáôáíïìÞ êáé áðïèÞêåõóç ôùí áñ÷åßùí ôùí÷ñçóôþí ôïõ óõóôÞìáôïò. Ïé åñãáóßåò åðåîåñãáóßáò êáé äéá÷åßñéóçò ôùí êáôáëü-ãùí åßíáé áíôßóôïé÷åò ìå åêåßíåò ôùí áñ÷åßùí êáé óå áõôÝò ÷ñçóéìïðïéïýíôáé êáéôá ÷áñáêôçñéóôéêÜ ôùí êáôáëüãùí. Ôá ÷áñáêôçñéóôéêÜ áõôÜ åßíáé åðßóçò áíÜëï-ãá ìå ôá ÷áñáêôçñéóôéêÜ ôùí áñ÷åßùí. Ôá ðåñéóóüôåñá ËÓ õðïóôçñßæïõí ìéá éå-ñáñ÷éêÞ äïìÞ êáôáëüãùí ìÝóá óôïõò ïðïßïõò áðïèçêåýïíôáé ôá áñ÷åßá ôùí ÷ñç-óôþí êáé ôïõ ËÓ.

ÅîåôÜæïíôáò ôï óýóôçìá áñ÷åßùí áðü ôçí ðëåõñÜ ôïõ ËÓ, ç üøç ðïõ áíôéìå-ôùðßæïõìå åßíáé áñêåôÜ äéáöïñåôéêÞ áðü ôçí üøç ðïõ åìöáíßæåôáé óôï ÷ñÞóôçôïõ óõóôÞìáôïò. Ç åóùôåñéêÞ áõôÞ üøç ïñßæåé ôïõò ìç÷áíéóìïýò ìå ôïõò ïðïßïõòôï ËÓ áðïèçêåýåé êáé áíáêôÜ Ýíá áñ÷åßï ðñïò êáé áðü ôïõò äßóêïõò ôïõ óõóôÞìá-ôïò áíôßóôïé÷á.

Ç ó÷åäßáóç ôïõ óõóôÞìáôïò áñ÷åßùí êáèïñßæåé ôçí áðüäïóÞ ôïõ áëëÜ êáé ôçíåõåëéîßá óôç ÷ñÞóç ôïõ. ÁíÜëïãá ìå ôïí ôýðï êáé ôá ìåãÝèç ôùí áñ÷åßùí óôïóýóôçìá êáé ôï åßäïò ôùí åñãáóéþí ôùí ÷ñçóôþí, áðáéôïýíôáé äéáöïñåôéêÝò ñõè-ìßóåéò ãéá ôç âÝëôéóôç áðüêñéóç óå ÷ñüíï êáé ôç âÝëôéóôç áîéïðïßçóç ôïõ äéáèÝóé-ìïõ áðïèçêåõôéêïý ÷þñïõ ôïõ óõóôÞìáôïò.

Page 66: Operating Systems

266 Ôå÷íïëïãßá õðïëïãéóôéêþí óõóôçìÜôùí êáé ëåéôïõñãéêÜ óõóôÞìáôá

ÅñùôÞóåéò / Äñáóôçñéüôçôåò / ÈÝìáôá ãéá ÓõæÞôçóç

1. Äþóôå ôçí Ýííïéá ôïõ áñ÷åßïõ êáé ôç ÷ñçóéìüôçôÜ ôïõ óôá õðïëïãéóôéêÜ óõ-óôÞìáôá.

2. ÐåñéãñÜøôå 2 ôýðïõò áñ÷åßùí ìå âÜóç ôç ëåéôïõñãéêüôçôÜ ôïõò óôï óýóôçìáõðïëïãéóôÞ.

3. Åîçãåßóôå 3 ÷áñáêôçñéóôéêÜ áñ÷åßùí.

4. Ðþò ïñßæïõìå üôé Ýíá áñ÷åßï åßíáé êñõöü óôï óýóôçìá (äçëáäÞ äåí åìöáíßæåôáéóôéò ëßóôåò áñ÷åßùí ðïõ äçìéïõñãïýí ïé áíôßóôïé÷åò äéåñãáóßåò ôïõ óõóôÞìá-ôïò);

5. Ôé åßíáé êáé óå ôé ÷ñçóéìåýïõí ïé êáôÜëïãïé óôï óýóôçìá áñ÷åßùí;

6. Åîçãåßóôå óå ôé äéáöÝñåé ç áðüëõôç äéáäñïìÞ åíüò áñ÷åßïõ áðü ôéò ó÷åôéêÝòäéáäñïìÝò ôïõ áñ÷åßïõ áõôïý. Ãéáôß õðÜñ÷ïõí ðïëëÝò ó÷åôéêÝò äéáäñïìÝò ãéá ôïßäéï áñ÷åßï;

7. Ïñßæåôáé ðëÞñùò Ýíá áñ÷åßï áðü ôï üíïìÜ ôïõ; ̧ íáò êáôÜëïãïò; Ãéáôß;

8. Óôï ó÷Þìá 10.1, äþóôå ôçí áðüëõôç äéáäñïìÞ ôïõ áñ÷åßïõ ver.dll. Ðïéá åßíáé çó÷åôéêÞ äéáäñïìÞ ôïõ áñ÷åßïõ, áí ôñÝ÷ùí êáôÜëïãïò åßíáé ï êáôÜëïãïò //÷ñÞ-óôåò/íßêïò/ãñÜììá;

9. Óôï ó÷Þìá 10.1, ðïéïò åßíáé ï ôñÝ÷ïí êáôÜëïãïò áí ç ó÷åôéêÞ äéáäñïìÞ ôïõáñ÷åßïõ ver.dll åßíáé ../../ËÓ/ÂÉÂË/ver.dll; Åßóáóôå óßãïõñïé; Ãéáôß;

10. ÁíáöÝñåôå 5 âáóéêÝò åñãáóßåò äéá÷åßñéóçò áñ÷åßùí êáé 5 åñãáóßåò äéá÷åßñéóçòêáôáëüãùí.

11. Óõãêñßíåôå ôç óõíå÷Þ êáôáíïìÞ êáé ôçí êáôáíïìÞ óõíäåìÝíçò ëßóôáò ãéá ôçíõëïðïßçóç áñ÷åßùí. Óå ôé äéáöÝñïõí êáé ðïý õðåñôåñåß ç êÜèå ìßá;

12. ÐåñéãñÜøôå ìå ðïéï ôñüðï ôï ìÝãåèïò åíüôçôáò ôïõ äßóêïõ åðçñåÜæåé ôçíáðüäïóç åíüò óõóôÞìáôïò õðïëïãéóôÞ. Óêåöèåßôå ôï ÷ñüíï áðüêñéóçò êáé ôïäéáèÝóéìï ÷þñï óôï äßóêï.

13. Óå Ýíá óýóôçìá õðÜñ÷ïõí 4 áñ÷åßá ìå ìåãÝèç 1Ê, 7Ê, 125Ê, 513Ê. ÖôéÜîôåðßíáêåò ðáñüìïéïõò ìå áõôü ôïõ ðßíáêá 10.2 ãéá ìåãÝèç åíïôÞôùí 4Ê, 8Ê, 16Ê.Ðïéï ìÝãåèïò åíüôçôáò äßíåé áðïäïôéêüôåñç ÷ñÞóç ôïõ äßóêïõ; Èá ìðïñïýóá-ôå íá áðáíôÞóåôå ÷ùñßò ôç ÷ñÞóç ôùí ðéíÜêùí áõôþí;

Âéâëéïãñáößá

1. É.Ê. ÊÜâïõñá, Óõóôçìáôá Õðïëïãéóôþí ÉÉ ËåéôïõñãéêÜ Óõóôçìáôá, 3ç åêäï-óç, Åêäüóåéò ÊëåéäÜñéèìïò, 1995

2. A.S. Tanenbaum, Óýã÷ñïíá ËåéôïõñãéêÜ ÓõóôÞìáôá, Åêäüóåéò Ðáðáóùôç-ñßïõ, 1993

3. Silberschatz et al., Operating System Concepts, 3rd Ed. Addison-Wesley, 1991

Äéåõèýíóåéò äéáäéêôýïõ

http://www.princeton.edu/~aiteachs/webfactory/ctl/file_systems.htm

Åã÷åéñßäéï óõóôçìÜôùí áñ÷åßùí

http://cfa160.harvard.edu/help_pages/sysadmin_guide/sysadm-1.html

ÅéóáãùãÞ óôçí äéá÷åßñéóç ôïõ UNIX

Page 67: Operating Systems

Äéá÷åßñéóç áñ÷åßùí êáé äßóêùí 267

http://pandonia.canberra.edu.au/ssw/files/lecture.html

ÅéóçãÞóåéò óå óõóôÞìáôá áñ÷åßùí

http://www.chairpc.cs.olemiss.edu/cs211/lectures/lecturec.htm

ÓõóôÞìáôá áñ÷åßùí

ËÝîåéò êëåéäéÜ

Áñ÷åßï ......................................................................................................... File

ÄéáäñïìÞ, áðüëõôç ...................................................................... Absolute path

ÄéáäñïìÞ, ó÷åôéêÞ .......................................................................... Relative path

ÊáôÜëïãïò, ôñÝ÷ïí ................................................................. Current directory

Ñßæá ............................................................................................................ Root

×áñáêôçñéóôéêü áñ÷åßïõ ................................................................ File attribute

Page 68: Operating Systems