Bağlam değiştirme nedir?

Merkezi işlem birimlerinin (CPU'ların) tasarımında ve işletilmesinde ileriye atılan en büyük adımlardan biri, bilgisayar işletim sistemlerinin tasarımcılarının, kullanıcıların çoklu görev yapmasına izin verecek teknikler geliştirmesiyle geldi. Bilgisayarlara göre çoklu görev aynı anda iki veya daha fazla program çalıştırma uygulamasıdır. Son kullanıcı bakış açısına göre, bu karmaşık görünmüyor veya fazla anlaşılmamış gibi görünse de, aslında sistem tasarımında kayda değer bir sıçramayı temsil ediyor. Çok görevli işlemlerde, CPU farklı aktif programlar için tüm işlemleri bir araya getirmeli, kullanıcı aralarında gidip geldiğinde her programda olduğu yeri kaydetmelidir. Bağlam değiştirme, CPU'nun çeşitli aktif programlar için durumları hatırlamasını ve geri yüklemesini sağlayarak bu hokkabazlık işlemini tamamlamasını sağlayan bir işlemdir.

Bağlam geçişi sırasında, CPU şu anda hangi programı kullanıyorsa bıraksın, o programda bulunduğu yeri sakladı, böylece ilerleyişine devam edebildi. Perspektif olarak koymak gerekirse, bağlam geçişi aynı anda birden fazla kitap okumak, her birinin sayfa numaralarını her zaman hatırlarken sürekli olarak aralarında geçiş yapmak gibi bir şeydir. Bir bağlam anahtarlama işlemi sırasındaki programlar için "sayfa numarası" bilgisi proses kontrol bloğu (PCB) tarafından tutulur. PCB, bazen "anahtar kare" olarak da adlandırılır. Bu bilgi, tekrar ihtiyaç duyulana kadar gerçek CPU içindeki hafızaya kaydedilir.

İçerik değiştirme üç olası durumda gerçekleşir: ara işlem, çoklu görev ve kullanıcı değişimi. Kesinti işleminde, başka bir program çalışırken geçerli programı "keser". CPU kesinti aldığında, çalışan program ile anında veri isteyen program arasında gezinmek için bir içerik anahtarı uygular. Çoklu görevde, CPU, programlar arasında ileri ve geri hareket eder, her birine bir işlem zamanı dilimi verir ve ikisi arasında geçiş yapmak için bir bağlam değiştirme işlemi gerçekleştirir. Bazı işletim sistemlerinde, işletim sistemi için bir kullanıcı anahtarı sırasında ayrıca açıkça gerekli olmamakla birlikte bir içerik anahtarı da gerçekleştirilir.

İşletim sistemi veya bilgisayarın donanımı içerik değiştirmeyi denetleyebilir. Bazı modern işletim sistemleri ve işletim sisteminin kendisinden geçen bağlamsal geçişi kontrol etmek, prosedür için herhangi bir yerleşik donanım desteğini göz ardı etmek için tasarlanmıştır. Bu, işletim sisteminin bir içerik anahtarı sırasında daha fazla bilgi kaydetmesini ve anahtar hakkında daha fazla bilgi korumasını sağlar.