Bilgisayar, kullanıcıdan input (Girdi) alan, verilen input’u işleyen ve yararlı bilgi biçiminde çıktı üreten elektronik bir makinedir. Bir bilgisayar, Data (veri), programlar ve kullanıcı yanıtı gibi farklı biçimlerdeki inputları kabul eder. Data, bazı yararlı bilgiler oluşturmak için işlenmesi gereken ham ayrıntılara atıfta bulunur. Programlar, bilgisayar tarafından sıralı (sequential) veya sıralı olmayan (non-sequential) bir şekilde yürütülebilen instructionları ifade eder. Kullanıcı yanıtı, bilgisayar tarafından sorulan bir soruya yanıt olarak kullanıcı tarafından sağlanan inputtur. Bir bilgisayar, yukarıda açıklanan çeşitli görevleri gerçekleştirmek için entegre bir sistem olarak işlev gören çeşitli aygıtlar içerir. Bu cihazlar:
Central Processing Unit (CPU) Bilgisayardaki instructionları kontrol etmekten ve yürütmekten sorumlu olan bilgisayarın işlemcisidir. Bilgisayarın en önemli bileşeni olarak kabul edilir.
Monitor Bilgisayardan video sinyallerini aldıktan sonra bilgileri görsel olarak gösteren ekrandır.
Keyboard and Mouse Bunlar, bilgisayar tarafından kullanıcıdan input almak için kullanılan cihazlardır.
Şekil 1.1 Bilgisayarın bileşenleri
Bilgisayar geliştirme tarihi, aşağıda listelendiği gibi genellikle farklı bilgisayar nesilleri açısından tartışılır.
- First generation computers
- Second generation computers
- Third generation computers
- Fourth generation computers
- Fifth generation computers
Bu bilgisayarlar, hesaplama, depolama ve kontrol amaçları için vakum tüpleri teknolojisini kullandı. Bu nedenle, bu bilgisayarlar aynı zamanda vakum tüpleri veya termiyonik valf tabanlı makineler olarak biliniyordu. Birinci nesil bilgisayarların bazı örnekleri ENIAC, EDVAC, EDSAC ve UNIVAC’dır.
- Zamanının en hızlı bilgi işlem cihazları. - Karmaşık matematik problemlerini verimli bir şekilde yürütebilir.
- Bu bilgisayarların makine bağımlı olarak programlanması çok kolay değildi. - Özel amaçlar için tasarlandıkları için farklı türdeki uygulamaları çalıştırmada çok esnek değillerdi. - Vakum tüpü teknolojisinin kullanılması bu bilgisayarları çok büyük vehantal hale getirdi ve ayrıca serin yerlere yerleştirilmesini gerektirdi. - Aynı anda yalnızca bir program çalıştırabiliyorlardı ve bu nedenle çok verimli değillerdi. - Büyük miktarda ısı ürettiler ve bu nedenle donanım hatalarına eğilimliydiler.
Bu bilgisayarlar, temel logic devrelerini oluştururken vakum tüpleri yerine transistörler kullanır. Transistör, orijinal sinyalin şeklini koruyarak gelen sinyallerin gücünü artırmak için kullanılan yarı iletken bir cihazdır. İkinci nesil bilgisayarların bazı örnekleri PDP-8, IBM 1401 ve IBM 7090'dir.
- Zamanlarının en hızlı bilgi işlem cihazları.- Assembly dili kullanıldığı için programlaması kolaydır.- Küçük ve hafif bilgi işlem cihazları.- İşlemleri gerçekleştirirken çok daha az güç gerektirir.
- Bu bilgisayarlar için input ve output media önemli ölçüde iyileştirilmemiştir- Klimalı yerlere yerleştirilmesi zorunludur.- Çok pahalı, ev kullanıcılarının erişiminin ötesinde.- Özel amaçlı (special-purpose) bilgisayarlar olduklarından, yalnızca belirli uygulamaları çalıştırabilirlerdi.
Üçüncü nesil bilgisayar sistemlerinin en önemli karakteristik özelliği, Entegre Devrelerin (Integrated Circuits)(IC’ler) kullanılmasıydı. IC’ler, transistörler, dirençler, kapasitörler vb. gibi çeşitli elektronik bileşenleri tek bir küçük silikon çip üzerinde birleştiren devrelerdir.Üçüncü nesil bilgisayarların bazı örnekleri NCR 395, B6500, IBM 370, PDP 11 ve CDC 7600'dür.
- Bu bilgisayarlar için hesaplama süresi genellikle nanosaniye cinsindendi, bu nedenle en hızlı bilgi işlem cihazları onlardı.- Küçük boyutları nedeniyle kolayca taşınabilirler.- Makineden bağımsız olan ve dolayısıyla kullanımı çok kolay olan high-level diller kullandılar.- Kolayca kurulur ve daha az yer gerektirir.- Her türlü uygulamayı (iş ve bilimsel) yürütebilen bu bilgisayarlar, genel amaçlı (general-purpose) bilgisayarlar olarak kabul edildi.
- Çok daha az depolama kapasitesi.- Küçük depolama kapasitesi nedeniyle karmaşık hesaplamaları yürütürken düşük performans.- Çok pahalı.
LSI ve VLSI teknolojilerindeki ilerleme, dördüncü nesil bilgisayarların en önemli karakteristik özelliği haline gelen mikroişlemcinin (microprocessor) gelişmesine yol açtı. LSI ve VLSI teknolojisi, binlerce transistörün küçük bir silikon çipe sığdırılmasına izin verdi.Bir mikroişlemci, bir bilgisayarın CPU, memory ve Input/Output (I/O) kontrolleri gibi çeşitli bileşenlerini tek bir chip üzerinde birleştirir. Daha sonraki bazı popüler mikroişlemciler arasında Intel 386, Intel 486 ve Pentium bulunur. Dördüncü nesil bilgisayarlara örnek olarak IBM PC, IBM PC/AT, Apple ve CRAY-1 verilebilir.
- LSI ve VLSI teknolojileri onları küçük, ucuz, kompakt ve güçlü yaptı.yüksek depolama kapasitesi- son derece güvenilir ve çok daha az bakım gerektiriyor.- GUI’lerin ve etkileşimli I/O cihazlarının geliştirilmesiyle kullanıcı dostu bir ortam sağladı.- Bu bilgisayarlarda yazılan programlar, high-level dillerin kullanılması nedeniyle oldukça taşınabilirdi- çok yönlü ve her tür uygulama için uygundur.- çalıştırmak için çok daha az güç gerektiriyordu.
- LSI ve VLSI chiplerinin kablolama kartına lehimlenmesi karmaşıktı- Hala programcı tarafından verilen talimatlara bağlıdır.
Beşinci nesil bilgisayarlar, küçük bir çip üzerinde yaklaşık on milyon elektronik bileşenin üretilmesine izin veren Ultra Large Scale Integration (ULSI) teknolojisine dayalıdır.
- bugüne kadarki en hızlı, daha ucuz ve en verimli bilgisayarlar.- Çok sayıda uygulamayı aynı anda ve çok yüksek bir hızda yürütebilirler.- ULSI teknolojisinin kullanılması, bu bilgisayarların boyutunun büyük ölçüde azaltılmasına yardımcı olur.- birkaç ek multimedya özelliği nedeniyle kullanımı çok rahat.- iletişim ve kaynak paylaşımı için çok yönlü.
- Kendilerine farklı işlemleri gerçekleştirmede rehberlik edebilecek akıllı bir program sunulmamıştır.
Aşağıdaki şekil son kırk yıldaki bölgesel gelişmeleri ve bunların çeşitli bilgisayar nesillerine katkılarını gösteren bir bilgisayar ailesi ağacını göstermektedir.
Bilgisayarlar, hesaplama yeteneklerine ve işlem hızlarına bağlı olarak birkaç kategoriye ayrılabilir. Bunlar şunları içerir:
- Microcomputer- Minicomputer- Mainframe computers- Supercomputers
Mikrobilgisayar, CPU olarak bir mikroişlemciye sahip olan ve aşağıdaki temel işlemleri gerçekleştirebilen bir bilgisayar olarak tanımlanır:
**Inputting **— data and instructionların mikrobilgisayar sistemine girilmesi.**Storing **— dataları ve instructionları mikrobilgisayar sisteminin memory’sine kaydetmek, böylece gerektiğinde kullanılabilirler.**Processing **— toplama, çıkarma, çarpma ve bölme gibi veriler üzerinde aritmetik veya mantıksal işlemler yapmak.**Outputting **— Görsel gösterim and/or basılı raporlar şeklinde olabilecek sonuçları kullanıcıya sunar.**Controlling **— yukarıdaki tüm işlemlerin gerçekleştirilme sırasını ve biçimini yönlendirmeye yardımcı olur.
Mini bilgisayar, mikro bilgisayardan daha güçlü olan orta büyüklükte bir bilgisayardır. Genellikle aynı anda birden çok kullanıcıya hizmet vermek üzere tasarlandığından multiterminal, time-sharing sistem olarak adlandırılır. Mini bilgisayarlar bugün araştırma ve ticari kuruluşlar arasında popülerdir. Mikro bilgisayarlardan daha pahalıdırlar.
Mainframe bilgisayarlar, bankalar, sigorta şirketleri, hastaneler ve demiryolları gibi çeşitli kuruluşların bilgi işlemesini gerçekleştirmeye yardımcı olur. Mainframe bilgisayarlar, merkezi bir konuma yerleştirilir ve erişim istasyonları olarak işlev görebilen ve aynı binada yer alabilen birkaç kullanıcı terminaline bağlanır. Mainframe bilgisayarlar, iş istasyonlarına kıyasla daha büyük ve pahalıdır.
Süper bilgisayarlarda, karmaşık sorunları hızlı bir şekilde çözmek için multiprocessing ve parallel processing teknolojileri kullanılır. Burada multiprocessor, kullanıcının karmaşık bir sorunu daha küçük sorunlara bölmesini sağlayabilir. Bir süper bilgisayar, aynı anda birden fazla kullanıcının bilgisayara erişebildiği multiprogramming da destekler. Şu anda, popüler süper bilgisayar üreticilerinden bazıları IBM, Silicon Graphics, Fujitsu ve Intel’dir.
Bir bilgisayar sistemi, donanım ve yazılım bileşenlerinden oluşur. Donanım, bilgisayar sisteminin fiziksel parçalarını ifade eder ve yazılım, bir bilgisayarın belirli görevleri yerine getirmesi için gerekli olan talimatlar veya programlar kümesidir. Donanım aşağıdaki bileşenleri içerir:
Input devices — İşlemlerin gerçekleştirileceği verileri kabul etmek için kullanılırlar. Input aygıtlarına örnek olarak klavye, fare ve track ball örnek verilebilir.**Processor **— CPU olarak da bilinir, Input aygıtından girilen veriler üzerinde hesaplamalar yapmak ve bilgi işlemek için kullanılır.Output devices — Bir programda belirtilen işlemler yapıldıktan sonra elde edilen programın output’unu sağlamak için kullanılırlar. Output aygıtlarına örnek olarak monitör ve yazıcı verilebilir.**Memory **— Bir programda belirtilen işlemler yapıldıktan sonra elde edilen program output’u ve input verilerinin saklanması için kullanılır. Memory primary memory olabileceği gibi secondary memory de olabilir. Primary memory, Random Access Memory (RAM) içerir ve secondary memory, hard diskleri ve disketleri içerir.
Yazılım, bir bilgisayar sisteminin çalışmasını dahili olarak destekler ve görülemez. secondary memory’de saklanır ve sistem yazılımının yanı sıra bir uygulama yazılımı olabilir. Uygulama yazılımı, gereksinimlere göre belirli bir görevi yerine getirmek için kullanılır ve uygulama yazılımını çalıştırmak için sistem yazılımı (Operating system ve Networking system) zorunludur.
Input aygıtları, gerektiğinde depolamak ve daha fazla işlemek üzere bir bilgisayara veri sağlamak için kullanılan elektromekanik aygıtlardır. Input tipine veya yöntemine bağlı olarak, Input cihazı aşağıdaki kategorilerden birine ait olabilir:
Klavye veri ve metin yazmak ve komutları yürütmek için kullanılır. Şekilde gösterildiği gibi standart bir klavye aşağıdaki tuş gruplarından oluşur:
Fare, görüntülenen ekranda imlecin iki boyutlu hareketini temel olarak kontrol eden küçük, elle tutulan bir işaretleme aygıtıdır. Ekranın bir bölümünü seçmeye ve metni kopyalayıp yapıştırmaya yardımcı olduğu için Graphical User Interface (GUI) tabanlı İşletim Sistemlerinin (OS) önemli bir parçasıdır.
Tarama cihazları, metin ve görüntüleri elektronik olarak yakalayabilen ve bunları bilgisayar tarafından okunabilir forma dönüştürebilen giriş cihazlarıdır.
CPU, Control Unit (CU) ve ALU’dan oluşur. CU, bilgisayar tarafından gerçekleştirilecek işlemleri belirleyen instruction setini saklar. CU, verileri ve talimatları bir aritmetik işlem için ALU’ya aktarır. ALU, alınan veriler üzerinde aritmetik veya mantıksal işlemler gerçekleştirir. CPU registerları, CPU tarafından işlenecek verileri ve işlenen verileri de saklar. CU ve ALU dışında CPU, verileri işlemek için aşağıdaki donanım cihazlarından yardım ister:
CPU’yu input ve output cihazlarına bağlamak için kullanılan bir cihazı ifade eder. Anakart üzerindeki bileşenler, bir bilgisayarın tüm parçalarına bağlıdır ve birbirlerinden yalıtılmış halde tutulur. Bir anakartın bileşenlerinden bazıları şunlardır:
Buses: Bilgisayarın farklı bölümleri arasında data ve instructionlar aktaran elektrik yolları. Örneğin, veri yolu (data bus), bilgisayara bağlı mikroişlemci, memory ve input/output aygıtları arasında veri aktaran elektriksel bir yoldur.System clock: Bilgisayar tarafından gerçekleştirilen etkinliklerin senkronizasyonu için kullanılan bir saattir. Bir bilgisayarın içinden geçen elektrik sinyalleri, saatin tik taklarına göre zamanlanır.Microprocessor: İşlemleri gerçekleştiren ve bilgisayarın farklı bölümleri tarafından gerçekleştirilen etkinlikleri kontrol eden CPU bileşeni.ROM: Son kullanıcı tarafından değiştirilemeyen bilgileri depolayan bilgisayarın kalıcı memory’sini içeren çip.
Bilgisayar kullanılıncaya kadar bilgi ve programları depolayan bilgisayarın primay memory’sini ifade eder. RAM, anakarttaki RAM yuvalarına bağlanabilen bir çip olarak mevcuttur.
Video kartı, monitör ile CPU arasındaki bir arayüzdür. Video kartları ayrıca bir grafiğin işlenmesini ve görüntülenmesini hızlandırmak için kullanılan kendi RAM’lerini ve mikroişlemcilerini içerir. Ses kartı, ana kart üzerine yerleştirilmiş bir devre kartıdır ve bilgisayarın ses özelliklerini geliştirmek için kullanılır.
Bir çıktı cihazının ana görevi, makine tarafından okunabilir bilgiyi metin, grafik, ses veya video biçiminde olabilen insan tarafından okunabilir forma dönüştürmektir.
Bir monitör, bilgisayar tarafından oluşturulan görsel görüntüler üretir. Monitör, anakartın genişletme yuvasına yerleştirilmiş video kartına bağlanır.
Yazıcı, ekranda görüntülenen metni son kullanıcının kullanabileceği kağıt sayfalara aktaran bir çıktı aygıtıdır.
Bu sistemler, basit mesajları insan konuşması biçiminde kaydeder ve daha sonra tüm bu basit mesajları tek bir mesaj oluşturmak için birleştirir.
Projektör, bir görüntüyü bilgisayardan veya video cihazından büyük beyaz ekrana yansıtmak için bir bilgisayara veya video cihazına bağlı bir cihazdır.
Bir bilgisayarın memory birimi, verileri, veri işleme instructionları, işlemenin ara sonuçlarını ve nihai işlenmiş bilgileri depolamak için kullanılır. Bir bilgisayarın Memory birimleri primary ve secondary memory olarak sınıflandırılır. Bilgisayarlar ayrıca dahili işlem (internal process) olarak bilinen üçüncü tür bir depolama konumu kullanır. Bu memory ya CPU’nun içine ya da CPU’nun yanına yerleştirilmiştir (özel hızlı veri yolu (special fast bus) ile bağlanır).
Primary memory, bilgisayarda yerleşik bir birim olarak bulunur. Primary memory, her konumun 8 bit kapladığı bir dizi konum olarak temsil edilir. Memory’de ki her bit benzersiz bir adresle tanımlanır. Veriler, bu memory konumlarında makine tarafından anlaşılabilen binary biçimde depolanır. Yaygın olarak kullanılan Primary memory’ler aşağıdaki gibidir:
ROM — ROM, bilgisayar kapalıyken bile verileri ve instructionları depolayan Salt Okunur Belleği temsil eder. İçeriğin son kullanıcı tarafından değiştirilemeyeceği bilgisayarın kalıcı belleğidir. ROM, anakarta yerleştirilen bir çiptir. Genellikle, Açılışta Power On Self Test (POST) gerçekleştiren Basic Input/Output system (BIOS) depolamak için kullanılır.
RAM — RAM, bilgilerin yalnızca düzenli bir güç kaynağı olduğu sürece tutulduğu read/write memory birimidir. Güç kaynağı kesildiğinde veya kapatıldığında, RAM’de saklanan bilgiler kaybolur. RAM, kullanımda oldukları sürece verileri ve uygulamaları geçici olarak depolayan geçici memory’dir. Verilerin veya uygulamanın kullanımı bittiğinde, RAM’deki içerik silinir.
Cache memory — Cache memory, CPU tarafından en son işlenen verileri ve ilgili uygulamayı depolamak için kullanılır. İşlemci işlem yaptığında, talimat için önce cache’i ve ardından RAM’i arar. Cache, ana karta lehimlenebilir veya RAM’in bir parçası olarak kullanılabilir.
Secondary memory, bilgisayara bağlı harici depolama aygıtlarını temsil eder. Şu anda kullanımda olmayan bilgileri depolamak için kullanılan geçici olmayan bir memory kaynağı sağlarlar. Bir depolama aygıtı ya bilgisayarın CPU kasasında yer alır ya da bilgisayara harici olarak bağlanır. İkincil depolama aygıtları şu şekilde sınıflandırılabilir:
Magnetic storage device — Manyetik depolama cihazları, birkaç kez okunabilen, silinebilen ve yeniden yazılabilen bilgileri saklar. Bunlar, disket, hard disk ve manyetik bantları içerir.
Optical storage device — Optik depolama cihazları, saklanan verileri okumak için lazer ışınları kullanan ikincil depolama cihazlarıdır. Bunlara CD-ROM, yeniden yazılabilir kompakt disk (CD-RW), salt okunur belleğe sahip dijital video diskler (DVD-ROM) vb. dahildir.
Magneto-optical storage device — Manyeto-optik cihazlar genellikle büyük programlar, dosyalar ve yedekleme verileri gibi bilgileri depolamak için kullanılır. Son kullanıcı, manyeto-optik depolama cihazlarında depolanan bilgileri birden çok kez değiştirebilir. Bu cihazlar, cihaza veri okumak ve yazmak için lazer ışınları ve mıknatıslar kullandıklarından daha yüksek depolama kapasitesi sağlar.
Bir bilgisayar programı temelde, bilgisayara bir görevi nasıl gerçekleştireceğini söyleyen bir bilgisayar programlama dilinde yazılmış bir dizi mantıksal talimattır. Bu nedenle yazılım, donanım ile kullanıcı arasında önemli bir arayüzdürBir bilgisayar yazılımı iki farklı görevi yerine getirir. İlk görev, donanım bileşenlerini kontrol etmek, koordine etmek ve performanslarını yönetmek, ikincisi ise kullanıcıların gerekli görevleri yerine getirmelerini sağlamaktır. Birinci görevi gerçekleştirmek için kullanılan yazılıma sistem yazılımı (system software), ikinci görevi gerçekleştirmek için kullanılan yazılıma ise uygulama yazılımı (application software) denir.
Sistem yazılımı, farklı görevleri yöneten ve destekleyen birçok farklı programdan oluşur. Gerçekleştirilen göreve bağlı olarak, sistem yazılımı iki ana gruba ayrılabilir.1. Hem donanım hem de yazılım sistemlerini yönetmek için kullanılan sistem yönetim programları (System management programs). Bunlar:
- Operating system- Utility programs- Device drivers
2. Sistem geliştirme programları (System development programs), uygulama yazılımlarının geliştirilmesi ve yürütülmesi için kullanılır. Bunlar:
- Language translators- Linkers- Debuggers- Editors
Uygulama yazılımı, son kullanıcıların bilgi işleme ihtiyaçlarını karşılamak için tasarlanmış çeşitli programları içerir. Genel olarak iki gruba ayrılabilirler:1. Standart uygulama programları (Standard application programs) Genel uygulama işlerini gerçekleştirmek için tasarlanmış. Bunlar:
- Word processor- Spreadsheet- Database Manager- Desktop Publisher- Web Browser
2.*Benzersiz uygulama programları (Unique application programs) *Özel ihtiyaçlarını desteklemek için kullanıcıların kendileri tarafından geliştirilen programlardır. Bunlar:
- Bir mağazanın envanterini yönetme- Bir kuruluşta çalışanların maaş bordrolarının hazırlanması- Trenlerde veya havayollarında koltuk rezervasyonu
Bir işletim sistemi (OS), bilgisayar donanımının çalışmasını sağlayan bir yazılımdır. Donanım ‘ham bilgisayar gücü’ sağlarken, işletim sistemi bilgisayar gücünü kullanıcılar için yararlı kılmaktan sorumludur. İşletim sistemi, sistem yazılımının ana bileşenidir ve bu nedenle başka bir görevi yerine getirebilmemiz için önce yüklenmesi ve etkinleştirilmesi gerekir. Ana işlevler şunları içerir:
- Bilgisayarın CPU’sunu çalıştırır.- Kullanıcı ve bilgisayar arasında arabirim sağlayan input/output aygıtlarını kontrol eder.- Uygulama programlarının donanım ve diğer yazılım sistemleri ile çalışmasını yönetir.- Diskler gibi depolama aygıtlarını kullanarak bilgilerin depolanmasını ve alınmasını yönetir.
Yeteneklerine ve desteklenen uygulama türlerine göre işletim sistemleri aşağıdaki altı ana kategoriye ayrılabilir:
Batch operating system — Bu, aynı anda yalnızca bir programın çalışmasına izin verilen en eski işletim sistemidir. Program çalışırken kullanılan hiçbir veriyi değiştiremiyoruz. Eğer bir hata ile karşılaşılırsa bu, programı sıfırdan yeniden başlatmak anlamına gelir. Popüler bir batch işletim sistemi MS DOS’tur.
Interactive operating system — bu işletim sistemi, aynı anda yalnızca bir programın çalışabildiği batch işletim sisteminden sonra gelir. Ancak burada program çalışırken değişiklik ve veri girişine izin verilmektedir. interactive bir işletim sistemine örnek olarak Multics (Multiplexed Information and Computing Service) verilebilir.
Multiuser operating system — Multiuser bir işletim sistemi, birden fazla kullanıcının aynı anda veya farklı zamanlarda bir bilgisayar sistemini kullanmasına izin verir. Çok kullanıcılı işletim sistemlerine örnek olarak Linux ve Windows 2000 verilebilir.
Multi-tasking operating system — Çok görevli bir işletim sistemi, birden fazla programın aynı anda çalışmasına izin verir. Multi-tasking işletim sistemlerine örnek olarak Unix ve Windows 2000 verilebilir.
Multithreading operating system — Multithreading bir işletim sistemi, bir programın farklı bölümlerinin aynı anda çalışmasına izin verir. Multithreading işletim sistemine örnek olarak UNIX ve Linux verilebilir.
Real-time operating systems — bu işletim sistemleri, gerçek zamanlı uygulamaları veya gömülü uygulamaları yönetmek için özel olarak tasarlanmış ve geliştirilmiştir. Örnek MTOS,Lynx,RTX içerir Multiprocessor operating systems — Multiprocessor işletim sistemi, aynı anda birden çok işlemi yürütmek için bir bilgisayar sisteminde birden çok CPU kullanımına izin verir. Örnek olarak Linux, Unix, Windows 7 dahildir.
Embedded operating systems — Embedded işletim sistemi, öncelikle elektronik cihazlarda hesaplama görevlerini gerçekleştirmek için kullanılan Embedded bir bilgisayar sistemine kurulur. Örnek olarak Palm OS, Windows CE verilebilir.
Microsoft Corporation tarafından pazarlanan ve DOS işletim sistemleri ailesinin en yaygın kullanılan üyelerinden biri olan MS DOS veya Microsoft Disk Operating System,.MS DOS, ilk olarak 1981'de IBM bilgisayarları için tanıtılan bir komut satırı kullanıcı arayüzüdür (Command line user interface). MS DOS, günümüzde tek başına bir ürün olarak kullanılmamasına rağmen, Windows’un çeşitli sürümleriyle entegre bir ürün olarak gelmektedir.MS DOS’ta, Grafik Kullanıcı Arayüzü (Graphical User Interface) (GUI) tabanlı işletim sistemlerinden farklı olarak, MS DOS prompt olarak bilinen bir komut satırı arayüzü vardır. Burada MS DOS işletim sistemindeki işlemleri gerçekleştirmek için çeşitli komutları yazmamız gerekiyor. MS DOS komutları genel olarak aşağıdaki üç sınıfa ayrılabilir:1. Environment command — Bu komutlar genellikle işletim sistemi ortamı hakkında bilgi sağlar veya onu etkiler. Bu komutlardan bazıları şunlardır:
CLS: Kullanıcının, yalnızca MS-DOS istemini bırakarak ekranın tüm içeriğini temizlemesine olanak tanır. TIME: Kullanıcının bilgisayarın saatini görüntülemesini ve düzenlemesini sağlar. DATE: Kullanıcının mevcut tarihi görüntülemesine ve tarihi alternatif bir tarihe değiştirmesine olanak tanır. VER: MS-DOS işletim sisteminin sürümünü görmemizi sağlar.
2. File manipulation command — Bu komutlar, bir dosyanın kopyalanması veya bir dosyanın silinmesi gibi dosyaların değiştirilmesine yardımcı olur. Bu komutlardan bazıları şunlardır:
COPY: Kullanıcının bir veya daha fazla dosyayı belirli bir konumdan alternatif bir konuma kopyalamasına olanak tanır. DEL: Bilgisayardan bir dosyanın silinmesine yardımcı olur. TYPE: Kullanıcının komut isteminde bir dosyanın içeriğini görüntülemesine olanak tanır. DIR: Kullanıcının mevcut ve/veya üst dizinlerde bulunan dosyaları görüntülemesine izin verir.
3. Utilities — Bunlar, bir disketi biçimlendirmek veya komut isteminde metin düzenleyiciyi çağırmak gibi çeşitli yararlı işlevleri yerine getiren özel komutlardır. Bu komutlardan bazıları şunlardır:
FORMAT: Kullanıcının bir bilgisayar disketinden veya sabit sürücüden tüm içeriği silmesine izin verir.EDIT: Kullanıcının komut isteminde bir bilgisayar dosyasını görüntülemesine, bilgisayar dosyalarını oluşturmasına ve değiştirmesine izin verir.
Windows işletim sisteminin mimarisi, çeşitli donanım platformlarıyla uyumlu modüler bir yapı içermektedir. Aşağıdaki şekil, Windows 2000 mimarisini göstermektedir; Windows işletim sistemlerinin sonraki sürümleri benzer mimariye dayanmaktadır.Yüksek düzeyde, mimari üç katmana ayrılır, yani.
- User mode: Uygulamaya ve I/O’a özgü yazılım bileşenlerini içerir. - Kernel mode: Sistem kaynaklarına ve donanıma tam erişime sahiptir. - Hardware: Altta yatan donanım platformunu içerir
User modundaki çeşitli alt sistemler aşağıdaki iki kategoriye ayrılır: Environment subsystems: Diğer işletim sistemleri için yazılmış uygulamaları çalıştıran alt sistemlerden oluşur. Bu alt sistemler doğrudan donanım erişimi talep edemez; bunun yerine bu tür istekler, kernel modunda bulunan virtual memory manager tarafından işlenir. Üç ana environment subsystems Win32, OS/2 ve POSIX’i içerir. Bu alt sistemlerin her biri, user application call’ları Windows call’a dönüştürmek için dynamic link libraries sahiptir. Integral subsystems: environment subsystemleri adına işletim sistemine özgü işlevleri yerine getirir. Çeşitli entegre subsystemler arasında workstation service, server service ve security yer alır.
Kernel modu, her bir bileşenin belirli sistem işlevini yöneten çeşitli bileşenleri içerir. Bileşenlerin her biri bağımsızdır ve tüm sistem yeniden yazılmadan kaldırılabilir, yükseltilebilir veya değiştirilebilir. Çeşitli kernel modu bileşenleri şunları içerir:
- Executive: memory management, process management, security, I/O, inter process communication vb. dahil olmak üzere temel işletim sistemi hizmetlerini içerir.
- Kernel: thread scheduling, exception handling, interrupt handling, multiprocessor synchronization vb. dahil olmak üzere temel işletim sistemi işlemlerini gerçekleştirmeye yardımcı olan temel bileşenleri içerir.
- HAL (hardware abstraction layer): İşletim sistemlerinin mimarisinde önemli yer tutan ve donanımlar ile yazılımlar arasında köprü görevi yapan bir yapı; HAL (Hardware Abstraction Layer) HAL, NT tabanlı işletim sistemlerinde oluşan bu sorundan ötürü geliştirilmiş bir fonksiyondur. Fiziksel donanımlar ile yazılımlar arasındaki bağlantıyı kurarak çalışır hale getirilmesini sağlar.
I/O manager: İlgili aygıt sürücüleriyle etkileşim kurarak I/O aygıtlarına erişim taleplerini işler.
Security reference monitor: Dosyalar, process’ler, I/O cihazları vb. dahil olmak üzere Windows objectler için access validation ve audit check’leri gerçekleştirir.
Virtual Memory Manager: Sanal adresleri bilgisayarın belleğindeki gerçek fiziksel sayfalara mapleyerek sanal memory yönetimi gerçekleştirir.
Process Manager: Bir process’in yaşam döngüsü boyunca objectleri ve threadlerini oluşturur ve siler.
PnP manager: Bir aygıt için doğru sürücüyü belirleyerek ve sürücüyü daha fazla yükleyerek tak ve çalıştır aygıtları destekler.
Power manager: Çeşitli cihazlar için güç yönetimi gerçekleştirir. Ayrıca kullanılmayan cihazları uyku moduna alarak güç kullanımını optimize eder.
GDI: (Graphics Device interface) Grafik Aygıt Arayüzü anlamına gelir ve Windows ortamında grafik objelerinin temsil edilmesinden sorumludur. Ayrıca grafiksel objeleri yazıcı ve monitör gibi çıktı aygıtlarına da aktarır.
Object manager: processeler, thread’ler vb. gibi çeşitli kaynakları temsil eden Windows Executive objects ve abstract data türlerini yönetir.
UNIX işletim sistemi, 1969 yılında Bell Laboratuarlarında bir grup AT&T çalışanı tarafından geliştirilmiştir. UNIX, öncelikle birden çok kullanıcının aynı anda bilgisayara erişmesine ve kaynakları paylaşmasına izin verecek şekilde tasarlanmıştır. UNIX işletim sistemi C dilinde yazılmıştır. UNIX’in önemli özellikleri şunları içerir:
- Multi-user capability- Multi-tasking capability- Portability- Flexibility- Security
UNIX, her katmanın benzersiz bir işlev sağladığı ve alt katmanlarıyla etkileşimi sürdürdüğü birkaç katmandan oluşan hiyerarşik bir mimariye sahiptir. UNIX işletim sisteminin katmanları şunlardır:
- Kernel- Service- Shell- User applications
Kernel Kernel, UNIX işletim sisteminin çekirdeğidir ve bilgisayarı her açtığımızda belleğe yüklenir. Çekirdeğin üç bileşeni şunlardır:
- Scheduler — Çeşitli işlerin işlenmesini programlamaya izin verir. - Device driver — Bilgisayara bağlı Input/Output aygıtlarının kontrol edilmesine yardımcı olur. - I/O buffer — Bilgisayardaki I/O işlemlerini kontrol eder.
Kernel tarafından gerçekleştirilen çeşitli işlevler şunlardır: - Farklı programları aynı anda başlatma ve yürütme - Çeşitli kullanıcı ve sistem process’lerine memory ayırma - Diskte bulunan dosyaları izleme - Network’e bilgi gönderme ve alma.
2. Service Service katmanında, istekler shell’den alınır ve daha sonra kernele komutlara dönüştürülür. resident module layer olarak da bilinen service katmanı, kernelden ayırt edilemez ve aşağıdakileri içeren çeşitli hizmetler sağlayan bir program koleksiyonundan oluşur: - Klavye ve monitör gibi çeşitli I/O cihazlarına erişim sağlama - Disk sürücüleri gibi depolama aygıtlarına erişim sağlama - Bir dosyadan okuma ve bir dosyaya yazma gibi farklı dosya işleme etkinliklerini kontrol etme
3. Shell Shell UNIX mimarisindeki üçüncü katman, requestleri kabul etme ve programları yürütmek için için kullanıcı ile bilgisayar arasında bir arayüz görevi gören Shell’dir. Shell aynı zamanda UNIX işletim sistemi ile etkileşimi kontrol etmeye yardımcı olan command interpreter olarak da bilinir. Shell’in birincil işlevi, terminalden gelen verileri ve talimatları okumak ve ardından komutları yürütmek ve son olarak çıktıyı monitörde görüntülemektir. Shell, rutin görevleri yürütmek için çeşitli kütüphane rutinleri içerdiğinden utility layer olarak da adlandırılır. UNIX işletim sisteminde bulunan çeşitli kabuklar şunlardır:
Bourne shellC shellKorn shellRestricted shell
4. User applications User applications UNIX mimarisindeki son katman, çeşitli görevleri gerçekleştirmek ve UNIX’in diğer kullanıcılarıyla iletişim kurmak için kullanılan User application’dır. User applicationların önemli örneklerinden bazıları metin işleme, yazılım geliştirme, veri tabanı yönetimi ve elektronik iletişimdir.
Bilgisayar ağı, bilgisayarların birbirleriyle iletişim kurmasını ve kaynaklarını, verilerini ve uygulamalarını paylaşmasını sağlayan birbirine bağlı bilgisayarlardan oluşan bir sistemdir. Her bilgisayarın fiziksel konumu, kişisel ve kurumsal ihtiyaçlara göre uyarlanmıştır. Bir ağ, yalnızca kişisel bilgisayarları veya belirli bir coğrafi alanı kapsayan PC’lerin, mini bilgisayarların ve ana bilgisayarların bir karışımını içerebilir.Günümüzde yaygın olarak kullanılan bilgisayar ağları şu şekilde sınıflandırılabilir:
Coğrafi bölgeye göre: - Local Area Networks (LANs) - Wide Area Networks (WANs) - Metropolitan Area Networks (MANs) - International Network (Internet) - Intranet
2. Bilgisayar node’larının nasıl kullanıldığına bağlı olarak: - Client Server Networks (CSNs) - Peer-to-peer Networks (PPNs) - Value-added Networks (VANs)
LAN, aşağıdaki şekilde gösterildiği gibi, bina, ev vb. küçük bir alanda birbirine bağlı bir grup bilgisayardır. Bu tür bir ağ sayesinde, kullanıcılar mesaj gönderip alarak birbirleriyle kolayca iletişim kurabilirler. LAN genellikle iki veya daha fazla kişisel bilgisayarı bükümlü çift (twisted pair), koaksiyel kablo (coaxial cable) vb. gibi bir ortam aracılığıyla bağlamak için kullanılır. LAN’a bağlanan bilgisayarların sayısı sınırlı olsa da, veriler çok daha hızlı aktarılır.
WAN, kıta, ülke vb. geniş bir alanda birbirine bağlı bilgisayar grubudur. WAN genellikle iki veya daha fazla LAN’ı kiralık telefon hatları, mikrodalgalar vb. bazı ortamlar aracılığıyla bağlamak için kullanılır. WAN’da veriler yavaş hızda aktarılır. Tipik bir WAN ağı, Aşağıdaki şekilde gösterilmektedir.
MAN, bir şehir gibi geniş bir alanı kapsayan bir bilgisayar ağıdır. MAN’ın boyutu genellikle LAN ve WAN’ınki arasındadır ve tipik olarak 5 km ila 50 km’lik bir mesafeyi kapsar. MAN’ın kapsadığı coğrafi alan, LAN’dan nispeten daha büyük ancak WAN’dan daha küçüktür. MAN genellikle özel kuruluşlara aittir. MAN genellikle optik fiberler, bakır teller vb. yardımıyla bağlanır. MAN’ın en yaygın örneklerinden biri, Aşağıdaki şekilde gösterildiği gibi bir şehir içindeki kablolu televizyon ağıdır. LAN’ları birbirine bağlamak için *router *olarak bilinen bir ağ cihazı kullanılır. Router, bilgi paketlerini istenen hedefe yönlendirir.
Network topolojisi, kablo, fiber optik vb. bazı fiziksel ortamlar aracılığıyla bir ağa bağlı bilgisayarların düzenlenmesini ifade eder. Topoloji genellikle ağın şeklini ve ağın çeşitli bilgisayarları (Nodelar) arasındaki iletişim yolunu belirler. Çeşitli ağ topolojileri türleri aşağıdaki gibidir:
- Hierarchical topology - Bus topology - Star topology - Ring topology - Mesh topology - Hybrid topology
Hiyerarşik topoloji, aynı zamanda, bükümlü çift, koaksiyel kablo veya fiber optik (twisted pair, coaxial cable or fiber optics) yardımıyla bağlanan farklı düzeylere ayrılan ağaç topolojisi olarak da bilinir. Aşağıdaki şekilde, bilgisayarların hiyerarşik topolojideki düzenini göstermektedir.
Hiyerarşik topolojinin avantajları şunlardır: → Hiyerarşik topoloji genellikle çoğu donanım ve yazılım tarafından desteklenir. → Hiyerarşik topolojide, noktadan noktaya bağlantı nedeniyle veriler tüm nodelar tarafından verimli bir şekilde alınır.
Hiyerarşik topolojinin dezavantajları şunlardır: → Hiyerarşik topolojide, Root node başarısız olduğunda tüm ağ çöker. → Hiyerarşik topolojiyi yapılandırmak zordur.
Linear bus topolojisinde, tüm nodelar tek omurgaya veya veri yoluna çift bükümlü, koaksiyel kablo (twisted pair, coaxial cable,) vb. gibi bazı ortamlarla bağlanır. Aşağıdaki şekil, Linear bus topolojisindeki bilgisayarların düzenini göstermektedir.
Linear bus topolojisinin avantajları şunlardır: → Linear bus topolojisi genellikle daha az kablo gerektirir. → Linear bus topolojisinin yapılandırılması ve kurulması nispeten basittir. → Linear bus topolojisinde bir bilgisayarın arızalanması ağdaki diğer bilgisayarları etkilemez.
Aşağıdakiler doğrusal veri yolu topolojisinin dezavantajlarıdır: → Linear bus topolojisinde, omurga kablosunun arızalanması, tüm ağın bozulmasına neden olur. → Linear bus topolojisine bilgisayarların eklenmesi, ağın performansının düşmesine neden olur. → Hata durumunda Linear bus topolojisini yeniden yapılandırmak zordur.
Star topolojisinde, tüm nodelar hub olarak bilinen ortak bir cihaza bağlıdır. Nodelar, bükümlü çift, koaksiyel kablo veya optik fiber (twisted pair, coaxial cable or optical fiber) yardımıyla bağlanır. Aşağıdaki şekil, bilgisayarların star topolojisindeki düzenini göstermektedir.
Star topolojisinin avantajları şunlardır: → Bu topoloji, kolay hata algılama ve düzeltme sağlar. → Star topolojisinde bir bilgisayarın arızalanması ağdaki diğer bilgisayarları etkilemez. → Star topolojisinin kurulumu kolaydır.
Star topolojisinin dezavantajları şunlardır: → Star topolojisinde, hub hatası genel ağ çökmesine yol açar. → Star topolojisi, node’ları bağlamak için daha fazla miktarda kablo gerektirir. → Hub dökümü nedeniyle pahalıdır.
Ring topolojisinde, Node’lar bükümlü çift yardımıyla bir halka şeklinde bağlanır. Her node, ağdaki diğer iki node’a doğrudan bağlıdır. Aşağıdaki şekilde, Ring topolojisindeki bilgisayarların yerleşimini göstermektedir.
Halka topolojisinin avantajları şunlardır: → Her node’un ağdaki diğer nodelara eşit erişimi vardır. → Yeni nodeların eklenmesi, ağın performansını düşürmez. → Halka topolojisinin yapılandırılması ve kurulması kolaydır.
Ring topolojisinin dezavantajları şunlardır: → Ring topolojisini oluşturmak nispeten pahalıdır. → Ring topolojisindeki bir node’un arızalanması, halkadaki diğer node’ları etkiler.
Mesh topolojisinde, her bilgisayar, Aşağıdaki şekilde gösterildiği gibi point-to-point modda diğer tüm bilgisayarlara bağlanır. n bilgisayarımız varsa, n(n — 1)/2 bağlantımız olmalıdır.
Mesh topolojisinin avantajları şunlardır: → Mesaj teslimi daha güvenilirdir. → çok sayıda bağlantı nedeniyle ağ tıkanıklığı minimumdur.
Mesh topolojisinin dezavantajları şunlardır: → Uygulanması çok pahalıdır. → Yapılandırması ve kurulumu çok zordur.
Hibrit topoloji, tek bir büyük topoloji oluşturmak için kullanılan çoklu topolojilerin birleşimidir. Aşağıdaki şekilde, hibrit topolojideki bilgisayarların tipik bir düzenlemesini göstermektedir.
Hibrit topolojinin avantajları şunlardır: → Hibrit topoloji, birden fazla topoloji kullandığından daha etkilidir. → Hibrit topoloji, inşa edildiği birleşik topolojilerin en iyi ve verimli özelliklerini içerir.
Hibrit topolojinin dezavantajları şunlardır: → Hibrit topoloji, diğer topolojilere göre nispeten daha karmaşıktır. → Hibrit topolojinin kurulması ve yapılandırılması zordur.
Bilgisayarlar arasında veri paylaşmak için uygun ağ protokollerine ve yazılımlara sahip olmak önemlidir. Ağ protokolünün yardımıyla bilgisayarlar birbirleriyle kolayca iletişim kurabilir ve verileri, kaynakları vb. paylaşabilir.
Ağ protokolleri, genellikle iki ağ arasındaki iletişim için kullanılan kurallar ve düzenlemeler kümesidir. Ağ protokolü kullanılarak aşağıdaki görevler gerçekleştirilebilir:
- Kullanılan fiziksel bağlantı türünün tanımlanması - Hata tespiti ve uygun olmayan mesajın düzeltilmesi - İletişim oturumunun başlatılması ve sonlandırılması - Mesaj biçimlendirme
Yaygın olarak kullanılan ağ protokollerinden bazıları Hyper Text Transfer protocol (HTTP), Simple Mail Transfer Protocol (SMTP),File Transfer Protocol (FTP), Transmission Control Protocol/ Internet Protocol (TCP/IP), Telecommunications Network (Telnet), Domain Name System (DNS) vb.
Hyper Text Transfer protocol (HTTP), World Wide Web tarafından kullanılan iletişim protokolüdür. İstemci tarayıcısının ve Web sunucusunun HTTP protokol kuralları aracılığıyla birbirleriyle etkileşime girdiği bir request-response protokolü olarak işlev görür. Bu kurallar, mesajların nasıl biçimlendirildiğini ve iletildiğini ve bu mesajlara yanıt olarak tarayıcının ve Web sunucusunun hangi eylemleri yapması gerektiğini tanımlar. Örneğin, bir tarayıcının adres çubuğuna bir URL yazdığımızda, istenen Web sayfasını getirmek için Web sunucusuna bir HTTP isteği gönderilir. Web sayfası ayrıntıları, client tarayıcısına iletilir ve tarayıcı penceresinde HTML yoluyla işlenir. Tipik bir durumda, client tarayıcısı sunucuya bir HTTP request gönderir ve server isteği işler ve client’a bir HTTP response döndürür. Response, taleple ilgili durum bilgisinin yanı sıra talep edilen içeriği içerir.
HTTP protokolü, client tarayıcıları tarafından sunucuya request mesajları göndermek için kullanılan çeşitli yöntemleri destekler. Yaygın HTTP yöntemlerinden bazıları şunlardır: - GET: Belirtilen kaynaktan bilgi alır - HEAD: Yalnızca HTTP başlıklarını alır - DELETE: Belirtilen kaynağı siler - OPTIONS: Web sunucusu tarafından desteklenen HTTP yöntemlerinin listesini döndürür - TRACE: Sunucu tarafında gerçekleştirilen eylemlerin tanılama izini döndürür Bir HTTP response nesnesindeki ilk satır, sunucu tarafından işlenen HTTP isteğinin sonucunu gösteren response status kodunu taşıyan bir status line içerir. Durum kodu 3 basamaklı bir sayıdır ve aşağıda açıklandığı gibi özel bir anlam taşır: - 1xx: Sunucunun hala isteği işlemekte olduğunu gösteren bilgi durum mesajlarını içerir. - 2xx: İsteğin sunucu tarafından alındığını, kabul edildiğini ve işlendiğini belirten başarı durum mesajlarını içerir. - 3xx: İsteği işlemek için daha fazla işlem yapılması gerektiğini belirten yeniden yönlendirme durum mesajlarını içerir - 4xx: İstemci tarafındaki hatayı gösteren hata durum mesajlarını içerir, örneğin yanlış istek sözdizimi - 5xx: Sunucu tarafındaki hatayı gösteren hata durumu mesajlarını içerir, örneğin sunucunun isteği işleyememesi
Simple Mail Transfer Protocol (SMTP), posta sunucuları arasında e-posta mesajları göndermek için yaygın olarak kullanılan bir e-posta protokolüdür. SMTP, e-posta mesajlarının hem gönderilmesi hem de alınması için yetenekleri desteklerken, e-posta sistemleri e-posta mesajlarını göndermek için öncelikle SMTP protokolünü kullandı. Almak için IMAP’nin POP3'ü gibi diğer protokolleri kullanırlar. Unix tabanlı sistemlerde, e-posta için en yaygın kullanılan SMTP sunucusu sendmail’dir. Windows tabanlı sistemlerde, Microsoft Exchange bir SMTP sunucusuyla gelir ve POP3 desteği içerecek şekilde yapılandırılabilir.


