Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

GİRİŞ Donanım nedir? Yazılım Nedir?. Yazılım Sorun çözümü özgü(Uygulama Yazılımları) – Hesaplamalar, aramalar, sıralamalar Farklılık gösteren uygulamalar.

Benzer bir sunumlar


... konulu sunumlar: "GİRİŞ Donanım nedir? Yazılım Nedir?. Yazılım Sorun çözümü özgü(Uygulama Yazılımları) – Hesaplamalar, aramalar, sıralamalar Farklılık gösteren uygulamalar."— Sunum transkripti:

1 GİRİŞ Donanım nedir? Yazılım Nedir?

2 Yazılım Sorun çözümü özgü(Uygulama Yazılımları) – Hesaplamalar, aramalar, sıralamalar Farklılık gösteren uygulamalar Verilerin giriş çıkış sistemine(Sistem Yazılımları) – Donanıma bağımlı, bir bilgisayar sistemi için hep aynı (bir uygulama programının hard diskten veri okuması gibi) – Tüm donanımlar tarafından kullanılabilir – Kullanıcı donanıma özgü karmaşık ayrıntıları bilme zorunluluğu yok – Kullanımı kolay olmalı, Örn: Hard Diskten veri okuma

3 Buna göre İşletim Sistemi Nedir?

4 İşletim Sistemi Nedir? İşletim sistemi, bilgisayar donanımı ile kullanıcı programları arasında yer alarak kullanıcıların bilgisayar sisteminden kolayca yararlanabilmelerini sağlayan hizmet yazılımıdır.

5 Kullanıcılar bir bilgisayar sisteminden hizmet alırken donanımsal kaynakların yanı sıra yazılım nitelikli kaynaklardan da yararlanırlar. – Metin Düzenleyici – Derleyici – Yorumlayıcı

6 Buna göre İşletim Sistemi Nedir?

7 İşletim Sistemi Nedir? İşletim sistemi, bilgisayar sistemini oluşturan donanım ve yazılım nitelikli kaynakları, kullanıcılar (programlar) arasında kolay, hızlı ve nitelikli bir işletim hizmetine olanak verecek biçimde paylaştırırken bu kaynakların kullanım verimliliğini en üst düzeyde tutmayı amaçlayan bir yazılım sistemidir.

8 İşletim Sistemi Nedir? İşletim sistemi, bilgisayar sistemini oluşturan donanım ve yazılım nitelikli kaynakları kullanıcılar (programlar) arasında kolay, hızlı ve güvenli bir işletim hizmetine olanak verecek biçimde paylaştırırken bu kaynakların kullanım verimliliğini en üst düzeyde tutmayı amaçlayan bir yazılım sistemidir

9 BİLGİSAYAR SİSTEMİNİN BİLEŞENLERİ Uygulama Programları; Banka Otomasyon sistemleri, Muhasebe Programları, Ofis Yazılımları Sistem Programları; İşletim Sistemleri, Derleyiciler, Komut Yorumlayıcıları

10 İşletim Sistemi Güncel işletim sistemleri doğrudan donanıma erişmeyi engeller. – kullanıcı modu × çekirdek modu Donanımın doğrudan kullanımının zorluklarını gizler. Kullanıcı ve donanım arasında arayüz – sistem çağrıları

11 İşletim Sisteminin Fonksiyonları Sistem üzerindeki işleri sıra düzensel olarak yerine getirmelidir. Veriler üzerinde hata denetimlerini gerçekleştirir. Depolama aygıtları veya dış dünya ile olan Giriş/Çıkış işlemlerinde ilgili işi sonuçlandırmalıdır. Programcı tarafından gerçekleştirilen kesmelerin gereklerini yerine getirebilmelidir.

12 İşletim Sisteminin Fonksiyonları Sistem üzerinde çalışan programları bir öncelik sıralamasına koymalıdır. Donanımsal kaynakları devamlı olarak kontrol altında bulundurmalıdır. Sistem üzerindeki kullanıcıların birbirlerine müdahale etmesine engel olmalıdır. Kullanıcının kolaylıkla algılayabileceği bir arayüzü olmalıdır.

