Basit Bir İşletim Sistemi Yapın

Hiç bir İşletim Sistemi kurmak istediniz mi? Hiç komut satırı işletim sistemlerinin nasıl çalıştığını bilmek istediniz mi? Herşey burada!

C # 'da temel bir İşletim Sistemi yapacağız, endişelenmeyin, c ++ veya java ile ilgili bazı temel bilgileri bile biliyorsanız, kodu anlayacaksınız: D

Bu eğitimin sonunda, harika işletim sisteminizi oluşturabileceksiniz!

Yani bazı ind ile başlayalım

Adım 1: Kavram

Peki, aslında bir işletim sistemi nasıl çalışır? Bir elektrik devresi seviyesinden açıklayacağım.

Çoğunuz elektrik devrelerindeki mantık kapılarını biliyorsunuz. birçok mantık kapısı bağlandığında, yani milyarlarca transistör bir çipin içinde birbirine bağlandığında, 0s ve 1s depolayabilirler. Her kapı 0 veya 1 depolayabilir.

Ardından bağlı transistör bir Mikro Denetleyici veya bir Mikro İşlemci oluşturur. Burada bilgisayarınızdaki mikroişlemcide programlayacağız.

Bilgisayarınızın bir işletim sistemiyle de çalışabileceğini biliyor muydunuz? Merak ediyorum! Bilgisayarınızdaki her çip bir mikroişlemci olmadan ayrı ayrı çalışabilir, ancak işletim sistemi olmadan, çoklu görev yapamaz veya basit kelimeler gibi birden fazla iş parçacığını birlikte çalıştıramaz, bir kez müziğin çalabileceği ve bir kez grafiklerin çalabileceği bir video oynatamaz. Ama ikisi birlikte koşamaz.

Bir işletim sistemi nedeniyle, bugün internette gezinirken müzik dinleyebilirsiniz.

İşletim sistemi çekirdeğine göre çalışır. Çekirdek tüm kütüphane dosyalarını saklar ve her program çalıştırdığımızda, programın kodu başlık dosyalarını çekirdekten çağırır. Windows'da çekirdek 'Win32'

Adım 2: Materyaller ve Ön Koşul Bilgisi

Neye ihtiyacınız olacak-

1) Microsoft Visual Studio 2012/2013/2010 (Herhangi Bir Sürüm)

Bağlantı: //www.visualstudio.com/

2) COSMOS Kullanıcı Geliştirme Kiti Milestone 4 (C # Açık Kaynak Yönetimli İşletim Sistemi)

Bağlantı: //cosmos.codeplex.com/downloads/get/90082

3) İşletim Sistemini çalıştırmak için herhangi bir Sanallaştırma Yazılımı. VMware Player kullanıyorum.

Meraklı Bilgi-

C ++, Java, .net ile ilgili temel bilgiler

Sadece daha iyi bir anlayış elde etmek için c # 5-10 temel çevrimiçi öğreticilere göz atmak istiyorum

Adım 3: COSMOS'a Giriş

