BİL 110 Bilgisayara Giriş İşletim Sistemi ve Diğer Yazılımlar Öğrt. Gör. Dr. Ahmet Cengizhan Dirican Bilgisayar Müh. Böl. İşletim Sistemleri Operation Systems Genel Bakış Bu bölümde aşağıdaki konular ele alınacaktır İşletim sistemi kavramı İşletim sistemlerinin genel yapısı Tarihsel gelişim süreci İşletim sistemlerine hızlı bakış Cloud computing Sanallaştırma (virtualization) Mobil işletim sistemleri 32 ve 64-Bit işletim sistemleri İşletim Sistemi Nedir? Kısaca OS (Operation System) olarak da adlandırılır. Asıl itibariyle bilgisayarınızda çalışan bir yazılımdır. Donanımların doğrudan denetim ve yönetimini sağlar. Temel sistem işlemlerini çalıştırır. Uygulama yazılımlarına çalışabilecekleri ortamı sağlar. Son kullanıcı için bilgisayar donanımını anlamlı hale getirir. Kullanıcı ile iletişimi sağlar. Bilgisayar Katmanlarındaki Yeri Uygulama Yazılımları Sürücüler Uygulama Yazılımları Derleyiciler Sistem Yazılımları İşletim Sistemi Makine Dili Komutları Donanım Fiziksel Birimler Genel Yapı Arayüz Kabuk Çekirdek Donanım Kernel Shell GUI Grafiksel ve Komut Satırı Arabirimi API’ler ve Komutlar İşletim Sisteminden Beklenen İşlevler Bilgisayarı Başlatma Kullanıcı Arayüzü Sunma Programları Çalıştırma ve İşlem Yönetimi Bellek Yönetimi Kullanıcı Yönetimi Ağ Yönetimi ve Denetimi Dosya Sistemi ve Depolama Yönetimi Performans Kontrolü Internet Bağlantısı Aygıt, Sürücü ve I/O Yönetimi Kernel Çekirdek veya Core olarak da isimlendirilir. İşletim sisteminin kalbidir; yazılım ve donanımı birbirine bağlar. Donanıma kullanıcıların ve uygulama yazılımlarının doğrudan erişimlerini sınırlandırır ve düzenler. Bir çok sistemde kabuk ve çekirdek ayrımı sadece kavramsaldır. Shell: Kabuk Katmanı Kabuk katmanı çekirdeğe kullanıcı veya uygulama arabirimlerinden gelen komutları iletmekten sorumludur. Aynı zamanda çekirdekten aldığı bildirimleri ve çekirdeğin geçerli durumunu arayüze iletir. Uygulama yazılımları, API (Application Programming Interface) adı verilen arabirimler ile kabuk katmanıyla konuşur. Bu anlamda API’ler de kabuk katmanına dahil edilebilirler. API’ler yazılım geliştiriciler için SDK olarak bilinen geliştirme kılavuzları sunarlar. GUI: Grafiksel Kullanıcı Arayüzü Monitörünüze yansıyan grafiksel görünümdür. Klavye ve fare aracılığı ile bilgisayarı birçok farklı iş için kullanabilmenizi sağlar. Son kullanıcı açısından işletim sisteminin anlamı bu arayüzdür. Metin Tabanlı Kullanıcı Arabirimi Günümüzde GUI kavramı grafiksel arayüzleri ifade eder. Ancak MS-DOS gibi sadece komut girilebilen metin tabanlı arabirimlere sahip işletim sistemleri de vardır. Linux veya sunucu işletim sistemlerinde ise komut satırı işlevlerini kullanmak son derece kritik ve popülerdir. Depolama Birimleri Yönetimi ve Dosya Sistemi Her işletim sisteminin bir depolama yönetim sistemi vardır. FAT, NTFS, Linux SWAP … vb. Çoğu işletim sistemi birden fazla yöntemi destekler. Uygun şekilde biçimlendirilmiş her depolama biriminin bir kök dizini; yani depolama başlangıç noktası vardır. root\ , c:\ …. vb. İşletim sistemi bu kök dizin içinde alt dizinlerin ve dosyaların oluşturulmasını ve yönetilmesini sağlar. Donanım Sürücüleri İşletim sistemlerinin bağlı donanımları kullanabilmesi için uygun sürücü yazılımına sahip olması gerekir. Her işletim sistemi, yaygın kullanıma sahip bir çok donanım için yerleşik sürücüler bulundurur. Ancak işletim sisteminden sonra piyasaya çıkan donanımların veya yenilenen sürücü yazılımlarının sisteme eklenmesi gerekir. Yerleşik sürücüler, bir donanımı sisteme tanıtsa bile tüm fonksiyonları ile çalıştırmayabilir. Üretici web sitesinden güncel sürücüleri indirmek ve işletim sistemine eklemek en doğru yöntemdir. Programlama Dilleri ve Derleyiciler Bir işi bilgisayara yaptırmak için kabuk katmanına bir dizi komutun bir düzen içinde verilmesi gerekir. Bu komutları oluşturmak için kullanılan kod sistematiklerine programlama dili denilir. C++, C#, VB, Pascal, Cobol, Java Derleyici (compiler) yazılımlar ile uygun biçime dönüştürülürler. Bu komutlar bir yorumlayıcı tarafından kabuk katmanına aktarılabileceği gibi, makine diline çevrilerek de aktarılabilir. Uygulama Yazılımları Kategorisi Örnekler Kelime İşlemciler Notepad, WordPad, MS Office Word, OpenOffice Writer Hesap Tabloları MS Office Excel, Corel Quattro Pro, OpenOffice Calc Sunu MS Office PowerPoint, Corel Presentations, OpenOffice Impress Grafik Paint, PhotoShop, PaintShopPro Vektörel / 3D Corel, Freehand, OpenOffice Draw, AutoCad, 3DMax, Maya Veritabanı MS Office Access, MS SQL Server, MySQL, Oracle Server Yazılım / Tasarım VS. Net, Dreamweaver, FrontPage Ticaret Muhasebe, Stok, Üretim Planlama vb. yazılımlar… Web ve İletişim Internet Explorer, Firefox, MSN Messenger, Google Talk, CuteFTP Multimedya Windows Media Player, Winamp, Ulead Video Studio Güvenlik Antivirüs, Firewall, Internet Filtreleme, PopUp Blocker Oyun Mayın Tarlası, Quake III, Counter-Strike Komut İşletim Yetenekleri Mono Programming: Aynı anda tek işlevi yürütme (DOS). Multi Tasking: Aynı anda birden çok görevi yapma (Windows). Multi User: İki veya daha fazla kullanıcıya hizmet verebilme Multi Processing: İki veya daha fazla CPU bulunması Multi Threading: İşleri küçük parçalara ayırıp yürütebilme İşletim Sistemlerinin Tarihsel Gelişimi İlk bilgisayarlarda OS yoktu ve işlemler donanım kontrollü idi İşlemler bir panele takılan kablolarla makine dilinde yapılıyordu Daha sonra yığın işlem yapabilen sistemler tasarlandı Manyetik bantlarda sıralanmış program komutlarının çalıştırılması Entegre devrelerin kullanımı ve bilgisayar tasarımlarının ilerlemesi ile işletim sistemleri kullanılmaya başlandı IBM OS360 (1965) UNIX (1970) DOS - MacOS (1980) Windows -Linux (1990) UNIX İşletim Sistemi İlk olarak AT&T Bell firması tarafından C dilinden yazıldı Ücretsiz ve her sisteme kolayca uyarlanabilir yetenekte idi. Güncel işletim sistemleri, UNIX üzerinden geliştirilmiştir. Açık kaynak kodludur; Linux’lar UNIX türevleridir. Günümüzde kullanılan ticari sürümleri oldukça pahalı ve azdır. Daha çok sunucu bilgisayarlarda kullanılan, kararlı sistemlerdir. MacOS Apple firmasının Macintosh bilgisayarları için özel olarak tasarlanan bir UNIX türevidir. İlk sürümlerinden beri güçlü ve renkli görsel bir arabirimi vardır. Masaüstü yayıncılık alanını hedefleyen özel bir bilgisayar sistemi için geliştirilmesi, daha kararlı olmasını sağlamıştır. Sınırlı hedef kitle ve pazar payına rağmen, bir çok yeteneği çok daha erken tarihlerde kullanıcılarına sunmuştur . Günümüzde oldukça güçlü sürümleri bulunmaktadır. DOS: Disk Operating System 80’li yıllara damgasını vuran, siyah komut satırı ekranına sahip IBM firmasının işletim sistemdir. Daha sonra Microsoft tarafından MS-DOS olarak sunulmuştur. Kendinden sonra gelen ve görsel arabirime sahip bir çok işletim sistemi de, uzun süre MS-DOS tabanlı olmuştur. Ana görevi disket ve sabit disk gibi saklama ortamlarının yönetimidir. Bugün Windows’un DOS tabanlı olmayan sürümleri, bir komut satırı ekranı ile DOS komutlarını desteklemektedir. OS/2 ve Windows 3 DOS işletim sisteminin siyah ekranına karşın MacOS’un güçlü görsel arabirimi, oldukça başarılı bir gelişim süreci sergiliyordu. IBM ve Microsoft, görsel bir arabirime sahip işletim sistemi geliştirmeyi hedefleyerek OS/2 projesine başladılar. Bir süre sonra Microsoft projeden ayrılmış, IBM ise bir süre daha projeyi sürdürmeye devam etmiştir. Microsoft görsel arabirime sahip OS sürecinde ilk başarısını Windows 3 ile elde etmiştir. Windows 95 Microsoft’un tüketici odaklı ilk işletim sistemidir. Bugün %90’lık pazar payına ulaşan Microsoft hakimiyeti Windows 95 ile başlamıştır. Grafik arabiriminin yanında bilgisayar kullanımını kullanıcılar için son derece basitleştirmesi en önemli başarısıdır. Windows 95, genelde ev kullanıcılarına hitap etmiştir. Windows 95’in iş istasyonlarını hedefleyen kardeşi ise Windows NT 3.1 olmuştur. Ev ve iş istasyonları için ayrı Windows’lar çıkartma eğilimi uzun süre devam etmiştir. Hızlı Bakış: Windows Sürümleri Windows 95, 98 ve ME sürümleri DOS tabanlıdır. Windows NT üzerine geliştirilen Windows 2000’in elde ettiği başarı sonrasında DOS tabalı Windows’lar terk edilmiştir. Windows XP, Windows 2000 mimarisi üzerine kuruludur. Popüler Windows Sürümleri XP sonrasında ev ve iş Windows 95 Windows NT 3.1 istasyonları için ayrı Windows Windows 98 NT Workstation 4 versiyonları da terk edilmiştir. Windows ME Windows 2000 Bunun yerine, daha az veya Windows XP daha fazla özellik sunan farklı Home / Pro alt sürümlerin çıkartılması Windows Vista Starter / Home Basic / Home Premium yoluna gidilmiştir. Bussines / Ultimate Windows 7 Starter / Home Basic / Home Premium Professional / Ultimate / Enterprise Microsoft Windows Serüveni 1985 1987 1990 1993 1993 1993 1995 1996 1998 1999 2000 2000 2001 2003 2006 2007 2008 2009 2010 Windows 98 ve NT Windows 95’in ilk pencereleri, bir çok açıdan yetersizdi. Windows 98, bir önceki sürümün oldukça toparlanmış halidir. Windows 98 DOS tabanlı iken, kardeşi NT (New Technology), Microsoft’un yeni nesil işletim sistemi teknolojisidir. Windows 98’in Second Edition, en kararlı Windows sürümlerinden birisi olmuştur. Windows ME ve 2000 Milennium Edition, en başarısız Windows sürümlerindendir. Windows 2000 iş istasyonları ve sunucular için sunulduğunda, ev kullanıcıları için çıkartılmış bir ara sürüm niteliğindedir. Windows 2000 ise, gelecekteki Windows sürümlerinin de temelini oluşturan çok ciddi bir altyapıya sahip sistemdir. Halen Windows 2000 ile çalışan çok sayıda sunucu vardır. Windows XP XP, en uzun soluklu Windows sürümüdür (6 yıl aktif kullanım). Windows NT ve 2000 ile aynı alt yapıyı kullanır. Microsoft Windows XP için verdiği desteği yavaş yavaş azaltmaktadır; sadece SP2 ve üzeri için destek sunmaktadır. Günümüzde çoğu kullanıcı halen Windows XP kullanmakta; hatta Vista ve sonraki sürümlere geçişte direnmektedir. Aynı zamanda halen çoğu kullanıcının ihtiyacına cevap verebilecek durumdadır. Windows Vista Vista, Windows’da özellikle görsel açıdan devrim niteliğindedir Auro özelliği olarak sunulan şeffaf ve 3 boyutlu pencereler Çok daha şık bir tasarım ve uyumlu renkler Gerçek zamanlı multimedya ve pencere önizleme destekleri Programcılar için çok basit “ileri düzey grafik işlemler” kütüphaneleri Görsel yeniliklerin yanında çok sayıda gelişme de sunmaktadır IPv6 desteği ve gelişmiş ağ yönetim hizmetleri Yerleşik güvenlik duvarı ve ileri düzey güvenlik servisleri Oldukça başarılı yeni bir klasör gezinti ve dosya listeme sistemi Windows Server Ailesi Windows XP’ye eşlik eden sunucu sürümü Server 2003’tür. Windows Server 2008 ise Vista ve Windows 7’ye eşlik eder. Windows Server ailesi, bir çok yönden Windows 2000 Server sürümünü takip eder; süreçler çok fazla farklılaşmamıştır. Windows Home Server ise, ev ve küçük işyeri ağlarında kullanılması amacıyla piyasaya sürülmüş sınırlı bir sürümdür Windows 7 Windows 7, Vista Core kullanmaktadır; yani 7. sürüm değildir Vista’ya geçişteki sürücü sıkıntıları büyük oranda yaşanmayacaktır Vista’nın problemleri giderilmiş, daha performanslı halidir Vista sonrasında bir çok geliştirme içermektedir Kullanıcıyı rahatsız eden abartılı güvenlik uyarları daha düzenlidir Başlat menüsü ve görev çubuğu yeni nesil bir tasarıma sahiptir Windows 8 Metro arayüzü. Dokunmatik bilgisayarlar ve tabletler için tasarlanan ve SkyDrive, Flickr gibi internet uygulamalarını HTML5 ve CSS3 ile metro bağlantılar ile içine aktarıp inşaa eden Windows 8, aynı Windows Phone 7 gibi canlı haberleri anlık olarak metro kanallarda gösterilecek. Uygulamalar arasında gezinmek oldukça hızlı olacak. Hızlı açılış Cep telefonuyla senkronize çalışma Uygulama mağazası …. Linux Kernel İlk linux çekirdeğini, 1991 yılında Linus Torvalds hazırlamıştır. UNIX’e benzer bir yapıda ve açık kaynak kodludur. UNIX gibi sunucu tarafında çok kuvvetli olmasının yanında masaüstü uygulamaları için önemli geliştirmeler bulundurur Ücretsiz dağıtılan ve Linux çekirdeğini kullanan çok sayıda işletim sistemi mevcuttur. Bir çok ülke, ulusal organizasyonlarla kendi dillerinde Linux dağıtımları geliştirmektedir. Linux İşletim Sistemleri Çok sayıda Linux sürümü bulunsa da, bazı sürümler dünya çapında yaygınlaşmış ve genel kabul görmüştür Red Hat, Fedora, Debian, Ubuntu, Mandriva, SuSE Dağıtımlar GPL (Genel Kamu Lisansı) kullanır. Kaynak kodları da ücretsiz olarak dağıtımlara eklenir. Son kullanıcı piyasasına Windows hakim olsa da, sunucu pazarında ciddi bir paya sahiptirler. Pardus: Yerli Malı Linux TÜBİTAK’ın geliştirdiği yerli Linux dağıtımı projesidir İlk sürümü 2005 yılında çıkmıştır Bazı özellikleri diğer Linux dağıtımlarının da ilgisini çekmektedir Ubuntu'nun KDE arabirimini kullanan sürümü Kubuntu, ilerideki sürümlerinde Pardus Ağ Yöneticisi'ni kullanacağını açıklamıştır Çomar / COnfiguration MAnageR gibi ilginç benzetmelerle Türkçe isimlendirmeleri ile de dikkat çekmektedir Google Chrome Google Chrome OS, Google tarafından geliştirilen Linux-tabanlı, açık kaynak, web uygulamaları ile çalışan bir işletim sistemidir.[3] 7 Temmuz 2009 tarihinde duyurulan Chrome OS, 15 Haziran 2011 tarihinde Chromebook ile piyasaya çıkmıştır. Chrome OS'u çalıştırmak ve yüklemek için indirmeye sunulmayacak. Bunun yerine, sadece Google ortakları tarafından yayımlanan donanımlarda kurulu olarak gelecek.[4] Kullanıcı arayüzü Chrome tarayıcıda olduğu gibi minimalist bir yapıda. Cihazdaki tek uygulama bir ortam oynatıcı içeren bir tarayıcı olacak, Google Chrome OS vaktinin çoğunu internette geçiren kullanıcılar için tasarlanıyor. 7 aralık 2010'da bir brifing'de, Google cr-43 bilgisayarlarının Chrome işletim sistemiyle çalıştığını duyurdu. Cr-48 bilgisayarları sadece test amaçlı kullanılmakta, halka satılmamaktadır.[5][6] Cloud Computing : Web Tabanlı İşletim Sistemleri Bilgisayar bulutu anlamına gelen bir kavramdır Sadece bir web tarayıcısı ve hızlı bir internet bağlantısı gerektiren, web tabanlı servis platformlarını ifade etmektedir Bu sayede bilgisayarınızın donanım gücü önemini yitirmektedir Bunu mümkün kılan ise Google, Amazon, Microsoft ya da IBM gibi büyük şirketlerin sunucu çiftlikleridir Henüz çok yeni bir sistem olsa da kullanıcılara düşük maliyet ile geniş olanaklar vaat etmektedir Google Docs uygulaması bu sistemler için iyi bir örnek kabul edilebilir Windows Azure Azure, Windows servis platformu olarak tanımlanmaktadır. .Net tabanlı geliştirici araçları kullanıma sunulmuş durumdadır. Windows Azure Platformu bulut uygulamaları, çevrimiçi hizmetler ve web sayfaları oluşturmak için basit, güvenilir ve güçlü bir Microsoft platformudur. MacOS Windows ve Linux mücadelesinin dışında MacOS gelişimi kendi alanında devam etmektedir. MacOS sistemlerin en önemli yenliği Intel işlemcileri de desteklemeye başlaması ve PC’ler kullanılabilecek olmasıdır. Eşdeğer Windows ve Linux sürümlerine karşı halen oldukça güçlü durumdadır. MacOS 9 sonrası sürümlerin hepsi MacOS X adını alır. MacOS X’in; Puma, Jaguar, Panther, Tiger, Leopard ve Snow Leopard sürümleri bulunmaktadır. Sanallaştırma / Virtualization Yazılımsal olarak sanal donanım ortamları oluşturulmasıdır Bu sayede farklı alt işletim sistemleri kullanılması mümkün olur Örneğin Windows bir sistemin için Linux kullanabilir, veya tersi şekilde Linux bir sistemi kapatmadan Windows çalıştırabilirsiniz Sanal makineler, ana makinenin donanım kaynaklarını paylaşırlar İnternette kiralanan web sunucuları genellikle bir tek makine üzerinde çalışan çok sayıda sanal makineden ibarettir Sanallaştırma Yazılımları Piyasada bir çok sanallaştırma yazılımı bulunmaktadır VMWare, Microsoft Virtual PC ve VirtualBox en popülerleridir Sanal makinelerin sabit diskleri, özel tür bir dosyadan ibarettir. Bu yazılımlar, sanal işletim sistemine kurdukları özel bir yazılım ile sanal makine ile master sistem arası ilişkileri düzenlerler. Web Desktops/ Desktop OS: Web Masaüstü Sistemleri İnternet tarayıcınızda çalışan bir nevi sanal işletim sistemidir. Cloud computing kavramı ile aynı şey değildir Cloud computing servis platformları ileri düzey bir 3D oyunu bile oynamanızı mümkün kılarken, WebOS yetenekleri oldukça sınırlıdır Internet üzerinde bu hizmeti veren çok sayıda site vardır Craythur, Desktoptwo, EyeOs, Glide, Orca, Xindesk, Wubuntu Mobil İşletim Sistemleri PDA ve akıllı telefonlar gibi mobil cihazlar için özel olarak tasarlanmış işletim sistemleridir Microsoft Windows CE ve Windows Mobile Symbian 60 Google Android iPhone OS Palm OS 32 ve 64-Bit İşletim Sistemleri İşletim sistemleri kullanılacakları CPU mimarisine bağımlıdır 32 bit bir CPU ile sadece 32 bit bir işletim sistemi kullanılabilir 64 bit desteği yaygın olarak 32 bit CPU’lara komut seti olarak eklendiğinden, 64 bit bir CPU ile 32 veya 64 bit OS çalışabilir 32 bit işletim sistemleri sadece 3 GB hafızayı destekler 3 GB’dan büyük RAM için, 64 bit CPU ve işletim sistemi kullanılmalıdır