13 İşletim Sisteminin Fonksiyonları Kullanıcılar arasında donanımın paylaşımlı olarak kullanılmasını sağlar. Kullanıcıların programları ve veriyi paylaşmasını sağlar. Kullanıcıların verilerini korumalarını sağlar. Kaynakların kullanımını programlar. Disk veya dış ortamla olan Giriş/ Çıkış işlemlerini düzenler.

14 Bir İşletim Sisteminden Beklenenler Etkin olmalıdır. Bir görevden diğer bir göreve geçiş süresi kısa olmalıdır. Hızlı cevap verebilmelidir. Hatalara karşı güvenilir olmalıdır. Sistem daha sonra da kullanılabilmeye imkan verecek şekilde sürekli olmalıdır. Kolay bir şekilde yönetilebilir olmalıdır. Dışarıdan yapılacak izinsiz müdahalelere karşı güvenilir olmalıdır.

15 Bilgisayar Sistemleri Tarihçesi 1. Nesil ( ) (UNIVAC, ENIAC) – Vakum Tüpleri – İşletim Sistemi yoktur. – Programlama bir kablolu kart üzerinde yapılırdı. – Uygulamalar çoğunlukla sayısal hesaplama üzerinde yapılırdı. (yörünge hesaplamaları, sinüs hesaplamaları vs.)

16

17 2. Nesil (1955 – 1965) – Transistörler – Ticari olarak üretilen bilgisayarlar – PC lerle karşılaştırıldığında çok pahalı ve çok yavaş bilgisayarlar. – Toplu işlem (Tek seferde çalıştırma, iş toplama, çıkışta hepsini yazdırma) (Batch File- Toplu iş dosyası) – Kuyruk (Online çevre birimi işletimi) Çevrimiçi kuyruk Çevrimdışı kuyruk: Ana sistem, Sunucu bilgisayarlarla, yavaş G/Ç aygıtlarının yerine koyar ki bu makineleri G/Ç aygıtı olarak görür. – Uygulamalar genellikle bilimsel ve mühendislik hesaplamalarına dayalıdır. – FORTRAN ve COBOL gibi yüksek seviyeli diller kullanılırdı. Bilgisayar Sistemleri Tarihçesi

18

19 3.Nesil – Entegre Devreler paketleri – G/Ç işlemleri işlemci ile paralel çalışabilmekte – Çoklu programlama – Çevrim içi kuyruk – Zaman Paylaşımı

20 Bilgisayar Sistemleri Tarihçesi 4. Nesil( ) – Geniş çaplı uyum – Kişisel Bilgisayarlar – MS DOS, Unix gibi işletim sistemleri – Ağ Şimdi – Client/Server hesaplamaları – Clients : Kişisel Bilgisayarlar, İş istasyonu altında çalışan Windows ve UNIX işletim sistemleri – Servers Windows NT ve Unix tabanlı işletim sistemleri – İnternet ve İntranet ağları (WWW)

21 Bilgisayarın Genel Yapısı

22 Bilgisayarın Genel Yapısı (devam)

23 Temel Bilgisayar Yapısı

24 Komutların Çalıştırılma Aşaması

25 CPU Komut Örnekleri MOV [address], ax ADD ax, bx MOV CRn (move control register) IN, INS (input string) HLT (halt) LTR (load task register) INT n (software interrupt)

26 Komutların Çalıştırılması

27 Kesmeler Program Kesmeleri Timer Giriş / Çıkış (I/O) Donanım Hataları

28 Bellek Hiyerarşisi -Maliyet -Erişim Zamanı -Kapasite Daha hızlı erişim süresi, bit başına daha fazla maliyet Daha fazla kapasite, bit başına daha küçük maliyet Daha fazla kapasite, daha yavaş erişim hızı

29

30 Ön Bellek

31 Ön Bellek Bellek (devam) Bilgisyarda bir çok seviyede gerçekleştirilir. (donanım, işletim sistemi, yazılım) Eğer bir bilgi isteniyorsa, ilk kontrolde, hızlı depolama aygıtlarına bakılır – Bilgi Ön Bellek de ise veri hızlı bir şekilde getirilir. – Bilgi Ön Bellek değilse, buraya kopyalanır. Ön Bellek diğer depolama alanlarından küçüktür – Ön Bellek Yönetimi önemli bir tasarım problemidir. – Ön Bellek boyutu ve yer değişim politikalarını

