Hobi amaçlı işletim sistemi

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.

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:

* Kernel:
** Bootstrapping
** Bellek yönetimi
** İşlem yönetimi ve çizelgeleme
** Aygıt sürücüsü yönetimi
** Program API
* Dış programlar
* Kullanıcı arayüzü

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.

## 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

Icaros131.jpg|
EmuTOS 1.0.png|
GeckOS 20.png|
Ghost 0.5.3 Screenshot.png|
Helenos-0.11.1-gui.png|
KolibriOS nightly build desktop.png|
LUnix.png|
Menuet.png|
Phantom screen 17.10.2019.png|
ReactOS Shell.png|
Redox running Orbital.png|
Serenityos-example.png|
Syllable-0.6.5-pl.png|
symbos-cpc.png|
VirtualBox TempleOS x64 27 02 2021 20 43 48.png|


## BIOS'un kullanımı

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

BIOS (Temel Giriş/Çıkış Sistemi; ) 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. 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 () veya Uzun mod'da () çalışan işletim sistemlerinde nadirdir, çünkü sistemin BIOS sürücülerinin çalıştığı gerçek mod'a () geri dönmesi gerekir.

## Ayrıca bakınız
* Hobi amaçlı işletim sistemleri listesi
* Bilgisayar mimarisi
* OpenBIOS

## Kaynakça

## Dış bağlantılar
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 
*