Sciaga 2 - Architektura, szkola, architektura komputerow


Pamięci i ich własności:

Wewnętrzne: - położenie: wew. i na zewn. proca, wew. i na zewn. kompa, pamięć dyskowa, taśmowa. - pojemność : ilość możliwych słów które się zmieszczą w pamięci i ich rozmiar, dla pamięci ROM rozmiar wynosi: 212 * 4 28 * 8 24 * 10 pierwsza z wartości to : ilość komórek druga: wielkość pojedynczej komórki w bitach [ rysunek przedstawiający pamięć ROM ] 4 bity na wejściu , 10 bitów na wyjściu, 4bity do zaadresowania 16 komórek pamięci 24 * 10 - 4 bity do zaadresowania, 10 bitów na wyjściu - jednostka transferu : słowo [dla ROM] w przypadku HDD blok - sposób dostępu: sekwencyjny dla HDD, słowo po słowie, dla pamięci ROM bezpośredni w sposób skojarzeniowy [odnajdywanie odbywa się na podstawie cechy i informacji, zawartej w komórce] - rodzaj fizyczny pamięci : półprzewodnikowe optyczne, magnetyczne - własności fizyczne : [ulotna, nietrwała] - wymazywalna lub niewymazywalna [mechanicznie, optycznie, elektrycznie] - organizacja pamięci : określa ile komórek znajduje się w pamięci, ile bitów ma jedna komórka

SPOSÓB DOSTĘPU DO JEDNOSTEK DANYCH: Dostęp sekwencyjny

Do rekordów dostęp możliwy jest w określonej sekwencji liniowej a do wydzielenia danej jednostki informacji wykorzystywane są informacje o adresie

Czas dostępu sekwencyjnego znajduje się w szerokich granicach i różni się znacznie, definiuje go zaś typ pamięci. Dostęp bezpośredni: Zapis i odczyt wykonywane są według tego samego mechanizmu, jednak poszczególne bloki lub rekordy mają unikalny adres oparty na lokacji fizycznej. Dostęp odbywa się na zasadzie bezpośredniego osiągnięcia bliskiego otoczenia danego rekordu, po którym następuje sekwencyjne poszukiwanie [zliczanie kolejnych komórek lub oczekiwanie w celu osiągnięcia lokacji fizycznej].

Czas dostępu jest zmienny chociażby patrząc na pamięć dyskową.

Dostęp swobodny

Każda adresowalna lokacja w pamięci ma unikatowy fizycznie wbudowany mechanizm adresowania, czas dostępu jest stały, bowiem dowolna lokacja wybierana jest swobodnie, np. w pamięci głównej lub pamięci ROM.

Dostęp skojarzeniowy

Może polegać na porównywaniu zgodności wybranych bitów w słowie dla wszystkich słów jednocześnie, słowo jest wyprowadzane z pamięci na podstawie części swojej zawartości rzadszym mechanizmem jest wyprowadzanie słowa z pamięci na podstawie pełnego adresu.

Np. w pamięci podręcznej :

W przypadku pamięci najważniejszymi cechami dla użytkownika jest pojemność i wydajność

Miarą wydajności są 3 parametry: Czas dostępu : dla pamięci o dostępie swobodnym jest to czas niezbędny do zrealizowania operacji odczytu lub zapisu. - Czas cyklu pamięci : na który składają się czas dostępu + dodatkowy czas, który musi upłynąć zanim może zostać zrealizowany kolejny dostęp, związany jest on z koniecznością odczekania chwili czasu przeznaczonej na ustabilizowanie sygnału prądowego - Prędkość transferu : szybkość z jaką dane mogą być wypro/wprowadzane do jednostki pamięci. Szybkość transferu to odwrotność czasu dostępu 1/czas dostępu = 1/s

HIERARCHIA PAMIĘCI

Malunek nieszczęsnej piramidy: 1)Rejestry 2)Pamięć podręczna 3)Pamięć główna 4)Pamięć dyskowa podręczna 5)Pamięć dyskowa 6)Pamięć taśmowa, dyski optyczne

Rejestr : pamięć zawierająca jedno słowo

Pamięć główna : materiał półprzewodnikowy, o dostępie swobodnym RAM Radnom Access Memory i ROM Read Only Memoy

Rodzaj pamięci

Kategoria

Wymazywanie

Zapis

Ulotność

RAM

Odczyt | zapis

Na poziomie bajtu, elektryczne

Elektr

Ulotna

ROM [stała]

Odczyt

-

W trakcie produkcji maski

Nieulotna

PROM

Odczyt

-

Nieulotna

PROM [EPROM]

Odczyt

Światłem UV, na poziomie mikroukładu

Elektr

Nieulotna

PROM

[EPROM]