32 Direct Memory Access (DMA) Giriş / Çıkış (I/O) işlemleri için 3 teknik; – I/O programlama – Kesme Odaklı I/O – Doğrudan Bellek Erişimi (DMA) DMA modülünün gönderebileceği bilgileri(işlemciye) – Okuma Yazma talepleri – İlgili Cihazın adresi – Verileri yazmak ve okumak için bellekteki başlangıç adresleri – Okunacak ve yazılacak kelime sayısı

33 Modern bilgisayar sistemlerinin çalışması

34 Çok işlemcili ve Çok Çekirdekli Sistemler Üç yaklaşım, – symmetric multiprocessors (SMPs), – multicore computers, – clusters.

35 Symmetric Multiprocessors Benzer özelliği olan iki veya daha fazla işlemci bulunur. Bu işlemciler aynı ana belleği paylaşır ve I / O birimleri bir yol ya da diğer iç bağlantı şeması ile birbirine bağlı, öyle ki bellek erişim süresi her işlemci için yaklaşık aynıdır. I / O cihazları tüm işlemcileri paylaşırken erişimi, ya aynı kanallar aracılığıyla veya aynı cihaza farklı yollar sunan farklı kanallardan. Tüm işlemcilerle aynı işlemleri yapabilirsiniz( simetrik özellik) Sistem, iş, görev, dosya ve veri elemanı düzeyde işlemciler ve programlar arasında etkileşimi sağlayan entegre bir işletim sistemi tarafından kontrol edilir.

36 Symmetric Multiprocessors

37 Multicore Computers Intel Core i7 Block Diagram

38 Kümeleme (Cluster) Sistemler

39 İşletim Sistemlerinin Gelişimi

40 Seri İşlem 1940 sonları 1950 ortaları – Programcılar bilgisayar donanımı ile direk etkileşim içindeler – Işıklardan, anahtarlardan, giriş aygıtlarına benzeyen aygıtlar ve çıkış aygıtından oluşan bir konsoldan çalıştırılan bilgisayarlar – Programcı makine kodlarını kart okuyucudan yükler ve sonucu çıkış aygıtından görür. – Hata durumlarında hataya ait lambalar yanmaktadır. Problemler – Zamanlama – Yükleme zamanı

41 Basit Toplu İşlem İlk bilgisayar sistemleri çok maliyetli ve bu yüzden maksimum işlemci kullanımı önemliydi. Bu durum toplu iş işletim sistemlerinin gelişmesini sağlamıştır. (Batch OS) IBM 701 (General Motors) (1950 ortaları) IBM 704 Basit toplu işlem arkasında yatan ana fikir monitor olarak bilinen yazılım parçalarıdır. Delikli kartlar veya tapeler kullanılarak işler toplu olarak gönderilir. Fortran programlama dili

42 Monitor kontrolü olayların dizilişidir

43 Çoklu Programlamalı Toplu İşlem Basit Toplu işlem yetersiz kalmıştır. Multitasking veya multiprogramming yaklaşımıdır. Modern işletim sistemlerinin temelini atmıştır. Donanım özellikleri gelişmiştir. DMA ve I/O kesmelerinin kullanımı çoklu programlama sayesinde gelişmiştir. Zamanlama için algoritmalar geliştirilmiştir. Bellek Yönetimi formları geliştirilmiştir.

44 Çoklu Programlamalı Toplu İşlem

45 Zaman Paylaşımlı Sistem Çok kullanıcı sistemler ile ilglidir. MIT tarafında geliştirilen Uyumlu Süre Paylaşım Sistemi (CTSS) ilk ilkel işletim sistemidir. 32 kullanıcıyı destekleyebilmekteydi.

