Advertisement
Hinski2

Untitled

Jun 1st, 2024
18
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.89 KB | None | 0 0
  1. # zad6
  2.  
  3. ---
  4.  
  5. #### do wytłumaczenia:
  6. * **translacja** - Translacja adresu to proces przekształcania adresu logicznego (wygenerowanego przez program) na adres fizyczny w pamięci RAM. Dokonuje się to za pomocą jednostki zarządzania pamięcią (MMU), która wykorzystuje tablice stron, aby zmapować adresy logiczne na fizyczne.
  7. * **wyjątek procesora** - Wyjątek procesora to zdarzenie, które przerywa normalne wykonanie programu z powodu błędu lub specjalnej sytuacji (np. dzielenie przez zero, próba dostępu do nieistniejącej pamięci). Gdy wystąpi wyjątek, procesor zapisuje aktualny stan programu (np. adres instrukcji), a następnie przechodzi do wykonywania specjalnej procedury obsługi wyjątku (ang. exception handler), która podejmuje odpowiednie działania naprawcze lub diagnostyczne. Po obsłużeniu wyjątku, program może być wznowiony lub zakończony, w zależności od rodzaju i powagi wyjątku.
  8. * **błąd strony (ang. page fault)** - Błąd strony to zdarzenie, które występuje, gdy program próbuje uzyskać dostęp do strony pamięci, która nie jest obecnie w pamięci RAM, co powoduje konieczność załadowania tej strony z pamięci masowej.
  9.  
  10. ---
  11.  
  12. #### cztery przypadki wykonania instrukcji «mov», dla których procesor zgłosi wyjątek błędu dostępu do pamięci.
  13.  
  14. 1. **Dostęp do nieistniejącej strony pamięci (page fault)**: Próbujemy uzyskać dostęp do strony, która nie jest załadowana do pamięci RAM. System operacyjny musi wtedy załadować brakującą stronę z dysku.
  15. 2. **Dostęp do strony bez uprawnień (protection fault)**: Próbujemy zapisać dane do strony pamięci, która jest oznaczona jako tylko do odczytu lub próbujemy odczytać/zapisać dane ze strony, do której nie mamy odpowiednich uprawnień.
  16. 3. **Dostęp do niezaadresowanej przestrzeni pamięci**: Próbujemy uzyskać dostęp do adresu, który nie jest zmapowany do żadnej fizycznej pamięci (np. odwołanie do pustego wskaźnika).
  17. 4. **Dostęp do nieprawidłowego adresu (segment fault)**: Próbujemy uzyskać dostęp do pamięci poza dozwolonym zakresem segmentu, co może się zdarzyć w systemach z segmentacją pamięci. Na przykład, odwołanie do adresu poza limitem segmentu danych.
  18. 5. **page fault** - w ramie nie znajduje się to co szukamy, pytamy SO czy jest to na dysku
  19.  
  20. wszystkie te przypadki poza ostatnim na pewno spowodują zakończenie programu z błędem
  21.  
  22. ---
  23.  
  24. Procedura obsługi błędu strony (page fault handler) odpowiada za załadowanie brakującej strony pamięci z dysku do RAM, aktualizację tablic stron oraz ponowne uruchomienie instrukcji, która spowodowała błąd strony.
  25. #### Przed procedurą:
  26. * Procesor generuje wyjątek błędu strony i przechodzi do trybu jądra.
  27. * Zapisuje stan programu i adres błędu.
  28. #### Po procedurze:
  29. * Aktualizacja tablic stron.
  30. * Przywrócenie stanu programu.
  31. * Ponowne uruchomienie instrukcji, która spowodowała błąd strony.
  32.  
  33.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement