Bilgisayar İşletim Sistemi Nasıl Yapılır (Resimlerle)

İçindekiler:

Bilgisayar İşletim Sistemi Nasıl Yapılır (Resimlerle)
Bilgisayar İşletim Sistemi Nasıl Yapılır (Resimlerle)

Video: Bilgisayar İşletim Sistemi Nasıl Yapılır (Resimlerle)

Video: Bilgisayar İşletim Sistemi Nasıl Yapılır (Resimlerle)
Video: Windows 10'dan Windows 8 veya Windows 7'ye Nasıl Dönülür? 2024, Mayıs
Anonim

İşletim sistemi, kullanıcının bilgisayar donanımıyla etkileşime girmesine izin verir. Sistem yüz binlerce kod satırından oluşur. Genellikle işletim sistemi C#, C, C++ ve Assembly programlama dilleri kullanılarak yapılır. İşletim sistemi, komutları kaydederken ve yürütürken bilgisayarınıza göz atmanızı sağlar. Bir işletim sistemi oluşturmanın kolay olduğunu düşünmeyin. Bunu yapmak çok fazla bilgi gerektirir.

Adım

Bilgisayar İşletim Sistemi Oluşturun Adım 1
Bilgisayar İşletim Sistemi Oluşturun Adım 1

Adım 1. Her şeyden önce, programlama hakkında bilgi edinin

Assembly dili çok önemlidir; C dili gibi başka bir tamamlayıcı yüksek seviyeli dil öğrenmeniz şiddetle tavsiye edilir.

Bilgisayar İşletim Sistemi Oluşturun Adım 2
Bilgisayar İşletim Sistemi Oluşturun Adım 2

Adım 2. İşletim sistemini yüklemek için hangi medyayı kullanmak istediğinize karar verin

Bu ortam bir CD sürücüsü, DVD sürücüsü, flash sürücü, sabit sürücü, disket veya başka bir bilgisayar olabilir.

Bilgisayar İşletim Sistemi Oluşturun Adım 3
Bilgisayar İşletim Sistemi Oluşturun Adım 3

Adım 3. Bir SO'nun temel fikrini tanımlayın

Örneğin, Windows'ta temel fikir, kullanımı kolay bir GUI ve çok sayıda güvenliktir.

Bir Bilgisayar İşletim Sistemi Yapın Adım 4
Bir Bilgisayar İşletim Sistemi Yapın Adım 4

Adım 4. İşletim sisteminizin hangi işlemci platformunu destekleyeceğini belirleyin

IA-32, ARM ve x86_64, kişisel bilgisayarlar için en yaygın platformlardır. Yani, hepsi en iyi seçiminiz.

Bilgisayar İşletim Sistemi Oluşturun Adım 5
Bilgisayar İşletim Sistemi Oluşturun Adım 5

Adım 5. Her şeyi sıfırdan kendiniz yapmayı mı tercih ettiğinize veya üzerine inşa etmek istediğiniz halihazırda mevcut bir çekirdek olup olmadığına karar verin

Örneğin, sıfırdan Linux, kendi Linux dağıtımını oluşturmak isteyenler için bir projedir.

Bilgisayar İşletim Sistemi Oluşturun Adım 6
Bilgisayar İşletim Sistemi Oluşturun Adım 6

Adım 6. Kendi önyükleyicinizi mi yoksa Grand Unified Bootloader (GRUB) gibi önceden oluşturulmuş bir yükleyiciyi mi kullanacağınıza karar verin

Önyükleyiciyi kendiniz kodlamak, kapsamlı donanım ve BIOS bilgisi gerektirir. Sonuç olarak, bu adım gerçek çekirdek programlama zamanlamasını engelleyebilir.

Bir Bilgisayar İşletim Sistemi Yapın Adım 7
Bir Bilgisayar İşletim Sistemi Yapın Adım 7

Adım 7. Hangi programlama dilini kullanacağınıza karar verin

Pascal veya BASIC gibi bir dilde bir işletim sistemine sahip olmak iyidir, ancak C veya Assembly kullanmalısınız. Montaj çok gereklidir, çünkü işletim sisteminin bazı önemli parçaları bunu gerektirir. Öte yandan, C++ dili, çalışması için diğer tam SO gerektiren anahtar sözcükleri içerir.

Bir işletim sistemini C veya C++ kodundan derlemek için elbette bir derleyiciyi veya diğerini kullanacaksınız. Bu nedenle, ister yazılımda olsun ister distribütörün web sitesinde mevcut olsun, seçtiğiniz C/C++ derleyicisi için kullanım kılavuzuna/kılavuza/belgelere başvurmanız iyi bir fikirdir. Derleyici hakkında birçok karmaşık şey bilmeniz gerekir ve C++ geliştirme için derleyicinin yönetim şeması ve ABI'si hakkında bilgi sahibi olmanız gerekir. Çeşitli yürütülebilir biçimleri (ELF, PE, COFF, temel ikili, vb.) anlamanız ve özel Windows biçimi olan PE'nin (.exe) telif hakkıyla korunduğunu anlamanız beklenir

