Chciałbym przeprosić wszystkich zaawansowanych użytkowników komputerów za niektóre skróty i uproszczenia. Nie są one spowodowane ignorancją a tylko chęcią podania materiału w strawnej formie dla mniej zaawansowanych...

 

SYSTEM KOMPUTEROWY - Połączenie kilku(nastu) urządzeń elektronicznych umożliwiających przetwarzanie danych. W skład jego wchodzą: procesor,RAM,ROM,zewnętrzne nośniki danych,terminal(monitor i klawiatura),MAGISTRALA ADRESOWA i MAGISTRALA DANYCH,urządzenia zewnętrzne(drukarki,plotery,skanery itp.)

MAGISTRALA DANYCH - inaczej: szyna danych. Specjalne wiązka połączeń elektronicznych wewnątrz SYSTEMU komputerowego umożliwiająca wymianę danych pomiędzy poszczególnymi blokami (głównie pomiędzy procesorem a RAM i ROM)

MAGISTRALA ADRESOWA - inaczej szyna adresowa. Do przesyłania danych potrzebne jest jeszcze miejsce w którym te dane mają się znaleźć. Procesor Informuje w ten sposób gdzie jest to miejsce w pamięci inne układy systemu komputerowego (pamięci Ram i Rom i inne)

SYSTEM OPERACYJNY - specjalny program nadzorujący pracę systemu komputerowego, pośredniczy także pomiędzy systemem komputerowym a człowiekiem, skrót: OS. Celem OS jest wydajna eksploatacja sprzętu komputerowego i zapewnienie wygody jego użytkowania człowiekowi.

BIT - podstawowa jednostka informacji, przechowuje pojedynczą informację ze zbioru 2 elementowego

SŁOWO n-BITOWE - przechowuje informację ze zbioru 2^n elementowego

BAJT - słowo 8-bitowe, zestawinie 8 BITÓW, można w nim zapisać liczby od 0 do 256, od -128 do 127, lub jeden znak ASCII (należy jednak pamiętać iż zależy to od interpretacji!)

KILOBAJT - 1024 BAJTY skrót: KB

MEGABAJT - 1024 KB skrót: MB

FIFO - First In First Out - Patrz FCFS

FCFS - First Come First Served sposób obsługi nadchodzących zadanń charakteryzujący się tym, że pierwszy proces w kolejce jest obsługiwany, potem drugi w kolejności itd.

SJF - Shortest Job First - sposób obsługi kolejki procesów do wykonania taki, że pierwszy jest obsługiwany proces, który zabierze najmniej czasu, w ten sposób średni czas oczekiwania skraca się do minimum. Ten sposób obsługi kolejki jest optymalny spośród wszystkich

SYSTEMY Z PODZIAŁEM CZASU - Systemy operacyjne w których każdy proces; niezależnie od czasu potrzebnego na jego wykonanie; jest obsługiwany przez pewien krótki okres, potem procesor jest przydzielany następnemu procesowi, znów po upływie krótkiego okresu, procesor jest przydzielany nowemu procesowi; po przejściu całej kolejki procesor realizuje znów proces pierwszy.

SYSTEMY ROZPROSZONE - Systemy, które potrzebują odpowiedniej mocy obliczeniowej, Są to współpracujące ze sobą procesory lub SIECI KOMPUTEROWE. Celem takiego łączenia jest współdzielenie zasobów np. drukarek jak też, niezawodność pracy oraz łączność pomiędzy użytkownikami. Wyróżnia się SYSTEMY ROZPROSZONE:

  1. SYSTEMY ŚCIŚLEPOWIĄZANE - W tej konstrukcji każdy procesor współpracuje pod kontrolą jednego zegara taktującego, współużytkuje pamięć RAM, komunikacja międzyprocesorowa realizowana jest za pomocą wspólnej magistrali danych. Procesory muszą być tego samego typu.
  2. SYSTEMY LUŹNOPOWIĄZANE - pracują na wielu komputerach połączonych w SIECI KOMPUTEROWEJ, Typy procesorów, jak też typy komputerów nie muszą być jednakowe.

 

KRYTERIA OCENY ALGORYTMÓW PRZYDZIAŁU PROCESORA - Jest 6 kryteriów:
  1. Wykorzystanie procesora - może wahać się w granicach 40%-90% (im więcej tym lepiej naturalnieJ)
  2. Przepustowość - liczba procesów kończących się w jednostce czasu.
  3. Czas cyklu przetwarzania - czas pomiędzy chwilą nadejścia procesu do stystemu a chwilą jego zakończenia.
  4. Czas oczekiwania na wykonanie procesu
  5. Czas odpowiedzi - czas pływający pomiędzy przedłożeniem zamówienia a pojawieniem się pierwszej odpowiedzi od systemu.
  6. Średni czas oczekiwania na wykonanie procesu.

