İçeriğe atla

Hobi amaçlı işletim sistemi

Hobi amaçlı geliştirilen işletim sistemlerinden biri olan MenuetOS'da tetris oyunu

Bir hobi amaçlı işletim sistemi geliştirmek, bilgisayarı hobi olarak gören kişiler için daha karmaşık ve teknik bir seçenek olabilir. Hobi işletim sistemi tanımı da bazen biraz belirsiz olabilir. Bunlar, geliştirici bakış açısından geliştiricilerin/yazılım topluluklarının sadece eğlenmek ya da öğrenmek amacıyla yaptıkları projeler olabilir, kullanıcı bakış açısından kullanıcıların geniş çaplı ve tam işlevsel bir sistemden ziyade sadece bir oyuncak olarak kullandıkları/kurcaladıkları veya kendilerini geliştirdikleri sistemler olarak da görülebilir ya da çok büyük bir kullanıcı tabanına sahip olmayan küçük bir topluluğa sahip bir işletim sistemi olarak da tanımlanabilir.[1][2]

Geliştirme, bir çekirdek (kernel), bir işletim sistemi veya bir ön yükleyici (bootloader) gibi mevcut kaynaklardan başlayarak ilerleyebilir veya tamamen sıfırdan başlayan bir proje de olabilir. Geliştirme platformu, bir işletim sisteminin doğası gereği bir çıplak donanım makinesi olabilir, ancak bir sanal makine üzerinde de geliştirilebilir ve test edilebilir.

Karmaşık bir sistemi teknik şartların sürekli değişen ihtiyaçlarına uyarlamak için hobici geliştiricilerin daha fazla sahiplenmesi/aidiyeti gerektiğinden, işletim sistemi geliştirmeye ilgi duyan birçok farklı grup arasında çok fazla heves/arzu gözlemlemek yaygındır.

Geliştirme

İşletim sistemi geliştirme, aşağıdaki unsurları içerir:

Hobi amaçlı işletim sistemi programlama için C programlama dili ve assembly dili sıklıkla kullanılır, ancak diğer diller de kullanılabilir. İşletim sistemi geliştirme için diğer masaüstü programları geliştirirken kullanılan dillerden farklı olarak çoğunlukla alt seviye programlama dilleri tercih edilir.

Assembly dilinin kullanımı küçük sistemlerde, özellikle MOS Technology 6502 ailesi veya Zilog Z80 gibi sekiz bitlik mikroişlemcilere dayalı sistemlerde veya küçük çıktı boyutu ve düşük seviye verimliliği nedeniyle mevcut kaynakların yetersiz olduğu sistemlerde yaygındır.[3]

Kullanıcı arayüzü

Çoğu hobi amaçlı işletim sistemi, geliştirme kolaylığı nedeniyle bir CLI veya basit bir TUI kullanır. Daha gelişmiş hobi işletim sistemleri bir GUI'ye sahip olabilir. Örneğin, AtheOS tamamen bir programcı tarafından yazılmış grafik arayüzlü bir hobi işletim sistemiydi.

Örnekler

BIOS'un kullanımı

Bu bölüm ağırlıklı olarak x86 odaklı ele alınmıştır.

BIOS (Temel Giriş/Çıkış Sistemi; İngilizceBasic Input/Output System) terimi, bilgisayar donanımını başlatan ve bir işletim sistemi yüklemek için gerekli hükümleri olan firmware anlamına gelir.[4] BIOS ayrıca önyükleme sırasında çeşitli düşük seviyeli aygıt sürücüleri için standart bir arayüz oluşturur. BIOS kaynakları, özellikle 16-bit x86 makinelerde yazılan hobi amaçlı işletim sistemleri tarafından sıklıkla kullanılır, çünkü birçok hobi işletim sistemi geliştiricisi karmaşık düşük seviyeli sürücüleri kendileri yazacak zamana sahip değildir veya sadece sistem için mümkün olan en kısa sürede yazılım yazmaya başlamak isterler.