Bir Bilgisayar İşletim Sistemi Oluşturun Adım 8
Bir Bilgisayar İşletim Sistemi Oluşturun Adım 8

Adım 8. Uygulama programlama arabiriminizi (API) tanımlayın

Aralarından seçim yapabileceğiniz iyi bir API, iyi belgelendiği için POSIX'tir. Tüm Unix sistemleri, POSIX için en azından kısmi desteğe sahiptir. Bu nedenle, Unix programlarını işletim sisteminize bağlamak kolay olmalıdır.

Bilgisayar İşletim Sistemi Oluşturun Adım 9
Bilgisayar İşletim Sistemi Oluşturun Adım 9

Adım 9. Tasarımınıza karar verin

Monolitik çekirdek ve mikro çekirdek diye bir şey var. Monolitik çekirdekler, çekirdekteki tüm hizmetleri uygularken, mikro çekirdekler, kullanıcı arka plan programı dağıtım hizmetleriyle birlikte paketlenmiş küçük çekirdeklere sahiptir. Genel olarak, monolitik çekirdekler daha hızlıdır, ancak mikro çekirdekler daha iyi hata yalıtımı ve güvenilirliğe sahiptir.

Bir Bilgisayar İşletim Sistemi Yapın Adım 10
Bir Bilgisayar İşletim Sistemi Yapın Adım 10

Adım 10. Bir ekip içinde gelişmeyi ve çalışmayı düşünün

Bu şekilde, daha fazla sorunu çözmek daha az zaman alır ve bu da muhtemelen daha iyi bir işletim sistemi oluşturmayı hızlandıracaktır.

Bilgisayar İşletim Sistemi Oluşturun Adım 11
Bilgisayar İşletim Sistemi Oluşturun Adım 11

Adım 11. Sabit sürücünüzü tamamen silmeyin

Unutmayın, bir sürücüyü silmek, üzerindeki tüm verileri geri alınamayacak şekilde silecektir! İşletim sisteminiz tamamen işlevsel olana kadar sisteminizi başka bir işletim sistemi ile çift önyüklemek için GRUB veya başka bir önyükleme yöneticisi kullanın.

Bir Bilgisayar İşletim Sistemi Yapın Adım 12
Bir Bilgisayar İşletim Sistemi Yapın Adım 12

Adım 12. Küçük başlayın

Metin görüntüleme gibi küçük şeylerle başlayın ve bellek yönetimi ve bileşik çalışma gibi şeylere geçmeden önce duraklayın. Ayrıca 32 bit ve 64 bit sürümleri yaptığınızdan emin olun.

Bir Bilgisayar İşletim Sistemi Oluşturun Adım 13
Bir Bilgisayar İşletim Sistemi Oluşturun Adım 13

Adım 13. Çalışan son kaynak kodunun yedeğini alın

Bu adım, SO'nun mevcut sürümünde veya geliştirmede bir şeyler ters gittiğinde bir önlem olarak kullanışlıdır. Bilgisayarınız çökerse ve önyükleme yapmazsa, sorunu çözebilmeniz için ikinci bir kopyayla çalışmak iyi bir fikirdir.

Bir Bilgisayar İşletim Sistemi Oluşturun Adım 14
Bir Bilgisayar İşletim Sistemi Oluşturun Adım 14

Adım 14. Yeni işletim sisteminizi bir sanal makine ile test etmeyi düşünün

Her değişiklik yaptığınızda veya geliştirme bilgisayarınızdan test makinenize dosya gönderdikten sonra bilgisayarınızı yeniden başlatmak yerine, mevcut işletim sisteminiz çalışırken işletim sisteminizi çalıştırmak için sanal bir makine uygulaması kullanabilirsiniz. Mevcut VM uygulamaları şunları içerir: VMWare (ücretsiz olarak sunulan bir sunucu ürünü de vardır), açık kaynak alternatifleri, Bochs, Microsoft Virtual PC (Linux ile uyumlu değildir) ve Oracle VirtualBox.

Bir Bilgisayar İşletim Sistemi Yapın Adım 15
Bir Bilgisayar İşletim Sistemi Yapın Adım 15

Adım 15. "Sürüm adayı" veya Beta sürümünü başlatın

Bu adım, kullanıcının işletim sisteminizle ilgili olası sorunlar hakkında sizi bilgilendirmesine olanak tanır.

Bir Bilgisayar İşletim Sistemi Yapın Adım 16
Bir Bilgisayar İşletim Sistemi Yapın Adım 16

Adım 16. İşletim sistemi de kullanıcı dostu olmalıdır

Kullanıcı dostu özellikler eklediğinizden emin olun, bunları tasarımınızın ayrılmaz bir parçası yapın.

