Windows'ta Kullanıcı Modu ve Çekirdek Modu Nedir?

“Çekirdek” veya “kullanıcı” modunda çalışan uygulamaları duymuş olabilirsiniz. Her şey, işletim sistemlerinin işlerini yaparken nasıl çalıştığına bağlıdır. Bunu anladıktan sonra, kullanıcı modu ile çekirdek modu arasındaki farkı kavramak kolaydır.

Bir İşletim Sisteminin Ne Yaptığını Anlama(Does)

Bir bilgisayar, donanımdan, elektronik bileşenlerden ve yazılımdan, bu donanım tarafından yürütülen bilgisayar kodundan oluşur. Ancak daha az net olan şey, birlikte nasıl çalıştıklarıdır.

Bir bilgisayarın en temel öğesi bit veya "ikili basamaktır. (” Everything) Bilgisayarın yaptığı her şey birler ve sıfırlar olarak temsil edilir. Farklı(Different) bilgisayar bileşenleri, bitleri farklı şekillerde temsil eder. Bir CPU'da(CPU) , mikroskobik transistörler, açık veya kapalı olarak birler ve sıfırları temsil eder. Bu transistörler, mantık kapıları adı verilen mantıksal yapılar halinde düzenlenmiştir.

Elektronik bilgisayar belleğinde bitler, belirli bir eşiğin üstünde veya altında bir yüke sahip bellek hücreleri tarafından temsil edilir. Mekanik bir sabit sürücüde bitler, dönen bir tabla üzerinde ölçülen manyetik dalgalanmalar olarak temsil edilir. Optik disklerde, lazer ışığını yansıtan veya yansıtmayan çukurlar ve alanlar aynı işi yapar. 

İkili kodun fiziksel temsili nasıl elde edilirse edilsin, sonunda tüm tüketici bilgisayar bileşenlerini bu ham makine koduna indirgeyebilirsiniz.

Peki bir bilgisayarın insan dostu arayüzünden bilgisayarın kendisindeki ham, düşük seviyeli süreçlere nasıl geçersiniz? İşte burada işletim sistemi devreye giriyor. Bilgisayarın donanımını doğrudan kontrol ediyor. 

Bu yazılım, uygulamaların (ve dolayısıyla kullanıcının) istediği her şeyi CPU(CPU) ve diğer bileşenlerin anladığı makine kodu talimatlarına çevirir . Bu süreçteki en kritik yazılım parçası çekirdektir.

Çekirdek Nedir?

Çekirdek, adından da anlaşılacağı gibi, işletim sisteminin çekirdeğidir. Çekirdek, RAM'de(RAM) bulunan ve bilgisayarın yaptığı her şeyi yöneten bir yazılımdır. Belleğe bir şey yazıldığında, yürütmeyi yöneten çekirdektir.

Çekirdek, GPU'lar(GPUs) ve ağ kartları gibi donanımlarla nasıl arabirim oluşturulacağını bilir , ancak bilgisayar endüstrisindeki genel standartlara dayanarak bunları tam potansiyelleriyle nasıl çalıştıracağını bilemeyebilir.

Donanım sürücüleri burada devreye giriyor. Sürücüler, işletim sisteminize belirli bileşenlerle nasıl çalışılacağını söyler, bu nedenle örneğin Nvidia ve AMD GPU'lar(AMD GPUs) için farklı sürücülere ihtiyacınız vardır .

Doğru sürücülerle donatılan çekirdek, verileri feci şekilde yok edebilecek şeyler yapmak da dahil olmak üzere bilgisayardaki nihai otoritedir.

