Se il kernel di Linux può essere considerato come un singolo processo con molti thread possibili? Inoltre, ciò che definisce il passaggio tra i moduli di gestione della memoria, lo scheduler, il file system ecc. Nel kernel.Se il kernel Linux può essere pensato come un singolo processo
risposta
Il kernel Linux non può essere considerato come un processo, perché questa è una delle sue responsabilità per gestire i processi.
È possibile considerare il kernel come un grande gestore di interrupt. Dopo che il kernel concede il processore al thread, l'unico modo per ottenere il controllo di ritorno sono gli interrupt (o le chiamate di sistema, che sono anche degli interrupt). Quando si verifica un'interruzione, il kernel riceve immediatamente il controllo e gestisce appropriatamente l'interrupt. A questo punto potrebbero essere chiamate varie parti del kernel.
Il kernel è multi-thread in quanto può gestire contemporaneamente diversi interrupt su processori diversi. D'altra parte, ci sono i thread del kernel, che sono gestiti allo stesso modo dei thread utente (non c'è differenza tra i thread del kernel e dell'utente per lo scheduler).
'Non c'è differenza tra thread del kernel e user per lo scheduler'. Quindi come sono programmati questi thread del kernel? – user567879
Questi thread del kernel sono programmati nello stesso modo, come i thread utente, nella stessa coda, seguendo le stesse regole. Scheduler non sa nemmeno se il thread è thread utente o kernel uno. –
@ user567879 Ho risposto alla tua domanda? –
- 1. Il processo mysql non può essere interrotto
- 2. per il processo linux
- 3. Come codificare un modulo del kernel Linux?
- 4. Linux segnale di modulo del kernel sul processo userspace ucciso
- 5. Int 80h interrompe un processo del kernel?
- 6. Errore: questo metodo è pensato solo per essere eseguito su un singolo nodo. 0 trovato invece
- 7. Determina se un poligono 2D può essere tracciato con un singolo ventilatore a triangolo
- 8. Come configurare il kernel Linux in Buildroot?
- 9. Kernel Linux Invalidazione voci TLB
- 10. Linux - Trova se il processo è pronto o in esecuzione
- 11. Modulo Kernel Linux (* .ko) compatibilità tra i kernel
- 12. Il processo Rspec si blocca in diversi punti, il processo non può essere eliminato. Come diagnosticare?
- 13. È kernel/sched.c/context_switch() garantito per essere invocato ogni volta che viene avviato un processo?
- 14. Come cambiare la console del kernel di Linux dopo il processo di avvio?
- 15. Perché il kernel dice di essere nello spazio degli indirizzi del processo?
- 16. Perché ho bisogno di ricompilare il modulo del kernel vmware dopo un aggiornamento del kernel linux?
- 17. Cronometraggio nel kernel Linux 2.6
- 18. su typecheck nel kernel linux
- 19. Memoria massima che può essere allocata da un processo .NET
- 20. mprotect() come funzionalità all'interno del kernel Linux
- 21. Qual è lo stato stack del kernel del processo Linux durante la creazione del processo?
- 22. Linux Kernel Netlink generico - È simultaneo?
- 23. Come verificare se __PRETTY_FUNCTION__ può essere utilizzato?
- 24. Shutdown (incorporato) linux dallo spazio del kernel
- 25. Come interrompere il processo 'non interrompibile' su Linux?
- 26. Come verificare il kernel 32-bit/64-bit per Linux
- 27. Come decidere se il "calendario" EKCalendar predefinito può essere nascosto?
- 28. Può un singolo SetEvent() attivare più WaitForSingleObject()
- 29. Simboli del kernel Linux esportati
- 30. come comunicare i programmi - kernel kernel kernel monolitico kernel exo
Questo non è compito, giusto? –
@MarcusJohansson Non è una domanda a casa – user567879
Il kernel per definizione non è un processo (poiché viene eseguito sul bare metal). I processi necessitano di un kernel per essere gestiti! L'hardware nudo non conosce i processi. –