Gönderen Konu: Programları yazan Programlar nasıl yazılıyor  (Okunma sayısı 14143 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı Arif Osmanoğlu

  • Deneyimli
  • ***
  • İleti: 2411
    • Profili Görüntüle
Programları yazan Programlar nasıl yazılıyor
« : Temmuz 17, 2005, 21:46:27 ÖS »
Bu programlar nasıl yazılıyor, donanımsal bir şey mi nedir ya :D

Mesela C 'yi ele alalım C adlı programlama dili nasıl donanıma kabul ettiriliyor, biraz bilgi alabilirsem çok mutlu olacağım.


  • 3D Generalist

Çevrimdışı Gokhan Sonmez (LW3D)

  • Boş İşler Bakanı
  • Uzman
  • *****
  • İleti: 4819
    • Profili Görüntüle
    • http://www.gokhansonmez.com
Programları yazan Programlar nasıl yazılıyor
« Yanıtla #1 : Temmuz 18, 2005, 14:24:58 ÖS »
Bilgisayarın anladığı 1'ler ve 0'lardır diye yıllardır söylenir durur :) Yani bilgisayar üzerindeki en küçük birimlerin, açıp (1) kapatılarak (0) çeşitli işlemler yerine getirilir. Bu temel olarak makina dili olarak adlandırılır ve biraz daha anlamlı bir dil olan Assembler yine sınırlı sayıda komutla bilgisayarı yönlendirmemizi sağlar. Üst seviye diller olan Basic, C, C++, Pascal vb. ise kullanıcının girdiği komut ve bilgileri, bilgisayarın anlayacağı bu 1 ve 0'lara dönüştürür.

Mesela ekrana bir resim getirdiğinizi var sayalım. Bu resim ekran kartı üzerindeki hafızaya yerleşiyor. İlk piksel yakılıyor, o pikselin hangi renk olduğunu ifade eden başka hafıza bölgeleri yakılıyor (minik ampul gibi düşünebilirsiniz). Bu sayede minik ampullerin yanmasıyla ekranda görüntü oluşuyor.