En yaygın kullanılan BIOS işlevleri VideoBIOS ve Disk hizmetleri'dir. Bunlar, ekran kartları ve disk sürücüleri farklı makinelerde önemli ölçüde değişiklik gösterdiğinden ve özel sürücülerin yazılması genellikle zor olduğundan kullanılır.

BIOS'un kullanımı Korumalı mod (İngilizceProtected mod) veya Uzun mod'da (İngilizceLong mod) çalışan işletim sistemlerinde nadirdir, çünkü sistemin BIOS sürücülerinin çalıştığı gerçek mod'a (İngilizceReal mod) geri dönmesi gerekir.[5]

Ayrıca bakınız

Kaynakça

  1. ^ "Discussion of "My OS is less hobby than yours"". Osnews. 2 Aralık 2012. 24 Aralık 2009 tarihinde kaynağından arşivlendi. Erişim tarihi: 5 Aralık 2012. 
  2. ^ "OSDev Wiki". 26 Haziran 2008 tarihinde kaynağından arşivlendi. 
  3. ^ "Uses of assembly language". 3 Mart 2023 tarihinde kaynağından arşivlendi. Erişim tarihi: 3 Mart 2023. 
  4. ^ "About BIOS". 4 Mart 2023 tarihinde kaynağından arşivlendi. Erişim tarihi: 3 Mart 2023. 
  5. ^ "OSDev - Use of BIOS in protected or long mode". 3 Mart 2023 tarihinde kaynağından arşivlendi. Erişim tarihi: 3 Mart 2023. 

Dış bağlantılar

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">İşletim sistemi</span> bilgisayar donanım kaynaklarını yöneten yazılım

İşletim sistemi ya da işletim dizgesi, bir bilgisayarın donanım kaynaklarını yöneten ve uygulama yazılımlarına hizmet sağlayan yazılımların bir bütünüdür. İşletim sistemleri, bilgisayarın donanımı ile uygulama yazılımları arasında bir köprü görevi görerek kullanıcıların sistemle etkileşim kurmasını sağlar. Öne çıkan örnekler arasında Microsoft Windows, macOS, GNU/Linux dağıtımları, Android ve iOS yer alır.

<span class="mw-page-title-main">DOS</span> bilgisayarlar için ufak ve basit işletim sistemi

DOS, bilgisayarlar için ufak ve basit bir işletim sistemi türü olup, ana görevi disket ve sabit disk gibi saklama ortamlarının yönetimidir.

<span class="mw-page-title-main">Yazılım</span> bilgisayarın somut olmayan çalıştırılabilir bileşeni

Yazılım, değişik ve çeşitli görevler yapma amaçlı tasarlanmış elektronik aygıtların birbirleriyle haberleşebilmesini ve uyumunu sağlayarak görevlerini ya da kullanılabilirliklerini geliştirmeye yarayan makine komutlarıdır.

<span class="mw-page-title-main">Oracle Solaris</span>

Solaris, ilk olarak Sun Microsystems tarafından geliştirilmiş, UNIX tabanlı bir işletim sistemidir. 1993 yılında halefi olan SunOS işletim sisteminin yerini almıştır. Ocak 2010'da Oracle firmasının Sun firmasını satın almasıyla Oracle Solaris olarak anılmaya başlanmıştır.

macOS, Macintosh işletim sistemi ailesinin son sürümüdür ve Apple tarafından Macintosh bilgisayarları için tasarlanmış bir işletim sistemidir.

<span class="mw-page-title-main">AmigaOS</span> Amiga kişisel bilgisayarının işletim sistemi

AmigaOS, Amiga kişisel bilgisayarının işletim sistemidir. Grafik arabirimi olan Workbench, CLI komut satırı arabirimi ile birlikte AmigaDOS ve çoğu Amiga modelinde ROM'da yer alan Kickstart'tan oluşur.

JavaOS Java virtual machine üzerinde çalışan ve Sun Microsystems tarafından geliştirilmiş bir işletim sistemidir. Unix ya da Unix tabanlı işletim sistemlerinin C programlama dilinde yazıldığı gibi JavaOS' de Java programlama dili kullanılarak yazılmıştır.

