Ubuntu Türkiye

Yazılım => Programlama => Genel => Konuyu başlatan: Cank53 - 17 Mart 2015 - 14:04:50

Başlık: [Çözüldü] İşletim sistemi yazmam için neler bilmem gerekiyor?
Gönderen: Cank53 - 17 Mart 2015 - 14:04:50
Merhaba.Uzun bir süredir bir İşletim Sistemi yazma hayalim vardı.Linux tabanlı bir işletim sistemi yazmak şuan en büyük önceliğim , ancak nasıl yapacağımı bilmiyorum , ya da anlatılanlarıda anlamadım diyebilirim.Bir forumda bir kaç soru gördüm , cevaplarsam :




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


1.Assembly'ı şuan öğrenmeye çalışıyorum diyebilirim.C az çok , yani bir program kodlamaya yetecek kadar  , iyi bir ezber olmasa da biliyorum.

2.Sistem programlama konusunda tecrübem yok , ancak nasıl olabileceğini biliyorum.

3.O tarz kütüphaneler üzerinde 1 kere bir kolları sıvadığım olmuştu ama uzun sürmedi.O yüzden çalışmadım demek istiyorum.Ancak arkaplanda işlerin nasıl yürüdüğünü biliyorum.

4.Donanım konusunda iyiyimdir.Yazılımcı olmama rağmen donanım bilgim yazılmdan daha üstün.Örneğin donanımdaki bir arızayı bulabilirim.

5.Terimlerin , bazılarını biliyorum bazılarını bilmiyorum.Ama öğrenmem çok zaman almaz.




Sizden isteğim nasıl yapabilirim , hangi kaynak kullanmalıyım , ne öğrenmeliyim sorularına yanıt vermek  :)  Hadi küçük yaştasındır atılmışsındır derseniz , ona da cevabım var evet bunu küçüklükten beri düşünmüştüm.Dİlleri öğrenirken bir ara vazgeçer gibi oldum ama sonra Lİnux'a falan geçince tekrar istedim  :) Ve öğrenme kapasitem hızldır.Çok iyi çalışırsam , 3-4 güne , tamamen halledebilirim bir dili.Ayrıca ister 5-6 yıl olsun farketmez , ben uğraşırım.Teşekkürler  :)
Başlık: Ynt: Ne Yapmalıyım ?
Gönderen: -DıLgEş- - 17 Mart 2015 - 14:45:57
İyice bir C ve Assembly bilgin olmalı. Gerçeği sanırsam loader yazacak kadar assembly yeterli olur diye düşünüyorum. Bu arada işletim sistemi yazmak öyle 3-5 kişinin altından kalkacağı işler değil. Sağlam bir ekip olmalı.


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 17 Mart 2015 - 14:46:58

