Arkadaşlar yanlış yere açtıysam özür dilerim.Ama gerçekten çok merak ediyorum Bir işletim sistemi nasıl yapılır? Vista,XP nasıl yapıldı ya da Macintosh
Belki de C,C++ la alakası vardır ama bilmiyorum
Arkadaşlar yanlış yere açtıysam özür dilerim.Ama gerçekten çok merak ediyorum Bir işletim sistemi nasıl yapılır? Vista,XP nasıl yapıldı ya da Macintosh
Belki de C,C++ la alakası vardır ama bilmiyorum
kardeş C++ , assembly, pascal gibi bir sürü yazılımsal kodlama dilleri vardır. senin o sistemindeki dosyaların her biri 1011011010001010001101100111... gibi kodlardan oluşur. işletim sistemi yazmak öyle he deyince olmuyor. xp yi sadece bill gates değil yanlarında çalışan yüzlerce yazılım mühendisi yazdı
Saol tayartekin abi/abla:) Peki bir soru daha soracağım sana:)
Diyelim işletim sistemi yapıyorum en güvenli olması,en fonksiyonel(özellikleri çok) olması bu kodlara mı bağlı:S
Burki012Saol tayartekin abi/abla:) Peki bir soru daha soracağım sana:)tabi ki...
Diyelim işletim sistemi yapıyorum en güvenli olması,en fonksiyonel(özellikleri çok) olması bu kodlara mı bağlı:
Yaa çok soru soruyorum ama ne yapayım merak işte özür dilerim:D
Şimdi birde Playstation falan var onlar da bu kodlarla yazılıyor peki bilgisayar kodlarından farkı ne birde onu söylersen sevinirim abim:S
Burki012Yaa çok soru soruyorum ama ne yapayım merak işte özür dilerim:Dyazıldığı programlar farklıŞimdi birde Playstation falan var onlar da bu kodlarla yazılıyor peki bilgisayar kodlarından farkı ne birde onu söylersen sevinirim abim:
Çok saol seni de yordum:) Ama şu soruma da başkaları yardımcı olsun
En önemli işletim sistemi kodları nelerdir? İşletim sisteminin de çalışmasında,oyunları algılamasında gibi
"C++ , assembly, pascal" bunlar en popülerleri. bakarsın bir gün bir dahi bunlardan daha üstün bişeyler yazar
Çok saol abicim yardımlar için sorum olursa sorarım:D
Şimdi resimli anlatırdım vista gibi bir işletim sistemi nasıl yapılır diye ama yorma beni
Aslında tek program gibi değilde bir biriyle sürekli senkorinize çalışan binlerce program veya programcık olarak düşün..
Sistemi başlatabilmen için bir boot önyükleyicisi sahip olman gerek.Bu senin işletim sistemini çalışır duruma getirecek.
Sonra bir çekirdeğe sahip olmalısın ki donanımların nasıl kullanılacağını kimin kullanabileceğini belirlesin. Sistemi ayakta tutan hizmetler donanım sürücülerini falan düşünürsek bu yazı yaz yaz bitmez.
Burki012Yaa çok soru soruyorum ama ne yapayım merak işte özür dilerim:Dplaystationun işlemcisi farklı.Şimdi birde Playstation falan var onlar da bu kodlarla yazılıyor peki bilgisayar kodlarından farkı ne birde onu söylersen sevinirim abim:
macintosun farklı
pc nin farklı.
ilk önceşunu anlamalısın. makinanın donanımı neyse ona hükmedecek bir yazılım geliştirmelisin.
Mesela windows xp örneğin. XP nin 32 biti namı diğer x86 sürümü sadece x86 işlemcilerde yada emule edilmiş programlar sayesinde bşka işlemcilerde çalışır.
belirli komut setleri vardır. her işletim sisteminin farklıdır ama belirli standartlara uymak zorundadır işletim sistemi yazarları.
mesela linux bazı bilgisayarlarda çalışmaz(eskiden diyim ben) tekrar derlemek gerekirdi.
ama xp yi direk bir x86 işlemciye göster hemen çalışır. sebebi onun anlayacağı dile çevrilmiş. Binary sistem.
Playstation ise sony nin özel geliştirdiği bir os ile çalışmaktadır. Xbox live ise windows türevi bir işletim sistemi kullanmaktadır(mesela .net ile yazıan programların bazıları hiç sıkıntı vermeden çalışmaktadır xbox 360 ta).Temel olarak İşletim sistemini yazabileceğin en iyi dil C++ ve c dir. c yi sallayalım o object oriented programming denilen yani nesneye dayalı programlama desteği yoktur. ama c++ buna tam destek verir. low level format denilen bir dildir. yani herşeyi sen tabandan hazırlarsın.
makina kodlarına en rahat çevrilen dildir ve derlediğinde yanında özel kütüphane istemezler.(bu kısımda söyleyeceklerim normal c++ için geçerli zira mesela microsoft mfc yada microsoft atl gibi c++ türevleri özel kütüphanelere ihtiyaç duyabilmektedir. ve bunlar dezavantaj sağlar bazen).
neden c++ çünkü donanıma hükmeden bir taban dil ve güçlü bir dildir.
hızlıdır bellek yönetimi eğer iyi bir algoritma kurmuşsan çok kuvvetlidir. nesneye dayalı olduğu için mesela bir butona istediğin efecti yada komutu verebilirsin. (oyunları düşün).
işletim sistemi yazmak apayrı bir derttir. çünkü donanım üreticilerini kendine bağlaman önemlidir.
Microsoft bu işi Windows 1 ile iyi bir çıkış yakaladı ve öylde gidiyor.
umarım yeterli olmuştur.
Bütün diller ve bütün işletim sistemleri bütün herşeyin atası olan C dilinde yazılmışlardır. Windows,Dos,Unix,Linux,FreeBSD,MacOS say say bitmez ....
Tabi çekirdek önemli bir hadisedir. Türk işletim sistemi denilen pardusun çekirdiği yeniden sıfırdan yazılmamıştır mesela. Buda onu tamamen özgün bir işletim sistemi herşeyiyle bizim denen bir işletim sistemi yapmaktan çıkarır. Ama yinede büyük bir olaydır.
Örneğin Unix full fork işlemine dayalı bir sistemdir.Bir anadan çıkan binlerce cocukla bir çeşit soyagaci gibi herbirine farklı bir iş yaptırabilir.
İşletim sistemleri nedir ne yapar olayı algoritmaları bağlantıları için Modern Operating Systems yazar->Andrew S. Tanenbaum kitabı okuyabilirsin.
Bir aralar uzman yazılımcı Kağan aslan hoca bir sitede yüzde yüz yerli çekirdeğe sahip bir işletim sistemi üzerinde çalıştıklarını ve bir kaç yıl içinde işletim sisteminin biteceğini söylemişti o gündür bugündür ses seda yok proje hakkında
Kağan aslanla CSD işletim sistemi ve bazı konular hakkında
sohbetler
bir bilgisayarın alfabesi 1 ve 0 rakamlarından oluşur.Bilgisayar başka hiç bir işaret vb. tanımaz.işletim sitemleride bunun için vardır. mesala bir bilgisayarda "01010000" rakamları "A" harfine denk gelir. bu rakamların hangi harfe karşılık geldiğini işletim sistemi bulur ve bize harf olarak yansıtır.bu sayede bilgisayarı kullanabiliriz.yoksa hangi rakamların hangi harfe karşılık geldiğini ezberlemek zorunda kalırdık ve 6 milyar insanda 2 bin kişi kadarımız bunu bilirdi. bence çok çalışıp yazılım programcılığı bölümünü okuyun. şimdi başaramazsınız demiyorum nitekim linux yazılımını bulan linus torvald evde yapmıştı yazılımı ve internette bedava yayımladı. eğer çok çalışıp hayatınızı buna adarsanız kısa sürede işletim sistemi bulursunuz. ferhat şirin için dağları delmedi mi?
Merhabalar,
Öncelikle verdiğiniz bilgiler için çok teşekkürler.
Ben küçüklüğümden beri elektroniğe, bilgisayarlara ve teknolojiye hep merak duymuşumdur.
Fakat internette ingilizcem yeterli olmadığı için pek çok şeyi bulmakta zorlanıyorum. 11. sınıf öğrencisiyim ve Steve Jobs'un garajda ürettiği bilgisayardan günümüze kadar olan gelişmeyi anlamak istiyorum. Bence eğer ilk bilgisayarlardan başlarsam günümüz teknolojisindeki bilgisayarları anlamak çok daha kolay olur.
Uzun lafın kısası bazı bilgilere sahibim bilgisayarın 2'li sistemle çalıştığı gibi donanımsal bilgiyede az çok sahibim. Fakat yazılımlarla ilgili bilgilerim yok denecek kadar az, yazılımlarla ilgili yaptığım araştırmalarda hep bir işletim sistemini kullanarak yazılım yazmayı anlatmışlar. Fakat ben bunları okumadım çünkü şunları bilmek istiyorum;
1-Bir bilgisayarın donanımlarını ilk birleştirdiğimizde nasıl bir halde açılıyor ve elimizde işletim sistemi olmazsa nasıl kullanırız. Kullanamazsak ilk işletim sistemi nasıl yapıldı?
2-Programa dilleri nedir? Yani anladık belli şekillerde yazılım yazılıyor ama bu yazılım dilleri nedir yenileri neye göre belirleniyor, sadece 0 ve 1 leri algılayabilen bir bilgisayar nasıl yazıları algılıyor?
3-Yani en başta bilgisayarların özünü öğrenmek istiyorum.Bilgisayarların özünde ne var?
4-Bir yazılım veya bilgisayar mühendisliği bölümüne gittiğimizde bize anlatmaya nerden başlıyorlar? Neler öğretiyorlar?
5-Cep telefonlarının işletim sistemleri vs. vs.
Yardımlarınız için şimdiden çok teşekkür ederim...
http://www.yaztasarla.com/ bu sitede istediğiniz cevapları alırsınız arkadaşlar / bu formdan daha iyi cevaplar gelir sizlere / bütün diller tartışılıyor / ayrıca eğitim setleride var / delphi visual basit silverlight vs
İlgilendiğin için teşekkürler ama ben henüz nerden başlayacağımı bile bilmiyorum o yüzden daha ileri seviyelerde o tür sitelere bakmam gerekir, bence ama yine de teşekkürler ekledim siteyi sık kullanılanlara...
aslında bir işletim sistemi yazılabilir tek kişiyle bile ben yazdım c# diliyle...
bunun için cosmos diye bir program var inditmek için http://cosmos.codeplex.com/releases/view/35194 sitesine girin programı indirin kurulduğunda microsoft visual c# projesi oluşturun orada cosmos project diye bir proje tipi var ondan oluşturun.
artık işletim sistemi yazmaya hazırsınız...
not: Sistem zaten bootable olacaktır sizin boot kodu yazmanıza gerek yok!
a buarada özür dilerim orası "inditmek" değil "indirmek" olacaktı
Konu biraz eski ama gene de cavap vermek istedim. Bir bilgisayar elbette ki bizim alfabemizi anlayacak kadar zeki değil. Bu nedenle gerek işletim sistemlerinin gerekse yazılım dillerinin yaptığı şey bizim isteklerimizi ve dilimizi makinenin anlayacağı dile çevirmek. Makinenin anlaycağı dil ise 2'lik sayı tabanıdır. Yani sadece 1 ve 0'ın tanımlı olduğu taban. Buna bit düzeyi denir ve tüm makineler bit düzeyinde işlem yapar. 1 ya da 0'dan her biri bir bit anlamına gelir.
Mesela "0000 0001" sekiz bitlik bir veridir. Bu veri onluk tabana çevrilirse +1 saysına karşılık gelir. Yani +1 sayısının makine dilinde saklanma şekli budur. Kısaca tamsayılar makine dilinde ikilik tabana çevrilerek saklanır.
Peki makine karakterleri nasıl anlıyor? Askında makine karakterleri anlamıyor. Her programlama dilinin kullandığı bir standart veri alfabesi vardır. Ve bu alfabede her karakter bir tamsayı ile tanımlanmıştır. Örneğin küçük a harfi ASCII standartlarında 97 sayısı ile tanımlanmıştır. 97 sayısının ikilik tabandaki karşılığı ise "0110 0001" olur. Yani aslında a harfi makine tarafından "0110 0001" şeklinde saklanır. Okuma işlemi yapıldığında ise önce bu rakam 97'ye ardından da 97 sayısı zaten programlama dili tarafından kaydedilirken bir karakter olarak tanımlandığı için doğrudan karakter karşılığına çevrilir ve bu şekilde yazılır. Temel olarak en iyi yazılım bellekte en az veri saklatan yazılımdır. Bu da 1 byte'lık ya da sekiz bitlik (1 byte= 8 bit) bir verideki 1'leri azaltmakla olacaktır. Bunu da bir yazılımcı değişik kodlarla yapabilir. Tabi bunu yapabilmek için yazılımın yazıldığı dilin buna imkan tanıması gerekir. "C" dili bunu en iyi yapabilen makine dilidir. Zaten bu nedenle en çok tercih edilen dildir.
Umarım biraz olsun anlatabilmişimdir.
mac'i bilmem ama gerisi hep c ile yazılmış programlardan oluşur, mesela herhangi bir linux işletim sisteminin dosya sistemini kurcalarsan .c dosyalarını görebilirsin. Bu arada windows xp 40 milyon satır koddan oluşmakta yani işletim sistemi yazacam diye heveslendiysen şimdiden vazgeçmeni öneririm =)
Pardus projesinin durduğunu öğrendim.Aklıma şu geldi pardusu değiştirip(modifikasyon) yeni bir adla devam ettirebilirmiyim bu zormudur.Sıfırdan değil onun üstüne yapmayı düşünüyorum.Gerçi pek kod bilgim yok ama üstüne yazmak daha kolaydır diye düşündüm.
Merhaba ben işletim sistemi yapımı hakkında youtube de seri başlattım. işine yarar. link: http://www.youtube.com/watch?v=nkS71eZjtlc&feature=share&list=FLcN_PhDOnO-UyWou7UwbMww