Mümkün değildir. (*)
Sebepleri şunlardır:
A dan Z ye tüm windows dinamikleri lisanslıdır. Benzerini yapmak isterseniz dahi yasalarla korunmaktadır.
Linux işletim sisteminin en ağır topu olan ubuntu ile windows arasında geçen davalara bakarsanız hep lisans ihlalleri ve WMI bilgi erişim ihlallerinden oluşmaktadır.
He ama şöyle birşey olabilir: Tüm işletim sistemi windows gibi çalışır migrate toolları ile içe aktarım yaparsın da ters mühendislik vs vs ohoooo çok iş boşver hayat kısa mint ubuntu kullanın
klavyenin 6 farkli tusunun calisiyor olmasi. linux gibi bir sey derseniz sayi 5'e dusuyor.
hacilar, panpalar, o seye sey degil de isletim sistemi desek ve sadece mimarisini cozmek icin sizin tabirle 4 yilligi 3 yilda bitirmek gerek desek aciklayici olur mu?
hayir isbu mal ilk hesap makinasini yazdiginda toplamisti arkadaslarini, hadi lan kendi isletim sistemimizi yaziyoruz diye. ordan biliyorum yani. simdi nutuk ceker, bitlerine kadar anlatirim da; anlar misin ve gerek var mi?
edit: sadece messaging queue kismini ogren gel, istekliysen oturup calisalim bak yine.
merhaba dünya uygulamasını 40 farklı şekilde yapmak gerekli. en complex yapısıyla yani.
bir de işletim sistemi denince akla neden sadece c gelmekte. c++ söylenmesini anlamadığım gibi kimse işlemci mimarilerini dolayısıyla donanımla anlaşmayı falan düşünmüyor.
işin esası aynı anda tek bir noktada bulunacağınız bir fizik kuralıdır. yazılımda da bu olmalıdır. bir operating system aşamaları da böyledir. rfc nedir okumak gerekir. ieee bildirilerine bakmak gerekir. en basitinden unix tarafından konuşayım her çıkan gcc sürümünü okumak gerekir.
unix belgelerini bitirmenizden bahsetmiyorum bile. bir de işletim sistemlerindeki bellek yönetimi çok daha farklıdır. her fazladan kb risk grubudur.
Windows gibi bir seyden kasit Isletim sistemi yazmak ise bu da aslinda zor bir istir. Yazilim katman katman yazilir. Sizin yazdiginiz code bilgisayarin anlayacagi dile cevrilir. Assembly Language gibi cok alt seviye bir dilde yazmiyorsaniz, yazdiginiz code direkt olarak isletim sisteminin "kernel" adi verilen API si uzerinden islem gorur. Yani aslinda siz isletim sistemi ile konusursunuz, o da donanimla. Ancak isletim sisteminde durum farklidir. Direkt olarak donanim ile iliski kurmak gerekmekte, her birinin farkli driver proxy leri olmasi gerekmekte. Ayrica tek bir islemci varken zilyon tane farkli process i de yonetmek gerekmektedir. Konu ile ilgilenenler http://en.wikipedia.org/w...ning_philosophers_problem den dining philosophers problemini inceleyebilirler. Her bir programi ayni anda calistiracak verimli bir algoritma gelistirmeli, 32bit ya da 64bit mimarisi ile virtual memory management yapmali, guvenlik aciklarini minimize etmeli, donanimi efektif bir sekilde kullanip basarili bir kullanici arayuzu sunmalisiniz. Tum bunlari sifirdan implemente etmek neredeyse imkansiz. Zaten bunu da dogru duzgun yapan Unix var yalnizca. Mac ya da linux surumleri hepni ayni temele dayaniyor. Bir de windows var ki, o da bambaska hikaye. Basit bir dosya depolama islemi bile iki isletim sisteminde bambaska yollarla yapiliyor. Eski bilgisayar kullanicilari tek dosyanin 4gb dan buyuk olamamasi problemini bilirler. Isletim sistemi tasarlarken boyle bir olasiligi dusunmemelerinden kaynaklaniyor. Isletim sistemi yazmak basit ama cok zor bir olay. Basit cunku yalnizca calisip ilgili konularda kendisini gelistirmesi gerekir kisinin. Cok zor, cunku isletim sisteminin ilgilendigi ve ustlendigi konulara henuz verilmis bir " en iyisi boyle olur" gibi bir yanit yok. Genel yazilim felsefesi gecerli, ya memory verip hiz kazanirsin, ya da memory harcamaz ama agir bir isletim sistemi yaparsin. Windows Vista gibi ne memory den ne de hizdan kazanabilen kazma isletim sistemleri de yok degil tabi.
Aynı anda 500 kişilik iş performansına sahip olmak gerekir. En son bu soruyu küçük yeğenim beni birkaç hazır kod yazarken görünce sormuştu abi sende windows gibi birşey yapsana bende sana yardım edeyim çok para kazanırız demişti. Bende eline iki dvd oyun verip göndermiştim.
unix'i yalayıp yutmak çok iyi bir başlangıç olabilir. tabi dennis ritchie üstadın sözünü okuduktan sonra :
UNIX temelde basit bir sistemdir, ama basitliği anlamak için dahi olmanız gerekir.
işletim sistemi yapmanın aslında çok bir zorluğu yoktur. en başta yaratıcılık ve amaç gerekiyor. şu an o kadar alışığız ki başlat menüsünün sol altta olmasına. ama onu oraya koymak için saatlerce düşünen insanlar falan filan var. kullanıcının isteklerine cevap verebilen, kullanışlı bir işletim sistemi yapmaktır asıl mesele. örneğin, kolaylık, basitlik arayan kullanıcılar için windows ve linux gibi işletim sistemleri mevcuttur. daha karmaşık durumlar için, örneğin bir şirket bilgisayarı gibi, mac os olarak kısalttığımız machintosh operating system (Macintosh işletim Sistemi) mevcuttur. önemli olan hangi alanda işletim sistemi kurulacak olduğudur. yani bizim her organizasyonda sorulması gereken "amacımız ne?" sorusunun cevabını bulmak ve buna yönelik fikirler oluşturabilmektir.
Oncelikle buyuk bir ekip gereklidir. Yazilimin teknik mimarisi icin ekip gerekir, Yazilimin database isleri ilgili baska bir ekip, bu ekipler arasi koordinasyonu saglayacak yoneticiler ( her ekipten sorumlu ) , ilgili teknik tasarimi code a dokecek development ekibi, bu yazilimi test edecek bir test ekibi, nerede hangi butonun olacagina, sistemin senaryosunun nasil saglanacagina karar veren analistlerin oldugu analiz ekibi, sistemin donanimsal ve yazilimsal uyumlarini kontrol edecek operasyon ekibi, tum bu ekiplerin finansal durumlarini yonetecek finansal bir departman, ayrica eski surumlere de destek verebilmek adina ugrasak maintenance ve bugfixing yapan kemiklesmis bir development ekibi daha gerekmektedir. Son olarak da bir genel yonetici ve bir de marketing yapmak icin luzumlu ekipler gerekmekte. Bitti mi ? Hayir.Ilgili gorsellik icin tasarim ekibi, ses icin studyo ekibi, Kullanici deneyimi icin Costumer Experience Department, farkli dillere ceviri icin ayri bir ekip daha gerekmektedir. Bitti mi ? Hayir. Hepsinden bagimsiz, farkli isletim sistemleri ve bios uzerine kurulumu mumkun kilmak icin gerekli ancak windows kodlarindan bagimsiz calisacak ayri bir operasyon ekibinin yani sira, yeni gelecek surumler icin kuralacak internet sitesinde calisacak ayri ekipciklere daha gereksinim vardir. Windows gibi bir yazilimin sistem mimarisi goz onuna alindiginda ortaya cikan kompleksivite bir concorde ucaginkindinen daha fazladir. Yazilim step step ogrenildikten sonra para kazanmak mumkun ama direkt windows gibi bir proje beklentisi malesef gercekci degil. Kaldi ki 80 li yillardan beri OS gelistiren Microsoft bile her iki windows surumunden birinde fiyasko yasiyor.
(bkz: vista)
(bkz: windows ME)