Bilgisayarlar Nasıl Çalışır? BİL 110 Bilgisayara Giriş Bilgisayarlar Nasıl Çalışır? Öğrt. Gör. Dr. Ahmet Cengizhan Dirican Bilgisayar Müh. Böl.
Bir Bilgisayarı Neler Oluşturur? Bilgisayarlar temel olarak , donanım ve yazılım olarak isimlendirilen, iki kısımdan oluşmaktadır. Donanım (Hardware): Bilgisayarın fiziksel, elle tutulabilen kısmını oluşturur. Bilgisayarı oluşturan bütün aygıt ve fiziksel parçalara verilen genel addır. Yazılım (Software): Bilgisayarın sanal, elle tutulamayan ancak bilgisayar donanımı üzerinde çalıştırılıp, monitör veya printer gibi çıktı aygıtları üzerinden sonuçları gözlenebilen kısmıdır. Diğer bir tanımla, belirli işlemleri yapmak için bilgisayara yüklenilen programlara verilen genel isimdir ve iki temel çeşitir vardır. Sistem Yazılımları (System Software): Donanımı kullanmak ve kontrol etmek için kullanılan genel programdır. Örn: İşletim sistemleri, derleyiciler. Uygulama Yazılımları (Application Software): Kullanıcıların temBilgisayarı çalıştıran veri ve uygulamalar. Bu sunumuzda bitler ve byte’lar; sayısal bilgiler işleyen bir bilgisayarın nasıl çalıştığını göreceğiz. Sunumun tümünü detaylı olarak dinlemenizi öneririm. Dersin tümü animasyonlar ve çeşitli simülasyonlar ile anlatılmıştır. Dersi kendileri anlatmak amacında olan teknik lise öğretmenlerimiz için tüm bu araçlar sunum ile birlikte sizlere verilmiştir. Bir bilgisayarın nasıl düşündüğünü anlamak için önce bazı kavramlara bakalım. Bir bilgisayarı neler oluşturur? Hardware – Bilgisayarın fiziksel kısmı, örneğin ekranı, işlemcisi, hafıza ve hard disk bölümü..vesaire, System Software – bu donanımı kullanmak ve kontrol etmek için kullanılan genel program (OS – işletim sistemi) ve Application Software – bilgisayarı çalıştıran veriler, girdi ve çıktılar ve uygulamalardır. Bu kavramları bildiğinize eminim.
Bilgisayarlar Nasıl Çalışır ? girdi donanımları aracılığıyla aldıkları bilgiyi çeşitli temel donanımlar vasıtasıyla işler, çıkış donanımları vasıtasıyla sonuçları kullanıcıya gösterdikten sonra istenirse tüm bu bilgileri daha sonra kullanılmak üzere, saklama donanımlarını kullanarak saklar veya iletişim donanımları aracılığıyla başka bir yere/bilgisayara gönderir. Tüm bu süreç her ne kadar adı geçen donanım gruplarıyla gerçekleştirilse de, neticede tüm bu donanımların çalıştırılması veya yapacakları işler yazılımlarla veya programlarla belirlenmekte ve yönetilmektedir. Diğer bir deyişle donanım ve yazılım bu sürecin ayrılmaz iki parçasıdır.
Bilgisayarın İç Donanımları Merkezi İşlem Birimi (CPU: Cenral Processing Unit) Bellek (RAM) Anakart (Mainboard) Adaptör Kartları Ses Kartı (Sound Card) Ekran kartı (Graphics Card) Portlar (Ports) Sabit disk (Hard Disk) Optik sürücüler (Optical Drives) Güç kaynağı (Power Supply) Power Supply Drive Bays Processor Ports Memory Bilgisayarın ana ünitesi bazen işlemcisi olarak da adlandırılır. Aslında işlemci bu ana ünitenin içindeki bileşenlerden sadece biridir. İşlemci yani CPU yanından ana ünitenin içinde hafıza birimleri, anakart, ses kartı veya video kartı gibi ek kartlar, bu birimlere dış Dünyadan bağlantıyı sağlayan portlar, Hard disk, DVD veya CD gibi optik sürücüler ve bunların tümünü besleyen güç kaynağı bulunmaktadır. İşte bunların hepsi ana ünitenin dahili bileşenleri olarak adlandırılır. Sound Card Video Card
Bilgisayarın Dış Donanımları Temel Girdi Donanımları Klavye, Fare, Touchpad, Joyistik Scanner, Webcam Mikrofon Temel Çıktı Donanımları Monitör Yazıcı, vb. Hoparlörler Diğer Aygıtlar Bilgisayarların veri alabileceği, çıktı yapabileceği veya dışarıdan bilgisayar kontrolüyle yönetilmek istenebilecek pek çok aygıt olabilir. --********************
Sistem Yazılımları Sistem Yazımları. Örn: İşletim sistemleri, derleyiciler, editörler, haberleşme programları. Bilgisayar donanımına can veren yazılımlardır. Uygulama programlarına göre daha düşük seviyelidirler. İşletim Sistemi İşletim sistemi bilgisayar kaynaklarını (CPU, bellek, sabit disk, diğer aygıtlar) yöneterek, uygulama programlarının çalışmasını sağlayarak, kullanıcı ile bilgisayar arasındaki iletişimi sağlayan aşağı seviyeli bir sistem programıdır. İşletim Sisteminin Temel Görevleri Merkezi İşlem Birimi Yönetimi Bellek Yönetimi Disk Yönetimi Dosya Sistemi Yönetimi Diğer Aygıtların Yönetimi Diğer yazılımların çalıştırılması Kullanıcı ile iletişimin sağkanması
Uygulama Yazılımları Ofis Programları. Örn. Kelime İşlemciler, Çalışma Tabloları, Gösteri/Sunum Hazırlama, Internet Tarayıcılar Mesleki ve Ticari Yazılımlar. Örn: Muhasebe,stok kontrol ve hasta takip programları. Veri elde edilmesi, işlenmesi, raporlanması ve saklanması başlıca özellikleridir. İşlenen veri miktarı göreli olarak büyüktür. Zamanın büyük kısmı giriş/çıkış işlemleri için harcanır. Bilimsel ve Mühendislik Yazılımlar. Örn:Elektronik devre çözümü, simülasyon, bina kiriş/kolon hesabı programları. Matematiksel ve istatistiksel algoritmalar ağırlıklıdır. Yoğun olarak sayı ve sayı dizileriyle uğraşılır. Veri miktarı göreli olarak düşüktür. Matematiksel karmaşıklık başlıca ayırt edici özellikleridir. CPU kullanımları oldukça yüksektir. Yapay zeka yazılımları. Örn: Satranç oynayan programlar, uzman sistemler, doğal dil algılama ve robot programları İnsan davranışlarını taklit etmeyi amaçlayan programlar. Görüntüsel Yazılımlar. Örn: Oyun ve animasyon programları. Görüntü işlemlerinin ve algoritmalarının yoğun olduğu programlardır. Bilgisayarın grafik arabirimini yoğun bir biçimde kullanırlar.
Bilgi Nasıl İşlenir? Girdi (Input) İşleme (Processing) Çıktı (Output) Saklama (Storage) İletişim (Communication) Bilgisayarlar Bilgiyi Nasıl İfade Eder?
Bilgi Nasıl İşlenir? (1/2) Bilgisayarda bilgi Merkezi İşlem Birimi (CPU) tarafından, ona verilen programlar takip edilerek veya uygulanarak işlenir. Program bilgisayar tarafından çözülmesi istenen bir problem için üretilmiş bir çözümün veya algoritmanın bilgisayar diline veya işlemcinin onu anlayabileceği biçime çevrilmiş haline denir. Bir problemin veya belirli bir işin nasıl yapılacağını tanımlayan adımlar kümesine algoritma denir. Daha teknik ifadesiyle, algoritma, sonlu bir süreci tanımlayan, sıralı, kesin (açık) ve çalıştırılabilir adımlar kümesidir. Örn: Yemek pişirme yemek tarifler Adres bulmak Yol tarifleri Çamaşır yıkama Makine kullanım talimatnamesi Bir makinenin (bilgisayarın) belirli problemi çözebilmesi veya bir görevi icra edebilmesi için öncelikle bu görevin yapılmasını sağlayacak bir algoritmanın keşfedilmesi gerekir. Daha sonra keşfedilen algoritmanın ilgili makineye uyumlu olarak ifade edilmesi gerekmektedir.
Bilgi Nasıl İşlenir? (2/2) İnsanlar için programlar kağıt üzerinde veya bilgisayar ekranında gösterilir. Makineler için ise programlar makinenin teknolojisine uygun bir biçimde kodlanırlar. Bir programın geliştirilmesi, makineye uyumlu biçime kodlanması ve makine içine yerleştirilmesi sürecine programlama denir. Programlar, ve onların ifade ettikleri algoritmalar, toplu halde yazılım olarak ele alınır. Diğer bir tanımda yazılım, programlamayı ve bu konuyla ilgili dokümantasyonları içeren genel bir terimdir.
Bilgisayarlar Bilgiyi Nasıl İfade Eder veya Gösterirler? Bilgisayarlar bilgiyi, kendi elektronik doğalarına/teknolojilerine uygun bir biçimde 1’ler ve 0’lar veya ikili sayı sistemi kullanarak geliştirilmiş sayısal şifreleme teknikleri vasıtasıyla ifade ederler. Yapılan işlem temelde, belirli tipteki bir verinin, (tam sayı, ondalıklı sayı, yazı, resim veya ses), ona özel olarak geliştirilmiş, bilgisayar teknolojine uygun bir şekilde ve daha sonra onun işlenmesini mümkün kılacak bir biçimde şifrelenmesidir.
Veri Gösterimi, İkili Sistem ve Bit Kavramı Bilgisayarda veriler “digital” şekilde, yani ikili tabanda gösterilir. Bilgisayarlar yanlızca 1 ve 0 değerleri üzerinde işlem yaparlar. 1 ve 0, “on/off” veya “açık/kapalı” durumlarını tanımlar. Bu iki durumu tanılamak için ikili (binary) sistem kullanılır. İkili sistem 1 ve 0 sayılarından oluşan matematiksel bir sayma sistemidir. Her sayıya “binary digits” kelimelerinin kısaltılmışı olan “bit” denir Bilgisayar verileri nasıldır? Nasıl gösterilir ve bilgisayar bunları nasıl algılar. Biraz da buna bakalım. Bilgisayarın ikili tabanda işlem yaptığını hemen hemen hepimiz biliriz. Elektriksel olarak ON ikili tabanda “1” seviyesine ve yine elektriksel olarak OFF ise ikili tabanda “0” seviyesine karşı düşer. Sadece “0” veya “1” değeri alabilen bu sayma sistemine Binary, yani ikili sistem denir. Bu sayma sisteminin tek bir hanesine bit denir.
Byte Kavramı 8 bit’in gruplanması ile oluşturulan birimdir. Veriler byte ve byte’ın katları olarak depolanır (KB, MB, GB) 256 farklı karakterin gösterimi için “1” ler ve “0” lardan oluşan yeterli farklı kombinasyonu sağlar Numaralar Büyük ve küçük harfler Noktalama işaretleri 8 tane bitin yan yan gelmesi ile bir byte oluşur. “0” veya “1” lerden oluşan sayısal bilgiler onluk sayma düzeninde olduğu gibi yan yana gelen rakamların basamaklar şeklinde farklı ağırlıkta olması ve yan yana gelerek veri ifade edebildiği gibi burada 3. örnekteki gibi belirli bir kodlama tekniği ile farklı bilgiler, örneğin alfabetik harfleri de simgeleyebilir. 8 tane bit, yani bir byte ile 256 farklı sayısal bilgi ifade edilebilir. Bunlar sayılar, büyük veya küçük harfler veya bildiğimiz tüm noktalama işaretleri olabilir.
Onlu (Decimal) Gösterim Her basamak için 10 olası değer (0-9) 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, ??? Sonra ne yaparız? En sağdaki basamak birler basamağı (0’dan 9’a), Sonraki onlar basamağı (10’dan 90’a), Sonraki yüzler basamağıdır (100 den 900 e) vb... 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, …, 98, 99, 100, vb. Örneğin, 506 6 bir, 5 yüz (6 x 100) + (0 x 101) + (5 x 102) = 506 (6 x 1) + (0 x 10) + (5 x 100) = 506 İnsanın algılayabileceği sayma sistemi onluk düzendir. Onluk sayma siteminde 0,1,2,3,4,5,6,7,8 ve 9 simgeleri bulunmaktadır; ki biz buna rakam diyoruz. Daha yüksek sayılar için bu rakamların yan yana gelmesi gerekir. Onluk sayma sisteminde bu simgelerin en düşük anlamlı hane yani birler basamağındaki değeri ile örneğin bir sonraki basamak olan onluk hanesindeki değeri on misli farklıdır. Örneğin onluk düzende 506 sayısında 6 tane bir, 0 tane on ve 5 tane yüz vardır. Bunu biliyoruz. Burada yine 506 sayısının 10’un katları şeklinde gösterimi görülmektedir. 6 x 10^0 (herhangi bir sayının sıfırıncı kuvveti birdir) + 0 x 10^1 + 5 x 10^2
İkili (Binary) Gösterim Her basamakta sadece 2 olası değer (0 veya 1) 0, 1, ??? Sonra ne yaparız? En sağdaki basamak birler basamağı (0 ve 1), Sonraki ikiler basamağı (1’den 2’ye), Sonraki dörtler basamağı (1’den 4’e) vb... 0, 1, 1 0, 1 1, 1 0 0, 1 0 1, …, 1 1 0 1, 1 1 1 1, vb. Örneğin, 1 1 0 1 iki, 1 dört (1 x 22) + (1 x 21) + (0 x 20) = (1 1 0)2 (0 x 1) + (1 x 2) + (1 x 4) = (1 1 0)2 Şimdi ikili düzende benzer bir düşünüşe yakından bakalım. Burada sadece “0” ve “1” simgeleri birinci yani en az anlamlı haneden sonra ikinci basamağa konulduğunda ağırlığının ikili sayma düzeninde 2 ve 3. hanede 4 misli olduğunu söylemeliyiz. Yani her sayma düzeninde basamakların ağırlıkları sayma düzeninin katlarıdır. Örneğin 110 ikili düzendeki sayı 0 tane 1, 1 tane 2 ve 1 tane 4 ifade eder. Bunları toplayarak verinin büyüklüğü tespit edilir. Matematik gösterimi ise 0 x 2^0 + 1 x 2^1 + 1 x 2^2 şeklindedir. İkili düzende her basamağın ağırlığı ikinin katları şeklindedir. 1,2,4,8,16,32,64 ve 128 gibi.
Binary (ikili – 2 tabanında) Sistem Üstler 6 5 4 3 2 1 2 tabanında eşitlik n = 1 veya 0 26 x n 25 x n 24 x n 23 x n 22 x n 21 x n 20 x n Üst Sonuçları 64 32 16 8 İkili Gösterim Sonuç 77 Bu tabloda 7 bitlik bir ikili düzen sayısını bizim anlayacağımız onluk düzene dönüşmesini göreceğiz. Burada 0,1,2,3,4,5,6 ‘cı basamakları görüyoruz. Bu satırda ise 2’nin katları şeklinde her basamağın ağırlığı görülmektedir. En düşük ağırlıklı basamak buradaki en düşük bit 2^0 (yine burada her sayının 0’cı üstünün bir olduğunu tekrar hatırlayalım) yani 1 değerinde, bir sonraki basamak 2^1 = 2 değerinde, bir sonraki 4 ve sonraki 8, 16,32 ve 64 değerindedir. Şimdi sayımızın 1001101 oluğunu farz edelim. Bu durumda 1 olan basamakların ağırlıklarını tam olarak aşağıya yazar ve 0 olan haneleri ise 0 olarak geçersek 64+8+4+1 =77 ‘yi buluruz. Bilgisayar ikili sayma düzenindeki verileri bu şekilde algılar. İkinin katları şeklinde ağırlıklandırılmış basamaklar ile…
Yazının Gösterimi: ASCII ASCII: American Standard Code for Information Interchange Latin alfabesi üzerine kurulu 7 bitlik bir karakter setidir ANSI X3.110-1963 adıyla bir standart olmuştur Sembolleri gösterebildiğimiz tek yolun bu olmadığına dikkat edin. Symbol Decimal Binary 7 55 00110111 8 56 00111000 9 57 00111001 : 58 00111010 ; 59 00111011 < 60 00111100 = 61 00111101 > 62 00111110 ? 63 00111111 @ 64 01000000 A 65 01000001 B 66 01000010 C 67 01000011 Code for Information InterchanHemen burada ASCII kodlamasından bahsedelim. ASCII American Standard ge, Bilgi Değişimi İçin Amerikan Standart Kodlama Sistemi demektir. Latin alfabesi üzerine kurulu 7 bitlik bir karakter setidir. İlk kez 1963 yılında ANSI tarafından standart olarak sunulmuştur.
Veri Gösterimi (Input/Output) Bir harf nasıl ikili sisteme çevrilir ve geri döndürülür Adım 2. “D” harfi için elektronik sinyal sistem ünitesine gönderilir Adım 1. Kullanıcı klavyeden “D” (shift+D) tuşuna basar Peki girdi ve çıktılardaki veriler nasıl algılanır veya gösterilir. Buna biraz daha yakından bakalım. Öncelikle tuş takımına basıldığında ne olur? Tuş takımı üzerinde sıralanmış tüm tuşlar satır ve sütün konumlarına göre kodlanmıştır. Örneğin benim tuş takımımda “D” harfi 4. satırda ve 4. sütunda. İlk olarak bu bilgilere ait sayısal işaretler bilgisayara gönderilir. Bilgisayar “D” harfine ait bu satır ve sütün bilgilerinden sayısal ASCII “D” kodunu algılar. 01000100. Bu veri hafızaya işlenir ve son olarak bu koda paralel, ekranda “D harfi tekrar oluşturulur. Adım 3. “D” harfi için sinyal ASCII ikili koda (01000100) dönüştürülür ve işlenmek için hafızada saklanır Adım 4. “D” harfinin ikili kodu üzerinde işlem yapıldıktan sonra kod görüntüye çevrilir ve çıkış aygıtında gösterilir
Yazının Gösterimi: EBCDIC EBCDIC: Extended Binary Coded Decimal Interchange Code IBM tarafından kullanılan bir karakter kümesi ailesidir Daha çok OS/360 işletim sistemi ve S/390 sunucularında kullanılır Harf, rakam, işaretleri karşılayan 256 farklı sembolü kodlayabilir ASCII Symbol EBCDIC 00110000 0 11110000 00110001 1 11110001 00110010 2 11110010 00110011 3 11110011 ASCII dışında özellikle eski tip büyük bilgisayar sistemlerinin kullandığı EBCDIC kodalamayada burda değinmek istiyorum. EBCDIC (Extended Binary Coded Decimal Interchange Code = Genişletilmiş İkilik kodlu Ondalık Değişim Kodu) IBM tarafından kullanılan bir karakter kümesi ailesidir. Daha çok OS/360 işletim sistemi ve S/390 sunucularında kullanılır. Harf, rakam, işaretleri karşılayan 256 farklı sembolü kodlayabilir.
Hegzadesimal (16’lık) Kodlama Sistemi
Adrese göre düzenlenmiş hafıza hücreleri
Adrese göre düzenlenmiş hafıza hücreleri
CD depolama biçimi
Bir Manyetik Teyp Depolama Mekanizması
ASCII Kodlarıyla “Hello.”
Onluk ve İkilik Sistem
İkilik “100101”
Pozitif Tam Sayıların İkili Gösterimi: Algoritma
Pozitif Tam Sayıların İkili Gösterimi: Örnek
Figure 1. 18: The sound wave represented by the. sequence 0, 1. 5, 2
İkili Toplama
İki sayıların Çözümlenmesi: 101.101
İkiye Tümleme Gösterim Sistemi Two’s Complemment Notation
4 bit Kullanarak -6 Sayısının “İkiye Tamamlama Yöntemiyle” Gösterimi
İkiye Tamamlama Gösterimine Dönüştürülmüş Toplama Problemleri
Excess 8 Dönüşüm Tablosu
3 Bit ile Excess Gösterim Sistemi
Kayan Nokta Gösterim Bileşenleri
2 5/8 Değerini Kodlama
Bilginin Saklanması Bilgisayarda bilgiler kalıcı/sürekli hafıza ortamlarında saklanır. Bunlar: Sabit diskler, Flash bellekler, CD/DVD, Disket Hafıza Ortamlarının Ölçü Birimleri Byte (B) = 8 bit Kilobyte (KB) = 1024 Byte Megabyte (MB) = 1024 KB = 1,048,576 Byte Gigabyte (GB) = 1024 MB = 1,073,741,824 Byte Terabyte (TB) = 1024 GB = 1,099,511,627,776 Byte