Yükleyici (Loader)

Yazan : Şadi Evren ŞEKER Yükleyiciler basitçe bir programı diskten alıp hafızaya yüklemekle sorumlu programlardır. Bir program yazıldıktan ve derlendikten (compile) sonra programın makine dilindeki karşılığı elde edilir. Bu karşılık tam bir kod olmayıp harici kütüphanelerden faydalanıyor olabilir. Bu kütüphaneler de programa dahil edilip tam bir program elde edildikten sonra (yani bağlandıktan sonra (linker) ) […]

Devam

Hafıza Yönetimi (Memory Management)

Hafıza Yönetimi (Memory Management) Yazan : Şadi Evren ŞEKER Bir işletim sisteminin (operating system) birden fazla işlem çalıştırması durumunda (multi process) bu işlemlerin hafızayı nasıl paylaşacakları ve hafızanın nasıl daha verimli kullanıcağı hafıza yönetiminin konusudur. Şayet işletim sisteminde tek işlem (process) çalışıyorsa bu çözülmesi çok daha kolay bir durumdur. İşlemler derlendikten (compile) sonra hafızaya yükleyici […]

Devam

İşletim Sistemi (Operating System)

İşletim Sistemi (Operating System) Yazan : Şadi Evren ŞEKER İşletim sisteminin görevi temel olarak donanım (ve diğer sistem kaynakları) ile bilgisayarda çalışan ve bu kaynakları talep eden program (veya processler) arasında ilişki kurmak ve kaynak yönetimini kontrol etmektir. Aşağıdakine benzer bir katmanlı yaklaşım bu anlamda doğru kabul edilebilir: İşletim sisteminin günümüzdeki anlamını anlamak için belkide […]

Devam

Tek Geçişli Çevirici (One Pass Assembler)

Yazan : Şadi Evren ŞEKER Tek geçişli bir çeviricinin (assembler) karşılaştığı en büyük problem çeviricinin kaynak koddaki (Assembly dilindeki koddaki)  değişken ve etiketlerin kodun ilerleyen kısımlarında tanımlanma ihtimalidir. Bu durumda kodun geri dönerek daha sonradan tanımlanan bilgilerin önceki adreslere yazılması mümkün olmaz. Tek geçişli çeviricilerde bu problemi çözmek için iki farklı yöntem kulllanılabilir: 1. İleride […]

Devam

Çok Geçişli Çeviriciler (Multipass Assemblers)

Yazan : Şadi Evren ŞEKER Bir çeviricinin ( assembler ) ikiden1 fazla kere kodun üstünden geçen halidir. Buna göre bir çeviricinin kod üretirken bilinmeyen dizgilerin (kelime veya yazıların) anlamalarının her geçişte (pass) çıkarılarak bir sonraki geçişlerde kullanılmasını hedefler. Örneğin aşağıdaki kod örneğini ele alalım: A EQU B B EQU D C EQU D D DS […]

Devam

Konumlandırılabilir Kod (Relocatable Code)

Yazan : Şadi Evren ŞEKER Üretilecek olan makine kodunun hafızada (RAM) herhangi bir yere yerleştirilebilir olması durumudur. Buna göre normalde her programın sabit bir adres tanımı ve bu adres tanımına göre kod içerisinde adres değerlerini içeren komutların bulunması mümkündür. İşte konumlandırılabilir kod bu zorunluluğu kaldırarak hafızanın istenildiği gibi kullanılabilmesini sağlar ve kodun istenen hafıza adresin […]

Devam

2 geçişli çeviriciler (2 pass assemblers)

Yazan : Şadi Evren ŞEKER Bir çeviricinin (assembler), Assembly dilinde yazılmış kaynak kod üzerinden iki kere geçen halidir. Buna göre tek geçişli olan çeviricilerden farklı olarak dilde etiket (label) tanımları yapılabilmekte ve bu etiketlerin anlamları bir tabloda tutularak daha sonra kullanılabilmektedir. 2 geçişli bir çevirici sırasıyla şu işlemleri yapar: 1. Geçişte koddaki semboller (symbols) ve […]

Devam

Kayan Nokta Sayıları (Floating Point Numbers)

Yazan : Şadi Evren ŞEKER Bilgisayar yapılarında ondalıklı sayıları ( floatingpoint numbers ) iki farklı bilginin tutulması ile gösterilebilir: mantis x kök üst yukarıda verilen formüle göre bir ondalıklı sayıyı önce bir ondalık çarpan sonra da bir kök’ün verilen üstü ile çarpımı olarak göstermek mümkündür. Örneğin ikilik tabanda 1101.11 küsurlu sayısını ele alalım (“.” işaretinden […]

Devam

Derleyici (compiler)

Yazan: Şadi Evren ŞEKER Basitçe bir dilde yazılmış olan kodu (kaynak kodu yada source code) istenilen başka bir kod haline dönüştüren programdır. Genelde üretilen bu kod ortama göre çalıştırılabilir kod (executable code) olarak üretilmektedir. Ancak bir derleyicinin daha doğru tanımı bir dildeki kodu başka dile çeviren program olarak yapılabilir. Örneğin C dilinde yazılan bir programı […]

Devam