Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Podstawy Informatyki (4)

Podobne prezentacje


Prezentacja na temat: "Podstawy Informatyki (4)"— Zapis prezentacji:

1 Podstawy Informatyki (4)
Dr Anna Kwiatkowska Instytut Informatyki

2 Najważniejsze parametry pamięci
Pojemność – określa ilość informacji, jaką można w niej przechowywać, mierzy się ją w jednostkach informacji (bity, bajty, słowa) Szybkość pracy – jest to parametr wskazujący na to jak często procesor lub inne urządzenie może z niej korzystać.

3 Parametry szybkości pamięci
czas dostępu – jest to czas, jaki upływa od momentu zażądania informacji z pamięci do momentu, w którym ta informacja ukaże się na wyjściu z pamięci czas cyklu – najkrótszy czas, jaki musi upłynąć pomiędzy dwoma żądaniami dostępu do pamięci szybkość transmisji – mierzy się liczbą bitów (bajtów), jaka można przesłać w jednostce czasu pomiędzy pamięcią a innym urządzeniem

4 Adresowanie pamięci SEGMENT : OFFSET
Rozróżniane są następujące rodzaje adresów: adres fizyczny – 20-bitowa liczba określająca położenie bajtu w pamięci adres logiczny – składa się z dwóch części: SEGMENT : OFFSET

5 Adresowanie pamięci SEGMENT jest adresem początku segmentu, gdzie segment jest to blok logiczny o długości nie większej niż 64 K adres fizyczny początku segmentu musi być podzielny przez 16 OFFSET (przesunięcie) jest to 16 bitowa liczba bez znaku, określająca przesunięcie względem początku segmentu

6 Adresowanie pamięci adres fizyczny - adres słowa pamięci fizycznej, pojawiający się na magistrali adresowej procesora w momencie odwoływania się do pamięci operacyjnej lub przestrzeni wejścia - wyjścia rejestr segmentowy –rejestr procesora stworzony do przechowywania adresu początkowego obszaru pamięci, w którym umieszczone są rozkazy, dane albo stos programu

7 Adres fizyczny ADRES FIZYCZNY = SEGMENT16 + OFFSET
w przypadku procesorów zgodnych z x86, w trybie rzeczywistym procesora adres fizyczny oblicza się mnożąc SEGMENT (zawartość rejestru segmentowego) razy 16 i dodając OFFSET, czyli adres w stosunku do początku segmentu ADRES FIZYCZNY = SEGMENT16 + OFFSET

8 Adresowanie pamięci ponieważ adresy są zapisywane szesnastkowo, korzystanie z tego schematu jest bardzo proste - wystarczy dopisać do wartości segmentu adresowego szesnastkową cyfrę "0" i zwiększyć ją o przesunięcie w lewo segmenty nie są rozłączne, zatem wiele różnych adresów logicznych może odwoływać się do tej samej komórki pamięci

9 Przykład Dane są dwa adresy logiczne: A001 : F00E oraz A40E : AF3E.
Który z nich jest większy? Adres1 Adres2 A 4 0 E 0 A + A F 3 E + F 0 0 E SĄ RÓWNE!! A F 0 1 E A F 0 1 E

10 Podział pamięci ze względu na szybkość
rejestrowa (zbiór wszystkich dostępnych rejestrów), pamięć o najszybszym dostępie, ale o najmniejszej pojemności operacyjna (mała pojemność, szybki dostęp) masowa (zwykle dyskowa) zewnętrzne (najważniejszą cechą jest możliwość wymiany nośnika)

11 ze względu na sposób dostępu do nośnika
pamięci z dostępem bezpośrednim (swobodnym) RAM (Read Access Memory) – możliwe wielokrotny zapis i odczyt niesekwencyjny ROM (Read Only Memory) – można raz zapisać i wielokrotnie odczytywać

12 ze względu na sposób dostępu do nośnika
pamięci z dostępem cyklicznym (pamięci dyskowe) –każda komórka pamięci jest dostępna tylko w pewnym określonym przez zegar momencie, który powtarza się okresowo pamięci masowe mogą być umieszczone: na twardym podłożu metalowym (hard disk) na podłożu elastycznym ( floppy disk)

13 Pamięć komputera Po wyłączeniu zasilania zapis informacji umieszczony w pamięci RAM ulega zniszczeniu, dlatego nazywa się ją pamięcią nietrwałą Pamięci dyskowe, oraz z dostępem sekwencyjnym przechowują informacje do momentu, aż użytkownik sam ją wykasuje, dlatego nazywa się pamięcią trwałą

14 System operacyjny UŻYTKOWNICY PROGRAMY UŻYTKOWE SYSTEM OPERACYJNY
KOMPUTER

