Zircon

Zircon, Fuchsia OS'un dayandığı yeni bir mikro çekirdektir. Zircon, gömülü sistemler için tasarlanan ve küçük bir işletim sistemi olan Little Kernel'den türetilmiştir. Little Kernel ise Haiku tarafından kullanılan NewOS çekirdeğinin yaratıcısı Travis Geiselbrecht tarafından geliştirilmiştir. Zircon'un evrimi şöyle tarif edilmektedir:
Zircon daha önceleri Magenta olarak biliniyordu ve herhangi bir uygulamayı, gömülü RTOS'lardan (Gerçek Zamanlı İşletim Sistemlerinden) her tür mobil ve masaüstü cihaza ölçeklendirmek üzere tasarlanmıştı. Sonuç olarak, Fuchsia OS'un Android ve Chrome OS'un doğal halefi olacağına, her ikisinin de yeteneklerini içereceğine ve her iki sistemin uygulamalarını da çalıştıracak geriye dönük uyumluluğuna sahip olacağına dair spekülasyonlar oldu. Kısacası bu çekirdek, 32 bit veya 64 bit ARM çekirdeklerinden 64 bit X86 işlemcilerine kadar herhangi bir işlemci üzerinde çalışacak şekilde tasarlanmıştır ve epey yıkıcı olma potansiyeline sahiptir.
Zircon mikro çekirdeğinin belgelendirmesi de, Zircon'un teknik özelliklerini aşağıdaki gibi özetler:
Zircon, Fuchsia OS'a can veren ana platformdur. Zircon, bir mikro çekirdekten ve sistemin önyüklenmesi, donanımla konuşulması, kullanıcı alanı süreçlerinin yüklenmesi ve çalıştırılması için gerekli olan kullanıcı alanı servisleri, sürücüleri ve kütüphanelerinden oluşur. Fuchsia OS, bu temelin üstünde çok daha büyük bir işletim sistemi oluşturur. 
Zircon, süreçleri, iş parçacıklarını, sanal belleği, süreçler arası iletişimi, nesne durumu değişikliklerini beklemeyi ve (futex'ler aracılığıyla) kilitlemeyi yönetmek için sistem çağrıları sağlar. 
Şu an erken geliştirme dönemi için kullanılan bazı geçici sistem çağrıları vardır. Bunlar, uzun vadeli uygulama programlama arayüzü ve uygulama ikili arayüzü kesinleştikçe sistemden çıkarılacaktır. Beklenti, yaklaşık 100 sistem çağrısı olacağı yönünde.
Zirkon sistem çağrıları genellikle engelleyici değildir. wait_one, wait_many, port_wait ve thread sleep başlıca istisnalardandır.
Zircon kod ağacının hem çekirdek hem de kullanıcı alanı bölümlerinde C++17 dilinin bir alt kümesi kullanılır. C++, bu iki yerde de C (ve az da olsa Assembly) ile birlikte kullanılır. Bazı C++ dil özelliklerinden kaçınılır veya bunların kullanılması tamamen yasaktır. C++ standart kütüphane özellikleri kullanılırken her şey hesaba katılmalıdır. Zircon'da C++ kullanımının nasıl olduğu hakkında daha çok bilgi için C++ in Zircon yazısına bakabilirsiniz.

Kaynaklar

Yorumlar

Bu blogdaki popüler yayınlar

Diğer Dillerde Hoşçakal

Mızıka Tabları Nasıl Okunur

conio.h