Architektura systemów informatycznych. Powłoka systemowa Architektura procesora

Podobne dokumenty
Budowa komputera Komputer computer computare

Rejestry procesora. Nazwa ilość bitów. AX 16 (accumulator) rejestr akumulatora. BX 16 (base) rejestr bazowy. CX 16 (count) rejestr licznika

organizacja procesora 8086

Organizacja typowego mikroprocesora

Budowa Mikrokomputera

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

Sprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer

LEKCJA TEMAT: Współczesne procesory.

Programowanie niskopoziomowe

Procesory. Schemat budowy procesora

RDZEŃ x86 x86 rodzina architektur (modeli programowych) procesorów firmy Intel, należących do kategorii CISC, stosowana w komputerach PC,

Architektura Systemów Komputerowych. Rozwój architektury komputerów klasy PC

Architektura komputerów

Budowa i zasada działania komputera. dr Artur Bartoszewski

Architektura systemów informatycznych. Powłoka systemowa Architektura procesora

UTK ARCHITEKTURA PROCESORÓW 80386/ Budowa procesora Struktura wewnętrzna logiczna procesora 80386

Architektura komputerów

Logiczny model komputera i działanie procesora. Część 1.

PROGRAMOWANIE WSPÓŁCZESNYCH ARCHITEKTUR KOMPUTEROWYCH DR INŻ. KRZYSZTOF ROJEK

Programowanie Niskopoziomowe

Podstawy techniki cyfrowej Mikroprocesory. Mgr inż. Bogdan Pietrzak ZSR CKP Świdwin

Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1

Planowanie przydziału procesora

Procesory rodziny x86. Dariusz Chaberski

Architektura systemów komputerowych

Planowanie przydziału procesora

Układ wykonawczy, instrukcje i adresowanie. Dariusz Chaberski

Sprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer

LEKCJA TEMAT: Zasada działania komputera.

Architektura systemów komputerowych. dr Artur Bartoszewski

Architektura komputerów. Asembler procesorów rodziny x86

Architektura mikroprocesorów TEO 2009/2010

UTK Można stwierdzić, że wszystkie działania i operacje zachodzące w systemie są sterowane bądź inicjowane przez mikroprocesor.

Wstęp do informatyki. System komputerowy. Magistrala systemowa. Architektura komputera. Cezary Bolek

Architektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy

Zarządzanie procesami i wątkami

Układ sterowania, magistrale i organizacja pamięci. Dariusz Chaberski

Technika mikroprocesorowa. Linia rozwojowa procesorów firmy Intel w latach

Wykład 6. Planowanie (szeregowanie) procesów (ang. process scheduling) Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB

Architektura komputerów

J. Duntemann Zrozumieć Assembler Leo J. Scanlon Assembler 8086/8088/80286 S. Kruk Programowanie w Języku Assembler

Sprzęt i architektura komputerów

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Architektura komputerów. Komputer Procesor Mikroprocesor koncepcja Johna von Neumanna

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

Wprowadzenie do informatyki i użytkowania komputerów. Kodowanie informacji System komputerowy

Zarządzanie procesorem

Podstawy Techniki Mikroprocesorowej

Planowanie przydziału procesora

Procesor Intel 8086 model programisty. Arkadiusz Chrobot

Wydajność obliczeń a architektura procesorów. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1

Mikroprocesory rodziny INTEL 80x86

ARCHITEKTURA PROCESORA,

Ogólna koncepcja planowania. Planowanie przydziału procesora. Komponenty jądra w planowaniu. Tryb decyzji. Podejmowanie decyzji o wywłaszczeniu

Magistrala systemowa (System Bus)

Spis treúci. Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1. Przedmowa Wstęp... 11

4.2. Współczesne generacje procesorów

Architektura komputera. Dane i rozkazy przechowywane są w tej samej pamięci umożliwiającej zapis i odczyt

Pośredniczy we współpracy pomiędzy procesorem a urządzeniem we/wy. W szczególności do jego zadań należy:

BUDOWA I DZIAŁANIE MIKROPROCESORA

Procesor Intel 8086 model programisty. Arkadiusz Chrobot

Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne

