Arama butonu
Bu konudaki kullanıcılar: 1 misafir
35
Cevap
36740
Tıklama
2
Öne Çıkarma
Sıfırdan işletim sistemi yazmak
S
11 yıl
Er
Konu Sahibi

Öncelikle merhaba konuyu nereye açacağımı tam kestiremedim yanlış yere açtıysam kusura bakmayın ben sıfırdan bi işletim sistemi yazmak istiyorum duruma göre linux çekirdeği de kullanabilirim yeni bi işletim sistemi yazmak için neler gereklidir hangi adımlar izlenmelidir önerilerinizi ve yardımlarınızı bekliyorum şimdiden teşekkürler (dalga geçecek olan arkadaşlar varsa lutfen bişey yazmasınlar)

Edit:imla

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil





< Bu mesaj bu kişi tarafından değiştirildi Sametctk -- 1 Eylül 2014; 2:44:03 >

< Bu ileti mobil sürüm kullanılarak atıldı >

Yoruma Git
Yorumun Devamı nett65 - 11 yıl +1
C
11 yıl
Yarbay

5,10 sene uğraşırsan belki kullanılabilecek seviyede bir tane yazarsın. Tabi bu süre zarfında tüm donanımlar ve yazılımlar değişeceği için senden başkası kullanamaz.

Bilmem ne demek istediğimi anlatabildim mi?


Bu mesaja 1 cevap geldi.
L
11 yıl
Yarbay

Kardeş sana şu kadarını söylemem yeter herhalde,işletim sistemleri windows üzerinde programla yazılmıyor


Bu mesaja 2 cevap geldi.
S
11 yıl
Yarbay

O kadar kolay olsaydı piyasada binlerce işletim sistemi olması gerekirdi... Örnek olarak windows 8' in geliştirilmesi :

Steven Sinofsky'nin blogundaki bir yazıdan:

Windows 8 de tam 35 Microsoft ekibi çalışmış. Bu ekipler 25-40 kişilik ekiplerdir. Çarptığın zaman ortaya 875 – 1400 kişilik bir grup çıkıyor. Bu 35 ekip:

App Compatibility and Device Compatibility
App Store
Applications and Media Experience
App Experience
Core Experience Evolved
Device Connectivity
Devices & Networking Experience
Ecosystem Fundamentals
Engineer Desktop
Engineering System
Enterprise Networking
Global Experience
Graphics Platform
Hardware Developer Experience
Human Interaction Platform
Hyper-V
In Control of Your PC
Kernel Platform
Licensing and Deployment
Media Platform
Networking Core
Performance
Presentation and Composition
Reliability, Security, and Privacy
Runtime Experience
Search, View, and Command
Security & Identity
Storage & Files Systems
Sustained Engineering
Telemetry
User-Centered Experience
Windows Online
Windows Update
Wireless and Networking services
XAML
Bölümlerinde çalışıyorlar ve Windows 8 meydana getiriliyor...


Bu mesaja 1 cevap geldi.
F
11 yıl
Yüzbaşı

quote:

Orijinalden alıntı: LegendM

Kardeş sana şu kadarını söylemem yeter herhalde,işletim sistemleri windows üzerinde programla yazılmıyor

Gayet windows üzerinde programla yazılabilir

Arkadaşlar, herkesin yazdığı işletim sistemi windows yada linux kadar kapsamlı olmak zorunda değil

Hocam genel olarak sizin sorunuza cevap vermek gerekirse hiç bir kernel kullanmadan tamamen kendiniz yazmak istiyorsanız epey çaba göstermeniz gerekecektir ancak imkansız değil yapanlar vardı, linklerini sona ekleyeceğim.

Tamamen eğlence amacıyla, bir miktar assembly ve C bilgisiyle boot edilebilen bir işletim sistemi oluşturmanız çok da mümkünatsız değil.

MikeOS


Bu mesaja 1 cevap geldi.
_
11 yıl
Yarbay

windows c ile yazılmıştır. msdos işletim sistemi kurup c üzerinde çalışmaya başlayabilirsiniz. sadece linux, windows, macintosh değil bir sürü tutmamış işletim sistemi var.

örnek
https://www.haiku-os.org/


Bu mesaja 1 cevap geldi.
A
11 yıl
Teğmen

eğer sadece kendini denemek istiyorsan birşey diyemem. Ancak programlama yapacaksan (python, c gibi) sana linux öneririm. Örneğin Arch Linux gibi (inş adını yanlış hatırlamadım) küçük boyutlarda sistemler kurabilirsin. Ayrıca eğer yapacak olursan lütfen paylaş. (benim için açılıp, ekrana birkaç yazı yazıp kapanan bile olsa takdir edilesidir)

Bir de zamanında ben de merak ediyordum bu işleri. Eğer linux tabanlı değil kendi sistemini kuracaksan (yanlış hatırlmıyorsam) donanım desteği de eklemelisin. En azından kendi bilgisayarın için.