46 İşletim Sistemi Türleri Main frame İşletim Sistemleri Sunucu İşletim Sistemleri – UNIX, Windows 2008, Windows 2012, CentOS, Ubuntu Server Çok İşlemcili İşletim Sistemleri – işlemcilerin bağlantı türüne göre: paralel sistemler birbirine bağlı, birden fazla bilgisayardan oluşan sistemler çok işlemcili sistemler – özel işletim sistemi gerek temelde sunucu işletim sistemlerine benzer tasarım hedefleri işlemciler arası bağlaşım ve iletişim için ek özellikler Kişisel Bilgisayar İşletim Sistemleri – Windows XP, Linux Ubuntu, Windows 7,8,?,10 Gerçek Zamanlı İşletim Sistemleri – Örnek:VxWorks, QNX Gömülü İşletim Sistemleri – PalmOS, WindowsCE, Symbian OS, I OS, Android OS Smart Card İşletim Sistemleri – MULTOS, Windows Embedded CE,SmartecOS

47 Giriş/Çıkış Arabirim Bir I/O aygıtı, aygıtın kendisi ve bir kontrolcü(controller) olmak üzere iki parçadan oluşur. – Kontrolcü aygıtın kendi üzerinde yer alan bir çiptir. – Aygıtın çalışmasını kontrol eder. – İşletim sistemi yapmak istediği komutları kontrolcüye gönderir, sonuçları da kontrolcüden alır. İşletim Sistemi ile kontrolcü iletişimi nasıl sağlar?

48 Giriş / Çıkış Birimleri Yapısı

49 Bazı Tanımlar

50 İş ve Görev Tanımı İşletim sisteminde, bir programın çalıştırılması, kabuk katmanınca yorumlanan sistem komutları aracılığıyla veya sadece bu programın saklandığı (derlenmiş) dosya(kütük) adı verilen yapılarda saklanır. Run, execute gibi sistem komutları ile çalıştırılır. Kullanıcılar, kimi zaman ya değişik programları arka arkaya ya da aynı programı değişik veri takımlarıyla, belirli bir mantıksal sırada işletmek gereksinimini duyabilirler. Bu durumda toplu iş, kullanıcıların sistemden bir bütün olarak ele alınmasını istedikleri işlem takımına verilen ad olarak tanımlanır. Örneğin; MSDOS da.BAT uzantılı dosyalar.

51 Örnek iş tanım dosyası Unix iş tanım kütüğü (Shell Programlama )

52 Görev Görev herhangi bir programın işletimine (işlemcide çalışmasına) verilen addır. İlk defa 1960 larda Multics tarafından kullanılmıştır. İş tanımından daha genel bir terimdir.

53 Çoklu Görev Bir bilgisayar sisteminde aynı anda birden çok görevin, işletim sisteminin denetiminde çalıştırılması, bu sistemde çok görevli işlemin yapıldığını söylemeye yetmez. Çok görevli işlem, işletim sisteminin kullanıcılara sunduğu bir olanak, bir işlem türü olarak algılanmalıdır.

54 İşletim Sistemlerinin Bileşenleri

55 İşletim Sistemleri Bileşenleri Ana İşlem Birimi Yönetimi (Görev Yönetimi) – Zaman uyumlama İşlevleri – Çoklu Programlama Operasyonları – Gerçek zamanlı İşlemler Ana Bellek Yönetimi Dosya Yönetimi Giriş/Çıkış Sistemi Yönetimi Sistem Komut Yorumlayıcısı

56 Koruma ve Güvenlik Protection – any mechanism for controlling access of processes or users to resources defined by the OS Security – defense of the system against internal and external attacks – Huge range, including denial-of-service, worms, viruses, identity theft, theft of service Systems generally first distinguish among users, to determine who can do what – User identities (user IDs, security IDs) include name and associated number, one per user – User ID then associated with all files, processes of that user to determine access control – Group identifier (group ID) allows set of users to be defined and controls managed, then also associated with each process, file – Privilege escalation allows user to change to effective ID with more rights

57 Kernel (Çekirdek) Veri Yapısı nTekli linked list nİkili linked list nDairesel linked list

58 İkili Ağaç arama sol <= sağ Kernel (Çekirdek) Veri Yapısı