Odczyt

Elektrycznie, na poziomie bajtu

[zawartości jednej komórki]

elektr

Nieulotna

Pamięci półprzewodnikowe o dostępie swobodnym

W RAM'ie znika zasilanie → znikają dane. Kostki RAMU mogą być zbudowane z przerzutników mówi się wówczas o RAM'ie statycznym, lub zbudowany z matryc kondensatorów wtedy mamy do czynienia z RAM'em dynamicznym. Cechą charakterystyczna dynamicznego ramu jest to że musi on być okresowo odświeżany, poprzez doładowywanie go impulsami napięcia.

Dynamiczna komórka zbudowana z kondensatora i tranzystora, który włącza lub wyłącza dostęp prądu, dzięki takiemu rozwiązaniu są one gęściej upakowane w stosunku do pamięci statycznych, a przez to tańsze, przez co możemy sobie pozwolić na większe pojemności pamięci. W przypadku dużych pojemności pamięci koszty odświeżania nie grają roli, stąd też w dużych pamięciach chętniej stosuje się ramy dynamiczne. Należy pamiętać jednak o tym, że ramy statyczne są szybsze, dlaczego ? otóż przełączenie przerzutnika odbywa się w krótszym czasie, niż rozładowanie kondensatora, dużą wagę odgrywa również napięcie jakim są ładowane kondensatory → im mniejsze napięci na kondensatorze tym szybsze jego opróżnienie. Z tego powodu preferuje się niskonapięciowe układy pamięciowe.

Zastosowanie ROM : Mikroprogramowanie - W programach bibliotecznych w celu zapamiętania określonych wyników funkcji - Do wszelakich tablic funkcji

Przy wytwarzaniu ROM'ów umieszczeniu danych towarzyszy znaczny koszt stały niezależny od liczności partii ROMu. Popełnienie błędu dla jednego bitu powoduje kasację całej partii pamięci, PROMY [romy programowalne] wykorzystuje się wszędzie tam gdzie potrzebna jest niewielka ilość pamięci.

Pamięci EPROM oraz EEPROM - wykorzystywane są głównie do odczytu, w EPROMIE, zapis odbywa się elektrycznie ale wymazywanie światłem UV zajmuje bagatela 20min ? [skąd te dane] !sic. Zawartość EPROMU może być zmieniana wiele razy, pamięci tego typu są droższe od PROMÓW.

EEPROMY - w pamięciach tego typu informacje można zapisywać bez konieczności wymazywania poprzedniej zawartości, należy pamiętać jednak o tym że aktualizowany może być jedynie BAJT lub BIT adresowalny [ jedno słowo albo JEDEN BIT tego słowa]. Zapis trwa kilkaset mikrosekund na bajt i jest procesem dłuższym niż odczyt. Elektryczna aktualizacja danych powoduje, że jest to pamięć wygodniejsza od EPROMU, ale jest droższa i rzadziej upakowana. W tego typu pamięciach wykorzystuje się około jednego tranzystora na bit.

ORGANIZACJA RAMU DYNAMICZNEGO [DRAM 4M*4]

0x01 graphic

Pamięć podręczna : szybka i tania pamięć, której rolą jest łączenie pamięci głównej i procesora. Przechowuje ona kopię danych z pamięci głównej, przy czym proces pobrania słowa z pamięci głównej poprzedzony jest sprawdzeniem czy dane słowo nie znajduje się już w pamięci podręcznej, jeśli słowo znajduje się jedynie w pamięci głównej, kopiowane jest do pamięci podręcznej aby następnie mogło zostać wykorzystane przez procesor.