Alıntı yapılan: Cank53Dİlleri öğrenirken bir ara vazgeçer gibi oldum ama sonra Lİnux'a falan geçince tekrar istedim  Ve öğrenme kapasitem hızldır.Çok iyi çalışırsam , 3-4 güne , tamamen halledebilirim bir dili.Ayrıca ister 5-6 yıl olsun farketmez...
Kim hangi dili 3-4 günde öğrenebiliyor ki?
Başlık: Ynt: Ne Yapmalıyım ?
Gönderen: Cank53 - 17 Mart 2015 - 14:50:29
Yapabilirim dedim , yani kimin yapıp yapmadığı önemli mi ? Ayrıca , Bill Gates Windows MS-DOS'u nasıl 2 kişi yazdılarsa , bugün şartında bunu tek kişide yapabilir.
Başlık: Ynt: Ne Yapmalıyım ?
Gönderen: -DıLgEş- - 17 Mart 2015 - 14:53:51
Alıntı yapılan: Cank53Yapabilirim dedim , yani kimin yapıp yapmadığı önemli mi ? Ayrıca , Bill Gates Windows MS-DOS'u nasıl 2 kişi yazdılarsa , bugün şartında bunu tek kişide yapabilir.
Gerçeği orası öyle. Tamam o zaman bilgisayar donanımlarıyla haşır neşir olman gerekecek. Maliyetli olacak. Bu işlere önce bir loader ve kernel yazmaya başla. Tabi kernel dediysem örneğin internette hello world üzerinden kernel örnekleri var onları incelersin. Sanırsam mimariler de önemli olacak.
Başlık: Ynt: Ne Yapmalıyım ?
Gönderen: Cank53 - 17 Mart 2015 - 14:59:18
Loader ve kernel yazmam sadece 2-3 haftayı kalır.Günün tamamını neredeyse bilgisayarla geçiriyorum.Peki bu loader dediğin açılıp yüklenmesi değil mi ?
Başlık: Ynt: Ne Yapmalıyım ?
Gönderen: -DıLgEş- - 17 Mart 2015 - 15:00:42
Alıntı yapılan: Cank53Loader ve kernel yazmam sadece 2-3 haftayı kalır.Günün tamamını neredeyse bilgisayarla geçiriyorum.Peki bu loader dediğin açılıp yüklenmesi değil mi ?
Evet aynen öyle. Ama hızlı olması için sanırsam assembly ile yazılması gerekiyor.
Başlık: Ynt: Ne Yapmalıyım ?
Gönderen: Cank53 - 17 Mart 2015 - 15:02:09
Peki , teşekkür ederim peki loaderi açtım bana ne açacak ? Bir tabanın üstüne mi yazacağım?
Başlık: Ynt: Ne Yapmalıyım ?
Gönderen: -DıLgEş- - 17 Mart 2015 - 15:05:35
Alıntı yapılan: Cank53Peki , teşekkür ederim peki loaderi açtım bana ne açacak ? Bir tabanın üstüne mi yazacağım?
İşte orası senin işin sanırsam masaüstünü kodlamalısın ama bunun için kernel lazım olacak diye biliyorum.


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 17 Mart 2015 - 15:08:03

Şuraya bak bi: https://www.google.com.tr/#q=loader+yazma ingilizce
Başlık: Ynt: Ne Yapmalıyım ?
Gönderen: Reverser - 17 Mart 2015 - 15:10:34
C gibi syntaxi zor olan bir dili kisa surede ogrenmen cok zor. Winapi, windowsa ozel. Bootloaderin nasil calistigini bilmiyorsun muhtemelem ne oldugunuda bilmiyorsun heveslenmis olman guzel hevesini kirmak istemem.
Suradan baslanabilir: isletim sistemi nasil calisir ? Arastirdikca taslar yerine oturacaktir yavas yavas.
Başlık: Ynt: Ne Yapmalıyım ?
Gönderen: Cank53 - 17 Mart 2015 - 15:26:11
Basit bir dil tabiki 3-4 gün , ama 2 hafta kadar  bir sürede dili tamamlayabilirim.Bootloader dediğiniz BİOS ile ilgilü bitşeyde biliyorum , Bir bakarım o soruyada teşekkürler :)

Peki bir Linux sisteminin üzerinden yazsam mesela ubuntu.  :)
Başlık: Ynt: Ne Yapmalıyım ?
Gönderen: freeman - 17 Mart 2015 - 15:39:25
Yazamazsın. Boşuna zamanını harcama.

Daha mantıklı şeylerle uğraş.
Başlık: Ynt: Ne Yapmalıyım ?
Gönderen: Cank53 - 17 Mart 2015 - 15:46:22
Ben yapmalımıyım dediğmi hatırlamıyorum.

