Bir işlemci, programları Kullanıcı Modunda veya Çekirdek Modunda yürütür. Ve bilgisayarınızı kullandıkça, işlemciniz ne yaptığına bağlı olarak düzenli olarak ikisi arasında geçiş yapar. Ancak Kullanıcı Modu ve Çekirdek modu nedir ve ikisi arasındaki fark nedir?
Şimdi bu modların neler olduğunu ve bir CPU'nun neden bu modlar arasında geçiş yapması gerektiğini görelim.
Windows'ta "Kullanıcı Modu" Nedir?
İmaj Kredisi:Hertzsprung/ Creative Commons
Windows'ta bir programı başlattığınızda, Kullanıcı Modunda başlar. Bir kullanıcı modu programı çalıştırmak istediğinde, Windows bunun için bir işlem oluşturur. İşlem, yalnızca bir işlemcinin yürütmekte olduğu veya Windows'un yürütmeyi planladığı bir programdır. Ve Windows bir süreç oluşturduğunda, o süreç için bir sanal adres alanı da oluşturur.
Bir sanal adres alanı bir süreç Windows atar mantıksal (fiziksel olmayan) adreslerinin topluluğudur. İşlemler, verileri fiziksel bellekte depolamak için bu adresleri kullanabilir.
Ayrıca, sanal adres alanları yalıtılmıştır. Bu nedenle, bir işlemin sanal adres alanı, başka bir işlemin adres alanına müdahale etmez. Kullanıcı modu programları ayrı adres alanlarına sahip olduğundan, bir program çökerse, tek başına çöker ve diğer programları veya onunla birlikte tüm işletim sistemini kaldırmaz.
İlgili: Windows 10 Mavi Ekran Hatasını Düzeltmenize Yardımcı Olacak İpuçları
Kullanıcı modu uygulamalarını tanımlamanın başka bir yolu da "daha az ayrıcalıklı" terimini kullanmaktır. Windows, kullanıcı modu uygulamalarının kritik sistem kaynaklarına doğrudan erişmesini kısıtlayarak onları daha az ayrıcalıklı hale getirir. Örneğin, bir uygulama donanıma erişmek istiyorsa, sistem çağrılarını kullanarak işletim sistemi çekirdeğinden geçmesi gerekir.
Basitçe söylemek gerekirse, video oyunları gibi uygulama programları kullanıcı modunda çalışır. Daha az ayrıcalıklıdırlar, bu nedenle sistem kaynaklarına sınırsız erişimleri yoktur. Her kullanıcı modu uygulamasının kendi adres alanı vardır. Bir uygulama, başka bir uygulamanın adres alanını değiştiremez. Sonuç olarak, bir uygulama çökerse, bilgisayarda çalışan diğer programları etkilemez.
İlgili: Bilgisayarınızın Kilitleneceğine İlişkin Uyarı İşaretleri (Ve Yapılması Gerekenler)
Windows'ta "Çekirdek Modu" Nedir?
İmaj Kredisi: Bobbo/ Wikimedia Commonms
Çekirdek modunu tartışmadan önce, "çekirdeğin" ne olduğunu ve Windows ile nasıl çalıştığını öğrenmeliyiz.
Çekirdek, bir işletim sisteminin beynidir. İşletim sistemi içindeki diğer tüm bileşenlerin güvendiği temel yazılım bileşenidir. Çekirdek bilgisayar donanımını yönetir, bilgisayarda hangi işlemlerin ne zaman çalıştığını planlar ve donanım ile uygulama yazılımı arasındaki etkileşimleri yönetir.
Kısaca çekirdek, sistem üzerinde çalışan en ayrıcalıklı kod parçasıdır. Bunun nedeni, donanımla doğrudan etkileşime giren kod olmasıdır. Donanım kaynaklarını kullanmak isteyen diğer tüm programlar, çekirdek aracılığıyla erişim talep etmelidir.
Bir uygulama programı Kullanıcı Modu altında çalışırken ve web kamerası gibi bir donanıma erişmek istediğinde, bir sistem çağrısı kullanarak çekirdeği istemesi gerekir. Bu isteklere hizmet etmek için, programın yürütülmesi sırasında CPU, Kullanıcı Modundan Çekirdek Moduna geçer.
Bir işlemin yürütülmesi tamamlandıktan sonra, CPU Kullanıcı Moduna geri döner ve bir sonraki programlanmış işlemi yürütmeye başlar. Buna “Bağlam Değiştirme” denir.
Kullanıcı Modu ve Çekirdek Modu Arasındaki Fark Nedir?
Kullanıcı Modu ile Çekirdek Modu arasındaki temel fark, her modun sunduğu ayrıcalık düzeyidir. Kullanıcı Modunda, uygulamaların daha az ayrıcalığı vardır. Donanım kaynaklarına doğrudan erişimleri yoktur ve ayrıca diğer uygulamaların adres alanlarına yazamazlar.
İlgili: Windows 10 Sorunlarını Gidermek için Aygıt Yöneticisi Nasıl Kullanılır
Çekirdek Modunda çalışan kod, yükseltilmiş ayrıcalıklara sahiptir. Yalnızca bilgisayar donanımına doğrudan erişime sahip olmakla kalmaz, aynı zamanda işletim sistemi de dahil olmak üzere Çekirdek Modunda çalışan tüm programlar da bir adres alanını paylaşır. Bu nedenle, Çekirdek Modundaki bir program çökerse , tüm işletim sistemini onunla birlikte çökertebilir. Bu tür çökmelerin olmamasını sağlamak için Windows yalnızca bazı işlemlerin Çekirdek Modunda çalışmasına izin verir.
Windows, Kullanıcı Programlarını Sistem Kaynaklarından Ayırmak İçin Katmanlı Bir Yaklaşımı Benimsiyor
Windows, süreçlerin ayrıcalık düzeyini belirlemek için katmanlı bir model kullanır. En dış katmanda bulunan uygulamalar, kiralama ayrıcalığına sahip olanlardır. Bu katmanların merkezinde çekirdek bulunur. Sonuç olarak, çekirdeğin işletim sistemi kaynaklarına sınırsız erişimi vardır.
Katmanlı yaklaşım, hayati işletim sistemi işlevselliğini de korur. Üst katmandaki programlar rastgele çöktüğünde, işletim sistemini etkilemez. Öte yandan, çekirdek çöktüğünde, tüm işletim sistemi çöker.