OPERACJA ODCZYTU Z PAMIĘCI PODRĘCZNEJ - Po osiągnięciu dostatecznego stopnia scalenia układów półprzewodnikowych otworzyła się możliwość umieszczania pamięci podręcznej w chipie procesora, co spowodowało, że czas osiągnięcia dostępu do danej lokacji uległ znacznemu skróceniu, oraz zwolniony został dostęp do magistrali systemowej. Pamięć poziomu pierwszego - Pamięć podręczna. Pamięć poziomu drugiego - pamięć na zewn. Proca. Stosowanie obu rodzajów pamięci poprawiło dość znacznie wydajność proca. Pamięć podręczna - jest to pamięć, która może przechowywać rozkazy oraz dane, występuje w superskalarnych (: pentiumach i powerPC'tach oraz maszynach potokowych ?? Organizowanie pamięci jako pamięć jednolitą a nie rozdzieloną ma tę zaletę, że tylko jedna musi być wdrożona i zaprojektowana ??

PAMIĘCI ZEWNĘTRZNE: Dysk magnetyczny : płyta [dysk z metalu lub plastyku] pokryty materiałem magnetycznym. Dane są zapisywane i odczytywane przy pomocy cewki zwanej popularnie głowicą. Dysk może wykonywać ruch posuwisty bądź obrotowy. Jest podzielony na ścieżki, zaś ścieżki na sektory, gęstość upakowania na każdej ścieżce jest różna, najgęściej jest bliżej środka talerza. Dane na dysku są przechowywane w blokach słów, bloki na ścieżce nazywane są sektorami, jest ich od 10 do 100 na ścieżkę \:. Sektory są oddzielone przerwami, formatowanie dysku odbywa się za pomocą dodatkowych specjalnych danych, dostępnych dla napędu dysku i niedostępnych dla użytkownika.

Własności systemów dyskowych : Ruch głowicy : głowica jedna na ścieżkę lub jedna na cały dysk hmm …. - Wymienność dysku : wymienny albo dla odmiany niewymienny - Wykorzystanie stron : jedno / dwustronny - Liczba hdd : jeden / wiele

Mechanizm działania głowicy : kontaktowy, ustalona przerwa [winchester - przerwa aerodynamiczna]

HDD jest zamkniętym zespołem napędowym, głowica wykonana jest w postaci paska folii, która leży na dysku jeśli się on nie obraca, jeśli zaś talerze wykonują ruch obrotowy, ciśnienie powietrza [którego w środku brak ze względu na hermetyczność dysku] powoduje poniesienie się folii nad talerz. Talerze obracają się ze stała prędkością obrotową, a stosowanie węższych głowic, czyli gęstszego zapisu umożliwia zwiększanie pojemności dysku.

RAID - Redundant Array of Independent Discs [nadmiarowa macierz niezależnych dysków]

Opracowano ją, ponieważ wydajność pamięci pomocniczych takich jak pamięci dyskowe, znacząco odbiegała od szybkości pamięci stosowanych w procesorach. Dzięki wykorzystaniu nadmiarowości istnieje możliwość równoległego odczytu danych z dysków. Opracowano znormalizowany schemat dla pamięci dyskowych, składający się z 5 poziomów RAID 0-5, o różnej architekturze dopasowanej do różnych celów i dla odmiennych priorytetów.

Cechy charakterystyczne macierzy RAIDOWYCH : Zespół fizycznie oddzielnych od siebie dysków jest widziany przez OS jako pojedynczy napęd magnetyczny - Dane są rozproszone na różnych dyskach tworząc tablicę - Nadmiarowość jest wykorzystywana do określenia parzystości bitów w słowie, co poprawia pewność przesyłu danych - Dawniej strategia Raid'u polegała na zastąpieniu dysku większego kilkoma mniejszymi.

Pamięci optyczne : wprowadzone zostały w 83 roku naszej ery, jako cyfrowy nośnik na płytach CD. Można na nich zapisać 80 min danych na jednej stronie. Wśród nich są 3 rodzaje nośników: Niewymazywalna dysk CD-R 12cm średnicy, CD-ROM pamięć niewymazywalna do zapisu danych, DV - cyfrowy dysk z technologią zagęszczania informacji, WORM - umożliwia jednokrotny zapis i wielokrotny odczyt, zapis jest operacją łatwiejszą do przeprowadzenia niż na chromie 12cm 1GB, Dysk optyczny wymazywalny : 8-12 cm umożliwia jak sama nazwa wskazuje zapis i odczyt danych

TECHNOLOGIA

Technologia podobna do CD [pewnie chodzi o stacjonarne odtwarzacze nie mam pojęcia], różnica polega na tym, że odtwarzacze CD-ROM mają podzespoły korekcyjne dla zwiększenia pewności transferu danych z dysku do komputera. Płyta CD wykonana jest z żywicy poliwęglanowej i pokryta warstwą dobrze odbijającą światło np. aluminiową.

Dane cyfrowe nanoszone są w postaci małych wgłębień na warstwie odbijającej, po raz pierwszy robi to laser dużej mocy dokonujący zapisu, odczyt natomiast odbywa się za pomocą lasera o małej mocy. Światło przenika przez przezroczyste poszycie i we wgłębieniach zmienia natężenie, które czujnik fotooptyczny zamienia na ciąg 0 i 1. Ścieżki bliżej środka zapisywane są gęściej, dane są umieszczone równomiernie na całej powierzchni zapisu, przez co odczyt musi być sterowany płynnie, tzn płyta w czytniku kręci się z różną prędkością obrotową w celu utrzymania stałego strumienia danych.

Odległość między ścieżkami wynosi 1,6 mikrometra.

Ścieżki tworzą spiralę o ilości 20,3 km zwojów, zaś ich długość wynosi 6km. Prędkość liniowa podczas odczytu dochodzi do 12 m/s.

Dane odczytywane są z prędkością 176,4 kb/s.

Nośnik optyczny podobnie jak hdd posiada 3 zalety: Może być masowo powielany, Lżejszy, nadaje się więc doskonale do wygodnej archiwizacji danych , Jest pojemniejszy , [pewnie od dyskietki]. WADY: Nie może być aktualizowany, Czas dostępu do danych jest wiele dłuższy niż do dysku magnetycznego, w tym przypadku ~ 0,5s

Wymazywalny dysk optyczny CDROM

Oparty na systemie magnetooptycznym, zapis polega na odwracaniu pola magnetycznego na małej powierzchni dysku pokrytego materiałem magnetycznym. Wiązka laserowa nagrzewa określone miejsce na dysku, aż pole magnetyczne zmieni kierunek w tym miejscu. Polaryzacja może być zmieniana wielokrotnie. Odczyt odbywa się poprzez wykrywanie kierunku namagnesowania przez spolaryzowane światło laserowe. Zalety : Można wykorzystywać wielokrotnie , Jakże duża pojemność uh, Przenośność [chyba ze względu na mała masę nośnika], Są bardziej trwałe i niezawodne od dysków magnetycznych i lżejsze hmm

Taśma magnetyczna : nośnikiem danych jest elastyczna taśma wylarowa, pokryta tlenkiem magnetycznym. Struktura złożona z niewielkiej liczby ścieżek 9-18-36, dane na niej są zapisywane w postaci bloków zwanych rekordami fizycznymi, oddzielonych przerwami rekordowymi. Dostęp do danych następuje w sposób sekwencyjny. Taśma znajduje się w ruchu tylko podczas odczytu / zapisu.

Taśma magnetyczna jest najwolniejszym typem pamięci, ale zarazem najtańszym.

Urządzenia wejścia / wyjścia :

Moduły in | out są odpowiedzialne za sterowanie i komunikację z urządzeniami zewnętrznymi oraz wymianę danych pomiędzy nimi a pamięciami zewnętrznymi i wewnętrznymi. Urządzenia te muszą mieć interfejs wewnętrzny do komunikacji z procesorem oraz zewnętrzny do posługiwania się urządzeniami zewnętrznymi. Moduły In | Out w szczególności zajmują się : Sterowaniem wewn. i zewn., Taktowaniem [urządzeniami zegarowymi], Komunikacją procesora z urządzeniami zewn., Buforowaniem danych, Wykrywaniem błędów i ich korygowaniem

Korekcja ECC - sprawdzanie parzystości danych, wytłumaczone na przykładzie : 01101110 [0] 01101110 [1] liczba w nawiasie określa liczbę jedynek, dla zera liczba jedynek jest nieparzysta dla jedynki parzysta.

EX. Transfer danych z zewnątrz do proca: 1.Etap - procesor żąda od modułu wejścia wyjścia sprawdzenia stanu dołączanego urządzenia, 2.Moduł wejścia wyjścia udziela odpowiedzi [ o gotowości lub jej braku], 3.Jeżeli urządzenie jest gotowe do transmisji danych, procesor zgłasza zapotrzebowanie na przesłanie danych, 4.Moduł wejścia wyjścia otrzymuje jednostkę danych z urządzenia zewnętrznego [bajt], 5.Dane są przenoszone z modułu wejścia wyjścia do procesora [do jego pamięci wewnętrznej]. Każde urządzenie wejścia wyjścia ma swój adres, moduł wejścia wyjścia rozpoznaje te unikatowe adresy. Podstawowym zadaniem modułu wejścia wyjścia jest komunikacja i buforowanie danych. Szybkość transferu danych z lub do urządzenia zewnętrznego jest o rzędy mniejsza niż szybkość komunikacji procesora z pamięciami. Stąd też moduł wejścia wyjścia musi dostosować prędkość przesyłu i czasy transmisji danych do prędkości pracy urządzeń peryferyjnych.

Dodatkowym i jakże ważnym zadaniem urządzeń wejścia wyjścia jest informowanie procesora o uszkodzeniach mechanicznych i elektronicznych oraz defektach urządzeń zewnętrznych.

ZARZĄDZANIE PAMIĘCIĄ - zadanie polegające na podziale pamięci głównej między programy użytkowe i program operacyjny [OS]. Podczas wykonywania programu zdecydowaną większość czasu zajmuje transferowanie danych z i do pamięci. W związku z marnotrawstwem czasowym przez większość czasu procesor pozostaje bezczynny. Powiększanie ilości pamięci nie jest korzystne ze względu na jej cenę, a także ze względów psychologicznych, programiści bowiem mogąc sobie pozwolić na wykorzystanie coraz większych zasobów pamięci pisaliby programy nie zoptymalizowane pod względem obciążania pamięci. W związku z tym w celu zmniejszenia transferu danych pojawiają się większe procesy a nie większa ich liczba przy tej samej pojemności.

[SWAPPING] Wymiana - długa kolejka zapotrzebowania na procesy jest zwykle przechowywana na dysku, załóżmy, że żaden z tych procesów nie znajduje się w stanie gotowości, proc aby nie być bezczynnym przekazuje jeden z tych procesów na dysk do kolejki pośredniej. Następnie OS, pobiera inny proces z kolejki długookresowej lub pośredniej i rozpoczyna jego realizację. Dyski są przeważnie najszybszymi urządzeniami wejścia wyjścia stąd też wymiana przeważnie skraca czas oczekiwania.

Partycjonowanie - pamięć nie objęta OS'em jest partycjonowana [dzielona] aby mogło z niej korzystać wiele procesów. Najczęstszym schematem jest partycja o ustalonym rozmiarze [bitowym], lub też poszczególne partycje nie są sobie równe.

Załóżmy ze mamy jakiś abstrakcyjny dysk przedstawiony w tabelce :

128k 64k 92k 256k 384k

Proces 135 kilowy musi być umieszczony w partycji o pojemności 192kilo, w związku z tym, stosuje się partycje o zmiennym rozmiarze, może to jednak doprowadzić do sytuacji, w której w pamięć po pewnym czasie powstanie wiele luk, w które nic nie będzie można upakować. Z tego powodu procesor po pewnym czasie przeprowadza operację upakowania COMPACTION [Wracając do operacji wymiany] Zwykle adres procesu wracającego w ramach wymiany do pamięci głównej zmienia się.

Proces w pamięci składa się z dwóch elementów : rozkazów i danych.

Rozkazy - zawierają adresy komórek pamięciowych dwóch rodzajów

a) Adresy jednostek danych b) Adresy rozkazów używanych w przypadku rozkazów rozgałęzienia, te adresy nie są stałe, dlatego też istnieją dwa pojęcia adresu: - Adres logiczny - określany jako położenie względem początku programu [dotyczy kolejnego rozkazu w danym procesie] - Adres fizyczny - [określa aktualne położenie w pamięci głównej] podczas realizacji procesu, procesor automatycznie dokonuje konwersji adresów logicznych na fizyczne, poprzez dodanie do adresu logicznego adresu fizycznego początku procesu [ adres bazowy]