Powłoka I. Popularne implementacje. W stylu sh (powłoki zdefiniowanej w POSIX) W stylu csh. bash (najpopularniejsza) zsh ksh mksh.

Architektura systemów komputerowych Laboratorium 14 Symulator SMS32 Implementacja algorytmów

Architektura komputerów

Projektowanie. Projektowanie mikroprocesorów

Jednostka centralna. dr hab. inż. Krzysztof Patan, prof. PWSZ

Arytmetyka liczb binarnych

Procesor ma architekturę rejestrową L/S. Wskaż rozkazy spoza listy tego procesora. bgt Rx, Ry, offset nand Rx, Ry, A add Rx, #1, Rz store Rx, [Rz]

MIKROKONTROLERY I MIKROPROCESORY

Przykładowe pytania DSP 1

Struktura i działanie jednostki centralnej

Sprzęt i architektura komputerów

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Planowanie przydziału procesora CPU scheduling. Koncepcja szeregowania. Planista przydziału procesora (planista krótkoterminowy) CPU Scheduler

Komputer IBM PC niezależnie od modelu składa się z: Jednostki centralnej czyli właściwego komputera Monitora Klawiatury

Systemy operacyjne. wykład dr Marcin Czarnota laboratorium mgr Radosław Maj

Funkcje procesora: kopiowanie danych z pamięci do rejestru z rejestru do pamięci z pamięci do pamięci (niektóre procesory)

Architektura Systemów Komputerowych. Jednostka ALU Przestrzeń adresowa Tryby adresowania

Architektury komputerów Architektury i wydajność. Tomasz Dziubich

Księgarnia PWN: Włodzimierz Stanisławski, Damian Raczyński - Programowanie systemowe mikroprocesorów rodziny x86

SYSTEMY OPERACYJNE WYKLAD 6 - wątki

4. Procesy pojęcia podstawowe

Programowanie Niskopoziomowe

Bibliografia: pl.wikipedia.org Historia i rodzaje procesorów w firmy Intel

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

4. Procesy pojęcia podstawowe

Przełączanie kontekstu. Planista średnioterminowy. Diagram kolejek. Kolejki planowania procesów. Planiści

Zarządzanie pamięcią operacyjną

Fazy procesora i wejścia-wyjścia. Planowanie przydziału procesora. Czasy faz procesora. Planowanie przydziału procesora

Architektura komputerów wer. 7

Programowanie współbieżne Wykład 2. Iwona Kochańska

Informatyka, systemy, sieci komputerowe

Architektura Systemów Komputerowych, Wydział Informatyki, ZUT

Zegar - układ wysyłający regularne impulsy o stałej szerokości (J) i częstotliwości (f)

CPU. Architektura FLAGS Bit: dr Paweł Kowalczyk; DPTNS, KFCS UŁ. SI 16 bit. 16 bit. 16 bit.

Budowa systemów komputerowych

Transkrypt:

Architektura systemów informatycznych Powłoka systemowa Architektura procesora

Powłoki systemowe Powłoka tekstowa Powłoka, nazywana inaczej shellem, odpowiada za wykonywanie poleceń wpisywanych przez użytkownika w trybie tekstowym. Samo jądro systemu nie "rozumie" wpisywanych przez użytkownika poleceń, to właśnie powłoka przyjmuje polecenia tekstowe, i odpowiednio je tłumaczy na funkcje kernela, jakie ma wykonać - porozumiewa się z kernelem w formie binarnej, bezpośrednio, bo właśnie taką formę poleceń kernel ma wbudowaną. Powłoka decyduje, czy przekazać polecenie do kernela, czy je wykonać za pomocą innego programu. Najpopularniejszą powłoką w GNU/Linuksie jest bash (Bourne Again Shell). Powłoka graficzna Można również wydawać polecenia systemowi za pośrednictwem interfejsu graficznego - jest to inaczej powłoka graficzna.