15 System operacyjny (Operating System)
zespół programów wzajemnie ze sobą powiązanych tworzący środowisko pracy dla innych programów i systemów pierwszy po włączeniu zasilania ładowany jest do pamięci operacyjnej i znajduje się tam aż do wyłączenia komputera jest współbieżny z wszystkimi procesami, które obsługuje

16 System operacyjny składa się z części: wewnętrznej (rezydentnej)
zewnętrznej

17 Zadania i funkcje systemu operacyjnego
ulegały zmianie w zależności od stosowanego rodzaju przetwarzania w starszych typach było to przetwarzanie wsadowe użytkownik przygotowuje program i dane do niego na odpowiednim nośniku informacje te wprowadza się do komputera bez udziału użytkownika (przez operatora), po przetworzeniu użytkownik otrzymuje wyniki

18 W obecnych systemach stosuje się przetwarzanie interakcyjne, które polega na ustawicznej ingerencji użytkownika w proces przetwarzania System operacyjny jest dla użytkownika praktycznie niewidoczny, widzi on tylko interfejs do komunikowania się z nim

19 zarządzanie zbiorami danych
pamięcią pracą innych programów odpowiada również za dialog człowieka z komputerem – umożliwia wprowadzanie danych i poleceń do komputera oraz przesyła odpowiedzi na ekran lub inne urządzenie zewnętrzne

20 Pod względem sposobu komunikacji z użytkownikiem
systemy tekstowe komunikujące się za pomocą komend wydawanych z linii poleceń (DOS, Unix) systemy graficzne komunikujące się za pomocą graficznych okienek i symboli (ikon) (Windows)

21 Pod względem architektury
monolityczne o najprostszej strukturze i jednozadaniowe warstwowe o hierarchicznej strukturze poleceń systemowych i wielozadaniowe klient/serwer o bardzo rozbudowanej strukturze, systemy tego typu pełnią nadzór nad podrzędnymi systemami zainstalowanymi w poszczególnych komputerach sieci, natomiast aplikacje są postrzegane przez system jako “klienci” obsługiwani przez serwery

22 Zarządzanie pamięcią przydzielaniu zasobów pamięciowych uruchamianym procesom, odzyskiwaniu tych zasobów, gdy proces zakończy się utrzymywanie i udostępnianie informacji o stanie zasobów w odniesieniu do pamięci zewnętrznej (pomocniczej) systemy operacyjne odpowiadają, między innymi także za przydzielanie tej pamięci i wykorzystanie obszarów wolnych

23 Całą pamięć operacyjną dostępną w komputerze, tak jak ją widzi system operacyjny, nazywamy pamięcią fizyczną Posługując się adresami fizycznymi mamy dostęp do całej pamięci fizycznej Pamięć, taką jak ją widzi dany proces, nazywamy pamięcią logiczną

24 MMU Pamięć logiczna jest realizowana przez mechanizm, który:
sprawdza, czy używane przez proces adresy logiczne są poprawnymi adresami, tzn. czy odnoszą się do przydzielonej procesowi pamięci; w przypadku, gdy adres logiczny jest niepoprawny, zgłaszany jest błąd, tłumaczy adresy logiczne, na odpowiadające im adresy fizyczne. Mechanizm ten jest realizowany sprzętowo przez jednostkę zarządzania pamięcią (ang. memory management unit, w skrócie MMU).

25 Poniższy rysunek przedstawia schemat budowy MMU MMU zawiera dwa programowalne rejestry

26 Przydział pamięci jest dokonywany do momentu, gdy wszystkie procesy z kolejki dostaną odpowiednie obszary, lub gdy zabraknie wolnej pamięci i procesy muszą poczekać na jej zwolnienie Gdy jakiś proces zakończy się, pamięć jest zwalniania i jeśli graniczy ona z obszarem wolnym, wówczas jest dołączana do tego obszaru dając w wyniku jeden obszar większy

27 Strategie przydziału pamięci
pierwsza pasująca (First Fit) - system operacyjny przydziela pamięć z pierwszego wystarczająco dużego wolnego obszaru najlepiej pasująca (Best Fit)- system operacyjny wybiera najmniejszy z dostatecznie dużych obszarów najgorzej pasująca (Worst Fit) - system operacyjny wybiera do przydziału największy wystarczający obszar

28 Przykład

29 First Fit 90 60 150 60 90 150 P1 40 110 60 90 150 P1 40 110 P2 120 P3 60 30 30 P4 70 CZEKA!!!

30 Best Fit 90 60 150 60 90 150 P2 120 P3 60 P1 40 30 20 30 P4 70 czeka!!

31 Worst Fit 90 60 150 60 90 150 P1 40 P4 70 P3 60 30 110 40 P2 120 CZEKA!!!