STRONICOWANIE - partycje o stałych lub zmiennych rozmiarach nie są wydajnym sposobem użytkowania pamięci, dlatego też proces dzieli się na małe fragmenty zwane stronami. Strony mogą być przypisane dostępnym fragmentom pamięci, nazywanym ramkami [ramkami strony]. W przypadku gdyby zdarzyła się utrata pamięci podczas wykonywania któregoś z procesów, będzie ona równoważna tylko części ostatniej strony. Listę ramek prowadzi i sprawdza OS. Np. proces A jest przechowywany na dysku podczas ładowania OS'u znajduje cztery wolne ramki i ładuje do nich proces A

Wolne 12 Stan przed załadowaniem 12 Strona procesu A

13 13 Strona procesu A

14 14 Strona procesu A

15 15 X

Ramki 16 16 Strona procesu A

17 17 x

Jeśli nie ma wystarczającej liczby sąsiadujących ze sobą stron do załadowania procesu A, OS tworzy tablicę stron dla każdego procesu. Tablica stron pokazuje położenie ramek każdej strony procesu w pamięci głównej. Wewnątrz programu każdy adres logiczny składa się z numeru strony i względnego adresu wewnątrz strony. Adres danej umieszczonej w ramce (numer ramki) + względny adres na ramce

Adres fizyczny w pamięci głównej = A. Logiczny [położenie danej w ramce] + A. bazowy [adres początku procesu w pamięci głównej] W przypadku stronicowania translacja adresu logicznego na fizyczny jest wykonywana przez sprzęt - procesor po otrzymaniu dostępu do tablicy stron aktualnego procesu, otrzymuje adres logiczny, następnie przy użyciu tablicy stron do utworzenia adresu fizycznego Pamięć jest dzielona na małe ramki o różnych rozmiarach, Proces zaś jest dzielony na strony o rozmiarach ramek.

