Budowa fizyczna dysku Wszystkie dyski twarde maja podobna budowe. Wewnatrz obudowy miesci sie od jednego do kilku talerzy. Po obu stronach kazdego z nich znajduja sie sciezki podzielone na sektory zawierajace standardowo po 512 bajtów. Liczba sektorów na sciezce zalezy zatem od odleglosci danej sciezki od srodka dysku: im dalej w kierunku zewnetrznej krawedzi, tym wiecej sektorów na sciezce. Zapisane na dysku informacje odczytywane sa przez glowice umieszczone na ruchomym ramieniu. Te sciezki, które mozna odczytac bez potrzeby przemieszczenia ramienia z glowicami, tworza jeden cylinder. Aby latwo mozna bylo poruszac sie po tak skomplikowanej strukturze, cylindry, glowice i sektory zostaly ponumerowane. Odwolanie do konkretnego miejsca na dysku wymaga wiec podania trzech informacji (liczb) w standardzie C/H/S - Cylinder / Head (glowica) / Sector (sektor). Dokladnie taki schemat stosowano w przypadku starszych dysków o pojemnosciach do 528 MB - obecnie istnieje koniecznosc stosowania tzw. translacji adresów.

Adres sektora fizycznego Sektor jest to obszar dysku, w którym zapisac mozna 512 bajtów danych. Dawniej BIOS adresowal dane bezposrednio za pomoca metody CHS. Wykorzystywal przy tym 24 bity do zapisania kazdego wskaznika, co pozwalalo na udostepnienie przestrzeni adresowej o maksymalnej wielkosci 8,4 GB (2245512 bajtów). Wraz ze wzrostem pojemnosci dysków wprowadzono bardziej wydajne tryby adresowania, metoda adresacji CHS okazala sie niewystarczajaca - umozliwiala obsluge dysków nie wiekszych niz 504 MB. LBA (Logical Block Adresssing). W trybie tym adresowane sa ponumerowane sektory, co zapewnia pelna niezaleznosc od fizycznej architektury dysku. Nie nalezy zatem wylaczac opcji Mode | LBA w menu Standard CMOS Setup BIOS-u. Najbezpieczniej jednak wybrac tu parametr Auto. LBA wnioslo w ten mechanizm tylko przesuniecie dwóch bitów z adresu glowicy na adres cylindra, tak by DOS mógl zobaczyc cala przestrzen adresowa. W przypadku pierwszych dysków IDE podawana w BIOS-ie liczba cylindrów, glowic i sektorów dokladnie odzwierciedlala fizyczna budowe dysku. Nowoczesne dyski IDE korzystaja z wewnetrznego mechanizmu translacji (translation mode), który przelicza rzeczywiste parametry dysku do postaci akceptowalnej przez BIOS. Ograniczenia BIOS-u sprawiaja, ze nie mozna dowolnie "zwiekszac" liczby cylindrów czy sektorów, zmieniana jest zatem liczba glowic, których w rzeczywistosci jest tylko 2 razy tyle co talerzy.

Budowa logiczna dysku Wiekszosc popularnych systemów operacyjnych musi zostac zainstalowana na partycji typu primary (glównej), co - ze wzgledu na strukture tablicy partycji - umozliwia zainstalowanie do czterech roznych systemów na jednym dysku. Oprócz partycji typu primary mozna zalozyc równiez partycje extended (rozszerzona). Jej glówna zaleta jest to, ze zajmujac tylko jedno miejsce w tablicy partycji dysku, mozna na niej utworzyc znacznie wieksza liczbe dysków logicznych - czyli partycji na partycji extended. Partycja rozszerzona zakladana jest niemal na kazdym dysku. W przeciwienstwie do partycji podstawowych dyski logiczne utworzone na partycji extended sa widoczne zawsze, jesli system plików zgodny jest z zainstalowanym systemem operacyjnym. Wiecej niz jedna partycje primary jednoczesnie "widza" tylko niektóre systemy, np. Linux, Windows 98. Starsze z nich, jak DOS, wspólpracuja tylko z aktywna partycja podstawowa (primary). W danym momencie tylko jedna partycja moze miec ustawiona flage aktywnosci. Aby przedstawic budowe logiczna dysku twardego nalezy wpierw wyjasnic metode adresowania informacji na dysku: adres sektora fizycznego, adres sektora logicznego oraz adres klastera.