Powłoki tekstowe Powłoka Bourne a (sh) Podstawowy interpreter poleceń we wszystkich systemach Linux i Unix o ograniczonych możliwościach (brak edycji wiersza poleceń) Powłoka C (csh) Składnia poleceń nawiązuje do języka C (instrukcje warunkowe, historia wydawanych poleceń) nowsza wersja to tcsh Powłoka Korna (ksh) Połączenie możliwości powłok sh i csh i wzbogacenie o dodatkowe polecenia, udoskonalony mechanizm edycji wiersza poleceń Powłoka Bash (bash) Bourne Again Shell, domyślna powłoka Linuxa, połączenie możliwości powłok Korna i C, automatyczne uzupełnianie nazw plików i nazw ścieżek.

Składnia poleceń polecenie opcje argumenty Polecenie jedna z wielu komend, dostępnych w systemach Linux i Unix, lub własny program użytkownika tzw. skrypt. Polecenia działają na plikach, katalogach i urządzeniach. Opcje modyfikują funkcjonowanie polecenia, powodując, że wykonuje się ono w specjalny sposób. Opcje w systemach Linux i Unix to najczęściej pojedyncze litery poprzedzone znakiem minus -. Sposoby użycia: polecenie l a t polecenie lat polecenie la t Argumenty pliki, katalogi urządzenia czyli obiekty, na których wykonywane są polecenia.

Metaznaki Metazanki (znaki uogólniające) - znaki stosowane w celu łatwiejszego posługiwania się nazwami plików oraz katalogów. - służą do tworzenia wzorców, które są rozpoznawane i wykorzystywane przez powłokę - słowo zawierające metaznaki jest zastępowane przez alfabetycznie uporządkowaną listę nazw plików oraz katalogów, które odpowiadają konkretnemu wzorcowi - metaznakami są:. +? * ^ $ [ ]( ) \ {}

Wyrażenia regularne ang. Regular expressions (regexp) Wyrażenia regularne są narzędziem służącym do dopasowywania wzorców. Wykorzystywane są tam, gdzie potrzebne jest narzędzie do wyszukiwania tekstu spełniającego pewne kryteria.

Wyrażenia regularne: składnia Znaki zwyczajne a, A, b, B, z, Z, 0, 1, 9,,! Znaki specjalne (metaznaki) Rozróżnia się dwa zbiory metaznaków: metaznaki rozpoznawane w dowolnym miejscu wzorca poza nawiasami kwadratowymi ^, $, *, +,?,., (, ), [, ], {, }, \ oraz metaznaki rozpoznawane wewnątrz nawiasów kwadratowych. \, ^, - Część wzorca ujęta w nawiasy kwadratowe jest zwana "klasą znaków".

Filtry tekstowe W systemie UNIX posługując się wieloma poleceniami można stosować wyrażenia regularne, np. grep, vi, sed, awk, ls, cat, head, less, more, tail, find, cp, ps, rm, gzip, tar. We wszystkich przypadkach chodzi o wyszukanie w pliku lub w jego nazwie pewnego ciągu znaków, który można opisać właśnie za pomocą wyrażenia regularnego. Oprócz zwykłych fragmentów tekstu, można posłużyć się znakami specjalnymi.

Filtry grep i awk Pliki zaczynające się na std z rozszerzeniem.h Procesy użytkownika związane z interfejsem graficznym

Architektura procesora

Podstawowe elementy systemu komputerowego Podstawową obowiązującą obecnie architekturą komputera jest architektura von Neumanna (ang. von Neumann architekture -VNA) Architektura VNA obowiązuje w rodzinie komputerów z procesorami x86 Podstawowe elementy architektury VNA: jednostka centralna (procesor, CPU) pamięć urządzenia wejścia-wyjścia

Definicja Procesor (ang. processor) nazywany często CPU (ang. Central Processing Unit) - urządzenie cyfrowe sekwencyjne potrafiące pobierać dane z pamięci, interpretować je i wykonywać jako rozkazy. Wykonuje on bardzo szybko ciąg prostych operacji (rozkazów) wybranych ze zbioru operacji podstawowych określonych zazwyczaj przez producenta procesora jako lista rozkazów procesora.

Cechy procesorów architektura (CISC lub RISC) liczba bitów przetwarzana w jednym takcie (32-bitowe, 64-bitowe) częstotliwość taktowania podawana w MHz lub GHz

