stallings, luku 7...mmu muuntaa sen fyysiseksi osoitteeksi kanta ja rajarekisterit partitioihin...

15
KJ KJ-I S2004 / Tiina Niklander; kalvot Auvo Häkkinen I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 6-1 KJ-I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 6-1 Stallings, Stallings, Luku Luku 7 KJ-I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 6-2

Upload: others

Post on 22-Apr-2020

9 views

Category:

Documents


0 download

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ä