59 Hash function, hash map oluşturabilir. Bitmap – n öğenin durumunu gösteren n ikili dizesi Linux veri yapısı tanımları include files,, Kernel (Çekirdek) Veri Yapısı

60 Modern İşletim Sistemlerinin Karakteristikleri Mikrokernel Mimarisi Çok Parçacıklı Çalışma(Multithread) Simetrik Çoklu Görevlilik Dağıtık İşletim Sistemleri Nesne Tabanlı Tasarım

61 Sanal Makineler ve Sanallaştırma vMWare ürünlerivMWare ürünleri, Hyper V (Microsoft), Virtual Box (Oracle), Citrix XEN, Açık kaynak çözümler

62 Sanal Makine Mimarisi

63 İşletim Sistemleri Mimarileri Katmanlı – Sistem çeşitli seviyelerden oluşur – Her bir seviye ilişkisel alt fonksiyonları icra eder. – Daha çok basit fonksiyon yürütmek için her bir seviye sonraki daha düşük seviyeye bağlıdır. – Bu durum, bir problemin bir çok alt-problem olarak ayrıştırılmasını sağlar. Avantajları – modülerlik, basitlik, taşınabilirlik, tasarım / hata ayıklama kolaylığı Dezavantajları – Katmanlar arasındaki iletişim yükü,

64

65 Modern İşletim Sistemlerinin Mimarileri : Mikro-kernel Mikro-kernel mimari: – Kernele temel fonksiyonların görevlerini atar. Adres uzayı Süreçler arası iletişimi (IPC) Temel programlama – Çekirdekten “kullanıcı” alanına doğru kayma sağlanır. – İletişim kullanıcı modülleri arasında haber göndermekle gerçekleştirilir. Yararı: – Mikrokerneli genişletmek kolaydır – İşletim sistemini yeni mimarilere taşımak kolaydır – Daha güvenilirdir (daha az kod çekirdek modunda çalışmaktadır)

66 İşletim Sistemi Mimarileri Modüller – Çoğu modern işletim sistemleri çekirdek modülleri uygular Nesne Tabanlı Yaklaşım kullanır Her çekirdek bileşen ayrıdır Bilinen arayüzler üzerinden diğer arayüzler ile görüşme yapılabilir – Katmanlı yapıya benzer ancak daha esnek bir yapıya sahiptir.

67 MS-DOS Sisteminin Yapısı Küçük bellek alanı kullanır – Modüllere bölünmez; – Arayüzler ve işlev seviyeleri kesin ayrılmamıştır.

68 W2K sistemlerinin yapısı

69 Windows Vista Mimarisi

70 Win 7 Mimarisi

71 MAC OS x Mimarisi

72 UNIX Sisteminin Yapısı

73 UNIX Kernel

74 Modern UNIX Kernel

75 Linux Kernel Bileşenleri

76 Android Mimarisi

77 Sistem Çağrıları Sistem çağrıları çalışan program ile işletim sistemi arasındaki ara yüzü sağlar. – Genellikle assembly dili komutlarıyla erişilebilir. – Bazı yüksek seviyeli dillerde sistem çağrılarına doğrudan erişimi sağlar (Örn;C++) Çalışan program ile işletim sistemi arasında parametrelerin gönderilmesinin üç temel yöntemi vardır: – Parametrelerin yazmaçlarda gönderilmesi – Parametrelerin bellekte, tabloda saklanması ve tablonun adresinin parametre gibi yazmaca gönderilmesi – Parametrelerin programla yığına yazılması ve işletim sistemi tarafından yığından alınması.

78 Örnek sistem Çağrıları

79 Windows Sistem Çağrıları (WIN32 API)

80 Sistem Çağrı Komutları

81 API – Sistem Çağrısı – OS Bağlantısı

82 UNIX Sistem Çağrıları Unix Sistem çağrıları ile ilgili iyi bir referans;


"GİRİŞ Donanım nedir? Yazılım Nedir?. Yazılım Sorun çözümü özgü(Uygulama Yazılımları) – Hesaplamalar, aramalar, sıralamalar Farklılık gösteren uygulamalar." indir ppt

Benzer bir sunumlar


Google Reklamları