Bilgisayar, belirli komutlara göre veri işleyen ve depolayan bir makinedir.
Bilgisayarlar çok farklı biçimlerde karşımıza çıkabilirler. 20. yüzyılın ortalarındaki ilk bilgisayarlar büyük bir oda büyüklüğünde olup, günümüz bilgisayarlarından yüzlerce kat daha fazla enerji tüketiyorlardı. 21. yüzyılın başına varıldığında ise bilgisayarlar bir kol saatine sığacak ve küçük bir pil ile çalışacak hâle geldiler. Toplumumuz kişisel bilgisayarı ve onun taşınabilir eşdeğeri, dizüstü bilgisayarını, bilgi çağının simgeleri olarak tanıdılar ve bilgisayar kavramı ile özdeşleştirdiler.
Ancak, günümüzde en yaygın olarak kullanılan bilgisayar türü, gömülü bilgisayarlardır. Gömülü bilgisayarlar küçük boyutlu olup genelde diğer aygıtların denetiminde kullanılırlar. Savaş uçaklarında, çamaşır makinelerinde hatta oyuncaklarda da bulunurlar.
İstenilen programı kayıt edip istenilen zamanda çalıştırabilmeleri bilgisayarları çok yönlü kılıp hesap makinelerinden ayıran ana özellikleridir. Church-Turing tezi bu çok yönlülüğün matematiksel ifadesidir, ve herhangi bir bilgisayarın bir diğer bilgisayarın görevlerini yerine getirebileceğinin altını çizer. Dolayısıyla, karmaşıklıkları ne düzeyde olursa olsun, cep bilgisayarından süper bilgisayarlara kadar, bellek ve zaman kısıtı olmadığı takdirde hepsi aynı görevleri yerine getirebilirler.
Jacquard'ın doku tezgâhı ilk kurulabilir aygıtlardandır.
Tarihçe
Bilgisayar tanımının esnekliği ve zaman içerisindeki değişim süreci dolayısıyla ilk bilgisayarı saptamak güçtür. Geçmişte bilgisayar olarak bilinen birçok aygıt günümüz ölçütlerine göre bu tanımı hak etmemektedirler.
Başlangıçta bilgisayar sözcüğü hesaplama sürecini kolaylaştıran nesnelere verilen bir ad konumundaydı. Bu ilk dönemin bilgisayar örnekleri arasında sayı boncuğu (abaküs) ve AntiKitira Makinesi (M.Ö. 150-100) sayılabilir. Yüzyıllar sonra, Ortaçağ sonundaki yeni bilimsel keşifler ışığında, Avrupalı mühendisler tarafından geliştirilen bir dizi makinesel hesaplama aygıtlarının ilki ise, Wilhelm Schickard'a (1623) aittir.
Ancak, programlanabilir (veya kurulabilir) olmamaları nedeniyle bu aygıtların hiçbiri günümüz bilgisayar tanımına uymamaktadır. 1801 yılında Joseph Marie Jacquard'ın dokuma tezgâhındaki işlemi özdevinimleştirmek (otomatikleştirmek) adına ürettiği delikli kartlar ise bilgisayarların gelişme sürecindeki, kısıtlı da olsa, ilk programlanabilme (kurulabilme) izlerinden sayılır. Kullanıcının sağladığı bu kartlar sayesinde, dokuma tezgâhı kart üzerindeki delikler ile tarif edilen çizime işleyişini uyarlayabiliyordu.
1837 yılında Charles Babbage, adını Analytical Engine (Çözümlemeli veya analitik makine) koyduğu, ilk tam programlanabilir makinesel bilgisayarı kavramsallaştırıp tasarladı. Ancak parasal nedenler ve üzerindeki çalışmalarının sonlanamaması nedeniyle bu makineyi geliştirmedi.
Delikli kartların ilk büyük ölçekli kullanımı ise Herman Hollerith tarafından, 1890 yılında muhasebe işlemlerinde kullanılmak üzere tasarlanan hesap makinesidir. Hollerith'in o dönemde bağlı olduğu işletme ise sonraki yıllarda küresel bilgisayar devine dönüşecek IBM'dir. 19. yüzyılın sonlarına varıldığında, gelecek yıllarda bilişim donanım ve kuramlarının gelişimine büyük katkıda bulunacak uygulayımlar (teknolojiler) ortaya çıkmaya başlamıştılar: delikli kartlar, Boole cebiri, boşluk tüpleri ve teletip aygıtları.
20. yüzyılın ilk yarısında ise, birçok bilimsel gereksinim, gittikçe karmaşıklaşan örneksel (analog) bilgisayarlar ile giderildiler. Ancak günümüz bilgisayarlarının yanılmazlık düzeyinden hâlâ uzaktılar.
1930'lar ve 1940'lar boyunca bilgisayar uygulayımı gelişmeye devam etti, ve sayısal elektronik bilgisayar'ın ortaya çıkışı ancak elektronik devrelerinin buluşundan (1937) sonra gerçekleşebildi. Bu dönemin önemli çalışmaları arasında aşağıdakiler sayılabilir:
ENIAC'ın olumsuz yanlarını saptayan geliştiricileri, daha esnek ve zarif bir çözüm üzerinde çalışıp, artık saklı program mimarisi veya daha çok von Neumann mimarisi olarak tanınan tasarımı önerdiler. Bu tasarımdan ilk olarak John von Neumann (1945) yılında gerçekleştirdiği bir yayında söz etmesinden sonra, bu mimariye dayalı olarak geliştirilen bilgisayarlardan ilki İngiltere'de tamamlandı (SSEM). Aynı mimariye bir yıl sonra kavuşan ENIAC'a ise EDVAC adı verildi.
Günümüz bilgisayarlarının neredeyse tamamının bu mimariye uyumlu hâle gelmesi ile bilgisayar sözcüğünün tanımı olarak da kullanılmaktadır. Dolayısı ile bu tanıma göre geçmişteki aygıtlar bilgisayar olarak sayılmasalar da, tarihsel bağlamda yine de o biçimde anılmaktadırlar. Her ne kadar 1940'lardan bu yana bilgisayar uygulayımı köklü değişiklikler geçirmiş olsa da, çoğunluğu von Neumann mimarisine sadık kalmıştır.
Boşluk tüpüne dayalı bilgisayarlar 1950'ler boyunca kullanımda kaldıktan sonra, 1960'larda daha hızlı ve ucuz olan geçirgeç (transistör) tabanlı bilgisayarlar yaygınlık kazandı. Bu etkenlerin sonucunda bilgisayarların daha önce görülmemiş bir düzeyde toplu üretimine geçirildi. 1970'lere varıldığında tümleşik devre uygulayımı ve Intel 4004 gibi mikroişlemcilerin geliştirilmesi sayesinde bir kez daha büyük bir başarım ve güvenilirlik artışının yanı sıra, maliyet düşüşü de yaşandı. 1980'lerde artık bilgisayarlar, çamaşır makinesi gibi günlük hayat kullanımındaki birçok makinesel aygıtın denetleyici donanımlarındaki yerlerini almaya başlamışlardı. Yine aynı dönemde, kişisel bilgisayarlar yaygınlık kazanıyorlardı. Son olarak 1990'lardaki Internet'in gelişimi ile de bilgisayarlar artık televizyon ve telefon gibi alışılmış birer aygıt hâline gelmişlerdir.***
Yapı
von Neumann mimarisine göre bilgisayarlar başlıca dört bileşenden oluşurlar: aritmetik mantık birimi (AMB), denetim birimi (DB), bellek ve giriş/çıkış (G/Ç). Bu dört kesim kendi aralarında taşıt (veya yollar) ile bağlıdırlar. Aritmetik mantık birimi ile denetim biriminin yanı sıra yazmaçlar, işlemciyi (ayrıca Ana işlem birimi ve Merkezi işlem birimi) oluştururlar.
Aritmetik mantık birimi (AMB)
Aritmetik mantık birimi işlemci içerisinde iki tür işlemi yerine getirmek ile yükümlüdür, sayısal ve mantıksal işlemler. Herhangi bir AMB tarafından desteklenen sayısal işlemlerin sayısı ve türü işlemciye göre farklılık gösterir. Bazıları sadece toplama ve çıkarma ile sınırlıyken, diğerleri trigonometrik işlevler bile destekleyebilirler. Ancak en karmaşık görevler bile basit adımlara indirgenebildiğinden en basit işleçleri bile destekleyen bir AMB bunları hesaplamayı başarabilir.
Sayısal işlemler dışında AMB, mantıksal işleçler de kullanabilir. Boole cebiri'nin temel işlevleri (VE, VEYA, ÖZEL VEYA, DEĞİL) sayesinde karmaşık mantıksal önermeleri hesaplayabilir. Yeni nesil AMB'ler ise doğrudan yöney ve dizeyler üzerinde işlem yapmayı desteklemektedirler.
Denetim birimi (DB)
Denetim birimi (veya denetçi), işlemci içerisindeki yer alan kesimlerin doğru çalışmaları için yönlendirilmeleri ile yükümlüdür. Birincil görevi, çalıştırılan programın her komutunu çözmek ve işlemci içerisinde kullanılabilecek sinyallere çevirmektir. Bunun dışında çalıştırılan programın hangi komutunda bulunulduğunu da tutan program sayacının içerir. Son dönem bilgisayarların denetim birimleri, söz konusu programın komut sırasını değiştirip hızlandırabilen yapılara sahiptirler.
Bellek
Bir bilgisayarın belleği, sayılar içeren bir hücreler bütünü olarak düşünülebilir. Her hücreye yazılabilir ve içeriği okunabilir. Her hücrenin kendisine özel bir bulunağı (adresi) vardır. Bir komut örneğin 34 sayılı hücrenin içeriğini 5.689 sayılı hücre ile toplayıp 78. hücreye yerleştirmek olabilir. İçerdikleri sayılar herhangi bir şey olabilir, sayı, komut, bulunak, harf, vb. İçeriğinin doğasını ancak onu kullanan program belirler. Günümüz bilgisayarlarının çoğunluğu veriyi kaydetmek için ikili sayıları kullanır ve her hücre 8 bit (yani bir bayt) içerebilir.
Kişisel bilgisayar:
(1) Ekran,
(2) Ana kart
(3) İşlemci (CPU)
(4) Bellek (RAM)
(5) Genişletme Kartları (PCI-X, AGP, vb.)
(6) Güç Kaynağı
(7) Optik Disk Sürücü (DVD, CD, vb.)
(8) Sabit Disk
(9) Klavye
(10) Fare
Dolayısıyla bir bayt 255 farklı sayıyı ifade edebilir, bunlar ancak 0 dan 255'e veya -128 den +127'ye olabilirler. Yan yana yerleşmiş birden fazla bayt kullanıldığında ise (genelde 2, 4 veya çok daha büyük sayıların kaydedilmesi mümkün olur. Çağımız bilgisayarlarının bellekleri milyarlarca bayt içermektedirler.
Bilgisayarlarda üç adet bellek türü bulunur. İşlemci içerisinde yer alan yazmaçlar, son derece hızlı ancak çok sınırlı sığaya sahiptirler. İşlemcinin çok daha yavaş olan ana belleğe olan erişim gereksinimini gidermek için kullanılırlar. Ana bellek ise Rastgele erişimli bellek (REB veya RAM, Random Access Memory) ve Salt okunur bellek (SOB veya ROM, Read Only Memory) olmak üzere ikiye ayrılır. RAM'a istenildiği zaman yazılabilir ve içeriği ancak güç sürdüğü sürece korunur. ROM ise sadece okunabilen ve önceden yerleştirilmiş bilgiler içerir. Bu içeriği güçten bağımsız olarak korur. Örneğin herhangi bir veri veya komut RAM'da bulunurken, bilgisayar donanımını düzenleyen BIOS ROM'da yer alır.
Son bir bellek alt türü ise ön bellektir (cache memory). İşlemci içerisinde yer alır ve yazmaçlardan büyük sığaya sahip olmanın yanı sıra ana bellekten de hızlıdır.
Sabit diskler bilgisayarların en çok tanınan G/Ç birimlerindendirler.
Giriş/Çıkış (G/Ç)
G/Ç bir bilgisayarın dış dünyadan veri alışverişinde bulunmak için kullandığı araçtır. Yaygın olarak kullanılan giriş birimleri arasında klavye ve fare, çıkış için ise ekran (veya görüntüleyici, monitör) ve yazıcı sayılabilir. Sabit ve optik diskler ise her iki görevi de üstlenirler.
Bilgisayar ağları
1970'lerde ABD'li mühendisler ordu içerisinde yürütülen bir tasarı çerçevesinde bilgisayarları birbirleri ile bağlayıp (ARPANET), günümüzde bilgisayar ağı olarak bilinen yapının temellerini attılar. Zaman içerisinde bu bilgisayar ağı, ordu ve akademik birimler ile de sınırlı kalmayıp genişledi ve bugün milyonlarca bilgisayar içerden Bilgisunar (Internet veya Genel ağ) oluştu. 1990'lara gelindiğinde ise, İsviçre'nin CERN araştırma merkezinde geliştirilen Küresel ağ (World Wide Web, WWW) adlı iletişim kuralları, e-posta gibi uygulamalar ve ethernet gibi ucuz donanımsal çözümler ile bilgisayar ağları yaygınlık kazandılar.
Ek konular
Donanım
Disket sürücü, sabit disk ve optik diskin bulunduğu çevresel birimlerin toplandığı standart tip bilgisayar kasası
Donanım kavramı bir bilgisayarın tüm dokunulabilir bileşenlerini kapsar.
Donanım örnekleri
Çevresel birimler (Giriş/çıkış) |
Giriş |
Fare, Klavye, Oyun çubuğu, Tarayıcı |
Çıkış |
Monitör, Yazıcı |
Her ikisi |
Disket sürücü, Sabit disk, Optik disk |
Bağlantı birimleri |
Kısa menzil |
RS-232, SCSI, PCI, USB |
Uzun menzil (Bilgisayar ağları) |
Ethernet, ATM, FDDI |
Yazılım kavramı bilgisayardaki özdek (maddi) olmayan tüm bileşenleri tanımlar: programlar, iletişim kuralları ve veriler hepsi yazılımdır.
Yazılım
İşletim sistemi |
Unix/BSD |
UNIX V, AIX, HP-UX, Solaris (SunOS), FreeBSD, NetBSD, IRIX |
GNU/Linux |
Linux sürümleri dizelgesi |
Microsoft Windows |
Windows 9x, Windows NT, Windows CE, Windows vista |
DOS |
DOS/360, QDOS, PC-DOS, MS-DOS, FreeDOS |
Mac OS |
Mac OS X |
Gömülü ve Gerçek zamanlı işletim sistemileri |
Gömülü işletim sistemleri dizelgesi |
Kütüphaneler |
Çoklu ortam |
DirectX, OpenGL, OpenAL |
Programlama kütüphanesi |
C kütüphanesi |
Veriler |
İletişim kuralı |
TCP/IP, Kermit, FTP, HTTP, SMTP |
Belge biçimleri |
HTML, XML, JPEG, MPEG, PNG |
Kullanıcı arayüzü |
Grafiksel kullanıcı arayüzü (WIMP) |
Microsoft Windows, GNOME, QNX Photon, CDE, GEM |
Metinsel kullanıcı arayüzü |
Komut satırı, Kabuk |
Diğer |
|
Uygulama |
İşyeri dizisi |
Sözcük işlem, Masaüstü yayını, Sunum yazılımı, Veri tabanı yönetim sistemi, Hesap çizelgesi, Muhasebe yazılımı |
Bilgisunar Erişimi |
Tarayıcı, E-posta istemcisi, Küresel ağ sunucusu, Anlık ileti yazılımı |
Tasarım |
Bilgisayar destekli tasarım, Bilgisayar destekli yapım |
Grafikler |
Hücresel grafik düzenleyici, Yöneysel grafik düzenleyici, 3B modelleyici, Canlandırma düzenleyici, 3B bilgisayar grafikleri, Video düzenleme, Görüntü işleme |
Sayısal ses |
Sayısal ses düzenleyici, Ses oynatıcı |
Yazılım mühendisliği |
Derleyici, Çevirici, Yorumlayıcı, Hata ayıklayıcı, Metin düzenleyici, Tümleşik geliştirme ortamı, Başarım incelemesi, Değişiklik denetimi, Yazılım yapılandırma yönetimi |
Oyunlar |
Strateji, Macera, Bulmaca, Benzetim, Rol yapma oyunu, Etkileşimli kurgu |
Ek |
Yapay zeka, Antivirüs yazılımı, Belge yönetici |