Adres logiczny - numer ramki wraz z adresem względnym danej Podczas realizacji procesu rejestr zachowuje adres początkowy tablicy stron tego procesu [adres bazowy].

PAMIĘĆ WIRTUALNA: Wprowadzenie stronicowania zwiększyło efektywność systemów wieloprogramowych. Stronicowanie na żądanie jest ulepszeniem schematu stronicowania polega ono na tym, że strona procesu jest wprowadzana do pamięci tylko wówczas gdy jest potrzeba. Np. proces zawierający długi program przez pewien czas potrzebuje tylko ograniczonej liczby danych zapisanych w małym fragmencie pamięci, wówczas zgodnie z ZASADĄ LOKALNOŚCI do pamięci ładuje się tylko kilka stron, które będą potrzebne do realizacji programu. Jeżeli w trakcie realizacji proces dotrze do miejsca rozgałęzienia w programie gdzie jedna z gałęzi dotyczy rozkazu zawartego na stronie poza pamięcią, zostanie zasygnalizowany błąd strony. Wówczas OS dostarcza żądaną stronę, może się jednak zdarzyć, że strona przed momentem została usunięta z pamięci. Zbyt wiele tego typu zdarzeń prowadzi do stałej wymiany stron, w fachowym języku nazywane jest TRASHING'iem. Istnieją efektywne algorytmy które zapobiegają zbyt częstemu szamotaniu się procesów.

