1. Bilgisayara Giriş Bilgisayar Nedir? Bilgisayar; kullanıcı tarafından girilen bilgileri işleyen, depolayan istendiğinde girilen bilgileri veya sonuçlarını çok hızlı bir şekilde verebilen elektromekanik bir cihazdır. Bu bilgiler, yazı, resim, ses ve video kaydı gibi değişik biçimlerde olabilir. Bilgisayarlar, işlemleri insanlara göre çok hızlı bir şekilde ve hatasız yapabilirler. Bu özellikleri nedeniyle günümüzde muhasebe işlemlerinden tıp bilimine, eğitim bilimlerinden uzay bilimlerine kadar her alanda insanların vazgeçemeyecekleri bir araç haline gelmiştir. Bilgisayar ile Neler Yapabiliriz? Aslında bilgisayar ile neler yapılamaz diye sorulsaydı bu sorunun cevabı daha kolay verilebilirdi. Bir bilgisayar ile çok şeyler yapılabilir bunlardan bazıları şunlardır; Her türlü kişisel veya resmi yazılar göze hoş gelen bir biçimde yazılabilir ve bunlar yazıcıya gönderilip kağıt üzerine çıktı alınabilir. Karmaşık hesaplar (örneğin bütçe hesabı, maliyet raporları vs.) otomatik olarak yapılır ve sonuçlar hızlı bir şekilde görüntülenir. Resim yapılabilir, hazır resim ve fotoğraflar izlenebilir veya üzerlerinde değişiklik yapılabilir. Müzik dinlenebilir, bu müziklere çeşitli ses efektleri eklenebilir, uygun yazılımlarla besteler yapılabilir. Uygun donanım ve yazılım bileşenleri ile sinema filmleri bile seyredilebilir. Bir video kamera, uygun donanım ve yazılım varsa çekilen filmlerin montajı yapılabilir görüntülere çeşitli efektler verilebilinir. Bir modem ve internet hesabına sahipseniz tüm dünyadan çok sayıda kişinin akla gelebilecek her konuda sunduğu çeşitli yazılı görsel ve işitsel bilgilere ulaşılabilirsiniz. Aynı zamanda arkadaşlarınıza anında mektup gönderilebilirsiniz. Yine modem ve kamera aracılığıyla uzaktaki insanlarla sesli, yazılı ve görüntülü olarak sohbet edebilirsiniz. Bir modemin sağladığı olanaklar nerdeyse sınırsızdır: İnternette web sitesi olan mağazalardan kredi kartı ile alışveriş edilebilinir ve siparişlerin kapıya kadar gelmesi sağlanabilir. Yine modemle internet üzerinden gazetelerin web sitelerine bağlanılabilinir ve günlük haberler okunabilinir. Oyunlar oynanabilinir, modemle uzaktaki bir arkadaşla oyun oynamak mümkündür. İşe uygun yazılımlarla işletmelerde iş verimi arttırılabilinir. Çocukların eğitimi için uygun programlar kullanılabilinir. Böylece öğrenecekleri şeyleri daha kolay, daha hızlı ve daha eğlenceli bir şekilde algılamaları sağlanılabilinir. Bir tarayıcı yardımıyla bilgisayarda fotoğraf albümü oluşturulabilinir. Kişisel bilgiler, randevular, telefon numaraları ve önemli olaylar kaydedilebilinir. Yabancı dil programları ile başka dillerin öğrenilmesi sağlanılabilinir. Çok geniş bilgi kütüphaneleri içinde hızlı aramalar yaptırarak normalde vakit alacak araştırma işleri kolaylıkla halledilebilinir. Yeni Bilgisayar Kullanıcılarına Tavsiyeler Bilgisayar kullanmaya yeni başlayanlar, aşağıda verilen bazı önemli noktalara dikkat etmesi gerekir. Umutsuzluğa kapılmayınız . Bilgisayar kullanmak bir günde öğrenilecek bir şey değildir. Kendinize engeller koymayın. Yapamam diye düşünüyorsanız bir süre sonra sahiden de yapamadığınızı görürsünüz. Her şeyi birden öğrenmeye çalışmayınız. Belki bir süre çok az bir bilgiyle idare edebilirsiniz. Bilgisayarı kullandıkça yeni şeyler öğrendiğinizin farkına varacaksınız. Denemekten ve yanılmaktan korkmayınız. Programlar arasında kaybolmaktan çekinmeyin. Unutmayın ki bilgisayar kullanmak için bilgisayarcı olmak gerekmez. Önemli olan neyi ne kadar öğrendiğiniz değil, bilgisayarla işinizi görüp görmediğinizdir. Bilgisayarlardan beklentileriniz büyük olmasın. Bilgisayar kullanınca hemen harikalar oluşturacak değilsiniz. Bilgisayarın Tarihçesi Bilgisayarların tarihçesi basit hesaplama cihazlarından başlayarak yüksek hızlı elektronik ağ bağlantısına sahip süper bilgisayarlara kadar uzanan uzun bir hikayedir. Bu yolculuk M.Ö. 500 yıllarında eski Çin’de abacus’un (abaküs) icadıyla başlamaktadır. Bilgisayarın gelişimi vakum tüplerin, transistörlerin, entegre devrelerin, mikroişlemcilerin ve sayısız pek çok diğer icatlarla günümüze kadar gelmiştir. Bilgisayarın tarihçesini birkaç kuşağa ayırabiliriz. Abaküs (M.Ö. 500): İlk bölüm M.Ö. 500 yıllarında abaküs’ün icadıyla başlar abaküs ilk insan yapısı sayısal hesaplayıcıdır (Şekil 1). Belli bazı kuralları bilerek kullanıcı herhangi bir matematik işlemi gerçekleştirebilir. Abaküs gerçektende ilk bilgisayardır. Çünkü bir şeyler hesaplayabilmektedir. İnsan beynini bir kenara bırakırsak abaküs rakamlarla hesaplama yapan ilk cihaz idi. Şekil 1. İlk Abaküs Eniac (1943): ENIAC (Electrical Numerical Integrator and Calculator) Dünyanın ilk elektronik bilgisayarı 1943’de icat edildi (Şekil 2). Bu bilgisayarda vakum tüpleri kullanılmıştır. Kendisinden önceki herhangi bir makineden bin kat daha işlem yapabilme kabiliyetine sahipti. Çünkü eşitlikleri çözmekte kendisine has bir yöntem kullanmaktaydı. Bu bilgisayarın kötü tarafı çok fazla enerji harcaması ve çok fazla yer kaplamasıydı. Bu, o zamanki teknolojinin kısıtlı olmasından kaynaklanmaktaydı. Şekil 2. ENIAC Manyetik Depolama (1957): 1957’ye kadar depolama üniteleri olarak manyetik boncuklar kullanılmaktaydı. 1957’de bilgiyi saklamanın daha kolay ve daha güvenli olması nedeniyle manyetik teypler kullanılmaya başlandı. Daha çok depolama alanı, bilgisayarlarda daha büyük ve daha gelişmiş programları işletmeye imkan sağlar (Şekil 3). Şekil 3. Manyetik Depolama Ünitesi Transistör (1959): 1959’da bilgisayarlar, transistör adı verilen bir devre elemanı sayesinde giderek küçülmeye başlamıştır. Transistörler vakum tüplerinin yerini aldılar çünkü daha küçüktüler, daha az enerji harcıyorlardı ve çok daha hızlı idiler (Şekil 4). Şekil 4. İlk transistör ve günümüzdeki transistörler Entegre Devreler (1965) : Entegre devreler 1965’de keşfedildiler. Devreler cama benzer silikon adı verilen bir madde üzerine işlenmekteydi. Bu bilgisayar endüstrisinde büyük bir gelişmeye yol açtı. Çünkü çok fazla yer kaplayan transistörlerle dolu büyük kartlar daha küçükleriyle yer değiştirerek bilgisayarların daha küçük, daha güvenilir, daha hızlı ve daha ucuz olmasını sağladı. Şekil 5. İlk entegre ve günümüzdeki entegre Mikroişlemciler (1971) : 1971’de İntel ilk mikro işlemcilerden olan dört bitlik 108KHz hızındaki 4004 çipini piyasaya sundu. Mikroişlemciler bilgisayarların daha süratli karar vermesini ve daha derin düşünebilmesini sağladı. Böylece bilgisayarlar daha karmaşık işlemleri daha kısa bir sürede yapmaya başladılar. Mikroişlemciler bugünde olduğu gibi entegre devre teknolojisine dayalı olarak üretilmişlerdi (Şekil 6). Şekil 6 İlk mikroişlemci ve günümüzdeki mikroişlemci IBM PC (1981) : 1980’de IBM microsoft’tan ilk kişisel bilgisayar projesi için BASIC programlama dilini geliştirmesini istedi. 1981’de IBM, Datamaster adını verdiği ilk masaüstü bilgisayarını piyasaya sundu (Şekil 7). Şekil 7 İlk IBM PC ve günümüzdeki bir PC Bilgisayarın Çalışma Prensibi Elektronik devreleri analog ve dijital sistemler olmak üzere iki gruba ayırabiliriz. Analog sistemlerde devre üzerindeki gerilim değerleri sürekli değişkenlik gösterir. Bundan dolayıdır ki analog devreler tasarlanması ve arıza durumunda arızanın tespit edilmesi oldukça zordur. Dijital sistemlerde ise devre üzerinde 0V ve 5V olmak üzere sadece iki farklı gerilim değeri görülebilir. Bundan dolayıdır ki tasarlanması kolay arıza tespiti basittir. Bilgisayarlar dijital sistemlerdir. Dijital sistemlerde 0V değeri ikilik sayı sistemindeki 0’a +5V değeri ise 1’e karşılık gelir. Bilgisayarda ki bilgilerin tamamı 1’ler ve 0’lardan oluşur. (Şekil 8). Bir bilgiyi oluşturan bir tane 1 veya 0 bilgisini bilgisayarda saklamak için gerekli olan hafıza birimine bit denir. BİT, Binary Digit (ikili sayı) kelimelerinden türetilmiştir. Şekil 8 Binary Sayı sistemi ve decimal sayı sistemine dönüşümü 8 bitlik hafıza birimine 1 byte denir ve bilgisayarlarda kullanılan karakterlerin her biri 1 byte ile ifade edilir. Bu şekilde 256 (28) tane farklı karakter kodlanabilir. Karakterlerin kodlanması, ASCII (American Standart Code for Information Interchange) kodu adı altında uluslararası bir standarda kavuşturulmuştur. Bilgisayarda kullanılan karakterler sayısal (0’dan 9’a kadar olan rakamlar) ve alfa sayısal (a’dan z’ye kadar olan harfler ve diğer karakterler) olmak üzere iki gruba ayrılır. Hafıza Elemanlarının Kapasite Birimleri Bilgisayar ortamındaki bilgiler hafıza elemanlarında saklanır. Hafıza elemanlarının kapasite birimleri byte ile ifade edilir. Byte birimini üst katları aşağıdaki Tablo 1.1 de gösterilmiştir. Tablo 1. Kapasite Birimleri 1 Byte (B) 8 Bit 1 KiloByte (KB) 1024 Byte 1 MegaByte (MB) 1024 KiloByte 1 GigaByte (GB) 1024 MegaByte 1 TeraByte (TB) 1024 GigaByte Örnek 1: 2048 KB kaç MB’dır ve kaç Byte’dır 2048 / 1024 = 2 MB 2048 x 1024 = 2097152 Byte Örnek 2: Word sayfasında yazılmış olan 8192 adet karakter kaç KB’lık yer kaplar 8192 karakter = 8192 byte demektir. 8192 / 1024 = 8 KB’dır. Örnek 3: Elimde 80 GBLık bir sabit disk, 700MB’lık CD-ROM, 128MB’lık Flash Bellek ve 1,44MB’lık bir disket var. Bu durumda; 1 Sabit Disk = …………?…………. CD-ROM kapasitesine eşittir. 1 Sabit Disk = …………?…………. Flash Bellek kapasitesine eşittir 1 Sabit Disk = …………?…………. Disket kapasitesine eşittir. 80 GB = 81920 MB’dır. 1 Sabit Disk = 81920 / 700 = 117 CD-ROM kapasitesine eşittir. 1 Sabit Disk = 81920 / 128 = 640 Flash Bellek kapasitesine eşittir 1 Sabit Disk = 81920 / 1,44 = 56888 Disket kapasitesine eşittir. Bilgisayar Donanımı Bilgisayarlar, donanım (hardware) ve yazılım (software) olmak üzere iki ana başlık altında incelenebilir. Bilgisayarı oluşturan bütün fiziksel parçalara donanım denir. Diğer bir ifadeyle, tartı aleti üzerinde ağırlık yapan her şey donanımın bir parçasıdır. Dışarıdan bakıldığında bir sistemin bilgisayar diye nitelendirilebilmesi için en az monitör, klavye, mouse ve kasa (kasa içindeki birimler) birimlerini Şekil 9’da görüldüğü gibi içermesi gerekir. Şekil 9. Bilgisayarın genel görünümü Donanım Birimleri Giriş birimleri: Dış ortamdan bilgisayar ortamına veri girişi yapmak amacıyla kullanılan birimlerdir. Merkezi İşlem birimi: mikroişlemci olarak isimlendirilir ve bilgisayarımızda gerçekleşen işlemlerin tamamını bizzat yapar veya diğer birimler tarafından yapılan işlemleri denetler. Bellek birimleri: Bilgisayarımızdaki bilgilerin saklanması amacıyla kullanılan birimlerdir. Çıkış birimleri: Bilgisayardaki bilgileri dış ortama aktarabilmek amacıyla kullanılan birimlerdir (Şekil 10). Disket sürücü, CD sürücü ve modem gibi bazı çevre birimleri hem giriş hem de çıkış birimi olarak kullanılmaktadır. Şekil 10 Bilgisayar Donanım Birimleri Merkezî İşlem Birimi Mikroişlemci(CPU) Bilgisayar içinde yapılan işlemleri ya bizzat kendisi yapan ya da yapılmasını denetleyen birimdir. Dolayısıyla bilgisayarın yaptığı işlemlerde önemli katkısı vardır. Mikroişlemciler günümüze kadar çeşitli aşamalar kaydederek günümüze kadar gelmiştir. Tablo 4’de bu tarihsel gelişim kısaca özetlenmiştir. Şekil 28. Mikroişlemciler Tablo 4. Mikroişlemcinin tarihsel gelişimi INTEL AMD CYRIX 8086 (1978) - - 8088 (1979) - - 80186 (1980) - - 80286 (1982) - - 80386 (1985-1990) 386 benzeri 386 benzeri 80486 (1989-1994) 486 benzeri 486 benzeri Pentium (1993) Am5x86 (1995) 5x86 benzeri Pentium Pro (1995) AMD K5 (1996) 6x86 (1995) Pentium MMX (1997) AMD K6 (1997) 6x86MX (1997) Pentium II (1997) - - Celeron (1998) AMD K6-2 ve K6-3 (1998) - Pentium III (1999) AMD Athlon (1999) Üretimi durduruldu (1999) Celeron II (2000) Duron (2000) - Pentium IV (2000) - - İşlemcilerin kendilerine verilen komutları işlemekteki hızları onların önemli özelliklerinden birisidir. Bu özellikleri MHz olarak ifade edilir ve 1 saniyede kaç milyon komut işleyebildiklerini gösterir. Örneğin 1000 MHz (1GHz) işlem hızına sahip bir işlemci, saniyede 1 Milyar işlem yapabilir. Yukarıdaki tabloda verilen işlemciler arasında böyle bir kıyaslama yapacak olursak, ilk çıkan 8086 işlemcisi saniyede ancak 4 milyon işlem yapabilirken, yeni bir Pentium IV işlemci saniyede 2 milyardan fazla işlem yapabilir. Şekil 29. 4004 İşlemci Şekil 30. 8086 İşlemci İşlemcileri bir diğerinden ayırt eden önemli özelliklerden birisi de onun bir seferde işleyebileceği bilgi miktarını gösteren komut kapasitesidir. Bu da bit ile ifade edilir. Yine bir karşılaştırma yapacak olursak, ilk çıkan 8086 tipi bir işlemci 8 bit komut kapasitesine sahipken, yeni bir Pentium IV işlemcisi 64 bitlik komut kapasitesine sahiptir. Komut kapasitesi, basitçe işlemcinin bir seferde işleyebildiği rakamın ne kadar büyük olduğunu göstermektedir. Şekil 31. 386 işlemci Şekil 32. Pentium MMX işlemci Yukarıdaki ifadelerden de anlaşılacağı üzere, hızlı işlemci iyi işlemci demek değildir. Daha yavaş fakat komut kapasitesi yüksek bir işlemci, hızlı fakat komut kapasitesi düşük bir işlemciden daha güçlü olabilir. Bu nedenle bilgisayar alırken yeni model işlemciler tercih edilmelidir. Şekil 33. Pentium II işlemci Şekil 34. Pentium IV Mikroişlemci Şekil 35. Celeron İşlemci Şekil 36. AMD işlemci Çok Çekirdekli Kavramı Çok çekirdekli işlemcilerde, çekirdek diye bahsedilen aslında fiziksel manada işlemcinin kendisidir. Zar(die) içinde çok yakın bir zamana kadar sadece bir tane işlemci çekirdeği bulunuyordu. Ancak, mesela çift çekirdekli işlemcileri ele aldığımızda, bir zar içerisinde iki tane işlemci çekirdeği bulunduğunu görürüz. Çok çekirdekli işlemciler denildiği zaman mutlaka değinilmesi gereken çeşitli kavramlar vardır: İple Bağlama (Threading): Aynı anda birden fazla iş parçacığını işleme sokabilmektir. Çoklu İşleme (Multi Processing): Threading ve çekirdekler ile yapılan çoklu işlemlerin tümüdür. Çoklu Görevlendirme (Multi Tasking): Birden fazla programın aynı anda çalıştırılmasını sağlar. Çoklu Çekirdek Tasarımı Çoklu çekirdek tasarımının en büyük avantajı, aynı anda birden fazla işlem yapabilme kapasitesidir. Bu tür işlemcilerde hızı sağlayan asıl etken, aynı zar üzerindeki iki işlemcinin etkileşmesinin, ayrı ayrı işlemcilerin etkilenmesinden daha hızlı olmasıyla oluyor. Çok çekirdekli işlemcilerde, iki çekirdek aynı veri yolu ve aynı bellek bant genişliğini kullanacağından bu verimin düşmesine neden olur. İşlemci piyasasında işlemci başarımı çok önemlidir ve bu yüzden başarımı en mükemmel yapmak gerekir. Var olan üretim teknolojisi kullanılarak saat hızı ve işleme birimleri arasındaki dengeyi en iyi şekilde sağlayarak başarımı en iyi duruma getiren taraf, işlemci piyasasındaki başarım mücadelesini kazanabilir. Çok iş parçacıklı yazılımlar, çok çekirdekli tek işlemcili ve tek çekirdekli çok işlemcililerde işletim sisteminin iş parçacıklarını çekirdekler arasında paylaştırır. Bir bilgisayarın başarımını arttırmak için saat hızını yükseltmektense daha fazla sayıda çekirdek eklemek başarımı daha fazla arttırır. Çok Çekirdekli İşlemciler Eski 8086 işlemcilerinden, Athlon 64 ve Intel Pentium 4’e kadarki tüm işlemciler tek çekirdeklidir. Yani bunlar, üzerlerinde tek bir işlem birimi taşıyan işlemcilerdir. Tek vuruşlu işlemcilerde, tek bir uygulama varken saat hızları yüksek olduğunda başarım yüksek olabilir. Çift işlem çekirdeğine sahip olmak demek teorikte çift işlem gücü demektir ancak işlem gücünün artabilmesi için uygulamaların çok çekirdekli işlemcilere göre uyarlanmış olması gereklidir. Eğer yazılım çok iş parçacıklı çalışmak üzere tasarlanmışsa, daha yüksek hesaplama gücüne ihtiyaç duyan ağır bir yazılımdır. Bu tür yazılımları çalıştırmak için çift çekirdekli işlemcileri kullanmak kullanıcıya kolaylık sağlayacaktır. Ayrıca çift çekirdek, kullanıcı internette dolaşırken aynı anda elektronik posta gönderebilmesi gibi birden fazla uygulamayı aynı anda çalıştırmada kolaylık sağlar. Yani çift çekirdek sayesinde aynı anda birçok uygulama sorunsuz çalışır. Dört çekirdekli işlemcilerin ise güçlerini gösterebildikleri az sayıda uygulama var. Çünkü uygulamaların birçoğu çok çekirdekli işlemcilere göre uyarlanmamıştır. Dört çekirdekli işlemciler, dört adet işlem çekirdeğinin ortak bir önbellekte tek bir yonga içine sokulmasıyla üretilirler. Anakart Şekil 37. Anakartın görüntüsü Anakart, işlemcinin, bilgisayarın diğer bileşenleriyle haberleşmesini sağlayan karttır. Bilgisayarın mikroişlemcisi anakart üzerinde bulunur. İşlemci ile anakartın birbirine iyi uyum sağlaması bilgisayarın sağlıklı ve en üst performans seviyesinde çalışması için gereklidir. Bilgisayarın içbelleğini oluşturan RAM bellek modülleri de yine anakarta takılır. Bilgisayarın diğer bileşenleri, yuva (slot) adı verilen konnektörler üzerinden anakarta bağlanır. Farklı özellikteki kartları bağlamak için farklı slotlar mevcuttur (ISA, PCI, AGP gibi). Bu bakımdan, anakart, PC tipi bilgisayarın önemli mimari özelliklerinden birisidir. Bu sayede basitçe bir kart ekleyerek bilgisayarın farklı donanımsal özellikleri desteklemesi sağlanmaktadır. Örneğin, ses özelliği olmayan bir bilgisayara ses kartı takılarak oyunlardaki sesleri daha etkili çıkarması ve mp3 biçimli müzik parçalarını çalması sağlanabilmektedir. Anakartlar hakkında konuşurken hep chipset (yongaseti) kavramından bahsederiz. Bir yongaseti North Bridge (Kuzey Köprüsü) ve South Bridge (Güney Köprüsü) denen iki yongadan oluşur. Tipik bir Nortbridge yongası temel olarak işlemciden, bellekten ve AGP veriyolundan sorumludur ve bunların kontrolüyle bunlar arasındaki veri aktarımını sağlar. Ancak Northbridge ve Southbridge özellikleri üreticiye ve yongasetine göre farklılık gösterebilir ve bu genellemenin dışına çıkabilir. Örneğin AMD`nin Hammer serisi işlemcilerinde bellek kontrolcüsü işlemciye entegre olacağından bu işlemciyi destekleyen Northbridge yongalarında bellek kontrolcüsü bulunmayacak. Northbridge yongası fonksiyonlarından dolayı işlemciye, bellek ve AGP slotlarına yakın olmalıdır (sinyalin geçtiği fiziksel yollar ne kadar kısa olursa sinyal o kadar temiz ve hatasız olur) ve bu yüzden de anakartın üst kısmına yerleştirilir. Zaten adındaki “North” kelimesi de buradan gelmektedir. Southbridge yongası ise giriş – çıkış birimlerinden, güç yönetiminden, PCI veriyolundan ve USB ile anakarta entegre özelliklerden (ses ve ethernet gibi) sorumludur. Adındaki “South” kelimesinin de yine anakarttaki pozisyonundan geldiğini kolayca tahmin edebilirsiniz. Üreticilerin yonga setlerini iki parça halinde tasarlamaları anakart tasarımında esneklik sağlar. Örneğin USB 2.0 desteği olmayan bir yongasetine bu desteği eklemek için bütün yongasetini baştan tasarlamak yerine sadece Southbridge yongasında değişiklik yapmak çok daha kolaydır. Ayrıca değişik özelliklerdeki Soutbridge yongaları kullanılarak değişik kullanıcı gruplarına hitap etmek mümkün olur ve böylece kullanmayacağınız özellikler için boşuna para vermek zorunda kalmazsınız. Şekil 38. Yonga seti blok diyagramı