Cosmos (C # Açık Kaynak Yönetimli İşletim Sistemi), geliştirme ortamı olarak Visual Studio kullanan bir işletim sistemi geliştirme kitidir. Adında C # olmasına rağmen, VB.NET, Fortran, Delphi Prism, IronPython, F # ve daha fazlası dahil olmak üzere herhangi bir .NET tabanlı dil kullanılabilir. Kozmosun kendisi ve çekirdek rutinleri öncelikle C # ve dolayısıyla Cosmos adı ile yazılır. Bunun yanı sıra, NOSMOS (.NET Açık Kaynak Yönetimli İşletim Sistemi) aptalca geliyor.

Cosmos geleneksel anlamda bir işletim sistemi değildir, bunun yerine bir "İşletim Sistemi Seti" dir veya "İşletim Sistemi Legos" demekten hoşlanırım. Cosmos, Visual Studio ve C # gibi normalde işletim sistemleri oluşturmanıza izin verir. Çoğu kullanıcı Visual Studio'yu kullanarak sadece birkaç dakika içinde kendi işletim sistemlerini yazabilir ve önyükleyebilir. Milestone 5, Visual Studio'da tümleşik proje türü ve tümleşik bir hata ayıklayıcı gibi yeni özellikler içerir. Kesme sistemlerini kullanarak işletim sisteminizde doğrudan Visual Studio'dan hata ayıklayabilirsiniz. Cosmos, geliştirici kiti (dev kit) ve kullanıcı kiti olmak üzere iki dağıtımda mevcuttur. Geliştirici kiti, Cosmos'un kendisi üzerinde çalışmak isteyen kullanıcılar için tasarlanmıştır. Kullanıcı kiti, kendi işletim sistemlerini oluşturmak ve bazı Cosmos işleri yapmak isteyenler için tasarlanmıştır. Geliştirme kiti Cosmos SDK'sı olarak düşünülebilir. Çoğu kullanıcı, dev kit gibi ezici olmadığı için kullanıcı kitiyle başlamalıdır. Bu makale kullanıcı kitine odaklanmaktadır.

Adım 4: İlk İşletim Sisteminizi Yazma

İlk olarak, ekranda bazı metinleri yazdırabilen bir işletim sistemi yazalım!

Her şeyden önce, bir önceki adımda belirtilen tüm gerekli yazılımı yükleyin.

1) Görsel stüdyosu açın ve Dosya> Yeni Proje'ye gidin

2) Yeni proje iletişim kutusunda, şablonlar kutusunda COSMOS'u ve ardından COSMOS Projesi'ni seçin. Projeye bir ad verin ve Tamam'a tıklayın!

3) Artık çözüm gezgininde "program.cs" dosyasını göreceksiniz. Tıklayın ve yükleyin.

4) İçinde çok fazla kod göreceksiniz, korkmayın, sadece "public static void Init ()" bloğunun altındaki kodu düzenlemeliyiz: D

5) Şimdi visual studio araç çubuğunda gördüğünüz başlat düğmesine tıklayın veya Hata Ayıkla menüsünden "hata ayıklamaya başla" yı tıklayın

6) Herhangi bir değişiklik yapmadan bir COSMOS Builder penceresinin göründüğünü göreceksiniz, sadece önyükleme tıklaması oluşturma

7) VAY! Yani QEMU penceresi görünüyor mu? QEMU aslında bir işletim sistemi öykünücüsüdür, bu nedenle yürütülmekte olan kodu görüyorsunuz. Şimdi bazı değişiklikler yapalım ve işletim sistemini kişiselleştirelim.

5. Adım: İşletim sistemini kişiselleştirme

Şimdi kodda bazı basit değişiklikler yapın,

genel statik geçersiz Init () altında,

Console.WriteLine ("Hoş Geldiniz! C # kodunu yeni başlattınız. Lütfen Program.cs dosyasını ihtiyaçlarınıza göre düzenleyin"); to Console.WriteLine ("Merhaba Dünya! Bu benim ilk işletim sistemim");


Yani, Hoş Geldiniz! C # kodunu yeni başlattınız. Lütfen Program.cs dosyasını ihtiyaçlarınıza uygun hale getirin ! Bu benim ilk işletim sistemim.

Metni yeni düzenledik. Şimdi kodu derleyelim ve çıktıyı görelim. Kodu derlemek için önceki adımdaki adımları uygulayın.

Bunu gördüm! Metin değişti! adını bile buraya koyabilirsin. Tebrikler! temelleri anlayarak savaşın yarısını kazandınız. Ancak kullanıcıdan girdi alan ve kullanıcıya çıktı veren bir işletim sistemine ne dersiniz? Tıpkı komut satırı işletim sistemleri veya Linux terminali gibi.

Adım 6: Komut Satırı İşletim Sistemi Oluşturma