W przypadku stronicowania na żądanie nie jest konieczne by cały proces załadowany był do pamięci głównej, konsekwencją tego jest to , ze proces jest większy od całej pamięci głównej.

Bez stronicowania na żądanie programista musiał, dzielić program na takie części by mogły one być jednorazowo załadowane do pamięci. Współcześnie dysponujemy potężną pamięcią dyskową a problemem ładowania do pamięci zajmuje się OS.

STRUKTURA TABLICY STRON

Mechanizm odczytu z pamięci polega na konwersji adresu wirtualnego lub logicznego składającego się z numeru strony i adresu względnego na stronie na adres fizyczny przy pomocy tablicy stron.

Rozmiar tablicy stron zależy od rozmiaru procesu i nie może być trzymany w rejestrach lecz w pamięci głównej [ze względu na pojemność].

Numer strony adresu wirtualnego służy do indeksowania tablicy oraz znalezienia odpowiedniego numeru ramki. W większości OS'ów występuje jedna tablica stron na proces. Jednak pewne procesy mogą zajmować znaczną część pamięci wirtualnej.

Np. 231 = 2GB 29 = 512B na jeden proces może przypaść 222 zapisów w tablicy stron. Stąd w większości przypadków tablice stron są przeważnie przechowywane w pamięci wirtualnej a nie rzeczywistej. Innymi słowy tablice stron muszą również podlegać stronicowaniu. Podczas realizacji procesu część jego tablicy stron musi się znajdować w pamięci głównej, w tym także zapis tablicy stron, w którym znajduje się aktualnie realizowana strona.

Stosuje się również organizację dwupoziomową dużych tablic stron, tworzy się wówczas katalog stron, w którym każdy zapis oznacza tablicę stron. Przy długości katalogu stron X i długości tablicy Y liczba stron procesu może wynosić X*Y.

SEGMENTACJA

W odróżnieniu od stronicowania jest widoczna dla programisty. Segmentacja jest stosowana w celu wygodniejszego organizowania programu, pozwala programiście widzieć pamięć jako element złożony z wielu adresowych przestrzeni lub segmentów o zmiennym rozmiarze. Każdy z segmentów ma przypisane prawo dostępu i użytkowania oraz odniesienie do pamięci [adres fizyczny], który obejmuje adres w formie numeru segmentu i adresu względnego w segmencie.

2 punkty widzenia programisty [ZALETY] 1)Upraszcza operowanie rozrośniętymi strukturami danych, które mają przypisane własny segment, który będzie zmieniany przez OS, w zależności od potrzeby 2)Umożliwia niezależne zmienianie i ponowne kompilowanie programów bez konieczności by cały zestaw programów był ponownie konsolidowany [zgrywany i minimalizowany] 3)Możliwie jest wspólne wykorzystywanie danych przez różne procesy, programista może umieścić program usługowy lub użytkową tablicę danych w segmencie, z którego mogą korzystać różne procesy 4)Możliwa jest ochrona. W segmencie jest umieszczony określony zestaw programów i programista może swobodnie szastać prawami dostępu.

Wiele OS'ów jednocześnie wykorzystuje segmentację i stronicowanie

RPL - określa kto ma dostęp do danych i w jakich przypadkach dana może być wykorzystana

AVL - dostępny dla programisty systemu

PCD - potwierdzenie dostępu do strony

PWT - jednoczesny zapis

RW - read + write

P - ramka obecna

SYSTEM OPERACYJNY

Jest to program o charakterze interfejsu między użytkownikiem a sprzętem, który steruje wykonywaniem programów użytkowych.

