Junior
Чӣ гуна иваз кардани контекст?
sobes.tech AI
Ҷавоб аз AI
Context Switching (Контекстийн шилжүүлэлт) — энэ нь үйлдлийн системийн нэг процессийн (эсвэл урсгалын) төлөвийг хадгалах, өөр процессийн (эсвэл урсгалын) төлөвийг сэргээх үйл явц юм. Энэ нь хэд хэдэн процессорууд нэг процессорыг хуваалцах боломжийг олгодог.
Алгоритм нь дараах алхмуудыг агуулдаг:
- Одоогийн контекстыг хадгалах: Процессорын регистрүүд, зааврын тоолуур (PC), ороомгийн байдал болон бусад мэдээллийг түүний тодорхойлолт (PCB - Процессын удирдлагын блок) руу хадгална.
- Дараагийн процессыг сонгох: Үйлдлийн системийн төлөвлөгч дараагийн гүйцэтгэх процессыг сонгоно.
- Контекстийг сэргээх: Сонгосон процессыг хадгалсан байдал түүний PCB-аас процессорын регистрүүд рүү ачаална.
Контекст шилжүүлэхийн зардал (overhead):
- Байдлыг хадгалах, сэргээхэд зарцуулсан цаг хугацаа.
- Cache misses-ээс үүдэлтэй үр ашиг алдагдал, учир нь нэг процессоос дүүргэсэн cache нь өөр процессын хувьд хамааралгүй болдог.
- Төлөвлөгчийн зааврыг гүйцэтгэх зардал.
Жишээ:
Бид хоёр процесс, A ба B-тай гэж үзье, эдгээр нь нэг процессорын суурин дээр гүйж байна.
// Эхэнд, Процесс A гүйж байна
// Процесс A CPU нөөцийг ашиглаж байна
// Үйл явдал тохиолдож, шилжих шаардлагатай болдог, жишээ нь, Процесс A-ийн цагийн квант дуусах
// Процесс A-ийн байдал (регистрүүд, PC) хадгалагддаг
// Операцийн систем Процесс B-г гүйцэтгэхийг сонгоно
// Процесс B-ийн байдал ачаалдаг
// Процесс B гүйцэтгэж эхэлдэг
Контекст шилжүүлэлт нь үйлдлийн системийн олон үүрэгт ажиллагааны үндсэн механизм бөгөөд нэг физик процессор дээр олон процессын параллель гүйцэтгэлийг хиймэл байдлаар үүсгэх боломжийг олгодог.