You are on page 1of 6

Sistem Programlama (System

Programming)
Turing Makinesi (Turing Machine)
Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinin önemli bir kısmını oluşturan otomatlar
(Automata) ve Algoritma Analizi (Algorithm analysis) çalıştırmalarının altındaki dil bilimin
en temel taşlarından birisidir.1936 yılında Alan Turing tarafından ortaya atılan makine
tasarımı günümüzde pekçok teori ve standardın belirlenmesinde önemli rol oynar. Turing
Makinesinin Tanımı Basitçe bir kafadan (head) ve bir de teyp bandından [...]

ShareThis

Şadi Evren ŞEKER tarafından, 27/06/2009 tarihinde yazıldı. | algoritma analizi (teory of
algorithms), Automata (otomatlar, özdevinirler), Bilgisayar Kavramları, Bilgisayar
Standartları, Derleyiciler, Doğal Dil İşleme (NLP), Donanım ( Hardware ), Dosya
Organizasyonu (File Organisation), işletim sistemleri, Mantık Devreleri (Logic Circuits),
Programlama Dilleri, Sistem Programlama (System Programming), veri yapıları | 12 yorum
var
Tags: Turing

MPI (Message Passing Interface , Mesaj Geçirme


Arayüzü)
Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde, paralel programlama amacıyla kullanılan
bir platformun ismidir. Çok çeşitli işletim sistemlerinde ve çok çeşitli dillerde paralel
uygulama geliştirmeye olanak sağlar. Ancak temel çıkış sistemi Linux ve temel programlama
dili olarak C dili kabul edilebilir. İçerik 1. Paralel Programlamaya Giriş 2 MPI Kurulumu 3.
MPI ile paralel program geliştirilmesi [...]

ShareThis

Şadi Evren ŞEKER tarafından, 29/04/2009 tarihinde yazıldı. | C/C++, Programlama Dilleri,
Sistem Programlama (System Programming) | 2 yorum var

Meşguliyet (Utilization, Kullanım)


Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde sıra (queue) teorisinde, sıradaki bir
varlığın ne kadar meşgul edildiğini ölçmeye ve bu ölçüme göre kararlar vermeye verilen
isimdir. İstatistiksel olarak ρ sembolü ile gösterilir ve şayet ρ değeri 1′den büyükse sıranın
uzadığı, 1′e eşitse sıranın ne kısalıp ne de uzadığı ve şayet 1′den küçükse sıranın kısaldığı
veya [...]

ShareThis
Şadi Evren ŞEKER tarafından, 19/04/2009 tarihinde yazıldı. | algoritma analizi (teory of
algorithms), Bilgisayar Standartları, işletim sistemleri, Sistem Programlama (System
Programming) | A yorum var

Atomluluk (Atomicity)
Yazan: Şadi Evren ŞEKER Latince bölünemez anlamına gelen atom kökünden üretilen bu
kelime, bilgisayar bilimlerinde çeşitli alanlarda bir bilginin veya bir varlığın bölünemediğini
ifade eder. Örneğin programlama dillerinde bir dilin atomic (bölünemez) en küçük üyesi bu
anlama gelmektedir. Mesela C dilinde her satır (statement) atomic (bölünemez) bir varlıktır.
Benzer şekilde bir verinin bölünemezliğini ifade etmek [...]

ShareThis

Şadi Evren ŞEKER tarafından, 30/03/2009 tarihinde yazıldı. | algoritma analizi (teory of
algorithms), Automata (otomatlar, özdevinirler), bilgisayar felsefesi, Bilgisayar Kavramları,
Derleyiciler, Donanım ( Hardware ), Dosya Organizasyonu (File Organisation), işletim
sistemleri, JAVA, Mantık Devreleri (Logic Circuits), Nesne Yönelimli Programlama,
Network(Ağ), Programlama Dilleri, Sistem Programlama (System Programming), Temel
Bilimler, Veri Güvenliği(Cryptography), Veri Sıkıştırma (Data Compression), Veri Tabanı
(Database), veri yapıları, yapay zeka (artificial intelligence), Yazılım Mühendisliği (Software
Engineering) | A yorum var

C ile Zaman İşlemleri


Yazan : Şadi Evren ŞEKER C dilinde mevcut zamanı almak ve işlemek mümkündür. Bunun
için time.h dosyasının içerisinde bulunan fonksiyonlar kullanılabilir. Ayrıca time.h
dosyasında bulunan time_t oluşumu (struct) zaman tutmak için geliştirilmiştir ve zamanı
oluşturan alt unsurları da içerir. Örneğin şu andaki zamanı ekrana basmak için aşağıdaki kod
kullanılabilir: struct timeval tv;   time_t curtime; [...]

ShareThis

Şadi Evren ŞEKER tarafından, 01/01/2009 tarihinde yazıldı. | C/C++, işletim sistemleri,
Programlama Dilleri, Sistem Programlama (System Programming) | 4 yorum var
Tags: difftime, time, time_T, zaman

YACC
Yazan : Şadi Evren ŞEKER YACC, bilgisayara bilimlerinin önemli dallarından birisi olan dil
tasarımı ve dil geliştirilmesi sırasında (compiler teory) sıkça kullanılan bir kod üretici
programdır. YACC basitçe dildeki sözdizim (syntax) tasarımı için kullanılır ve tasarladığımız
dildeki kelimelerin sıralamasının istediğimiz şekilde girilip girilmediğini kontrol eder. Aynı
zamanda sıralamadaki her kelimenin anlamını da yacc marifetiyle belirleyebiliriz. [...]