EFEKT KONWOJU - efekt, przy którym dalsze procesy w kolejce czekają na wykonanie jednego - długiego procesu

STANY PROCESU: aktywny, czekający, gotowy

SYSTEMY CZASU RZECZYWISTEGO - systemy, w których przetwarzanie określonego procesu i/lub danych musi być wykonane przed upływem określonego czasu. NP.: sterownik świateł na skrzyżowaniu, systemy wczesnego ostrzegania, systemy prognozowania pogody.

WYWŁASZCZAJĄCA METODA SJF - Działa zgodnie z zasadą: „Najpierw najkrótszy pozostały czas”

SYSTEM BINARNY ZAPISU LICZB - system operujący tylko na 2 cyfrach: 0 i 1 System ten jest powszechnie stosowany ze względu na wygodę zapamiętywania go przez urządzenia elektroniczne oraz łatwość dokonywania obliczeń na liczbach binarnych. Dla oznaczenia tego zapisu stosuje się literę „b” na końcu lub symbol „%” na początku.

SYSTEM SZESNASTKOWY (lub hexadecymalny) kolejny sposób zapisu liczb. Składa się on z 16 cyfr numerowanych od 0 do 9 i od A do F Dla oznaczenia tego zapisu stosuje się symbol „$” lub „0x” na początku lub literę „h” na końcu liczby.

ASCII - Skrót od: American Standard Code for Information Interchange - amerykański standard służący do wymiany informacji. Termin oznaczający teraz międzynarodowy kod za pomocą którego reprezentowane są znaki alfabetu łacińskiego oraz pewna ilość innych znaków diakrytycznych

RAM - inaczej: pamięć operacyjna -ang: Random Acces Memory - pamięć o dostępie swobodnym, w której przechowywane są różnego rodzaju informacje: programy, dane itp. Pamięć RAM jest niezbędna do funkcjonowania systemu komputerowago. Wadą RAM jest utracenie zawartości po odłączeniu zasilania.

ROM - ang: Read Only Memory - Pamięć tylko do odczytu - pamięć nieulotna (informacje są zachowane po wyłączeniu zasilania) której zawartość programuje producent, a potem w systemie komputerowym można jej używać tylko do odczytu. W pamięci tej najczęściej zapisane są: część procedur systemu operacyjnego, tzw Bootstrap Loader (program odpowiedzialny za wczytanie z nośnika zewnętrznego i uruchomienie zasadniczej części SYSTEMU OPERACYJNEGO) Także w pewnych systemach czasu rzeczywistego w pamięci ROM przechowywany jest cały SYSTEM OPERACYJNY i dane potrzebne do jego działania

JEDNOSTKA ARYTMETYCZNO-LOGICZNA patrz ALU

ALU - Arithmetic-Logic Unit - Część PROCESORA przeznaczona do wykonywania operacji arytmetycznych i logicznych

LICZNIK ROZKAZÓW - Specjalny rejestr PROCESORA służący do przechowywania informacji o adresie następnego do wykonania rozkazu

REJESTR ZNACZNIKÓW inaczej: REJESTR WSKAŹNIKÓW - specjalny rejestr PROCESORA, w którym przechowywane są informacje na temat ostatnio wykonywanych operacji arytmetycznych, logicznych bądź przesunięć

AKUMULATOR - Rejestr z którego pobierana jest jedna dana do ALU w celu wykonania operacji arytmetycznej lub logicznej

PROCESOR - Ang CPU czyli Central Processing Unit - Jednostka centralna przetwarzania - Wysoce specjalizowany układ o dużej skali integracji będący podstawową częścią systemu komputerowego. W skład PROCESORA wchodzą: ALU, Rejestry (AKUMULATOR i pozostałe rejestry ogólnego przeznaczenia), REJESTR ZNACZNIKÓW, LICZNIK ROZKAZÓW, DEKODER ADRESÓW, REJESTR ROZKAZÓW

DEKODER ADRESÓW - blok którego zadaniem jest dekodowanie nadchodzących do procesora adresów. Jeśli NP.: Procesor musi wykonać dodawanie wartości umieszczonej w akumulatorze z drugą umieszczoną w komórce (bajcie) pamięci RAM to DEK. ADR. Musi rozpoznać pod jakim adresem jest ta druga dana aby mogła być ona wczytana do JEDNOSTKI ARYTMETYCZNO-LOGICZNEJ (ALU) DEKODER ADRESÓW nie występuje tylko i wyłącznie w procesorze ale także w innych częściach systemu komputerowego.