<span class="mw-page-title-main">BIOS</span> EPROM adı verilen bir yonga üzerinde ROM Bellek biçiminde yer alan yazılım

BIOS,. EPROM adı verilen bir yonga üzerinde ROM Bellek biçiminde yer alan bir tür yazılımdır. Bilgisayar açıldığı anda işlemciye tüm diğer donanımları sırasıyla tanıtır. Donanımların temel iletişim protokollerini belirler. İşletim sisteminin başlangıç öğelerinin herhangi bir sürücüden yüklenmesini sağlar. İşletim sistemi çalışırken donanım ve işletim sistemi arasındaki ilişkileri düzenler.

<span class="mw-page-title-main">Çekirdek (bilgisayar bilimi)</span>

İşletim sistemi çekirdeği, kısaca çekirdek (kernel), işletim sistemindeki her şeyin üzerinde denetimi olan merkezi bileşenidir. Uygulamalar ve donanım seviyesindeki bilgi işlemleri arasında bir köprü görevi görür. Çekirdeğin görevleri sistemin kaynaklarını yönetmeyi de kapsamaktadır. Genellikle çekirdek, işletim sisteminin temel bir elemanı olarak, yazılımın fonksiyonunu yerine getirebilmesi için kontrol etmesi gereken kaynaklar için düşük seviye soyutlama katmanı sağlayabilir. İşletim sistemi görevleri, tasarımları ve uygulanmalarına göre farklı çekirdekler tarafından farklı şekillerde yapılır. Sistem açılırken belleğe yüklenir ve sistem kapatılıncaya kadar ana bellekte kalır.

<span class="mw-page-title-main">QNX</span>

QNX, gömülü sistemler pazarına yönelik Unix benzeri, gerçek zamanlı işletim sistemidir.

<span class="mw-page-title-main">Önyükleme</span> CPUya ilk elektrik verildiğinde bilgisayarın çalışabilmesi için uygulamaya konulan işlemler bütünü ve çalışan uygulamalar

Bilgisayar biliminde önyükleme, bir donanım veya bir yazılım komutu ile elektrik verilen bilgisayarı başlatma işlemidir. Açıldıktan sonra, bir bilgisayarın merkezî işlem biriminin (CPU) ana belleğinde yazılım yoktur, bu nedenle bazı işlemlerin yürütülebilmesi için yazılımı belleğe yüklemesi gerekir. Bu, CPU'daki donanım veya bellenim veya bilgisayar sistemindeki ayrı bir işlemci tarafından yapılabilir. İşletim sistemi ve bazı uygulamalar elde başlatıldığında, önyükleme tamamlanır.

Bilgi işlem platformu, bir uygulama yazılımı çalıştırmak için donanım mimarisi ve bir yazılım çerçevesi, yazılım, çeşitli bazı kombinasyon veya sıralamalarını içermektedir. Tipik platformlarda bir bilgisayar mimari, işletim sistemi, programlama dilleri ve ilgili kullanıcı arabirimi içerir.

<span class="mw-page-title-main">Canlı USB</span>

Canlı USB, önyüklenebilen tam bir işletim sistemi içeren taşınabilir bir USB'ye bağlı harici veri depolama aygıtıdır. Terim, USB flash sürücüleri anımsatır, ancak sırasıyla "canlı HDD" ve "canlı SSD" olarak adlandırılsalar da, harici bir sabit disk sürücüsünü veya yarıiletken sürücüyü kapsayabilir. Canlı CD'lerden sonraki evrimsel adımdır, ancak yazılabilir depolamanın ek avantajıyla, önyüklenen işletim sisteminde özelleştirmelere izin verir. Canlı USB'ler, sistem yönetimi, veri kurtarma veya test sürüşü için gömülü sistemlerde kullanılabilir ve USB cihazına ayarları kalıcı olarak kaydedebilir ve yazılım paketlerini yükleyebilir.

