Podstawy Informatyki (4)

Slides:



Advertisements
Podobne prezentacje
Wirtualizacja zasobów w systemach operacyjnych
Advertisements

Wykonał : Marcin Sparniuk
SYSTEMY OPERACYJNE ·       SO : zestaw programów zarządzających zasobami komputera i wspomagających jego użytkowanie zarządzanie zasobami.
SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE
przetwarzaniu informacji
SYSTEMY OPERACYJNE ZARZĄDZANIE PAMIĘCIĄ OPERACYJNĄ
Sieci komputerowe.
BUDOWA WEWNĘTRZNA KOMPUTERA
ELEMENTY SKŁADOWE JEDNOSTKI CENTRALNEJ
Wykład nr 1: Wprowadzenie. Pojęcia podstawowe
Systemy operacyjne Wykład nr 4: Procesy Piotr Bilski.
Wykład nr 10: Pamięć wirtualna
Wykład nr 2: Struktura systemu komputerowego a system operacyjny
Wykład nr 6: Planowanie przydziału procesora
Systemy operacyjne.
Magistrala & mostki PN/PD
Schemat blokowy komputera
Systemy operacyjne Bibliografia:
Komputer, procesor, rozkaz.
Temat nr 10: System przerwań
Autorzy: Łukasz Sztandarski Bartłomiej Granat
Wstęp do interpretacji algorytmów
ZARZĄDZANIE PROCESAMI
Zapis informacji Dr Anna Kwiatkowska.
Wieloprocesowy system operacyjny dla komputerów ATARI XL/XE
Budowa Komputera.
Systemy operacyjne i sieci komputerowe
ZESTAW KOMPUTEROWY.
Układy wejścia-wyjścia
Komputer a system komputerowy
Magazyny pamięci.
Opracowanie: Maria Wąsik
Systemy operacyjne.
RODZAJE TRANSMISJI PRZESYŁANIE INFORMACJI W MODELU WARSTWOWYM
Zasada działania komputera
Budowa systemu komputerowego
Urządzenia wewnętrzne komputera
Autor: Justyna Radomska
Budowa komputera.
SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE
Etapy pracy biosu.
Systemy operacyjne. Komputer aby mógł realizować zadania oraz aby wszystkie urządzenia w systemie komputerowym mogły działać poprawnie, musi być wyposażony.
Mikroprocesory.
Mikroprocesory mgr inż. Sylwia Glińska.
Przerwanie ang. interrupt.
Koncepcja procesu Zadanie i proces. Definicja procesu Process – to program w trakcie wykonywania; wykonanie procesu musi przebiegać w sposób sekwencyjny.
Pamięć komputerowa S t r u k t u r a p a m i ę c i.
Nośniki informacji i akcesoria komputerowe
POŚREDNIK Jak reprezentowana jest informacja w komputerze? liczby – komputer został wymyślony jako zaawansowane urządzenie służące do wykonywania.
Architektura PC.
Elementy zestawu komputerowego
Wykład 7 Synchronizacja procesów i wątków
W ą t e k (lekki proces) thread.
Algorytmy przydziału pamięci - ćwiczenia
Systemy rozproszone  Rozdzielenie obliczeń między wiele fizycznych procesorów.  Systemy luźno powiązane – każdy procesor ma lokalną pamięć; procesory.
ALGORYTMY Co to jest algorytm ? Cechy algorytmu Budowa algorytmów
Budowa wewnętrzna KOMPUTERA
System plików.
Procesor, pamięć, przerwania, WE/WY, …
Pamięć RAM Pamięć RAM.
Architektury procesorów rdzeniowych mikrokontrolerów.
Pamięć SRAM.
Procesy, wątki Program a proces Proces: Przestrzeń adresowa, kod, dane, stos (część pamięci do przechowania zmiennych lokalnych i niektórych adresów) Otwarte.
Struktura systemu operacyjnego
Wstęp do interpretacji algorytmów
Model warstwowy ISO-OSI
BUDOWA WEWNĘTRZNA KOMPUTERA
Systemy operacyjne - Budowa systemu komputerowego i jego zadania
Tryby adresowania i formaty rozkazów mikroprocesora
Schemat blokowy komputera
Zapis prezentacji:

Podstawy Informatyki (4) Dr Anna Kwiatkowska Instytut Informatyki

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ć.

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

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

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

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

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

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

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 0 0 1 0 + A F 3 E + F 0 0 E SĄ RÓWNE!! A F 0 1 E A F 0 1 E

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)

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ć

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)

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łą

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

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

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

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

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

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

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)

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

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

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ą

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).

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

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

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

Przykład

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!!!

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

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

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

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

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

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

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

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

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

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

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

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.)

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

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

ZARZĄDZANIE PROCESAMI

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

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

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

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)

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

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).

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

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

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

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)

1 2 3 4 5 PROCESOR

1 2 3 4 5 1 kwant PROCESOR

1 1 kwant PROCESOR

1 2 3 4 5 1 kwant PROCESOR

1 2 3 4 5 1 kwant PROCESOR

1 2 3 4 5 1 kwant PROCESOR

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

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

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