BİLGİSAYARA GİRİŞ Yazılım Mühendisliği Bölümü
Bilgisayar Nedir? Aritmetik ve mantıksal işlemleri yapabilen, yaptığı işlemlerin sonucunu saklayabilen ve istenildiğinde geri getiren elektronik bir cihazdır. Programlanabilen lojik bir devredir.
Bilgisayarların Sınıflandırılması Mikrobilgisayarlar Kişisel Bilgisayarlar (Personal Computer PC) Kişisel bilgisayar veya PC, şahsi kullanıma yönelik özel olarak tasarlanmış, herhangi bir uzman veya operatörün yardımı olmadan kişilerin kendi başlarına kullanabileceği bilgisayar türüdür. (x86 x64) Terminal Bilgisayarlar Çok fazla donanım öğesine ihtiyaç duymadıklarından konfigürasyonları sınırlıdır. Genellikle ana bilgisayarın sabit diskini kullandıkları için sabit diskleri bulunmayabilir.
Bilgisayarların Sınıflandırılması Ana bilgisayar (MainFrame) binlerce kullanıcıya eş zamanlı olarak farklı hizmetler verebilen, büyük, güçlü ve pahalı bir bilgisayardır Süper Bilgisayar Kullanıcı sayısı çok olmamakla beraber çok yüksek işlem hızı gerektiren bilimsel çalışmalarda kullanılır.
Flynn Sınıflandırması SISD (Single Instruction Single Data Tek Komut Tek Veri) SISD, aynı anda tek bir komut, tek bir veriyi işlemektedir, yani bilgisayar da bir işlemci (CPU) ve bir yönetim birimi (control unit) mevcuttur. SIMD (Single Instruction Multiple Data Tek Komut Çok Veri) SIMD (Dizi) sisteminde, program Yönetim (kontrol) Birimi tektir, işlemci ise birden fazladır ve zamanın her anında bir komut birden fazla veri üzerinde işlem yapmaktadır.
Flynn Sınıflandırması MISD (Multiple Instruction Single Data Çok Komut Tek Veri) MISD, birçok komut aynı anda bir tek veriyi işlemektedir, yani aynı bir işlemcideki veri üzerinde birden fazla Yönetim Birimi'nin ürettiği çeşitli komutlar işlem yapmaktadır. MIMD (Multiple Instruction Multiple Data Çok Komut Çok Veri) Bu yapıda çeşitli işlemcilerde çeşitli veriler üzerinde çeşitli komutlara uygun işlemler yapılmaktadır, yani işlemci ve Yönetim Birimlerinin sayısı birden fazla olmaktadır.
Flynn Sınıflandırması SISD MISD SIMD MIMD
Von Neumann Mimarisi Von Neumann mimarisi veri ve komutları tek bir depolama biriminde bulunduran bilgisayar tasarı örneğidir. Genel olarak 4 parçadan oluşur. kontrol birimi (CPU). matematiksel ve mantıksal işlemleri yapan aritmetik mantık birimi (ALU). bilgi saklamaya yarayan hafıza bölümü (memory) bilgisayar ile insanların iletişimini sağlayan birimler (I/O).
Von Neumann Mimarisi
Bilgisayarın Mimarisi Klavye Sabit Disk Monitör CPU Fare Bellek Yazıcı Giriş Birimleri İşlem Birimleri Çıkış Birimleri
Von Neumann Mimarisinin Sorunları Crash (İflas Etme) Yanlış çalışan programlar kendi üzerlerinde yapmaları gereken değişiklikten farklı bir değişiklik yaptıklarında, hem kendileri iş yapamaz hale gelebilirler hem de başka programlara yanıt veremediklerinden onların da çalışmasını durdurabilirler. Bottleneck (Dar Boğaz) Hafızanın çalışma hızı ile işlemcinin çalışma hızı arasındaki fark artmıştır. İşlemcinin bilgileri işleme ve hafızadan yeni bilgiler talep etme hızı, hafızanın bilgi gönderebilme hızından çok daha yüksek olduğundan, bilgi işleme hızı (CPU nun hızından bağımsız olarak) büyük oranda düşmektedir. registerlar
Bilgisayarın Donanımı Bilgisayar donanımı, bir bilgisayarı oluşturan fiziksel parçaların genel adıdır. Genel olarak iki ana başlık altında incelenebilir: Ana Donanım Birimleri Kişisel bilgisayarların çalışması için zorunlu olan elemanlar, Ek Donanım Birimleri Bilgisayarın çalışması için zorunlu olmayan elemanlar, ek işlevler için kullanılır.
Ana Donanım Birimleri Anakart Merkezi işlem birimi (CPU) Bellek (RAM, ROM, Cache) Ekran (Monitor) ve Ekran Kartı Sabit Disk (Harddisk) Güç Kaynağı Klavye ve Fare (*)
Ek Donanım Birimleri Yazıcı Ses Kartı Hoparlör ve Mikrofon CD Rom Sürücü DVD Rom Sürücü Ağ (Ethernet) Kartı Modem Tarayıcı (Scanner) Televizyon Kartı Dijital Fotoğraf Makinesi Kamera Sunum (Projektör) Cihazı Kesintisiz Güç Kaynağı (UPS) Çizici (Plotter)
Anakart Bilgisayar sisteminin birincil ve en merkezi baskılı devre kartıdır. Fiziksel yapı olarak anakartlar özel alaşımlı bir blok üzerine yerleştirilmiş ve üzerinde RAM yuvaları genişleme kartı slotları, devreler ve yongalar bulunan bir plakadır. Bir anakart, sistem bileşenleri arasındaki haberleşmeyi sağlar, Merkezi işlem birimi ve gerçek zamanlı saat ve bazı çevresel arabirimler gibi diğer alt sistemleri de içerir.
Anakart
Anakart Veri yolları Anakart işlemcisi parçalar arasındaki veri transferlerini ve anakartı dışarı ile çeşitli bağlantılarını sağlar Dahili Parça Portları İşlemci CPU Portu Ram Portu DIMM Port PCI Portları PCI Express Portları IDE ATA Portu Sata ve Sata2 Portları Güç Bağlantı Portu
Anakart Harici Parça Portları Klavye ve Mouse Portu Paralel Port Seri Port USB Portu Ethernet Portu Ses Portları
Merkezi İşlem Birimi İşlemci Bilgisayarın birimlerinin çalışmasını ve bu birimler arasındaki veri (data)akışını kontrol eden, veri işleme (verileri değerlendirip yeni veriler üretme) görevlerini yerine getiren elektronik aygıttır. Mikroişlemcilerin yapısında milyonlarca transistör denilen yarı iletken malzeme bulunmaktadır. İşlemler yapılırken Logic (mantıksal 1 veya 0) mantığı ile yapılmaktadır. İşlemciler hafızalarında bulunan komutlarla dışarıdan gelen uyarılar eşliğinde işlemleri yapmaktadırlar. İşlemcini hafızasında bulunan komutlara o işlemcinin komut seti denilebilir.
Merkezi İşlem Birimi İşlemci Günümüzde belli başlı işlemci üreticileri bulunmaktadır. Intel, AMD, Via, Nvidia, Ati, IBM İşlemcinin, çeşitli ünitelerden teşkil edilmiştir. ALU (Aritmetik ve Mantıksal İşlem Birimi) Komut Çözücü (Instruction Decoder) Kaydediciler (Registers) Data Yolları Cache (Ön) Bellekler
RAM Rastgele erişimli hafıza, mikroişlemcili sistemlerde kullanılan bir tür veri deposudur. RAM, genellikle bilgisayardaki ana hafıza ya da birincil depo; yükleme, gösterme, uygulamaları yönlendirme ve veri için çalışma alanı olarak düşünülür. Bir RAM yongasında her hangi farklı iki veriye ulaşmak için aşağı yukarı aynı süre harcanmaktadır.
RAM Bilgisayar kapatıldığında içerdiği veriyi kaybedilir. RAM'in yetersiz kaldığı durumlarda birçok CPU yapısı ve işletim sistemleri bir tür sanal bellek oluşturma işlemi yürütür.
ROM Sadece okunabilir bellek. ROM içeriği sadece üretim anında yazılır. Kullanıcının kendi isteği doğrultusunda programlanamaz. BIOS ROM un bilgisayar başlatıldığında yerine getirdiği görevleri: POST (Power On Self Test): Bütün komutların test edilmesi işlemidir. CMOS komutlarına bağlı olarak Setup komutlarını işletir. Donanımla bağlı olan BIOS komutlarını yerine getirir. İşletim sistemini çağıran BOOT komutlarını yürütür.
ROM PROM Bir kez programlanır ve bir daha programı değiştirilemez ya da silinemez. fabrikada yapılırken programlanmak zorunda değildir. EPROM EPROM programlayıcı aygıt yardımı ile bir EPROM defalarca programlanabilir, silinebilir. EPROM programlayıcı, EPROM un üzerindeki kodlanmış programı mor ötesi ışınlar göndererek siler. EEPROM silme işlemielektriksel olarak yapılabilir. Bilgisayarların BIOS larında kullanılan ROM tipi
RAM ile ROM Arasındaki Farklar RAM erişilebilir bellek türüdür, ROM ise tipik bir okunur bellek türüdür. RAM deki bilgiler geçiçi bilgilerdir, ROM daki bilgiler ise kalıcı bilgilerdir. RAM, ROM a oranla oldukça daha hızlıdır.
Cache Bellek (Önbellek) Ön bellek çalışmakta olan programa ait komutların ve verilerin geçici olarak saklandığı yüksek hızlı hafızalardır. Sistem belleğinden gelen veriler çoğunlukla CPU'nun hızına yetişemezler. Bu problemi çözmek için CPU içinde yüksek hızlı hafızalar bulunur. Cache Bellek ilk icat edildiği yıllarda board üzerinde yer alıyor ve sadece L1'den oluşuyordu. Geliştiriciler bir süre sonra cache'i çekirdeğe gömmeyi başardılar. (L1 işlemcinin içinde L2 anakartta)
Sabit disk Veri depolanması amacı ile kullanılan manyetik kayıt ortamı Günümüzde sabit diskler veri aktarımında son derece hızlanmış olsalar da elektromekanik yapıda olduklarından RAM'lara göre yavaştırlar. Hard disklerde veri yazımı; metal, cam veya plastikten yapılmış, yüzeyi demir oksit ya da başka manyetik özellikteki malzeme ile kaplı diskler üzerine yapılır Veriler mıknatıslanma yolu ile kaydedildiğinden istenerek silinene kadar sabit kalırlar, elektrik kesintileri gibi durumlarda RAM deki gibi kaybolmazlar
Sabit disk Metal disk ya da diskler 3600, 4200, 5400, 5900, 7200, 10000, 15000 d/d (devir/dakika) gibi hızlarla dönerken disk yüzeyleri üzerinde gezinen kafa veya kafalar okuma yazma işlemlerini yaparlar. Bir sabit diskin hızında fiziksel dönüş hızı, erişim süresi ve aktarma hızı olmak üzere üç özellik etkileşimli olarak rol oynar.
Dosya Atama Tablosu (FAT) Her biri belli miktarda sektör içeren cluster isimli parçalara ayrılır ve hangi dosyaların bu cluster parçalarından hangilerine yerleştiği, hangi cluster parçalarının boş, hangilerinin dolu olduğu gibi bilgiler FAT üzerine yazılır. İşletim sistemi de herhangi bir dosyaya erişmek istediğinde dosyayı bulmak için FAT üzerine yazılan bu bilgilerden faydalanır. Sabit disk üzerinde bir kopyası bulundurulur.
Ekran Kartı Bilgisayar ekranındaki bütün yazı ve grafiğin oluşturulmasında işlemci ile ekran arasında görev yapan dönüştürücülerdir. VGA BIOS: Ekran kartının çalışmasını sağlayan komutlar içermektedir Grafik İşlemci (GPU): Görüntü hesaplamalarını ve görüntü işlemlerini mikroişlemciye (CPU) yansıtmadan ekran kartında gerçekleştiren bir yongadır. Video RAM: Grafik işlemci görüntüyü oluştururken hafıza olarak ekran kartı üzerindeki hafızayı kullanmaktadır. RAMDAC (dijital analog çevirici): Ekran kartının görüntü belleğindeki dijital (sayısal) verileri monitörde görüntülenecek analog sinyallere dönüştürerek ekran kartının monitör çıkışına gönderir.
Ekran Kartı
Ekran Görüntü sergilemek için kullanılan elektronik ya da elektro mekanik aygıtların genel adı. Monitörlerin boyutları, 14 inç, 15 inç, 15.4 inç(laptop), 17 inç, 19 inç, 22 inç gibi değerlerle ifade edilir. Text modu: Text modunda ekran 25 satır ve 80 sütundan oluşur. Grafik modu: Monitör ekranı pixellerden (noktalardan) oluşur. Pixel sayısı ne kadar fazla ise netlik o kadar artar. Nokta sayısı yoğunluğuna çözünürlük denir. Çözünürlük azaldıkça netlik azalır ve görüntü bozulur.
Ekran Monitörler iki tiptedir. CRT ve LCD monitörler. CRT monitörler : CRT (Chatode Ray Tube Katot Işınlı Tüp) havası boşaltılmış ve ön yüzeyi binlerce fosfor noktacığından (dot) oluşan koni şeklindeki tüptür. LCD monitörler : LCD (Liquid Cyristal Display) monitörlerde görüntü sıvı kristal diyotlar yardımıyla sağlanmaktadır. Bu diyotlara gerilim uygulandığında, içlerindeki moleküllerin polarizasyonu değişmekte ve beraberinde de diyotun geçirgenliği değişmektedir. Ekran kartı için gereken video RAM miktarı şu şekilde formüle edilebilir: ekran kartında bulunması gereken minimum ram miktarı (byte) =yatay çözünürlük x dikey çözünürlük x 1 pixel için gereken byte miktarı
Yazıcı Elektronik ortamdaki grafik ya da metinleri bir kağıt üzerine işleyen alete yazıcı denir. Çoğu yazıcı bilgisayara yazıcı kablosu veya USB ile bağlanır. Bazı yazıcılar direk olarak hafıza kartından, fotograf makinesinden ve tarayıcıdan çıktı alabilirler. Modern yazıcıların çoğu faks çekme, tarama ve fotokopi çekme gibi özellikleri içeren çok fonksiyonlu makinelerdir.
Yazıcı Karakter yazıcılar Mürekkep püskürtmeli yazıcılar Nokta vuruşlu yazıcılar Lazer yazıcılar
Güç kaynağı Bilgisayar güç kaynağı, genellikle metal bir kasa yerleştirilmiş, içinde transformatör ve/veya elektronik devreler bulunan, bilgisayar birimlerinin çalışmaları için gereksinim duyulan farklı gerilim değerlerinde doğru akım sağlayan donanımdır. Sıradan bir bilgisayarın kullandığı güç kaynağı yaklaşık 300 600 Watt güçtedir.
Kapasite Ölçü Birimleri Bit; bilgi depolama ve haberleşme veya bağlantının en küçük ve temel ünitesidir. Bir cihaz yada fiziksel bir sistem tarafından depolanabilecek bilginin maksimum değeri normal olarak sadece 2 farklı şekilde bulunabilir. Bu durumlar genellikle (özellikle nümerik veride) İKİLİ SAYILAR 0 ve 1 olarak yorumlanır. Byte (bayt); Elektronik ve bilgisayar bilimlerinde genellikle 8 bitlik dizilim boyunca 1 veya 0 değerlerini bünyesine alan ve kaydedilen bilgilerin türünden bağımsız bir bellek ölçüm birimi. Bir Bayt, 0 ile 255 arasındaki değeri veya diğer anlamda 256 şalter durumunu temsil etmektedir.
Kapasite Ölçü Birimleri Kısa Yazılışı Normal Yazılışı Dönüşümü BYTE 1Byte 8Bit KB 1 Kilobyte 1024 byte MB 1 Megabayt 1024 KB GB 1 Gigabayt 1024 MB TB 1 Terabayt 1024 GB PB 1 Petabayt 1024 TB EB 1 Eksabayt 1024 PB ZB 1 Zettabayt 1024 EB YB 1 Yottabayt 1024 ZB
Hız Ölçü Birimleri Hertz (sembol Hz), frekans (sıklık) birimidir. Hertz; saniye başına düşen devir sayısını ifade eder. 1 Hertz saniyede bir devir veya 1 MHz saniye başına bir milyon (1,000,000/s) devir şeklinde tanımlanır. Bu birim herhangi bir periyodik olaya uyarlanabilir. Mesela; bir insan kalbi 1.2 Hz ile atıyor denebilir. Elektromanyetik dalgaların salınımları, bilgisayar parçaları arasındaki veri akımı ile RAM ve işlemci gibi parçaların hızları MHz (10 6 Hz) veya GHz (10 9 Hz) olarak ifade edilir.
Hız Ölçü Birimleri Kısa Yazılışı Normal Yazılışı Dönüşümü Hz 1hertz dahz 1 dekahertz 10 hertz hhz 1hectohertz 10 2 hertz khz 1 kilohertz 10 3 hertz MHz 1 megahertz 10 6 hertz GHz 1gigahertz 10 9 hertz THz 1 terahertz 10 12 hertz PHz 1petahertz 10 15 hertz EHz 1egzahertz 10 18 hertz ZHz 1zettahertz 10 21 hertz YHz 1yottahertz 10 24 hertz
Yazılım Yazılım (İng. software), değişik ve çeşitli görevler yapma amaçlı tasarlanmış elektronik araçların birbirleriyle haberleşebilmesini ve uyumunu sağlayarak görevlerini ya da kullanılabilirliklerini geliştirmeye yarayan makine komutlarıdır. Yazılım Çeşitleri Sistem yazılımları: bilgisayar kullanımı için gerekli ana fonksiyonları sağlar ve bilgisayar donanımına ve sistemin yürütülmesine yardımcı olur Uygulama yazılımları: kullanıcıların dokümanlar oluşturmasına, oyun oynamasına, müzik dinlemesine ya da İnternet'te gezinmesine olanak sağlayan yazılımlara uygulama yazılımı denir.
İşletim Sistemi Bilgisayarda çalışan, bilgisayar donanım kaynaklarını yöneten ve çeşitli uygulama yazılımları için yaygın servisleri sağlayan bir yazılımlar bütünüdür. En yaygın kullanılan işletim sistemlerine örnek olarak; Microsoft Windows, Mac OS X, Linux, Android ve ios örnek verilebilir.
İşletim Sisteminin Görevleri İşlem (Proses) Yöntemi : Verilen işlemlerin belirli bir sırada ve zamanda uygulanmasını sağlar. Bellek (Memory) Yöntemi : Belleğin dolu ve boş kısımlarını kontrol ederek, işlemler için gerekli belleği ayırır ve işlem bitince bu belleği boşaltır. Giriş Çıkış (Input / Output Birimleri Yönetimi : Bilgisayar ile çevre birimleri arasındaki veri alışverişini denetler. Dosya (File) Yönetimi : Verilerin saklandığı dosyalarla ilgili çalışmayı yönetir. Dosya erişim, bilgi yazma okuma gibi işlemleri düzenler.
İşletim Sistemi Türleri Çok kullanıcılı ve Tek Kullanıcılı Çok kullanıcılı işletim sistemi birden fazla kullanıcının aynı anda tek bir bilgisayar sistemine erişmesini sağlar. Tek kullanıcılı işletim sistemleri, bir seferde tek bir kullanıcı tarafından kullanılabilir. Çoklu Görev ve Tek Görev Çoklu Görev: Aynı anda birden fazla görevi yerine getirilmesini Dağıtılmış Bir dağıtık işletim sistemi bağımsız bir bilgisayar grubunu yönetir ve onları tek bir bilgisayarda görünmesini sağlar. Gömülü Daha az özerkliğe sahip PDA'lar gibi küçük makinelerde çalışacak şekilde tasarlanmış sistemler
Yazılım Mühendisliği Karmaşık yazılım sistemlerinin belirli bir hedefe ve sisteme dayalı olarak ve işbölümü yapılarak, belirli prensipler, yöntemler ve araçlar kullanılarak geliştirilmesidir. Karmaşık yazılımları geliştirmek ve bakımını yapmak çok masraflı ve zordur. Bu yüzden, yazılımlar yazılım mühendisleri tarafından nizami olarak planlı bir proje şeklinde geliştirilmektedir. Bu nizami geliştirme planına "yazılım geliştirme süreci" (software development process) adı verilmektedir.
Yazılım Mühendisliği Yazılım geliştirme süreci, zamanlamaya dayalı, içerik olarak bölünmüş ve görselleştirilmiş aşamalardan oluşmaktadır Çekirdek aşamalar: Planlama Analiz Dizayn Programlama Test Destekleyici aşamalar: Talep yönetimi Proje yönetimi Kalite yönetimi Yapılandırma yönetimi Yazılım sunumu Dokümantasyon Ayrık yapılandırma
Programlama Dili Uygulaması yapılacak problemin çözüm yöntemi belirlendikten sonra, onu bilgisayarın anlayabileceği bir biçime dönüştürme programlama dili aracılığıyla olur. Bilgisayarların ortaya çıkışından bu yana programlama dilleri konusunda pek çok gelişme ortaya çıkmış ve çeşitli programlama dilleri ortaya atılmıştır. Programlama dillerinden bazıları şunlardır: FORTRAN COBOL BASIC VISUAL BASIC C C++ JAVA Pyhton
Derleyiciler Üst düzey dillerde yazılan programların makina tarafından anlaşılır hale getirilmesi için derleyiciler kullanılır. Programlar yazıldıktan sonra derlendiğinde yanlış komutlar yazılmışsa hata mesajı görüntülenir. Bilgisayar programlama dilleri makine ve üst düzey diller olarak iki bölüme ayrılabilir. Makina dili ile yazılan programlar, makina tarafından değiştirilmeden kullanılır. Üst düzey dilleri ise makina dilinin bir çok satırına karşılık gelen komutları içermektedir. Üst düzey dilleri komutlarının çalıştırılması için makina diline çevrilmesi gerekmektedir.
Veritabanı Veritabanı düzenli bilgiler topluluğudur. Veritabanı yazılımı, verileri sistematik bir biçimde depolayan yazılımlara verilen isimdir. Veri tabanı dilleri SQL PL/SQL Tcl Veritabanında asıl önemli kavram, kayıt yığını ya da bilgi parçalarının tanımlanmasıdır. Bu tanıma Şema adı verilir. Şema veritabanında kullanılacak bilgi tanımlarının nasıl modelleneceğini gösterir. Buna Veri Modeli (Data Model) yapılan işleme de Veri modelleme denir.
Veri tabanı yönetim sistem yazılımları Filemaker MySQL PostgreSQL Oracle Sybase MsSQL Berkeley Firebird Ms access OOo Veri Tabanı 1Ç İşletme Açık kaynak kodlu, görsel veri tabanı geliştirme ortamı
Bilgisayar Ağları Küçük bir alan içerisindeki veya uzak mesafelerdeki bilgisayarların iletişim hatları aracılığıyla birbirine bağlandığı, dolayısıyla bilgi ve sistem kaynaklarının farklı kullanıcılar tarafından paylaşıldığı, bir yerden başka bir yere veri aktarımının mümkün olduğu iletişim sistemi. Bilgisayar haberleşmesinin temelinde OSI modeli geçerlidir. En bilinen ve en büyük bilgisayar ağı, İnternettir.
OSI Ağ Katmanları
Boole Cebri Önermeler ya da nesneler arasındaki ilişkileri betimleyen simgesel matematiksel bir mantık sistemidir. Boole Cebri fikri ilk olarak George Boole tarafından 19. yüzyılın ortalarında ortaya atılmıştır. Boole cebirinin en önemli uygulaması elektronik devre tasarım ve analizidir. Bundan dolayı bilgisayarlar, telefon sistemleri ve elektronik kontrol sistemleri gibi sayısal cihazların tasarımında çok etkin bir şeklide kullanılmaktadır.
Boole Cebri Sayısal bilgisayarlar ve sayısal elektronik devreler ikili sayı sistemini (0 lar ve 1 ler) kullanarak işlem yaparlar. En çok kullanılan üç işlem: DEĞİL (NOT) VEYA (OR) VE ( AND) DEĞİL işleminde değerler: 1 0 0 1 Mantıksal toplama OR işleminde değerler: 1+1 = 1 1+0 = 1 0+1= 1 0+0 = 0 Mantıksal çarpma AND işleminde değerler: 1 1 = 1 1 0 = 0 0 1= 0 0 0 = 0