Ses ekran driverlarından bahsetmiyorum. Eğer linuxu metin modunda açılırken izlediysen birçok cihaz tanımlanır vsvs.

Yaparsan denemek isterim. Umarım yaparsın. Kolay gelsin.





< Bu mesaj bu kişi tarafından değiştirildi ardunyocu -- 7 Eylül 2014; 2:29:48 >
Bu mesaja 1 cevap geldi.
M
11 yıl
Yüzbaşı

Sıfırdan işletim sistemi diyince benim ilk aklıma gelen genelde mikrodenetçilerde (microcontroller) kullanılan RTOS (RealTimeOperatingSystem) oldu. Çoğu elektronik cihazda bu tür minyatür işletim sistemleri oluyor. Dijital kameralar, mp3 çalarlar, uydu alıcılar vb.
RTOS 'lerin 2000-3000 satır C kodundan oluşan çok küçük türleri de var.

Ama PC'lerin donanımlarına uyumlu bir işletim sistemi yazmak kolay değil. Çünkü PC'ler curcuna gibi. Envai çeşit donanım, sürekli değişen standartlar(ISA-PCI-AGP...) derken iş iyice karışıyor. Çeşit çeşit CPU komut setleri (i686-MMX-SSE-3dNow....)

Yeni bir işletim sistemi yazmak için Linux'u örnek almak iyi bir seçenek. Ama monolitik(bütün, tek parça) kernel yapısı tercih edilmiyorsa. Minix daha iyi olabilir. Bence minix moduler yapısıyla incelenmeye değer bir işletim sistemi.





< Bu mesaj bu kişi tarafından değiştirildi mehmetdagli1 -- 11 Eylül 2014; 3:37:03 >

V
11 yıl
Yüzbaşı

Linux cekirdegi kullanarak isletim sistemi yazilmaz modifiye yapilir pardus gibi bn yazdim diye gecnrsn :) her neyse oncelikle sunu soyleyeym c ile arka plani kodlayip zor olan kismi c# ile on plani oludturabilirsin microsoft windows milnyumun kodlarini acmisti. Bir ara gelistiriciler icin eger c veya c# biliyorsanda elimde saglam bir kaynak var yabanci bir proje gelistirilmesine son verildi gecen sene bende gelistirme projesinde yer almistim ancak proje sona erdi elimde kaynak kodlari var dilersen gondereyim c# bilgin varsa yani cok zor bir seyden bahsediyirsun tek basina boyle bisey mumkun degil artik ki 70 li yillarda yasamiyoruz gelismis bir teknoloji ortami var windowsun ilk yazilma heyecanini vermez sana :) ha yok ben yaparim dersende mutlaka denemek isterim ;)



< Bu ileti mini sürüm kullanılarak atıldı >
Bu mesaja 3 cevap geldi.
S
11 yıl
Binbaşı

Bende çok merak etmiştim şuan yazılım bilgim az ama yani bi işletim sistemi yapılsa bile kim kullanıcak ? Yani yaygınlaşması çok zor ayrıca son kullanıcı windows'a alışmış bi kere vazgeçmesi zor bi durum bence .

Benimde şöyle bi sorum olucak Her hangi bi mobil işletim sistemini ( MeeGo , Android ) örneğin android'i ele alalım Bunun x sürümünü alıp kendimiz editleyebilir miyiz kendimize göre ? yada arm tabanlılar için varmı bişeyler yapmanın yolu?


Bu mesaja 1 cevap geldi.
G
11 yıl
Yüzbaşı

Androide zilyon tane ROM var bunlar dediginiz gibi androidin editlenmis halleri. Ancak meego hakkında pek bir bilgim yok. Bence eğer işletim sistemi hazırlamak istiyorsanız minix üstünde ugrasmaniz küçük ama çok mantıklı bir adim olur. Nede olsa linux minixin gelistirilmis halidir.(bildiğim kadarıyla yanlışın varsa düzeltim:))



< Bu ileti mobil sürüm kullanılarak atıldı >


Bu mesajda bahsedilenler: @Stork44
N
11 yıl
Onbaşı

https://www.reactos.org/ windows benzerı uygulamalırı çalıstıran açık kaynak kodlu

geliştirmeye açık işletim sistemi



menuetos 1 diketlik işletim sistemi acık kaynak kod
http://www.menuetos.net/screens.htm

< Resime gitmek için tıklayın >< Resime gitmek için tıklayın >



< Bu ileti mobil sürüm kullanılarak atıldı >

C
11 yıl
Yüzbaşı

quote:

Orijinalden alıntı: Sametctk

Öncelikle merhaba konuyu nereye açacağımı tam kestiremedim yanlış yere açtıysam kusura bakmayın ben sıfırdan bi işletim sistemi yazmak istiyorum duruma göre linux çekirdeği de kullanabilirim yeni bi işletim sistemi yazmak için neler gereklidir hangi adımlar izlenmelidir önerilerinizi ve yardımlarınızı bekliyorum şimdiden teşekkürler (dalga geçecek olan arkadaşlar varsa lutfen bişey yazmasınlar)

