Sobes.tech
Junior

Kontekstni o'zgartirish nima?

sobes.tech AI

AIdan javob

Context Switching (Mantiqiy Oʻzgartirish) — bu operatsion tizim tomonidan bir jarayon (yoki oqim) holatini saqlash va boshqa jarayon (yoki oqim) holatini tiklash jarayonidir. Bu bir nechta jarayonlarning bir xil protsessorni bo‘lishishiga imkon beradi.

Algoritm quyidagi bosqichlarni o'z ichiga oladi:

  1. Hozirgi kontekstni saqlash: Protsessor registrlari, buyruqlar hisoblagichi (PC), stek holati va boshqa ma'lumotlar uning tavsifchisi (PCB - Jarayonni Boshqarish Bloki) ga saqlanadi.
  2. Keyingi jarayonni tanlash: Operatsion tizim rejalashtiruvchisi keyingi bajariladigan jarayonni tanlaydi.
  3. Kontekstni tiklash: Tanlangan jarayonning saqlangan holati uning PCB dan protsessor registrlariga yuklanadi.

Kontekstni o‘zgartirishning xarajatlari (overhead):

  • Holatni saqlash va tiklash uchun sarflangan vaqt.
  • Cache misses (kesh xatolari) tufayli samaradorlikning pasayishi, chunki bir jarayon to‘ldirilgan kesh boshqasiga nisbatan ahamiyatsiz bo‘lib qoladi.
  • Rejalashtiruvchi instruktsiyalarni bajarish xarajatlari.

Misol:

Faraz qilaylik, ikkita jarayonimiz bor, A va B, ular bir protsessor yadroida bajarilmoqda.

// Dastlab, Jarayon A bajarilmoqda
// Jarayon A CPU resurslaridan foydalanmoqda

// Bir voqea yuz beradi, masalan, Jarayon A ning vaqt kvantining tugashi
// Jarayon A ning holati (registrlar, PC) saqlanadi
// Operatsion tizim Jarayon B ni bajarish uchun tanlaydi
// Jarayon B ning holati yuklanadi
// Jarayon B bajarishni boshlaydi

Kontekstni o‘zgartirish operatsion tizimlarda ko‘p vazifali (multitasking) mexanizmining asosiy qismi bo‘lib, bir nechta jarayonlarning bir vaqtning o‘zida bajarilishini taqlid qilish imkonini beradi.