PROGRAM - specjalny ciąg instrukcji które ma wykonać procesor. Programy zapisywane sa na zewnętrznych nośnikach, jednak przed wykonaniem muszą byc one wczytane do pamięci RAM. Stamtąd PROCESOR pobiera instrukcję wskazaną przez LICZNIK ROZKAZÓW do REJESTRU ROZKAZÓW, dekoduje ją za pomocą DEKODERA ROZKAZÓW i dopiero wykonuje, wtedy zostaje zwiększany LICZNIK ROZKAZÓW tak, aby wskazywał następną do wykonania instrukcję. Program jest wykonywany (czyli wszystkie jego instrukcje - rozkazy) po kolei poczynając od adresu 0. Wyjątkiem jest tutaj rozkaz skoku do PODPROGRAMU

STOS - specjalna wydzielona część pamięci operacyjnej RAM służąca do zapamiętywania adresów powrotu z PODPROGRAMÓW. Struktura STOSU jest podobna do stosu książek: jeżeli położymy książkę na stole i położymy na niej jeszcze jedną to możemy zdjąć tylko tę ze szczytu tak utworzonego stosu aby się on nie rozpadł - tak jest także ze stosem w pamięci RAM

PODPROGRAM - Jeżeli w głównym PROGRAMIE jest kilka fragmentów takich samych to możemy zoptymalizować program w taki sposób, że wytniemy te powtarzające się fragmenty i umieścimy tylko jeden taki fragment gdzieś w pamięci RAM. W pustych miejscach umieszczamy specjalny ROZKAZ SKOKU DO PODPROGRAMU i podajemy miejsce gdzie nasz utworzony w ten sposób PODPROGRAM się znajduje (czyli ADRES tego PODPROGRAMU). Teraz kiedy procesor napotka ROZKAZ SKOKU DO PODPROGRAMU to nie zwiększa LICZNIKA ROZKAZÓW tylko zapisuje go na STOSIE i odrazu ustawia go tak, aby wskazywał na pierwszy rozkaz w naszym PODPROGRAMIE. Od tej pory są wykonywane wszystkie instrukcje PODPROGRAMU aż do napotkania ROZKAZU POWROTU Z PODPROGRAMU. Wtedy znów PROCESOR nie zwiększa LICZNIKA ROZKAZÓW tylko odczytuje go ze STOSU i dopiero zwiększa tak aby wskazywał na następny ROZKAZ po ROZKAZIE SKOKU DO PODPROGRAMU.

Przykład Jasia, którego zadaniem jest codzienne wynoszenie śmieci z domu:

 

ZJEDZ ŚNIADANIE
SPRAWDŹ CZY KOSZ JEST PEŁEN
JEŚLI TAK TO:
        WEŹ KOSZ
        WYSYP ZAWARTOŚĆ KOSZA DO SMIETNIKA    { Widać, że elementy w kursywie się powtarzają }
        WRÓĆ DO DOMU                          { więc to będzie nasz podprogram! }
IDŹ DO SZKOŁY
WRÓĆ ZE SZKOŁY
SPRAWDŹ CZY KOSZ JEST PEŁEN                   { Nazwijmy więc nasz podprogram SMIECI! }
JEŚLI TAK TO:
        WEŹ KOSZ
        WYSYP ZAWARTOŚĆ KOSZA DO SMIETNIKA
        WRÓĆ DO DOMU
ZJEDZ OBIAD
SPRAWDŹ CZY KOSZ JEST PEŁEN
JEŚLI TAK TO:
        WEŹ KOSZ
        WYSYP ZAWARTOŚĆ KOSZA DO SMIETNIKA
        WRÓĆ DO DOMU

Po optymalizacji program będzie wyglądał tak:

ZJEDZ ŚNIADANIE
ŚMIECI!                                        { Rozkaz skoku do podprogramu }
IDŹ DO SZKOŁY
WRÓĆ ZE SZKOŁY
ŚMIECI!                                        { Rozkaz skoku do podprogramu }
ZJEDZ OBIAD
ŚMIECI!                                        { Rozkaz skoku do podprogramu }

A podprogram tak:

SPRAWDŹ CZY KOSZ JEST PEŁEN                    { Tu się zaczyna podprogram SMIECI! }
JEŚLI TAK TO:
        WEŹ KOSZ
        WYSYP ZAWARTOŚĆ KOSZA DO ŚMIETNIKA
        WRÓĆ DO DOMU
ŚMIECI ZAŁATWIONE                              { Tu następuje powrót do programu głównego }

Dość znaczną oszczędność widać gołym okiem...