İpuçları

  • Olası kilitlenmeleri ve diğer hataları kontrol edin. Hatalar, kilitlenmeler ve diğer sorunlar, işletim sistemi oluşturma projenizi etkiler.
  • Sistemin düzgün çalışmasını istiyorsanız, güvenlik özelliklerini en yüksek öncelik olarak uyguladığınızdan emin olun.
  • Kendi işletim sisteminizi geliştirmenize yardımcı olması için OSDev ve OSDever gibi web sitelerini kullanın. Lütfen, çoğu amaç için, OSDev.org topluluğunun, wikilerini kullanırsanız ve foruma katılmazsanız çok mutlu olacağını unutmayın. Bir foruma katılmaya karar verirseniz, bir ön koşul vardır: C veya C++ ve x86 derleme dili hakkında gerçekten bilgi sahibi olmanız gerekir. Bağlantılı Listeler, Kuyruklar vb. gibi genel ve karmaşık programlama kavramlarını da anlamalısınız. OSDev topluluğu, düzenlemelerinde, topluluğunun yeni programcılar yetiştirmek için oluşturulmadığını açıkça belirtir.
  • katılma OSDev.org forumu ile ve ardından bariz soruyu sorun. Sizden yalnızca kılavuzu okumanız istenecektir. Kullanmak istediğiniz ekipman için Wikipedia'yı ve talimatları okuyun.
  • Bir işletim sistemi geliştirmeye çalışıyorsanız, kesinlikle programlamanın "tanrısı" olarak kabul edilirsiniz.
  • Seçtiğiniz işlemci mimarisi için işlemci kılavuzunu da okumalısınız; x86 (Intel), ARM, MIPS, PPC vb. İşlemci mimarileri kılavuzlarını Google araması kullanarak bulmak kolaydır ("Intel kılavuzu", "ARM kılavuzu", vb.).
  • Tüm geliştirme çalışmaları tamamlandıktan sonra, kodu açık kod olarak mı yoksa telif hakkıyla mı yayınlamak istediğinize karar verin.
  • başlama programlama öğrenmeye başlamak için bir işletim sistemi projesi. C, C++, Pascal veya işaretçi manipülasyonu, düşük seviyeli bit manipülasyonu, bit kaydırma, satır içi montaj dilleri vb. dahil olmak üzere diğer uygun diller hakkında içten ve dıştan bilginiz yoksa, işletim sistemi için hazır değilsiniz. gelişim.
  • SO'yu 'genişletmek' için tamamen yeni bir bölüm oluşturmak iyi bir seçenek olabilir.
  • Kolay bir yol istiyorsanız, Fedora Revisor, Custom Nimble X, Puppy Remaster, PCLinuxOS Mk LiveCD veya SUSE Studio ve SUSE KIWI gibi Linux dağıtımlarını düşünün. Ancak oluşturduğunuz işletim sistemi hizmeti ilk başlatan firmaya aittir (GPL kapsamında serbestçe dağıtma, değiştirme ve dilediğiniz gibi çalıştırma hakkınız olsa da).

Uyarı

  • İki hafta içinde tam bir işletim sistemine sahip olmayacaksınız. Önyüklenebilir bir SO ile başlayın, ardından daha soğuk şeylere geçin.
  • İşletim sisteminizi dikkatsizce bir sabit sürücüye yazmak, ona tamamen zarar verebilir. Dikkat olmak.
  • Rastgele G/Ç bağlantı noktalarına rastgele bayt yazmak gibi önerilmeyen bir şey yaparsanız, işletim sisteminizi çökerteceksiniz ve (teorik olarak) donanımınızı yakabilirsiniz.
  • İşletim sisteminin kurulmasının kolay olmasını beklemeyin. Çok karmaşık bağımlılıklar var. Örneğin, birden çok işlemciyi işleyebilen bir işletim sistemi oluşturmak için, Bellek Yöneticinizin, birden çok işlemcinin aynı kaynağa aynı anda erişmesini önlemek için bir "kilitleme" mekanizmasına sahip olması gerekir. Bunun için kullanılan "kilit", herhangi bir zamanda yalnızca bir işlemcinin kritik kaynaklara erişmesini ve diğerlerinin beklemesini sağlamak için bir zamanlayıcı gerektirir. Aslında, zamanlayıcı, Bellek Yöneticisinin varlığına bağlıdır. Bu, çıkmaz bir bağımlılığın bir örneğidir. Bu tür bir sorunu çözmenin standart bir yolu yoktur; her işletim sistemi programcısının, onunla başa çıkmanın kendi yolunu bilecek kadar yetenekli olması beklenir.

Ek kaynaklar

  • Yönergeler: Sıfırdan Linux
  • Önyükleyici: GRUB
  • Sanal makine uygulamaları: Bochs, VM Ware, XM Virtual Box.
  • İşlemci kılavuzu: Intel kılavuzu
  • SO geliştirme siteleri: OSDev, OSDever

Önerilen: