Jakie algorytmy planowania używa jądro Linuksa?Jakie algorytmy planowania używa jądro Linux?
Gdzie mogę uzyskać więcej informacji o jądrze Linuksa? (Pierwszy kurs OS ... poziom studenta)
Jakie algorytmy planowania używa jądro Linuksa?Jakie algorytmy planowania używa jądro Linux?
Gdzie mogę uzyskać więcej informacji o jądrze Linuksa? (Pierwszy kurs OS ... poziom studenta)
Uważam, że "całkowicie uczciwy harmonogram" jest używany z najnowszymi jądrami. Myślę, że możesz sporo informacji, jeśli po prostu szukasz go w Google.
Link: http://en.wikipedia.org/wiki/Completely_Fair_Scheduler
Jądro Linux ma kilka różnych algorytmów szeregowania dostępny zarówno dla procesu planowania i I/O harmonogramu. Pobierz go z www.kernel.org i nazywają
make menuconfig
Dostaniesz pełną listę wszystkich dostępnych opcji z wbudowaną pomoc. Jednym facetem, który kiedyś wymyślił harmonogram O (1) jest Con Kolivas. Zdecydowanie trzeba spojrzeć na to, co zrobił. Byłem kiedyś wspaniałym przełomem.
bądź miły, jeśli możesz wspomnieć kategorię w menuconfig, że można znaleźć harmonogramy. – recluze
Myślę, że jądro Linuksa ma kilka różnych programów planujących, które można wybrać podczas kompilacji. Aby dowiedzieć się więcej o jądrze Linuksa, możesz pobrać kod źródłowy jądra (lub przeglądać go online) i zajrzeć do katalogu Documentation. Na przykład pomocny może być podkatalog scheduler. Można oczywiście po prostu spojrzeć na sam kod.
Program planujący IO ma różne algorytmy. Harmonogram procesu nie działa. –
Jak już wspomniano, dostępnych jest kilka algorytmów harmonogramowania, zgodnie z przeznaczeniem.
Jeśli chcesz dowiedzieć się więcej o planowaniu w systemie Linux, sprawdź numer this article.
Nowy dodatek do jądra Linux jest EDF (najwcześniejszy termin pierwsze) o wsparcie gwarantowane RealTime http://lkml.org/lkml/2009/9/22/186 http://www.evidence.eu.com/content/view/313/390/
Linux Kernel pozwala na uzyskanie trzech różnych algorytmów szeregowania głównie
Trzecia metoda planowania, który różni się o niższej wersji wersjach systemu Linux, takich jak 2.4
W jaki sposób można zrobić SJF bez znajomości czasu trwania zadań przed ręką? – pinkpanther
@pinkpanther Obserwuje ich przeszłe zachowania i odpowiednio je przenosi w górę iw dół w kolejkach priorytetów. –
Jeśli chcesz tylko sprawdzić, co scheduler system linux używa i które są dostępne można uruchomić następujące polecenie:
cat /sys/block/sda/queue/scheduler
Ten, który znajduje się pomiędzy [] jest tym, którego używa w danej chwili. Pozostałe są dostępne. Aby zmienić go:
sudo bash -c 'echo deadline > /sys/block/sda/queue/scheduler'
Bądź ostrożny, aby ustawić go z powrotem do domyślnego choć, chyba że wiesz co robisz i chcesz.
Domyślny (w nowszych dystrybucjach Ubuntu przynajmniej) jest CFQ (Completely Fair Scheduling):
http://en.wikipedia.org/wiki/CFQ
Wywiad z twórcą (Jens Axboe):
masz na myśli "algorytm szeregowania, którego używa jądro Linuksa"? –
mm może, mój angielski nie jest dobry. Mam na myśli, FCFS, round robin lub to, co używa jądra Linuxa do obsługi procesów. – Nick
Jest trochę stary, ale spróbuj przeczytać [tę stronę] (http://web.archive.org/web/20141016155917/http://oreilly.com/catalog/linuxkernel/chapter/ch10.html). (Zostało to wcześniej opublikowane jako osobna odpowiedź, która otrzymała 4 przegrane. Niestety, wydaje się, że polityka tej witryny wobec takich przydatnych odpowiedzi, nawet tych, które pomogły ludziom na _7 lat_, jest taka, że powinny one zostać usunięte ...) – user200783