Niedawno zacząłem się uczyć, jak działa procesor i system operacyjny i jestem nieco zdezorientowany, jeśli chodzi o działanie maszyny z jednym procesorem i systemem operacyjnym, który zapewnia wielozadaniowość.W jaki sposób program szeregujący OS odzyskuje kontrolę nad procesorem?
Jako takie, zakładając, że moja maszyna ma jeden procesor, oznaczałoby to, że w danym momencie może być uruchomiony tylko jeden proces.
Teraz mogę tylko założyć, że harmonogram używany przez system operacyjny do kontrolowania dostępu do cennego czasu procesora jest również procesem.
W ten sposób proces użytkownika lub proces systemu planowania są uruchomione w dowolnym momencie, ale nie w obu.
Więc oto pytanie:
Gdy scheduler oddaje kontrolę nad CPU do innego procesu, jak można go odzyskać czasu procesora, aby uruchomić się ponownie, aby zrobić swoją pracę planowania? Chodzi mi o to, że jeśli jakiś aktualnie uruchomiony proces nie zwalnia (daje) procesora, to jak sam planista może kiedykolwiek działać ponownie i zapewnić poprawne wykonywanie wielozadaniowości?
Do tej pory myślałem, cóż, jeśli proces użytkownika żąda operacji we/wy za pośrednictwem wywołania systemowego, to w wywołaniu systemowym możemy zapewnić, że programowi przydzielono ponownie trochę czasu procesora. Ale nie jestem nawet pewien, czy to działa w ten sposób.
Z drugiej strony, jeśli rozpatrywany proces użytkownika byłby z natury związany z procesorem, z tego punktu widzenia mógłby działać wiecznie, nigdy nie pozwalając innym procesom, nawet harmonogramowi, uruchamiać się ponownie.
Przypuszczam, że planowanie czasu, w plasterkach, nie mam pojęcia, w jaki sposób harmonogram może pokroić czas na wykonanie innego procesu, gdy nawet nie działa?
Byłbym wdzięczny za wszelkie opinie i referencje, które możesz podać w tym zakresie.
I żałuję, że nie mogłem wystarczająco uporać się z tym pytaniem. Zacząłem uczyć się tych samych pojęć jak ty i stawiałem czoła tym samym pytaniom. Te rzeczy powinny być zgodne z podstawami projektowania procesorów i osnów w naszych książkach i artykułach. Dziękujemy za opublikowanie tego! –