stallings, luku 7...mmu muuntaa sen fyysiseksi osoitteeksi kanta ja rajarekisterit partitioihin...
TRANSCRIPT
KJKJ--I S2004 / Tiina Niklander; kalvot Auvo HäkkinenI S2004 / Tiina Niklander; kalvot Auvo Häkkinen 66 -- 11
KJ-I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 6 - 1
������������������ � ��������������������� �!������ ��������������������� �!������"��#�$ ���%�"& ���%����'�� ���)(�*%��*���"��#�$ ���%�"& ���%����'�� ���)(�*%��*��
Stallings,Stallings, LukuLuku 77
+-,�.�/0/21435, 67398�:�/28�;=< ,�/�>+-,�.�/0/21435, 67398�:�/28�;=< ,�/�>
KJ-I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 6 - 2
?"@ :�,�;A/1B,?"@ :�,�;A/1B, CEDGF 8 HBH�I�/�JLK�M�NCEDGF 8 HBH�I�/�JLK�M�N
OQPSRUTWV!XZY�[]\ETWV!XZT_^E`�aUP_P_T_^E^�a�V!XZacbed fhgZfEihjlknmOQo!VET_^Eo�RUpqXZaUT_^�Rr^][]\ETWV!XZT_^E`�aUP_P_T_^!XZaaEsoET_T_^!XZREY�XutEaUpnXATWXATSvUoEvEv�Xwbed fhghfUihj xqmy�s0z|{}^�aEaU[]TWV�R�Xut�aUpqXATWXATSvUo�vEv�X~bed fhghfUihj xqm� s2�\�zEz|{���{|V!XZRU[�bed fhghfEihj xqmzEs9{}o!V�T_^Eo�RrpnXZaUT_^�Rr^�V�RE�U[�RU^!XAvUT_^!XAT}bed fhghfEihj �hmREs9{}o!V�T_^Eo�RrpnXZaUT_^�Rr^�VET��}\!XA\!V�bed fhghfEihj �qm
KJKJ--I S2004 / Tiina Niklander; kalvot Auvo HäkkinenI S2004 / Tiina Niklander; kalvot Auvo Häkkinen 66 -- 22
KJ-I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 6 - 3
� @������ 8 6U/ � F :� @������ 8 6U/ � F : � � N���NGN� � N���NGN
aEsoET_T_^!XZREY�tEaUpnXATWXATSvUT_^!XAT� []\ETWV!XAT � aER�XhXA\�v�VET_T_^�R�XA\Eo�YEXZRERr^� V�TWV�YUT_^�RU^]tET_pnV!XZvU\!XA\E[]T_^ERU^���� pqaU�U[�RU^!XAvUT_^!XATWsy�s0z|{}^�aEaU[]T_^ERU^]t�aUpqXATWXATSvUT_^!XAT
� []\ETWV!XATSa4� aUpqa�XZaUaU^�XZaUpZt�RERr^][]\Eo�aUaU^� \EP_o�vUT_^�Rr^]tET_pnV!XZvU\!XA\E[]T_^ERU^���� pqaE�U[]RU^!XAvUT_^!XATWs� XAT_T��}T V!XZYU[]T_^�Rr^]t�aUpnXATWXATSvUTWXZa�VET_T_pnXZYU[�YUP_PSY� s2�\�zEz|{���{|V!XZRU[
� z|{}^�aEaU[]T_^�Rr^��U[]\!XhXZa]R�X \Eo�Y�XARERU^]oET_T_^E^ETWXZREX {|Xv�VETSvUo�vUv�X��UoE\EoET_^]oEvUo�v���� �U[]T_^ET_[]T_o�vUo�v]a�V�R�XAR�XhXA\� `ET_\Eo�ar^�V�TWV�YUT V!XZY�tET_pnV!XZvU\!XA\E[]TWV!XZa��U[]\!XhXZa\EP_oEvUT_^�RU^]`EaUP_P_TWXhXZa|� TWV V�a � aUt�aUTSzERU^4{}`�zUTWV XZRUP {}P_PSY
KJ-I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 6 - 4
+ @ @ H�/28G,�/�� � 6U/ @ / @ I�/+ @ @ H�/28G,�/�� � 6U/ @ / @ I�/ �� ?"@ 39I @ / F :?"@ 39I @ / F :
�u\ � a���� �
KJKJ--I S2004 / Tiina Niklander; kalvot Auvo HäkkinenI S2004 / Tiina Niklander; kalvot Auvo Häkkinen 66 -- 33
KJ-I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 6 - 5
�L. H�L. H � � � 6U/ ���� � � 6U/ ���: @ 39I @ / F :: @ 39I @ / F :
KuvaKuva 7.57.5
���������� ������������������������
� � ���� ���������������������������� ��� ��������!"� ������#���
�%$ �����'&)(*��� �� � �+ �������� �,�� �-���
�%. ���/���'&)(*� � ������0��� � �+��������'��� �'�1����2��3�3��'�
�%4 ��5��'&)(*� � 67��� ���8��������������9���+�+�� ��������� ���9�������
KJ-I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 6 - 6
: F<;=; . ? .�:�/28 < �: F<;=; . ? .�:�/28 < � 8�: @ < 8 6 � �B@8�: @ < 8 6 � �B@
Kuva 7.6Kuva 7.6
KJKJ--I S2004 / Tiina Niklander; kalvot Auvo HäkkinenI S2004 / Tiina Niklander; kalvot Auvo Häkkinen 66 -- 44
KJ-I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 6 - 7
� N���N GN� N���N GN � :�I @ /8�< FBF HBH�I�:� :�I @ /8�< FBF HBH�I�:
� � vUoEv�tEpqv�V�R�V!VET {}`�zER�V!V�Y�t�aUpnXATWXATSv�V V�a� � ` � RUP_[�a�V!V�a�PSvEvE�UTWV�R�X v�V�vUTWXhXZRER�X� Suhteellisia ohjelman alun suhteen� Vapaa sijoitettavuus
� � V�vUTWXZRU[]\E\U^E^�v�V4� a�V!XZa�o�Y�VEo { � Y�VE\�vUphTWXhR�XZXZaER�V!V�a� ������� ^�XZRU`�XZY|� Y� Prosessorilta tulee käskyssä ollut looginen osoite� Prosessi yhdessä partitiossa� MMU muuntaa sen fyysiseksi osoitteeksi Kanta ja rajarekisterit partitioihin viittaamiseksi Base prosessin fyysinen alkuosoite Bounds prosessin loppuosoite (tai pituus)
KJ-I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 6 - 8
� N���N GN � :�I @ /8�< FBF HBH�I�:� N���N GN � :�I @ /8�< FBF HBH�I�:Kuva 7.8Kuva 7.8
KJKJ--I S2004 / Tiina Niklander; kalvot Auvo HäkkinenI S2004 / Tiina Niklander; kalvot Auvo Häkkinen 66 -- 55
KJ-I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 6 - 9
+-,�.�/0/21435, 67398�:�/28�;=< ,�/+-,�.�/0/21435, 67398�:�/28�;=< ,�/ >>
; N�� � : @ H � 8 6U/ ��@ H�8�H:�8���< 8 H�/2I @ H�/ @
KJ-I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 6 - 10
� � : @ H � 8 6U/ ��@ H�8 H :�8�� < 8 H�/I @ H�/ @� � : @ H � 8 6U/ ��@ H�8 H :�8�� < 8 H�/I @ H�/ @
� � ` � RUP_[�vUT � a�XZaUTUo�YEYU^�XZY � Y � aUo�aUa]vU` � RUP_[�ar^oEvEvUPWXZaEar^�RUphT_PSaUTWV�T_T_^]PSvEvE�UTWVETST_^]o�vUoEvU^�aUTWV�\U\Eo!VET_T_^��V�RE�U[�Rr^!XhXZRUT_`ET_^� segmentti = esim. data-alue tai muutama aliohjelma
� � YEYr^!XZY � Y�XA\Ev�XhXZaUa�o�vEvUzUTSa�� � v!V!V�aV�RE�U[�Rr^!XAT_^�VET V�YUTWV�R�X PSvEvE�UTWV�R�X v�V�vUTWXhXZREREX� osoite tavallaan muotoa (segmentti,siirtymä) alkupään bitit kertoo segmenttinumeron loppupään bitit kertoo siirtymän segm. sisällä
� � YUp � R�V!XZRUP_[�Y�V!V�Y4{}PSRERU^!V�Y�V�RE�U[�RU^!XAT_^[�aro!VET_[�T_o�vUoEv
KJKJ--I S2004 / Tiina Niklander; kalvot Auvo HäkkinenI S2004 / Tiina Niklander; kalvot Auvo Häkkinen 66 -- 66
KJ-I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 6 - 11
? 8�� < 8 H�/2I @ H�/ @? 8�� < 8 H�/2I @ H�/ @Kuva 7.11Kuva 7.11
KJ-I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 6 - 12
� � : @ H � 8 6U/ ��@ H�8 H :�8�� < 8 H�/I @ H�/ @� � : @ H � 8 6U/ ��@ H�8 H :�8�� < 8 H�/I @ H�/ @
� �u\E^�� � PSa�XZaEa�tUpqv�V�R�V!V�T_^][]\ETWV!XATST_^��V�R � vUT!VET � vUTWXZRUP_PSa�V�RE�U[�RU^!XATWX � aUt�aEa�V!XATU[�\ETWV!XAT_T_^� kun käytössä yksinkertainen muistinhallinta,
KJ tuo kaikki segmentit kerralla muistiin � muistia varataan aiemmin esitetyillä menetelmillä
segmenttikohtaisesti
� � � {}PSPSYUtETWXZYUY�tEpqv�V�R�V!V�T_^�V�RE�U[�RU^!XZXATWXZaU\EP_\Ea� PCB:ssä segmenttitaulun fyysinen alkuosoite osoite MMU:hun, kun prosessi suoritukseen
� alkioissa kunkin segmentin fyysinen alkuosoite (Base) ja pituus (Length)
KJKJ--I S2004 / Tiina Niklander; kalvot Auvo HäkkinenI S2004 / Tiina Niklander; kalvot Auvo Häkkinen 66 -- 77
KJ-I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 6 - 13
; N; N � :�I @ /28 < FBF HGH�I�:� :�I @ /28 < FBF HGH�I�: � 3 ���� 3 ��� � 0����� 0����
KJ-I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 6 - 14
D IBI�� @ H�8�H ��: ��.�.�: @ H�8�H IG:�I @ /28D IBI�� @ H�8�H ��: ��.�.�: @ H�8�H IG:�I @ /28
��� ����� ��
� ��� � ���
��� ��� ���� ��� �
���������� �����������������������! �����! "$# �!%�%�&"$# �!%�%�& ''( � )�*�+( � )�*�+
KJKJ--I S2004 / Tiina Niklander; kalvot Auvo HäkkinenI S2004 / Tiina Niklander; kalvot Auvo Häkkinen 66 -- 88
KJ-I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 6 - 15
����������� ���������������� ����� ����������
� � %���� %�& � � ���!��+ ( +�& � ( *�� ) ) � � ( *�+ ) ����!%�� ������� +�+ )� segmentin kokoa helppo kasvattaa/pienentää
dynaamisesti saattaa vaatia segmentin uudelleensijoittamista
� osoitteen oikeellisuus tarkistettavissa MMU:ssa
� � %���� %�& � � � ) ����"! � )�+ #� ��+�* ) %�& " * )�� *�*�$� ohjelmoija määrittelee segmentit ja käyttöoikeudet � käyttötapa kopioitu segmenttitaulun alkioon
KJ-I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 6 - 16
����������� ���������������� ����� �%����%���
� &(' ) % ) )�� ( ( % # % ( � ������ ( $ " �*)�)�� ��� *�* ��� +���) � ��) �!�� varattava alue kooltaan jo selvästi pienempi
�� &���% ( � ��& � %�+�% ( ( %�%�&,� +���) � � &,��� ' ) �! �+ � +�� � &�%�&� segmentit eri kokoisia� muistin tiivistämistarve
� - � � * ����)�+ � )��"!$+ � + )� jaa ohjelma aina vakiokokoisiiin sivuihin� varaa muistia aina sivunkokoisina palasina
KJKJ--I S2004 / Tiina Niklander; kalvot Auvo HäkkinenI S2004 / Tiina Niklander; kalvot Auvo Häkkinen 66 -- 99
KJ-I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 6 - 17
�����%� ������������ �������� � ������%� ������������ �������� � � ��
�������� � �������� �����
� ��� ����
KJ-I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 6 - 18
���� � �������� ������ � ��� ���� ���� � �������� ������ � ��� ����
� ��� ! � ' ����� +���) � � � ) � !$+ � � ( �! #"%$&$('%)*)+','%- (page frame)� kaikki samankokoisia� ‘suhteellisen pieniä’, esim. 1KB tai 4 KB� koko aina joku 2:sen potenssi käsittely helppoa laitetasolla
� ��� *�) )���� �!% ( %�% # � % ( � ��� )��"!$+�� & �(page)
� sivu ja sivutila samankokoisia� ��� )�� � ���� �!����� ' ) % ) ) � &) � !$+ � ! ��� ����)�� � &)�� !$+ � � ( �� # � &� Kun käytössä yksinkertainen muistinhallinta,
KJ tuo kaikki sivut kerralla muistiin / vapauttaa
KJKJ--I S2004 / Tiina Niklander; kalvot Auvo HäkkinenI S2004 / Tiina Niklander; kalvot Auvo Häkkinen 66 -- 1010
KJ-I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 6 - 19
� � ��� ��� � � ��� ��� Kuva 7.11Kuva 7.11
KJ-I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 6 - 20
���� � �������� ������ � ��� ���� ���� � �������� ������ � ��� ����
� ��� �����*)�)�� ' ) % ) ) � * # � ����) �!� ) � !$+ �!��+ ( + � (page table)� PCB:ssä sivutaulun fyysinen alkuosoite osoite MMU:hun, kun prosessi suoritukseen
� alkiossa tieto sivutilasta, jossa ko. sivu majailee
� � � ���� &�%�& ) ����!%�� + �+� ) � +�+ & " ��� � ' ��) �!�� )�� !$+�&�+�� % ' �� ) � � ' � " � )��
bittijonon alkupään bitit kertoo sivunumeron bittijonon loppupään bitit siirtymän sivun sisällä
� � ��� & !$� � � %�� & %�&) � !$+ ! ������ #� ��� ' ) �! �+ � +�� ��) �!�
KJKJ--I S2004 / Tiina Niklander; kalvot Auvo HäkkinenI S2004 / Tiina Niklander; kalvot Auvo Häkkinen 66 -- 1111
KJ-I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 6 - 21
�� ��� ��� ��� ��� � � ����� �����%���� �� ��� ��� ��� ��� ��� � � ����� �����%���� �� �
� ���������� ��� � ��������� �� ������������ ������������ � !�"�"#
KJ-I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 6 - 22
�� ��� ��� ��� ��� ��� ��� ��� � $$ � � �������� � ������� ��KuvaKuva 7.97.9
� ������%'&)(���� * !�+�����"(� !���, ��� ��� � ��"#�-�./����01."./�
� �324��%'&)./�� !��� , 5�� ��� � ��"#6������7 � 8�"�"#6���� �� �1�����
� ���� ��� � ��"#6�) �� �1�� 9��� ��:� �� ;<��� * �� , ���:�=�=�:��"#
� >����."=�? , �/5 � !���� 8����� � !�� @��7 �? , �/5 � !���� !����� � !�
=��� �=��"�6?�A+BDC� �� �1�� !�"./���, �� , ��� ��� � ��
KJKJ--I S2004 / Tiina Niklander; kalvot Auvo HäkkinenI S2004 / Tiina Niklander; kalvot Auvo Häkkinen 66 -- 1212
KJ-I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 6 - 23
����������� ��������������������������������������� ������������ ��������������������������������������� �
� � �* ����) % ( ( ��� ' ) % ) ) � ( ( � � *�� �� � )��"!$+ �!��+ ( +� Sivutaulun alkiossa sen sivutilan numero,
jossa sivu sijaitsee� ��� � ( ( ) )�� !$+ � � ( � �!��+ ( + � �!��� ( � &�*����!% � � " ( ��) �!� � �� ) �!� *�) " � ( � ��� ��� *�) ) � !$+ � � ( � � ! ��� �����!�
KJ-I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 6 - 24
�� ����� ��� �� �� ����� ��� �� !�"�#�$!�"�#�$ %'&)(%'&)(
KJKJ--I S2004 / Tiina Niklander; kalvot Auvo HäkkinenI S2004 / Tiina Niklander; kalvot Auvo Häkkinen 66 -- 1313
KJ-I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 6 - 25
�������������� �� �� � ��������� ������������������������ �� �� � ��������� ����������
Kuva 7.12Kuva 7.12
������������������
�� �!����"�#$"&%�'�� �!����"�#$"&%�'
"(%�'"(%�'
��
��
� � % ���� � % ���
)+*-,/.10)+*-,/.102�3!4652�3!465 778�9�:;8 4 :8�9�:;8 4 :
KJ-I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 6 - 26
< ��>= >�����������-�?�@�� < �A>B��-B��< ��>= >�����������-�?�@�� < �A>B��-B��
C D :;EGF 4 9�H 4 H�I?:;8 5 8J segmentointi aiheuttaa ulkoista, sivutus sisäistäJ segmentoinnin yhteydessä muistin tiivistämistä
C , F!9�: 465 I?H�H�8�8!9!F .K.K*-0 F�F 3J rekisteri, jossa segmentti-/sivutaulun fyys. osoiteJ segmentoinnissa yhteenlaskua (yht.laskulaitteistoa)J sivutuksessa katenointia (helppoa)
KJKJ--I S2004 / Tiina Niklander; kalvot Auvo HäkkinenI S2004 / Tiina Niklander; kalvot Auvo Häkkinen 66 -- 1414
KJ-I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 6 - 27
< ��>= >�����������-�?�@�� < �A>B��-B��< ��>= >�����������-�?�@�� < �A>B��-B��
C � :�� H 4 H�F�9���� 5�� I�9�: � 3���� 5 8 2�� I 4�� 8 4 ��F 5�� I 5 8 4 9�:;8 4 : 5 :
C � 5�� I 5 8 4A4 :!F�H!9�� 3 H 2 F 5 8 2!3 8�8 3�� 4�3� 9�9 � : F 5 I���: � 2 F�: 2�2��2 H�:;8$F�:�� H
C � 5�� I 5 8 4 9�:;8 4 :!F!9���:;:�� � � :;8?EAH 4 : :;8�: 5 8��� 8 3�3 I?: F 5�5 8 � :;8 2 : 4�� 2 F 5�5 8� � � 4�5 : F 2 � 4A4�� � 5�� �!9�I���:����E�� 5 F 4 ��
C . : 2 F 5 :�I�9 � 5 I?I 3!4�0�� � � : F 465!4A4 �� : F F��
KJKJ--I S2004 / Tiina Niklander; kalvot Auvo HäkkinenI S2004 / Tiina Niklander; kalvot Auvo Häkkinen 66 -- 1515
KJ-I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 6 - 29
����� ���?��� ������ ���?��� �
hyvin vähän sis. pirst. (vain viimeinen sivu)
ei ulk. pirst.prosessi ja muisti jaettu sivuihin. Sij. vapaasti
Yks. sivutus
ulkoinen pirstoutuminen
ei sis. pirst.
par. muistin käyttöaste
Prosessi jaettu segmentteihin. Segm. sijoitettavissa vapaasti.
Yks. segmentointi
vähäinen sisäinen pirstoutuminen
ei juurikaan ulkoista pirstoutumista
Muistinvar. dyn., mutta kiinteänkokoisina osina. Prosessin vain yhdessä osassa.
Buddy System
ulkoinen pirstoutuminen,
tiivistämistarve
ei sis. pirst.
par. muistin käyttöaste
Muistia varataan tarpeen mukaan. Prosessin vain yhdessä osassa.
Dynaaminen par titio
sisäinen pirstoutuminen maksimi prosessimäärä rajoitettu
helppo toteutus
Muisti jaettu etukäteen osiin. Prosessin vain yhdessä osassa.
Kiinteä par titio
heikkoudetvahvuudetkuvausMenetelmä