Wiadomości wprowadzające
Bit, najmniejsza możliwa jednostka informacji. Może posiadać wartość 0 lub 1 (stąd system binarny używany w komputerze). Fizycznie wartość 0 oznacza brak sygnału (prąd nie płynie), zaś 1 oznacza sygnał. Osiem bitów składa się na jeden bajt. Na n bitach można zapisać 2 do potęgi n różnych wartości. Podobnie jak dla bajtów, przedrostek kilo- (kilobit) oznacza 1024 bity, megabit to 1024 kilobity, gigabit to 1024 megabity, zaś terabit oznacza 1024 gigabity.
W bitach mierzy się pojemności pamięci, szybkości przesyłania (bps), gęstość powierzchniową informacji (bpi)
Bajt, B, byte, jednostka informacji składająca się z określonej liczby (najczęściej ośmiu) bitów. Liczba bitów tworzących jeden bajt zależy od architektury systemu komputerowego. Bajt może być samodzielnie adresowanym elementem pamięci komputera. Bajt reprezentuje jeden z 28 = 256 różnych ciągów bitów, jego rozmiar dobrano tak, aby wystarczył do zapamiętania każdego znaku, np. litery, cyfry lub znaku typograficznego (a, 1, @) pupularnych kodów, np. kodu ASCII, dlatego bajt jest często utożsamiany ze znakiem. W bajtach i ich wielokrotnościach (kB, MB, GB, TB) określa się pojemności pamięci komputerowych, każda z tych jednostek jest 1024 razy większa od bezpośrednio ją poprzedzającej. Skrótowo bajt oznaczany jest dużą literą B w odróżnieniu od bitu, który oznaczany jest małą literą b
kilobajt (kilo- + ang. byte) infor. ‹s.› kB, jednostka miary informacji równa 1024 bajtom
Kilobajt, KB (angielskie kilobyte), porcja informacji (jednostka pojemności pamięci) równa 210 = 1024 bajty
Megabajt, MB (angielskie megabyte), porcja informacji (jednostka pojemności pamięci) wielkości 220 = 1024 x 1024 = 1 048 576 bajtów. Tekst 300 stronicowej książki ma około 1,7 MB objętości
megabajt (mega- + bajt - ang. byte) infor. ‹s.› MB, jednostka pojemności pamięci równa 1 048 576 bajtów, 1024 kilobajtów
gigabajt (giga- + bajt -) infor. Wielokrotność bajta równa 230, czyli 1073741824 bajtów; wielkość stosowana obecnie do określania pojemności pamięci twardych dysków
Procesor, układ scalony będący podstawową częścią komputera. Wykonuje on elementarne instrukcje programów takie jak np. podstawowe instrukcje matematyczne czy kopiowania danych. Procesory mogą się od siebie znacznie róznić, między innymi architekturą (RISC albo CISC), ilością przetwarzanych jednocześnie bitów albo częstotliwością taktowania. Do najważniejszych producentów procesorów należą Intel, AMD, Cyrix albo Motorola
procesor (ang. processor od process `przetwarzać') infor. ‹s.› CPU, część komputera odpowiedzialna za wykonywanie instrukcji programu, złożona z jednostki arytmetyczno-logicznej, jednostki zmiennoprzecinkowej (FPU), jednostki sterującej oraz pamięci o dostępie bezpośrednim
Układ wejścia-wyjścia (angielskie input-output circuit, I/O circuit), układ scalony przyłączony do szyny komputera, służący do wymiany informacji między komputerem a urządzeniem zewnętrznym. Najprostszą formą układu wyjścia jest rejestr związany z urządzeniem, a w roli prostego układu wejścia może występować bramka trójstanowa. Układ wejścia-wyjścia podłącza się do szyny w przestrzeni adresowej wspólnej z pamięcią operacyjną (adresowanie jednolite) lub tworzy odrębną przestrzeń adresową, obsługiwaną za pomocą rozkazów wejścia-wyjścia.
Szyna, magistrala (angielskie bus), połączenie (wiązka przewodów lub ścieżek na płytce obwodu drukowanego), którym drogę do i z jednostki centralnej pokonują sygnały pochodzące od jednego lub większej liczby urządzeń zewnętrznych. (Urządzenia mogą się komunikować z systemem komputerowym także bezprzewodowo). W definicji szyny, prócz samych przewodów, mieści się ściśle zdefiniowany protokół, precyzujący zbiór komunikatów, które można tymi przewodami przesyłać. W komputerach osobistych występuje wiele standardów szyn: PCI, SCSI, PCMCIA i in
Urządzenie zewnętrzne (angielskie: external device, peripheral device), urządzenie podłączone do jednostki centralnej, którego zadaniem jest wysyłanie lub odbiór danych za pomocą medium komunikacyjnego. Urządzeniem zewnętrznym może być: monitor, drukarka, ploter, klawiatura, mysz itp.
System operacyjny (angielskie operating system, OS), program (w sensie ogólnym, w realizacji - układ wielu programów) działający jako pośrednik między użytkownikiem komputera a sprzętem komputerowym.
Zadaniem systemu operacyjnego jest tworzenie bezpiecznego i niezawodnego środowiska, w którym użytkownik może wykonywać swoje programy w sposób wygodny i wydajny.
Nie podaje się jednoznacznej definicji systemu operacyjnego, w zamian operuje się cechami wyróżniającymi ten rodzaj oprogramowania. Są to m. in.:
1) duża złożoność (80 tys. jednostek funkcjonalności i więcej);
2) systemy operacyjne są sterowane przerwaniami (zdarzeniami);
3) system operacyjny rozpoczyna działanie jako pierwszy program w komputerze i nie zaprzestaje działania aż do wyłączenia komputera.
Dla wielu użytkowników kontakt z systemem operacyjnym ogranicza się do systemu plików. Udostępnianie użytecznych i przyjaznych sposobów porozumiewania się z użytkownikiem nie należy do bezpośrednich zadań systemu operacyjnego.
Istnieje wiele systemów operacyjnych różnych rodzajów i przeznaczenia, a wśród nich: systemy z graficznym interfejsem użytkownika, np. Microsoft Windows lub MOS, systemy z interfejsem tekstowym, np. (klasyczny) system UNIX lub MS-DOS, różnorodne odmiany systemów wzorcowych, np. systemy uniksowe, systemy z setkami użytkowników (jak dawne systemy MULTICS, GEORGE 3) i współczesne systemy na miarę telefonu komórkowego (technologia Jini).
O systemach operacyjnych powiada się (zgodnie z rzeczywistością), że są pisane przez jedno pokolenie, a używane przez następne. Systemy operacyjne są kamieniami milowymi w historii informatyki.
Program, przepis postępowania, akceptowany przez komputer plan działania, instruktarz umożliwiający działanie programu komputerowego. Program jest realizacją algorytmu spełniającego wymogi komunikacji z komputerem. W tym celu program może zostać napisany w jednym z języków programowania tj. Asembler, C/C++ itp., a następnie skompilowany i skonsolidowany do postaci wykonywalnej w danym systemie operacyjnym. Istnieją także programy napisane w formie skryptowej, gdzie do uruchomienia programu wymagany jest odpowiedni interpreter
Język wysokiego poziomu (angielskie high-level language), język programowania, zazwyczaj o budowie blokowej, spełniający wymagania programowania strukturalnego, programowania z użyciem obiektów lub nawet programowania obiektowego.
Typowymi i najczęściej używanymi językami wysokiego poziomu są języki: C i C++, Smalltalk, Java, Pascal i Lisp, lecz również języki specjalizowane, np. język SQL służący do formułowania zapytań do baz danych lub edukacyjny język Logo.
Istnieje wiele modyfikacji języków starszej generacji, np. Fortranu, Basica lub Cobolu, które po unowocześnieniu spełniają w zupełności kryteria języków wysokiego poziomu. Cechą znamienną dla nich jest możliwość bezpieczniejszego programowania, tj. programowania mniej podatnego na błędy, i wynikająca z tego możliwość opracowywania większych programów (powyżej 10 000 wierszy kodu).
Język niskiego poziomu (angielskie low-level language), język programowania, w którym środki strukturalizacji kodu są ograniczone do co najwyżej podprogramów i makroinstrukcji. Do języków niskiego poziomu zalicza się języki adresów symbolicznych, czyli asemblery. Poziom języków programowania nie określa jego jakości, lecz rodzaj zastosowań
Maszyna von Neumanna (angielskie von Neumann machine), pomysł konstrukcji komputera wynaleziony i wdrożony przez J. von Neumanna. Istotą wynalazku maszyby von Neumanna było utrzymywanie w pamięci komputera zarówno programu, jak i danych oraz możliwość wymiany programu i danych na inne. Zarówno program, jak i dane są przechowywane w pamięci w kodzie dwójkowym, a ich przetwarzanie odbywa się w arytmometrze. Wynalazek von Neumanna jest kontynuacją maszyny Turinga. Praktycznie wszystkie komputery są budowane według pomysłu von Neumanna, nazywanego też architekturą von-neumannowską.
Warstwowa budowa systemu operacyjnego
Struktura warstwowa - system zbudowany jest z kilku poziomów, co zapewnia jego modularność. Przeważnie najniższe warstwy są najważniejsze pod względem niezawodności, mocy i wydajności. Wprowadzenie modularości zmniejsza wzajemne zależności między składowymi systemu oraz pozwala uniknąć niepożądanych powiązań. Każdy poziom składa się ze zbioru procedur i danych, które mogą być wywoływane z poziomu wyższego. Poziom najniższy - sprzęt, najwyższy - interface z użytkownikiem. W każdym systemie operacyjnym poziomy mogą być różne.
W systemach operacyjnych o strukturze warstwowej wyodrębniona jest część realizująca najbardziej podstawowe funkcje systemu operacyjnego, tzw. jądro systemu lub warstwa wewnętrzna. Pozostała część systemu to warstwa zewnętrzna. Podział taki nie jest jednoznacznie określony dla wszystkich systemów. W jądrze systemu implementuje się wszystkie funkcje, które muszą być traktowane w sposób uprzywilejowany. Jądro odpowiada m.in. za: obsługę przerwań, przydział procesora, operacje wej/wyj. Ponadto w jądrze systemu są implementowane mechanizmy, które tworzą wspomnianą już maszynę wirtualną. Warstwa zewnętrzna obejmuje procesy użytkowników (można przyjąć, że są to po prostu programy) i moduły systemu operacyjnego nie należące do jądra systemu. Jednym z procesów warstwy zewnętrznej jest POWŁOKA (ang. shell). Powłoka jest jedyną widoczną częścią maszyny wirtualnej. Funkcje systemowe (ang. system calls) stanowią maszynę wirtualną, ich wywołania są poleceniami dla jądra systemu, np. zainicjowanie nowego procesu, otwarcie pliku. Funkcje systemowe dzielą się na: funkcje systemowe dotyczące procesów i funkcje systemowe dotyczące sytemu plików. Zwykłe polecenia użytkowników są poleceniami dla programu powłoki.
System mikrokomputerowy to komputer, którego procesor składa się z jednego lub kilku elementów półprzewodnikowych, wykonanych w technologii wielkiej integracji i stanowiących niepodzielną całość.
Słowo to wektor informacji cyfrowej o maksymalnej dłuhości, dający się wyprowadzić z pamięci operacyjnej lub wprowadzić do pamięci operacyjnej w wyniku pojedynczej operacji czytania.
Pamięci dzieli się ze względu na:
ulotność
pamięci ulotne przechowują dane tak długo, jak długo są zasilane
pamięci nieulotne zachowują informację po odłączeniu zasilania
możliwości zapisu i odczytu
tylko do odczytu (zapis odbywa się w fazie produkcji)
jednokrotnego zapisu
wielokrotnego zapisu
nośnik
półprzewodnikowy (układ scalony)
optyczny
magnetyczny
papierowy
łatwość (możliwość) przeniesienia wraz z zapisem do innego urządzenia
miejsce w konstrukcji komputera:
pamięć robocza (z angielskiego: operacyjna), czyli RAM
pamięć podręczna, czyli cache
pamięć zewnętrzna, czyli masowa (stacje dysków, taśm itp)
pamięć robocza podzespołów (np. rejestry stanu urządzenia, bufory w kartach sieciowych, bufor wysyłanego lub odebranego znaku w łączu szeregowym, pamięć obrazu w kartach grafiki)
sposób dostępu do informacji:
pamięć o dostępie swobodnym
pamięć o dostępie szeregowym (cyklicznym), czyli rejestry przesuwne
Zazwyczaj cena pamięci jest związana z jej szybkością. Im szybsza tym droższa. Dlatego stosuje się przeróżne techniki przenoszenia informacji pomiędzy pamięciami, aby zapewnić możliwie dużą prędkość dostępu do danych przy ograniczonych zasobach najszybszych pamięci. Dane aktualnie używane są trzymane w szybszej pamięci, natomiast te aktualnie niepotrzebne w wolniejszej. Ponieważ różnice w czasie dostępu między kolejnymi poziomami są często rzędu 10:1, dobre wykorzystanie właściwości pamięci cache ma zazwyczaj większe znaczenie niż liczba cykli procesora koniecznych do wykonania algorytmu.
Poniżej, najpopularniejsze rodzaje pamięci używane w komputerach (uszeregowane od najszybszej):
rejestry procesora, rozmiar rzędu kilkudziesieciu do kilkuset bajtów
pamięć podręczna procesora (cache L1), wbudowany w procesor, rozmiar rzędu 4 do 16 kB
pamięć podręczna procesora (cache L2), rozmiar rzędu 128 kB do 4 MB
pamięć RAM, rozmiar rzędu 128 MB do 1 GB
plik wymiany (swap) na dysku, rozmiar (mierzony w MB lub GB) tej pamięci może być ustawiany przez użytkownika
Na poziomie logicznym pamięć jest to zbiór komórek, zapisanych ciągiem zero-jedynkowym o określonej długości (taki ciąg nazywamy słowem). Komórki pamięci są ponumerowane, a numer komórki nazywa się adresem. Procesor komunikuje się z pamięcią operacyjną i wykonuje rozkazy pobrane z programu zawartego w pamięci.
Reprezentacja danych i arytmetyka komputerowa
Dwójkowy (binarny) system liczbowy, pozycyjny system zapisu liczb oparty na potęgach liczby 2. Wykorzystuje dwa znaki graficzne (cyfry): 0 i 1, przez co jest szeroko stosowany w elektronice cyfrowej, gdzie pojawienie się impulsu - to 1, a jego brak - to 0.
Liczba 110010 w dwójkowym systemie liczbowym oznacza liczbę:
1×25+1×24+0×23+0×22+1×21+0×20= 32+16+2=50
(wyrażoną teraz w dziesiętnym systemie liczbowym). Przy stosowaniu w jednym tekście różnych systemów zapisu dwójkowego systemu liczbowego wyróżnia się dolnym indeksem 2 (np. 110010(2)).
Dziesiętny system liczbowy, najbardziej rozpowszechniony pozycyjny system zapisu liczb oparty o potęgi liczby 10 i tyleż znaków graficznych (cyfr: 0,1,2,3,4,5,6,7,8,9) wykorzystywanych do zapisu liczb.
Pierwowzór dziesiętnego systemu liczbowego pojawił się w V w. n.e. w Indiach, skąd do Europy dotarł poprzez Arabów (dlatego cyfry nazywamy arabskimi). Zapis 1995 oznacza liczbę równą 1·103+9·102+9·101+5·100.
System pozycyjny (z angielskiego positional system, number system), sposób zapisywania liczb znany od wczesnego średniowiecza, polegający na używaniu cyfr c1, c2,..., cn z niewielkiego zbioru, które, zapisywane obok siebie w postaci
l = cp-1cp-2... c0 c-1c-2... c-q,
interpretuje się jako sumę iloczynów liczb reprezentowanych przez poszczególne cyfry i potęg liczby naturalnej n, nazywanej podstawą systemu, o wykładnikach równych numerowi pozycji cyfry w ciągu. Oprócz, powszechnego z naturalnych przyczyn, dziesiętnego systemu pozycyjnego spośród różnych możliwych podstaw systemów w odniesieniu do komputerów są użyteczne podstawy 2, 8, 16 i odpowiadające im systemy pozycyjne: dwójkowy, ósemkowy i szesnastkowy.
Zapis dwójkowy, np. 1001 = 1 x 23 + 0 x 22 + 0 x 21 + 1 x 20 = 9, jest naturalny w komputerach ze względu na łatwość uzyskiwania dwóch różnych stanów fizycznych reprezentujących cyfry 0 i 1 systemu dwójkowego, i jest bazą dla kilku kodów dwójkowych.
Zapis ósemkowy łatwo zamienia się na dwójkowy (i odwrotnie): wystarczy zamieniać cyfry ósemkowe na trzy cyfry dwójkowe lub odwrotnie, np.: 067 = 110 111, 101 000 011 = 0503 (nieznaczące początkowe zero konwencjonalnie oznacza liczbę ósemkową), dlatego system ósemkowy o cyfrach 0... 7 też jest przydatny w informatyce.
Z podobnych przyczyn, oraz ze względu na dużą zwartość, jest użyteczny system szesnastkowy, w którego zapisie używa się dodatkowych “cyfr” o wartościach 10, 11,..., 15, oznaczanych literami A, B,..., F. Umownie liczbę szesnastkową kończy się literą H, np. 13H = 1 x 161 + 3 x 160 = 19. W języku C i pochodnych liczby szesnastkowe oznacza się przedrostkiem 0X, np. 0X115C = 4444.
ASCII, American Standards Code for Information Interchange, Amerykański Znormalizowany Kod Wymiany Informacji, system kodowania znaków za pomocą cyfr. Komputer może przetwarzać jedynie liczby binarne, nie może natomiast pamiętać liter i cyfr innych niż zera i jedynki. W tablicy znaków ASCII zebrane są używane znaki alfanumeryczne i przyporządkowane im kody liczbowe. Istnieją dwa rodzaje kodu ASCII: 7-bitowy (możliwość zapisu 128 znaków), oraz 8-bitowy (256 znaków, można zdefiniować tam np. polskie znaki narodowe). Kody ASCII są zazwyczaj podawane w postaci liczb w zapisie dziesiętnym lub szesnastkowym
Mikroprocesor
Rejestr (angielskie register, log),
1) blok funkcjonalny zbudowany z przerzutników służący do przechowywania w komputerze informacji w postaci cyfrowej;
2) plik przechowujący rekordy dotyczące dostępów (w tym - zmian) w nadzorowanym obiekcie programowym, np. transakcji lub koncie użytkownika
Licznik rozkazów, rejestr adresowy (z angielskiego program counter), rejestr procesora zawierający adres następnego rozkazu do wykonania, podczas cyklu rozkazowego automatycznie zwiększany o 1, chyba że ostatnim wykonywanym rozkazem był efektywny skok
Układ sterowania, jednostka sterująca (angielskie control unit),
1. podstawowy, często mikroprogramowany układ procesora kierujący ruchem i przetwarzaniem danych w cyklu rozkazowym;
2. element złożonego układu logicznego wytwarzający sygnały sterujące dla bloków funkcjonalnych, inicjujący wykonywanie mikroprogramów
Zegar (angielskie clock), najczęściej kwarcowy generator okresowych impulsów. Zegary są montowane w komputerze w celu synchronizacji (taktowania) pracy procesora, odmierzania czasu astronomicznego lub kwantów czasu, synchronizacji procesów i innych zadań
Przerwanie programowe (angielskie software interrupt, trap), rozkaz maszynowy o skutkach równoważnych przerwaniu sprzętowemu, stosowany do realizacji wywołań systemowych; parametr przerwań programowych określa rodzaj zamawianej usługi jądra systemu operacyjnego.
Obsługa przerwania (angielskie interrupt handling), ciąg czynności powodowanych przez przerwanie. Jeśli nie obowiązuje maskowanie przerwań, to wskutek wystąpienia przerwania następuje zapamiętanie na stosie stanu bieżącego procesu, wykonanie procedury obsługi przerwania (jej adres pobiera się z wektora przerwań), po czym (jeśli nie wystąpił błąd), stan przerwanego procesu zostaje odtworzony w procesorze i proces zostaje podjęty od miejsca, w którym go przerwano. Wystąpienie przerwania priorytetowego podczas obsługi przerwania powoduje zapamiętanie w analogiczny sposób stanu procesu obsługi przerwania i obsłużenie pilniejszego przerwania. Obsługa przerwania powinna przebiegać możliwie szybko
Priorytet, pierwszeństwo (angielskie priority),
1. atrybut różnicujący procesy w ich ubieganiu się o dostęp do zasobów, wyrażany liczbą całkowitą. W niektórych systemach operacyjnych większa liczba oznacza wyższy priorytet, w innych jest na odwrót
Brak pojęć: rejestry buforowe, magistrale wewnętrzna i zewnętrzna, adresowa, danych, sterująca, przerwanie sprzętowe, priorytet przerwania
Pamięć komputerowa
Pamięć półprzewodnikowa (angielskie semiconductor memory), rodzina pamięci wykonywanych w technologii układów scalonych, charakteryzujących się krótkim czasem dostępu, znaczną pojemnością i znikomym poborem mocy.
Główny podział pamięci półprzewodnikowej przebiega między pamięcią o dostępie swobodnym (RAM) a pamięcią ROM (stałą). Pamięci RAM można podzielić dalej na pamięci statyczne (SRAM) i dynamiczne (DRAM), natomiast pamięci ROM mają kilka odmian programowalnych (PROM, EPROM, EEPROM, FLASH). Pamięci półprzewodnikowe są powszechnie stosowane jako pamięci operacyjne i podręczne.
Pamięć RAM, pamięć o dostępie swobodnym (angielskie random access memory), pamięć, której czas dostępu jest taki sam w odniesieniu do dowolnego jej elementu; najczęściej wykonana jako zapisywalna pamięć półprzewodnikowa. Postęp w technologii pamięci RAM ilustruje cena 1 MB pamięci rdzeniowej w 1964 r., wynosząca wówczas 400 000 $
Pamięć ROM, ROM, Read Only Memory, rodzaj pamięci komputera przeznaczonej tylko do odczytu. W pamięci ROM zapisuje się ustawienia BIOSu. W odróżnieniu od dawniejszych wersji, współczesne pamięci ROM (pamięć flash) dają możliwość modyfikacji zawartości. Czas dostępu do pamięci ROM jest zwykle dłuższy niż dla RAM
SRAM (angielskie Static Random-Access Memory), statyczna pamięć RAM o dostępie dynamicznym. Pamięć RAM, nie wymagająca stałego "odświeżania" przez procesor
Pamięć dynamiczna, DRAM (angielskie dynamic memory, dynamic RAM), ulotna pamięć półprzewodnikowa o dostępie swobodnym, której bity są reprezentowane przez stan naładowania kondensatorów. Element pamięci dynamicznej składa się z kondensatora i tranzystora separującego, przy czym funkcję kondensatora może pełnić pojemność układu.
W celu równoważenia pasożytniczych upływności kondensatory pamięci muszą być stale doładowywane, co nosi nazwę odświeżania pamięci i polega na cyklicznym odczytywaniu i ponownym zapisywaniu zawartości wszystkich komórek
Szybkość, prędkość (angielskie speed), w odniesieniu do komputerów szybkość jest rozumiana jako liczba rozkazów wykonywanych w jednostce czasu (sekundzie) lub ilość informacji przesyłanej w jednostce czasu między różnymi rodzajami pamięci lub między pamięcią operacyjną a buforami urządzeń zewnętrznych.
Szybkość typowych jednostek centralnych komputerów osobistych wynosi setki tysięcy rozkazów na sekundę, szybkości przesyłania wahają się w dużych granicach: od kilku znaków na sekundę (klawiatury), do gigabitów na sekundę (sieci ATM
Cache, podręczna pamięć procesora. Charakteryzuje się wyjątkowo krótkim czasem dostępu. Jest ona używana do przechowywania danych, które będą w niedługim czasie przetwarzane. Są trzy rodzaje pamięci cache: L1 (zintegrowana z procesorem) a także L2 i L3 (umieszczone na płycie głównej komputera). Nazwa cache oznacza też miejsce na dysku twardym, w którym przeglądarka internetowa przechowuje odwiedzone uprzednio strony (lub części stron) WWW. Ma to na celu przyspieszenie przeglądania stron internetowych, gdyż nie ma potrzeby ściągania odwiedzonych już stron z Internetu
Pamięć masowa (angielskie mass memory, mass storage, bulk storage), pamięć przystosowana do długotrwałego przechowywania wielkich ilości informacji, np. dyski magnetyczne i optyczne, taśmy magnetyczne, dyskietki itp.
Pamięć magnetyczna (angielskie magnetic memory), pamięć zewnętrzna, w której nośnikiem informacji jest materiał magnetyczny, realizowana w postaci dysków lub taśm
System plików (angielskie file system), podstawowa składowa systemów operacyjnych ogólnego przeznaczenia, fragment oprogramowania jądra lub pakiet użytkowy realizujący podział pamięci masowej na logiczną hierarchię katalogów i plików, pełniący wobec nich funkcje administracyjne i ochronne (przy aktywnym udziale użytkownika).
Systemy plików zazwyczaj pokrywają się z urządzeniem fizycznej pamięci dyskowej, jednak spotyka się odstępstwa w obie strony: jeden duży dysk może być podzielony na kilka systemów plikowych (np. w systemie MS-DOS strefy c:, d:, itd.); z kolei kilka napędów dyskowych może być objętych jedną logiczną organizacją systemu plików.
Dla przeciętnego użytkownika system operacyjny jawi się niemal wyłącznie od strony jego systemu plików: pliki są tworzone i usuwane, czytane i zapisywane, a niektóre z nich (programy binarne) - ładowane do pamięci i wykonywane.
Każdy system plików ma własny interfejs, za pomocą którego zleca się wykonywanie działań na plikach i katalogach.
Do najpopularniejszych standardów systemu plików należą: system plików systemu UNIX i system plików systemu MD-DOS.
W systemach Windows rolę interfejsu plikowego pełni tzw. zarządca plików (file manager). Bez umiejętności posługiwania się systemem plików trudno mówić o skutecznym użytkowaniu komputera
ROM, dysk CD, kompakt, Compact Disk Read-Only Memory, popularny dysk kompaktowy zastosowany w komputerze jako pamięć tylko odczytywalna. Technologia wytwarzania muzycznych płyt kompaktowych i pamięci CD-ROM jest taka sama. CD-ROM należy do grupy optycznych urządzeń pamięci i mieści zazwyczaj do 600 MB danych możliwych tylko do czytania. Szybkość odczytywania dysków CD-ROM ulega zwielokrotnieniu w stosunku do podstawowej, co znajduje odzwierciedlenie w ich oznaczeniach: 2x, 4x,..., 24x, 32x, 36x itd.
Pamięci CD-ROM wykorzystuje się coraz powszechniej jako nośniki instalacyjne systemów operacyjnych i pakietów oprogramowania. Technika interakcyjnych dysków CD-ROM (CD-I) umożliwia cyfrowy zapis dźwięku, ruchomych obrazów i animacji. Na dyskach CD-ROM upowszechnia się multimedialne wydawnictwa i bazy danych, jak ilustrowane encyklopedie lub słowniki. Urządzenia do zapisywania pamięci CD-ROM (nagrywarki CD, CD-R) są coraz szerzej dostępne, co zwiększa możliwości indywidualnych zastosowań CD-ROM, lecz także powoduje potencjalne zagrożenie zwiększeniem skali przestępstw komputerowych wskutek technicznie ułatwionego naruszania praw autorskich
RAID, tablica dysków (angielskie Redundant Array of Independent (Inexpensive) Disks), nadmiarowa tablica niezależnych (tanich) dysków przyśpieszająca działanie dysków i zwiększająca ich niezawodność. Stosuje się różne techniki RAID: odbicie lustrzane (mirroring), inaczej - tworzenie cienia (shadowing), czyli utrzymywanie kopii każdego dysku, co powoduje zmniejszenie o połowę liczby zamówień do każdego dysku i dwukrotne zwiększenie szybkości czytania. Wzrasta też niezawodność za cenę dwukrotnego zapisywania danych.
Technika przeplatania bloków parzystości (block interleaved parity) wymaga mniej nadmiarowości, umożliwiając w przypadku uszkodzenia bloku dyskowego obliczenie jego zawartości na podstawie innych bloków danych oraz dodatkowo zapamiętywanego bloku parzystości - awaria jednego dysku nie powoduje utraty danych. Szybkość systemu RAID z kontrolą parzystości wynika z połączenia wielu dysków i ich sterowników, jednak operacje pisania są bardziej złożone, gdyż uaktualnienie dowolnego podbloku wymaga ponownego obliczenia i zapisania bloku parzystości. Technika paskowania dysku jest też odmianą RAID.
Brak pojęć: szybkość dostępu do pamięci, zasada działania- zapisu danych
System operacyjny a architektura systemu komputerowego
Proces, proces ciężki (angielskie process, actor, heavy weight process), program w trakcie wykonywania, jednostka pracy systemu operacyjnego. W skład procesu wchodzi chroniona przez system operacyjny przestrzeń adresowa mieszcząca m. in. instrukcje programu, dane programu i stos.
Do procesu należą zawartości rejestrów maszynowych, tablica otwartych plików i inne struktury danych określające jego aktualne zasoby. Proces jest tworem aktywnym i dynamicznym, każdy proces zawiera co najmniej jeden sekwencyjny wątek sterowania, określany w każdej chwili przez stan licznika rozkazów. W niektórych systemach operacyjnych proces może zawierać wiele wątków.
Podczas istnienia w systemie operacyjnym proces wielokrotnie zmienia swój stan, czasem jest wykonywany, czyli ma przydzielony procesor, kiedy indziej oczekuje w pamięci operacyjnej lub nawet na dysku. Całość informacji opisujących statycznie proces mieści się w strukturze danych nazywanej blokiem kontrolnym procesu. Proces powstaje z chwilą wydania przez użytkownika polecenia wykonania programu lub z inicjatywy już wykonywanego procesu
Wieloprogramowość (z angielskiego multiprogramming), sposób organizacji pracy komputera, w którym jeden procesor, dzieląc systematycznie swój czas, wykonuje jednocześnie (rozpatrując rzecz w dłuższym okresie) więcej niż jeden proces użytkowy.
Organizacją wieloprogramowości zajmuje się system operacyjny, którego procedury: planista i ekspedytor kierują w odpowiednich chwilach odpowiednie procesy do wykonywania w procesorze.
Wieloprogramowość wymyślono w celu łagodzenia przestojów jednostki centralnej powodowanych oczekiwaniem procesów na działanie powolnych urządzeń zewnętrznych. W czasie gdy jeden z procesów oczekuje na zakończenie pracy urządzenia zewnętrznego inny proces może być wykonywany przez (chwilowo bezczynny) procesor
Kolejka procesów gotowych (z angielskiego ready queue), kolejka procesów kandydujących do procesora. Procesy w kolejce procesów gotowych nie czekają na żadne inne zasoby poza procesorem i są wybierane do wykonywania według algorytmu planowania przydziału procesora.
Kolejka priorytetowa (angielskie priority queue), kolejka obsługiwana w kolejności priorytetów oczekujących w niej procesów. Przykładem jest kolejka obsługiwana przez algorytm SJF
Pamięć wirtualna, wirtualna przestrzeń adresowa (angielskie virtual memory, virtual address space), zbiór jednolicie adresowanych elementów pamięci oddawany do użytku w programach przez systemy pamięci wirtualnej. Pamięć wirtualna może przekraczać rozmiary fizycznej pamięci operacyjnej, gdyż jest implementowana z użyciem pamięci zewnętrznej (dyskowej), z zastosowaniem sprzętowego stronicowania i algorytmów stronicowania na żądanie, zastępowania stron i stronicowania wstępnego.
Czas działania programów wykonywanych w systemach pamięci wirtualnej może zależeć od programowego sposobu organizacji danych oraz zmieniać się od wykonania do wykonania, toteż pamięci wirtualnej nie stosuje się w systemach czasu rzeczywistego.
Poza tymi wyjątkami pamięć wirtualna jest wielkim udogodnieniem programowania, gdyż zdejmuje z osób programujących ostre ograniczenia na ilość dostępnej pamięci i uwalnia je od niejednolitego zarządzania pamięciami fizycznymi w aplikacjach
Systemy operacyjne : Istnieje wiele systemów operacyjnych różnych rodzajów i przeznaczenia, a wśród nich: systemy z graficznym interfejsem użytkownika, np. Microsoft Windows lub MOS, systemy z interfejsem tekstowym, np. (klasyczny) system UNIX lub MS-DOS, różnorodne odmiany systemów wzorcowych, np. systemy uniksowe, systemy z setkami użytkowników (jak dawne systemy MULTICS, GEORGE 3) i współczesne systemy na miarę telefonu komórkowego (technologia Jini).
Microsoft Windows, Windows, oprogramowanie graficznego interfejsu użytkownika komputerów osobistych stworzone przez firmę Microsoft nadbudowane nad systemem MS-DOS (wersje Windows 1.0, 3.0 i 3.1). Począwszy od Windows 95 (kolejne wersje to Windows 98, NT, 2000 oraz XP) oprogramowanie będące samodzielnym systemem operacyjnym.
Wszystkie powszechnie znane wersje Windows posiadają interfejs graficzny GUI. Firma Microsoft stworzyła też wersję systemu przeznaczoną dla komputerów pracujących w sieci (Windows NT). Obecnie, dzięki systemom Windows, Microsoft zdobył dominującą pozycję na rynku systemów operacyjnych dla komputerów osobistych klasy PC
Unix, wielozadaniowy system operacyjny utworzony w 1969 przez Kena Thompsona i Denissa Ritchie'go z Laboratoriów AT&T Bella. Sukcesywnie rozwijany w następnych latach, zdobył ogromną popularność i pojawił się w wielu odmianach. UNIX był rozwijany jako produkt bezpłatny, uzupełniany nowymi funkcjami przez wiele firm, ośrodków akademickich oraz indywidualnych programistów. W ten sposób stał się pierwszym systemem otwartym. Najlepsze rozwiązania pochodzące z różnych wersji systemu Unix stały się częścią standardu opracowanego przez IEEE (Institute of Electrical and Electronics Engineers) , znanego jako POSIX (Portable Operating System Interface for UNIX
Systemy uniksowe, liczne odmiany systemu UNIX o mniejszej lub większej z nim zgodności, produkowane przez największych dostawców systemów operacyjnych, takich jak AT&T, Microsoft, IBM, Sun oraz wykonywane w uniwersytetach, np. system BSD lub holenderski szkolny system Minix, albo przez pojedynczych entuzjastów i ich grupy (system Linux).
Oto niektóre nazwy “fabryczne”, pod którymi kryją się systemy uniksowy: System V (wersje systemu UNIX z AT&T), system BSD UNIX (wersje z Uniwersytetu w Berkeley), OSF/1 (konkurencyjny UNIX opracowany przez konsorcjum OSF), Solaris 2 (nowoczesny, modularny produkt firmy Sun), POSIX (standard przenośnego systemu UNIX), HP-UX (produkt Hewlett-Packard), IBM AIX (wersja IBM), XENIX (systemy uniksowe dla komputerów osobistych PC), A/UX ( dla komputerów Macintosh), QNX (specjalizowany do pracy w czasie rzeczywistym UNIX z Santa Cruz), poza tym DEC Ultrix, Xinu, SGI Irix, MiX i in.
Systemy Windows NT i Chorus udostępniają system UNIX w formie podsystemów. Zredukowane jądro uniksowe zostało przeniesione do systemu Mach. Rośnie popularność fińskiego systemu Linux, rozwijanego przez społeczność internetową
MULTICS, wielki, scentralizowany system operacyjny z podziałem czasu, opracowany w połowie lat sześćdziesiątych XX w. w MIT dla komputera GE 645. Napisany prawie w całości w języku PL/1 (300 000 wierszy kodu źródłowego), rozszerzony do środowiska wieloprocesorowego. Przedsięwzięcie ważne dla późniejszego rozwoju systemów operacyjnych, w szczególności dla systemu UNIX, lecz samo nigdy nie uwieńczone pełnym sukcesem; prace zarzucono w 1969
GEORGE 3, system operacyjny dla komputerów serii ICL 1900 (ODRA 1300), w latach siedemdziesiątych XX w. powszechnie uważany (w Europie) za bardziej rozwinięty i lepszy niż porównywalne systemy OS 360/370.
Jini, dżin komputerowy (angielskie djinn, djinni), technologia oprogramowania firmy Sun Microsystems umożliwiająca programowanie współpracy różnorodnych zelektronizowanych urządzeń, np. sterowanie ekspresem do kawy za pomocą elektrosakwy lub zdalne włączanie kamery kontrolnej za pomocą naręcznego zegarka. Sterowane urządzenia są zaopatrywane w maszynę wirtualną JVM. Protokoły komunikacyjne discovery (odkrycie) i lookup (wyszukiwanie) umożliwiają współpracę wirtualnych maszyn Javy i rozproszenie środowiska pracy aplikacji pisanych w języku Java.
Czas rzeczywisty (angielskie real time), kryterium podziału zastosowań komputerów i ich oprogramowania. Oprogramowaniu działającemu w czasie rzeczywistym stawia się znacznie ostrzejsze wymagania czasowe niż programom działającym w systemach wielodostępnych z podziałem czasu. W zasadzie wszystkie reakcje programów działających w czasie rzeczywistym muszą mieścić się w z góry przewidzianych przedziałach czasu
Microsoft, największa na świecie firma zajmująca się tworzeniem oprogramowania. Została założona w 1975. Jej głównym właścicielem jest Bill Gates. Firma zdobyła znaczenie na rynku po stworzeniu systemu operacyjnego DOS (sprzedawanego przez firmę jako MS-DOS). Kolejnym przebojem rynkowym był Windows, graficzna nakładka (interfejs GUI wzorowany na MacOS) na DOS. Nowsze wersje Windows (np. Windows 95, 98, 2000) są już w pełni systemami operacyjnymi. Firma sprzedaje też system Windows NT przeznaczony głównie do pracy na komputerach sieciowych. Microsoft jest światowym liderem producentów oprogramowania.
Brak pojęć: graf stanów procesu, wywłaszczenie procesora, systemy operacyjne Microsoftu- linia zawodowa i domowa
Współczesny mikroprocesor
Architektura CISC, Complex Instruction Set Computing processor, procesor CISC, CISC, architektura konwencjonalnych procesorów, charakteryzująca się znaczną liczbą elementarnych rozkazów i trybów adresowania przy niewielkiej liczbie rejestrów uniwersalnych.
Architektura RISC, Reduced Instruction Set Computing/Computer, procesor RISC, RISC, wywodząca się z Berkeley (1985) koncepcja architektury procesora o ograniczonej liczbie krótkich (najwyżej dwusłowowych) rozkazów mających niewiele formatów i trybów adresowania, rozporządzającego znaczną liczbą rejestrów uniwersalnych (nawet powyżej 100).
Operacje kontaktu z pamięcią są sprowadzone do czytania i pisania, działanie procesora przyśpieszają dodatkowe ulepszenia w postaci przetwarzania potokowego i pamięci podręcznej. RISC jest popularną architekturą procesorów 32- i 64-bitowych. Przykładem architektury RISC jest mikroprocesor PowerPC
Potok (angielskie pipe, pipeline), rozwiązanie komunikacji międzyprocesowej umożliwiające jednokierunkowy przepływ danych między kojarzonymi procesami. Przekazywanie danych odbywa się na zasadzie strumienia, jest niezawodne i kontrolowane.
Symbolem potoku jest pionowa kreska (“|”). Polecenie p | q tworzy potok między programem p a programem q, łącząc wyjście standardowe programu p z wejściem standardowym programu q
Hazard (angielskie hazard), wada projektowa układu elektronicznego, ujawniająca się (niekiedy dopiero po pewnym okresie eksploatacji) w postaci nieplanowanych impulsów na wyjściu układu. Haszowanie może zaburzać działanie układów asynchronicznych
Hazardy danych - Pojawiają się wtedy, gdy do obiektu danych (rejestry, komórki pamięci, rejestry flag) zwracają się lub zmieniają go dwa różne rozkazy umieszczone tak blisko w programie, że potokowanie powoduje zachodzenie na siebie ich wykonań: Wśród hazardów danych także wyróżniamy trzy typy:
czytanie po zapisie (Read after Write) - RAW
zapis po odczycie (Write after Read) - WAR
zapis po zapisie (Write after Write) - WAW
Zakłócenie WAW istnieje, gdy oba rozkazy próbują zmienić ten sam obiekt, ale zapis wyników przez rozkaz i-ty może nastąpić później niż przez rozkaz j-ty. Wówczas w komórce pamięci znajduje się wartość nie od rozkazu j-tego lecz i-tego
Hazardy sterowania - Występują na wskutek przetwarzania rozkazów skoków oraz rozkazów zmieniających licznik rozkazów.
Architektura superskalarna - schemat przetwarzania, umożliwiający mikroprocesorowi pobieranie sekwencji instrukcji i przesyłanie ich oddzielnym jednostkom do jednoczesnego wykonania. W ten sposób w czasie jednego cyklu zegara jest wykonywanych kilka instrukcji. W architekturze tej istnieje program szeregujący, odpowiedzialny za przeglądanie kolejki instrukcji, odnajdowanie takiej ich grupy, która nie wchodzi wzajemnie w konflikt ani nie wymaga jednoczesnego udostępniania jednakowych usług, i przekazujące tę grupę instrukcji do wykonania. Dwa potoki znajdujące się w układzie scalonym Pentium umożliwiają mikroprocesorowi wykonanie dwóch instrukcji w czasie jednego cyklu zegara
Architektura Superpotokowa- posiadająca potoki znacząco głębsze niż zazwyczaj stosowane pięcio- lub sześciostopniowe. Architektóra superpotokowa zazwyczaj pozwala na osiągnięcie wyższych częstotliwości zegara niż inne architektury potokowe.
Procesory VLIW- najkorzystniejszą relacją pomiędzy wydajnością a zaangażowaną liczbą bramek logicznych charakteryzuje się architektura VLIW - Very Long Instruction Word. W dużym uproszczeniu model VLIW polega na tym, że kolejne instrukcje składane są w jedną, o znacznej długości, zaś operandy, na których złożone w ten sposób instrukcje mają być wykonane, ładowane są w części bardzo długich rejestrów. W ten sposób 128-bitowa jednostka VLIW może wykonać w jednym cyklu cztery 32-bitowe instrukcje operujące na czterech 32-bitowych parach operandów.
Brak pojęć: etapy przetwarzania potokowego, hazardy zasobów, wydajność mikroprocesora potokowego,
Architektury równoległe
Taksonomia Flynna (angielskie Flynn's taxonomy), schemat klasyfikacji systemów komputerowych zaproponowany przez M. J. Flynna w 1972, stosowany do dzisiaj, choć już niewystarczający.
Stosownie do liczby strumieni instrukcji i danych taksonomia Flynna wyróżnia następujące klasy komputerów:
SISD - komputer z jednym strumieniem instrukcji i jednym strumieniem danych, tradycyjny system jednoprocesorowy;
SIMD - jeden strumień instrukcji, wiele strumieni danych (taką architekturę mają procesory macierzowe);
MISD - zwielokrotniony strumień instrukcji i jeden strumień danych (brak reprezentantów);
MIMD - wiele strumieni instrukcji i danych, czyli każda grupa niezależnych komputerów. Kategoria MIMD dzieli się współcześnie na kilka dalszych podkategorii
Klaster komputerowy (ang. cluster) - grupa połączonych jednostek komputerowych, pracujących współbieżnie tak, jakby był to jeden komputer.
Komputery wchodzące w skład klastra (będące członkami klastra) nazywamy węzłami (ang. node). W istniejących rozwiązaniach klastrowych można wyodrębnić dwie podstawowe klasy wynikające z celów budowy takich rozwiązań:
Klastry wydajnościowe: pracujące jako komputer równoległy. Celem ich budowy jest powiększenie mocy obliczeniowej. Wiele obecnych superkomputerów działa na tej zasadzie.
Klastry niezawodnościowe: pracujące jako zespół komputerów dublujących nawzajem swoje funkcje. W razie awarii jednego z nodów, następuje automatyczne przejęcie jego funkcji przez inne nody.
W praktyce rozwiązania klastrowe mają charakter mieszany i wykonują dla pewnych aplikacji funkcje wydajnościowe, przy jednoczesnym pełnieniu roli niezawodnościowej. Szczególnie często taki tryb pracy klastra dotyczy serwerów www, pocztowych itp., z racji sposobu pracy aplikacji obsługujących tego typu serwisy. Z drugiej strony aplikacje bazodanowe, wykorzystywane w biznesie, słabo poddają się zrównoleglaniu (szczególnie gdy żądamy transakcyjności).
Prawo Amdahla - przyspieszenie uzyskiwane na N procesorach wynosi 1/(S+(1-S)/N), gdzie S jest częścią kodu, która nie może być wykonana równolegle. Oznacza ono, że im więcej "jednostek przetwarzania" dodamy do zadań, których istotna część musi być realizowana szeregowo, tym więcej tego czasu zmarnujemy.
Główna korzyscia płynaca z uzycia wielu procesorów jest zwiekszenie wydajnosci obliczen. Nie nalezy sie jedna spodziewac, ze czas obliczen bedzie odwrotnie proporcjonalny do ilosci procesorów. Istnieja teoretyczne ograniczenia zmniejszenia czasu obliczen. Zdefiniujmy współczynnik przyspieszania zadania o wielkosci n dzieki zrównolegleniu na p procesorów:
Prawo Amdahla głosi ze nie mozna osiagnac dowolnie małego czasu obliczen. Im bardziej
problem T(n, 1) jest sekwencyjny, tym mniejszy zysk ze zwieksznia liczby procesorów.
Otoczenie mikroprocesora, układy wejście- wyjście
Procesor macierzowy, procesor wektorowy (angielskie array processor), procesor dołączany do tradycyjnego procesora SISD, umożliwiający wykonywanie instrukcji w sposób równoległy; operacje na elementach danych instrukcji (np. składowych wektorów w sensie algebraicznym) są wykonywane jednocześnie przez zwielokrotnione, współpracujące ze sobą układy procesora macierzowego. Zazwyczaj te same instrukcje odnoszą się do różnych danych - rachunki macierzowe, wektorowe (SIMD).
Mikroprocesor (angielskie microprocessor), procesor wykonany w technologii LSI (mikroprocesor 8-bitowe), VLSI (mikroprocesor 16-bitowe i 32-bitowe) lub ULSI (mikroprocesor 64-bitowe).
Układ, który dokonał rewolucji w informatyce, powstał trochę na zasadzie nieudanego produktu ubocznego.
Pierwszy mikroprocesorem Intel 4004 (USA) z trudem znajdował zastosowania w wąskim gronie amatorów komputeryzacji i nie wróżono mu dalekiej przyszłości. Przodującymi producentami typowych mikroprocesorów są firmy: Intel, Motorola, MOS Technology oraz liczne zakłady dalekowschodnie, a przemysłmikroprocesorów stanowi istotną gałąź produkcji krajów rozwiniętych.
Cały sprzęt PC, sprzęt sieciowy i telekomunikacyjny, komputery laboratoryjne, osprzęt linii technologicznych, elektronika motoryzacyjna, niezliczone aplikacje domowe opierają się na mikroprocesorach
Standard RS-232-C, szeroko rozpowszechniona norma (EIA oraz CCITT: V24, V28) przesyłania szeregowego, obejmująca zarówno przesyłanie synchroniczne, jak i asynchroniczne na odległości do kilkunastu metrów między komputerami połączonymi za pomocą modemów lub między komputerem a urządzeniem zewnętrznym. Szybkość przesyłania w standardzie RS-232-C wynosi od 1200 do 19 200 bps, co w przypadku tego standardu odpowiada od 120 do 1920 znakom na sekundę. Interfejs
Synchroniczny (angielskie synchronous),
1) koordynowany za pomocą sygnałów zegara, np. synchroniczne przesyłanie szeregowe informacji;
2) blokowany do czasu powiadomienia, np. komunikat synchroniczny, którego nadawca, jest blokowany do chwili nadejścia odpowiedzi
Rejestr synchroniczny (angielskie synchronous register), rejestr zbudowany z przerzutników synchronicznych, które pobierają informacje z wejścia i przekazują na wyjście w chwilach określanych przez zmiany doprowadzonego do niego sygnału. W pozostałych chwilach stan rejestru synchronicznego się nie zmienia. Oprócz pamiętania informacji rejestry synchroniczne mogą wykonywać na niej mikrooperacje, np. przesuwanie lub zwiększanie
ATM, Asynchronous Transfer Mode, Asynchroniczny Tryb Transmisji, technologia przesyłania informacji w sieciach telekomunikacyjnych (szerokopasmowych) o bardzo wysokiej przepustowości, np. opartych na światłowodach, umożliwiająca optymalne wykorzystanie sieci. Cechuje ją praktycznie nieograniczone pasmo transmisji. Opiera się na asynchronicznej transmisji 53 bajtowych komórek. Została wynaleziona z myślą o przekazywaniu danych multimedialnych
USB (‹s.› ang. Universal Serial Bus) infor. uniwersalna magistrala szeregowa, umożliwiająca szybki transfer danym pomiędzy komputerem a wieloma przyłączonymi do niego przez jedno złącze urządzeniami peryferyjnymi
USB, szybki interfejs szeregowy umożliwiający podłączenie wielu urządzeń peryferyjnych tj. klawiatura, mysz, aparat cyfrowy, kamera itp. w strukturę drzewiastą, za pomocą jednego złącza. Dołączone urządzenie jest gotowe do pracy bez potrzeby ponownego uruchomienia systemu operacyjnego
SCSI, Small Computer System Interface, Łącze Małych Systemów Komputerowych, jeden ze stadardów pozwalających dołączyć do komputera dyski twarde, czytniki CD-ROM, skanery czy inne urządzenia. Technologia ta charakteryzuje się większą prędkością transmisji niż standard EIDE. Barierą dla szerszego upowszechnienia się SCSI jest wysoka cena urządzeń pracujących w tym standardzie
SCSI (‹s.› ang. Small Computer System Interface) infor. szybki ośmiobitowy interfejs równoległy, który umożliwia równoczesne podłączenie do komputera siedmiu urządzeń, np. twardych dysków, czytników CD-ROM, DVD
PCI [pi-si-aj] (‹s.› ang. Peripheral Component Interconnect łącznik składników peryferyjnych) infor. interfejs systemowy w komputerach osobistych (PC) oparty na 32-bitowej szynie taktowanej zegarem 33 lub 66 MHz, stosowany powszechnie w kartach rozszerzeń
IEEE 1394 (znane również pod nazwami handlowymi iLink i FireWire) to standard łącza szeregowego umożliwiającego szybką komunikację i izosynchroniczne usługi w czasie rzeczywistym. Opracowany w roku 1995 dla komputerów osobistych i cyfrowych urządzeń optycznych.Rozwijany głównie przez firmę Apple Computer. Jest zdefiniowany w dokumencie IEEE 1394.
System jest powszechnie używany do łączenia kamer wideo i urządzeń pamięci masowej. Wykorzystuje się go zamiast popularniejszego USB, z powodu większej szybkości i dlatego, że nie wymaga użycia komputera. Nie ma również konieczności wysyłania sygnałów potwierdzających aktywność urządzania po drugiej stronie, co czyni USB nieefektywnym dla profesjonalnej obróbki wideo. Jednak opłaty, których wymaga Apple od użytkowników FireWire, oraz znacznie kosztowniejszy sprzęt, spowodowały, że FireWire uległo względem USB na rynku masowym, gdzie koszt produktu jest głównym ograniczeniem.
FireWire może przesyłać dane z prędkościami 100, 200 lub 400 Mbps. Planowane jest zwiększenie maksymalnej szybkości do 2 Gbps. Długość kabla ograniczona jest do 4½ metra, ale można stworzyć specjalne połączenia nawet 16 odcinków kabla, co daje efektywną długość siedemdziesięciu dwóch metrów.
Standard umożliwia połączenie do 63 urządzeń peryferyjnych w strukturę drzewiastą (w odróżnieniu od liniowej struktury SCSI). Pozwala urządzeniom na bezpośrednią komunikację, na przykład skanerowi i drukarce, bez używania pamięci lub CPU komputera. Wspiera plug-and-play i hot-swap. Sześciożyłowy kabel, którego używa, jest nie tylko wygodniejszy niż kabel SCSI, ale dopuszcza użycie mocy do 60 W, co umożliwia pozbycie się zewnętrznych źródeł zasilania w mniej prądożernych urządzeniach.
DMA (ang. Direct Memory Access) - technika, w której inne układy (np. kontroler dysku twardego, karta dźwiękowa, itd) mogą korzystać z pamięci operacyjnej RAM lub (czasami) portów we-wy pomijając przy tym procesor główny - CPU. Wymaga to współpracy ze strony procesora który musi się na ten czas odłączyć od magistrali systemowej. Realizacja cykli DMA może przez urządzenie być zrzucona na specjalny układ (np. w komputerach PC) lub być realizowana samodzielnie przez urządzenie.
DMA ma za zadanie odciążyć procesor główny od samego przerzucania danych z miejsca na miejsce (np. z urządzenia wejściowego do pamięci), procesor może w tym czasie zająć się 'produktywnym' działaniem. Specjalizowane układy wspomagające DMA (np. te spotykane w PC) potrafią też kopiować obszary pamięci dużo szybciej niż uczyniłby to programowo procesor główny.
Etapy przetwarzania potokowego
Przetwarzanie rozkazów w procesorze podzielone jest na kilka oddzielnych etapów. Istnieje wiele rozwiązań , ale najczęściej przytacza się następujący podział:
IF - pobranie rozkazu
ID - dekodowanie rozkazu, które jest zwykle połączone z pobraniem operandów (danych) z rejestrów
EX - wykonanie rozkazu
W - zapis wyniku operacji
Zauważono, że jeżeli każdy z powyższych etapów wykonywany jest przez niezależne od siebie układy procesora to możliwe staje się jednoczesne przetwarzanie kilku rozkazów znajdujących się na różnych etapach wykonywania; w naszym przykładzie czterech. Do tej pory podczas wykonywania rozkazu, w danej chwili realizowany był tylko jeden etap, co za tym idzie reszta układów odpowiedzialnych za kolejne etapy była niewykorzystywana.
Zakładając, że każdy etap realizowany jest w czasie jednego cyklu zegara procesora to przy naszym - 4-etapowym potoku - uzyskujemy teoretycznie czterokrotne przyspieszenie wykonywania kodu! Wyniki będą generowane, nie co cztery cykle, ale w każdym cyklu zegarowym.
Brak pojęć: tryb przesyłania danych za pomocą podczerwieni, ,