<span class="mw-page-title-main">Google Fuchsia</span>

Fuchsia, şu anda Google tarafından geliştirilen açık kaynaklı bir işletim sistemidir. Proje, Ağustos 2016'da resmi bir duyuru yapılmaksızın kendi kendine barındırılan bir git şeklinde göründüğünde halk tarafından tanındı. Kaynak belgelerinde adın arkasındaki neden "Pembe + Mor == Fuşya " olarak tanımlanmaktadır. Linux çekirdeğini temel alan, daha önce Google tarafından geliştirilen Chrome OS ve Android gibi işletim sistemlerinin aksine, Fuchsia, mineral adını taşıyan Zircon adlı yeni bir mikro çekirdeğe dayanıyor.

Gömülü yazılım, denetim makineleri ve bilgisayar sayılmayan aygıtlar için yazılmış yazılımlardır. Gömülü yazılımlar genellikle çalıştırılacakları donanıma göre özelleştirilir, zaman ve bellek kısıtlamalarına sahiptir. "Gömülü yazılım" terimi bazen firmware terimi ile beraber kullanılır, fakat firmware bir bilgisayardaki, üstünde bir işletim sisteminin çalıştığı ROM tabanlı koda uygulanabilir. Oysaki, gömülü yazılım genellikle aygıttaki tek yazılım olarak bulunur.

<span class="mw-page-title-main">Windows NT mimarisi</span>

Microsoft tarafından üretilen ve satılan bir işletim sistemi satırı olan Windows NT'nin mimarisi, kullanıcı modu ve çekirdek modu olmak üzere iki ana bileşenden oluşan katmanlı bir tasarımdır. Tek işlemcili ve simetrik çok işlemcili (SMP) tabanlı bilgisayarlarla çalışmak üzere tasarlanmış, önleyici, yeniden gelen bir işletim sistemidir. Giriş/çıkış isteklerini işlemek için, I / O istek paketlerini (IRP'ler) ve zaman uyumsuz G / Ç'yi kullanan paket odaklı G / Ç kullanırlar. Windows XP'den başlayarak, Microsoft Windows'un 64 bit sürümleri hazırlanmaya başladı; Bundan önce, bu işletim sistemleri yalnızca 32-bit sürümlerde mevcuttu.

<span class="mw-page-title-main">XNU</span>

XNU, MacOS işletim sisteminde kullanılmak üzere Aralık 1996'dan beri Apple'da geliştirilen ve Darwin işletim sisteminin bir parçası olarak ücretsiz ve açık kaynaklı yazılım olarak piyasaya sürülen bilgisayar işletim sistemi çekirdeğidir. Ayrıca, iOS, tvOS ve watchOS işletim sistemlerinin çekirdeği olarak da kullanılır. XNU, "X Not Unix"'in bir kısaltmasıdır.

<span class="mw-page-title-main">Multi-booting</span>

Çoklu önyükleme(multi-booting), tek bir bilgisayara birden çok işletim sistemi kurma ve hangisinin ön yükleneceğini(booting) seçebilme eylemidir. Çift önyükleme(dual-booting) terimi, özellikle iki işletim sisteminin ortak yapılandırmasını ifade eder. Çoklu önyükleme, özel bir ön yükleyici(booting) gerektirebilir.

<span class="mw-page-title-main">Çoklu ön yükleme</span>

Çoklu önyükleme (multi-booting), tek bir bilgisayara birden çok işletim sistemi kurma ve hangisinin ön yükleneceğini(booting) seçebilme eylemidir. Çift önyükleme (dual-booting) terimi, özellikle iki işletim sisteminin ortak yapılandırmasını ifade eder. Çoklu önyükleme, özel bir ön yükleyici gerektirebilir.

<span class="mw-page-title-main">HelenOS</span>

HelenOS çok sunuculu bir mikro çekirdek tasarımı temelli bir işletim sistemidir. HelenOS'un kaynak kodu C dilinde yazılmıştır ve BSD-3-Clause lisansı altında yayınlanmıştır.