OS ma dwa zadania : Zapewnienie wygody użytkowania, Zwiększenie sprawności wykorzystania zasobów komputera .Użytkownik końcowy używa programów użytkowania publicznego przygotowanych przez programistę. Dla ułatwienia stosuje się programy użytkowe, z których niektóre należą do grupy programów narzędziowych. Są one przygotowane w ten sposób aby ułatwić wykonywanie typowych operacji jak zarządzanie plikami, lub sterowanie urządzeniami wejścia wyjścia. OS maskuje przed programistą szczegóły sprzętowe, tzn wykonuje niektóre mikrooperacje, których programista nie musi brać pod uwagę przy programowaniu procesów.

Programy narzędziowe + OS - programista OS + Sprzęt komputerowy - projektant OS

Do obszarów usług OS'u należą : 1)Dostarczenie ułatwień wspomagających programistę przy tworzeniu programów [poprzez programy narzędziowe] 2)Podczas procesu [wykonywania programu] ładuje do pamięci głównej rozkazy i dane, inicjuje urządzenia wejścia wyjścia i pliki, wykonuje masę operacji pomocniczych 3)Organizuje dostęp do urządzeń wejścia wyjścia. Każde z tych urządzeń wymaga specyficznego zestawu rozkazów / sygnałów sterujących, których programista nie musi widzieć, a traktuje je jedynie całościowo jako zbiór mikrorozkazów powodujących np. operację odczytu zapisu. 4)Steruje dostępem do plików w zależności od ich formatu i natury ich nośników, zapewnia też ochronę plików. Jeżeli system jest wielodostępowi, definiuje charakterystykę praw dostępu. 5)Zapewnia dostęp do określonych zasobów w systemach wspólnych lub publicznych np. sieciach.

Podział OS'ów : System konwersacyjny - istnieje w nim dialog między użytkownikiem i komputerem za pośrednictwem klawiatury i monitora, na temat zapotrzebowania na pracę [czas i wykonanie transakcji] możliwe jest również porozumiewanie się w trakcie wykonywania zadania.

System wsadowy - jest on przeciwieństwem poprzedniego, polega on na grupowaniu programów użytkowników w jeden wsad, który uruchamiany jest przez operatora, wyniki są drukowane i przezywane użytkownikowi. Tego typu rozwiązanie wykorzystywane jest np. przy obliczeniach macierzowych, FFT itp. Inny podział Np. na systemy pozwalające wykonywać jeden lub wiele programów w tym samym czasie, odbywa się to poprzez przełączanie się komputera z jednego procesu załadowanego do pamięci na drugi [ w celu wykorzystania martwego czasu komputera]. Aby uruchomić bilanse wykorzystanego czasu procesora, wprowadzono proste OS'y zwane monitorami. Dane były wprowadzane jako wsady zaś program zarządzający sekwencją zadań rezydował w pamięci głównej i stąd nazywany był rezydentem.

Rezydent - wczytuje zadania, przekazuje je do programu użytkowego oddając mu jednocześnie sterowanie, działanie odbywa się na zasadzie naprzemiennych przestojów w pracy programu użytkowego i OS'u.

Po zakończeniu zadania następuje przerwanie, powodujące zwrócenie sterowania programowi zarządzającemu, który przystępuje do wykonania następnego zadania, a wyniki przeprowadzanych operacji przekazywane są na drukarkę lub do pamięci.

Jeśli procesor w trakcie wykonywania zadania napotka na rozgałęzienie w programie, aby móc rozpocząć pracę na innej komórce pamięci, zawierającej początek programu użytkownika i przystąpić do jego wykonania, procesor musi pobrać odpowiednie rozkazy z programu zarządzającego.