Burada bir komut satırı işletim sistemi yapacağız. Önceki kodu gördüğümüz gibi, kod sadece Console.WriteLine () işlevi aracılığıyla ekranda bazı metinler yazar. Şimdi kullanıcının girişi verdiği ve bilgisayarın işlediği bir işletim sistemi yazacağız.

Merhaba Kullanıcı yazdıran bir kod yapalım ! Bu işletim sistemini kullandığınız için teşekkürler! bilgisayara girdi olarak merhaba verdiğimizde.

Programlamada, çoğunuz gibi bildiğiniz farklı koşullar vardır, eğer koşullar karşılanırsa eylemi yapan If döngüsü. Yani burada eğer döngü kullanılacak ve bir kullanıcının girişi merhaba ise, yukarıda bahsettiğimiz satırı yazdıracaktır.

KODU:

dize girişi;

input = Console.ReadLine ();

eğer (input == "merhaba")

{Console.WriteLine ("Merhaba Kullanıcı! Bu işletim sistemini kullandığınız için teşekkür ederiz!");

}

Burada bu kodda, bazı verileri okuduğumuz girdi adında bir dize yaptık. If döngüsü, girişin merhaba kelimesiyle eşleşmesi durumunda Hello User! Bu işletim sistemini kullandığınız için teşekkürler!

Şimdi gidip bu kodu yürütelım!

Şimdi işletim sistemine şimdi yazabilirsiniz! merhaba yaz

Uyarılmış? Çıktıyı gördünüz mü? : D

Kendi komut satırı işletim sisteminizi yaptınız. ama buna daha birçok özellik eklemeye ne dersiniz? Hakkında yazdığınızda, işletim sistemi hakkında bilgi verir ve yardım yazarsanız, komutların listesini gösterir mi? Bir sonraki adımda yapalım.

Adım 7: İşletim Sistemimize Daha Fazla Özellik Ekleme

Öyleyse, hangi ekranların COSMOS OS 1.0 hakkında olduğu ve hangi ekranların

merhaba - Basit işletim sistemi komutu

hakkında - İşletim sistemi hakkında bilgi edinin

Önceki adımda olduğu gibi, döngüler halinde 2 tane daha yapın.

KODU:

dize girişi;
input = Console.ReadLine ();

eğer (input == "merhaba")

{Console.WriteLine ("Merhaba Kullanıcı! Bu işletim sistemini kullandığınız için teşekkür ederiz!"); }

if (input == "about")

{Console.WriteLine ("COSMOS OS 1.0");

}


if (input == "yardım")

{

Console.WriteLine ("merhaba - Basit işletim sistemi komutu");

Console.WriteLine ("about - OS hakkında bilgi edinin");

}

Gördüğünüz gibi bu kodda 2 döngü daha yaptık. Şimdi kodu yürütün ve about yazın . Bunu gördüm, COSMOS OS 1.0'ı görüntülüyor ve pencereyi kapatıp kodu yeniden çalıştırıp help yazıyor . Bunu gördüm? Yani her şey yolunda gidiyor.

Artık her işletim sistemi kapatma veya kapatma seçeneğine sahiptir. Kapatma ve yeniden başlatma gibi özellikler ekleyelim.

Adım 8: Kapatma ve Yeniden Başlatma Özellikleri Ekleme

Kapatma ve yeniden başlatma özelliği eklemek de son derece kolaydır. Cosmos'ta kapatma kodu Cosmos.Sys.Deboot.ShutDown (); ve yeniden başlatmak için Cosmos.Sys.Deboot.Reboot ();

Şimdi, kapanma ve yeniden başlatma olarak girdisi olan IF döngülerini yapın.

KODU:

dize girişi;
input = Console.ReadLine ();

if (input == "merhaba") {Console.WriteLine ("Merhaba Kullanıcı! Bu işletim sistemini kullandığınız için teşekkürler!"); }

if (input == "about") {Console.WriteLine ("COSMOS OS 1.0");

}

