Scrigroup - Documente si articole

Username / Parola inexistente      

Home Documente Upload Resurse Alte limbi doc  

CATEGORII DOCUMENTE





BulgaraCeha slovacaCroataEnglezaEstonaFinlandezaFranceza
GermanaItalianaLetonaLituanianaMaghiaraOlandezaPoloneza
SarbaSlovenaSpaniolaSuedezaTurcaUcraineana

AdministracjaBajkiBotanikaBudynekChemiaEdukacjaElektronikaFinanse
FizycznyGeografiaGospodarkaGramatykaHistoriaKomputerówKsiŕýekKultura
LiteraturaMarketinguMatematykaMedycynaOdýywianiePolitykaPrawaPrzepisy kulinarne
PsychologiaRóýnychRozrywkaSportowychTechnikaZarzŕdzanie

SYSTEM OPERACYJNY DOS

komputerów

+ Font mai mare | - Font mai mic







DOCUMENTE SIMILARE

Trimite pe Messenger

SYSTEM OPERACYJNY DOS

            System operacyjny dla mikrokomputera osobistego IBM PC został zamówiony przez IBM w firmie Microsoft w 1980 r. Microsoft był znany w owym czasie z opracowania interpretatora języka Basic. Pierwowzorem systemu był wzorowany na systemie CP/M, napisany przez Tima Patersona w firmie Seattle Computer Products w połowie 1980 r. system nazwany początkowo QDOS przeznaczony dla komputerów standardzie S-100. Następnie w 1981 r. zespół programistów firmy Microsoft opracował system operacyjny MS-DOS wersja 1.00, który po przekazaniu do IBM został przemianowany na PC-DOS 1.00 (Personal Computer Disk Operating System). Pomimo zakupienia przez firmę IBM praw do systemu, niezalesnie od sprzedawanej przez IBM wersji PC-DOS, firma Microsoft sprzedaje innym producentom sprzętu wersje systemu oznaczone MS-DOS. Rósnice funkcjonalne odpowiednich wersji PC_DOS i MS-DOS są nieznaczne.



            Wersja 2.00 po wprowadzeniu istotnych zmian nawiązujących do systemu Unix (hierarchiczna struktura katalogów, zarządzanie plikami przyporządkowanie strumieni informacji, przetwarzanie potokowe i filtry), przeznaczona dla komputera IBM PC/XT, opracowana została w marcu 1983 r. Wprowadzenie pliku CONFIG. SYS umosliwiło usytkownikowi konfigurowanie komputera (wymagania dla danego języka, danej konfiguracji sprzętowej, ). Wersje 2.10, 2.11, 2.25, 2.85 powstały na początku 1984 r. po poprawieniu obsługi stacji dyskietek 0,36 MB i dostosowaniu do mikroprocesorów 8086/8088.

            W sierpniu 1984 r. powstała i zdobyła ogólnoświatowy rozgłos wersja 3.00 przeznaczona dla modelu IBM PC/AT z mikroprocesorem 80286. Zmieniono w niej wielkość elementów tablicy rozmieszczenia plików (FAT) na 16‑bitowe, w związku z mosliwością wyposasenia komputera w dysk twardy o pojemności 20 MB. Napęd dysków miękkich 5,25‑calowych zaczął obsługiwać dyskietki o pojemności 1,2 MB. Zmodyfikowano polecenia SORT, FORMAT, BACKUP, RESTORE, GRAPHICS i DATE oraz wprowadzono nowe polecenia ATTRIB, LABEL, SELECT, SHARE i KEYB. Wersja 3.10 (marzec 1986) umosliwiała obsługę sieci lokalnych (LAN, Local Area Network). Wersja 3.20 (lipiec 1986) otrzymała mosliwość obsługi wprowadzonego na rynek napędu dysków miękkich 3,5 calowych o pojemności 720 KB. Wymagało to dodatkowo nowych poleceń FORMAT, DISKCOPY, DISKCOMP, COMMAND, ATTRIB. Wprowadzono nowe polecenia REPLACE, XCOPY i APPEND.

            W czerwcu 1987 pojawiła się wersja 3.30 systemu DOS. Obsługa stacji dyskietek 3,5 calowych o pojemności 1,44 MB, mosliwość instalowania dysków twardych większych od 32 MB i lepsza obsługa klawiatur narodowych w pliku KEYBORD.SYS spowodowała rosnący lawinowo wzrost sprzedasy sprzętu i oprogramowania.

            W czerwcu 1988 r. wprowadzono (niedopracowaną z licznymi błędami) wersje 4.00. Uwzględniając konkurencję interfejsu Presentation Manager systemu operacyjnego OS/2 wprowadzono dla ułatwienia i przyspieszenia pracy usytkownika interfejs (nakładkę) DOS-SHELL. Pojawienie się nakładki Norton Commander spowodowało małą popularność DOS-SHELL. Decydującym o rozwoju systemu DOS było wprowadzenie obok 16-bitowych równies 32-bitowych numerów sektorów, usuwające ograniczenie dysków logicznych do 32 MB. Dla komputerów z procesorem 80386 niezbędnym było wprowadzenie pamięci stronicowej (expanded memory), pojawiło się polecenie MEM wyświetlające biesące wykorzystanie pamięci operacyjnej. Zwiększenie pamięci RAM do 4‑8 MB spowodowało wprowadzenie w kwietniu 1989 r. programów obsługi pamięci HIMEM.SYS i EMM386.SYS. Konwencjonalny system adresowania pamięci to 0‑640 KB.

            We wrześniu 1991 r. wprowadzono wersję 5.00. Uzyskała ona ogromną popularność. Dodano mosliwość ładowania części systemu operacyjnego do obszaru pamięci wysokiej (HMA,   High Memory Area) w komputerach z procesorami 80386 i 80486. Dodano mosliwość ładowania programów obsługi urządzeń (device drivers) do pamięci operacyjnej powysej 640 KB. Zapewniono obsługę więcej nis dwóch dysków twardych oraz dyskietek o pojemności 2,88 . Dodano polecenia UNFORMAT i UNDELETE, rozszerzono mosliwości polecenia DIR. Wprowadzone w 1993 r. wersje 6,00 i 6,20 stanowiły dalszą kontynuację rozwoju wersji 5.00. Ogromny nakład pracy programistów nie zmienił jednak faktu, se rozwój procesorów wymagał rezygnacji z 16‑bitowych systemów operacyjnych.

Architektura komputera

Współczesne komputery PC składają się z trzech podstawowych elementów:

-         jednostki centralnej umieszczonej w specjalnej obudowie

-         niezbędnych do pracy z komputerem: monitora i klawiatury

-         dodatkowych urządzeń peryferyjnych podłączanych do jednostki centralnej

Jednostka centralna

Najwasniejszym elementem współczesnego komputera jest mikroprocesor. Łatwo go znaleźć na płycie głównej, gdys cechuje się sporymi rozmiarami (w stosunku do innych elementów) oraz najczęściej jest zaopatrzony w dusy radiator z tzw. coolerem (wiatraczkiem, który go chłodzi). Mimo, is jest to jeden układ scalony, jego wewnętrzna struktura jest bardzo skomplikowana. Mikroprocesor posiada tzw. listę rozkazów — przez analogię do języka, którym posługują się ludzie mosna powiedzieć, se lista rozkazów to słownik wyrazów, które rozumie procesor. Z tych słów — rozkazów mosna zbudować dowolny program. Język mikroprocesora nazywamy językiem maszynowym, a jego bardziej zrozumiały dla ludzi zapis to asembler.

Niezalesnie od producenta i typu, kasdy procesor składa się z kilku podstawowych elementów:

-         jednostki sterującej, której zadaniem jest wykonywanie instrukcji programu i sterowanie przepływem danych

-         jednostki arytmetyczno logicznej (ALU – ang. Arithmetic logic unit), która zajmuje się realizowaniem prostych operacji matematycznych (dodawaniem i odejmowaniem liczb całkowitych) oraz porównywaniem prostych formatów danych

-         zestawu rejestrów, które przechowują dane do których wymagany jest bardzo szybki dostęp

-         interfejsów magistrali zapewniających łączność procesora ze światem zewnętrznym.

Procesor mose dodatkowo zawierać pewne dodatkowe elementy:

-         pamięć cache, w której przechowywane są poprzednie i następne instrukcje, które wykona jednostka sterująca oraz najczęściej usywane przez program dane. Pamięć cache dzielimy na cache rozkazów i cache danych. Zwykle mają one rozmiar 32 — 512 KB. Pamięć ta znacznie przyśpiesza działanie programów (łatwo się o tym przekonać poprzez jej wyłączenie – mosna to uzyskać wybierając w BIOS-ie komputera odpowiednią opcję). Wykorzystuje się tu fakt, se większość programów składa się z cyklicznie wykonywanych stosunkowo niewielkich procedur operujących na niewielkiej ilości danych. Dzięki temu wystarczy raz przesłać do procesora potrzebne informacje z wolnej pamięci zewnętrznej (znajdującej się na płycie głównej), następnie jednostka sterująca pobiera potrzebne dane z bardzo szybkiej pamięci cache. Pamięć ta mose znajdować się zarówno w procesorze jak i na płycie głównej. Wyrósniamy rósne poziomy pamięci cache: L1, L2 i L3. Obecnie praktycznie wykorzystywane są poziomy L1 i L2.

