Kullanıcı

Hoşgeldiniz Ziyaretçi. Lütfen giriş yapın veya kayıt olun.
E-posta adresinize aktivasyon iletisi gelmediyse lütfen buraya tıklayın.
30 Temmuz 2010 09:31:07

Kullanıcı adınızı, şifrenizi ve aktif kalma süresini giriniz

Sohbet Penceresi

Son 5 Notlar:

09 Temmuz 2010 15:09:00
merhaba arkadaÅŸlar ilk defa bi soru soracam
son olarak üzerinde çalıştığım bi proğramda sorun var
datadan belirli bi kritere göre arama yapıyor bunlardan çift olanları teke düşürüp gride nasıl yazdıra bilirim
örnek vererek anlatırsam daha sağlam olur sanırsam

datadan k
10 Temmuz 2010 03:07:46
GÜZEL SİTE SEVDİM ;D
14 Temmuz 2010 14:45:20
aloo nasılsınız...
15 Temmuz 2010 18:16:38
 maske msnden bi konuÅŸalım kanky.
17 Temmuz 2010 15:16:16
ınterbase procedure soruma cevap verecek sevgili bir kul yokmu arkadaşlar ?

Show 50 latest

Gönderen Konu: İşletim Sistemi Yapın  (Okunma sayısı 4473 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı Subhan

  • Kıdemli Üye
  • *****
  • İleti: 818
  • Rep: +1/-0
  • Cinsiyet: Bay
İşletim Sistemi Yapın
« : 24 Kasım 2008 14:11:49 »
Bir Siteden Alıntıdır

Isletim Sistemi Yazma
--------------------------------------------------------------------------------
Bir isletim sistemi yazmak isteyenlerin dikkatine...
Bu yazim da size basit bir isletim sistemi nasil yazilir diye gösterecegim.
NOT: Ne yazik ki isletim sistemimiz Windows yadar Linux gibi tam bitmis ve onlarla yarisacak kadar iyi olmayacak. Zaten bitmis bir isletim sistemini buraya yazamazdim cünkü o zaman bu döküman yeni baslayanlar icin degil profosyoneller icin olurdu!
Hangi Dil?
--------------------------------------------------------------------------------

Isletim sistemini aslinda C/C++ da yapmak isterim, ama mesela ekrana girdi vermek istedigimde bunun icin gerekli olan "printf" komutunu cagirmam gerektigini varsayalim. O zaman <stdio.h> adindaki baslik dosyasini kullanmam gerekmekte.Ama sorun her basligin C/C++ derliyicileri tarafindan belli isletim sistemler(yada belli sistemler) icin tasarlandigi icin ne yazikki C/C++ dillerini cekirdegi yazarken kullanmayacagim fakat sonradan isletim sisteminin devamini C/C++ ile yazabilirsiniz.

Söyle düsük seviyede Assembler bilginiz olmasi sizin cekirdegi daha iyi anlamanizi saglayacaktir...

Gerekenler


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

1.Netwide Assembler (NASM)
2.RaWrite yada Diskete Imageleri yazacak baska bir program.
3.Bos bir disket.
Buraya Dikkat!
--------------------------------------------------------------------------------

Size söylemem gerekirki Assembler ile cok sey yapilabilir(yada cok sey yanlis yapilabilir).Bu bilgisayariniza gelebilecek herhangibir zarar benim degil, sizin sucunuzdur!
Basliyoruz
--------------------------------------------------------------------------------

Bir isletim sisteminin nasil calistigini anlamak icin, önce bir bilgisayarin nasil calistigini iyi anlamak gerekir. Burada kisaca söylüyorum ki, önce bilgisayar acilir, hemen BIOS devreye girer ve denetimler yaptiktan sonra isletim sistemini cagirir. BIOS hangi sürücünün önce "BOOT" lanacagini belirler. Isletim sistemini önce yerel sürücüde arar. Biz isletim sistemimizi diskete yazacagiz.
Simdik kodlari yazmaya basliyalim;
--------------------------------------------------------------------------------

Ilk Kernel:
Tabiki bir Kernel sadece bir mesaj ekrana yazip sistemi yeniden baslatmak la kalmaz ama böyle bir kod yapiyi anlamak icin kolaydir:
--------------------------------------------------------
mov ax, 1000h
mov ds, ax
mov es, ax

start:        ; Burda gercek anlamda isletim
              ; sistemimize basliyoruz.
mov si, msg   ; hemen bir string gösteriyoruz
call put

call read     ; "oku" bir tusa basilana kadar bekler
jmp reset

msg db "Yeniden baslatmak icin bir tusa"
      db "basin!",13,10,0

put:
lodsb
or al, al
jz short put_d
mov ah, 0x0E
mov bx, 0x0007
int 0x10
jmp put

put_d:
retn

read:
mov ah, 0
int 016h
ret

reset:
db 0Eah
dw 0000h
dw 0FFFFh
---------------------------------------------------------
Dosyayi kernel.asm diye kaydettikten sonra;
nasm –f bin –o kernel.bin kernel.asm 
seklinde derlenmelidir.
Bir BOOTMANAGER
--------------------------------------------------------------------------------

BIOS ilk acildiginda 512Bytes boyutunda bir OP-Code arar ve BIOS bu dosyayi 0x7C00 adresine yükler.
-----------------------BOOT.ASM--------------------------
org 0x7C00 ; Öncelikle dosyanin adresini ayaliyoruz.

start:
cli                  ; Interrupts kullanma!
mov ax, 0x9000       ; Stack adresini kayit etme
mov ss, ax           
mov sp, 0            ; Stackpointer' 0 lamak
sti       

mov [bootdriv], dl
call load ; Kernel i yükleme

mov ax, 0x1000       ; 0x1000 Shell' in adresi
mov es, ax
mov ds, ax
push ax
mov ax, 0
push ax
retf

bootdriv db 0
loadmsg db "Sistem Yükleniyor...",13,10,0

putstr:
lodsb
or al,al
jz short putstrd
mov ah,0x0E
mov bx,0x0007
int 0x10
jmp putstr
putstrd:
retn

load:
push ds
mov ax, 0
mov dl, [bootdriv]
int 13h
pop ds
jc load

load1:
mov ax,0x1000
mov es,ax
mov bx, 0
mov ah, 2
mov al, 5
mov cx, 2
mov dx, 0
int 13h
jc load1
mov si,loadmsg
call putstr
retn

;Programin 512 Bytes dan büyük olmamasi icin...
times 512-($-$$)-2 db 0
dw 0AA55h ; Bu da BIOS sa bitis talimatini verir
----------------------------------------------------
nasm –f bin –o boot.bin boot.asm seklinde de dosya derlenmelidir.

Simdide isletim sistemimizi Diskete yükleyip calistirmak icin;

copy boot.bin+kernel.bin vitaxia.img

Seklinde iki dosyayi birlestiriyoruz.
Son olarak da RaWrite programi ile bu img dosyasini diske yaziyoruz. Disketi sokup bilgisayari yeniden baslattigimizda isletim sistemimiz calisacaktir.
Son olarak tabi ki bunu hepsi sadece bir örnek, nasil bir isletim sistemi yapabilecegimize dahil.
Herkese iyi calismalar...
En Güzel Azeri Programlama Sitesi.

Proqramlasdirma.Com

Çevrimdışı hayati

  • Administrator
  • *****
  • İleti: 821
  • Rep: +19/-3
  • Cinsiyet: Bay
Ynt: İşletim Sistemi Yapın
« Yanıtla #1 : 24 Kasım 2008 14:49:17 »
Subhan makale için teşekkür ederiz.

Bir siteden alıntıdır yerine daha açık şekilde www.programlama.com sitesinden Anıl ÖNER adlı üyeye ait'tir desen daha iyi olur(du), telif bir yana emeğe saygı da bunu gerektirir, tekrar teşekkürler.

Çevrimdışı Subhan

  • Kıdemli Üye
  • *****
  • İleti: 818
  • Rep: +1/-0
  • Cinsiyet: Bay
Ynt: İşletim Sistemi Yapın
« Yanıtla #2 : 25 Kasım 2008 14:26:17 »
Subhan makale için teşekkür ederiz.

Bir siteden alıntıdır yerine daha açık şekilde www.programlama.com sitesinden Anıl ÖNER adlı üyeye ait'tir desen daha iyi olur(du), telif bir yana emeğe saygı da bunu gerektirir, tekrar teşekkürler.

Bir Anlık Telif Haklarını Unutmuşum
Ancak çok güzel bu kodlarla ben kurcalanayayım bakalım ne çıkıcak ne zamandır bunu bekliyordum
En Güzel Azeri Programlama Sitesi.

Proqramlasdirma.Com

Çevrimdışı terminater

  • Yeni Üye
  • *
  • İleti: 3
  • Rep: +0/-0
Ynt: İşletim Sistemi Yapın
« Yanıtla #3 : 30 Kasım 2008 20:32:08 »
Yaklaşık 3-4 yıldır var bu kodlar eger assembler iniz netwide olmazsa sorun çıkarıyor diye biliyorum

Çevrimdışı Meraklı

  • Üye
  • ***
  • İleti: 31
  • Rep: +0/-0
Ynt: İşletim Sistemi Yapın
« Yanıtla #4 : 11 Aralık 2008 15:29:01 »
Daha Geniş bir döküman bulursan ekler misin Cnm , tskler ..

Çevrimdışı Meraklı

  • Üye
  • ***
  • İleti: 31
  • Rep: +0/-0
Ynt: İşletim Sistemi Yapın
« Yanıtla #5 : 11 Aralık 2008 15:37:34 »
C# ile iÅŸletim sistemi yazılabilirme ?  ??

Çevrimdışı basf

  • Yeni Üye
  • *
  • İleti: 4
  • Rep: +0/-0
Ynt: İşletim Sistemi Yapın
« Yanıtla #6 : 14 Aralık 2008 17:48:17 »
@Meraklı çoğu işletim sistemi C#(c sharp) ile yazılmıştır unutma bunu

Çevrimdışı dameon

  • Kıdemli Üye
  • *****
  • İleti: 235
  • Rep: +5/-1
  • Cinsiyet: Bay
Ynt: İşletim Sistemi Yapın
« Yanıtla #7 : 14 Aralık 2008 23:01:20 »
İlk mesajda verilen MSDOS işletim sisteminin kaynak kodları , yani sıfırdan benzersiz bir işletim sistemi değil.O yüzden işletim sistemi yazmak bu kadar kolay gelmemeli insanlara...

:D :D :D BIOS ilk acildiginda 512Bytes boyutunda bir OP-Code arar ve BIOS bu dosyayi 0x7C00 adresine yükler. ;D ;D ;D
« Son Düzenleme: 14 Aralık 2008 23:07:28 by dameon »

Çevrimdışı SsEeRrCcAaNn

  • Kıdemli Üye
  • *****
  • İleti: 649
  • Rep: +5/-0
  • Cinsiyet: Bay
  • Sanırım Bu sefer Sevmeye DeÄŸer Birini Buldum..
Ynt: İşletim Sistemi Yapın
« Yanıtla #8 : 14 Aralık 2008 23:23:42 »
İlk mesajda verilen MSDOS işletim sisteminin kaynak kodları , yani sıfırdan benzersiz bir işletim sistemi değil.O yüzden işletim sistemi yazmak bu kadar kolay gelmemeli insanlara...

:D :D :D BIOS ilk acildiginda 512Bytes boyutunda bir OP-Code arar ve BIOS bu dosyayi 0x7C00 adresine yükler. ;D ;D ;D

Yanlış anlamayın ama Birşey diyecem Sanırım bu Konuya Kapak oldu..:)
Artık bir insanın önüne bir bilgisayar koyarak onu daha üretici yapamıyoruz. O günler geride