File Transfer Protocol (FTP), dosyaları İnternet üzerinden paylaşmak için kullanılan standart bir protokoldür. FTP, client-server mimarisine dayalıdır ve dosya aktarımı için İnternet’in TCP/IP protokolünü kullanır. Kullanıcıların, FTP sunucusuyla bağlantı kurabilmeleri için kullanıcı adı/şifre belirterek kimliklerini doğrulamaları gerekir. Ancak bazı FTP siteleri, kullanıcıların kimlik bilgilerini girmelerinin gerekmediği anonim oturum açmayı da destekler. Kullanıcı kimlik bilgilerinin ve dosya içeriğinin İnternet üzerinden güvenli aktarımını kolaylaştırmak için FTP, TLS/SSL gibi kriptografik protokoller kullanarak içeriği şifreler.


Aşağıdaki adımlar, dosya aktarımının FTP üzerinden nasıl gerçekleştiğini göstermektedir:
1. Client makine, FTP sunucusunun IP adresine bağlanmak için İnternet’i kullanır. 2. Kullanıcı kimlik doğrulaması, ilgili kullanıcı adı ve şifre girilerek gerçekleşir. 3. Bağlantı kurulduktan sonra, client makine dosyalara erişmek ve dosyaları aktarmak için FTP komutları gönderir. Günümüzde, dosyaların sürükle ve bırak gibi basit işlemlerle aktarılmasını sağlayan çeşitli GUI tabanlı FTP yazılımları mevcuttur.
Telnet, kullanıcıların intranet veya internet gibi bir TCP/IP ağı üzerinden uzak bilgisayarlara bağlanmasına olanak sağlayan bir protokoldür. HTTP ve FTP protokolleri İnternet üzerinden Web sayfalarını ve dosyaları aktarmak için kullanılırken, Telnet protokolü uzak bir bilgisayarda oturum açmak ve normal bir kullanıcı gibi işlem yapmak için kullanılır. Kullanıcıların uzak ana makinede oturum açmadan önce kimlik bilgilerini girmeleri gerekir.Komut satırı tabanlı telnet erişimi, Windows, Mac OS, Unix ve Linux gibi büyük işletim sistemlerinde mevcuttur. Telnet komutunun genel formatı aşağıda verilmiştir: - telnet: Telnet bağlantısını kuran komuttur. - host: Ana makinenin adresi- port: Ana makinede telnet servislerinin mevcut olduğu port numarasıdır.