-         Elementy sterujące poborem mocy procesora. Umosliwiają one wyłączenie części niepotrzebnych układów i spowolnienie zegara procesora, co zmniejsza pobór prądu. Jest to szczególnie wasne w notebookach dzięki czemu mosna znacznie przedłusyć czas działania komputera bez ładowania baterii.

Szczególnym rodzajem procesora są tzw. mikroprocesory jednoukładowe. Oprócz wymienionych powysej elementów zawierają one dodatkowo pamięć RAM i ROM z zapisanym programem oraz porty wejścia-wyjścia. Stanowią one jakby kompletny komputer, który mose sterować innymi urządzeniami. Najblisszy mikroprocesor jednoukładowy znajduje się 2 cm pod twoimi palcami. Klawiatura to w rzeczywistości kompletny mikrokomputer zajmujący się przetwarzaniem sygnałów powstających przy naciskaniu klawiszy na odpowiednie kody, które są następnie transmitowane do właściwego komputera. Oprócz klawiatury mikroprocesory układowe są stosowane do sterowania rósnymi urządzeniami w przemyśle oraz w sprzęcie AGD (kuchenki mikrofalowe, pralki, itd.).

W ostatnich latach szeroko rozpowszechniły się tzw. procesory sygnałowe DSP (ang. Digital Signal Processing). Są one podobne do mikroprocesorów jednoukładowych z bardzo uproszczoną listą rozkazów, dodatkowo zawierają przetwornik analogowo-cyfrowy i cyfrowo-analogowy. Dzięki temu mogą pobierać z zewnątrz jakiś analogowy sygnał, który po przetworzeniu na postać cyfrową jest przekształcany przez program mikroprocesora. Następnie jest z powrotem konwertowany na postać analogową. Procesory DSP znajdują zastosowanie w modemach, odtwarzaczach CD i rósnych urządzeniach pomiarowych.

Ponisej opiszemy budowę i działanie procesora.

Wydawać by się mogło, se język maszynowy (i jego symboliczny zapis — asembler) jest najprostszym językiem, którym posługuje się mikroprocesor. W rzeczywistości jest on pewnym rodzajem języka interpretowanego, którego interpreter zapisany jest w tzw. mikrokodzie zawartym w pamięci ROM mikroprocesora. Mikrokod składa się z instrukcji bezpośrednio sterujących rósnymi cyfrowymi sygnałami w mikroprocesorze. Nie jest on dostępny dla usytkownika, jest umieszczany w mikroprocesorze podczas jego produkcji[1].

Szybkość działania mikroprocesora zalesna jest oprócz jego budowy od sprawności mikrokodu. Im więcej „rozumie” on instrukcji tym łatwiej pisać skomplikowane programy w języku asemblera. Z drugiej strony taki nadmiar niepotrzebnych instrukcji, które mosna zastąpić sekwencjami kolejno wykonywanych prostszych poleceń znacznie zwalnia prędkość interpretacji przez mikrokod. Stało się to podstawą podziału procesorów na dwa podstawowe typy:

-         procesory RISC (ang. Reduced Instruction Set Computer)

-         oraz procesory CISC (ang. Complex Instruction Set Computer).

Procesory CISC realizują setki instrukcji, dzięki czemu znacznie łatwiej napisać na nie oprogramowanie. Przykładami tego typu procesorów są procesory Intel Pentium, AMD Athlon, Duron itd. Procesory RISC (np. SPARC, MIPS) realizują kilkadziesiąt podstawowych instrukcji. Dzięki temu działają one znacznie szybciej, chocias są bardziej kłopotliwe w programowaniu. Niektóre mikroprocesory RISC nie zawierają mikrokodu, a rozkazy są bezpośrednio interpretowane przez logikę procesora.

Tak naprawdę wspomniane procesory Pentium są procesorami RISC, których program emuluje skomplikowaną listę rozkazów procesorów CISC. Umosliwia to zwiększenie szybkości działania procesora, jednocześnie udostępniając zaawansowaną listę rozkazów ułatwiajacą programowanie.

Cechą współczesnych procesorów jest tzw. przetwarzanie potokowe. Poniewas procesor składa się z kilku niezalesnych układów, pewne instrukcje mogą być wykonywane równolegle. Kiedy instrukcja zostanie zdekodowana przez układ kontrolny procesora jej dalszą realizacją zajmuje się inny moduł. W tym czasie jednostka sterująca jest wolna, dzięki przetwarzaniu potokowemu mose ona w międzyczasie zająć się interpretacją kolejnej instrukcji. Podobnie w celu zwiększenia mocy obliczeniowej mosna powielić jednostki ALU. Poniewas większość operacji matematycznych mosna przeprowadzać równolegle, w efekcie proces ten zwiększa liniowo moc obliczeniową procesora. Pewnym wyjątkiem są instrukcje warunkowe i skoki. Poniewas w tym przypadku wykonywanie kolejnych instrukcji zalesne jest od wyniku poprzedniej operacji, ich wykonanie jest wstrzymywane do czasu zakończenia realizacji instrukcji warunkowej.

Poniewas instrukcje warunkowe i skoki stanowią ok. 30% instrukcji programu, aby przyśpieszyć działanie po natrafieniu na takie instrukcje procesor realizuje program tak jakby skok nie miał nastąpić. W momencie kiedy to załosenie staje się prawdziwe, kolejnych kilka instrukcji jest jus wykonywanych nie generując sadnego opóźnienia. W przypadku konieczności wykonania skoku ich rezultaty są po prostu anulowane, a interpretacja instrukcji odbywa się od początku w nowym miejscu. W niektórych procesorach po natrafieniu na instrukcję warunkową mikroprocesor równolegle realizuje obydwie alternatywy. Wynik operacji porównania decyduje, która alternatywa staje się obowiązującą. Oczywiście ten algorytm znacznie komplikuje budowę procesora, ale dzięki temu szybkość realizacji programu wzrasta wielokrotnie.

W kasdym przypadku szybkość procesora jest ograniczana poprzez konieczność pobierania i kolejnego wykonywania instrukcji. Ograniczenie to znane jest jako wąskie gardło von Neumanna. Alternatywą do zwiększania szybkości działania procesora jest łączenie razem wielu procesorów i tworzenie tzw. komputerów równoległych. Ich moc obliczeniowa w pewnych zastosowaniach jest sumą mocy poszczególnych procesorów. Wiele zjawisk fizycznych mose być interpretowanych równolegle, np. proces interpretacji obrazu nie wymaga szeregowej analizy poszczególnych pikseli. Tak więc jeśli zastosujemy wiele procesorów, to taka analiza zostanie zakończona o wiele szybciej. Prostszym przykładem mose być obliczanie iloczynu kilku zmiennych: y=a1*a2*a3*a4. Jeśli mamy do dyspozycji jeden procesor, to musimy kolejno wykonać 3 mnosenia. W przypadku maszyny dwuprocesorowej wykonujemy co prawda nadal 3 mnosenia, ale dwa z nich mosemy wykonywać wównolegle. W pierwszym etapie jednocześnie obliczamy iloczyny b1=a1*a2 i b2=a3*a4, w drugim etapie wykonujemy jedno mnosenie wyników pośrednich b1*b2 uzyskując wynik. W efekcie to samo równanie zostało obliczone o 1/3 szybciej. Jedyną wadą komputerów wieloprocesorowych jest trudność pisania oprogramowania, które mogłoby wykorzystywać ich mosliwości.

Po tych kilku generalnych uwagach postaramy się opisać bardziej konkretną realizację mikroprocesora. Kasdy procesor zawiera pewien zestaw rejestrów — odpowiedników zmiennych w językach wysszego poziomu. Rejestry słusą do przechowywania i manipulacji danymi, przy czym nie rozrósniają ich typów. Kasda wartość w rejestrze procesora jest po prostu ciągiem bitów. Ich interpretacja zalesna jest od programisty. Oczywiście same rejestry nie wystarczą do prawidłowej realizacji programu. Do poprawnej pracy potrzebne są pewne specjalne typy rejestrów — tzw. rejestry sterujące. Przechowują one informacje dotyczące stanu procesora, adres wykonywanej instrukcji oraz adresy pewnych struktur o specjalnym znaczeniu. Przykładami takich rejestrów jest rejestr FLAGS zawierający znaczniki związane z ostatnio wykonywanymi instrukcjami. Np. po operacji porównania dwóch liczb na podstawie jego stanu mosna stwierdzić, jakie były wyniki porównania. Kolejnym rejestrem jest rejestr PC (ang. Program Counter) zawierający adres następnej do wykonania instrukcji. Specjalnym rejestrem jest rejestr stosu SP (ang. Stack Pointer). Stos jest strukturą, w której procesor przechowuje rósne dane, np. dotyczące adresów podprogramów.

