Struktury danych CROOK-5: Różnice pomiędzy wersjami

Przejdź do nawigacji Przejdź do wyszukiwania
brak opisu edycji
Nie podano opisu zmian
 
(Nie pokazano 13 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 || 1 || IC, R0, SR
| IC || 39 || -4 || 3 || IC, R0, SR
|-
|-
| REJ || 42 || 3 || Rejestry R1-R7
| REJ || 42 || 44 || 7 || Rejestry R1-R7
|-
|-
| JDAD || 49 || 7 || 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 =


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):
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 na czas procesora (gotowe do wykonania)
| 4 || WTTM || Kolejka oczekujacych na określony czas zegarowy
|-
|-
| 5 || WTBU || czeka na wolny bufor
| 5 || WTBU || czeka na wolny bufor
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-11 - ??
* 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, ...)
* bity 12-15 zawierają numer kolejki, w której znajduje się proces (opisują przyczynę przejścia procesu do danego stanu)
 
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-11 !! 12-15
! 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 || ?? || Nr kolejki
| '''Zawartość''' || HAST || HAQJ || || HAJW || HAQL || HABA || ALRS || HADV || HCAM<br/>NCOW || Przyczyna
|}
|}


Linia 143: 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}}

Menu nawigacyjne