Ci sono due casi in cui il codice di pianificazione schedule()
è invoked-In quale contesto viene eseguito il codice dello scheduler?
Quando un processo chiama volontariamente
schedule()
Timer interrupt chiama
schedule()
Nel caso 2, penso schedule()
funziona nel contesto di interruzione, ma per quanto riguarda il primo caso? Esegue nel contesto del processo che lo ha invocato?
Esistono altri scenari che richiamano schedule()
?
C'è un altro caso in cui verrà richiamato() orario: quando un blocchi di processo (per esempio a causa di un'operazione di I/O). – omer
@omer È il timer che interrompe la pianificazione della chiamata() quando il processo si blocca. quindi il tuo caso è lo stesso del caso 2 – baotiao