Rok akademicki 2015/2016, Wykład nr 6 2/21 Plan wykładu nr 6 Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia niestacjonarne I stopnia Rok akademicki 2015/2016 Wykład nr 6 (16.04.2016) Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna System operacyjny definicje systemu operacyjnego Zarządzanie procesami definicja procesu, blok kontrolny procesu dwu- i pięciostanowy model procesu Zarządzanie dyskowymi operacjami we-wy metody przydziału pamięci dyskowej (alokacja ciągła, alokacja listowa, alokacja indeksowa) Rok akademicki 2015/2016, Wykład nr 6 3/21 Rok akademicki 2015/2016, Wykład nr 6 4/21 Systemy pamięci komputerowych Hierarchia pamięci Ze względu na położenie pamięci w stosunku do komputera wyróżniamy pamięć: procesora (rejestry) wewnętrzną (pamięć główna) zewnętrzną (pamięć pomocnicza - pamięci dyskowe i taśmowe) Istnieją wzajemne zależności pomiędzy parametrami pamięci: kosztem, pojemnością i czasem dostępu: mniejszy czas dostępu - większy koszt na bit większa pojemność - mniejszy koszt na bit większa pojemność - dłuższy czas dostępu Parametry charakteryzujące pamięć: pojemność - maksymalna liczba informacji jaką można przechowywać w danej pamięci czas dostępu - czas niezbędny do zrealizowania operacji odczytu lub zapisu czas cyklu pamięci - czas dostępu plus dodatkowy czas, który musi upłynąć zanim będzie mógł nastąpić kolejny dostęp szybkość przesyłania (transferu) - maksymalna liczba danych jakie można odczytać z pamięci lub zapisać do pamięci w jednostce czasu W systemach komputerowych nie stosuje się jednego typu pamięci, ale hierarchię pamięci Rozpatrując hierarchię od góry do dołu obserwujemy zjawiska: malejący koszt na bit rosnącą pojemność rosnący czas dostępu malejącą częstotliwość dostępu do pamięci przez procesor
Rok akademicki 2015/2016, Wykład nr 6 5/21 Rok akademicki 2015/2016, Wykład nr 6 6/21 Półprzewodnikowa pamięć główna Półprzewodnikowa pamięć główna RAM (Random Access Memory) - pamięć o dostępie swobodnym odczyt i zapis następuje za pomocą sygnałów elektrycznych pamięć ulotna - po odłączeniu zasilania dane są tracone DRAM: przechowuje dane podobnie jak kondensator ładunek elektryczny wymaga operacji odświeżania jest mniejsza, gęściej upakowana i tańsza niż pamięć statyczna stosowana jest do budowy głównej pamięci operacyjnej komputera ROM (ang. Read-Only Memory) - pamięć stała pamięć o dostępie swobodnym przeznaczona tylko do odczytu dane są zapisywane podczas procesu wytwarzania pamięć nieulotna PROM (ang. Programmable ROM) - programowalna pamięć ROM pamięć nieulotna, może być zapisywana tylko jeden raz zapis jest realizowany elektrycznie po wyprodukowaniu SRAM: przechowuje dane za pomocą przerzutnikowych konfiguracji bramek logicznych nie wymaga operacji odświeżania jest szybsza i droższa od pamięci dynamicznej stosowana jest do budowy pamięci podręcznej Rok akademicki 2015/2016, Wykład nr 6 7/21 Rok akademicki 2015/2016, Wykład nr 6 8/21 Półprzewodnikowa pamięć główna Pamięć podręczna Inne typy pamięci: EPROM - pamięć wielokrotnie programowalna, kasowanie następuje przez naświetlanie promieniami UV EEPROM - pamięć kasowana i programowana na drodze czysto elektrycznej Flash - rozwinięcie koncepcji pamięci EEPROM, możliwe kasowanie i programowanie bez wymontowywania pamięci z urządzenia, występuje w dwóch odmianach: NOR (Flash BIOS) NAND (pen drive, karty pamięci) Zastosowanie pamięci podręcznej ma na celu przyspieszenie dostępu procesora do pamięci głównej CPU Cache RAM CPU Cache RAM Zarządca magistrali Zarządca magistrali Look-through Look-aside
Rok akademicki 2015/2016, Wykład nr 6 9/21 Rok akademicki 2015/2016, Wykład nr 6 10/21 System operacyjny - definicja System operacyjny - definicja System operacyjny - jest to program sterujący wykonywaniem aplikacji i działający jako interfejs pomiędzy aplikacjami (użytkownikiem) a sprzętem komputerowym użytkownik końcowy nie jest zainteresowany sprzętem, interesują go tylko aplikacje (programy użytkowe) aplikacje są tworzone przez programistów za pomocą języków programowania System operacyjny - administrator zasobów - zarządza i przydziela zasoby systemu komputerowego oraz steruje wykonaniem programu zasób systemu - każdy element systemu, który może być przydzielony innej części systemu lub oprogramowaniu aplikacyjnemu do zasobów systemu zalicza się: czas procesora pamięć operacyjną urządzenia zewnętrzne Rok akademicki 2015/2016, Wykład nr 6 11/21 Rok akademicki 2015/2016, Wykład nr 6 12/21 Zarządzanie procesami Blok kontrolny procesu głównym zadaniem systemu operacyjnego jest zarządzanie procesami Definicja procesu: proces - program w trakcie wykonania proces - ciąg wykonań instrukcji wyznaczanych kolejnymi wartościami licznika rozkazów wynikających z wykonywanej procedury (programu) proces - jednostka, którą można przypisać procesorowi i wykonać Proces składa się z kilku elementów: kod programu dane potrzebne programowi (zmienne, przestrzeń robocza, bufory) kontekst wykonywanego programu (stan procesu) - dane wewnętrzne, dzięki którym system operacyjny może nadzorować proces i nim sterować struktura danych tworzona i zarządzana przez system operacyjny, a opisująca właściwości procesu identyfikator - unikatowy numer skojarzony z procesem, dzięki któremu można odróżnić go od innych procesów stan procesu: nowy, gotowy, uruchomiony, zablokowany, anulowany priorytet - niski, normalny, wysoki, czasu rzeczywistego licznik programu - adres kolejnego rozkazu w programie, który ma zostać wykonany wskaźniki pamięci - wskaźniki do kodu programu, danych skojarzonych z procesem, dodatkowych bloków pamięci dane kontekstowe - dane znajdujące się w rejestrach procesora, gdy proces jest wykonywany informacje na temat stanu żądań we-wy - informacje na temat urządzeń we-wy przypisanych do tego procesu
Rok akademicki 2015/2016, Wykład nr 6 13/21 Rok akademicki 2015/2016, Wykład nr 6 14/21 Dwustanowy model procesu Dwustanowy model procesu najprostszy model polega na tym, że w dowolnej chwili proces jest wykonywany przez procesor (uruchomiony) lub nie (nie uruchomiony) procesy, które nie są uruchomione czekają w kolejce na wykonanie Program przydzielający Wejście Proces nie uruchomiony Uruchomiony proces Wyjście Przerwa system operacyjny tworząc nowy proces, tworzy blok kontrolny procesu po czym wprowadza proces do systemu jako nie uruchomiony jeśli wykonywanie procesu zostało anulowane lub zakończone, to opuszcza on system, a program przydzielający wybiera kolejny proces z kolejki, który zostanie wykonany w pewnym momencie aktualnie wykonywany proces zostaje przerwany i program przydzielający wybiera inny proces do wykonania stan poprzednio uruchomionego procesu jest zmieniany z uruchomionego na nie uruchomiony Rok akademicki 2015/2016, Wykład nr 6 15/21 Rok akademicki 2015/2016, Wykład nr 6 16/21 Pięciostanowy model procesu Pięciostanowy model procesu w dwustanowym modelu procesu kolejka działa na zasadzie FIFO, a procesor wykonuje procesy cyklicznie z kolejki problem pojawia się w przypadku, gdy kolejny proces pobierany do wykonania z kolejki jest zablokowany, gdyż oczekuje na zakończenie operacji we-wy rozwiązaniem powyższego problemu jest podział procesów nieuruchomionych na gotowe do wykonania i zablokowane uruchomiony - proces aktualnie wykonywany gotowy - proces gotowy do wykonania przy najbliższej możliwej okazji zablokowany - proces oczekujący na zakończenie operacji we-wy nowy - proces, który właśnie został utworzony (ma utworzony blok kontrolny procesu, nie został jeszcze załadowany do pamięci), ale nie został jeszcze przyjęty do grupy procesów oczekujących na wykonanie anulowany - proces, który został wstrzymany lub anulowany z jakiegoś powodu
Rok akademicki 2015/2016, Wykład nr 6 17/21 Rok akademicki 2015/2016, Wykład nr 6 18/21 Pięciostanowy model procesu Przydział pamięci dyskowej - alokacja ciągła podział procesów nieuruchomionych na gotowe do wykonania i zablokowane wymaga zastosowania minimum dwóch kolejek każdy plik zajmuje ciąg kolejnych bloków na dysku plik zdefiniowany jest przez adres pierwszego bloku i ilość kolejnych zajmowanych bloków zalety: małe opóźnienia w transmisji danych, łatwy dostęp do dysku gdy pojawia się zdarzenie system operacyjny musi przejrzeć kolejkę szukając procesów, który związane są z danym zdarzeniem wady: trudność w znalezieniu miejsca na nowy plik w celu zapewnienia większej wydajności lepiej jest gdy dla każdego zdarzenia istnieje oddzielna kolejka Rok akademicki 2015/2016, Wykład nr 6 19/21 Rok akademicki 2015/2016, Wykład nr 6 20/21 Przydział pamięci dyskowej - alokacja listowa Przydział pamięci dyskowej - alokacja indeksowa każdy plik jest listą powiązanych ze sobą bloków dyskowych, które mogą znajdować się w dowolnym miejscu na dysku w katalogu dla każdego pliku zapisany jest wskaźnik do pierwszego i ostatniego bloku pliku każdy plik ma własny blok indeksowy, będący tablicą adresów bloków dyskowych w katalogu zapisany jest dla każdego pliku adres bloku indeksowego każdy blok zawiera wskaźnik do następnego bloku
Rok akademicki 2015/2016, Wykład nr 6 21/21 Koniec wykładu nr 6 Dziękuję za uwagę!