Zarządzanie procesorem i interpreter rozkazów

0

Witam
Otrzymałem za zadanie wykonania fragmentu systemu operacyjnego. Część która do mnie należy to zarządzanie procesorem i interpreter rozkazów. Główny problem z którym się spotkałem to algorytm karuzelowo - priorytetowy.
Chodzi o to, że nigdzie takiego nie moge znalezc (chociazby przykladowej implementacji/ nawet graficznego wytlumaczenia). Przegladałem juz dosyć duzo matriałów i wystepuje tylko sam algorytm karuzelowy. :/ na jakiej zasadzie on działa? czym sie różni od "czystego" karuzelowego.
Jakis ogolny zarys jak to powinno wygladać?

0

Odświeżam temat. A mianowicie kolejny problem to implementacja tej struktury -> zarządzanie procesorem. Znalazłem kilka przykładowych materiałów na których sie wzoruje jak np. http://wazniak.mimuw.edu.pl/images/0/00/Sop_03B_wyk_1.0.pdf, http://katmpbsoft.blogspot.com/2012/02/kurs-unix-czesc-iv-jadro_25.html. Jednakże nie za bardzo wiem jak to powinno wygladać w implementacji. Zaprogramowałem juz prostą wizualizacje podanego wczesniej algorytmu karuzelowo-priorytetowego (z wektorem binarnym ulatwiajacym przeszukiwanie), jednakże jak to ma współpracować z "zarządzaniem procesora" i procesami? Czy musze zrobić jakis hmm Semafor, w którym bedzie przebywał aktualnie wykonywany przez procesor - proces??? I gdy przybedzie proces o wyzszym priorytecie, bedzie on wywlaszczony i procesor zostanie przekazany temu, ktory "przyszedl"? Jak to ma wygladać w kodzie? Jak ma odbywać się przekazywanie poszczególnego procesu (o stanie gotowym) z warstwy wyzszej (zarządzanie procesami -> w ktorej jest funkcja tworzenia procesow itp)? To ma byc podane w argumencie funkcji odpowiedzialnej za przetwarzanie tego procesu? Gdzie maja byc przechowywane dane poszczegolnych wykonywanych procesow (np podczas przerwania jego wykonywania)? A jak sama funkcja ktora przetwarza ten proces? Jak miałyby wygladać te poszczegolne struktury danych (C#)??

Zdecydowałem się także na prosty interpreter rozkazów posiadający tylko 4 rejestry, stos z wartosciami danych i lista rozkazów typu ADD, SUB, MUL itd.

np.
Dodawanie 2 liczb:
2 ADD 3 TOP
2 3 ADD TOP
odłóż na stos 2
odłóż na stos 3
ADD - odłóż dwie liczby ze szczytu stosu i odłóż na stos ich sumę
TOP - pokaż szczyt stosu

Wspomoże ktos w implementacji albo chociaż podpowiedzi, na co zwrócić uwage, co, gdzie, w jakiej funkcji musialbym umiescić? Duzo pytań ale wiedza teoretyczna z powyzszych zrodel nie jest wystarczajaca do ich implementacji. :/

1 użytkowników online, w tym zalogowanych: 0, gości: 1