Edit:imla

sana susestudio yu tavsiye ediyorum sitesine gir kendi konfigürasyonuna göre paketleri secerek bir dagitim olustur orada sanal makinede var iso galine getirmeden once sanal makineden nasil calistigini gorebilirsin hangi paketler ne ise yariyor ogreneblirsin ve dagitimi calistiran paketlerin kaynak kodlarina bakarak en azindan bir dagitim veya isletim sistemi nasil yapilir az cok bilgi sahibi olursun simdi sana burada mesela yarim saat ders versem anlamayacaksın en iyisi deneme yanilma yontemiyle kendi basina daha iyi ogrenirsin ve ogrendigin bilgiler aklinda daha kalici olur

https://susestudio.com



< Bu ileti mobil sürüm kullanılarak atıldı >

İ
11 yıl
Yüzbaşı

Abakus ve legolarla işe başlayabilirsin



< Bu ileti mobil sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
N
11 yıl
Er

Hocam bu konuda size tavsiyem; (X86 Asm ve herhangi bir yüksek seviyeli dil bildiğinizi var sayıyorum)

-Yapamazsın diyenlere aldırmayın. Elin adamı nasıl yapıyo?
-Asm ile ms-dos veya herhangi bir işletim sistemi kesmeleri değil de (örneğin int 21), bios kesmeleri kullanman lazım (örn int 10).
-"c ile yaparsın, basic ile yaparsın" diyen arkadaşlara aldırma çünkü bunlarda yazdığın programlar işletim sisteminin kesmelerini ve segment mantığını kullanır. Eğer sistemi herhangi bir dille ve kolayca yazmak istiyorsan, yazdığın programı bios kesmeleri kullanacak şekilde çevirebilecek bir derleyici yazman lazım.
-Bunların yanı sıra algoritma olarak bir dosya sistemi tasarlaman gerek ve bir tane de ön bellek kullanım mantığı(data segment, stock segment, code segment ...).
-İlk yazacağın işletim sistemi gerçek modda olacağından sabit disk yerine disket kullan, zira işlemci kaydedicileri büyük adresleri doğrudan tutacak kadar değer alamıyolar. Korumalı moda geçtiğinde ise adresleri dolaylı olarak gösterebilirsin.
-Ve bütün yazdığın hex kodu disketin 0. sektöründen başlayarak(boot sektör) diskete yazmalısın. Bios açılışta boot sektöre bakar. Çalıştırılabilir bir kod arar. Ya da call çağrısı ile sistemin başlangıç adresine de gidebilirsin. Bios ekranına (Bios manager'dan bahsetmiyorum) "Merhaba dünya" yazabilirsen, nasıl yapacağını anlamışsın demektir.

Sana şimdilik tek gereken windows'un da içinde barınan "debug" programı. Burada assembly kullanarak ve bellek adreslerini bizzat görerek program yazabilir (-a konutu ile), kaydedebilir (cx kaydedicisine verdiğin sayı kadar uzunluğu) ve disketinin 0. sektörüne (l konutundan sonra hangi sürücünün hangi adresine ne kadar) yazma işlemi gerçekleştirebilirsin.(cmd komut isteminde "debug" yazmalısın. eğer bu debuger'ı kullanmayı bilmiyorsan internette çuvalla bilgi var.)

Kolay gelsin :)


-Son bi öneri. Sanal makine kullan.


Bu mesaja 1 cevap geldi.
E
10 yıl
Er

Abi bana o kaynak kodlarını gönderebilirmisin.
e-Mail'im:auxo2003lakr@gmail.com
Şimdiden Teşekkürler!!!


Bu mesaja 2 cevap geldi.

Bu mesajda bahsedilenler: @veli_0300
M
10 yıl
Yüzbaşı

bi deli arada kuyuya taş atıyo



M
10 yıl
Binbaşı

quote:

Orijinalden alıntı: Emreqwertypc

Abi bana o kaynak kodlarını gönderebilirmisin.
e-Mail'im:auxo2003lakr@gmail.com
Şimdiden Teşekkürler!!!

Gözlerim bozuldu.



Z
10 yıl
Er

fatihguvenn@hotmail.com
Kodları banada gönderebilirmisiniz?

Şimdiden çok teşekkürler



< Bu ileti mobil sürüm kullanılarak atıldı >


Bu mesajda bahsedilenler: @veli_0300
D
10 yıl
Yüzbaşı

Dostum Açık Konuşalım Yazamazsın. Ama Bir Dosya Yöneticisi Yazabilirsin.
C# ta System IO ile..
Çokta Zevklidir Tavsiye Ederim :)



< Bu ileti mini sürüm kullanılarak atıldı >