Suse Studio mu ne varmış , kulanmalımıyım ?
Başlık: Ynt: Ne Yapmalıyım ?
Gönderen: Reverser - 17 Mart 2015 - 17:13:53
Alıntı yapılan: Cank53 - 17 Mart 2015 - 15:26:11
Basit bir dil * tabi ki 3-4 gün , ama 2 hafta kadar  bir sürede dili tamamlayabilirim.Bootloader dediğiniz BİOS ile ilgilü bitşeyde biliyorum , Bir bakarım o soruyada teşekkürler :)

Peki bir Linux sisteminin üzerinden yazsam mesela ubuntu.  :)
Iddiali oldu bence zira bu dile yillarini vermis insanlar var.   uzun sure pratik yapilmali ornek kodlar incelenmeli bunu sende goreceksin :) eger ben sadece menu yazcam menuden secim yaptircam dosya islemi yapcam diyorsan o ayri.
Başlık: Ynt: Ne Yapmalıyım ?
Gönderen: heartsmagic - 17 Mart 2015 - 17:23:59
Alıntı yapılan: Cank53Ve öğrenme kapasitem hızldır.Çok iyi çalışırsam , 3-4 güne , tamamen halledebilirim bir dili.
Alıntı yapılan: Cank53Loader ve kernel yazmam sadece 2-3 haftayı kalır.

Eğer troll amaçlanmıyorsa bu başlıkta kendimi aptal gibi hissetmeye başladım. @Cank53, tek ümidim yaşı genç bir arkadaşımız olman. 
Başlık: Ynt: Ne Yapmalıyım ?
Gönderen: ultimate - 17 Mart 2015 - 17:26:23
Kernel yazmak 2-3 haftanı mı alır ?
Kernel yazmak nedir ? Forumu trollemiyorsan cevap vereyim.
Şimdi seni bir heves sarmış,yaşa bağlanamaz.Daha önce burada kernel yazmayı bırak linux dağıtımı forklayan bile olmadı sanırım.Türkiye'de de 2-3 tane proje var.Şimdi tübitakta bu makine işletim sistemi var diyenler olur çekirdek yazmak her babayiğidin harcı olsaydı Çin bilişim sektörünü ele geçirirdi.
Başlık: Ynt: İşletim sistemi yazmam için neler bilmem gerekiyor?
Gönderen: kötükurt - 17 Mart 2015 - 17:47:58
Sen bence Pisi (http://www.pisilinux.org/irc-2/) ekibi ile konuş, geliştiriciye ihtiyaçları var yardımcı olabilirler.
Başlık: Ynt: İşletim sistemi yazmam için neler bilmem gerekiyor?
Gönderen: Quaoar - 17 Mart 2015 - 17:51:22
osdev.org sitesi çok iyi bir kaynak.
Başlık: Ynt: İşletim sistemi yazmam için neler bilmem gerekiyor?
Gönderen: ersinkandemir - 17 Mart 2015 - 17:53:56
İş dalga geçme boyutuna geldi bence. Oyun yapmalar, işletim sistemi yazmalar falan. Bu işi yapanlar boş insanlar demek ki, herhangi birinin 3-4 günde öğrendikleriyle yerleri doldurulabiliyorsa. Ben böyle anlıyorum.
Başlık: Ynt: Ne Yapmalıyım ?
Gönderen: Reverser - 17 Mart 2015 - 18:32:28
Alıntı yapılan: heartsmagic - 17 Mart 2015 - 17:23:59
Eğer troll amaçlanmıyorsa bu başlıkta kendimi aptal gibi hissetmeye başladım. @Cank53, tek ümidim yaşı genç bir arkadaşımız olman.

tam şurada: [1] kendisi belirtmiş.
[1] https://forum.ubuntu-tr.net/index.php?topic=46908.0;topicseen
Alıntı yapılan: Cank53 - 17 Mart 2015 - 16:19:51
Uçbirimden yüklediğimde açılınca bu hatayı alıyorum.Ve nasıl başlatacağım bilmiyorum.
Sürücülerimi kontrol ettim uçbirimden , tam.Şuan dershanrye giedeceğim bu yüzden akiam buraya koyabilirim.

şurada da kendi tabiri ile ergenler konusunda bayağı bir yazıp çizmişti: [2]
[2] https://forum.ubuntu-tr.net/index.php?topic=46835.msg539109#msg539109

ve aşağıdakini söyleyende kendisi :)