Çevrimdışı Meraklı

  • Üye
  • ***
  • İleti: 31
  • Rep: +0/-0
Ynt: İşletim Sistemi Yapın
« Yanıtla #9 : 15 Aralık 2008 04:29:21 »
@Meraklı çoğu işletim sistemi C#(c sharp) ile yazılmıştır unutma bunu

Olurma? C# için Framework gerekmezme?  anlamadım ÅŸimdi  .
Anladım kadarıyla winwods & linux C,C++ ile yazıldı ...

Çevrimdışı basf

  • Yeni Üye
  • *
  • İleti: 4
  • Rep: +0/-0
Ynt: İşletim Sistemi Yapın
« Yanıtla #10 : 15 Aralık 2008 15:35:37 »
c# her bilgisayarda compile edilebilir. do u understand ?

Çevrimdışı basf

  • Yeni Üye
  • *
  • İleti: 4
  • Rep: +0/-0
Ynt: İşletim Sistemi Yapın
« Yanıtla #11 : 15 Aralık 2008 15:38:57 »
@Meraklı çoğu işletim sistemi C#(c sharp) ile yazılmıştır unutma bunu

Olurma? C# için Framework gerekmezme?  anlamadım ÅŸimdi  .
Anladım kadarıyla winwods & linux C,C++ ile yazıldı ...

ayrıca c# geleceğin programlama dilidir. işte sana açık kaynak kodlu bir c# işletim sistemi sitesi

http://www.codeplex.com/singularity

Çevrimdışı Meraklı

  • Üye
  • ***
  • İleti: 31
  • Rep: +0/-0
Ynt: İşletim Sistemi Yapın
« Yanıtla #12 : 16 Aralık 2008 02:39:10 »
Basf  çok tÅŸk ederim , bende C# öğreniyorum ....

Çevrimdışı Meraklı

  • Üye
  • ***
  • İleti: 31
  • Rep: +0/-0
Ynt: İşletim Sistemi Yapın
« Yanıtla #13 : 16 Aralık 2008 02:39:43 »
c# her bilgisayarda compile edilebilir. do u understand ?

Thanks, good luck

Çevrimdışı ozan_007

  • Üye
  • ***
  • İleti: 42
  • Rep: +0/-0
Ynt: İşletim Sistemi Yapın
« Yanıtla #14 : 07 Nisan 2009 14:02:08 »
oldukça zor gelıyo ellerıne saglık dostum