Częstotliwość taktowania Częstotliwość cyklu zegarowego (ang. clock rate) - podstawowa szybkość w cyklach na sekundę, z jaką komputer wykonuje podstawowe operacje, jak dodawanie dwóch liczb czy przenoszenie wartości z jednego rejestru do drugiego. Częstotliwość cyklu zegarowego komputera jest normalnie określana przez częstotliwość kryształu. Pierwszy IBM PC z 1981 r. miał częstotliwość cyklu zegarowego 4,77 MHz (prawie 5 mln cykli na sekundę). W 1995 r. Intel Pentium pracował z szybkością 100 MHz (100 mln cykli na sekundę), pod koniec 2004 r. szybkość niektórych procesorów przekroczyła wyraźnie 3 GHz (3 mld cykli na sekundę) Współczesne procesory używane w komputerach osobistych wykonywane są w technologii pozwalającej na uzyskanie elementów o rozmiarach mniejszych niż 65 nm, 45nm lub 32nm, pracujących z częstotliwością powyżej 3 GHz.

Architektury RISC i CISC Procesory z rodziny x86 zalicza się do rodziny CISC (Complex Instruction Set Computing - architektura o złożonej liście rozkazów). Istotą architektury CISC jest to, iż pojedynczy rozkaz mikroprocesora, wykonuje kilka operacji niskiego poziomu, jak na przykład pobranie z pamięci, operację arytmetyczną i zapisanie do pamięci. Procesory PowerPC i ARM reprezentują architekturę RISC (Reduced Instruction Set Computing - architektura o uproszczonej liście rozkazów). W CISC przeciwnie niż w architekturze RISC rozkazy mogą operować bezpośrednio na pamięci (zamiast przesłania wartości do rejestrów i operowania na nich) Obecnie popularne procesory Intela z punktu widzenia programisty są widziane jako CISC, ale ich rdzeń jest RISC-owy. Rozkazy CISC są rozbijane na mikrorozkazy (ang. microops), które są następnie wykonywane przez RISC-owy blok wykonawczy.

Operacje zmiennoprzecinkowe FLOPS (ang. FLoating point Operations Per Second) - liczba operacji zmiennoprzecinkowych na sekundę, jednostka wydajności komputerów, a dokładniej wydajności układów realizujących obliczenia zmiennoprzecinkowe. Większość współczesnych mikroprocesorów zawiera specjalizowaną jednostkę FPU (floating-point unit), która jest odpowiedzialna za wykonywanie obliczeń zmiennoprzecinkowych. Dlatego też parametr FLOPS pokazuje głównie wydajność jednostki FPU. Typowy nowoczesny komputer osobisty (np. z procesorem Pentium 4, czy Athlon 64 i częstotliwości zegara około 2 GHz) ma wydajność rzędu paru GFLOPS-ów.

Elementy funkcjonalne W architekturze procesora można wyróżnić dwa podstawowe elementy funkcjonalne jednostkę wykonawczą, której zadaniem jest wykonywanie operacji arytmetycznych i logicznych w zależności od wewnętrznych sygnałów sterujących (przechowuje dane) jednostkę sterującą, której zadaniem jest dekodowanie z programu rozkazu i na jego podstawie generowanie wewnętrznych i zewnętrznych sygnałów sterujących (przechowuje kod)

Elementy funkcjonalne

Moduły procesora Blok wstępnego pobierania i dekodowania instrukcji. Odpowiada on za dostarczenie kolejnych poleceń z pamięci operacyjnej i przekazanie ich do odpowiedniej jednostki wykonawczej. Główny blok wykonawczy to jednostka arytmetyczno-logiczna ALU. Zapewnia ona prawidłowe przetworzenie wszystkich danych stałoprzecinkowych. ALU wyposażony jest w niewielką zintegrowana pamięć, nazywaną zestawem rejestrów. Każdy rejestr to pojedyncza komórka używana do chwilowego przechowywania danych i wyników. FPU, czyli koprocesor wykonujący wszystkie obliczenia zmiennoprzecinkowe. Po zakończeniu "obliczeń" dane będące wynikiem przetwarzania trafiają do modułu wyjściowego procesora. Jego zadaniem jest przekierowanie nadchodzących informacji np. do odpowiedniego adresu w pamięci operacyjnej lub urządzenia wejścia/wyjścia.

