En återinförande kärna erbjuder flera betydande fördelar i ett datorsystem:
* Förbättrad samtidighet och lyhördhet: Den mest avgörande fördelen. Eftersom en återinförande kärna kan avbrytas när som helst under genomförandet och återupptas senare utan att förlora data eller orsaka korruption, möjliggör det verklig parallellism. Flera processer eller trådar kan använda kärntjänster samtidigt utan att behöva komplexa låsmekanismer eller lida av prioriterade inversionsproblem. Detta ökar den övergripande systemens lyhördhet och genomströmning.
* reducerad latens: Eftersom flera processer kan komma åt kärnan samtidigt reduceras väntetiden (latens) för varje process för att ta emot kärntjänster avsevärt. Detta är särskilt viktigt för realtidssystem där snabba svar är kritiska.
* Förenklad kärndesign (potentiellt): Även om att uppnå återinförande kräver noggrann design, kan det i vissa fall förenkla kärnan genom att minska behovet av utarbetade synkroniseringsprimitiva (som semaforer, mutex) inom kärnan själv. Komplexiteten förskjuts till att hantera samtidighet på en högre nivå. Denna förenkling garanteras emellertid inte och beror starkt på designvalen.
* Förbättrad stabilitet och tillförlitlighet: Minskad stridighet för kärnresurser på grund av återinförande sänker risken för dödlås och rasförhållanden, vilket bidrar till ett mer stabilt och pålitligt system. Mindre synkronisering innebär färre möjligheter för fel.
* Bättre stöd för förebyggande multitasking: Återinförande är praktiskt taget väsentligt för förebyggande multitasking-operativsystem. Ett förebyggande system kan avbryta en process när som helst, även under ett systemsamtal och byta till en annan process. En icke-återintrödande kärna skulle vara extremt sårbar för korruption i ett sådant scenario.
Att implementera en återinträde är emellertid utmanande:
* Ökad komplexitet: Att designa och implementera en återinförande kärna kräver noggrann uppmärksamhet på datastrukturer och algoritmer för att säkerställa trådsäkerhet. Varje kärnfunktion måste vara utformad för att hantera avbrott utan att förstöra dess interna tillstånd.
* Högre minne över huvudet: Återinförande kod kan kräva mer minne för att lagra data per process eller per tråd, beroende på implementeringen, eftersom varje sammanhang kan behöva sin egen kopia av vissa variabler.
Sammanfattningsvis, medan mer komplex att implementera, erbjuder en återintrång kärna överlägsen samtidighet, minskad latens och förbättrad stabilitet, vilket gör det till ett önskvärt kännetecken för moderna operativsystem, särskilt de som är inriktade på realtidsprestanda eller hög samtidighet.