Alıntı yapılan: Cank53 - 17 Mart 2015 - 14:04:50
4.Donanım konusunda iyiyimdir.Yazılımcı olmama rağmen donanım bilgim yazılmdan daha üstün.Örneğin donanımdaki bir arızayı bulabilirim.

Bu arkadaşın yüzüne gerçekleri söyleyince bozulan, aşağıdaki gibi çıkışanda kendisi...

Alıntı yapılan: Cank53 - 17 Mart 2015 - 15:46:22
Ben yapmalımıyım dediğmi hatırlamıyorum.

Suse Studio mu ne varmış , kulanmalımıyım ?

neyse, şimdi gelir yine çıkışır falan mazallah :)
Başlık: Ynt: İşletim sistemi yazmam için neler bilmem gerekiyor?
Gönderen: Cank53 - 17 Mart 2015 - 19:31:51
Arkadaşlar , dershaneye gitmem anormal mi , yazılımcı derken bir meslek anlamında demedim,yazılıma takılıyorum dedim.Eğer trollediğimi düşünüyorsanız konuyu kilitleyin.Amacım trollemek değil.Ama dalga geçer gibide , yazamazsın diyip geçmek kimi sinirlendirmez ? Güzelce anlatmak , çok mu zor.

Yanlış biliyordum , anlattınız teşekkür ederim.Uzun süre bilgisayarda vakit geçirmem , ve hızlı bir kapasitemin olmasından dolayı buna cevap verdim.Daha fazla desteğe gerek yok teşekkür ederim.  :)

Alıntı yapılan: kötükurt - 17 Mart 2015 - 17:47:58
Sen bence Pisi (http://www.pisilinux.org/irc-2/) ekibi ile konuş, geliştiriciye ihtiyaçları var yardımcı olabilirler.

Evet ama kişisel bir projem olsun istiyorum.Tamamen ismine kadar bana ait olacak.

Ve kerneli orada , beraber verildiği için yazdım , belki loaderi o kadar süre içinde yapabilirim.Ancak kerneli tam olarak bilmediğim için , oda birazcık saçma oldu araştırdımda.Herkeze teşekkürler destekleriniz için.

Başlık: Ynt: [Çözüldü] İşletim sistemi yazmam için neler bilmem gerekiyor?
Gönderen: freeman - 17 Mart 2015 - 19:49:48
Alıntı yapılan: Cank53Ama dalga geçer gibide , yazamazsın diyip geçmek kimi sinirlendirmez ? Güzelce anlatmak , çok mu zor.
Ben senin bizimle dalga geçtiğini düşünüyorum.
Şu konuda en büyük tavsiyeyi sana veren benim, sen gelmiş dalga geçmişler diyorsun. 

Yine diyorum; yazamazsın. 
Bu işin okuluna git, orada herşeyi öğretsinler. Bak ondan sonra yazma ihtimalin var.

Yine de küçük bir kardeşimiz olduğun için sana işletim sistemi yazma konusunda tavsiye de vereyim:
http://www.amazon.com/Operating-Systems-Design-Implementation-3rd/dp/0131429388/ref=sr_1_7?s=books&ie=UTF8&qid=1426614487&sr=1-7&keywords=modern+operating+systems

İşletim sistemi yazmak için tek kaynak. Bu kitapta bu işe dair herşey var.
Başlık: Ynt: [Çözüldü] İşletim sistemi yazmam için neler bilmem gerekiyor?
Gönderen: Cank53 - 17 Mart 2015 - 19:56:44
Teşekkür ederim , ancak ben bir kaynak buldum , ve benim için daha kolay.Ben bir Lİnux sistemi yazacaktım..Suse Studioda direk yazmak değil yapmak varmış.  :)
Başlık: Ynt: [Çözüldü] İşletim sistemi yazmam için neler bilmem gerekiyor?
Gönderen: Amenofis - 17 Mart 2015 - 20:01:29
İşletim sistemi yazmaktan linux özelleştirmeye geçti arkadaş. Ne istediğini bilmiyor, yav he he deyip konuyu kapatmak lazım.
Başlık: Ynt: [Çözüldü] İşletim sistemi yazmam için neler bilmem gerekiyor?
Gönderen: Cank53 - 17 Mart 2015 - 20:05:01
Linux özelleştirme mi ? İşletim sistemi için çalışıyorum ben hala.Sadece bir taban hazırlayacağım işte kendime.Neyse.Teşekkürler konu kapansın.  :)
Başlık: Ynt: [Çözüldü] İşletim sistemi yazmam için neler bilmem gerekiyor?
Gönderen: bytan - 17 Mart 2015 - 20:50:03
İşletim sistemi yazarken planın ne? Örneğin kütük yönetimi için neyi tercih edeceksin? Bellek yönetimi için sayfalı bellek yönetimi mi  sayfalı görüntülü bellek yönetimi mi ilk tercihin olacak? Hatta Sayfalı kesimli görüntü bellik yönetimi mi? Giriş/Çıkış işlemlerinde doğrudan bellek erişim düzeneği mi kullanacaksın seçmeli giriş çıkış programlamayı mı tercih edeceksin? Yoksa kesilmeli giriş çıkış progrlamayı mı düşünüyorsun? Görev yönetimini planlarken hangi algoritmaya ağırlık vereceksin? Ana işlem biriminin verimli kullanılması mı, ortalama iş tamamlama süresinin mi, birim sürede sonlandırılan iş sayısının mı temel alındığı algorirtmayı seçeceksin?