Procesory superskalarne Procesor superskalarny posiada kilka jednostek wykonywania kodu Jeśli w kolejce wstępnego pobrania natknie się na dwie lub więcej instrukcji, które mogą być wykonane niezależnie od siebie, wykona je jednocześnie Hyperthreading uruchamianie przez procesor dwóch odrębnych wątków jednocześnie i wykorzystanie wszystkich jednostek funkcjonalnych CPU

Rejestry ogólnego przeznaczenia AX (accumulator) Rejestr najczęściej używany przy działaniach mnożenia i dzielenia, a także w operacjach logicznych. Można go używać jako dwa rejestry 8 bitowe(ah i AL). BX (basis) Rejestr bazowy, wykorzystywany do adresowania może być używany jako dwa 8-bitowe rejestry BH i BL. CX (counter) Licznik, rejestr służący do zliczania(np. ilość powtórzeń pętli) oraz przechowywania danych. Może być także używany jako dwa rejestry 8-bitowe CH i CL. DX (data) Rejestr danych, wykorzystywany przy dzieleniu i mnożeniu. Jest jedynym rejestrem, w którym można podać adres portu w rozkazach wejscia-wyjscia.

Rejestry segmentowe CS (Code Segment) Segment kodu - określa segment pamięci, w którym znajduje się program. DS (data segment) - segment danych Określa segment pamięci, w którym znajdują się dane wykonywanego programu. SS (stack segment) Segment, w którym znajduje się stos. ES (extra segment) Za jego pomocą przenosimy odpowiednie wartości do pamięci.

Rejestry wskaźników IP (Instruction pointer) Wskaźnik instrukcji - Wskaźnik wykonywanej instrukcji(przesunięcia jej w segmencie CS). SP (Stack pointer) wskaźnik "dna" stosu(przesunięcia w segmencie SS). BP (Base Pointer) Wskaźnik bazowy. SI (source index) DI (destination index) Indeks źródłowy Indeks docelowy

Rejestry znaczników (flag) O (ang. Overlow Flag) Znacznik nadmiaru, zostaje ustawiony przy wystąpieniu nadmiaru w operacjach arytmetycznych, czyli np. przy przekroczeniu dopuszczalnego zakresu wyniku operacji. D (ang. Direction Flag) Znacznik kierunku, określa czy dane będą przesyłane w kolejności adresów rosnących, czy malejących. Jeśli jest równy 0, to SI i DI będą zwiększane, w przeciwnym wypadku będą zmniejszane. I (ang. Interrupt Flag) Znacznik zezwolenia na przerwanie, określa czy przerwanie sprzętowe ma być wykonane natychmiast po zgłoszeniu, czy dopiero po zakończeniu wykonywania programu. T (ang. Trap Flag) S (ang. Sign Flag) Znacznik pracy krokowej. Określa, czy po każdej wykonanej instrukcji procesora wykonywane jest przerwanie pracy krokowej. Znacznik znaku. Zawiera znak wyniku ostatnio wykonanej operacji arytmetycznej. Z (ang. Zero Flag) A (ang. Auxiliary Carry Flag) P (ang. Parity Flag) C (ang. Carry Flag) Znacznik zera. Zostaje ustawiony, jeśli wynikiem ostatniej operacji arytmetycznej był wynik zero. Znacznik przeniesienia połówkowego. Zostaje ustawiony, gdy mamy do czynienia z przeniesieniem z bitu 3 na bit 4 lub pożyczką z bitu 4 na 3 Znacznik parzystości. Znacznik przeniesienia.

Rejestry multimedialne MMX Pierwszym wprowadzonym rozszerzeniem multimedialnym, wbudowanym we wszystkie obecnie produkowane modele procesorów, jest zestaw 57 instrukcji arytmetyki stałoprzecinkowej typu SIMD, znany pod nazwą MMX. (rejestry 64- bitowe) 3DNow! Firma AMD wprowadziła 21 nowych instrukcji zmiennoprzecinkowych typu SIMD-FP zorientowanych na wspomaganie grafiki trójwymiarowej. SIMD-FP procesorów AMD wykorzystuje do działania połączone w pary 64-bitowe rejestry MMX - co niestety, utrudnia automatyczna optymalizacje kodu programu, gdyż wymagany jest podział danych na dwa segmenty. SSE Również Intel wprowadził w swoich procesorach Pentium III, instrukcje zmiennoprzecinkowe SIMD-FP. Instrukcje te są wykonywane przez wyspecjalizowana jednostkę operującą na ośmiu 128-bitowych dedykowanych rejestrach - co sprzyja optymalizacji kodu programu.

