Konuyu tam anlamıyla anlamak için öncelikle belirtmeliyim ki matematik ve özellikle BOOLE cebri bilinmelidir.
NOT: Bilgilerim uzun yıllar öncesine dayalı olduğu için matematiksel hatalarım olabilir.
[/url]
Yukardaki şekilde anlatımın basit olması açısından sadece 8 bitlik bir örnek sunulmuştur. Günümüzdeki bilgisayarlar 64 bit sistem tabanında üretildiği için sayıları 64 bit ya da 32 bit e kadar genişletmeliyiz.
Öncelikle bilinmelidir ki bit meselesi sadece donanımla ilgili olmayıp yazılımla da ilgilidir. Yazılımla ilgisini öncelikle basit bir şekilde açıklayalım.
Örnek şekilde görüldüğü üzere 8 bitlik bir sistemde 10 luk sayı sistemine göre alabilecek en yüksek değer 256 olacaktır.
Peki bir yazılım 4 bitlik sisteme göre yazılmışsa o zaman ne olur.
İşte arkadaşlarımızın yazılımlar konusunda karıştırdığı en büyük şey budur. 4 bitlik sisteme göre hazırlanmış bir yazılım 8 bitlik sistemde çalıştırıldığında soldan itibaren ilk sayı haneleri 4 adet sıfır olacak şekilde işlem görür. Yani 4 bitlik sistemle tek satırlık bir komut yazmışsak ve bu komutun değeri örneğin 1111 ise 8 bitlik sistemde bu komut satırı 00001111 şeklinde işlenecektir.
İşte 32 bitlik bir işletim sistemini 64 bit destekli bir bilgisayarda çalıştırabilmemizin nedeni budur. Tabiiki sadece olay işletim sistemi değildir. Virüsler dahil çalışan tüm programlar aynı mantıkla aynı sistem ile çalışacaktır.
Diğer bir unsur ise neden ramlar 32 bitte 3.25Gb görünüyor da 64 bitte daha fazla görünüyor olayı. Bu olay şekildeki onaltılık sistemin alabileceği en yüksek değer çarpanı ile bulunmaktadır. Yani adreslenebilir bellek miktarı. İşte bizler 32 bitlik bir sistemde kullanmakta olduğumuz ramlarin sadece 3.25 GB olan bölümünü adresleyebiliyoruz. Adresleme ise işlemcinin kullanmakta olduğu veriyolları adeti ile ilgilidir. Bu veriyollarından verilen komutlar belli adresleme esasına göre işlendiği için işlemci ancak bu kadar adresi işleyebilmektedir.
[url=http://img838.imageshack.us/i/cputn.jpg/]
İkinci unsur ise donanım adreslemesidir. Sadece işlemcinin değil işlemciye bağlı tüm arabirimlerin de aynı veriyolu ile haberleşmesi gerekmektedir. Diğer donanımlar band genişliği açısından daha yüksek veriyolu genişliğine sahip olabilir ancak, özel CIA (complex interface adaptor) olmadan daha alçak veriyolu bağlantısına sahip donanımlar kullanılamaz.
Şekilde yıllar öncesinden alınmış Z80 CPU devresinin basit şematiği görülmektedir.
32 64 BiTLER BÖCÜKLER MESELESİ
- 1
- 2
Eline sağlık abim güzel çalışma
32 bit işeltim sistemleri ram de 3.200.000.000.000 bit ile ifadelenir. Maksimum sayma sınırı budur.
64 bitte ise ram sayma sayısı 6.400.000.000.000 bit tir ve maksimum sayma sayısıdır.
64 bit ile yazılmış bir programın 32 bitte çalışma şansı malesef yoktur. 32 bit sürümü olmalıdır.
32 bit yazılımın 64 bitte ile çalışma şansı vardır.
64 bit işletim sistemleri daha detaylı şifrelemeye girere ve devreyi daha verimli kullanır. Buda şifrelemenin teknik detayları yer alır.
32 bit işletim sistemi 64 bite na zaran çok az bir verim kaybıyla karşımıza çıkar bundada şifreleme tekniği yer almaktadır.
Örnekle anlatmak gerekirse 22050 hz değerlerindeki şarkının ses değerleriyle 44100 hz li şarkının ses değerlir farklıdır ve ses kaliteleride farklıdır.
Şifreleme büyüdüğünde boyutta otomatik artar.( %3 ile %5 arasında bir fark oluşabilmektedir.)
Devrenin 64 bit olması ile 32 bit olması arasındaki farklardan biride elektirik kullanımda oluşur.
64 bit işletim sistemi günde 20 wolt enerji tüketiyorsa 32 bit işletim sistemi 18 wolt enerji tüketir.
Bunda en büyük etken şifreleemlerle artan devre tekrarlarının ve kaliteleştirmenin etkisi vardır.
64 bit ile 32 bit işletim sistemleri arasında hız konusunda yada kullanış açısında bir fark yoktur. aynı bilgisayara 64 bit kurduğumuzdada aynı hızı ve performansı alırız 32 bit kurduğumuzdada.
Şimdilik (2012) 64 bit işletim sistemi bizi %20 daha fazla virüslerden koruyabilmektedir nedeni ise 32 bit virüslerin bazılarının 64 bit desteğinden mahrum olmasıdır.
Yine de belirtmeliyim ki bu meseleyi öğrenmek çok basit değildir. Ara donanımlar ki şekilde görülen
SHIFT-REGISTER (Ötelemeli kaydedici) bilgisayarlarda oldukça önem taşımaktadır. Shift registerler günümüzdeki işlemcilerin içinde bile oldukça fazla kullanılan devrelerdir. Bu devrelerin çalışma mantığını öğrenebilirsek bilgisayar mantığını yarı yarıya çözmüşüz demektir.
[URL=http://img707.imageshack.us/i/registerob.jpg/][/URL]
haci naptinya cok bilimsel konustun uzmanlar haric bunu anlamazlar.Yinede ellerine saglik.
Kesko arkadaşımız biliyordur.
Hadi adamım ecik anlat ta veri akışları ve komut işlemeleri konusunda ecik bilgilenelim.
Yok abim veri akışı falan fazla bilgim yok ama sen benden çok daha ileridesin bu konuda sen anlat biz bilgilenelim
Zamanı gelince bizde anladığımız konularda paylaşım yaparız tebrik ediyorum hakkaten zor öğrenilen bilgiler
bunlar..
Sen bilgilerini yaz ben okuyorum ses çıkarmadan
Yok abim veri akışı falan fazla bilgim yok ama sen benden çok daha ileridesin bu konuda sen anlat biz bilgilenelimFazlaca sessiz kalma. Aklına takılan herşeyi sormazsan kulağını kuyruğunu çekerim haaa..:D
Zamanı gelince bizde anladığımız konularda paylaşım yaparız tebrik ediyorum hakkaten zor öğrenilen bilgiler
bunlar..
Sen bilgilerini yaz ben okuyorum ses çıkarmadan
Ben de fırsat buldukça birşeyler yazacağım elbette.
Şimdi yemeğe çığırıyorlar gitmezsem dövecekler beni.
Makina dili editör programı arıyorum arkadaşlar. Bulabilirsem yazılımların bilgisayar da nasıl bir yol izlediğini sizlere göstermek istiyorum.
Yukardaki ilk şematiğimde gösterdiğim üzere 16 lık sayı sisteminde alabileceği değerleri belirtmiştim. Peki bu değerler nedir ve neyi ifade eder. Şimdi bunu açıklamaya çalışayım.
Her türlü yazılım (programlar sürücüler vs.) Bu bellek adreslerine adreslenir. Adreslenen bu bilgiler gerek exequtable olarak gerekse DLL komut dizeleri şeklinde çalıştırılabilir. Ancak biliriz ki exe uzantılı dosyalar bizim elle çalıştırabileceğimiz gibi sistem tarafından otomatik olarak ta çalıştırılabilir. DLL dosyaları ise komut kümeleri olup sadece sistem tarafından çalıştırılabilir dosyalardır.
Örnek olarak, basit bir şekilde bu adreslemeyi saçma bir program yazarak anlatmaya çalışayım..
0000 = 00 0A FA AA AF FF 41 00 = CLS = CLEAR SCREEN
0001 = AA FF DA 41 0A 00 02 10 = RTN = RETURN
0002 = FA 20 FF AA 15 23 00 54 = LD = LOAD
0003 = AA 2A DA 43 D4 FE 42 DD = LDA = LOAD AKÜMÜLATÖR (YIĞIN)
....
....
....
FFFF = XX XX XX XX XX XX XX XX =
Burada anlatılan ilk satırda 4 lü kullanılan sayıların anlamı belleklerin adres yazımıdır. Yani belleklerin adreslerine verilen kapı numaralarıdır. Bu numaralara işlemci sırasıyla erişerek ikinci bölümde 2 şer haldeki yazılmış 8 satırlık ve 16 lık sistemde yazılmış olan komut dizisine ulaşarak uygulamayı yapar. Bu komut dizisinin elbette bir açıklaması vardır ve belli bir mantığa göre yazılırlar. Anlamları 3 hane lik harflerle belirtilmiş ASSEMBLER karşılığıdır ve son satırda bu komutun basic açıklaması vardır.
Şimdi diyeceksiniz ki bize ne bunlardan şimdi program mı yazalım yani.
Ama unutmayın ki bilgisayarımız bu mantığa dayanır ve sürücüler dahil tüm yazılımlar bu şekilde yazılır. Bizler bu durumu aşşağıdaki örnek şekile dikkatli bakarsak bir yazılımın hangi adreslerde çalıştığını görebiliriz.
[URL=http://img16.imageshack.us/i/creadres.jpg/][/URL]
Şekildeki adresler benim bilgisayarımda kullanılan creative ses kartının sürücülerinin yüklenmiş olduğu adresleri göstermektedir. Bu adresleri başka bir donanım ya da yazılım kullanacak olursa alttaki ibarede çakışma olacağını görürüz. Bu yüzden ses kartı sürücümüz çalışmaz ve bilgisayarımız yanıt veremez duruma gelebilir.
Yaf o kadar yazdık çiziktirdik. Kimseler okumadı mı. Okuduysa anlamadı mı. Anlamadıysa neden sormuyolar. Anladıysalar neden kafasını sallamıyorlar.
Kesko nerelerdesin.
Abim buralardayım çalışman güzel olmuş ellerine sağlık
Yalnız bir şey dikkatimi çekti misal vermek gerekirse bunu gerçekten yaptım aslında .dll dosyaları sistem tarafından çalıştırılır demişsin radyo programı var bende bunun bas.dll adlı dosyasını bulunduğu dizinden kestim farklı bir bölüme yapıştırdım kısayoldan aç komutu verdiğimde program sisteminizde bas.dll eksik olduğundan başlatılamıyor diye uyarı verdi..
Şimdi bu .dll dosyalarına kendimiz ekleme yapsak yani dosya üzerinde biraz değişiklik yapsak olurmu sence veya ne gibi sorunlar açar,tabi dosyada değişiklik yapmak için yazılımdan anlamak gerek bu konularda ne gibi önerilerin olabilir bana ?
Ayrıca güzel bir anlatım olmuş tebrik ediyorum..
Baştan aşağıya güzelce inceledim diğer arkadaşlarada tavsiye ederim..
Abim buralardayım çalışman güzel olmuş ellerine sağlıkBelirttiğim gibi DLL dosyaları bazı komutlar içeren ve sistem ya da sistem içerisindeki bir program tarafından gerektiğinde çalıştırılabilen komut dosyalarıdır.
Yalnız bir şey dikkatimi çekti misal vermek gerekirse bunu gerçekten yaptım aslında .dll dosyaları sistem tarafından çalıştırılır demişsin radyo programı var bende bunun bas.dll adlı dosyasını bulunduğu dizinden kestim farklı bir bölüme yapıştırdım kısayoldan aç komutu verdiğimde program sisteminizde bas.dll eksik olduğundan başlatılamıyor diye uyarı verdi..
Şimdi bu .dll dosyalarına kendimiz ekleme yapsak yani dosya üzerinde biraz değişiklik yapsak olurmu sence veya ne gibi sorunlar açar,tabi dosyada değişiklik yapmak için yazılımdan anlamak gerek bu konularda ne gibi önerilerin olabilir bana ?
Ayrıca güzel bir anlatım olmuş tebrik ediyorum..
Baştan aşağıya güzelce inceledim diğer arkadaşlarada tavsiye ederim..
Şöyle açıklayalım.
Bir ses dinliyoruz. Bu ses nasıl bize bilgisayardan ses olarak analiz edilip gerekli işlemler yapıldıktan ve gerekli yolları takip ettikten sonra ses olarak ulaşıyor. İşte bu basit olayın uygulanması esnasında gerek işlemci gerek chipset gerek se ses kartı işlemcisi birçok DLL komutlarını sırasıyla işleme koyar ve uygular.
Eğer bizler bilinçsizce DLL dosyasını değiştirirsek rotasında giden bir uçağı yere doğru ya da uzaya doğru yönlendirmiş olabiliriz. Hatta yönlendirmekten ziyade hem sağa hem sola hem aşağı hem yukarı git der gibi de komut vermiş olabiliriz. İşte bu komutlar bizim dediğimiz gibi makina tarafından algılanamaycağı için kafası karışacak ve hata yapacaktır. Aynı şekilde DLL dosyasını silmek te hiç yönerge vermemek anlamına gelecektir.
Bir DLL dosyası yazmak için öncelikle önceki resimlerde göstermiş olduğum Z80 basit işlemci devresini tam anlamıyla kavramaktan geçer. Biz bu işlemciye makina kodu kullanarak istediğimiz şeyleri yaptırabiliyorsak DLL dosyalarını yazabiliyoruz anlamına gelmektedir.
Aynı mantıkla giderek günümüz işlemcilerini (ses işlemcisi CPU veya GPU) istediğimiz şeyleri yaptırabiliyorsak (makina dilinde) DLL dosyası yazmış oluruz.
Pekala şimdi kim cevap verecek.
8 bitlik sistemde adresleyebileceğimiz ram miktarı ne kadardır.
İnsan hiçolmazsa 4 böcüklü sistemi öğrenir.Hım abim örenecem bak sana söz veriyom biraz sen öğretecen birazda aaraştırıp sokacam kafama bu bilgileri
32 bitte cirit atıp 64 bite dil çıkartıp yalanıyorsak en temeli 4 bitten başlamak lazımdır.
Hem daha ASCII karakterlerine bilem gelmedik
- 1
- 2