Daha devamı gelir de, gerek yok. 2 günde halledersin.
Başlık: Ynt: [Çözüldü] İşletim sistemi yazmam için neler bilmem gerekiyor?
Gönderen: ultimate - 17 Mart 2015 - 21:11:49
Alıntı yapılan: bytan - 17 Mart 2015 - 20:50:03
İşletim sistemi yazarken planın ne? Örneğin kütük yönetimi için neyi tercih edeceksin? Bellek yönetimi için sayfalı bellek yönetimi mi  sayfalı görüntülü bellek yönetimi mi ilk tercihin olacak? Hatta Sayfalı kesimli görüntü bellik yönetimi mi? Giriş/Çıkış işlemlerinde doğrudan bellek erişim düzeneği mi kullanacaksın seçmeli giriş çıkış programlamayı mı tercih edeceksin? Yoksa kesilmeli giriş çıkış progrlamayı mı düşünüyorsun? Görev yönetimini planlarken hangi algoritmaya ağırlık vereceksin? Ana işlem biriminin verimli kullanılması mı, ortalama iş tamamlama süresinin mi, birim sürede sonlandırılan iş sayısının mı temel alındığı algorirtmayı seçeceksin?

Daha devamı gelir de, gerek yok. 2 günde halledersin.

Hocam onu geç.Linux bile yılların kolektif çalışmasıyla sürücü sorunlarını çözememişken bu arkadaş nasıl donanım desteği sağlayacak demezler mi ?
Hesap makinesi için tasarlansa hadi eyvallah.
Başlık: Ynt: [Çözüldü] İşletim sistemi yazmam için neler bilmem gerekiyor?
Gönderen: Ozmo - 17 Mart 2015 - 21:15:50
Alıntı yapılan: Cank53Yapabilirim dedim , yani kimin yapıp yapmadığı önemli mi ? Ayrıca , Bill Gates Windows MS-DOS'u nasıl 2 kişi yazdılarsa , bugün şartında bunu tek kişide yapabilir.
:D :D :D :D ms dos'u bill amca yazmadı başka bir kişiden satın aldı https://www.youtube.com/watch?v=dLwJxPJi-Yg dinle bilgilen :D
Başlık: Ynt: [Çözüldü] İşletim sistemi yazmam için neler bilmem gerekiyor?
Gönderen: ekremsenturk - 17 Mart 2015 - 21:30:44
Çocuklar her gördükleri ve duyduklarına özenirler ve taklid ederler. Çocukların öğrenme biçimi, gördüklerini taklit etme şeklindedir. Benim küçük bir yeğenim var, o da Winx kızlarına özeniyormuş. Birisine kızdığı zaman, garip hareketler yapıyordu. Kızdığı kişiyi ışınlamaya çalıştığını fark ettim. Hepimiz bu Dünya'yı düşe kalka öğreniyoruz. Edindiğimiz tecrübelere göre mantık yapımızı geliştiriyoruz. Ciddiye alınacak ta, garipsenecek te bir durum yok. Yaşı küçük olanlar için, üç beş gün ötesi, uzun vadeli hesaplamak veya planlamak,  bir olaya o kadar çok vakit ayırmak, çok sıkıcı gelebilir. Hayat2ta yaşanacak o kadar çok şey varki, neden bir insan kendini o kadar süre, sadece tek bir macera'ya bağlasınki? Müsade edelim de işini rahat yapsın.
Başlık: Ynt: Ne Yapmalıyım ?
Gönderen: blackwidow - 17 Mart 2015 - 23:04:37
Alıntı yapılan: heartsmagic - 17 Mart 2015 - 17:23:59
Alıntı yapılan: Cank53Ve öğrenme kapasitem hızldır.Çok iyi çalışırsam , 3-4 güne , tamamen halledebilirim bir dili.
Alıntı yapılan: Cank53Loader ve kernel yazmam sadece 2-3 haftayı kalır.