32 Problemy przydziału pamięci
fragmentacja pamięci polegająca na przeplataniu się wolnych obszarów i zajętych dla dużej liczby zakończonych procesów potrzebujących niewiele pamięci operacyjnej fragmentacja może być znaczna, co utrudnia wykonywanie procesów potrzebujących większych obszarów problemy związane z fragmentacją niektóre systemy operacyjne rozwiązują poprzez stronicowanie pozwalające na przydzielanie procesowi kilku obszarów

33 Stronicowanie Stronicowanie umożliwia przydział wielu bloków pamięci jednemu procesowi i jest stosowane w wielu systemach operacyjnych Ogólna zasada stronicowania polega na podzieleniu pamięci fizycznej, tak operacyjnej jak i pomocniczej, na stałej długości bloki tzw. ramki

34 Stronicowanie Pamięć logiczna (procesu) jest także podzielona na bloki tzw. strony o identycznym rozmiarze jak rozmiar ramki Większość systemów operacyjnych dla każdego procesu tworzy tablicę stron, w której przechowywane są informacje dotyczące kolejnych stron i ramek zawierających te strony

35 Pamięć logiczna(proces)
strona 0 strona 1 strona 2 strona 3 strona 4 Tablica stron Nr strony 1 2 3 4 Nr ramki 5 Pamięć fizyczna (system) Nr ramki 1 2 3 4 5 strona str 3 str 1 str 0 str4 str2

36

37 adres_pamięci_fizycznej = d  n + p
Stronicowanie Tablica stron jest wykorzystywana w określaniu adresów pamięci fizycznej w czasie działania procesu Adres pamięci fizycznej jest określany wg wzoru: adres_pamięci_fizycznej = d  n + p gdzie: d – długość ramki (w określonych jednostkach pamięci) n – numer ramki p – odległość na stronie

38 Przykład Określić adresy pamięci fizycznej dla danych adresów logicznych i danego modelu rozmieszczenia stron przedstawionego w tabeli Długość ramki (strony) wynosi 8B

39 Tablica stron Dane adresy pamięci logicznej: 7, 35, 40 Nr strony 1 2 3
1 2 3 4 5 Nr ramki 10 8 Dane adresy pamięci logicznej: 7, 35, 40

40 Rozwiązanie adres_pamięci_fizycznej = d  n + p
Adres logiczny A Nr strony [A/8] Odległość na stronie - p Nr ramki n Adres fizyczny 7 10 87 35 4 3 8 67 40 5 2 16

41 Segmentacja Użytkownik widzi pamięć swojego programu jako jeden ciągły obszar (pamięć logiczna) Pamięć fizyczna przeznaczona dla użytkownika może się składać z wielu różnie rozmieszczonych ramek widocznych dla systemu operacyjnego Użytkownik posługuje się innym schematem zależnym od stosowanego narzędzia programistycznego

42 Segmentacja Pamięć widziana przez użytkownika składa się z segmentów
Segmentacja jest to schemat zarządzania pamięcią widziany przez użytkownika W segmentacji, podobnie jak w stronicowaniu, występuje tablica segmentów Implementacja tablicy segmentów jest bardziej złożona niż implementacja tablicy stron i jej model zależy od narzędzia programistycznego (Turbo Pascal, C++, i in.)

43 Pamięć wirtualna Wiele systemów operacyjnych stosuje tzw. pamięć wirtualną umożliwiającą wykonywanie procesów nie mieszczących się w pamięci operacyjnej Jest ona bardzo często implementowana w postaci stronicowania na żądanie Idea tego sposobu zarządzania pamięcią jest podobna do stronicowania, ale jej implementacja jest bardziej złożona, wykorzystuje dostępną pamięć pomocniczą i zależy od systemu operacyjnego

44 Pamięć dzielona W systemach wieloprocesowych (np. LINUX) występuje pojęcie pamięci dzielonej umożliwiającej przekazywanie danych między procesami Pamięć dzielona jest dostępna dla wielu procesów i może być zlokalizowana i w pamięci operacyjnej i w pamięci pomocniczej (zewnętrznej) System operacyjny z pamięcią dzieloną posiada specjalne funkcje do jej obsługi

45 ZARZĄDZANIE PROCESAMI

46 Procesy Procesem jest program umieszczony w pamięci komputera i wykonywany pod nadzorem systemu operacyjnego Proces jest ciągiem czynności, zaś program jest ciągiem instrukcji Sam program nie jest procesem, gdyż jest obiektem pasywnym Proces jest obiektem aktywnym z licznikiem rozkazów wskazującym następny rozkaz do wykonania oraz ze zbiorem przydzielonych mu zasobów