Uygulama Programlama Arayüzlerinin(Application Programming Interfaces) ( API'ler(APIs) ) Rolü(Role)

MS-DOS günlerinde yazılım geliştiriciler, yazılımlarını özellikle kullanıcının donanımı için yazmak zorundaydılar. MS-DOS sistemlerinde bunun en kötü bilinen örneği ses kartı sürücüleriydi.

Belirli bir video oyununun en popüler kartları ( Sound Blaster , Ad-lib , Gravis Ultrasound , vb.) desteklemesi ve çoğu oyuncunun kapsandığını umması gerekir. Bugün, API'ler(APIs) sayesinde işler çok farklı çalışıyor .

Microsoft DirectX harika bir örnektir. Derinlemesine bir açıklama istiyorsanız, DirectX Nedir ve Neden Önemlidir? bölümüne bakın. (What Is DirectX and Why Is It Important?)Ancak bilinmesi gereken en önemli şey, API'nin yazılım geliştiricilerin (API)GPU gibi bileşenlerden donanım kaynakları istemesi için standart bir yol sunmasıdır . Ek olarak, donanım üreticileri, benzer şekilde uyumlu herhangi bir yazılımla tam uyumluluk sağlamak için yalnızca ürünlerinin DirectX ile uyumlu olduğundan emin olmalıdır.(DirectX)

API'ler(APIs) , donanım sürücüleri ile yazılım uygulamaları ve düşük seviyeli çekirdek arasında bir çeviri katmanı sunar. Evet, bu hafif bir performans cezası ile geliyor. Yine de, modern bilgisayarlarda bu ihmal edilebilir düzeydedir ve çeşitli avantajlarla birlikte gelir, sonunda kullanıcı moduna ve çekirdek moduna geldiğimiz yer burasıdır.

Kullanıcı Modu ve Çekirdek Modu

Modern işletim sistemleri, aynı anda yüzlerce veya binlerce "süreç" çalıştırarak , önceliklerine ve hesaplama gücü gereksinimlerine göre dinamik olarak onlara CPU zamanı verir.(CPU)

Bir uygulamayı başlattığınızda, süreçler oluşturur ve CPU bunları kullanıcı modunda veya çekirdek modunda çalıştırabilir.

Kullanıcı modunda çalışan bir Windows işleminin yalnızca kendi özel sanal bellek adres alanına ve işleme tablosuna erişimi vardır. Yazılım, verileri RAM'de(RAM) depolamak ve kaynak istemek için bu tabloları kullanır . Belleğe veya diğer donanıma doğrudan erişim yoktur ve bu sanal alanları bilgisayarın gerçek donanımıyla eşleştirmek işletim sistemine bağlıdır.

Bu birçok nedenden dolayı iyidir, ancak en önemli yararı, uygulamanın sanal bellek adres alanı dışındaki verilerin üzerine yazamaması veya değiştirememesidir. Buna ek olarak, belirli işlevler, özellikle sistemi çökertebilecek veya verileri yok edebilecek olan, kullanıcı modu süreçlerine kapalıdır.

Bir işlem başlatıldığında veya çekirdek moduna yükseltildiğinde, işletim sistemi için ayrılmış olanlar da dahil olmak üzere sistem kaynaklarına tam erişime sahiptir. Bu nedenle, teorik olarak, işletim sisteminin düzgün çalışması için ihtiyaç duyduğu önemli verilerin üzerine yazabilir.

Tuzaklar ve İstisnalar

Bu iki modun donanım düzeyinde CPU'nun(CPU) kendisi tarafından uygulandığını anlamak önemlidir. Kullanıcı modunda çalışan bir uygulama, çekirdek modu erişimi gerektiren bir şey yapmaya çalışırsa, bir "tuzak" veya "istisna" oluşturur. İşletim sistemi daha sonra, genellikle uygulamayı kapatarak ve geliştiricilerin işler raydan çıktığında bellekte ne olduğunu görebilmeleri için bir kilitlenme günlüğü oluşturarak uygulamayla ilgilenir.

Çekirdek Modunun (Kernel Mode)Tehlikeleri(Dangers) : Ölümün Mavi (Death)Ekranı(Blue Screen) _

Bilgisayarınızı kapanmaya veya yeniden başlatmaya zorlayan bir Mavi (Blue Screen)Ölüm(Death) Ekranı yaşadıysanız ( kim yaşamadı?), bunun suçlanması gereken bir çekirdek modu işlemi olma ihtimali yüksek.

Çekirdek modundaki bir işlem yapmaması gereken bir şey yaptığında, işletim sistemi bundan kurtulamaz ve tüm bilgisayar durur. Bir kullanıcı modu işlemi bozulduğunda, yalnızca uygulama çöker ve yazılımın ve işletim sisteminin geri kalanı herhangi bir sorun olmadan devam edebilir.

Bu, API'lerin(APIs) çekirdek modu ayrıcalıkları istediği için önemli(API) bir rol oynadığı bir alandır . Kullanıcı modu uygulamaları, temel olarak, gerekli çekirdek modu ayrıcalıklarına sahip olacak istekleri API'ye(API) devreder .

Bu nedenle çekirdek modu genellikle yalnızca bilgisayarın donanımına doğrudan erişmesi gereken düşük seviyeli sistem süreçlerine verilir. Genellikle bu ayrıcalık, kullanıcı modunun sağlayabileceğinden daha fazla performans gerektirdiğinden bir sürece genişletilir. Bazı CPU yönergeleri yalnızca çekirdek modunda çalışır, bu nedenle bir işlemin bu işlevleri kullanması gerekiyorsa yükseltilmesi gerekir.

Ölümün (Death)Mavi Ekranı(Blue Screen) ile ilgili sorun yaşıyorsanız , Windows 10 için Ölümün Mavi Ekranı Sorun Giderme Kılavuzumuzu(Blue Screen of Death Troubleshooting Guide for Windows 10) okuduğunuzdan emin olun !



About the author

10 yılı aşkın deneyime sahip profesyonel bir ses mühendisiyim. Küçük ev ses sistemlerinden büyük ticari prodüksiyonlara kadar çok çeşitli projelerde çalıştım. Benim becerilerim, müziğin kulağa harika gelmesini sağlayan mükemmel film müzikleri ve ses işleme araçları yaratmakta yatıyor. Ayrıca Windows 10 konusunda son derece deneyimim var ve bilgisayar sisteminizden en iyi şekilde yararlanmanıza yardımcı olabilirim.



Related posts