ShareThis
Şadi Evren ŞEKER tarafından, 12/12/2008 tarihinde yazıldı. | Automata (otomatlar,
özdevinirler), Programlama Dilleri, Sistem Programlama (System Programming) | 1 yorum
var

LEX
Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde programlama dillerinin tasarımı ve
geliştirilmesi sırasında kullanılan ve dildeki kelimelerin analizine (lexical analysis) yarayan
kod üretme programıdır. Yani lex için hazırlanmış bir dosyayı lex programından geçirdikten
sonra size C dilinde bir kod çıkar. Bu kodu C dilinde derledikten (compile) sonra çalışan bir
programınız olur. Veya tercihen bu çıktıyı [...]

ShareThis

Şadi Evren ŞEKER tarafından, tarihinde yazıldı. | Automata (otomatlar, özdevinirler),


Programlama Dilleri, Sistem Programlama (System Programming) | A yorum var

Parçalama Ağacı (Parse Tree)


Yazan : Şadi Evren ŞEKER Parçalam işlemi  (parsing) bilgisayar bilimlerinde çeşitli amaçlar
için kullanılmaktadır. Özellikle de dil ile ilgili işlemlerin hemen hepsinde ihtiyaç duyulan bir
işlemdir. Örneğin bir programlama dilinde yazılan komutların algılanması için öncelikle
kelimeleirn parçalanması (parse) gerekir. Benzer şekilde dopal dil işleme (natural language
processing) işlemlerinde de doğal dilde bulunan kelimelerin algılanması bir [...]

ShareThis

Şadi Evren ŞEKER tarafından, 09/12/2008 tarihinde yazıldı. | Automata (otomatlar,


özdevinirler), Bilgisayar Kavramları, Doğal Dil İşleme (NLP), Programlama Dilleri, Sistem
Programlama (System Programming) | A yorum var

Backus Normal Form (BNF)


Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerilnde genellikle bir dil tanımlamada ve bu dilin
gramerini (Dil bilgisini) belirlemekte kullanılan gösterim biçimidir. Basitçe dil bir dil
tanımında başlayarak Terminal (sonuncu) ve Non-Terminal (Devamlı) terimler kullanarak
tanılmanmaktadır. Örneğin aşağıda basit bir örneği verilmiştir: <dil> ::= <harf>|<imla>
<harf> ::= a|b|…|z <imla> ::= .| |,|? Yukarıda bir dil tanımı [...]

ShareThis

Şadi Evren ŞEKER tarafından, tarihinde yazıldı. | algoritma analizi (teory of algorithms),
Automata (otomatlar, özdevinirler), Derleyiciler, Programlama Dilleri, Sistem Programlama
(System Programming) | A yorum var

Harici Parçalar (External Fragments)


Yazan : Şadi Evren ŞEKER Hafıza yönetimi sırasında kullanılan kıtalama (bölütleme,
segmentation) hafızadaki her işleme tam olarak istediği kadar yer ayırmaya çalışır. Bu
yaklaşımda, işlemler arasında oluşabilecek boşluklara verilen isim harici parçalar (dış
parçalar, external fragments)’dir. Her işleme ihtiyaç duyduğu kadar yer ayırmak ilk başta
daha verimli gibi görülse de bu çözümde de boşluklar ve [...]

ShareThis

Şadi Evren ŞEKER tarafından, 03/12/2008 tarihinde yazıldı. | Bilgisayar Kavramları, işletim
sistemleri, Sistem Programlama (System Programming) | 2 yorum var

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) ) [...]

ShareThis

Şadi Evren ŞEKER tarafından, tarihinde yazıldı. | Bilgisayar Kavramları, Donanım


( Hardware ), işletim sistemleri, Programlama Dilleri, Sistem Programlama (System
Programming) | 3 yorum var

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 (loader) ismi verilen bir [...]

ShareThis

Şadi Evren ŞEKER tarafından, tarihinde yazıldı. | Bilgisayar Kavramları, işletim sistemleri,
Sistem Programlama (System Programming) | A yorum var

İş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 kelimenin gelişimini ve kısa [...]

ShareThis
Şadi Evren ŞEKER tarafından, tarihinde yazıldı. | Bilgisayar Kavramları, işletim sistemleri,
Sistem Programlama (System Programming), Temel Bilimler | A yorum var

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 [...]

ShareThis

Şadi Evren ŞEKER tarafından, 01/12/2008 tarihinde yazıldı. | Derleyiciler, Programlama


Dilleri, Sistem Programlama (System Programming) | A yorum var

Ç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 [...]

ShareThis

Şadi Evren ŞEKER tarafından, tarihinde yazıldı. | Programlama Dilleri, Sistem Programlama
(System Programming) | A yorum var

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 [...]

ShareThis

Şadi Evren ŞEKER tarafından, tarihinde yazıldı. | Donanım ( Hardware ), Programlama


Dilleri, Sistem Programlama (System Programming) | A yorum var

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 [...]
ShareThis

Şadi Evren ŞEKER tarafından, 30/11/2008 tarihinde yazıldı. | Bilgisayar Kavramları,


Donanım ( Hardware ), Sistem Programlama (System Programming) | A yorum var

You might also like