Zwrot - `sterowanie zostało przekazane programowi zarządzającemu' jest to równoważne temu, że procesor pobiera i wykonuje rozkazy programu zarządzającego.

Program zarządzający - planuje zadania, ustawiając je w kolejce, tak, aby wykonywane były bez straty czasu, które wynikałyby z woli operatora. Program zarządzający umożliwia również pobieranie rozkazów z różnych obszarów pamięci i przekazywanie ich procesorowi, w celu przejmowania lub rezygnacji ze sterowania. Wymaga się również by wykonywanie programu użytkownika nie powodowało zmian w pamięci. Jeśli nastąpiła by jakakolwiek zmiana w pamięci, program sygnalizuje błąd, przerywa zadanie i przechodzi do kolejnego.

OS zawiera czasomierz, który zapobiega monopolizacji komputera przez pojedyncze zadanie. Jest on ustawiony na początku każdego zadania i po dojściu do określonego wskazania następuje przerwanie i sterowanie przejmuje program zarządzający.

Rozkazy określone jako uprzywilejowane mogą być wykorzystane tylko przez program zarządzający, należą do nich np: Rozkazy sterowania urządzeniami wejścia wyjścia - aby rozkazy te mogły zostać przeprowadzone przez program użytkowy musi się on zwrócić do programu zarządzającego.

Czas maszynowy jest rozdzielany pomiędzy wykonywaniem programów użytkowych a program zarządzający. W związku z tym mają miejsce straty pamięci głównej gdyż część zostaje oddana programowi zarządzającemu oraz straty czasu, który jest zużywany przez ten program. Aby umożliwić wieloprogramowość pomięć główna musi pomieścić program zarządzający i kilka programów użytkowych. Przy takim rozwiązaniu, gdy jedno z zadań czeka na urządzenie wejścia wyjścia inne może być realizowane.

EX. Odczytanie jednego rekordu 0,0015s + wykonanie 100 rozkazów 0,0001s + zapisanie jednego rekordu 0,0015s = 0,0031s

Procent wykorzystanego czasu CPU = 0,032s = 3,2 % [niestety nie ma tu wspomnianej częstotliwości zegara \: ]

WIELOPROGRAMOWOŚĆ

Umożliwia jednoczesne wykonywanie wielu zadań wsadowych, jeśli użyta jest do wielu zadań konwencjonalnych, jest nazwana trybem podziałem czasu [ TIME SHARERING ]

Przy wieloprogramowości istotną rolę odgrywa szeregowanie zadań wykonywane przez program szeregujący.

Szeregowanie wysokiego poziomu polega na podejmowaniu decyzji czy należy powiększyć pulę programów wykonywanych.

Szeregowanie krótkookresowe polega na wyborze tego procesu z pośród tych które się znalazły w puli do wykonania.

Szeregowanie operacji wejścia wyjścia polega na wyborze jednego z zawieszonych żądań wejścia wyjścia

Pamięć główna musi mieć taką pojemność, by pomieścić program operacyjny i przynajmniej jeden program użytkownika. W przypadku, gdy pamięć jest pojemniejsza można stosować wieloprogramowość.

PROCES = realizowany program

Podstawą w wieloprogramowaniu jest szeregowanie. Stopień wieloprogramowości jest określony przez liczbę procesów w pamięci, należy jednak pamiętać o tym, że im więcej programów jest dopuszczonych do realizacji tym mniejsza ilość czasu przypada na każdy z nich, z tego też powodu długookresowy program zarządzający [wysokiego poziomu] ogranicza liczbę zmiennych programu. Szeregowanie odbywa się według kryteriów :

Priorytet / czas wymagany na realizację / wymagania odnośnie operacji wejścia wyjścia

Przy systemie wsadowym, decyzja o szeregowaniu zostaje każdorazowo podjęta po zakończeniu bieżącego zadania. Po zapełnieniu OS'u programami procesor informuje, że jest w pełni wykorzystany. Program szeregujący krótkookresowo podejmuje decyzje co do kolejności wykonywanych zadań - nazywa się to dyspozytorem. W czasie realizacji procesu jego status zmienia się wielokrotnie. Status procesu w dowolnym czasie nazywa się jego stanem.

Mamy 5 stanów procesu : Nowy - program przyjęty do wykonania, lecz jeszcze nie realizowany, OS inicjuje proces, który przygotowuje się do przejścia w stan gotowości, Gotowy - oznacza, że proces jest gotowy do wykonania i czeka na dostęp do procesora, Bieżący - gdy proces jest realizowany przez procesor, Oczekujący - gdy realizacja jest zawieszona np. z powodu oczekiwania na urządzenia wejścia wyjścia, Zatrzymany - gdy proces jest zakończony i zostanie zniszczony przez OS



Wyszukiwarka

Podobne podstrony:
Sciaga 3 - Architektura, szkola, architektura komputerow
arch sciaga, szkola, architektura komputerow
Sciaga 4 - Architektura, szkola, architektura komputerow
Podstawy architektury komputera, Szkoła, Systemy Operacyjnie i sieci komputerowe, utk, semestr II
Architektura komputera - wyklady, szkola, architektura komputerow
oak-sciaga, Ubik - Materiały, Semestr II, Organizacja i architektura komputerów, underwat, OAK
sciaga, Architektura systemów komputerowych, Sentenza, Sentenza
ARCHITEKTURA KOMPUTEROW1A
architektury komputerow v1 1
Architektura Komputera, Informatyka, Płyta Główna
Architektury Komputerów zagadnienia
Architektura komputerów I 16 12 2008
gulczas 2001 opracowanie, Politechnika Wrocławska - Materiały, architektura komputerow 2, egzamin, o
Architektura komputerów I 09 12 2008
Architektura komputerów i systemy operacyjne
Architektura Komputerów wiedza ogólna
ak projekt, Studia, PWR, 4 semestr, Architektura komputerów 2, projekt

więcej podobnych podstron