Eğer troll amaçlanmıyorsa bu başlıkta kendimi aptal gibi hissetmeye başladım. @Cank53, tek ümidim yaşı genç bir arkadaşımız olman.

Hocam kesinlikle haklısınız , üniversite adı vermiycem ama Üniversite bazında en iyi C dili eğitimlerinden birisini gördük koskoca bir dönem.

Ama internete bakınca bu işletim sistemleri aslında yolun başında olduğumu farkettim yani gerçekten bu olay şu değil : 3-4 günde öğrenirim değil

Yapamazmısın kesinlikle yaparsın ama yıllarını alır
Başlık: Ynt: [Çözüldü] İşletim sistemi yazmam için neler bilmem gerekiyor?
Gönderen: heartsmagic - 17 Mart 2015 - 23:39:33
Görüldüğü üzere forumu karıştırmak için sigara falan içmek gerekmiyormuş. 

@Cank53, dediğim gibi umarım genç bir kardeşimizsindir. Burada çok genç arkadaş gördük biz ama, hepsi ciddi tavsiyelere açık, yapmak istediğini zamana uyduran genç arkadaşlarımızdı. Şimdi onların bazıları üniversitede okuyor, bazıları bir yerlerde çalışıyor. Hepsinin ortak noktası şu ki, hiçbiri ha deyince oyun yazmadı, bilmedikleri bir şeyi de (kernel, çekirdek) üç dört günde yazacaklarını iddia etmedi.

Hayat tavsiyesi olsun sana, girdiğin bir ortamı önce anlamaya çalış. Bu ortam konuşulan bir ortamsa önce dinlemeye gayret göster. Burası gibi yazılarla dönen bir yerse, gördüğün şeylerin ne olduğunu araştır önce. Sonra hedef koy kendine ancak küçük hedefler olsun bunlar. Gerisi zamanla, yıllar sonra gelecektir. 

Konu etiketlendiği için kapatalım.