Sunuyu indir
Sunum yükleniyor. Lütfen bekleyiniz
1
İŞLETİM SİSTEMİNE GENEL BAKIŞ
2
İş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. İşletim sistemi, uygulama kodları genellikle direkt donanım tarafından yürütülmesine rağmen, girdi-çıktı, bellek atama gibi donanım fonksiyonları için uygulama programları ve bilgisayar donanımı arasında aracılık görevi yapar.
3
İşletim Sistemlerinin Görevleri
En temel anlamda işletim sistemlerinin icra ettikleri görevler: 1. Sistemin donanım kaynaklarım yönetmektir. Bu kaynaklar: İşlemci (Processor) yönetimi Bellek (Memory) yönetimi Depolama Yönetimi Aygıt (Device) Yönetimi
4
2. Uygulama programlarının kullandıkları donanım birimlerine ait detayları bilmeden, onlarla uyumlu olarak çalışmasını sağlamaktır. Bunun anlamı, uygulamaların, şu veya bu işlemci, belleğe uygun olarak değil, üzerinde koşacağı işletim sistemine uygun olarak hazırlanması demektir. 3. Sistemin yazılım kaynaklarını yönetmek ve onlara uygulama arayüzleri (API: Application Program Jnterfaces) sağlamaktır. 4. Kullanıcıların, metin ve/veya grafik arayüzler üzerinden sisteme dahil olmaları ve İşlemlerini gerçekleştirmelerini sağlamaktır. 5. Sistemin hem iç kararlılığım hem de yetkisiz dış müdahalelere karşı güvenliğini sağlamaktır.
5
İşletim Sistemlerinin Sınıflandırılması
İşletim sistemlerinin birbirlerinden farklarını anlayabilmek ve hangisinin hangi tür işler için daha uygun olduğunu belirleyebilmek için, temel sınıflandırma kriterlerini bilmemiz gerekir. 1. Tek Kullanıcılı-Tek Görevli (Single User-Sigle Task) Tek bir kullanıcıya izin veren ve aynı anda tek bir işlem yürütebilen işletim sistemleridir. Bunun anlamı farklı zamanlarda farklı kullanıcılar aynı işletim sistemini kullanabilir ancak iki kullanıcı aynı anda kullanamaz. Benzer şekilde, birçok uygulamayı çalıştırabilir ancak tek bir zamanda sadece bir işlem yürütebilir.
6
2. Tek Kullanıcılı-Çok Görevli (Single User-Multi Task) Tek bir kullanıcı aynı anda birçok işlemi yürütebilir. Örneğin Microsoft Windows ve Apple MAC OS tek kullanıcılı ve çok görevli işletim sistemleridir. Örneğin bilgisayarın başındaki bir kullanıcı aynı anda müzik dinlerken, internette gezinebilir. Benzer şekilde, bu tür işletim sistemleri yüzlerce kişiye web, e-posta vb. hizmetleri de verebilirler. Ancak birden çok kullanıcıya hizmet vermek çok kullanıcılı mimariye sahip oldukları anlamına gelmez. Zira bu işletim sistemlerinde aynı anda sadece bir kişi oturum açabilir.
7
3. Çok Kullanıcı-Çok Görevli (Multi User-Multi Task) Birçok kullanıcı tek bilgisayarın kaynaklarını ortaklaşa olarak kullanabilir ve her bir kullanıcı kendisine verilen haklar çerçevesinde istediği işlemleri yürütebilir. Linux ve Unix türü işletimim sistemleri çok kullanıcılı ve çok görevli mimariye sahip olup tanımlı tüm sistem kullanıcıları kendi terminalini açıp, işlemlerini yürütebilir. 4. Gerçek Zamanlı İşletim Sistemi (Real-Time Operating System) İlk üç kriterimizden farklı olarak, kullanıcı odaklı olmaktan çok görev odaklı olan işletim sistemleridir. Genel olarak endüstriyel sistemlerde, kontrol etme ve ölçüm yapma amaçlarına uygun olarak dizayn edilirler. Burada, kullanışlılıktan ve seçenekten daha önemli olan görevi tam zamanında ve doğru yapabilmektir.
8
İŞLETİM SİSTEMLERİNİN YÜKLENMESİ
Bilgisayara elektrik verildiği andan sonra, ne yapacağım bilmeyen sisteme gerekli komutları gönderen ROM {Read-only Memory} bellektir. ROM bellek, RAM veya diğer sabit disklerden farklı olarak, üretim esnasında görevinin ne olduğu üzerine yazılan kalıcı bir birimdir. BIOS (Basic Input-Output Systems) veya Firmware olarak da adlandırılan açılış ROM’u üzerindeki kodlar, sistem donanım fonksiyonlarının düzgün olup olmadığım test eder. Power-on self test {POST) olarak adlandırılan bu süreçte, işlemci (CPU), geçici belek {RAM) ve sistemin giriş çıkış birimleri tek tek kontrol edilir.
9
POST sürecinin başarıyla tamamlanmasının ardından, işletim sistemini RAM’e yükleyecek olan disk sürücüler sırasıyla (boot sequence) tetiklenir. Eğer, tetiklediği disklerin herhangi birinde işletim sisteminin ilk parçası olan önyükleyiciyi (bootstrap loader) bulursa, bir sonraki diski tetiklemeden bulduğu önyükleyiciyi RAM’e aktarır. Önyükleyicinin tek görevi, işletimim sistemini sağ salim belleğe aktarmak ve kontrolü bir an önce ona bırakmaktır. NTLDR, LİLO ve GRUB günümüzdeki en bildik önyükleyici programlandır.
10
Bilgisayar Mimarisi ve Linux
Linux’u 4 farklı temel bileşen altında incelersek: Donanım Bileşenleri ve Makine Kodu Çekirdek Kabuk Uygulamalar
11
Donanım Bileşenleri ve Makine Kodu
Donanım bileşenleri aşağıdaki şekildeki gibidir.
12
Makine kodları, Merkezi İşlemci Birimi (CPU) tarafından hiçbir çevrime tabi tutulamadan anlaşılabilen ve icra edilen komutlar sistemine verilen addır. Makine komutları 1 ve 0 dan oluştuğu için okunabilir değildir. Assembly dili ise makine komutlarını okunabilir kılar. Örneğin 00 yerine add komutunun kullanılması gibi. 00: Toplama 10: çıkarma 01: Çıkarma 11: Bölme GİRİŞ A Makine komutları ÇIKIŞ GİRİŞ B
13
İşlemci Aileleri ve Linux İşlemci aileleri sırasıyla 8 bit, 16 bit, 32 ve 64 bit olarak geliştirilmiştir. İntel komut setini kullanan 32 bitlik tüm işlemciler İ386 ailesi olarak adlandırılmıştır. Bazı yerlerde İ386 ailesi yerine x veya IA-32 (Intel Architecture 32 bit) isimleri de kullanılır. İster AMD olsun ister Intel’in kendi işlemcisi olsun, eğer o işlemci için İ386 ailesinden deniyorsa, 32 bitlik Intel komut setli işlemci olduğu anlaşılır. Linux işletim sisteminin çekirdeği başlangıçta x86 serisi işlemci kullanan IBM kişisel bilgisayar için geliştirilmiş olup, sonradan farklı ailelerden olan Sparc, Alpha, ARM türü işlemcileri de desteklemeye başlamıştır. Ancak her Linux dağıtımı her işlemci ailesini destekler demek yanlış olur.
14
32 ve 64 Bit İşlemciler AMD, Intel x86 komut setini temel alınarak geliştirilmiş bir işlemcidir. Diğer yandan, AMD, 64 bit işlemci geliştirme konusunda Intel’den önce davranarak x86 komut setine ilaveler yapmış ve 64 bit hesaplama setini oluşturmuştur. Daha sonra da Intel AMD’nin hazırladığı 64 bitlik hesaplama setini benimsemiştir. Ancak aynı komut setini kullanmalarına rağmen, AMD bu set için AMD64 (resmi olarak AMD K8 mikro mimarisi) adını kullanırken, Intel önceleri EM64T daha sonrada Intel 64 demeyi tercih etmiştir. Diğer kaynakların bir kısmı ise her ikisini de kapsayacak biçimde x86~64 veya x64 isimlerini kullanmaktadır. Ne yazık ki bu durum bir kavram kargaşasına, dolayısıyla da kullanıcılar açısından kafa karışıklığına neden olmaktadır. Bizim bilmemiz gereken, ister AMD64, ister Intel 64 olarak isimlendirilsin bunun x86-64 platformu olduğunu bilmektir.
15
Kısaca 64 bitlik işlemci mimarisinin avantajları
32 bitlik bilgisayar mimarisinde, uygulamalarını adresleyebileceği bellek miktarı 4 Gbyte ile sınırlıdır. 64 bitlik yapıda ise bellek miktarı daha fazladır. 64 bitlik mimaride tanımlanabilir sayı aralığı daha fazladır. Bu denli geniş işlem aralıkları görüntü/sinyal işleme, kriptolama ve çeşitli simülasyonlar için gerekmektedir. Çok sayıda anlık kullanıcısı olan ve ciddi veritabanı sorgulan yapılan sunucu sistemlere için ciddi performans sağlar.
16
2. Çekirdek CPU, RAM, I/O birimleri gibi donanım kaynaklarını yönetir ve uygulamalara onları kullanabilecek fonksiyonlar sağlar. Bununla birlikte, hem sistem hem de kullanıcı uygulamalarına bu kaynakları belirli kriterlere göre dağıtır.
17
Çekirdeğin karşılaştırılması
Çekirdek demek işletim sistemin kendisi demektir. Dolayısıyla, bir çekirdeği tercih nedeni yapan kriterlerin başında performans ve güvenilirlik gelir. Bunlara beraber uygulama geliştiricilerin de o çekirdeğe yaygın destek vermesi çok önemli bir konudur. Elbette bu destek, çekirdeğin uygulama geliştiriciler için sağlayabildiği desteğe çok bağlıdır. Sizi ihtiyacınız olan birçok uygulamadan mahrum bırakan bir çekirdek, teknik açıdan ne kadar sağlam olursa olsun kullanışsız demektir.
18
Linux Çekirdeği Başlangıçta on bin satır civarında koda sahip olan örneğin Linux, 2.6 sürümüyle 5 milyon satırı geçmiştir. Şimdi Linux çekirdek sürümlerinin kısa bir kronolojisine bakalım. 1991 Linux 0.1 Çekirdeği 1996 Linux 1.2 Çekirdeği 1999 Linux 2.2 Çekirdeği 2001 Linux 2.4 Çekirdeği 2003 Linux 2.6 Çekirdeği Linux çekirdekler en fazla 4 haneden oluşacak biçimde numaralandırılır. Örneğin Linux çekirdeğini ele alalım. Sol baştan ilk hane olan 2 çekirdeğin versiyon numarasını göstermektedir. Sol baştan ikinci hane olan 6, büyük revizyon'numarasını gösterir. Büyük revizyon numarasının tek sayı olması bu çekirdeğin kararsız olduğunu; çift sayı olması ise kararlı olduğunu göstermektedir. Bu nedenle kullandığınız çekirdek numarasının ikinci hanesi ciddi önem taşır. Aynı örneğimizdeki sol baştan üçüncü hane olan 20 küçük revizyon numarasını gösterir. Son hane ise düzeltmeleri gösterir. Çekirdek seçiminde veya güncellemesinde en çok dikkat edilmesi gerek husus, çekirdeğin en son yayımlanan kararlı sürümünü indirmektir.
19
Sistem açılırken çekirdeğin hangi işlemleri yaptığını görebilmemiz için dmesg komutunu kullanırız.
20
3. Kabuk Kabuk, temel giriş birimi olan klavyeden girilen komutların çalıştırıldığı arabirimdir. Linux kabuğu deyince akla önce metin tabanlı arayüzler gelir. GNOME ve KDE gibi grafik tabanlı kullanıcı arayüzleri de bazen grafik kabuk veya görsel kabuk olarak adlandırılsa da, genel kural ve kullanım açısından onlara kabuk yerine, grafik arabirim demek daha doğru bir ifade olacaktır. Benzer biçimde, MS Windows işletim sistemlerindeki command.com veya cmd.com’u gibi metin tabanlı kullanıcı arayüzleri de kabuk olarak adlandırılır.
21
Linux İşletim Sisteminde En Çok Tercih Edilen Kabuk Türleri
sh (Shell, Bourne Shell): İlk Unix kabuğudur. Bİrçok Unix ve benzeri İşletim sisteminde ön tanımlı olarak gelir. ksh (Kora Shell): sh uyumlu olup, ilaveten birçok ek programlama özelliği içerir. csh {C shell): Berkeley Üniversitesi’nde geliştirilen csh, C diline benzer bir programlama yapısına sahiptir. C diline hakim kullanıcılar, daha rahat kabuk programlama yapabilmek için csh’yi tercih ederler. bash (Bourne Again Shell): Kullanım kolaylığı bakımından en çok tercih edilen kabuktur. Yarım komutu tab tuşu ile tamamlama gibi kullanıcı etkileşimleri vardır. Bash, kendisinden önceki sh ve ksh kabukları ile uyumludur.
22
4. Uygulamalar Bir işletim sisteminin sağladığı ortam üzerinde koşan her türlü yazılıma uygulama denir. Linux, gerek metin tabanlı gerekse grafik tabanlı uygulamalar açısından oldukça zengindir. Örneğin; Windows işletim sisteminde kullandığınız programların muadillerini adresine girerek bulabilirsiniz. Bu uygulamalar, GNU Genel Kamu Lisansına (GNU General Puclic Licenses) veya GNU Kısıtlı Genel Kamu Lİsansma {GNU Lesser General Puclic Licenses) sahiptir.
23
GNU (GNU General Public Licenses)
GNU Genel Kamu Lisansı (GNU General Puclİc Licenses): Bu lisansa sahip yazlımlar, tüm kullanıcılar tarafından değiştirilebilir ve başkalarıyla paylaşılabilir. Hukuki açıdan kullanma, değiştirme ve paylaşmaya herhangi bir sınır konulmamıştır. Ancak yapılan değişikliklerde kaynak kodlarıyla birlikte ve yine GNU GPL lisansıyla dağıtılmalıdır. Bununla birlikte GNU GPL lisansına tabi yazılımlar için herhangi bir garanti de verilmez. GNU GPL, bir amacı da Özgür yazılım felsefesini devam ettirmektir. Bu nedenle bu lisansa sahip bir yazılım, kaynak kodları değiştirip kapalı bir yazılım haline getirilemez. Örneğin Linux işletim sisteminin kendisi GNU GPL lisansına tabidir.
24
GLP (Lesser General Puclic Licenses )
GLP lisansı, özellikle ticari yazlım geliştiricilerinin önünü tıkayabilmektedir. GLP lisansına sahip yazılıma yapılan tüm geliştirmeler açık olmak zorundayken, LGLP lisansına sahip yazlımlar için bu söz konusu değildir. Yani, sizi LGLP lisanslı bir yazılımı alıp kaynak kodu kapak ticari bir yazılım haline getirebilirsiniz. Özetle, LGLP lisansıyla dağıtılan yazılımlar, tıpkı GPL lisansıyla dağıtılan yazılımlar gibi açık kaynak kodludur ancak yeni dağıtımların da kaynak kodunu açma zorunluluğu kalkmıştır. GLP ve LGLP lisansına ilaveten BSD, Mozilla, MIT, IBMPL gibi başka açık kaynak koduna dayalı lisans tipleri mevcuttur.
25
Hangi İşletim sistemi Linux’dur, hangisi değildir?
Bu sorunun cevabım bulmak için ilgilendiğiniz işletim sisteminin hangi çekirdeği kullandığına bakmanız gerekir. Adı ne olursa olsun kullandığınız işletim sistemi Linux çekirdeğine sahipse, bu bir Linux dağıtımıdır Farklı işletim sistemleri genel olarak şu hususlarda birbirinden ayrılır: Kullanılan çekirdek (Donanım, dosya, çevre birimi, ağ vb. yönetimi) Yazılım veya daha dar bir ifadeyle paket yönetimi ve güncellemesi Masaüstü ortamı ve kullandığı temalar
26
Linux çekirdeği, GNU araçları, yaygın kullanılan bir takım uygulamalar, pencere ve masaüstü bileşenleri (GNOME ve KDE) birlikte gelir. Örneğin: GNOME Kullanan FEDORA
27
Örneğin KDE kullanan UBUNTU
28
Diğer yandan, sunucu tipi Linux işletim sisteminde, masaüstü araçlarından ziyade ağ ve sistem servislerine öncelik ve önem verilir. Dağıtıma bağlı olarak tüm bu bileşenler belirli bir platform için önceden derlenmiş çalışır bir uygulama veya bileşen olarak gelebileceği gibi Önceden derlenmeden sadece kaynak kodlarıyla; birlikte gelip {Gentoo Linux gibi), kurulum sırasında kullanıcının tek tek derlemesine izin verebilir. Elbette burada önceden derlenen ya da kurulum sırasında derlenen dağıtım daha iyidir gibi peşin bir hükme varmak çok mantıklı görünmüyor. Her Linux dağıtımının birbirinin aynı ve farklı özellikleri vardır. Hatta bazı dağıtımlar kendi aralarında da daha bir benzerlik veya farklılık gösterebilirler.
29
Linux Çekirdeği Kullanan İşletim Sistemleri ve Linux’un zaman Çizelgesi
30
Kategorik Olarak İşletim Sistemi İncelenirse
Unix Benzeri İşletim Sistemi Paket Yönetim Sistemi bakımından J Dağıtım Paket Yönetim Sistemi Red Hat / Centos / Fedora / Suse / Mandrake RPM Debían (Ubuntu, Knoppix) DEP Gentoo EMERGE Pardus PİSİ –DEP (2013’ten itibraren) Slackware TGZ
31
Alıştırma Soruları Açık kaynak kodlu işletim sisteminin kullanım durumunu araştırınız? Dünya da veya Türkiye’de sunucularda kurulu olan sunucu işletim sistemlerini yüzde olarak karşılaştırınız. Sistem yöneticisi kimdir? Araştırınız. Herhangi bir kurumun bilgi işlem merkezinde sistem yöneticisinin görev ve sorumluluklarını araştırınız.
32
KAYNAKLAR Linux Sistem ve Ağ Yönetimi (Linux başucu Kitapçığı) Alperen ÖZBİLEN
Benzer bir sunumlar
© 2024 SlidePlayer.biz.tr Inc.
All rights reserved.