Bilgisayarlar karmaşık sistemlerdir ve bir anda birden çok işlemi eşzamanlı olarak gerçekleştirebilirler. Örneğin, bir bilgisayar, müzik dinlerken bir video düzenleyebilir veya belge oluşturabilir. Bununla birlikte, bu işlevler bir işletim sistemi tarafından yönetilir ve bir bilgisayarın bu tür çoklu işlemleri nasıl başarılı bir şekilde gerçekleştirebildiği merak konusu olabilir. İşletim sistemleri, çoklu görev (multitasking) yetenekleriyle bilgisayarların her bir işlemi aynı anda nasıl işlediğini ne şekilde organize ettiklerini anlamak için, işlemci zamanlaması, veri geçişi, bellek yönetimi gibi konuları incelemek gerekiyor.
Çoklu Görev (Multitasking)
Çoklu görev, bir bilgisayarın aynı anda birden fazla işlemi gerçekleştirme yeteneğini ifade eder. İki tür çoklu görev vardır: Eşzamanlı (Concurrent) Çoklu Görev ve İnterleaved (Örtüşen) Çoklu Görev.
Eşzamanlı (Concurrent) Çoklu Görev
Eşzamanlı çoklu görev, gerçekten aynı anda birden fazla işlem gerçekleştirir. Bu genellikle çok çekirdekli işlemcilerde ya da çoklu işlemcili sistemlerde gözlemlenir. Bir sistemde birden fazla işlemci olduğunda, her işlemci aynı anda farklı bir işlem gerçekleştirebilir.
İnterleaved (Örtüşen) Çoklu Görev
Örtüşen çoklu görev, tek bir işlemcinin saniyenin çok küçük bir parçası boyunca farklı işlemler arasında geçiş yaparak, bu işlemlerin aynı anda gerçekleştirilmiş gibi görünmesini sağlar.
İşlemci Yönetimi
Bir bilgisayarın birden fazla işlemi nasıl gerçekleştirebildiği yürütme döngüsü (execution cycle) olarak adlandıran dört temel aşama olan fetch (getirme), decode (çözümleme), execute (yürütme) ve write back (geri yazma) işlemleriyle ilgilidir.
Fetch (Getirme)
Bu aşamada, işlemci veri veya talimatları bellekten alır.
Decode (Çözümleme)
Bu aşamada, işlemci talimatı çözümler ve gerçekleştireceği işlemi belirler.
Execute (Yürütme)
Bu aşamada, işlemci belirlenen talimatı yürütür.
Write Back (Geri Yazma)
Bu aşamada, işlemci sonucu belleğe geri yazar.
Veri Geçişi ve Bellek Yönetimi
Bilgisayarların çoklu görevleri başarılı bir şekilde yönetebilmesi için, belirli bir işlemenin bilgisayarın belleği üzerinde ne kadar etkisi olacağını ve bu işlemler arasında veri aktarımının nasıl gerçekleştirileceğini belirleyebilmelidir. Bu genellikle işletim sistemlerinin özelliği olan bir bellek yönetim sistemi tarafından yapılır.
Bellek Yönetimi
Belirli bir işlem, belirli bir miktar bilgisayar belleğine ihtiyaç duyar. Bir işlem ne kadar hızlı gerçekleşirse, o kadar az belleğe ihtiyaç duyar. Bellek yönetim sistemi, bellek ihtiyaçlarını karşılayacak ve işlemler arasındaki veri aktarımını en uygun şekilde gerçekleştirecek şekilde tasarlanmıştır.
TERİMLER:
Çoklu Görev (Multitasking): Bir bilgisayarın aynı anda birden fazla işlemi gerçekleştirme yeteneği.
Fetch (Getirme): İşlemci veri veya talimatları bellekten alma işlemi.
Decode (Çözümleme): Bir işlemcinin talimatı çözümleme ve gerçekleştireceği işlemi belirleme işlemi.
Execute (Yürütme): İşlemcinin belirlenen talimatı yürütme işlemi.
Write Back (Geri Yazma): İşlemcinin sonucu belleğe geri yazma işlemi.
Bellek Yönetimi: Bilgisayarın bellek ihtiyaçlarını belirlerken farklı işlemler ve uygulamalar arasında denge kurmak için kullandığı yöntemler ve stratejiler.