Rejestry procesora Pentium 4

Pamięć podręczna Pamięć cache L1 jest zintegrowana z procesorem i nie ma możliwości jej rozbudowy; składa się ona z bufora rozkazów połączonego z szyną adresową oraz z bufora danych połączonego z szyną danych procesora. Pamięć L1 zlokalizowana jest we wnętrzu procesora i taktowana jest jego zegarem. Procesor odwołuje się do pamięci podręcznej, wykorzystując magistralę pamięciową. Pamięć podręczna L2 jest zainstalowana na płycie głównej komputera i dołączona jest równolegle do magistrali pamięciowej. np. Pamięć cache procesorów z rodziny Core i7 po 32KB pamięci instrukcyjnej L1 i 32KB pamięci danych L1 na każdy z rdzeni po 256KB współdzielonej pamięci instrukcyjnej/danych L2 na każdy z rdzeni 8MB współdzielonej pamięci instrukcyjnej/danych L3 wspólnej dla wszystkich rdzeni

Typowe rozkazy procesora kopiowanie danych z pamięci do rejestru z rejestru do pamięci z pamięci do pamięci (niektóre procesory) (podział ze względu na sposób adresowania danych) działania arytmetyczne dodawanie odejmowanie porównywanie dwóch liczb dodawanie i odejmowanie jedności zmiana znaku liczby działania na bitach iloczyn logiczny AND suma logiczna OR suma modulo 2 (różnica symetryczna) XOR negacja NOT przesunięcie bitów w lewo lub prawo skoki bezwarunkowe warunkowe

Planowanie przydziału procesora przez system operacyjny Planowanie przydziału procesora leży u podstaw wieloprogramowych systemów operacyjnych. Dzięki przyłączaniu procesora do procesów, system operacyjny może zwiększyć wydajność komputera. Planowanie jest podstawową funkcją systemu operacyjnego. Użytkowanie niemal wszystkich zasobów komputerowych podlega planowaniu.

Stany procesu

Planowanie wywłaszczające i niewywłaszczające O przydziale procesora decyzje mogą zapadać w 4 sytuacjach: Proces przeszedł od stanu aktywności do stanu czekania. Proces przeszedł od stanu aktywności do stanu gotowości. Proces przeszedł od stanu czekania do stanu gotowości. Proces kończy działanie. Jeśli planowanie odbywa się w sytuacjach 1 i 4 to mamy do czynienia z planowaniem niewywłaszczającym (proces, który otrzymał procesor, jest wykonywany dotąd aż się zakończy), Jeśli planowanie odbywa się dodatkowo w sytuacjach 2 i 3 to mamy do czynienia z planowaniem wywłaszczającym (gdy proces oczekuje, procesor zostaje przydzielony do innego procesu).

Kryteria planowania Dąży się do tego, aby procesor był nieustannie zajęty pracą. W rzeczywistym systemie obciążenie procesora powinno się mieścić w granicach 40-90%. Przepustowość (throughput), czyli liczba procesów kończonych w jednostce czasu, powinno się dążyć do uzyskania jak największej wartości tego parametru. Czas cyklu przetwarzania (turnaround time), to czas upływający między chwilą nadejścia procesu do systemu, a chwilą jego zakończenia. Czas oczekiwania, to suma okresów, w których proces czeka w kolejce procesów gotowych do działania. Czas odpowiedzi (response time), jest to czas upływający między wysłaniem żądania a uzyskaniem odpowiedzi.