Adres sektora logicznego Sposób numerowania sektorów logicznych (w porównaniu z adresem CHS) przedstawia ponizszy rysunek na którym zalozono pewna fikcyjna geometrie dysku: 4 glowice, 4 cylindry i 8 sektorów na sciezke. Strona zerowa-strona ukryta (ang. Hidden, nie ma swojego odpowiednika na dyskietce) jest poswiecona celom systemowym. Sektory tej strony nie wchodza do numeracji sektorów logicznych na dysku. Regula numerowania sektorów logicznych W pierwszym jego sektorze znajduje sie MBR zawierajacy tablice partycji. Do oznaczenia cylindrów i glowic wykorzystuje sie cyfry zaczynajace sie od 0. Szesnascie glowic ma zatem numery od 0 do 15. Sektory oznaczane sa liczbami od 1 do 63. Kazda partycja zaczyna sie od rekordu ladujacego (boot sectora). Poniewaz poczatek pierwszej partycji moze znajdowac sie na zerowym cylindrze, ale pierwszej glowicy i pierwszym sektorze (CHS = 011), pomiedzy MBR i BS pozostaja wolne 62 sektory (31 KB), które nie sa wykorzystywane. Po BS znajduje sie obszar, w którym zapisane sa informacje o rozmieszczeniu danych na partycji. Sektorem logicznym 0 jest pierwszy sektor fizyczny na stronie 1 i sciezce 0 dysku (CHS=011). Kolejne numery otrzymuja kolejne sektory fizyczne lezace na tej sciezce (CHS=012 to sektor 1 itd.). Po wyczerpaniu sciezki zmieniamy strone nie zmieniajac cylindra. Dopiero po wyczerpaniu wszystkich sektorów fizycznych biezacego cylindra, zmieniamy cylinder, przechodzac na cylinder o numerze wyzszym o 1 i numeracje kontynuujemy od pierwszego sektora fizycznego pierwszej strony tego cylindra.

tablica alokacji plików Tablica opisujaca, w których klastrach dysku twardego lub dyskietki magnetycznej system operacyjny ma szukac kazdego z zapisanych na nim plików. FAT jest tworzony podczas formatowania nosnika danych. Podczas zapisu pliku informacje o nim sa automatycznie zachowywane w tablicy FAT. Potocznie przez FAT rozumie sie FAT16 lub FAT32. System plików FAT zostal zaprojektowany przez firme Microsoft. Pierwsza wersja tego systemu zostala zaprojektowana dla dysków o niewielkiej pojemnosci (glównym jej przeznaczeniem byly dyskietki). Byla to bardzo uboga wersja, nie obslugujaca nawet podkatalogów. Pózniej zaczely powstawac kolejne, coraz lepsze wersje systemu plików FAT.


Obecnie rozróznia sie trzy rodzaje systemów plików FAT. Sa to:•FAT12 •FAT16•FAT32


PODSTAWOWA BUDOWA KOMPUTERA - procesor (ang. Central Processing Unit = CPU), - ROM (ang. Read Only Memory) – pamiec tzw. stala, do przechowywania m.in. ustawien konfiguracyjnych, programów, - RAM (ang. Random Access Memory) – pamiec do przechowywania programów, danych, wyników posrednich i koncowych; /pamiec operacyjna PAO/ - uklady wejscia/wyjscia – umozliwiaja wprowadzanie danych i wyprowadzanie wyników przetwarzania. Uklady wej/wyj sluza do wymiany danych miedzy procesorem i pamiecia operacyjna a urzadzeniami zewnetrznymi. Procesor jest polaczony z ukladami wej/wyj i z pamiecia operacyjna za pomoca magistrali wej/wyj, w sklad której wchodza: magistrale danych, adresów i sterowania – liczba linii poszczególnych magistral jest rózna dla róznych procesorów.



