Junior
Kas ir konteksta pārslēgšana?
sobes.tech AI
Atbilde no AI
Konteksta pārslēgšana (Context Switching) ir process, kurā operētājsistēma saglabā viena procesa (vai pavediena) stāvokli un atjauno cita procesa (vai pavediena) stāvokli. Tas ļauj vairākiem procesiem koplietot vienu un to pašu procesoru.
Algoritms ietver šādus soļus:
- Esošā konteksta saglabāšana: Procesora reģistri, instrukciju skaitītājs (PC), steka stāvoklis un cita informācija par pašreizējo procesu tiek saglabāta tā aprakstā (PCB - Process Control Block).
- Nākamā procesa izvēle: Operētājsistēmas plānotājs izvēlas nākamo procesu izpildei.
- Konteksta atjaunošana: Saglabātais izvēlētā procesa stāvoklis tiek ielādēts no tā PCB procesora reģistros.
Pārtraukumu (overhead) izmaksas ietver:
- Laika izmaksas, kas nepieciešamas stāvokļa saglabāšanai un atjaunošanai.
- Efektivitātes zudumu dēļ kešatmiņas (cache misses), jo kešatmiņa, kas aizpildīta ar viena procesa datiem, kļūst neaktuāla citam procesam.
- Laika izmaksas plānotāja instrukciju izpildei.
Piemērs:
Pieņemsim, mums ir divi procesi, A un B, kas darbojas vienā procesora kodolā.
// Sākumā darbojas Process A
// Process A izmanto CPU resursus
// Notiek notikums, kas prasa pārtraukt, piemēram, laika kvants Process A beidzas
// Process A stāvoklis (reģistri, PC) tiek saglabāts
// OS izvēlas Process B izpildei
// B stāvoklis tiek ielādēts
// B sāk izpildi
Konteksta pārslēgšana ir būtisks daudzuzdevumu mehānisms operētājsistēmās, kas ļauj radīt ilūziju par paralēlu vairāk procesu izpildi vienā fiziskajā procesorā.