3030
edycji
Nie podano opisu zmian |
|||
(Nie pokazano 10 pośrednich wersji utworzonych przez tego samego użytkownika) | |||
Linia 1: | Linia 1: | ||
= Opis procesu = | = Opis procesu = | ||
Struktura opisująca kontekst procesu CROOK-a 5 w wersji 8 dla maszyny nieprzerobionej wygląda następująco: | Struktura opisująca kontekst procesu CROOK-a 5 dla jądra w wersji 8 dla maszyny nieprzerobionej (N) i przerobionej (P) wygląda następująco: | ||
{| class="wikitable" | {| class="wikitable" | ||
! Nazwa !! Indeks !! Rozmiar !! Opis | ! Nazwa !! Indeks N !! Indeks P !! Rozmiar !! Opis | ||
|- | |- | ||
| ICE || 0 || 3 || Wektor procesu: IC, R0, SR | | ICE || 0 || 0 || 3 || Wektor procesu: IC, R0, SR | ||
|- | |- | ||
| REJE || 3 || 7 || Rejestry R1-R7 | | REJE || 3 || 8 || 7 || Rejestry R1-R7 | ||
|- | |- | ||
| NEXT || 10 || 1 || Łącznik główny listy procesów | | NEXT || 10 || 15 || 1 || Łącznik główny listy procesów | ||
|- | |- | ||
| NXCH || 11 || 1 || Łącznik listy procesów potomnych | | NXCH || 11 || 16 || 1 || Łącznik listy procesów potomnych | ||
|- | |- | ||
| STATE || 12 || 1 || Stan procesu | | STATE || 12 || 17 || 1 || Stan procesu | ||
|- | |- | ||
| PIOR || 13 || 1 || Priorytet procesu | | PIOR || 13 || 18 || 1 || Priorytet procesu | ||
|- | |- | ||
| PRNU || 14 || 1 || Numer procesu | | PRNU || 14 || 19 || 1 || Numer procesu | ||
|- | |- | ||
| PAPR || 15 || 1 || Proces nadrzędny | | PAPR || 15 || 20 || 1 || Proces nadrzędny | ||
|- | |- | ||
| CHLS || 16 || 1 || Początek listy procesów potomnych | | CHLS || 16 || 21 || 1 || Początek listy procesów potomnych | ||
|- | |- | ||
| ALLS || 17 || 1 || | | ALLS || 17 || 22 || 1 || | ||
|- | |- | ||
| CHTIM || 18 || 1 || | | CHTIM || 18 || 23 || 1 || | ||
|- | |- | ||
| DEVI || 19 || 1 || Aktualne wejście | | DEVI || 19 || 24 || 1 || Aktualne wejście | ||
|- | |- | ||
| DEVO || 20 || 1 || Aktualne wyjście | | DEVO || 20 || 25 || 1 || Aktualne wyjście | ||
|- | |- | ||
| USAL || 21 || 1 || | | USAL || 21 || 26 || 1 || | ||
|- | |- | ||
| ROB || 22 || 8 || Obszar roboczy | | ROB || 22 || 27 || 8 || Obszar roboczy | ||
|- | |- | ||
| STRLI || 30 || 1 || Początek listy strumieni? | | STRLI || 30 || 35 || 1 || Początek listy strumieni? | ||
|- | |- | ||
| BUFLI || 31 || 1 || Początek listy buforów? | | BUFLI || 31 || 36 || 1 || Początek listy buforów? | ||
|- | |- | ||
| LARUS || 32 || 1 || TABLICA KODOW DOSTEPU | | LARUS || 32 || 37 || 1 || TABLICA KODOW DOSTEPU | ||
|- | |- | ||
| LISMEM || 33 || 1 || POCZ LISTY BLOKOW PAO | | LISMEM || 33 || 38 || 1 || POCZ LISTY BLOKOW PAO | ||
|- | |- | ||
| CORSIZ || 34 || 1 || LICZBA BLOKOW PO 4K | | CORSIZ || 34 || 39 || 1 || LICZBA BLOKOW PO 4K | ||
|- | |- | ||
| NXTMEM || 35 || 1 || LISTA PROCESOW Z PAO DO ODEBRANIA | | NXTMEM || 35 || 40 || 1 || LISTA PROCESOW Z PAO DO ODEBRANIA | ||
|- | |- | ||
| BAR || 36 || 1 || | | BAR || 36 || 41 || 1 || | ||
|- | |- | ||
| SZABME || 37 || 1 || SZABLON PRZYDZIALU PAO | | SZABME || 37 || 42 || 1 || SZABLON PRZYDZIALU PAO | ||
|- | |- | ||
| BLPASC || 38 || 1 || blokada PASC | | BLPASC || 38 || 43 || 1 || blokada PASC | ||
|- | |- | ||
| IC || 39 || 3 || IC, R0, SR | | IC || 39 || -4 || 3 || IC, R0, SR | ||
|- | |- | ||
| REJ || 42 || 7 || Rejestry R1-R7 | | REJ || 42 || 44 || 7 || Rejestry R1-R7 | ||
|- | |- | ||
| JDAD || 49 || 1 || ADRES POCZ ZRODLA LADOWANIA | | JDAD || 49 || 51 || 1 || ADRES POCZ ZRODLA LADOWANIA | ||
|- | |- | ||
| JPAD || 50 || 1 || ADRES POCZ PRG | | JPAD || 50 || 52 || 1 || ADRES POCZ PRG | ||
|- | |- | ||
| JACN || 51 || 1 || POZYCJA PRG W FILDIC | | JACN || 51 || 53 || 1 || POZYCJA PRG W FILDIC | ||
|- | |- | ||
| JNAME || 52 || 2 || NAZWA PROGRAMU | | JNAME || 52 || 54 || 2 || NAZWA PROGRAMU | ||
|- | |- | ||
| JLOLEN || 54 || 1 || Dlugosc ladowania | | JLOLEN || 54 || 56 || 1 || Dlugosc ladowania | ||
|- | |||
| TABUJB || 55 || 61 || || Całkowity rozmiar struktury | |||
|} | |} | ||
Linia 86: | Linia 88: | ||
= Kolejki procesów = | = Kolejki procesów = | ||
Pod adresem 0x62 (BPROG - Bieżący PROGram) system przechowuje wskaźnik na kontekst aktualnie wykonywanego procesu. Jest to jednocześnie czoło listy procesów gotowych do wykonania, łączonej dalej polem NEXT. | |||
Oprócz tej listy, system utrzymuje 16 głównych kolejek procesów. Proces może znajdować się w jednej z nich, w zależności od tego, na jaki zasób bądź zdarzenie oczekuje. Początki list zajmują 16 (NOQ - Number Of Queues) kolejnych słów od adresu 0x2846 (QJW - Queue of Jobs Waiting): | |||
{| class="wikitable" | {| class="wikitable" | ||
Linia 92: | Linia 95: | ||
! Pozycja !! Nazwa !! Opis | ! Pozycja !! Nazwa !! Opis | ||
|- | |- | ||
| 0 || | | 0 || 0 || Kolejka procesów oczeujących na kanał pamięciowy 0 | ||
|- | |- | ||
| 1 || | | 1 || 1 || Kolejka procesów oczeujących na kanał pamięciowy 1 | ||
|- | |- | ||
| 2 || | | 2 || 2 || Kolejka procesów oczeujących na kanał pamięciowy 2 | ||
|- | |- | ||
| 3 || WTRAM || Kolejka oczekujących po bufor RAM | | 3 || 3<br/>''WTRAM'' || Kolejka procesów oczeujących na kanał pamięciowy 3<br />''w wersji 8: Kolejka oczekujących po bufor RAM'' | ||
|- | |- | ||
| 4 || WTTM || Kolejka oczekujacych na określony czas zegarowy | | 4 || WTTM || Kolejka oczekujacych na określony czas zegarowy | ||
Linia 119: | Linia 122: | ||
16-bitowe słowo stanu procesu składa się z trzech części: | 16-bitowe słowo stanu procesu składa się z trzech części: | ||
* bity 0-8 określają stan procesu | * bity 0-8 określają stan procesu | ||
* bity 9 | * bity 9-15 opisują przyczynę przejścia procesu do danego stanu, (numer kolejki, w której proces oczekuje, numer urządzenia, na które czeka, ...) | ||
Proces gotowy do wykonania ma stan 0. | Proces gotowy do wykonania ma stan 0. | ||
{| class="wikitable" | {| class="wikitable" | ||
! width=30 | Bity !! width=30 | 0 !! width=30 | 1 !! width=30 | 2 !! width=30 | 3 !! width=30 | 4 !! width=30 | 5 !! width=30 | 6 !! width=30 | 7 !! width=30 | 8 !! 9 | ! width=30 | Bity !! width=30 | 0 !! width=30 | 1 !! width=30 | 2 !! width=30 | 3 !! width=30 | 4 !! width=30 | 5 !! width=30 | 6 !! width=30 | 7 !! width=30 | 8 !! 9-15 | ||
|- | |- | ||
| '''Zawartość''' || HAST || HAQJ || || HAJW || HAQL || HABA || ALRS || HADV || HCAM<br/>NCOW || | | '''Zawartość''' || HAST || HAQJ || || HAJW || HAQL || HABA || ALRS || HADV || HCAM<br/>NCOW || Przyczyna | ||
|} | |} | ||
Linia 145: | Linia 147: | ||
* HATR HAQL+041 - czeka na zakończenie? | * HATR HAQL+041 - czeka na zakończenie? | ||
* HADE 040 - czeka na usunięcie? | * HADE 040 - czeka na usunięcie? | ||
{{source|title=Opracowanie własne}} |