47 Zarządzanie procesami
Do wypełnienia swojego zadania proces potrzebuje pewnych zasobów, takich, jak czas procesora, pamięć, pliki i urządzenia we/wy Zasoby są przydzielane procesowi w chwili jego tworzenia lub podczas późniejszego działania Wykonanie procesu musi przebiegać w sposób sekwencyjny, co oznacza, że w dowolnej chwili na zamówienie danego procesu może być wykonywany co najwyżej jeden rozkaz kodu programu

48 Zarządzanie procesami
System operacyjny odpowiada za następujące działania dotyczące zarządzania procesami: tworzenie i usuwanie zarówno procesów użytkownika, jak i procesów systemowych planowanie porządku wykonywania procesów mechanizmy synchronizacji komunikacji usuwanie zakleszczeń procesów

49 Stany procesów Wykonujący się proces zmienia swój stan
Każdy proces może znajdować się w jednym z następujących stanów: nowy (proces został utworzony) aktywny (są wykonywane instrukcje programu) oczekiwanie (proces czeka na jakieś zdarzenie) gotowy (proces czeka na przydział procesora) zakończony (proces zakończył działanie)

50 Blok kontrolny procesu
Każdy proces jest reprezentowany w systemie operacyjnym przez blok kontrolny procesu (Process Control Block – PCB), nazywany również blokiem kontrolnym zadania Zawiera on wiele informacji związanych z danym procesem Blok kontrolny procesu służy po prostu jako magazyn przechowujący wszelkie informacje dla systemu umożliwiające zarządzanie procesem

51 PCB stan procesu licznik rozkazów ( wskazuje adres następnego rozkazu do wykonania w procesie) rejestry procesora – informacje dotyczące tych rejestrów i licznika rozkazów muszą być przechowywane podczas przerwań, aby proces mógł być później kontynuowany informacje o planowaniu przydziału procesora (np. priorytet procesu) informacje o zarządzaniu pamięcią informacje do rozliczeń (np. ilość zużytego czasu procesora) informacje o stanie we/wy ( np. o urządzeniach we/wy przydzielonych do procesu, wykaz otwartych plików).

52 Przydział czasu procesora
Planowanie przydziału czasu procesora jest podstawą działania wieloprogramowych systemów operacyjnych Celem wieloprogramowania jest stałe utrzymywanie w działaniu pewnej liczby procesów

53 Przydział procesora może odbywać się w następujących sytuacjach:
proces przeszedł od stanu aktywności do stanu czekania (np. na we/wy), proces przeszedł od stanu aktywności do stanu gotowości (np. wskutek przerwania), proces przeszedł od stanu czekania do stanu gotowości (np. po zakończeniu operacji we/wy), proces kończy działanie

54 Jeżeli planowanie odbywa się tylko w sytuacjach a) i d), to mówimy o planowaniu bez wywłaszczeń
W tych sytuacjach proces, który otrzyma procesor zachowuje go aż do swojego zakończenia lub przejścia do stanu czekania Ta metoda planowania jest używana w środowisku Microsoft Windows W przypadku, gdy planowanie odbywa się w sytuacjach b) i c), mówimy o planowaniu wywłaszczającym

55 Metody szeregowania i przydziału zasobów
Metoda FCFS „pierwszy zgłoszony, pierwszy obsłużony” (First Come, First Served) W metodzie tej procesy wykonywane są w kolejności przybywania Łatwą implementację tego algorytmu uzyskuje się za pomocą kolejki FIFO (First Input First Output)

56 1 2 3 4 5 PROCESOR

57 1 2 3 4 5 1 kwant PROCESOR

58 1 1 kwant PROCESOR

59 1 2 3 4 5 1 kwant PROCESOR

60 1 2 3 4 5 1 kwant PROCESOR

61 1 2 3 4 5 1 kwant PROCESOR

62 Metody szeregowania i przydziału zasobów
Metoda SJF „najkrótsze zadanie najpierw” (Shortest Job First) Realizując tą metodę procesor przydziela sie temu procesowi, który ma najkrótszą fazę zapotrzebowania W przypadku, gdy fazy są równe, stosuje się metodę FCFS

63 Metody szeregowania i przydziału zasobów
Szeregowanie priorytetowe Z każdym procesem jest związany priorytet, który jest liczbą naturalną W tej metodzie procesor przydziela się w pierwszej kolejności procesowi z najwyższym priorytetem

64 Metody szeregowania i przydziału zasobów
Metoda szeregowania karuzelowego (Round Robin ) Istotą tej metody jest podzielenie czasu procesora na kwanty jeżeli po zakończeniu kwantu czasu wykonywanego procesu nie zakończono, to jest on przerywany i ustawiany na koniec kolejki a do wykonania jest pobierany następny proces według algorytmu FCFS


Pobierz ppt "Podstawy Informatyki (4)"

Podobne prezentacje


Reklamy Google