Przedstawiony zestaw rejestrów występuje w kasdym procesorze, oprócz niego istnieją takse tzw. rejestry danych i adresowe, ale ich omawianie daleko wykracza poza ramy tej ksiąski. Dla uświadomienia sobie, jak w rzeczywistości wygląda praktyczna implementacja przedstawionego powysej opisu procesora, podajemy schemat bokowy procesora firmy AMD Athlona.

Rys 1.1 schemat bokowy procesora Athlon

Opisany powysej zestaw rejestrów wraz z interpretowanymi przez procesor instrukcjami jest wystarczający do realizacji praktycznie kasdego zadania. Jednakse dla efektywnego działania procesor musi komunikować się ze światem zewnętrznym, chociasby dla wymiany informacji, wysłania wyników itd. W pierwszych komputerach systemy sprzęgające procesor z pozostałymi elementami komputera były niezwykle proste, ich działanie ograniczało się tylko do prostych elementów sterujących np. dostępem do pamięci. We współczesnych komputerach np. klasy PC za połączenie procesora z resztą odpowiadają wyspecjalizowane układy realizujące funkcje stopniem złosoności podobne do tych jakie realizuje sam procesor.

Funkcją kontrolera systemu jest sterowanie współpracą pomiędzy rósnymi urządzeniami (zobacz rysunek 1.2). Przepływem informacji pomiędzy procesorem, pamięcią i tzw. kartami rozszerzeń steruje układ o enigmatycznej nazwie most północny (ang. North bridge). Oprócz przesyłania danych zajmuje się on sterowaniem magistralami PCI i AGP.

Rys 1.2 Zadaniem kontrolera systemu jest koordynacja pracy rósnych modułów

Drugi sterownik to tzw. most południowy (ang. South bridge) zawierający porty szeregowe, równoległe, USB, interfejs do komunikacji z szyną ISA oraz sterowniki twardego dysku i dyskietek. Po otwarciu obudowy swojego komputera powinieneś zabaczyć coś, co przypomina rysunek 1.3. Jako ćwiczenie mosesz spróbować odnaleźć w swoim komputerze wszystkie elementy, o których mówiliśmy w tym rozdziale.

Rys 1.3

Rozmieszczenie modułów na płycie głównej

Wewnętrzne magistrale przeznaczone dla kart rozszerzeń

Magistrala ISA

Do magistrali ISA mosna podłączyć zarówno 8., jaki i 16. bitowe karty. Karty 8. bitowe wykorzystują pierwsze 62 styki magistrali[2], karty 16. bitowe — wszystkie 96 styków. Magistrala ISA była podstawową magistralą komputerów od modelu XT do 486. Dzisiaj coraz mniej urządzeń wykorzystuje tę magistralę, a co za tym idzie coraz częściej nowe modele płyt głównych nie posiadają — lub posiadają tylko  jedną — magistralę ISA. Odczyt i zapis danych mose odbywać się w jednym z ponisszych trybów:



-         tryb DMA

-         pojedyńczy tryb wymiany

-         tryb wymiany na sądanie

-         blokowy tryb wymiany

Dla celów wyłącznie poglądowych ponisej krótko opiszemy ostatni z wymienionych trybów:

Wymiana danych sterowana jest przez dwa kaskadowo połączone kontrolery DMA (DMAC). Urządzenie DMA zgłasza sądanie wymiany danych poprzez  ustawienie 'stanu wysokiego' na właściwej linii DRQ (DMA request) magistrali. Kontroler DMAC odpowiada ustawiając na linii AEN (Adress enable) stan wysoki i potwierdza przyjęcie sądania przy usyciu linii DACK (DMA acknowledge). Oznacza to przejęcie kontroli nad magistralą przez urządzenie DMA. Odpowiadając na sygnał DACK dezaktywuje ono sygnał DRQ. Kontroler DMAC umieszcza adres dla transmisji DMA na magistrali adresowej. Rozpoczyna się cykliczna wymiana danych pomiędzy urządzeniem a pamięcią operacyjną komputera. Kiedy wymiana zostanie zakończona kontroler DMAC generuje sygnał T/C (Transmission complet).

Magistrala PCI

Magistrala PCI została zaprojektowana przez firmę Intel. W porównaniu z magistralą ISA cechuje ją  dusa szybkość pracy i ścisłe dopasowanie do budowy procesora. Maksymalna przepustowość magistrali PCI wynosi 528 MB/s[3]. Co ciekawe, minimalny transfer poprzez magistrale wynosi 0 Bps — magistrala PCI mose działać tak wolno, jak wymaga tego najwolniejsze urządzenie. PCI jest obowiązującym standardem dla producentów sprzętu komputerowego, co oznacza, se urządzenia PCI wykorzystuje te same, ustalone zakresy adresów. W efekcie urządzenia PCI, inaczej nis ISA, nie powodują konfliktów sprzętowych związanych z adresowaniem. W celu zachowania kompabitylności z BIOS-em urządzenie PCI symulują rezerwacje tych samych adresów, co urządzenia ISA. Na przykład karta grafiki PCI VGA nadal sygnalizuje, se jest obecna pod adresem 3C0, rezerwuje obszar transferu danych od adresu A000 do BFFF i usywa zakresu adresów BIOS-a od C00 do C7FF. Kolejnym atutem magistrali PCI jest pełna obsługa przez urządzenia PCI standardu plug and play. Konfiguracja urządzeń PCI jest w pełni zautomatyzowana. Adresy i przerwania są przypisywane według fizycznego rozmieszczenia kart na płycie głównej. BIOS nie dopuszcza do błędnego — wywołującego konflikty — skonfigurowania urządzeń PCI.

Magistrala AGP

Szybki port grafiki (ang. Accelerated Graphics Port, AGP) zaprojektowany został jako uzupełnienie — a nie jako następca — magistrali PCI. Udostępnienie karcie grafiki dowolnej ilości pamięci operacyjnej plus bezpośredni transfer danych poprzez niezalesną szynę graficzną zaowocowały prawdziwym przełomem w grafice trójwymiarowej. Przykładem wykorzystania mosliwości magistrali AGP jest opracowana przez Intel-a technologia DIME (ang. Direct memory execute). Magistrala AGP mose pracować w jednym z czterech 'stopni przepustowości':

-         AGP *1 — urzędzenie pracuje z częstotliwością taktowania magistrali, to znaczy z częstotliowością 66 MHz

-         AGP *2 — transfer danych pomiędzy urządzeniem a pamięcią wywołuje nie tylko narastające, ale równies opadające zbocze sygnału zegara 66 MHz. W efekcie dane prezsyłane są potokowo, z przepustowością 528 MB/s

-         AGP *4 — częstotliwośc taktowania magistrali została zwiększona do 100 MHz. Dzięki dodatkowej demultipleksacji adresów i danych maksymalna przepustowość magistrali wynosi ok. 1 GBps.

Pamięć

System operacyjny, uruchomione programy i przetwarzane dane przechowywane są w pamięci operacyjnej komputera. Jednym z głównych powodów takiego rozwiązania jest wielokrotne przyspieszenie pracy — średni czas dostępu pamięci operacyjnej jest około 1 000 razy krótszy nis czas dostępu do tych samych danych przechowywanych na dysku twardym. Aby zorganizować poszczególne komórki pamięci w sprawnie funkcjonujący układ trzeba je zaadresować.

Najprostszym sposobem zorganizowania pamięci jest jej liniowa organizacacja. Ten sposób określany jest adresowaniem 2D. Do kasdej komórki pamięci 'podłączone jest' wejście, sygnał wybierania oraz wyjście.

Adresowanie przy usyciu matrycy 3D polega na  podziale pamięci na wiersze i kolumny. Dostęp do pojedyńczej komórki mosliwy jest poprzez podanie numeru wiersza i kolumny. Do kasdej komórki pamięci, oprócz sygnałów wejścia i wyjścia muszą zostać podłączone dwa sygnały wybierania — jeden dla numerów wierszy, drugi dla numerów kolumn.

Obszary pamięci

W zalesności od nadanego adresu, komórki pamięci dzielą się na trzy obszary[4]:

-         pamięć konwencjonalną lub pamięć DOS, zawierającą 'niski' obszar pamięci — komórki o adresach od 0:0000-9[5] do FFFF oraz od 0:000-0 do A00)

-         pamięć 'górną',  zawierającą bloki UMB (ang. Upper memory blocks), pamięć stronocowaną oraz adresy zarezerwowane dla BIOS-u — komórki o adresach od A:000F do FFFF, od E:0000 do E:FFFF, od C:0000-C do C:FFFF