Siz tabii ki bunu gerçekleştirirken bu tür alt seviye işlerle uğraşmıyorsunuz. Kullandığınız programa komutu veriyorsunuz, gerisini program hallediyor. Yani siz atıyorum Show "sinefx.jpg" dediğinizde, program sinefx.jpg resmini veri olarak alıyor. Hemen resmin baş tarafından ne büyüklükte bir resim olduğunu, kaç renk olduğunu vs. öğreniyor, daha sonra bilgisayarın ilgili birimine (mesela ekran kartındaki) yanmamış olan küçük birimlere (deminki örnekte dediğim gibi Ampul olarak kabul edelim. hangi ampullerin yanıp, hangilerinin sönük olduğunu 1 ve 0 ile anlatıyor. Eğer siz Print "sinefx.jpg" derseniz (yine attım tabii ki), bu sefer program bunun printerdan basılacak bir resim olduğunu anlıyor. Bu sefer printer'ın kafasına nerede 1 (yani basacağını) nerede 0 yani basmayacağını bildiriyor.

Kısaca söylersek donanım 1 ve 0'dan anlar. C ve benzeri dillerde sizin girdiğiniz komutları, bilgisayarın ilgili birimlerinin en küçük yapı taşlarına bu 1 ve 0'lar olarak yollar.

Not: Umarım çok teknik hatalar yapmadan anlatabilmişimdir.

Çevrimdışı Arif Osmanoğlu

  • Deneyimli
  • ***
  • İleti: 2411
    • Profili Görüntüle
Programları yazan Programlar nasıl yazılıyor
« Yanıtla #2 : Temmuz 18, 2005, 14:42:01 ÖS »
Evet çok güzel bilgiler teşekkür ederim abi, açık ve kapalı devrelerden oluştuğu bildiğimiz bir gerçek 8 bit bir byte,
mesela benim öğrenmekistediğim C'yi ele alalım ilk olarak kim yazmış bu  programlama, dilini nasıl tanımlatmış bu komutları, yani mors alfabesi gibi  veya daha doğrusu açık kapalı devre :00110101 11010001
  • 3D Generalist

Çevrimdışı osman safi (herbap)

  • Uzman
  • ****
  • İleti: 6931
    • Profili Görüntüle
    • ortaya karisik
Programları yazan Programlar nasıl yazılıyor
« Yanıtla #3 : Temmuz 18, 2005, 16:53:17 ÖS »
bi yerlerde okumustum, bilgisayar tarihcesi ile ilgili bir yazi... ya ya kitabin bir bolumu yada belgesel idi... orada biraz bahsedilmisti, ama nereden hatirlayacamda nereden bulacam

muhtemelen "programing / history..." gibi kelimeleri aratirsan gelecektir... google 'dan

yada wikipedia 'miydi oyle bi online ansiklopedi vardi, oradada vardir kesin bisiler...
  • 3D Generalist

Çevrimdışı sistem

  • Yeni Üye
  • *
  • İleti: 4
    • Profili Görüntüle
    • http://www.sistemelektronik.com
Programları yazan Programlar nasıl yazılıyor
« Yanıtla #4 : Temmuz 19, 2005, 22:45:54 ÖS »
merhaba
C nin gelişim tarihi unix ile başlamıştır..(tabi ünix e baglı bir dil olmadığı için hala revaçta değişik platformlarda da uygunana bilir)

öncesinde B dili vardı B dili byte düzenlememli bir dilldi.
yani bir bit kaydır indir vs (usanır adam ben biliyrum hex. ile yazmak zorunda kalmıştım ilk mcu'ma)...
bu dilin ayrıca yorumlaması çok yavaştı.
B yi bu ve bunu gibi özelliklerden kurtarmak için C geliştirildi..

 C ile ilgili Bu çalışmalar 1971 yılında başlamış olup
Bell loboratuarlarında 1972 de Dennis Richie Tarafından geliştirilmiştir.
 C dilinin komut kümesini Dennis Richie ilk olarak 27 anahtar kelime ile tanımlamıştır.  :P  daha sonraları derleyici geliştiren Firmalar bu dile standart olmayan bazı komutlar eklemişlerdir. günümüzde bu hale geldi.
C ile programlama yapar ken 27 veya şimdiki hali ile Geliştirilmiş fonksiyon kütüphaneleri kullanılır bu yüzden her yerde dll vs.. vardır

kısaca C hem sistem programlamak için düşük seviye mpu ya yakın komutları uygulaya billen hemde gelişmiş kütüphanesi kulanılarak yüksek seviyeeli dillere yakın bir dil oldu .
kullanım amacına göre hitap eden bir dildir.
C ile il tanışanlar bu gelişmiş kütüphaneyi görünce  :shock:  olular  :D
o yüzden çogu kimse bu kütüp haneleri ezberlemektense gidip yüksek seviyeli bir dil kullanıyım der.. ama ne kacırdıgını bilmezler .

bu konu daha uzar en iysi burda kesmek .
 :)
www.sistemelektronik.com

Çevrimdışı sistem

  • Yeni Üye
  • *
  • İleti: 4
    • Profili Görüntüle
    • http://www.sistemelektronik.com
Programları yazan Programlar nasıl yazılıyor
« Yanıtla #5 : Temmuz 19, 2005, 23:09:01 ÖS »
ilk sorunun cevabı daha uzun ama kısaca anltmaya çalışırsam.

Olay elektronik ten başlar nasılmı ?
bir micro işlemci ilk çalıştıgında  mpu yu üreten firmanın istedigi işleri yapar.. ne bunlar (bir kısmı)
Sistemi açılış konumuna getirip. ilk (adresi ) degeri okumak olur.
bu adreste ne vardır genelde bir program ama nerde ram da değil
rom da rom programı başlar çalışmaya güzel güzel ANA board üreticisinin dediği işleri yapar. bi ara bakar AAAaa hd var dur şu hd yi okuyim der  :)  
Hd yi  okur (nasıl okur orası uzun iş) ilk yüklenicek programı bulur
bu program işletim sistemi dir Dos linux windows vs..
iste sen eger kendi işletim sistemini yazabilirsen ayrı bir pc de .
hd ye koyarsın ve artık senin işletim sistemin açılır. nasıl heyecan verici dimi..  :lol: hatta kendi board unu üretip biosunu bile kendin yazarsan olur.
bu döngü böyle sürüp gider o program onu çagrır bu  program bunu çagırır
aslıbda hepsi micro işlemcinin adres ve veri uçlarında olan o anki komut veya veridir . sonuçta hepsi 1 ve 0 a döndürülerek işlemciye teslim edilir.
örnegin bir işletim sistemi  senin yazdıgın exe programı çalıştırır bu programda derleyicinin ona sundugu iç programla senin yazdıgın işlemleri yaptırır fakat bunu işletim sistemi aracılık yaparak denetler ve işlemciye gönderir diyelim daha fazla kasmayalım ...

iyi çalışmalar...

www.sistemelektronik.com

Çevrimdışı Arif Osmanoğlu

  • Deneyimli
  • ***
  • İleti: 2411
    • Profili Görüntüle
Programları yazan Programlar nasıl yazılıyor
« Yanıtla #6 : Temmuz 20, 2005, 11:25:31 ÖÖ »
Çok teşekkürler Sistem verdiğin bilgiler için, demekki bilgi paylaşıldıkça çoğalıyormuş :) İnsanoğlunun yaptığı her şey gibi buda birbiri üzerine inşa edilerek bugunkü duruma gelmiş insalık büyük bir termit kolonisi gibi sürekli bir şeyler üretiyor her yapı taşının üzerine bir taş konularak insanlık ortaya çıkıyor bakalım nereye kadar :).

İlginiz için tekrar teşekkürler.
  • 3D Generalist

Çevrimdışı Bin_Hazad

  • Yeni Üye
  • *
  • İleti: 12
    • Profili Görüntüle
Ynt: Programları yazan Programlar nasıl yazılıyor
« Yanıtla #7 : Kasım 19, 2009, 16:10:18 ÖS »
sistem arkdasıma katılıyorum.  olayı guzel ızah etmıs...