SCHEMAT BLOKOWY PROCESORA jednostka BU (ang. Bus Unit) odpowiada za wspólprace procesora z pamiecia; 3 oddzielone od siebie magistrale: danych, adresów, sygnalów sterujacych; IU (ang. Instruction Unit) dekoder odtwarzajacy rozkazy do wykonania przez procesor, znajdujace sie w odpowiedniej kolejce. Uklad ten zazwyczaj wspomagany jest przez pamiec ROM, w której zawarty jest slownik tlumaczacy przyjmowane kody rozkazowe na sekwencje operacji. EU (ang. Execution Unit) uklad wykonawczy, do którego przekazywane sa rozkodowane instrukcje. Operacje na liczbach staloprzecinkowych sa wykonywane w module ALU (ang. Arythmetic Logic Unit) sterowanym z bloku CU (ang. Control Unit). Operacje na liczbach zmiennoprzecinkowych – FPU (ang. Floating Point Unit). AU (ang. Addressing Unit) jednostka adresowania, obsluguje m.in. pobieranie argumentów rozkazów, czy przesylanie wyników pod wskazany adres. MMU (ang. Memory Managment Unit) modul zarzadzania pamiecia realizujacy dostep do pamieci, czyli np. stronicowanie, czy segmentacje. PREFETCH dla przyspieszenia pracy procesora podczas fazy wykonania (wykonanie wyprowadzonego rozkazu pod kontrola ukladu sterowania) jednego rozkazu realizuje sie juz faze pobierania nastepnego rozkazu. Rozwiazanie takie nazywane jest prepobieraniem. REJESTRY PROCESORA Rejestr ROZKAZÓW – przechowuje rozkaz wykonywany przez uklad sterowania. Do niego wprowadzane sa kolejno nastepujace po sobie rozkazy realizowanego programu. Rejestr STATUSOWY – przechowuje wektor statusowy charakteryzujacy wynik wykonywanej operacji arytmetycznej lub logicznej, np.: czy wynik jest =>< 0. Poszczególne bity rejestru statusowego nazywane sa flagami. LICZNIK ROZKAZÓW – zawiera adres komórki pamieci zawierajacej nastepny rozkaz do realizacji. Rejestr ADRESÓW PAMIECI – przechowuje adres komórki pamieci, z która procesor wymienia dane (czyli adres danej). AKUMULATOR – rejestr (jeden lub wiecej), na którego zawartosci sa wykonywane operacje arytmetyczno-logiczne. Rejestry OGÓLNEGO PRZEZNACZENIA–rejestry, dla których mozliwe sa nastepujace operacje, realizowane za pomoca odpowiednich rozkazów: - bezposrednie (tzn. bez posrednictwa akumulatorów) przesylanie miedzyrejestrowe miedzy nimi a komórkami pamieci, - przesylanie miedzyrejestrowe miedzy nimi a akumulatorami, - przesylanie miedzyrejestrowe miedzy nimi, - zwiekszenie lub zmiejszenie wartosci o 1. Rejestry INDEKSOWE – odmiana rejestrów ogólnego przeznaczenia; umozliwiaja stosowanie techniki adresowania zwanej adresowanie indeksowym. Polega ono na tym, ze kolejno zwiekszana lub zmniejszana zawartosc rejestru indeksowego jest dodawana do pewnej stalej liczby dajac w wyniku ciag adresów umozliwiajacych np. kolejne adresowanie danych u mieszczonych w kolejnych komórkach pamieci. WSKAZNIK STOSU – rejestr zawierajacy najnizszy adres zapelnionego stosu. STOS – zespól rejestrów, z których mozliwe jest odczytywanie kolejnych „komórek” wylacznie w kolejnosci odwrotnej do kolejnosci ich wpisywania. Rejestry WIELOFUNKCYJNE - w zaleznosci od potrzeb moga byc akumulatorami, rejestrami ogólnego przeznaczenia, rejestrami indeksowymi lub wskaznikami stosu. OPERACJE WYKONYWANE PRZEZ PROCESOR Kazdy procesor ma mozliwosc realizacji bardzo wielu operacji, m.in. arytmetycznych, logicznych, przeslan miedzyrejestrowych i innych. Wykonania niektórych z nich moze zazadac programista za pomoca rozkazów umieszczonych w programie wprowadzonym do pamieci, natomiast wykonanie innych operacji odbywa sie niezaleznie od programisty i jego programu w sposób ustalony przez konstruktora procesora. W zwiazku z tym operacje realizowane w procesorach mozna podzielic na 2 grupy: operacje podstawowe – których wykonania moze zazadac programista wprowadzajac odpowiedni rozkaz do programu. Kazda operacja podstawowa ma przyporzadkowany dokladnie 1 rozkaz. Zbiór rozkazów tworzy liste rozkazów danego procesora. mikrooperacje – zestaw najbardziej elementarnych operacji potrzebnych do realizacji operacji podstawowych; niezalezne od programisty. ARCHITEKTURA KOMPUTERA jest zdefiniowana przez atrybuty komputera widoczne dla programisty piszacego program w jezyku maszynowym. Definicja ta obejmuje liste instrukcji, format instrukcji, kody operacji, tryby adresowania oraz wszystkie rejestry i lokacje pamieci, które moga byc bezposrednio modyfikowane przez program napisany w jezyku maszynowym. Implementacja sprzetowa jest zdefiniowana przez rzeczywista strukture sprzetu, organizacje ukladów logicznych i organizacje dróg przeplywu danych. PRZEPLOT - Obraz, który uzyskiwany jest przez nalozenie dwóch obrazów, gdzie jeden zawiera linie parzyste, a drugi nieparzyste. Tym sposobem oko ludzkie nie zauwaza podczas wyswietlania kolejnych klatek filmu, ze poszczególne klatki nie sa kompletne. Pojecie stosuje sie takze do obrazków statycznych (np. GIFów). Podczas odczytywania pojawia sie najpierw kilka linii, nastepnie pomiedzy nimi doczytywane sa kolejne linie i tak dalej, az do pokazania calego obrazka. PAMIEC RAM Podstawowy rodzaj pamieci o dostepie swobodnym, nieodzowny w kazdym komputerze, przechowujacy calosc lub czesc biezaco wykonywanego programu. Pamiec operacyjna pozostaje w stalym kontakcie z procesorem, dla którego logicznie przedstawia uporzadkowany ciag komórek zaadresowanych od 0 do 2n, przy czym n oznacza liczbe bitów rejestru adresowego procesora. Pamiec operacyjna moze byc zrealizowana jako pamiec stala lub pamiec zapisywalna. Rozmiar (pojemnosc) pamieci operacyjnej, oprócz szybkosci procesora, charakteryzuje mozliwosci komputera. Wspólczesne komputery PC z reguly dysponuja dziesiatkami megabajtów pamieci operacyjnej. Takich ilosci pamieci wymagaja programy stosujace interfejsy graficzne. Podzial pamieci RAM ze wzgledu na budowe. SRAM - (Static RAM), pamiec statyczna. Cechuje ja bardzo krótki czas dostepu do poszczególnej komórki i nieulotnosc. Niestety, pamieci SRAM sa drogie, dlatego tez wykorzystuje sie je glównie jako pamieci cache. DRAM - (Dynamic RAM) pamiec dynamiczna. Pamiec ta jest wolniejsza niz pamiec SRAM a w dodatku jest ona ulotna. Aby pamiec ta nie utracila danych trzeba ja odswiezac z czestotliwoscia co najmniej kilkaset Hz. Odswiezanie polega na zwyklym odczycie zawartosci komórki. SDRAM - (Synchronous Dynamic RAM) pamiec dynamiczna, synchroniczna. Pamiec ta jest podobna do pamieci DRAM, z tym ze dostep do komórek pamieci jest zsynchronizowany z zewnetrznym zegarem taktujacym procesor. Podzial pamieci RAM ze wzgledu na dostep FPM RAM - (Fast Page Mode RAM), pamiec ta zorganizowana jest w strony, przy czym najszybciej realizowany jest dostep do kolejnych komórek w obrebie strony. EDO RAM - (Extended Data Output RAM), jest to pamiec w przypadku której w czasie odczytu danej komórki, moze zostac pobrany adres nastepnej. BEDO RAM - (Burst EDO RAM), w przypadku tej pamieci zamiast jednego adresu pobierane sa cztery, przy czym na magistrale wystawiany jest tylko pierwszy co znacznie zwieksza szybkosc dostepu. PAMIEC ROM W pamieciach nieulotnych typu ROM umieszczone sa informacje stale. ROM jest najbardziej niezawodnym nosnikiem informacji o duzej gestosci zapisu. Zapis informacji dokonuje sie w procesie produkcji lub podczas ich programowania. W pamieci ROM zapisuje sie ustawienia BIOSu. Pamieci typu ROM przeznaczone sa glównie do umieszczania w nich startowej sekwencji instrukcji, kompletnych programów obslugi sterowników i urzadzen mikroprocesorowych, takze ustalonych i rzadko zmienianych danych stalych. PODZIAL PAMIECI ROM ROM programowana maska - Jej zawartosc ustala sie na podstawie wzorca dostarczanego przez uzytkownika w trakcie procesu technologicznego. Pamiec ta jest przeznaczona tylko do odczytu, co w wielu wypadkach uniemozliwia jej zastosowanie. PROM - Jest dostarczana przez producenta w stanie niezaprogramowanym z mozliwoscia jednokrotnego ustalania dowolnej zawartosci bezposrednio przez uzytkownika. Wlasciwa tresc pamieci ustala sie jednorazowo przez elektryczne przepalenie odpowiednich polaczen wewnetrznych. Kazda pomylka w czasie programowania eliminuje programowany uklad. Pamiec EPROM - Najpopularniejszy rodzaj pamieci kasowalnej i programowalnej o nieulotnej zawartosci informacji. Kasowanie zawartosci dokonuje sie przez intensywne naswietlenie promieniem ultrafioletowym. Nie jest mozliwe kasowanie pojedynczych bajtów pamieci, natomiast proces przeprogramowania zawartosci pamieci moze byc powtarzany wielokrotnie. Pamieci EEPROM- Kazdy bajt mozna kasowac elektrycznie i zapisac nowa zawartoscia bezposrednio w urzadzeniu, w którym normalnie funkcjonuje pamiec, a do zaprogramowania dowolnego bajtu wystarcza jeden cykl zapisu. Wykorzystanie tej mozliwosci sprawia, ze pamiec ta jest idealnym rozwiazaniem przy uruchamianiu nowego oprogramowania, badz modyfikacji zawartosci istniejacej pamieci. Flash EEPROM. W tym typie pamieci zwykle nie mozna kasowac ani programowac pojedynczych bajtów. Mozliwe jest kasowanie i programowanie blokami pamieci lub w calosci. ZASADA DZIALANIA PROCESORA Ze wzgledu na przeplyw danych i rozkazów w procesorze, mozna wyróznic w nim kilka zasadniczych modulów: Blok wstepnego pobierania i dekodowania instrukcji. Odpowiada on za dostarczenie kolejnych polecen z pamieci operacyjnej i przekazanie ich do odpowiedniej jednostki wykonawczej. Glówny blok wykonawczy to jednostka arytmetyczno-logiczna ALU. Zapewnia ona prawidlowe przetworzenie wszystkich danych staloprzecinkowych. ALU wyposazony jest w niewielka zintegrowana pamiec, nazywana zestawem rejestrów. Kazdy rejestr to pojedyncza komórka uzywana do chwilowego przechowywania danych i wyników. FPU procesor wykonujacy wszystkie obliczenia zmiennoprzecinkowe.Po zakonczeniu "obliczen" dane bedace wynikiem przetwarzania trafiaja do modulu wyjsciowego procesora. Jego zadaniem jest przekierowanie nadchodzacych informacji np. do odpowiedniego adresu w pamieci operacyjnej lub urzadzenia wejscia/wyjscia. pamieci dynamiczne - DRAM, pamieci statyczne - SRAM. Pomiedzy tymi dwoma grupami pamieci wystepuja istotne róznice w ich parametrach i wlasnosciach uzytkowych. Pamieci dynamiczne sa pamieciami wolniejszymi od pamieci statycznych, sa natomiast znacznie tansze. Ponadto pamieci dynamiczne znacznie latwiej podlegaja scalaniu, co oznacza, ze dla porównywalnej wielkosci ukladu uzyskujemy w nich znacznie wieksze pojemnosci. Wada pamieci dynamicznych jest fakt, ze dla ich poprawnego funkcjonowania konieczny jest tak zwany proces odswiezania. Polega ona na cyklicznym, ponownym zapisie przechowywanej informacji do komórek tej pamieci. Z porównania wlasnosci tych pamieci wynika takze miejsce ich zastosowania w technice komputerowej. Pamieci dynamiczne stosowane sa do budowy glównej pamieci operacyjnej komputera, co wynika z ich niskiej ceny i duzych pojemnosci ukladów scalonych tej pamieci. Wada tych pamieci w porównaniu z pamieciami statycznymi jest przede wszystkim ich szybkosc dzialania. RISC - nazwa architektury mikroprocesorów która zostala przedstawiona pod koniec lat 70. Procesory charakteryzowaly sie bardzo rozbudowana lista rozkazów, ale statystycznie tylko nieliczna ich czesc byla wykorzystywana w programie. Zaprezentowano architekture mikroprocesorów. Jej podstawowe cechy to: Zredukowana liczba rozkazów do niezbednego minimum. Ich liczba wynosi kilkadziesiat, podczas gdy w procesorach CISC siega setek. Upraszcza to znacznie dekoder rozkazów. Redukcja trybów adresowania, dzieki czemu kody rozkazów sa prostsze, bardziej zunifikowane, co dodatkowo upraszcza wspomniany wczesniej dekoder rozkazów. Ponadto wprowadzono tryb adresowania, który ogranicza ilosc przeslan – wiekszosc operacji wykonuje sie wg schematu: Ograniczenie komunikacji pomiedzy pamiecia, a procesorem. Przede wszystkim do przesylania danych pomiedzy pamiecia, a rejestrami sluza dedykowane instrukcje, które zwykle nazywaja sie load (zaladuj z pamieci), oraz store (zapisz do pamieci); pozostale instrukcje moga operowac wylacznie na rejestrach. Schemat dzialania na liczbach z najdujacych sie w pamieci jest nastepujacy: zaladuj dana z pamieci do rejestru, na zawartosci rejestru wykonaj dzialanie, przepisz wynik z rejestru do pamieci. Zwiekszenie liczby rejestrów (np. 32, 192, 256, podczas gdy np. w architekturze x86 jest zaledwie 8 rejestrów). CISC – nazwa architektury mikroprocesorów o nastepujacych cechach: Wystepowanie zlozonych, specjalistycznych rozkazów (instrukcji) - które do wykonania wymagaja od kilku do kilkunastu cykli zegara Szeroka gama trybów adresowania Przeciwnie niz w architekturze RISC rozkazy moga operowac bezposrednio na pamieci (zamiast przeslania wartosci do rejestrów i operowania na nich) Powyzsze zalozenia powoduja iz dekoder rozkazów jest skomplikowany Istota architektury CISC jest to, iz pojedynczy rozkaz mikroprocesora, wykonuje kilka operacji niskiego poziomu, jak na przyklad pobranie z pamieci, operacje arytmetyczna i zapisanie do pamieci. Przyklady rodzin procesorów o architekturze CISC to: System/360 ,VAX ,PDP-11 ,x86