Kendi İşletim Sistemini Yazmak

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Sscheme
    Sscheme's avatar
    Kayıt Tarihi: 04/Mart/2007
    Erkek

    Konuyu açan arkadaşı, bilgi seviyesini bilmiyorum, kendisini tanımıyorum. Söyleceklerim geneldir, arkadaş lütfen üzerine alınmasın. Genel olarak TBT deki genç arkadaşların böyle bir hatası var.

    "Aklıma böyle bir şey geldi haydi yapaym" diye bazı olaylara girişmeye kalkılıyor. Sonra da doğal olarak hiç bir şey başarılamayıp motivasyon kaybına uğranıyor. Çok basit olacak ama "emeklemeden koşamazsınız".

    Konuya gelirsek İşletim Sistemi Yazmak isteyen bir arkadaşın;

    - http://www.amazon.com/Modern-Operating-Systems-Andrew-Tanenbaum/dp/0136006639 bu kitabı veya bir benzerini okudum mu, bahsedilen konseptler hakkında bilgi sahibimiyim?

    - Assembly, C, gerekise C++ bilgim ne seviyede?

    - Sistem Programlama konusunda tecrübelerim nelerdir?

    - WinApi, Winsock gibi altseviye kütüphanelerle çalıştım mı? Arkaplanda işlerin nasıl yürüdüğüne dair bir fikrim var mı?

    - Sistemin donanım boyutunda hakimiyetim nedir?

    - Interrupt nedir, IRQ nedir, mutex nedir, context switching nedir, .... nedir, .... nedir gibi bir sürü kavram hakkında bilgi sahibi miyim? (Hello World seviyesinde bunlara gerek yok diyenler olacaktır, ama bu kavramlar hakkında bilgi sahibi olmadan bu işlere girmek mantıklı değil)

    gibi basit soruları kendine sorması lazım, eğer kendini yeterli görürse bu işlere girişmesi değilse Windows Platformu için konuşuyorum (asıl yol haritası bu)

     

    Programlama->C/C++->WinApi(Win32)->Assembly->Native API-> DDK (yeni adıyla WDK) öğrenip ondan sonra bu işlere girmesi gerekir. Yani User Mode dan Kernel Mode a geçmeden Kernel yazmaya kalkmak HTML öğrenip Facebook yapmaya benzer.

    Peki nereden başlayacağım derseniz. C bilgisi olan birisi için Windows System Programming 4th Edition ( http://www.amazon.com/Windows-Programming-Addison-Wesley-Microsoft-Technology/dp/0321657748) güzel kaynaktır. Şimdiden kolay gelsin, başarılar...

     

    söylediklerimin hepsi şahsi görüşümdür. İlgilenen arkadaşlara yol göstermek amacı taşımaktadır, kimse üzerine alınmasın.

     

     


    Bütün mesajlarım ve konularım BSD Lisansı"yla lisanslanmıştır.
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SerYolcu
    SerYolcu's avatar
    Kayıt Tarihi: 14/Ocak/2010
    Erkek

    İşletim sistemi yazmak için benim bildiğim kadarıyla C ve Assembly gerekiyor...

    İşletim sisteminin Yüzde 90 ını C ile yapabilirsin, ama çok kritik işlemler için illakine biraz Assembly kullanılacaktır.

     

    Daha önce TBT Forumda yazmıştım, MenuetOs diye bir işletim sistemi var...

    Sitesinde şöyle yazıyor..

    -----

    MenuetOS is an Operating System in development for the PC written entirely in 32/64 bit assembly language.

    Menuet64 is released under License and Menuet32 under GPL. Menuet supports 32/64 bit x86 assembly programming for smaller, faster and less resource hungry applications.

    -----

    Vatandaş sadece Asm ile yapmış işletim sistemini..

    1 Diskete sığıyor..

    Windows gibi pencereli sistemdi.. Benim en çok hoşuma giden ise, bir ikon o tıklanınca ikon kendi etrafında dönüyordu..

    Animasyon bile var yani...

    http://menuetos.net adresinden incelemeni tavsiye ederim..

    En azından, neyin nasıl yapıldığına dair bilgin olur...


    Ondan çocuk olmamıştır (Kimsenin babası değildir). Kendisi de doğmamıştır (kimsenin çocuğu değildir). İhlas Suresi 3 üncü ayette bunlar yazar.
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    asiminnesli
    asiminnesli's avatar
    Kayıt Tarihi: 19/Mart/2010
    Erkek

    bildiğim kadarı ile bu olay c falan filan değil Assable ve makina dili denen şeyleri bilmem gerekiyor ayrıca tüm donanımları falan taraman lazım sistemini bilip onarı okutman lazım falan filan


    I am Jack's inflamed sense of rejection
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SpermMan
    SpermMan's avatar
    Kayıt Tarihi: 12/Haziran/2007
    Erkek

    dökümanlar bölümünde de vardı ama bulamadım şimdi, şunu bi incele

    http://tdsoftware.wordpress.com/2011/10/27/windows-nt-kernelini-derlemek/


    -
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Hunter
    j4x
    j4x's avatar
    Kayıt Tarihi: 16/Temmuz/2005
    Erkek

    Kısa cevap: babayı yazarsın.

     

    Uzun cevap: Bu işi yapabilecek bilgi seviyesine erişmek epey bir zaman alıyor. Öyle bir anlık gazla yapılabilecek bir şey değil. Hello World için pek birşey bilmene gerek yok ama devamını normal program yazar gibi yazacağını sanma. Gerçekten yeterli bilgi ve tecrübeye sahip olsan da tek başına birşeyler yapman pek mümkün değil özellikle günümüzdeki işletim sistemlerine bakıldığında yaptığın iş sönük kalacaktır.


    The king is bleeding.
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SinusX
    SinusX's avatar
    Kayıt Tarihi: 14/Aralık/2010
    Erkek

    j4x bunu yazdı:
    -----------------------------

    Kısa cevap: babayı yazarsın.

     

    Uzun cevap: Bu işi yapabilecek bilgi seviyesine erişmek epey bir zaman alıyor. Öyle bir anlık gazla yapılabilecek bir şey değil. Hello World için pek birşey bilmene gerek yok ama devamını normal program yazar gibi yazacağını sanma. Gerçekten yeterli bilgi ve tecrübeye sahip olsan da tek başına birşeyler yapman pek mümkün değil özellikle günümüzdeki işletim sistemlerine bakıldığında yaptığın iş sönük kalacaktır.


    -----------------------------

    İyide benim amacım çalışma mantığını anlamak illa kendi işletim sistemini oluşturucam diye bişey değil ki neden yapılmasın :) hem ilk konuyu okumadan yazılmış bi post bu anladığım kadarıyla :)


    Damnant quod non intelligunt...
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SerYolcu
    SerYolcu's avatar
    Kayıt Tarihi: 14/Ocak/2010
    Erkek

    SinusX bunu yazdı:
    -----------------------------

    j4x bunu yazdı:
    -----------------------------

    Kısa cevap: babayı yazarsın.

     

    Uzun cevap: Bu işi yapabilecek bilgi seviyesine erişmek epey bir zaman alıyor. Öyle bir anlık gazla yapılabilecek bir şey değil. Hello World için pek birşey bilmene gerek yok ama devamını normal program yazar gibi yazacağını sanma. Gerçekten yeterli bilgi ve tecrübeye sahip olsan da tek başına birşeyler yapman pek mümkün değil özellikle günümüzdeki işletim sistemlerine bakıldığında yaptığın iş sönük kalacaktır.


    -----------------------------

    İyide benim amacım çalışma mantığını anlamak illa kendi işletim sistemini oluşturucam diye bişey değil ki neden yapılmasın :) hem ilk konuyu okumadan yazılmış bi post bu anladığım kadarıyla :)


    -----------------------------

    J4X ın cevabı hiç de güzel değil..

    Babayı yazarsın demek ne demek ?

    Sadece işin zorluğunu veya kolaylığını anlatsa yeterli..

     

    Bu işin zorluğunu ben anlatayım az...

    İşletim sistemi dediğimiz şey aynı windows gibi, bir pencere aç iki tık-tık ile bir program çalışsın değildir...

    İşletim sistemin asıl önemi, arkaplanda donanımlar arasındaki organizasyonu sağlamasında  yatar...

     

    Az önce MENUET OS linkini vermiştim, orada vatandaş kullandığı klavyenin marka modelini bile yazmıştı..

    Demek ki, klavyeden klavyeye fark var. Her klavyenin donanım ayarları farklı olduğu için, her klavyeye ayrı özel driver (sürücü) yazmamız gerekecek..

     

    Her donanımın, ayrı ayrı davranışları analiz edilmeli, bu donanımlara ayrı ayrı nasıl ulaşılacağı bilinmeli...

    Bunu biz zaten günümüzde yaşamıyor muyuz? Yaşıyoruz.. A markasının ABC1 modeli webcam  sürücüsü ile aynı A Markasının ABC2 model webcam ını

    çalıştırabiliyor muyuz? Hayır çalıştıramıyoruz. Windows illakine A Marka ABC2 model webcam driveri ister.. Aksi takdirde çalıştırmaz...

     

    Biz burada basitçe ASM ve C ile yapabilirsin dedik.. Ama bu iş C ile ekrana basitce bir mesaj yazmak gibi değildir...

    Ekrana doğrudan ulaşacaksım.. Donanım ile birebir iletişim kuracaksın...

     

    Bir de TCP/IP gibi işlemler var mesela..

    Onu da bir kütüphane ile halledersin sanıyorum :)

    Aksi takdirde senin işletim sistemi bittiinde, senin işletim sistemine AKSAKALLI V 1  diyecez :)

     

    Neyse araştırmaya devam, hem sen hem bizler çok şey öğrenecez...


    Ondan çocuk olmamıştır (Kimsenin babası değildir). Kendisi de doğmamıştır (kimsenin çocuğu değildir). İhlas Suresi 3 üncü ayette bunlar yazar.
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Fatih
    Fatih's avatar
    Kayıt Tarihi: 17/Temmuz/2005
    Erkek

    bilgisayar veya programlamayla uğraşan/uğraşmaya başlayan herkeste açığa çıkan bir istek heralde bu kendi işletim sistemim mevzusu.


    sen ilme küllünü vermeden ilim sana cüz'ünü vermez.
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Tugberk
    Tugberk's avatar
    Kayıt Tarihi: 04/Ekim/2009
    Erkek

    j4x bunu yazdı:
    -----------------------------

    Kısa cevap: babayı yazarsın.

     

    Uzun cevap: Bu işi yapabilecek bilgi seviyesine erişmek epey bir zaman alıyor. Öyle bir anlık gazla yapılabilecek bir şey değil. Hello World için pek birşey bilmene gerek yok ama devamını normal program yazar gibi yazacağını sanma. Gerçekten yeterli bilgi ve tecrübeye sahip olsan da tek başına birşeyler yapman pek mümkün değil özellikle günümüzdeki işletim sistemlerine bakıldığında yaptığın iş sönük kalacaktır.


    -----------------------------

    uslubu bilmem ama içerik tamamen doğru :)

  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Sscheme
    Sscheme's avatar
    Kayıt Tarihi: 04/Mart/2007
    Erkek

    Tugberk bunu yazdı:
    -----------------------------

    j4x bunu yazdı:
    -----------------------------

    Kısa cevap: babayı yazarsın.

     

    Uzun cevap: Bu işi yapabilecek bilgi seviyesine erişmek epey bir zaman alıyor. Öyle bir anlık gazla yapılabilecek bir şey değil. Hello World için pek birşey bilmene gerek yok ama devamını normal program yazar gibi yazacağını sanma. Gerçekten yeterli bilgi ve tecrübeye sahip olsan da tek başına birşeyler yapman pek mümkün değil özellikle günümüzdeki işletim sistemlerine bakıldığında yaptığın iş sönük kalacaktır.


    -----------------------------

    uslubu bilmem ama içerik tamamen doğru :)


    -----------------------------


    Benim uzun uzun yazmaya çalıştığım şey de buydu =) arkadaş özetlemiş :D


    Bütün mesajlarım ve konularım BSD Lisansı"yla lisanslanmıştır.
Toplam Hit: 9888 Toplam Mesaj: 41