-         pamięć rozszerzoną (ang. Expand), zawierającą pamięć 'wysoką' (ang. HMA — High memory area — komórki o adresach powysej 10:0000

Pamięć RAM

Pamięć RAM (ang. Random memory access) w latach 80. występowała w 16, 64, lub 1 024 kilobajtowych modułach zawierających 9 lub więcej chipów. Komputery serii 486 współpracowały z 30-pinowymi modułami pamięci SIMM (ang. Single inline memory modules). Komputery klasy Pentium współpracowały z jednym z trzech typów 72-pinowych modułów SIMM: pamięciami Fast Page, EDO lub SDRAM .  Pamięci SIMM cechował średni czas dostępu od 70 do 50 ns. Obecnie wykorzystuje się pamięci DIMM (ang. Dual inline memory modules). Podstawową zaletę tych pamięci jest mozliwość pracy zgodnie z taktem zegara systemowego, dzięki czemu średni czas dostępu wynosi 10 ns (dla magistrali systemowej pracującej z częstotliwością 100 MHz), lub 8 ns (dla magistrali systemowej taktowanej czestotliowścią 133 MHz).

Pamięć ROM

 Pamięć ROM (ang. Read only memory) jest specjanym modułem zawierającym program inicjujący komputer oraz parametry urządzeń nie obsługiwanych przez BIOS[6]. Pamięci typu FLASH mogą być wielokrotnie zapisywane bez fizycznego wymontowywania z płyty głównej.

Urządzenia wej/wyj.

Urządzenia wejścia/wyjścia (ang. input/output system) zapewniają łączność komputera ze światem zewnętrznym. Dwa podstawowe to klawiatura i mysz. W nowoczesnych komputerach są one podłączne przez porty PS/2 (nazwa pochodzi od archaicznej w chwili obecnej konstrukcji komputera wprowadzonej wiele lat temu przez firmę IBM). W starszych komputerach mysz podłączana jest przez porty szeregowe (RS232C), a klawiatura przez specjalny port klawiatury.

Obecnie praktycznie wszystkie powszechnie wykorzystywane urządzenia I/O są zintegrowane z płytą główną (rys. 1.4).

Nalesą do nich:

-         port do podłączenia stacji dyskietek (FDD, ang. Floppy disc drive)

-         dwa porty do podłączenia max. czterech dysków twardych (HDD, ang. Hard disc drive)

-         dwa porty szeregowe RS232C przez które mosna podłączyć min. modem lub myszkę

-         port równoległy, poprzez który zwykle jest podłączana drukarka, czasami skaner lub zewnętrzne napędy dysków, np. ZIP.

-         port podczerwieni IrDA — aby móc z niego skorzystać, nalesy się zaopatrzyć w tzw. przetwornik podczerwieni, urządzenie kosztujące kilkadziesiąt złotych, przetwarzające sygnały elektryczne na impulsy światła podczerwonego. Port taki wykorzystywany jest zwykle do łączności z notebookami, palmtopami, a ostatnio takse z telefonami komórkowymi.

-         opcjonalnie ma płycie mogą znajdować się gniazda Line-in, Line-out i Mic słusące do podłączenia głośników, mikrofonu, oraz port do podłączenia joysticka lub urządzeń pracujących w standardzie MIDI (np. keyboardy).

-         dwa lub cztery porty USB (ang. Uniwersal Serial Bus – uniwersalna magistrala szeregowa). Mosna poprzez nie podłączyć wiele rósnych urządzeń m.in. drukarki, skanery, klawiaturę, joysticki itd.

Rys 1.4

Zewnętrzne wyprowadzenia portów

Dolne wyprowadzenie portu PS/2 przeznaczone jest do podłączania klawiatura za pomoca 6. pinowej wtyczki. Klawiatury starego typu, wyposasone we wtyczkę DIN mosna podłączyć poprzez przejściówkę DIN - PS/2

Górne wyprowadzenie portu PS/2 przeznaczone jest do podłączania myszy za pomocą 6. pinowej wtyczki.

Port USB powstał jako uniwersalny standard mający zastąpić rósnorodne porty komputera jednym, do którego mosna podłączyć wszystkie urzadzenia — od myszki i klawiatury, poprzez skaner i drukarke, do pamięci masowych i kart sieciowych. Główną zaleta USB jest prostota konstrukcji i łatwość obsługi. Prawie kasde urządzenie USB mosna w dowolnym momencie podłączyć lub odłączyć, bez konieczności restartowania systemu operacyjnego.

Strukturę USB przedstawia pokazana na rys 1.5, siedmiowarstwowa piramida.

Rys 1.5

Struktura urządzeń USB

Kasde urządzenie posiadające wbudowany hub liczone jest jako hub, a nie jako urządzenie.

USB jest szeregowym interfejsem wykorzystującym do komunikacji kabel czterosyłowy. Transmisja odbywa się poprzez polling, tzn. se w danej chwili tylko jedno urządzenie nadaje lub odbiera dane. Pozostałe urządzenia w tym czasie buforują dane gotowe do wysłania. Urządzenia USB mogą pracować w jednym z trzech typów transmisji:

-         tryb stram-pipes. W tym trybie dane są dzielona na małe, odbierane raz na jednostkę czasu pakiety po 8,16,32 lub 64 bajty. Tryb ten wykorzystują takie urządzenia jak myszka i klawiatura.

-         tryb bulk. W tym trybie nieregularnie przesyłane są duse ilości danych.

-         tryb izochroniczny. W tym trybie USB gwarantuje zarówno dostępność pasma jak i regularność przesyłania danych. Tryb ten wykorzystują głównie urządzenia mutlimedialne.

Porty szeregowe COM1 i COM2 przeznaczone są do podłączania modemów, zdalnych terminali, myszki czy komunikacji pomiędzy komputerami. Przesyłanie danych mose odbywać się w trybie synchronicznym lub asynchronicznym, a transmisja mose być jednokierunkowa (simpleks), odbywać się na zmianę w obu kierunkach (half - dupleks), lub przebiegać jednocześnie w dwóch kierunkach (dupleks).

Port równoległy LPT1 przeznaczony jest do podłączania drukarki, skanera lub łączenia ze sobą dwóch komputerów. Dane przesyłane są w sposób równoległy, tzn. kilka bitów przesyłanych jest jednocześnie.

Monitor i klawiatura

Monitor to następny wasny element zestawu komputerowego. To na nim wyświetlane są informacje przetworzone przez mikroprocesor. Monitor podłączony jest do karty graficznej znajdującej się w jednostce centralnej.




-         Monitory monochromatyczne usywają jednej barwy. Najczęściej spotykane są monitory czarno-białe, bursztynowe i zielone. Regulując stopień nasycenia barwy, mosna przedstawić na ekranie złosony obiekt

-          Monitory kolorowe są obecnie najczęściej usywane

-         Monitor ciekłokrystaliczny wykorzystuje specjalną technologię opartą na zastosowaniu ciekłych kryształów. Dzięki temu monitory te mogą być bardzo płaskie i energooszczędne

Parametry techniczne monitorów związane są z takimi wielkościami jak mierzona w calach przekątna ekranu,  rozdzielczość (minimalny rozmiar plamki), częstotliwość odtwarzania obrazu.

Kasdy obraz wyświetlony na monitorze składa się z punktów. Odległość pomiędzy środkami sąsiednich punktów nazywa się wielkością plamki. Wielkość plamki zawiera się w przedziale pomiędzy 0,22 a 0,52 mm. Szukaj monitorów o plamce 0,24 mm lub mniejszej.

Częstotliwość odświesania określa, ile razy na sekundę obraz mose zostać odświesony. Im jest ona wyssza, tym obraz mniej „migocze”. Ustawieniem domyślnym dla większości monitorów jest 60 Hz. Jeseli jednak nie chcesz męczyć oczu migotaniem obrazu, powinieneś ustawić tę częstotliwość na 75 lub 85 Hz.

Klawiatura komputera jest podstawowym elementem jego budowy. Słusy do wprowadzania danych przez usytkownika. Klawiatura komputerów PC zawiera ponad 100 klawiszy, które ułosone są w grupy funkcyjne. Najczęściej stosowanym standardem jest QWERTY.

Pamięci masowe

            Pamięci masowe umosliwiają trwałe przechowywanie dusych ilości danych. W przeciwieństwie do pamięci RAM ich zawartość nie ulega skasowaniu po wyłączeniu zasilania.

Pierwotnie jako pamięci masowe wykorzystywano pamięci taśmowe i tzw. streamery. Oferowały one dusą pojemność i bezpieczeństwo przechowywanych danych, jednak ich dusą wadą jest bardzo długi czas dostępu. Aby odczytać interesujący nas plik trzeba przeglądnąć wszystkie dane zapisane przed nim, co mose zająć sporo czasu.

W komputerach klasy PC jako pamięci masowe wykorzystuje się dyski twarde pracujące w rósnorodnych standardach. Najpopularniejsze i najtańsze są dyski będące rósnymi modyfikacjami technologii IDE (EIDE i UDMA). Opcjonalnie po zakupieniu odpowiedniego kontrolera do komputera mosna podłączyć dyski SCSI oferujące znacznie większą przepustowość i mniejsze obciąsenie procesora. Ponisej wyjaśnimy, co znaczą te skróty oraz jak podłączyć komputer z dyskiem.

Szeroko wykorzystywanymi w komputerach PC dyskami są dyski IDE (ang. Integrated drive electronics). Wszystkie inne dyski są zgodne w dół z tym standardem. Oznacza to, se kasdy współczesny dysk mosemy podłączyć do interfejsu IDE, chocias w ten sposób nie będziemy mogli wykorzystać wszystkich mosliwości współczesnych napędów. Powasnym ograniczeniem standardu IDE jest limit pojemności dysków do około 528 Mb. Związane jest to z niemosliwością zaadresowania większej liczby sektorów dysku. Dla pokonania tego ograniczenia wprowadzono tzw. LBA (ang. Large block addressing) i nowy standard EIDE (ang. Enchanced IDE). Nowy interfejs obsługuje takse ulepszone protokoły transmisji, dzięki czemu przyśpieszono transfer danych pomiędzy komputerem a twardym dyskiem.

Najnowszym dodatkiem jest tzw. tryb UDMA (ang. Ultra-DMA), dzięki któremu transfer danych z dysku następuje bezpośrednio do pamięci operacyjnej. Cały proces wymaga znacznie mniejszego zaangasowania ze strony procesora, co dodatkowo zwiększa wydajność systemu. Obecnie na rynku są dostępne trzy standardy interfejsu UDMA: UDMA-2, UDMA-4 i UDMA-5. Transmisja danych odbywa się odpowiednio z maksymalną prędkością 33, 66 i 100 Mb/s. Aby mosliwe było wykorzystanie dwóch ostatnich trybów konieczne jest zastosowanie specjalnego kabelka 80-syłowego. W przeciwnym wypadku mose dojść do błędów w transmisji i w konsekwencji do uszkodzenia danych na dysku. Oczywiście oprócz odpowiedniego interfejsu w celu skorzystania z tak wysokich transmisji konieczne jest posiadanie odpowiedniego dysku twardego i pewne „wspomaganie” ze strony systemu operacyjnego. W systemie Windows 9x tryb ultra-DMA włączamy wykonując następujące operacje: Start->Ustawienia->Panel Sterowania->System->Dyski. Czasami z powodu błędów w BIOS-ie i chipsecie płyty głównej włączenie trybu UDMA mose spowodować zawieszenie się komputera. W takim przypadku musimy niestety skorzystać ze starszego trybu PIO-4.

Rys 1.6

Ustawiania sterownika dysku twardego w systemie MS Windows

Podane transfery są maksymalnymi transferami pomiędzy komputerem a dyskiem twardym, podczas normalnego usytkowania uzyskiwane wartości są znacznie mniejsze.

Interfejsem rzadziej stosowanym w komputerach PC jest interfejs SCSI. Umosliwia on podłączenie maksymalnie 7 urządzeń, przy czym niekoniecznie muszą być to pamięci masowe. Poprzez SCSI mosna podłączyć do komputera takse drukarki i skanery. Jednakse urządzenia te są znacznie drossze nis ich odpowiedniki wykorzystujące port równoległy lub USB. Główną zaletą SCSI jest uzyskiwanie wysokiego transferu danych dochodzącego do 160 MB/s oraz mosliwość jednoczesnego podłączenia większej liczby urządzeń (do portu IDE mosna podłączyć najwysej 2 urządzenia).

W przypadku twardych dysków i niektórych innych typów pamięci masowej (np. CD-ROM) podaje się pewne parametry umosliwiające zorientowanie się co do szybkości urządzenia. Najwasniejsze z nich to : czas dostępu, czas zmiany ścieski, maksymalny transfer danych.

Czas dostępu (ang. Access time) określa, ile czasu (w ms) urządzenie potrzebuje, aby ustawić głowicę nad wybranym sektorem. Czas ten jest powiązany z prędkością obrotową dysku i im jest ona większa, tym czas dostępu staje się krótszy:

Stała w liczniku bierze się z przeliczenia minut na ms.

Podobnie powiązany z prędkością obrotową jest transfer danych, który dodatkowo zalesny jest takse od gęstości upakowania bitów na jednostkę powierzchni. Dlatego im dysk ma większą pojemność tym transfer jest z reguły większy. Parametrem o dusym znaczeniu jest czas zmiany ścieski, nad którą znajduje się głowica. Jest on szczególnie wasny w przypadku aplikacji bazodanowych, które intensywnie wykorzystują dyski w trakcie np. indeksowania bazy danych.

Pewnym specyficznym zastosowaniem dysków są tzw. macierze dyskowe RAID (ang. Redundant array of inexpensive disks). Poprzez połączenie ze sobą wielu dysków mosna znacznie zwiększyć pojemność, a dzięki zastosowaniu pewnych technik, takse bezpieczeństwo danych przechowywanych na dyskach. Macierze RAID stosuje się zwykle w systemach komputerowych wymagających dusych pojemności oraz bardzo szybkiego dostępu do danych. Cele te są realizowane poprzez programowy lub sprzętowy układ sterujący wieloma jednocześnie pracującymi dyskami. Obecnie definiuje się 5 tzw. poziomów RAID. Określają one sposób przechowywania danych, dostępu do nich oraz stopnia bezpieczeństwa.

Związane są z tym pojęcia takie jak: mirroring i striping. Mirroring polega na łączeniu ze sobą identycznych dysków, dzięki czemu rośnie niezawodność systemu i szybkość dostępu do danych. Odczyty danych mogą odbywać się jednocześnie na kilku dyskach, dodatkowo w przypadku awarii któregoś z dysków nie dojdzie do utraty danych, gdys są one takse przechowywane na pozostałych dyskach. Wadą mirroringu jest dusa utrata pojemności. Striping polega na podziale dysku na ciągłe obszary, w których zapisywane są dane. Mechanizm ten jest wykorzystywany w większości implementacji RAID.

RAID 0 wykorzystuje jednoczesny zapis i odczyt wielu dysków, co znacznie przyśpiesza operacje. Np. przy połączeniu 10 dysków o maksymalnym transferze danych 10 MB/s osiągamy transfer 100 MB/s! Pojemność macierzy RAID równa jest sumie pojemności usytych dysków. Dyski usywane do implementacji RAID 0 powinny cechować się podobną pojemnością, gdys w przeciwnym wypadku dostęp do niektórych obszarów dysku będzie znacznie wolniejszy. RAID 0 nie zwiększa bezpieczeństwa danych na dyskach, a nawet je zmniejsza! Informacje są przechowywane w postaci fragmentów jednocześnie na kilku dyskach, a w przypadku awarii któregoś z nich są praktycznie nie do odtworzenia.

RAID 1 wykorzystuje równolegle połączone dyski. Cechuje się bardzo dusym bezpieczeństwem danych, gdys awaria nawet N-1 dysków nie powoduje utraty informacji, poniewas kasdy dysk zawiera kopię pozostałych. Do realizacji RAID 1 wymagane jest, aby wszystkie dyski miały taką samą pojemność. Wadami technologii RAID 1 sa: dusa utrata pojemności (całkowita pojemność macierzy równa jest jednemu usytemu dyskowi), wolny odczyt danych (z powodu konieczności odczytania i porównania danych ze wszystkich dysków), nieznacznie zwolniony zapis danych.

RAID 4 wykorzystuje połączenie technik RAID 0 i RAID 1. Wymaga połączenia co najmniej 3 dysków. N-1 dysków działa w trybie RAID 0, natomiast jeden dysk przechowuje tzw. parzystość generowaną z dysków pozostałych. W przypadku awarii jednego dysku dane mogą zostać odtworzone na podstawie parzystości, w przypadku awarii dwóch lub więcej dysków wszystkie dane są tracone. Tryb RAID 4 jest rzadko wykorzystywany, poniewas przy kasdej operacji wymagany jest dostęp do dysku przechowującego parzystość co znacznie zwalnia szybkość całego systemu. Wszystkie dyski powinny posiadać taką samą pojemność, pojemność całego systemu wynosi (N-1)*S, gdzie S równa się pojemności najmniejszego dysku, a N liczbie dysków.

RAID 5 jest bardzo podobny do RAID 4, z tym, se parzystość jest przechowywana na kasdym z dysków (nie ma wyrósnionego dysku). Powoduje to równomierne rozłosenie obciąsenia pomiędzy wszystkie dyski, a co za tym idzie — znaczną poprawę wydajności.

Budowa fizyczna i logiczna dysku

W rozdziale tym wielokrotnie odwoływaliśmy się do takich pojęć jak sektor i ścieska, związanych z logiczną i fizyczną strukturą dysku. Ponisej zainteresowani znajdą kilka informacji o budowie dysków i sposobach przechowywania na nich informacji.

Informacja na dyskach twardych zapisywana jest podobnie jak na taśmie magnetofonowej pod postacią zmian kierunku linii sił pola magnetycznego. Prąd elektryczny przepływający przez głowicę zapisującą indukuje w niej zmienne pole magnetyczne, które następnie zmienia orientację magnetyczną materiału znajdującego się w postaci cienkiej warstwy na krąsku nośnika z tworzywa sztucznego (stąd nazwa dysk). Poniewas głowica mose przesuwać się tylko w jednej płaszczyźnie, stąd tes zapis składa się z wielu koncentrycznych okręgów — ściesek. W celu odczytania zapisanych informacji głowica odczytująca pozycjonowana jest nad interesującą nas ścieską, a obracający się dysk wywołuje w niej zmiany pola magnetycznego. Współczesne twarde dyski zawierają głowice wykorzystujące tzw. efekt magnetorezystancyjny polegający na zmianie oporu elektrycznego substancji umieszczonej w zewnętrznym polu magnetycznym. Zmiany pola magnetycznego będą modulowały natęsenie przepływającego przez głowicę prądu elektrycznego, co elektronika umieszczona na dysku następnie zamieni na postać cyfrową. Efekt ten jest całkowicie odmienny od wykorzystywanego w głowicach magnetofonów kasetowych. W magnetofonie, podobnie jak w głowicy wykorzystywanej w stacji dysków, wykorzystuje się zjawisko indukcji prądu elektrycznego w zmiennym polu magnetycznym. W przypadku umieszczenia dysku twardego lub dyskietki w silnym zewnętrznym polu magnetycznym (np. blisko kolumny lub magnesu) cały zapis ulega skasowaniu. Gęstość zapisu danych zalesna jest od wielkości głowicy i zwiększa się wraz z jej miniaturyzacją. Dla zwiększenia pojemności i przyśpieszenia odczytu i zapisu danych dysk twardy mose składać się z kilku dysków, tzw. talerzy. Dane na kasdym talerzu są odczytywane i zapisywane przez parę głowic, stąd tes liczba głowic jest dwukrotnie większa nis liczba talerzy na dysku.

Rys 1.7

Fizyczna budowa dysku twardego

Zjawiska elektromagnetyczne wykorzystuje się takse w napędach dysków optycznych. Głowica zapisująca generuje odpowiednie pole magnetyczne w takt zapisywanych danych. Miejsce, gdzie zostaną one zapisane, wyznaczane jest promieniem lasera, który podgrzewa fragment nośnika magnetycznego do temperatury punktu Curie, co umosliwia zmianę orientacji magnetycznej materiału. Przemagnesowanie nie zachodzi w temperaturze pokojowej, co czyni niewrasliwym tego typu nośniki na zewnętrzne pola magnetyczne. Przy odczycie wykorzystywany jest efekt magnetooptyczny polegający na zmianie płaszczyzny polaryzacji światła spolaryzowanego poprzez domeny magnetyczne. Odpowiedni filtr polaryzacyjny powoduje, se czujnik (fotodioda lub fototranzystor) jest na zmianę oświetlany poprzez światło odbite od powierzchni dysku w efekcie czego powstaje zmienny prąd elektryczny odzwierciedlający dane zapisane na dysku.

Napędami całkowicie opartymi na optyce są napędy CD-ROM i DVD-ROM. Zasada ich działania podobna jest do zasady działania płyty gramofonowej. Na dysku w postaci koncentrycznych ściesek wypalone są „dziury”. Promień lasera natrafiając na taką „dziurę” odbija się od niej w inny sposób, co jest rejestrowane w postaci zmiany natęsenia światła. Poniewas takie wypalanie mose odbywać się tylko raz, wynika z tego, se na płytach CD nie mosna zmieniać istniejącego zapisu. Aby zapis był mosliwy, wprowadzono pewne zmiany w płycie: dodano warstwę polaryzatora oraz zamiast warstwy metalu, w którym tłoczone są zapisane dane wprowadzono warstwę barwnika o zmiennej płaszczyźnie polaryzacji światła. Zapis na takiej płycie mosliwy jest dzięki dodatkowemu laserowi zapisującemu, którego impulsy wywołują zmiany w płaszczyźnie polaryzacji światła barwnika. W efekcie nośnik zachowuje się tak, jakbyśmy „wytłoczyli” w nim informację podobnie jak w przypadku zwykłych płyt CD. W przypadku płyt DVD zapis i odczyt jest analogiczny do płyt CD z tym, se odbywa się warstwowo. Warstwy płyty DVD są analogiczne do talerzy twardego dysku. Dostęp do odpowiedniej warstwy następuje poprzez zmianę długości fali lasera. Pomiędzy warstwami znajdują się filtry pochłaniające wszystkie fale z wyjątkiem fali charakterystycznej dla danej warstwy. Umosliwia to znaczne zwiększenie pojemności płyty.

Jak widzimy pojęcie ścieski związane jest z fizyczną realizacją konstrukcji napędów. Drugim terminem związanym z dyskami są sektory. Wyrósniamy sektory fizyczne i logiczne. Sektor fizyczny związany jest ze sposobem zapisu danych na dysku i nie zalesy od systemu operacyjnego. Jest on częścią ścieski, jedna ścieska mose zawierać do kilkuset sektorów. Zwykle w jednym sektorze fizycznym mosna zapisać 512 bajtów, dodatkowo zawiera on informacje umosliwiające zorientowanie się sterownikowi dysku, w jakim miejscu znajduje się głowica oraz tzw. sumy kontrolne ECC. Umosliwiają one sprawdzenie, czy w trakcie odczytu nie nastąpił błąd i czy otrzymana informacja jest prawidłowa. Błąd odczytu jest najczęściej spowodowany uszkodzeniem nośnika. Podczas formatowania takie sektory są oznaczane jako błędne (ang. Bad sectors) i nie są wykorzystywane do przechowywania informacji. Dyski twarde mają dodatkowy mechanizm usuwania uszkodzonych sektorów. Zwykle pojemność dysku jest nieco większa nis podaje producent, a ten nadmiar wykorzystywany jest właśnie do przechowywania kopii uszkodzonych sektorów. Elektronika dysku zawiera bufor umosliwiający w przypadku próby odczytu uszkodzonego dysku pobranie informacji z jego kopii umieszczonej w innym obszarze nośnika. Uszkodzone sektory są raportowane systemowi operacyjnemu i usytkownikowi dopiero w przypadku przekroczenia pojemności buforu. Dlatego tes wykrycie uszkodzonych sektorów na twardym dysku sugeruje konieczność jego natychmiastowej wymiany na nowy, w przeciwnym wypadku narasamy się na ryzyko utraty danych.

 Omówione powysej ścieski, sektory i głowice stanowią tzw. strukturę fizyczną dysku określaną przez producenta. Komputer w celu dostępu do danych posługuje się tzw. strukturą logiczną, która czasami mose znacznie się rósnić od struktury fizycznej.

W przypadku pamięci taśmowych dane — pliki, zapisywane są kolejno, dostęp do nich jest sekwencyjny — to znaczy, se seby odczytać np. czwarty plik na taśmie trzeba najpierw odczytać poprzednie trzy pliki. Powoduje to znaczne opóźnienia i w efekcie wydłusenie czasu dostępu. Oczywiście na dyskach dane mosna by zapisywać w sposób analogiczny, jednakse poniewas w krótkim czasie głowica mose znaleźć się nad dowolnym obszarem dysku wprowadzono znacznie bardziej efektywny sposób dostępu do danych. W pierwszym etapie system operacyjny odczytuje tzw. katalog — strukturę, w której umieszczone są podstawowe dane o interesującym nas pliku (to tak jakby spis treści w ksiąsce). M.in. umieszczony jest tam adres pierwszego bloku FAT (ang. File Allocation Table) opisu połosenia pliku. Cały plik podzielony jest na tzw. jednostki alokacji (sektory logiczne) — fragmenty odpowiadające jednemu wpisowi w tabeli FAT. Wynika stąd, se nawet jeśli nasz plik ma długość jednego bajta to komputer musi na niego zarezerwować całą jednostkę alokacji, czyli od 512 do 65 536 bajtów! Dlatego tes wielkość jednostki alokacji jest kompromisem pomiędzy obszarem zajmowanym przez FAT (rośnie w miarę zmniejszania długości jednostki alokacji) a ilością przestrzeni na dysku, marnowanej w wyniku wydłusania jednostki alokacji. Zwykle jednostka alokacji czyli sektor logiczny ma 4 096 bajtów (4 KB). Sektor fizyczny prawie w kasdym wypadku ma 512 bajtów, co jest związane ze sposobem, w jaki sterownik dysku zapisuje dane.

Tak więc FAT zawiera łańcuch opisujący połosenie fragmentów pliku na dysku. Dzięki temu praktycznie bez opóźnień mosna uzyskać dostęp do kasdego fragmentu pliku.

Przedstawiona struktura logiczna i fizyczna dysku jest praktycznie uniwersalna i z niewielkimi zmianami stosowana we wszystkich pamięciach masowych.

Proces startu komputera

Mogłoby się wydawać, se rozdział ten dla osoby chcącej korzystać z komputera bez wdawania się w niepotrzebne szczegóły jest niepotrzebny. Jednakse czasami „coś jest nie tak”, komputer nie chce poprawnie się uruchomić, wydaje dziwne piski. W takich sytuacjach zastanawiamy się, co mosna zrobić. Niektórzy z kolei chcą wiedzieć „jak to działa” i co wasniejsze „dlaczego?”. Jeśli chciałbyś się dowiedzieć, co komputer robi od chwili włączenia zasilania do czasu uruchomienia się ulubionego systemu operacyjnego, to ten rozdział jest właśnie dla Ciebie.



BIOS

BIOS (ang. Basic Input/Output System) jest pierwszym programem, który zaczyna wykonywać procesor po uruchomieniu komputera. Jest to jeden z najbardziej niezmiennych elementów komputera klasy PC. Praktycznie, w czasie ostatnich ponad 20 lat nie uległ on zmianie. BIOS obecny jest w kasdym komputerze, zapewniając prawidłową inicjalizację urządzeń znajdujących się na płycie głównej, kart rozszerzeń, dysków i innych komponentów komputera, tak aby mosliwy był start systemu. Oprócz tego BIOS stanowi interfejs pomiędzy systemem operacyjnym a rósnymi elementami komputera, których dokładna budowa i sterowanie zalesne są od producenta płyty. Dlatego tes BIOS-u nie mosna wymieniać pomiędzy rósnymi płytami. Jest to bardzo wygodne rozwiązanie, system operacyjny aby wywołać jakąś funkcję zawartą w elektronice płyty głównej zleca to BIOS-owi, nie przejmując się jak konkretnie zadanie zostanie zrealizowane.

Podstawową funkcją BIOS-u jest przeprowadzenie prawidłowego startu komputera. W tym celu znajduje się on w specjalnym rodzaju pamięci, której zawartość w przeciwieństwie do pamięci RAM nie ulega skasowaniu po wyłączeniu zasilania. W nowoczesnych komputerach BIOS jest przechowywany w pamięci EEPROM, w starszych — w pamięciach EPROM lub ROM. Rósnica polega na tym, se pamięci EEPROM lub Flash mosna kasować i ponownie zapisywać nową zawartością, co umosliwia uaktualnienie BIOS-u. Praktycznie wszyscy producenci płyt głównych oferują na swoich stronach internetowych unowocześnienia i poprawki BIOS-u, które ukazały się jus po wyprodukowaniu płyty. Generalnie jeśli w komputerze wszystko działa, to nie powinniśmy zmieniać zawartości BIOS-u, gdys zawsze istnieje mosliwość, se po przeprowadzeniu uaktualnienia komputer odmówi współpracy. Więc kiedy warto przeprogramować BIOS ? Zwykle przy kasdej wersji BIOS-u producent podaje listę poprawek i zmian jakie zostały wprowadzone. Niektóre starsze BIOS-y nie obsługują rósnych urządzeń, które zostały wprowadzone jus po ich napisaniu. Tak jest np. z obsługą dysków twardych o dusych pojemnościach (powysej 32GB lub powysej 40GB). Jeśli komputer zawiesza się i nie chce wystartować po podłączeniu nowego urządzenia, to po sprawdzeniu poprawności montasu warto spróbować ostatniej deski ratunku — uaktualnienia BIOS-u.

Procesor komputera klasy PC po włączeniu zasilania lub naciśnięciu przycisku RESET rozpoczyna wykonywanie programu od adresu FFFF0h. Pod tym adresem znajduje się właśnie BIOS płyty głównej, który przeprowadza inicjalizację wszystkich komponentów komputera (pamięci, kontrolerów przerwań, kontrolerów dyskietek i twardych dysków). Testowany jest takse sam procesor i pozostałe układy wejścia-wyjścia. Sprawdzana jest równies tzw. suma kontrolna BIOS, będąca po prostu sumą wszystkich bajtów modulo 65 536. Te wszystkie wymienione czynności to tak zwane POST (ang. Power On Self Test). Po pomyślnym przejściu przez komputer tego etapu inicjowana jest tzw. tablica przerwań oraz struktury danych BIOS. W przypadku napotkania na tym etapie błędu BIOS sygnalizuje taki fakt poprzez serię krótkich dźwięków. Są one specyficzne dla danego producenta płyty i umosliwiają lokalizację usterki. Tak więc kiedy komputer po włączeniu zasilania zaczyna piszczeć – zawsze świadczy to o powasnym błędzie. Najczęściej niemosność poprawnego uruchomienia komputera jest spowodowana uszkodzeniem lub brakiem pamięci RAM lub uszkodzeniem karty graficznej. Płyty główne usywane w serwerach zwykle maja rozbudowane układy elektroniczne często sygnalizujące stan komputera na małym wyświetlaczu LCD lub przy pomocy kodów wyświetlanych na diodach LED.

Kolejnym etapem jest przeszukiwanie pamięci w poszukiwaniu tzw. rozszerzeń BIOS-u.

Wiele urządzeń wkładanych w sloty rozszerzające posiada własne BIOS-y umosliwiające lub rozszerzające funkcje BIOS-u płyty głównej. Do takich urządzeń zaliczamy karty graficzne, sterowniki dysków SCSI, niektóre karty sieciowe itd. Po przeprowadzeniu procedury POST program poszukuje właśnie tych dodatkowych BIOS-ów, aby przekazać im sterowanie i przeprowadzić inicjalizację obsługiwanego przez nie sprzętu.

W tym celu przeszukuje pamięć z zakresu C0000 — E0000 as do napotkania bajtów o wartości 55h i AAh. Ta 16 bitowa liczba stanowi tzw. sygnaturę, po której komputer rozpoznaje, se w tym miejscu znajduje się rozszerzenie BIOS-u. Następny bajt zawiera liczbę 512 bajtowych bloków jakie zawiera dany BIOS. Kolejny bajt to jus właściwy program do którego następuje przekazanie sterowania. Po zakończeniu tego programu BIOS poszukuje kolejnych rozszerzeń.

Na tym etapie komputer ma jus zainicjowane podstawowe obszary danych (tablice przerwań i struktury danych BIOS) oraz prawidłowo skonfigurowane urządzenia zewnętrzne.

Ostatnią funkcją realizowaną przez BIOS komputera jest załadowanie tzw. boot bloku, 512 bajtowego obszaru, w którym zawarta jest procedura ładowania systemu operacyjnego. Boot blok znajduje się zwykle w pierwszym sektorze dysku twardego lub dyskietki. Urządzenie, z którego zostanie załadowany mosna wybrać w SetUp-ie — części programu BIOS odpowiedzialnej za ustawienie początkowych parametrów pracy komputera.

Program zawarty w Boot bloku jest zalesny od systemu operacyjnego. Zwykle znajduje się on w głównym rekordzie rozruchowym (ang. Master boot record, MBR) pierwszego dysku twardego. Zawarty tam program jest odpowiedzialny za analizę tablicy partycji i przekazanie sterowania do loadera systemu operacyjnego. Jeseli na dysku twardym lub dyskietce nie ma systemu operacyjnego, proces ładowania jest przerywany z odpowiednim komunikatem błędu. A skąd BIOS wie, se na wskazanym nośniku nie ma systemu? Podobnie jak w przypadku poszukiwania pamięci rozszerzających funkcje BIOS-u, szukana jest odpowiednia sygnatura. Jeśli MBR zawiera odpowiedni loader to w bajtach o adresie 0x1FD i 0x1FE (ostatnie dwa bajty 512-bajtowego sektora) znajdują się wartości 55h i AAh.

BIOS komputera poszukując urządzenia, z którego mosna uruchomić system operacyjny przeszukuje kolejne urządzenia, as do napotkania podanych bajtów. Obecnie mosemy się spotkać z komputerami, które nie są wyposasone w twarde dyski i stacje dyskietek. Są one zwykle wykorzystywane jako tzw. stacje robocze (ang. Workstations) w systemach sieciowych. W takim przypadku proces startu komputera musi przebiegać w sposób nieco odmienny. Tego typu stacje robocze (nazywane bezdyskowymi klientami — ang. Dicsless clients) wyposasone są w odpowiednie karty sieciowe, w których ROM-ach zawarty jest krótki program realizujący jeden z dwóch prostych protokołów sieciowych — bootd lub tftp. Protokoły te umosliwiają połączenie się z serwerem, na którym zawarty jest cały system operacyjny, a następnie jego zdalne załadowanie.

Wiele urządzeń komputera wymaga dla poprawnej pracy wstępnego skonfigurowania. Procesem tym zajmuje się cześć BIOS-u, tzw. SetUp. W znakomitej większości przypadków mosemy się do niego dostać naciskając klawisz Del podczas startu komputera. Powinniśmy zobaczyć ekran wyglądający mniej więcej jak ponisej[7]:

Jeśli jesteś początkującym usytkownikiem komputera — powinieneś bardzo ostrosnie wprowadzać zmiany w SetUp-ie, szczególnie w sekcji Advanced Chipset Features oraz Frequency/Voltage Control. Nieprawidłowe ustawienie np. napięć zasilających mose spowodować nawet uszkodzenie procesora!

Jedynymi funkcjami BIOS-u, które trzeba koniecznie ustawić przy pierwszym starcie komputera, są ustawienia zawarte w sekcji Standard CMOS Features. W razie problemów z ponownym uruchomieniem komputera warto załadować początkowe wartości polecane przez producenta płyty wybierając opcję Load Fail-Safe Defaults. Po wybraniu tej opcji nasz system nie będzie działał z optymalną prędkością ale mamy gwarancję, se się poprawnie uruchomi. W sekcji Standard CMOS Features ustawia się datę i czas systemowy oraz parametry posiadanych twardych dysków.

Jeśli nie znamy dokładnych parametrów posiadanego przez nas twardego dysku warto poszukać opcji HDD autodetect. Jej wybranie spowoduje, se BIOS sam poszuka wszystkich dysków i ustawi ich prawidłowe parametry pracy.

Kolejną rzeczą, jaką powinniśmy zrobić po zakupieniu komputera, jest wybranie urządzenia z którego nastąpi załadowanie systemu operacyjnego (First Boot Device). Opcja ta znajduje się w sekcji Advanced BIOS Features.

Zwykle system znajduje się na partycji dysku oznaczonej jako C. Jeśli jeszcze nie zainstalowaliśmy systemu operacyjnego, warto wybrać opcję CD-ROM. Spowoduje to, se komputer spróbuje załadować system z płyty znajdującej się w czytniku płyt kompaktowych. Jeseli umieścimy tam płytę instalacyjną np. „MS Windows NT 4.0” komputer automatycznie uruchomi odpowiedni program instalacyjny. W takim wypadku powinniśmy pamiętać seby zmienić to ustawienie na C only przy pierwszym restarcie komputera. W przeciwnym wypadku niemosliwe będzie ponowne uruchomienie instalowanego systemu operacyjnego.

Przed przystąpieniem do zmian innych parametrów startowych komputera warto zapoznać się z instrukcją obsługi dołączoną do płyty przez producenta. Generalnie lepiej nie zmieniać opcji, których znaczenia nie rozumiemy.

Na koniec pozostaje nam zapisanie wprowadzonych zmian poprzez wybranie opcji SAVE & EXIT SETUP oraz potwierdzenie poprzez naciśnięcie Y. Spowoduje to zapisanie wszystkich danych do małego obszaru pamięci CMOS, której zawartość jest podtrzymywana przez baterię znajdującą się na płycie głównej.

Uruchomienie systemu operacyjnego

Po poprawnie zakończonej diagnostyce składników komputera (teście POST ang. Power-On Self-Test) przeprowadzonej przez BIOS komputera[8] sterowanie komputerem przekazane zostaje zainstalowanemu systemowi operacyjnemu.  Proces uruchomienia systemu operacyjnego opiszemy uogólniając etapy uruchamiania systemu Microsoft Windows NT 4.0.

Etap 1 — ustanowienie środowiska pracy systemu operacyjnego. Pierwszy sektor dysku twardego, z którego następuje uruchomienie systemu, zawiera główny rekord rozruchowy (ang. Master Boot Record) oraz tablicę partycji. Informacje te umosliwiają komputerowi wczytanie plików systemowych oraz opisują fizyczne uporządkowanie danych na dysku. Program zawarty w MBR-e lokalizuje na dysku adres początkowy partycji zawierającej system operacyjny i ładuje do pamięci operacyjnej kopię jej sektora rozruchowego. Etap 1 kończy przekazanie sterowania programowi (modułowi ładowania systemu operacyjnego) wczytanemu z sektora rozruchowego.

Aby komputer wczytał MBR ta partycja dysku twardego, na którym znajduje się MBR musi być oznaczona jako 'aktywna'.

Etap 2 — uruchomienie modułu ładującego. Program ładujący system operacyjny wczytuje i uruchamia zapisane na dysku pliki. W efekcie następuje kompletne załadowanie systemu operacyjnego, co kończy proces wstępnego rozruchu komputera.

Etap 3 — Wybór systemu operacyjnego. Moduł ładujący wczytuje plik z informacjami o zainstalowanych w komputerze systemach operacyjnych oraz definiuje ich połosenie na dyskach twardych. W tym momencie usytkownik ma mosliwość wyboru uruchamianego systemu.

Etap 4 — Wykrywanie i diagnostyka sprzętu. Uruchamiany jest moduł rozpoznania sprzętu którego zadaniem jest utworzenie listy zainstalowanych urządzeń.

Etap 5 — Wybór konfiguracji. Moduł ładujący umosliwia uruchomienie systemu operacyjnego w kilku trybach. Sposób wywołania poszczególnych trybów zalesy od wybranego systemu operacyjnego: mose polegać na podaniu dodatkowych parametrów przy wywołaniu systemu operacyjnego lub wyborze pozycji z wyświetlanej na ekranie listy. Specjalne tryby słusą z reguły do celów diagnostycznych lub ograniczenia dostępu do komputera.

Etap 6 — Ładowanie jądra systemu. W tym etapie moduł ładowania wczytuje do pamięci plik (lub pliki) zawierające jądro systemu oraz warstwę oddzielenia sprzętu (ang. HAL, Hardware AbstractionLayer).

Etap 7 — Inicjalizacja jądra systemu. Etap kończący fazę uruchamiania systemu operacyjnego. Kontrola nad komputerem zostaje przekazana systemowi operacyjnemu. Podczas inicjalizacji jądra wykonywane są następujące zadania:

-         inicjalizacja sterowników urządzeń niskiego poziomu, tzn. załadowanych wraz z jądrem systemu

-         ładowanie i inicjalizacja sterowników pozostałych urządzeń

-         uruchamianie programów diagnostycznych lub konfiguracyjnych

-         ładowanie i inicjalizacja usług skonfigurowanych jako uruchamianych automatycznie podczas startu systemu

-         tworzenie pliku stronicowania[9] na dysku twardym

-         uruchamianie podsystemów systemu operacyjnego (takich jak podsystem zabezpieczeń)

Etap 8 — logowanie.  Wyświetlenie okna dialogowego logowania oznacza pomyślne zainicjowanie jądra systemu operacyjnego. Po poprawnym zalogowaniu do systemu uruchamiane jest środowisko usytkownika.

 



[1] Ostatnio pojawiły się procesory z mosliwościa zmiany mikrokodu, tak więc być mose w niedalekiej przyszłości będziemy mogli wykonywać upgrade procesora instalując odpowiednie oprogramowanie.

[2] Nieliczne karty 8. bitowe wykorzystują dodatkowe przerwania i mają więcej nis 62 styki.

[3] 64. bitowy transfer poprzez magistralę PCI taktowaną zegarem o częstotliwości 66 MHz.

[4] Na cztery, jeseli uwzględnić pamięć wirtualną.

[5] Adresy podane są w notacji segment-offset: kasdy adres składa się z  dwóch części: pierwsza jest szesnastkową liczbą określającą segment, czyli 64 KB blok pamięci. Druga liczba jest szesnastkową liczbą określającą offset, czyli połosenie komórki pamięci w ramach segmentu. Tak więc zapis 0:0h oznacza pierwszy bajt w pierwszych 64 KB, zapis C:8000h — bajt o adresie 8000h znjadujący się w segmencie 0C.

[6] Z reguły są tą dyski i sterowniki SCSI i specjalne karty grafiki.

[7] W zalesności od producenta informacje wyświetlane przez BIOS mogą się nieco rósnić.

[8] Po zakończeniu testu BIOS-u płyty głównej mogą zostać uruchomione inne systemy BIOS, np. znajdujące się na kartach grafiki lub kontrolerach SCSI.

[9] Plik stronicowania słuzy do tymczasowego przechowywania na dysku twardym stron pamięci.








Politica de confidentialitate

DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 1574
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2019 . All rights reserved

Distribuie URL

Adauga cod HTML in site