Merhabalar. Bugün Kernel ve User Mode arasındaki farkı, çalışma mantığını anlatmaya çalışacağım.
Öncelikle tanımlama ile başlayalım;
Kernel;
Kernel, diğer adıyla çekirdek demektir. İşletim sistemi ana işlemlerini ve donanım ile haberleşme işlemlerini bu seviyede yapar. Burada gerçekleşen işlemler hayati önem arz etmektedir.
User Mode;
Bunun 3 seviyesi var. Ring 3, Ring 2, Ring 1.
Ring 3: Bu bizim sıradan uygulamalar kullandığımız kısımdır. Burada oluşan uygulama çökmeleri sistemi doğrudan kitlemez.
Ring 2: Bu bizim daha çok sistem bilgilerinden, sistem dosyalarından veri çekerek yaptığımız işlem katmanıdır. Bu da Ring 3 gibi mavi ekrana neden olmaz.
Ring 1: Bu ise çekirdeğe en yakın olan katmandır. Bu katmanda daha çok sistem donanımı için müdahale yapan yazılımlar çalışmaktadır.
Bu kısımda oluşan bir hata mavi ekran ile sonuçlanabilir.
Örnek: MSI Afterburner, iCUE, Samsung Magician, Dragon Center.
Asıl Ring 1'de çalışan ve mavi ekrana neden olacak şeyler sürücü yazılımlarıdır.
NVIDIA GeForce Experience ve AMD Control Panel gibi.
Aslında bizim Kernel sürücü dediğimiz şey şudur;
Kernel sürücü, Ring 3, 2, 1 kısımlarından Ring 0, yani çekirdek üzerinden bir fonksiyon çağırır.
Bu fonksiyon alışverişi düzgün olursa işlemler sorunsuz olur.
Yani sizin anlayacağınız herhangi bir yazılım gerekli izinler ile çekirdek üzerinden fonksiyon çalıştırabilir.
Bunların en başında donanımlar gelmektedir.
Görüldüğü üzere donanım sürücüleri User Mode ile çekirdek üzerinde çalışan bir sürücü yazılımı ile iletişim kurarlar.
Yani siz oyun sırasında milyonlarca bu işlemlerden yapıyorsunuz. Ancak içlerinden 1 tanesi sorunlu olursa hemen mavi ekran yiyebilirsiniz.
Mavi ekranın amacı ise donanım zararını önlemektir. Aslında mavi ekran aldığınız zaman sevinmeniz lazım. Mavi ekranın amacı Kernel bir sorun olduğu zaman donanım hasarları olmaması için, sistemin kendisi işlem yapmasını durdurması sayesinde engellenmektedir.
Tabii bu işlemler tek bir iş için değil.
Görüldüğü üzere bir işletim sistemi oldukça fazla ve karmaşık işlemleri işlemektedir.
İşletim siteminin ana amacı bir yazılım hata verdiği zaman tüm sistemin kilitlenmesini engellemek.
Yani sizin kullandığınız yazılımınız çöktüğü zaman sistemin komple gitmesini engellemektir amacı.
Genel olarak işlem biçimi bu şekilde.
Ring 3.2.1 yazılımına göre Ring 0 (çekirdek) üzerinden gerekli izinler verildiği sürece Kernel Function (çekirdek fonksiyonu) çağırabilir.
Kısaca makalem bu şekilde. Resimler ile daha iyi anlattığımı düşünüyorum.
Umarım fikir sahibi olmuşsunuzdur.
Buradan işletim sistemi yazmak isteyen arkadaşlara selam
Öncelikle tanımlama ile başlayalım;
Kernel;
Kernel, diğer adıyla çekirdek demektir. İşletim sistemi ana işlemlerini ve donanım ile haberleşme işlemlerini bu seviyede yapar. Burada gerçekleşen işlemler hayati önem arz etmektedir.
User Mode;
Bunun 3 seviyesi var. Ring 3, Ring 2, Ring 1.
Ring 3: Bu bizim sıradan uygulamalar kullandığımız kısımdır. Burada oluşan uygulama çökmeleri sistemi doğrudan kitlemez.
Ring 2: Bu bizim daha çok sistem bilgilerinden, sistem dosyalarından veri çekerek yaptığımız işlem katmanıdır. Bu da Ring 3 gibi mavi ekrana neden olmaz.
Ring 1: Bu ise çekirdeğe en yakın olan katmandır. Bu katmanda daha çok sistem donanımı için müdahale yapan yazılımlar çalışmaktadır.
Bu kısımda oluşan bir hata mavi ekran ile sonuçlanabilir.
Örnek: MSI Afterburner, iCUE, Samsung Magician, Dragon Center.
Asıl Ring 1'de çalışan ve mavi ekrana neden olacak şeyler sürücü yazılımlarıdır.
NVIDIA GeForce Experience ve AMD Control Panel gibi.
Aslında bizim Kernel sürücü dediğimiz şey şudur;
Kernel sürücü, Ring 3, 2, 1 kısımlarından Ring 0, yani çekirdek üzerinden bir fonksiyon çağırır.
Bu fonksiyon alışverişi düzgün olursa işlemler sorunsuz olur.
Yani sizin anlayacağınız herhangi bir yazılım gerekli izinler ile çekirdek üzerinden fonksiyon çalıştırabilir.
Bunların en başında donanımlar gelmektedir.
Görüldüğü üzere donanım sürücüleri User Mode ile çekirdek üzerinde çalışan bir sürücü yazılımı ile iletişim kurarlar.
Yani siz oyun sırasında milyonlarca bu işlemlerden yapıyorsunuz. Ancak içlerinden 1 tanesi sorunlu olursa hemen mavi ekran yiyebilirsiniz.
Mavi ekranın amacı ise donanım zararını önlemektir. Aslında mavi ekran aldığınız zaman sevinmeniz lazım. Mavi ekranın amacı Kernel bir sorun olduğu zaman donanım hasarları olmaması için, sistemin kendisi işlem yapmasını durdurması sayesinde engellenmektedir.
Tabii bu işlemler tek bir iş için değil.
Görüldüğü üzere bir işletim sistemi oldukça fazla ve karmaşık işlemleri işlemektedir.
İşletim siteminin ana amacı bir yazılım hata verdiği zaman tüm sistemin kilitlenmesini engellemek.
Yani sizin kullandığınız yazılımınız çöktüğü zaman sistemin komple gitmesini engellemektir amacı.
Genel olarak işlem biçimi bu şekilde.
Ring 3.2.1 yazılımına göre Ring 0 (çekirdek) üzerinden gerekli izinler verildiği sürece Kernel Function (çekirdek fonksiyonu) çağırabilir.
Kısaca makalem bu şekilde. Resimler ile daha iyi anlattığımı düşünüyorum.
Umarım fikir sahibi olmuşsunuzdur.
Buradan işletim sistemi yazmak isteyen arkadaşlara selam
Son düzenleme: