Bilgisayar Kavramlarıwww.bilgisayarkavramlari.com |
Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde özellikle de işletim sistemi ve müşterek programlamada (concurrent programming, eş zamanlı programlamada) sıkça kullanılan bir eşleme (synchronization) yöntemidir. Yani birden fazla işin (process) aynı anda çalışması halinde birbirleri için risk arzettikleri kritik zamanlarda (critical sections) birbirlerini beklemesini sağlayan bir mekanizmadır. Basitçe bir değişken veya bir mücerret veri yapısı [...]
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 [...]
Yazan : Şadi Evren ŞEKER Yazılım mühendisliğinde (software engineering) kullanılan bir geliştirme metodudur. Bu metdo şelale modelindeki (waterfall model) eksiliklerden yola çıkılarak geliştirilmiştir ve yazılımın geliştirilmesi sırasında bir tekrar ile (döngü) yazılımın daha iyi hale getirilmesi hedeflenir. Yukarıdaki şekilde görüldüğü üzere planlama ile başlayan ve tertip (deployment) ile biten süreçte bir döngü (iteration) sürekli olarak [...]
Yazan : Şadi Evren ŞEKER Ardışık veri yapıları (consecutive data structures) üzerinde çalışan fonksiyonlar temel olarka 3 grupta toplanabilir. Bu gruplarda amaç yazılabilecek fonksiyon tiplerini üç çatı altında toplamak ve bir abstraction (soyutlama) yaparak programcıya sadece istediği fonksiyonu parametre verebileceği bir ortam hazırlamaktır. Bu işlem sırasında fonksiyon göstericileri (Function pointers) kullanılarak bir fonksiyon diğer fonksiyonlara [...]
Yazan : Şadi Evren ŞEKER Bir veri yapısı üzerinde çalışan ve veri yapısında bulunan verileri, verilen bir fonksiyonu kullanarak eleyen (filitreleyen) fonksiyon tipidir. Bu durum aşağıdaki bağlı liste (linked list) örneğinden anlaşılabilir: Örneğin yukarıdaki bağlı liste üzerinden tek sayıları eleyen bir fonksiyon yazmak istersek yapmamız gereken, tek sayıları veren aşağıdaki fonksiyonu bu bağlı liste üzerine [...]
Yazan : Şadi Evren ŞEKER Bir veri yapısı üzerinde çalışan ve veri yapısında bulunan verileri, verilen bir fonksiyonu kullanarak bir değişkende biriktiren fonksiyon tipidir. Bu durum aşağıdaki bağlı liste (linked list) örneğinden anlaşılabilir: Örneğin yukarıdaki listede toplama fonksiyonu olarak aşağıdaki fonksiyonu uygulayacak olursak: int topla(int a, int b){ return a + b; } sırasıyla yapılması [...]
Yazan : Şadi Evren ŞEKER Veri yapıları (data structures) üzerinde uygulanan döngü (loop) tiplerinden birisidir, literatürde haritalama tipi olarak da geçmektedir. Temel olarak bir veri tipi üzerindeki değişimi uygulamak için kullanılırlar. Örneğin aşağıdaki bağlı listeyi (linked list) ele alalım: Yukarıdaki bu bağlı listedeki elemanların üzerine, sayı değerini 1 arttıran bir fonksiyon bindirildiğinde (map) aşağıdaki sonuç [...]
Yazan : Şadi Evren ŞEKER Literatüre McTaggart tarafından kazandırılmış olan bu çalışmaya göre zaman gerçek bir varlık değildir. Zamanın gerçek olmadığın ispatlamak için iki önerme ortaya atılır: 1. Olayların zamanlarını açıklamak için başka olaylara ihtiyaç duyması (yani aslında zaman kavramı olaylar sıralaması olarak ele alınırsa bir olayın zamanı ancak başka olayın zamanına izafe edilerek anlaşılabilir) [...]
Yazan : Şadi Evren ŞEKER Zamani kavramları açıklamak için kullanılan terimdir. Basitçe insanın zaman algısı ve bu algı üzerine kurulu olan felsefi ve yaşamsal düşünceleri geçmiş, şimdi ve gelecek üzerine kuruludur. Bu durumda zamani kavramlarda bu değerlerin etkisidine şekillendirilmektedir. Aslında din ve felsefede derin tartışmalar açmış bu konuya insanlığın var olduğu tarih boyunca hemen her [...]
Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde özellikle de mantıksal devre tasarımı sırasında karşılaşılan bir durumdur. Basitçe sistemde oluşan veya oluşabilecek tehlikeleri ifade eder. Yani örneğin sistemdeki kapıların (ve, veya, yahut kapıları) yanlış çalışması sonucunda oluşan tehlikelerdir. Temel olarak 3 ayrı grupta toplamak mümkündür: Sabit Tehlikeler (Static Hazards) Müteharrik Tehlikeler (Dinamik Tehlikeler, Dynamic Hazards) Fonksiyonel [...]
Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinin bir çalışma konusu olan doğal dil işlemede çeşitli amaçlarla kullanılan zaman belirleme işlemleri açısından önemli bir kavramdır. Basitçe bir birleşik cümledeki ana cümlenin ve alt cümlenin zamanlarının arasındaki uyumu açıklamak için kullanılır. Örneğin Ali eve geldiğinde Ayşe uyuyordu Ali eve geldiğinde Ayşe uyumuştu Ali eve geldiğinde Ayşe uyuyacaktı [...]
Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde bir dilin, içerik bağımsız gramer (context free grammer, CFG) ile gösterilemeyeceğini ispatlamaya yarar. Yani pompalama ön savı sayesinde bir dilin CFG olmadığı ispatlanabilir ancak olduğu ispatlanamaz. Şayet pompalama önsavını geçemyorsa CFG değildir denilebilir ancak geçmesi olmasını gerektirmez. Pomplama önsavı (pumping lemma) kısaca bir dili aşağıdaki gramere uydurmaya çalışır: [...]
Yazan : Şadi Evren ŞEKER Bir dilin Düzenli ifadele (Regular expression) olup olmadığının belirlenmesi için kullanılan pomplama önsavıdı (pumping lemma). Basitçe düzenli ifadede olup olmadığı sınanacak bir w dili için (yani L = w için) w= xyz şeklinde bir açılım sınanır. Buradaki sınama sırasında aşağıdaki koşulların sağlanması beklenir: |y| ≥ 1 |xy| ≤ p bütün [...]
Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde dil tasarımı (language design, compiler design) konusunda önemli araçlardan birisidir. Bu önsava (lemma) göre şayet bir dil, bir herhangi bir gruba ( içerik bağımsız dil (context free language) veya düzenli ifadeler (Regular expression) yada farklı bir dil grubu ) dahil olarak kabul ediliyorsa, bu dil ne kadar pompalanırsa [...]
Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinin bir çalışma alanı olan doğal dil işleme (Natural language processing) konusunda ve dolayısıyla dilbilim (linguistic) konusunda kullanılan bir kavramdır. Bu kavrama göre bir dilde aynı anlama gelen kelimelerin sayı, cinsiyet, kişi veya duruma göre farklı kelimelerle ifade edilmesidir. Örneğin Türkçede çoğul kelimelerin kullanımı bir uyum örneğidir. Kelimebilim (lexicology) [...]
Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde, dil tasarımı sırasında kullanılan bir gramer tipidir. Basitçe bir dilin kurallarını (dilbilgisini, grammer) tanımlamak için kullanılır. Örneğin: S -> a Yukarıdaki dil tanımında bir büyük harfle gösterilen (S) bir de küçük harfle gösterilen (a) sembolleri bulunmaktadır. Bu satır, S devamlısının(nonterminal) a sonuncusuna(terminal) dönüştüğünü göstermektedir. Kısaca dildeki kuralları ifade [...]
Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde bir dilin tasarımı sırasında, içerik bağımsız bir gramer ile oluşturulması durumudur. Basitçe bir aşağı sürüklemeli otomat (push down automata) tarafından kabul edilen dil çeşididir. Bazı kaynaklarda bağlamdan bağımsız dil olarak da geçmektedir. Örneğin çok meşhur L= {anbn , n>0} dilini ele alalım. Bu dil örneğinin bu kadar meşhur [...]
Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde dil tasarımı konusunda kullanılan backus normal şeklinin (backus normal form) özel bir halidir. Basitçe standart BNF’te yazılan kuralların birleştirilerek daha sade yazılmasını hedefler. Bu durumu aşağıdaki örnek üzerinden görebiliriz: Örneğin BNF olarak yazılan dilimize göre: <EGER> ::= if( <KOSUL>) | if( <KOSUL>) else şeklinde bir satırımız bulunsun. Bu [...]
Yazan : Şadi Evren ŞEKER Tek yönlü fonksiyon (one way function) veya kilit fonksiyonu (padlock function) ismi de verilen bu fonksiyon tiplerinin en temel özelliğ tersinin olmamasıdır. Basitçe bir sayının bir fonksiyona verilmesi sonucunda çıkan değerden tekrar sayının orjinal halinin bulunmaması durumudur. Yani bir f(x) fonksiyonu için çıkan y sonucundan, x değerine geri ulaşmanın imkansız [...]
Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde sıralama işleminin çok büyük veriler üzerinde yapılması durumunda tercih edilen bir sıralama yöntemidir. Basitçe sıralama işleminin doğrudan verilerin yerinin değiştirilemsi ile değil de daha çok bu verileri gösteren gösterici (pointer) veya nesne atıfları (object referrer) ile yapılmasıdır. Örneğin sistemimizdeki öğrencileri sıralamak isteyelim. Her öğrenci bilgisi de sistemde 1MB [...]
Yazan : Şadi Evren ŞEKER Bilgisayar güvenliği sağlanması sırasında, bilgisayarların yaymış olduğu, ses, radyasyon, ışık gibi yan yayılımların kullanılması ile gizli bilginin elde edilmesidir. Örneğin, şifreleme yapılan bir bilgisayar odasında, saldırgan tarafın ses dinlemesi yaptığını düşünelim. Normalde hiç bir bilgi odadaki kişiler tarafından seslendirilmese bile, bilgisay klavyelesi kullanan bir insanın her harfe basışı farklı bir [...]
Yazan : Şadi Evren ŞEKER Bir sıralama algoritmasının tamamının bilgisayarın hafızasına (Memory, RAM) yüklü olmaması durumudur. Yani klasik olarak bir dizi (array) veya bağlı liste (linked list) üzerinde yapılan sıralamaları dahili sıralama (internal sort) olarak isimlendirmek mümkündür. Harici sıralama klasik sıralamalardan farklı olarak, verinin ancak bir kısmının RAM’de durması durumunda devreye girer. Örneğin hafızamızın 100MB [...]
Yazan : Şadi Evren ŞEKER Doğal dil işlemenin (natural language processing) en önemli parçası olan ve bir dildeki en küçük anlamlı birim olan İngilizcedeki “Lexeme” kelimesi, genelde “kelime” kelimesine karşılık olarak kullanılmaktadır. Bu tam olarak yanlış olmasa da yanlış anlaşılmaya açıktır. Lexeme anlam olarak herhangi bir kelime değildir, daha çok kelimenin ifade ettiği anlamdır. Örneğin, [...]
Yazan: Şadi Evren ŞEKER Doğal dil işleme (natural language processing) çalışmalarının bir parçası olan soru cevaplama çalışmalarında amaç, doğal dildeki bir soruya doğru cevap verebilmektir. Soru cevaplama çalışmalarını bir kaç farklı şekilde gruplamak mümkündür. Unutulmaması gereken, soru cevaplama çalışmalarının hedefinde insan gibi davranabilen bilgisayar programları bulunmaktadır. Yani ulaşılmak istenen noktada aynı soruyu bir insana sorduğunuzda [...]
Yazan : Şadi Evren ŞEKER Bu şifreleme yöntemi genelde blok şifreleme (block cipher) için kullanılsa da farklı şifrelem yöntemlerinin de çıkmasını sağlamıştır. Yöntem aslında mükemmelinde tekrar etmeyen bir sayı üretecine dayanmaktadır. Yani matematiksel olarak bir fonksiyon sürekli sayı üretmekte ancak bu üretilen sayılar kendini tekrar etmemektedir. Ancak bu şekildeki fonksiyonun da ürettiği sayıların mümkün olduğunca [...]