if (input == "help") {Console.WriteLine ("merhaba - Basit işletim sistemi komutu"); Console.WriteLine ("about - OS hakkında bilgi edinin"); }

if (input == "shutdown") {Cosmos.Sys.Deboot.ShutDown (); }

if (input == "restart") {Cosmos.Sys.Deboot.Reboot (); }


Şimdi kodu yürütün ve restart yazın . Gördüm xD! Yeniden başladı! Şimdi shutdown yazın . Gördüm, pencere kapalý, yani OS kapatýldý.

Bu, kendi kendini kapatıp yeniden başlatabilecek bir işletim sistemi yaptığınız zaman en heyecan verici kısım olabilir!

Şimdi bu işletim sistemini son dokunuşlarla geliştirelim.

Adım 9: Son Dokunuşlar

Son dokunuşlarda, anahtar kasasını kullanacağız, çünkü IF ifadesinden çok daha basit ve daha iyi. Ayrıca, kullanıcı komutlarımızda yer almayan bir anahtar kelime yazdığında, böyle bir komut yok

Kodu bir kez görmeniz yeterlidir.

KODU:

while (true)
{

string command = Konsol.ReadLine ();

switch (komut) {

vaka "kapanması": {Cosmos.Sys.Deboot.ShutDown ();

break;

}

vaka "yardım":

{

Console.WriteLine ("merhaba - Basit işletim sistemi komutu");

Console.WriteLine ("about - OS hakkında bilgi edinin");

break;

}

vaka "yaklaşık":

{

Console.WriteLine ("COSMOS OS 1.0");

break;

}

vaka "yeniden başlat": {

Cosmos.Sys.Deboot.Reboot ();

break;

}

vaka "merhaba": {

Console.WriteLine ("Merhaba Kullanıcı! Bu işletim sistemini kullandığınız için teşekkürler!");

break;

}

default: {Console.WriteLine ("Böyle bir komut yok");

komut = null; break; }}

}

Tamam, kodu görsel stüdyoya kopyalayın ve kodu yürütün. Mola eklediğimizi unutmayın ; Bu anahtar durumunda kullanılır. Şimdi işletim sisteminizle eğlenin!

Şimdi bana yardım etmek gibi yanlış bir komut yazmaya çalışın . bu komut tanımlanmadı, bu nedenle Komut bulunamadı bulundu . Bu, işletim sistemimizin artık yanlış komutları kabul etmeyeceği anlamına geliyor. Ve tüm komutları deneyin. Sabit bir döngüde girdi alırken, şimdi öncekinden sonra başka bir komut yazabileceğinizi not etmiş olabilirsiniz.

Adım 10: İşletim Sistemini Çalıştırma ve Test Etme

Şimdi yaptığımız işletim sistemini test edeceğim. İşletim sistemini çalıştırmak için bir Sanallaştırma yazılımı kullanacağım. İndirmek için ücretsiz olan VMware oynatıcı kullanacağım!

Tamam, bir sanal makine oluşturun ve C: \ Users \ {Kullanıcı adınız} \ AppData \ Roaming \ Cosmos User Kit'i açın

Visual Studio'da build ISO'yu seçtikten sonra cosmos.iso dosyasını bulacaksınız. Bu dosyayı VMware'de başlatın ve işletim sisteminizin keyfini çıkarın! (tam ekran yap)

Adım 11: Teşekkürler ve Hakkımda

MIT Media Labs India Initiative ile çalışan 16 yaşında yerleşik bir geliştiriciyim. ARM, AVR, Arduino ve Raspberry Pi gibi çeşitli teknolojilerde çalışıyorum.

Beni burada bulabilirsiniz: //www.sarthaksethi.net/

Facebook: //www.facebook.com/pages/Sarthak-Sethi/25272 ...

Youtube: //www.youtube.com/channel/UCv7OszKtRFkJ_e0Af ...

İlgi̇li̇ Makaleler