ALGORYTMY PLANOWANIA PRZYDZIAŁU: Metoda FCFS -(first come first served) Jest on najprostszym ze znanych algorytmów planowania procesora. Według tego schematu proces, który pierwszy zamówi procesor, pierwszy go otrzyma. Implementację tego algorytmu otrzymuje się przez zastosowanie kolejki FIFO. Blok kontrolny procesu wchodzącego do kolejki jest umieszczany na jej końcu. Jest to algorytm niewywłaszczający. Po objęciu kontroli nad procesorem proces utrzymuje ją do czasu, aż sam zwolni procesor wskutek zakończenia swego działania lub zamówienia operacji wejścia-wyjścia. W algorytmie FCFS, średni czas oczekiwania bywa przeważnie długi.

Metoda SJF -(shortest job first) Algorytm ten wiąże z każdym procesem długość jego najbliższej z przyszłych faz procesora. Gdy procesor staje się dostępny, wówczas zostaje przydzielony procesorowi proces o najkrótszej następnej fazie procesora. Algortm SJF może być wywłaszczający lub niewywłaszczający. Konieczność wyboru powstaje wówczas, gdy w kolejce procesów gotowych, podczas, gdy procesor jest zajęty innym procesem, pojawia się proces o krótszej fazie procesora, niż to co jeszcze zostało do wykonania w procesie bieżącym. Algorytm SJF - wywłaszczający usunie wówczas, bieżący proces do kolejki procesów gotowych i przydzieli mu proces o krótszej fazie z kolejki. Algorytm SJF jest optymalny, tzn daje minimalny średni czas oczekiwania dla danego zbioru procesów. Jednak poważną trudność sprawia określenie długości następnej fazy procesora.

Planowanie priorytetowe Każdemu procesowi przypisuje się priorytet, po czym przydziela się procesor temu procesowi, którego priorytet jest najwyższy. Procesy o równych priorytetach planuje się wg. schematu FCFS. (Algorytm SJF jest szczególnym przypadkiem planowania priorytetowego, w którym priorytet jest odwrotnością następnej przewidywanej fazy procesora). Planowanie priorytetowe może być wywłaszczające lub niewywłaszczające. Priorytet procesu dołączonego do kolejki procesów gotowych jest porównywany z priorytetem procesu aktualnie przetwarzanego. Algorytm wywłaszczający wywłaszczy proces aktualnie przetwarzany, jeżeli nowo przybyły proces charakteryzuje się wyższym priorytetem, natomiast algorytm niewywłaszczający ustawi nowo przybyły proces z wyższym priorytetem na czole kolejki.

Planowanie priorytetowe Każdemu procesowi przypisuje się priorytet, po czym przydziela się procesor temu procesowi, którego priorytet jest najwyższy. Procesy o równych priorytetach planuje się wg. schematu FCFS. (Algorytm SJF jest szczególnym przypadkiem planowania priorytetowego, w którym priorytet jest odwrotnością następnej przewidywanej fazy procesora). Planowanie priorytetowe może być wywłaszczające lub niewywłaszczające. Priorytet procesu dołączonego do kolejki procesów gotowych jest porównywany z priorytetem procesu aktualnie przetwarzanego. Algorytm wywłaszczający wywłaszczy proces aktualnie przetwarzany, jeżeli nowo przybyły proces charakteryzuje się wyższym priorytetem, natomiast algorytm niewywłaszczający ustawi nowo przybyły proces z wyższym priorytetem na czole kolejki.

Planowanie rotacyjne (RR - round robin) Algorytm ten zaprojektowano specjalnie do systemów z podziałem czasu. Jest on podobny do FCFS, z tym, że w celu przełączania procesów dodano do niego wywłaszczenie. Ustala się małą jednostkę czasu (kwant czasu), kolejka procesów gotowych jest traktowana jako kolejka cykliczna. Planista przegląda tę kolejkę i każdemu procesowi przydziela odcinek czasu nie dłuższy niż kwant czasu. Wydajność algorytmu rotacyjnego w dużym stopniu zależy od rozmiaru kwantu czasu. Gdy kwant czasu jest bardzo długi, metoda rotacyjna sprowadza się do planowania FCFS, natomiast jeśli kwant czasu jest bardzo mały to planowanie rotacyjne nazywa się dzieleniem procesora i sprawia ono wrażenie, że każdy z n procesów ma własny procesor działający z 1/n szybkości rzeczywistego procesora.

Parametry procesora plik /proc/cpuinfo