İşletim Sistemleri (Operating Systems)

Ebat: px
Şu sayfadan göstermeyi başlat:

Download "İşletim Sistemleri (Operating Systems)"

Transkript

1 İşletim Sistemleri (Operating Systems) 1

2 Thread (İşlemcik)

3 Thread (İşlemcik) Nedir? Thread (işlemcik-iplik); Belli bir process e bağlıdır. Bağlı bulundukları process in adres uzayını kullanırlar, Thread ler, program kodunu, data kısmını, dosyalar gibi işletim sistemi kaynaklarını ortak kullanır. Kendi program sayacına sahiptirler, Eğer bir process, birden fazla thread e sahipse, thread ler birden fazla görevin paralel yürütülmesini sağlayabilirler. Günümüzdeki modern bilgisayarlarda çalışan yazılım uygulamalarının çoğu multithread çalışırlar. Uygulamalar, çok sayıda thread e sahip tek process şeklinde geliştirilirler.

4 Thread (İşlemcik) Nedir? Thread lar processler gibi birbirlerinden bağımsız değillerdir. Multi-thread yazılım geliştirmede thread ların aynı adres uzayına erişmeleri sonucunda oluşabilecek kilitlenmelerin sezilmesi ve giderilmesi zorunludur. Thread lar arasında koruma yoktur. Yürütülecek işlerin birbirine çok bağlı olduğu, birlikte yürütüldüğü ve paylaşıldığı durumlarda thread yapısı tercih edilebilir. Yürütülecek işlerin birbirinden büyük oranda bağımsız olduğu durumlarda process yapısı tercih edilebilir.

5 Thread (İşlemcik) Nedir? Thread (işlemcik-iplik): İcra edilmekte olan bir process in, aynı kodunu ve adres boşluğunu kullanarak işlemlerini gerçekleştiren birbirinden bağımsız hafif ağırlıklı (light-weight) process lere " thread" adı verilir, Thread ler process lerin içinde yer alır, onları oluştururlar. Bir process tek bir thread veya birden fazla thread e sahip olabilir.

6 Thread (İşlemcik) Nedir? Single and Multithreaded Processes Multithreading kullanımında User Address Space tektir, process in sahip olduğu tüm thread ler bu process için ayrılan aynı adres alanını paylaşırlar.

7 Thread (İşlemcik) Nedir? Çoklu thread yapısı (multithread) programın bir bölümü bloke olsa yada uzun bir işlem yürütüyor olsa bile çalışmaya olanak sağlar. Single Threading Multi-Threading

8 Thread (İşlemcik) Nedir?

9 Thread (İşlemcik) Nedir? Her thread kendine ait stack, PC ve registers lara sahiptir.

10 Thread (İşlemcik) Nedir? Single Threaded and Multithreaded Process Models

11 Thread Kullanımı: Chat programı Örnek olarak; bir chat programı oluşturulmak istensin. Bir chat programı ancak thread mantığı ile yapılabilir. İki tane thread metodu oluşturulmalıdır, bir tanesi soketi dinleyen metod, diğeri ise kullanıcıdan giriş bekleyen metod olacaktır. Thread i oluşturma sırasında thread lardan birine klavyeden giriş alan metodu çalıştırması istenir, diğerinin de soket metodunu çalıştırması sağlanır.

12 Thread Kullanımı: Kelime İşlemci Örneğin, bir kelime işlemci programında, yazma işlemi gerçekleştirilirken, klavyeden bilginin alınması, ekrana basılması ayrı ayrı gerçekleşen iki thread dır. Bunun yanında bir diğer thread yazım hatalarını kontrol ediyor olabilir. Bu yüzden Thread kullanışlıdır, çünkü bir kelime işlemcide farklı mantıksal olarak paralel bir şekilde çalıştırılan görevler bulunur.

13 Thread Kullanımı: Web Server Bir web server, her client (istemci) ile ayrı ayrı ilgilenmelidir. Bir Web browser, bir thread ile veri aktarımı yapabilir, başka thread ile verileri ekranda görüntüleyebilir. Bir Web sunucu process i multi-thread çalışırsa, her gelen istek için ayrı bir thread oluşturulur ve process portu dinlemeye devam eder. Fakat bu yöntem bazı sorunlar da içermektedir:thread oluşturma ve iptal etmenin getirdiği yük. Thread sadece o bağlantı için kullanılmış olacak. Sınırsız sayıda thread sonucu web sunucusu çökebilir. Daha iyi çözüm: sabit bir boyut bir thread havuzu kullanımı.

14 Thread Kullanımı: Web Server

15 Thread Modeli: Context Switch Process oluşturmak işletim sistemi için bellek tahsisi, durum değiştirme veya context switching işlemleri gibi sebeplerden dolayı çok maliyetli bir iştir. Aynı processe ait threadler arasında context switching pahalı değildir. Kod, veri, dosya vs. için kaydetme veya geri yükleme şartı yoktur. Aynı process içindeki thread ler arasında gerçekleşen context switching zamanı, process ler arasında gerçekleşen context switching zamanından oldukça küçüktür.

16 Thread Modeli: Context Switch Thread context switching şunları yine de gerektirir. Register set switch, Program Counter-PC değişimi, stack değişimi vs. Ama bellek yönetimi ile ilgili bir iş yok! Kısmen Verimli Farklı processlere ait threadler arasında context switching pahalıdır.

17 Thread (İşlemcik) kullanımının avantajları Thread lerin sağladığı faydalar 4 kategori halinde ifade edilebilir: 1. Cevap Verme (Responsiveness): Kullanıcı etkileşimli uygulamalarda, bir kısım bloklanmış, kilitlenmiş veya uzun süren işlem yürütüyorsa, kullanıcı ile etkileşim yapan başka bir kısım çalışmasını sürdürür. Sistemin cevap verebilirlik özelliği artmış olur.

18 Thread (İşlemcik) kullanımının avantajları 2. Kaynak Paylaşımı (Resource sharing): Process ler kaynaklarını shared memory veya message passing teknikleri aracılığıyla paylaşabilirler. Thread ler ait oldukları process in sahip olduğu hafıza alanını ve diğer kaynakları paylaşabilirler.

19 Thread (İşlemcik) kullanımının avantajları 3. Maliyet (Economy): Bir process oluştururken hafıza ve kaynak tahsis edilmesi maliyeti yüksek bir iştir. Thread ler ait oldukları process in kaynaklarını paylaştıklarından dolayı context switching daha düşük maliyetle yapılır. (Solaris işletim sisteminde, thread oluşturma 30 kat daha hızlıdır ve thread lerde context switch 5 kat daha hızlıdır.)

20 Thread (İşlemcik) kullanımının avantajları 4. Ölçeklenebilirlik (Scalability): Çok işlemcili mimarilerde thread ler farklı işlemci çekirdekleri üzerinde eşzamanlı çalışabilir. Ancak, tek thread yapısına sahip process sadece bir işlemci çekirdeği üzerinde çalışabilir.

21 Thread (İşlemcik) kullanımının avantajları Environment (resource) execution (a) Tek threadli üç process (b) Üç threadli bir process İşletim sisteminde bir iş yaparken çok fazla process kullanmak yerine daha az process ve daha çok thread kullanmak, daha çok tercih edilir.

22 ÖZET olarak Thread kullanım avantajları Bir process in tüm thread ları process in durumunu ve kaynaklarını paylaşır. Process ve içinde bulunan thread aynı adres alanlarında bulunduğundan aynı verilere erişebilirler. Bir thread bir dosyayı okuma için açarsa, aynı işlemdeki diğer thread larda bu dosyadan okuyabilir. Thread oluşturma, UNIX'te process oluşturma işleminden on kat daha hızlıdır. Bir thread sonlandırılması (terminate) bir process sonlandırılmasından daha az zaman alır. İki thread arasındaki contex switching, iki process arasındaki contex switching işleminden daha az zaman alır. Thread lar çok çekirdekli/işlemcili sistemlerde faydalıdır. Her çekirdek/işlemciden eş zamanlı yararlanmayı sağlar.

23 Thread (İşlemcik) kullanımının zorlukları İşletim sistemi tasarımcıları multicore sistemlerin performansını artırmak için scheduling algoritmaları yazmak zorundadır. Uygulama geliştiricilerin mevcut programları değiştirmeleri ve yeni programları multi-threaded şekilde tasarlamaları gerekmektedir. Multicore programlamada 5 önemli zorluk vardır: 1. Görevleri tanımlama (Identifying tasks): Uygulamaları eşzamanlı olarak gerçekleştirebilecek etkinlikleri bulmaya yönelik inceleme.

24 Thread (İşlemcik) kullanımının zorlukları 2. Denge (Balance): Programcılar görevleri ayrıştırırken iş yükünün eşit dağıtılması gereklidir. 3. Veri bölme (Data splitting): Verilerin farklı core lar üzerinde çalışan görevler tarafından erişilecek ve işlem yapılacak şekilde ayrıştırılması gereklidir. Farklı thread lar tarafından erişilen veriyi farklı önbellek satırlarına bölmek gerekir.

25 Thread (İşlemcik) kullanımının zorlukları 4. Veri bağımlılığı (Data dependency): Bir görevin erişeceği verinin diğer görevlerle bağımlılığının incelenmesi gereklidir. Bir görev diğerinin sonuçlarına bağlıysa, doğru sırayla erişim sağlamak için görevlerin senkronize edilmesi gerekir. 5. Test etme ve hata ayıklama (Testing and debugging): Multi-threaded çalışan programların test ve debug işlemi daha zordur. Çünkü yarış koşulları (race condition) çok daha karmaşık ve belirlenmesi zorlaşıyor.

26 Thread lerin çakışması Aksi belirtilmedikçe bir thread, başka bir thread ın çalışmasına karışamaz, bu yüzden birçok thread ın aynı anda, aynı verileri kullanma ihtimalleri vardır ki, bazen bu durum tehlikeli sonuçlara neden olabilir. Bu şekilde birçok thread tarafından paylaşılabilen verilere, kritik bölge verileri (critical region) adı verilir. Kritik bölgeye birden çok thread erişmek istediğinde, thread ların çakışmadan çalışabilmeleri için senkronize edilmeleri şarttır.

27 Multi-tasking Multi-tasking, işletim sisteminin aynı anda birden fazla program çalıştırabilmesidir, (aslında bir anda sadece tek bir process işlem görür) Birden fazla program mantıksal olarak aynı anda çalışmakta iken fiziksel olarak sıralı olarak çalışmaktadır. Multitasking process ler üzerinden işler. Process ler zamanı paylaşır ve bir process in işinin bittiği yerde diğeri başlar. İşletim sistemi, çalışacak process leri öncelikle sıraya sokar ve sonra sırası geleni çalıştırır. Bu işlem sonucunda programları aynı anda çalışıyorlarmış gibi görürüz. Multitasking yapılabilmesi için illaki çok işlemci gereksinimi yoktur.

28 Multi-threading Multi-threading aynı adres alanında birden çok thread'in aynı anda çalışmasıdır. Process lerin zaman paylaşımında olduğu gibi thread lar kendi aralarında bir zaman paylaşımı oluştururlar. Tek işlemcili sistemlerde, bir process e adanan sürede, process in sahip olduğu thread ler zaman paylaşımlı olarak çalışırlar dolayısıyla gerçek paralel çalışma (parallel execution) sağlanamaz. Tek işlemci farklı thread lar arasında çok hızlı geçiş yapar ve bu durumda process ler gerçekte olmasa bile eş zamanlı çalışıyormuş izlenimi verir.

29 Multi-threading Çoklu thread oluşturmak için iki farklı strateji kullanılmaktadır: Asenkron threading: Parent, yeni bir child thread oluşturduğunda eşzamanlı olarak çalışmasını sürdürür. Senkron threading: Parent, child thread oluşturduğunda çalışmasını durdurur ve tüm child thread ler sonlandığında çalışmasına devam eder. Asenkron threading, thread ler arasında veri paylaşımı az olduğunda, senkron threading ise threadler arasında veri paylaşımı çok olduğunda kullanılır.

30 Multi-threading Tek işlemci üzerinde, çoklu programlama sayesinde, birden çok process içindeki birden çok thread dönüşümlü çalıştırılabilir. Şekil'deki örnekte, iki process deki üç thread işlemcide dönüşümlü çalışmaktadır. Yürütme, o sırada çalışan thread bloke edildiğinde veya çalışma zamanı bittiğinde bir thread dan diğerine geçer. Multithreading on a Uniprocessor

31 Multi-threading Bilgisayar tasarımındaki en önemli gelişmelerden birisi, çok işlemcili/çekirdekli sistemlerin geliştirilmesidir. Son zamanlarda, tek chip içerisine birden fazla çekirdek yerleştirilmektedir ve bu tür sistemler multicore olarak adlandırılır. Her bir çekirdek işletim sistemi için ayrı bir işlemci olarak görünür. Bir çekirdek üzerinde çalışan 4 thread e sahip bir uygulama için eşzamanlı çalışma, thread lerin belirli aralıklarla çalıştırılmasını ifade eder (Görüntüde Paralellik). Çok işlemci veya çekirdeğe sahip sistemlerde eşzamanlı çalışma, her çekirdeğe bir thread atanarak thread lerin paralel çalışmasını ifade eder (Gerçek Paralellik).

32 Multi-threading Bir process içerinde üç adet thread bulunsun. Eğer bilgisayarda tek işlemci çekirdeği var ise, bu threadlerin her biri CPU nun 1/3 hızında çalışabilir. Eğer sistemde birden fazla işlemci çekirdeği var ise, her thread farklı işlemci çekirdeğinde çalıştırılır, bu şekilde uygulama işlemci çekirdeği ve thread sayısına bağlı olarak hızlanır. Çok işlemcili/çekirdekli sistemlerde farklı thread lar farklı işlemciler/çekirdekler üzerinde eş zamanlı olarak çalışabilir. Böylece gerçek paralel çalışma sağlanabilir. Pek çok modern işletim sistemi çok işlemcili/çekirdekli thread kullanımını desteklemektedir.

33 Multi-threading CPU nun sahip olduğu çekirdek sayısı arttıkça eşzamanlı gerçekleştirilen işlem sayısı da artacaktır.

34 Multi-threading Amdahl kuralına (Gene Amdahl) göre çekirdek sayısına göre bir sistemdeki performans artışı aşağıdaki gibi ifade edilir: Burada, S uygulamada seri çalışması zorunlu olan kısmın oranını, N ise çekirdek sayısını ifade eder. Bir uygulamada, %75 paralel ve %25 seri çalışıyorsa (S=0,25), 2 çekirdeğe (N=2) sahip sistemde bu uygulamayı çalıştırınca 1,6 kat hız artar. Çekirdek sayısı 4 olduğunda, 2.28 kat hız artışı sağlanır. Çekirdek sayısı sonsuza giderken hız artışı (1/S) e doğru gider. Intel CPU lar her çekirdek için 2 thread, Oracle T4 CPU ise 4 thread destekler.

35 Multi-thread Modelleri Thread lar user thread lar ve kernel thread lar olmak üzere ikiye ayrılır. User level thread: Kernel katmanının üstünde olup kullanıcı işlemleri tarafından oluşturulurlar. Bu thread ların oluşturulması, çizelgelemesi ve yönetilmesi kernel den bağımsız olarak gerçekleştirilir. User thread larının tamamı kullanıcı adres boşluğu içerisinde koşturulur. Kernel level thread: Doğrudan doğruya işletim sistemi tarafında oluşturulur. Kernel thread larının oluşturulması, çizelgelemesi ve yönetimi işletim sistemi tarafında gerçekleştirilir.

36 User-Level and Kernel-Level Threads

37 User Level Thread User level thread ler user level thread kütüphaneleri kullanılarak yapılırlar, sistem çağrılarıyla değil. Yani OS çağrısı ve kernel interrupt yoktur. Kullanıcı alanında Thread tablosu tutulur. Kullanıcı alanındaki tüm thread yönetimi kütüphane ile yapılır. Kernel thread leri bilmez, sadece process lerden haberdardır. Üç temel thread kütüphanesi: POSIX Pthreads Win32 threads Java threads

38 Kernel Level Thread o Kernel, her process deki ayrı thread lerden haberdardır. o Thread tablosu, kernel tarafından yönetilir. Yeni thread oluşturmak için kernel e sistem çağrısı yapılır. o Çok sık thread oluşturma, yoketme gibi işlemler varsa vakit kaybı çoktur. - Windows 95/98/NT/ Solaris - Tru64 UNIX - Mac OS X - Linux

39 Hybrid Thread User ve kernel uzayının birlikte çalıştığı yapıdır. Birkaç user thread inin, bir kernel thread üzerine yönlendirilmesidir. Bir kernel level thread birden fazla user level thread i sırasıyla çalıştırır. Kernel sadece kernel level threadlar dan haberdardır.

40 Hybrid Thread Hybrid yapıda modelleme user ve kernel uzayı arasındaki ilişkiye göre üç sınıfa ayrılmaktadır. Many-to-one model (Çoktan-Bire Modeli) One-to-one model (Bire Bir Modeli) Many-to-many model (Çoktan Çoğa Modeli)

41 Many-to-one model (Çoktan-Bire Modeli) Many-to-one modelinde, çok sayıda user thread i bir tane kernel thread i ile eşleştirilir. Thread yönetimi user alanında yapılır, yani verimlidir. Aynı anda sadece bir tane user thead i kernel thread e erişebilir. Aynı anda kernel katmanında sadece bir thread bulunabildiği için işlemci üzerinde sadece bir thread koşturulabilir.

42 Many-to-one model (Çoktan-Bire Modeli) Sadece bir kernel thread i kullanıldığı için multicore sistemlerde birden fazla thread için eşzamanlı çalışma yapılamaz. Eğer thread lerden biri bloke olur ise, kernel işlemin sadece bir thread tarafından yapıldığını düşündüğünden threadler arası geçiş yapamaz, böylece process içerisindeki tüm threadler bloke olur. Solaris Green Threads GNU Portable Threads

43 One-to-one model (Bire Bir Modeli) One-to-one modelinde, bir user thread i bir kernel thread i ile eşleştirilir. Bu nedenle işlemci üzerinde birden fazla thread multicore sistemlerde eşzamanlı koşturulabilir. Bir user thread için bir kernel thread oluşturulması gereklidir. Kernel thread oluşturmanın getirdiği ek yük performansı bir derece etkiler. Many-to-one modeline göre daha fazla concurrency. (Concurrency, birden fazla görev arasında kısa aralıklarla geçiş yaparak birlikte ilerletilmesini sağlar.) Windows NT/XP/2000 Linux Solaris 9 and later

44 Many-to-many model (Çoktan Çoğa Modeli) Many-to-many modelinde, çok sayıda user thread i ile aynı sayıdaki veya daha az sayıdaki kernel thread i eşleştirilir. Uygulama, gerektiğince user thread oluşturabilir. Kernel threadler multicore sistemler üzerinde paralel çalışır. Solaris version 9 öncesi Windows NT/2000 with the ThreadFiber package

45 Thread kütüphaneleri Thread kütüphanesi, programcıya thread oluşturmak ve yönetmek için API sağlar. Thread kütüphanesi oluşturulurken iki farklı yaklaşım kullanılır: Tüm thread kütüphanesi kullanıcı alanında oluşturulur ve kernel desteği yoktur. İşletim sisteminin doğrudan desteklediği kernel seviyesinde kütüphane oluşturulur.

46 Thread kütüphaneleri Günümüzde 3 temel thread kütüphanesi kullanılmaktadır: POSIX Pthreads Windows Java Pthreads,user-level veya kernel-level thread kütüphanesi sağlar. Windows threads, kernel-level thread kütüphanesi sağlar. Java threads, user-level thread kütüphanesi sağlar.

47 Intel Hyper-Threading Teknolojisi Hyper Threading özelliğine sahip olmayan bir işlemcide Thread işlenmesi. Hyper Threading teknolojisini desteklemeyen herhangi bir işlemcide thread ler First in First out mantığı ile sırasıyla işlenecektir. 47

48 Intel Hyper-Threading Teknolojisi Hyper Threading özelliğine sahip bir işlemcide iş parçacığının işlenmesi Eğer işlemci Hyper Threading teknolojisini desteklediğinde, thread ler aynı anda sanki iki ayrı işlemci varmış gibi işlenir. Ancak Hyper Threading teknolojisine sahip işlemci, fiziksel iki işlemci olmadığından, tek bir işlemcinin mantıksal iki işlemcisi gibi davranacaktır. 48

49 Intel Hyper-Threading Teknolojisi Hyper-Threading özelliğine sahip olmayan fiziksel iki çekirdekli işlemcide iki thread ınişlenmesi iki thread işlemcilerde ayrı ayrı işlenir. İki farklı işlemcinin performansı Hyper Threading teknolojisini destekleyen işlemciden daha üstündür. Ancak thread ler arasında bir işlem önceliğinin olmaması gereklidir. 49

50 Intel Hyper-Threading Teknolojisi Hyper-Threading özelliğine sahip fiziksel iki çekirdekli işlemcide 4 thread ın işlenmesi Bu durumda 4 thread den 2 tanesi bir işlemcide, diğer 2 tanesi de diğer işlemcide işlem görecektir. 50

YZM 3102 İşletim Sistemleri

YZM 3102 İşletim Sistemleri YZM 3102 İşletim Sistemleri Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği BÖLÜM - 5 Bu bölümde, Thread (İş Parçacığı) Thread lerin Faydaları

Detaylı

İşletim Sistemleri. Hazırlayan: M. Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

İşletim Sistemleri. Hazırlayan: M. Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü İşletim Sistemleri Hazırlayan: M. Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Bu dersin sunumları, Abraham Silberschatz, Greg Gagne, Peter B. Galvin, Operating System Concepts 9/e, Wiley,

Detaylı

Bölüm 4: İş Parçacıkları. Operating System Concepts with Java 8 th Edition

Bölüm 4: İş Parçacıkları. Operating System Concepts with Java 8 th Edition Bölüm 4: İş Parçacıkları 14.1 Silberschatz, Galvin and Gagne 2009 Bölüm 4: İş Parçacıkları Genel Bakış Çoklu İş Parçacığı Modelleri İş Parçacığı Kütüphaneleri İş Parçacıkları ile İlgili Meseleler İşletim

Detaylı

İşletim Sistemlerine Giriş

İşletim Sistemlerine Giriş İşletim Sistemlerine Giriş Süreçler ve İş Parçacıkları(Thread) İşletim Sistemlerine Giriş - Ders03 1 Süreç -Tüm modern bilgisayarlarda bir çok iş aynı anda yapılabilir. *kullanıcı programları çalışır *disk

Detaylı

BMS-302 İleri Web Programlama. İş Parçacığı (Thread) ve Soket (Socket) Programlama

BMS-302 İleri Web Programlama. İş Parçacığı (Thread) ve Soket (Socket) Programlama BMS-302 İleri Web Programlama İş Parçacığı (Thread) ve Soket (Socket) Programlama İş Parçacıkları (Threads) Ana programa paralel çalışan işler oluşturmak için kullanılır Makine birden fazla çekirdeğe sahipse

Detaylı

Bölüm 4: İş Parçacıkları. Operating System Concepts with Java 8 th Edition

Bölüm 4: İş Parçacıkları. Operating System Concepts with Java 8 th Edition Bölüm 4: İş Parçacıkları 14.1 Silberschatz, Galvin and Gagne 2009 Bölüm 4: İş Parçacıkları Genel Bakış Çoklu İş Parçacığı Modelleri İş Parçacığı Kütüphaneleri İş Parçacıkları ile İlgili Meseleler İşletim

Detaylı

PROCESS YARATIMI (TEKRAR):

PROCESS YARATIMI (TEKRAR): PROCESS YARATIMI (TEKRAR): Gecen haftaki dersten hatırlayabileceğiniz üzere, bir process başka bir process yaratabilmesi için UNIX sistemlerinde fork() sistem çağrısı kullaılıyordu. Başka bir process yaratan

Detaylı

Bölüm 4: Threads (İş Parçaları)

Bölüm 4: Threads (İş Parçaları) Bölüm 4: Threads (İş Parçaları) Mehmet Demirci tarafından çevrilmiştir. Silberschatz, Galvin and Gagne 2013 Bölüm 4: Threads (İş Parçaları) Genel bakış Çok çekirdekli programlama Çok iş parçalı modeller

Detaylı

Giriş. geleneksel işletim sistemlerinde her prosesin. aynı adres uzayında birden fazla akış kontrolü gerekebilir

Giriş. geleneksel işletim sistemlerinde her prosesin. aynı adres uzayında birden fazla akış kontrolü gerekebilir 3 İPLİKLER Giriş geleneksel işletim sistemlerinde her prosesin özel adres uzayı ve tek akış kontrolü var. aynı adres uzayında birden fazla akış kontrolü gerekebilir aynı adres uzayında çalışan paralel

Detaylı

Bilgisayar İşletim Sistemleri BLG 312

Bilgisayar İşletim Sistemleri BLG 312 Giriş Bilgisayar İşletim Sistemleri BLG 312 İplikler geleneksel işletim sistemlerinde her prosesin özel adres uzayı ve tek akış kontrolü vardır bazı durumlarda, aynı adres uzayında birden fazla akış kontrolü

Detaylı

Giriş. İplik Modeli. geleneksel işletim sistemlerinde her prosesin özel adres uzayı ve tek akış kontrolü var.

Giriş. İplik Modeli. geleneksel işletim sistemlerinde her prosesin özel adres uzayı ve tek akış kontrolü var. Giriş 3 İPLİKLER geleneksel işletim sistemlerinde her in özel adres uzayı ve tek akış kontrolü var. aynı adres uzayında birden fazla akış kontrolü gerekebilir aynı adres uzayında çalışan paralel ler gibi

Detaylı

Multithreading & Asynchronous Programlama

Multithreading & Asynchronous Programlama Multithreading & Asynchronous Programlama Concurent : Aynı zamanda olan olayları tanımlamak için kullanılır. Multithreaded : Çoklu yürütme içeriklerini tanımlar. Parallel : Aynı anda gerçekleşen işlemler

Detaylı

Multicore/Multithread Programlama

Multicore/Multithread Programlama Multicore/Multithread Programlama Onur Tolga Şehitoğlu Bilgisayar Mühendisliği 7 Şubat 2008 Başlıklar 1 Gereksinimi Dal ile Süreç Çok İşlemci ve Dal Modelleri Neden Çoklu Dal Programlama? 2 Çok İşlemci/Çok

Detaylı

BM-311 Bilgisayar Mimarisi

BM-311 Bilgisayar Mimarisi 1 BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş Donanım performans kriterleri Eş zamanlı çalışma Güç tüketimi Yazılım performans kriterleri

Detaylı

Problem - Unix / Windows PROCESS-Süreçleri "ağır" dır. Hafta 07: Threads (İş Parçacıkları) Örnek - 1. Proses=Bir iş parçacığı (single thread)

Problem - Unix / Windows PROCESS-Süreçleri ağır dır. Hafta 07: Threads (İş Parçacıkları) Örnek - 1. Proses=Bir iş parçacığı (single thread) Hafta 07: Threads (İş Parçacıkları) Overview (Genel Bakış) Multithreading Models (Çoklu Thread Modelleri) Threading Issues (Thread Sorunları) Pthreads (Pthreadler) Solaris 2 Threads (Solaris 2 Threadleri)

Detaylı

İşletim Sistemleri. Hazırlayan: M. Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

İşletim Sistemleri. Hazırlayan: M. Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü İşletim Sistemleri Hazırlayan: M. Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Bu dersin sunumları, Abraham Silberschatz, Greg Gagne, Peter B. Galvin, Operating System Concepts 9/e, Wiley,

Detaylı

İŞLETİM SİSTEMLERİ. (Operating Systems)

İŞLETİM SİSTEMLERİ. (Operating Systems) İŞLETİM SİSTEMLERİ (Operating Systems) İşletim Sistemi Tanımı, Görevleri, Bilinen İşletim Sistemleri Çok Kullanıcılı Sistemler, Bellek Yönetim Birimi Linux ve Windows Ailesi, Bilinen İşletim Sistemleri

Detaylı

BM-311 Bilgisayar Mimarisi

BM-311 Bilgisayar Mimarisi 1 BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş Donanım performans kriterleri Eş zamanlı çalışma Güç tüketimi Yazılım performans kriterleri

Detaylı

İŞLETİM SİSTEMLERİNE GİRİŞ - 2. Sistem, sistem kaynaklarını belli bir hiyerarşi içinde kullanıcının hizmetine

İŞLETİM SİSTEMLERİNE GİRİŞ - 2. Sistem, sistem kaynaklarını belli bir hiyerarşi içinde kullanıcının hizmetine İŞLETİM SİSTEMLERİNE GİRİŞ - 2 Kaynakların Paylaşımı (Resource Sharing) Sistem, sistem kaynaklarını belli bir hiyerarşi içinde kullanıcının hizmetine sunar. Bir işletim sisteminde paylaşılan kaynaklar

Detaylı

İşletim Sistemleri (Operating Systems)

İşletim Sistemleri (Operating Systems) İşletim Sistemleri (Operating Systems) 1 İşletim Sistemleri (Operating Systems) Genel bilgiler Ders kitabı: Tanenbaum & Bo, Modern Operating Systems:4th ed., Prentice-Hall, Inc. 2013 Operating System Concepts,

Detaylı

ÇOK ÇEKİRDEKLİ İŞLEMCİLER VE PARALEL YAZILIM GELİŞTİRME OLANAKLARI HAKKINDA BİR İNCELEME

ÇOK ÇEKİRDEKLİ İŞLEMCİLER VE PARALEL YAZILIM GELİŞTİRME OLANAKLARI HAKKINDA BİR İNCELEME ÇOK ÇEKİRDEKLİ İŞLEMCİLER VE PARALEL YAZILIM GELİŞTİRME OLANAKLARI HAKKINDA BİR İNCELEME Ecem İren Halilcan Can Akince Aylin Kantarcı Bilgisayar Müh. Bölümü Bilgisayar Müh. Bölümü Bilgisayar Müh. Bölümü

Detaylı

& WIN 32 DEN BAKIŞ AÇISI İSMAİL YALÇIN

& WIN 32 DEN BAKIŞ AÇISI İSMAİL YALÇIN WINDOWS XP SCHEDULING ALGORITHMS & WIN 32 DEN BAKIŞ AÇISI İSMAİL YALÇIN WIN 32 Win 32 de süreçler oluştuğu bir sınıf önceliği üzerine verilmiştir. >>Idle(tembel),below,below normal,normal,above normal,high,ve

Detaylı

İşletim Sistemlerine Genel Bakış

İşletim Sistemlerine Genel Bakış İşletim Sistemlerine Genel Bakış 1.1 Silberschatz, Galvin and Gagne 2009 İşletim Sistemi Nedir? Bilgisayar donanımı ile bilgisayar kullanıcısı arasında bir ara katman olarak aracılık etmek İşletim sisteminin

Detaylı

Bilgisayar Sistemlerine Genel Bakış

Bilgisayar Sistemlerine Genel Bakış Süleyman Demirel Üniversitesi / Mühendislik Fak. / Bilgisayar Mühendisliği Carnegie Mellon Bölümü Bilgisayar Sistemlerine Genel Bakış BIL-304: Bilgisayar Mimarisi Dersi veren öğretim üyesi: Yrd. Doç. Dr.

Detaylı

İşlem Yönetimi (Process Management)

İşlem Yönetimi (Process Management) İşlem Yönetimi (Process Management) 2 Bir işletim sisteminde, temel kavramlardan bir tanesi işlemdir. İş, görev ve süreç kelimeleri de işlem ile eşanlamlı olarak kullanılabilir. Bir işlem temel olarak

Detaylı

Bilgisayar İşletim Sistemleri BLG 312

Bilgisayar İşletim Sistemleri BLG 312 Bilgisayar İşletim Sistemleri BLG 312 İşletim Sistemlerine Giriş Bilgisayar Sistemi uygulama programları derleyici editör komut yorumlayıcı işletim sistemi makina dilinde programlar mikroprogram (ROM da)

Detaylı

Bölüm 3: İşlemler Operating System Concepts with Java 8th Edition 3.1 Silberschatz, Galvin and Gagne 2009

Bölüm 3: İşlemler Operating System Concepts with Java 8th Edition 3.1 Silberschatz, Galvin and Gagne 2009 Bölüm 3: İşlemler 3.1 Silberschatz, Galvin and Gagne 2009 Bölüm 3: İşlemler İşlem Kavramı İşlem Zamanlaması (Process Scheduling) İşlemler Üzerindeki Faaliyetler İşlemler Arası İletişim (Interprocess Communication)

Detaylı

Bölüm 3: İşlemler Operating System Concepts with Java 8th Edition 3.1 Silberschatz, Galvin and Gagne 2009

Bölüm 3: İşlemler Operating System Concepts with Java 8th Edition 3.1 Silberschatz, Galvin and Gagne 2009 Bölüm 3: İşlemler 3.1 Silberschatz, Galvin and Gagne 2009 Bölüm 3: İşlemler İşlem Kavramı İşlem Zamanlaması (Process Scheduling) İşlemler Üzerindeki Faaliyetler İşlemler Arası İletişim (Interprocess Communication)

Detaylı

REALTIME LINUX. 3. Linux ve Özgür Yazılım Şenliği Murat Demirten, 16 Mayıs 2004, Ankara

REALTIME LINUX. 3. Linux ve Özgür Yazılım Şenliği Murat Demirten, 16 Mayıs 2004, Ankara REALTIME LINUX 3. Linux ve Özgür Yazılım Şenliği Murat Demirten, 16 Mayıs 2004, Ankara Bu belgeyi, Free Software Foundation tarafından yayınlanmış bulunan GNU Genel Kamu Lisansının 2 ya da daha sonraki

Detaylı

İşletim Sistemi. BTEP205 - İşletim Sistemleri

İşletim Sistemi. BTEP205 - İşletim Sistemleri İşletim Sistemi 2 İşletim sistemi (Operating System-OS), bilgisayar kullanıcısı ile bilgisayarı oluşturan donanım arasındaki iletişimi sağlayan ve uygulama programlarını çalıştırmaktan sorumlu olan sistem

Detaylı

Sunucu Bilgisayarlarda Kullanılan CISC ve RISC İşlemcilerin Performans Karşılaştırımı

Sunucu Bilgisayarlarda Kullanılan CISC ve RISC İşlemcilerin Performans Karşılaştırımı Sunucu Bilgisayarlarda Kullanılan CISC ve RISC İşlemcilerin Performans Karşılaştırımı Aylin Kantarcı Ege Üniversitesi Akademik Bilişim 2015 Eskişehir, 2015 GİRİŞ CISC işlemciler Geriye uyumluluk Karmaşık

Detaylı

İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, kabuk ve diğer temel kavramlar) Bir işletim sisteminin yazılım tasarımında ele alınması gereken iki önemli konu

İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, kabuk ve diğer temel kavramlar) Bir işletim sisteminin yazılım tasarımında ele alınması gereken iki önemli konu İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, kabuk ve diğer temel kavramlar) Bir işletim sisteminin yazılım tasarımında ele alınması gereken iki önemli konu bulunmaktadır; 1. Performans: İşletim sistemi, makine

Detaylı

Üst Düzey Programlama

Üst Düzey Programlama Üst Düzey Programlama Servlet Üst Düzey Programlama-ders01/ 1 Servlet Nedir? Web sayfaları ilk başlarda durağan bir yapıya sahipti ve kullanıcıdan bilgi alarak işlemler yapmıyordu. Zamanın geçmesiyle kullanıcıya

Detaylı

BM-311 Bilgisayar Mimarisi. Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

BM-311 Bilgisayar Mimarisi. Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Bilgisayar Bileşenleri Bilgisayarın Fonksiyonu Instruction Cycle Kesmeler (Interrupt lar) Bus

Detaylı

İş Parçacıkları Thread(s)

İş Parçacıkları Thread(s) İş Parçacıkları Thread(s) Bir çok geliştirici programlarını doğrusal(linear) bir şekilde oluşturmaktadır. Böyle bir durumda tek bir processin işini bitirmesi beklenmekte ve ardından bir sonraki kod parçasına

Detaylı

PARALEL HESAPLAMA ÇAĞRI GİDER ENES BİLGİN

PARALEL HESAPLAMA ÇAĞRI GİDER ENES BİLGİN PARALEL HESAPLAMA ÇAĞRI GİDER 13011016 ENES BİLGİN - 13011004 Paralel Hesaplama Nedir? Paralel Hesaplamanın Avantajları Paralel Hesaplamanın Kullanım Alanları Paralel Hesaplama Yöntemleri, Donanım ve Yazılım

Detaylı

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 7. LINUX OS (Sistem Yapısı) BİLGİ & İLETİŞİM TEKNOLOJİLERİ. LINUX Yapısı

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 7. LINUX OS (Sistem Yapısı) BİLGİ & İLETİŞİM TEKNOLOJİLERİ. LINUX Yapısı Ders 7 LINUX OS (Sistem Yapısı) BİLGİ & İLETİŞİM TEKNOLOJİLERİ 1 LINUX Yapısı LINUX işletim sisteminin diğer işletim sistemleri gibi kendine özgü bir yapısı vardır. LINUX yapısı ve bileşenleri aşağıdaki

Detaylı

Akıllı telefonlar, avuçiçi bilgisayarlar ile taşınabilir (cep) telefonların özelliklerini birleştiren cihazlardır. Akıllı telefonlar kullanıcıların

Akıllı telefonlar, avuçiçi bilgisayarlar ile taşınabilir (cep) telefonların özelliklerini birleştiren cihazlardır. Akıllı telefonlar kullanıcıların Akıllı telefonlar, avuçiçi bilgisayarlar ile taşınabilir (cep) telefonların özelliklerini birleştiren cihazlardır. Akıllı telefonlar kullanıcıların bilgilerini saklamalarına, program yüklemelerine izin

Detaylı

İşletim Sistemlerine Giriş 2. Kaynakların Paylaşımı. Öğr.Gör. Dr. Şirin KARADENİZ

İşletim Sistemlerine Giriş 2. Kaynakların Paylaşımı. Öğr.Gör. Dr. Şirin KARADENİZ İşletim Sistemlerine Giriş 2 Kaynakların Paylaşımı Öğr.Gör. Dr. Şirin KARADENİZ Kaynakların Paylaşımı Sistem, sistem kaynaklarını belli bir hiyerarşi içinde kullanıcının hizmetine sunar. Bir işletim sisteminde

Detaylı

Veritabanı. Ders 2 VERİTABANI

Veritabanı. Ders 2 VERİTABANI Veritabanı Veritabanı Nedir? Birbiri ile ilişkili verilerin bir arada uzun süreli bulundurulmasıdır. Veritabanı bazen Veritabanı Yönetim sistemi veya Veritabanı Sistemi yerine de kullanılır. Gerçek dünyanın

Detaylı

Yazılım Mühendisliğine Giriş 2018 GÜZ

Yazılım Mühendisliğine Giriş 2018 GÜZ Yazılım Mühendisliğine Giriş 2018 GÜZ 1 İşletim Sistemi (Operating System) 2 Unix İşletim Sistemi Unix AT&T çalışanları tarafından Bell Laboratuvarlarında 1969 yılında geliştirilmiştir. Farklı platformlar

Detaylı

BM-311 Bilgisayar Mimarisi

BM-311 Bilgisayar Mimarisi 1 BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Bilgisayar Bileşenleri Bilgisayarın Fonksiyonu Instruction Cycle Kesmeler (Interrupt lar)

Detaylı

İşletim Sistemleri. Hazırlayan: M. Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

İşletim Sistemleri. Hazırlayan: M. Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü İşletim Sistemleri Hazırlayan: M. Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Bu dersin sunumları, Abraham Silberschatz, Greg Gagne, Peter B. Galvin, Operating System Concepts 9/e, Wiley,

Detaylı

İŞLETİM SİSTEMLERİNE GİRİŞ. Modern bilgisayar çalışma prensipleri, Von Neumann ın 1945 de geliştirdiği

İŞLETİM SİSTEMLERİNE GİRİŞ. Modern bilgisayar çalışma prensipleri, Von Neumann ın 1945 de geliştirdiği İŞLETİM SİSTEMLERİNE GİRİŞ Von Neumann Mimarisi Modern bilgisayar çalışma prensipleri, Von Neumann ın 1945 de geliştirdiği mimariyi temel almaktadır. Merkezi İşlem Birimi Aritmetik ve Mantık Birimi Kontrol

Detaylı

BM-311 Bilgisayar Mimarisi

BM-311 Bilgisayar Mimarisi 1 BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Çok işlemcili sistemler Simetrik çok işlemciler Önbellek tutarlılığı MESI protokolü Multithreading

Detaylı

BİT in Temel Bileşenleri (Yazılım-1)

BİT in Temel Bileşenleri (Yazılım-1) Ders 4 BİT in Temel Bileşenleri (Yazılım-1) BİLGİ & İLETİŞİM TEKNOLOJİLERİ 1 Yazılım, değişik ve çeşitli görevler yapma amaçlı tasarlanmış elektronik araçların, birbirleriyle haberleşebilmesini ve uyumunu

Detaylı

İşletim Sistemlerine Giriş

İşletim Sistemlerine Giriş İşletim Sistemlerine Giriş İşletim Sistemleri ve Donanım İşletim Sistemlerine Giriş/ Ders01 1 İşletim Sistemi? Yazılım olmadan bir bilgisayar METAL yığınıdır. Yazılım bilgiyi saklayabilir, işleyebilir

Detaylı

İŞLETİM SİSTEMİ İşletim sistemi kullanıcıyla bilgisayar donanımı arasında iletişim sağlayan programdır.

İŞLETİM SİSTEMİ İşletim sistemi kullanıcıyla bilgisayar donanımı arasında iletişim sağlayan programdır. İŞLETİM SİSTEMİ İşletim sistemi kullanıcıyla bilgisayar donanımı arasında iletişim sağlayan programdır. Programların ve donanımların kullanılması için bir çalıştırılması platformu oluşturur. Sistemin yazılım

Detaylı

İşletim Sistemleri. Hazırlayan: M. Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

İşletim Sistemleri. Hazırlayan: M. Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü İşletim Sistemleri Hazırlayan: M. Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Bu dersin sunumları, Abraham Silberschatz, Greg Gagne, Peter B. Galvin, Operating System Concepts 9/e, Wiley,

Detaylı

Binnur Kurt binnur.kurt@ieee.org. İstanbul Teknik Üniversitesi Bilgisayar MühendisliM

Binnur Kurt binnur.kurt@ieee.org. İstanbul Teknik Üniversitesi Bilgisayar MühendisliM İşletim Sistemleri Binnur Kurt binnur.kurt@ieee.org İstanbul Teknik Üniversitesi Bilgisayar MühendisliM hendisliği i BölümüB İşletim Sistemleri Copyright 2005 1 Version 0.0.1 About the Lecturer BSc İTÜ,

Detaylı

Kepware Veritabanı Ürünleri. Teknolojiye Genel Bir Bakış

Kepware Veritabanı Ürünleri. Teknolojiye Genel Bir Bakış Kepware Veritabanı Ürünleri Teknolojiye Genel Bir Bakış Gündem Veritabanı Client API teknolojisinin gözden geçirilmesi ODBC istemci sürücüsü- bir KEPServerEX Plug-In Haberleşme Sürücüsüdür. DataLogger-

Detaylı

Çekirdek Nedir? Ne yapar?

Çekirdek Nedir? Ne yapar? Çekirdek Nedir? Ne yapar? Erkan Esmer Nisan, 2014 İçindekiler 1 Giriş.................................................... 2 2 Çekirdek Tipleri.............................................. 3 2.1 Mikrokernel............................................

Detaylı

YRD. DOÇ. DR. AGÂH TUĞRUL KORUCU Kernel çeşitleri

YRD. DOÇ. DR. AGÂH TUĞRUL KORUCU Kernel çeşitleri YRD. DOÇ. DR. AGÂH TUĞRUL KORUCU agah.korucu@gmail.com Kernel çeşitleri Tek Parçalı Çekirdek (Monolithic Kernel) Mikro Çekirdek (Microkernel) Melez Çekirdek (Hybrid Kernel) Dış Çekirdek (Excokernel) Tek

Detaylı

Bölüm 8: Ana Bellek. Operating System Concepts with Java 8 th Edition

Bölüm 8: Ana Bellek. Operating System Concepts with Java 8 th Edition Bölüm 8: Ana Bellek 8.1 Silberschatz, Galvin and Gagne 2009 Bölüm 8: Ana Bellek Arka Plan Bilgisi Yer Değiştirme (Swapping) Bitişik Bellek Yerleşimi (Contiguous Memory Allocation) Sayfalama (Paging) Sayfa

Detaylı

İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, Kabuk ve diğer temel kavramlar) Öğr.Gör. Dr. Dr. Şirin KARADENİZ

İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, Kabuk ve diğer temel kavramlar) Öğr.Gör. Dr. Dr. Şirin KARADENİZ İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, Kabuk ve diğer temel kavramlar) Öğr.Gör. Dr. Dr. Şirin KARADENİZ Bir işletim sisteminin yazılım tasarımında ele alınması gereken iki önemli konu bulunmaktadır; Performans:

Detaylı

YZM 3102 İşletim Sistemleri

YZM 3102 İşletim Sistemleri YZM 3102 İşletim Sistemleri Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği BÖLÜM - 3 Bu bölümde, Proses Kavramı Proses Üzerindeki Bilgiler

Detaylı

İşletim Sistemleri. Bilgisayar Mühendisliğine Giriş. Teknoloji Fakültesi / Bilgisayar Mühendisliği. Öğr.Gör.Günay TEMÜR

İşletim Sistemleri. Bilgisayar Mühendisliğine Giriş. Teknoloji Fakültesi / Bilgisayar Mühendisliği. Öğr.Gör.Günay TEMÜR İşletim Sistemleri Bilgisayar Mühendisliğine Giriş Teknoloji Fakültesi / Bilgisayar Mühendisliği Öğr.Gör.Günay TEMÜR İşletim sistemi (Operating System) Bir işletim sistemini orkestrayı yöneten bir maestro

Detaylı

İŞ SIRALAMA. İş Sıralamanın Amaçları. İş Sıralama Türleri - 1. İş Sıralama. İş Sıralama Türleri - 2

İŞ SIRALAMA. İş Sıralamanın Amaçları. İş Sıralama Türleri - 1. İş Sıralama. İş Sıralama Türleri - 2 İş Sıralamanın Amaçları İŞ SIRALAMA İşleri zaman içinde işlemciye yerleştirmek Sistem hedeflerine uygun olarak: İşlemci verimi Cevap süresi (response time) Debi (throughput) 23 İş Sıralama İş Sıralama

Detaylı

İŞ SIRALAMA. İş Sıralama 6. İşletim Sistemleri

İŞ SIRALAMA. İş Sıralama 6. İşletim Sistemleri 6 İŞ SIRALAMA İş Sıralama Çok programlı ortamlarda birden fazla proses belirli bir anda bellekte bulunur Çok programlı ortamlarda prosesler: işlemciyi kullanır bekler giriş çıkış bekler bir olayın olmasını

Detaylı

Görsel Programlama DERS 11. Görsel Programlama - Ders11/ 1

Görsel Programlama DERS 11. Görsel Programlama - Ders11/ 1 Görsel Programlama DERS 11 Görsel Programlama - Ders11/ 1 ÇOKLU KULLANIM(Multi Threading) Günümüz işletim sistemleri çok görevli(multi tasking) dir. Aynı anda farklı programlar çalışmakta, görevler yerine

Detaylı

İşletim Sistemlerinde Çok Prosesli Çalışma

İşletim Sistemlerinde Çok Prosesli Çalışma İşletim Sistemlerinde Çok Prosesli Çalışma Kaan Aslan 4 Mart 2008 İşletim sistemlerini proses yönetimine göre kabaca tek prosesli (single processing) ve çok prosesli (multiprocessing) olmak üzere iki gruba

Detaylı

BİLGİ İŞLEM DERS 1. Yrd Doç Dr. Ferhat ÖZOK MSGSU FİZİK BÖLÜMÜ MSGSU FİZİK BÖLÜMÜ

BİLGİ İŞLEM DERS 1. Yrd Doç Dr. Ferhat ÖZOK MSGSU FİZİK BÖLÜMÜ MSGSU FİZİK BÖLÜMÜ BİLGİ İŞLEM MSGSU FİZİK BÖLÜMÜ DERS 1 Yrd Doç Dr. Ferhat ÖZOK MSGSU FİZİK BÖLÜMÜ İŞLETİM SİSTEMİ OS(Operating System) İşletim sistemi temel olarak, belli girdileri alıp derleyen ve sonuçları üreten program

Detaylı

Doğu Akdeniz Üniversitesi Bilgisayar ve Teknoloji Yüksek Okulu Bilgi teknolojileri ve Programcılığı Bölümü DERS 1 - BİLGİSAYAR VE ÇEVRE ÜNİTELERİ

Doğu Akdeniz Üniversitesi Bilgisayar ve Teknoloji Yüksek Okulu Bilgi teknolojileri ve Programcılığı Bölümü DERS 1 - BİLGİSAYAR VE ÇEVRE ÜNİTELERİ Doğu Akdeniz Üniversitesi Bilgisayar ve Teknoloji Yüksek Okulu Bilgi teknolojileri ve Programcılığı Bölümü DERS 1 - BİLGİSAYAR VE ÇEVRE ÜNİTELERİ Bilgisayar, kendine önceden yüklenmiş program gereğince

Detaylı

BİL 542 Paralel Hesaplama. Dersi Projesi. MPJ Express Java Paralel Programlama

BİL 542 Paralel Hesaplama. Dersi Projesi. MPJ Express Java Paralel Programlama BİL 542 Paralel Hesaplama Dersi Projesi MPJ Express Java Paralel Programlama Recep Ali YILMAZ 131419106 Fen Bilimleri Enstitüsü Bilgisayar Mühendisliği Bölümü Bilgisayar Mühendisliği Yüksek Lisans Programı

Detaylı

1.1. Yazılım Geliştirme Süreci

1.1. Yazılım Geliştirme Süreci Kazanımlar Bu bolümde; Yazılım geliştirme sureci konusunda bilgi sahibi olacak, Yazılım geliştirme surecinde gerekli olan araçları tanıyacak, Python dilinde program geliştirme ortamlarını inceleyebileceksiniz.

Detaylı

1.PROGRAMLAMAYA GİRİŞ

1.PROGRAMLAMAYA GİRİŞ 1.PROGRAMLAMAYA GİRİŞ Bilindiği gibi internet üzerindeki statik web sayfaları ziyaretçinin interaktif olarak web sayfasını kullanmasına olanak vermemektedir. Bu yüzden etkileşimli web sayfaları oluşturmak

Detaylı

Java ve Linux. Bora Güngören Portakal Teknoloji bora@portakalteknoloji.com Akademik Bilişim 2006 09.02.2006

Java ve Linux. Bora Güngören Portakal Teknoloji bora@portakalteknoloji.com Akademik Bilişim 2006 09.02.2006 Java ve Linux Bora Güngören Portakal Teknoloji bora@portakalteknoloji.com Akademik Bilişim 2006 09.02.2006 Sunum Planı Java Çalışma Ortamı POSIX uyumu ve Linux Java Toplum Süreci (JCP) Açık kaynak kodlu

Detaylı

Script. Statik Sayfa. Dinamik Sayfa. Dinamik Web Sitelerinin Avantajları. İçerik Yönetim Sistemi. PHP Nedir? Avantajları.

Script. Statik Sayfa. Dinamik Sayfa. Dinamik Web Sitelerinin Avantajları. İçerik Yönetim Sistemi. PHP Nedir? Avantajları. Script Statik Sayfa Dinamik Sayfa Dinamik Web Sitelerinin Avantajları İçerik Yönetim Sistemi PHP Nedir? Avantajları Dezavantajları Script HTML kodları arasına yerleştirilen küçük kodlardır. Web sayfalarında

Detaylı

İşletim Sistemleri. B L M Mesleki Te r minoloji I I Ö ğ r e n c i S unumu

İşletim Sistemleri. B L M Mesleki Te r minoloji I I Ö ğ r e n c i S unumu İşletim Sistemleri 1 4011029 R. Serkan Ke s kin 1 401103 9 Ö zcan Akdora B L M4811 - Mesleki Te r minoloji I I Ö ğ r e n c i S unumu Nedir? Bilgisayar donanımını yöneten yazılımdır. Bilgisayar yazılımlarının

Detaylı

Bilgisayar Mühendisliğine Giriş. Yrd.Doç.Dr.Hacer KARACAN

Bilgisayar Mühendisliğine Giriş. Yrd.Doç.Dr.Hacer KARACAN Bilgisayar Mühendisliğine Giriş Yrd.Doç.Dr.Hacer KARACAN İŞLETİM SİSTEMLERİ Bilinen İşletim Sistemleri İşletim Sistemlerinin Görevleri İşletim Sistemlerinin Gelişim Evresi İşletim Sistemi Türleri İşletim

Detaylı

Programlama Nedir? Bir bilgisayar bilimcisi gibi düşünmek ve programlama ne demektir?

Programlama Nedir? Bir bilgisayar bilimcisi gibi düşünmek ve programlama ne demektir? 2.1.1. PROGRAMLAMA NEDIR? Programlama Nedir? Bir bilgisayar bilimcisi gibi düşünmek ve programlama ne demektir? Bu düşünme şekli matematiğin, mühendisliğin ve doğa bilimlerinin bazı özelliklerini birleştirmektedir.

Detaylı

Bilişim Teknolojilerine Giriş

Bilişim Teknolojilerine Giriş Bilişim Teknolojilerine Giriş Bilginin toplanması, işlenmesi, saklanması ve iletilmesini sağlayan teknolojilerin bütününe bilişim teknolojileri denir. Bilişim Teknolojisi Girilen verileri saklayan, işleyen,

Detaylı

Windows Eski Sürümleri Bellek Yapısı

Windows Eski Sürümleri Bellek Yapısı Windows Eski Sürümleri Bellek Yapısı -Intel 8086/8088 mimarili işlemciler//640k RAM -Segment Modeli(Segmented Model) -Her segment 64K uzunluğunda -Intel 80286,640K dan daha fazla RAM i destekledi -Windows

Detaylı

İŞLEMCİLER (CPU) İşlemciler bir cihazdaki tüm girdilerin tabii tutulduğu ve çıkış bilgilerinin üretildiği bölümdür.

İŞLEMCİLER (CPU) İşlemciler bir cihazdaki tüm girdilerin tabii tutulduğu ve çıkış bilgilerinin üretildiği bölümdür. İŞLEMCİLER (CPU) Mikroişlemci Nedir? Mikroişlemci, hafıza ve giriş/çıkış birimlerini bulunduran yapının geneline mikrobilgisayar; CPU' yu bulunduran entegre devre çipine ise mikroişlemci denir. İşlemciler

Detaylı

Bölüm 3: İşlemler Operating System Concepts with Java 8th Edition 3.1 Silberschatz, Galvin and Gagne 2009

Bölüm 3: İşlemler Operating System Concepts with Java 8th Edition 3.1 Silberschatz, Galvin and Gagne 2009 Bölüm 3: İşlemler 3.1 Silberschatz, Galvin and Gagne 2009 Bölüm 3: İşlemler İşlem Kavramı İşlem Zamanlaması (Process Scheduling) İşlemler Üzerindeki Faaliyetler İşlemler Arası İletişim (Interprocess Communication)

Detaylı

İŞLETİM SİSTEMLERİNE GİRİŞ. Modern bilgisayar çalışma prensipleri, Von Neumann ın 1945 de geliştirdiği

İŞLETİM SİSTEMLERİNE GİRİŞ. Modern bilgisayar çalışma prensipleri, Von Neumann ın 1945 de geliştirdiği İŞLETİM SİSTEMLERİNE GİRİŞ Von Neumann Mimarisi Modern bilgisayar çalışma prensipleri, Von Neumann ın 1945 de geliştirdiği mimariyi temel almaktadır. Merkezi İşlem Birimi Aritmetik ve Mantık Birimi Kontrol

Detaylı

Proses. Prosesler 2. İşletim Sistemleri

Proses. Prosesler 2. İşletim Sistemleri 2 PROSESLER Proses Bir işlevi gerçeklemek üzere ardışıl bir program parçasının yürütülmesiyle ortaya çıkan işlemler dizisi Programın koşmakta olan hali Aynı programa ilişkinbirdenfazlaprosesolabilir. Görev

Detaylı

Kemalettin YıldY KADIR HAS UNIVERSITY. UNIX SYSTEM ADMINISTRATOR www.kemalettinyildiz.tk kemalettinyildiz@yahoo.com kemalettinyildiz@khas.edu.

Kemalettin YıldY KADIR HAS UNIVERSITY. UNIX SYSTEM ADMINISTRATOR www.kemalettinyildiz.tk kemalettinyildiz@yahoo.com kemalettinyildiz@khas.edu. Kemalettin YıldY ldız KADIR HAS UNIVERSITY BİLGİ İŞLEM MERKEZİ UNIX SYSTEM ADMINISTRATOR www.kemalettinyildiz.tk kemalettinyildiz@yahoo.com kemalettinyildiz@khas.edu.tr BSD BERKELEY SOFTWARE DISTRIBUTION

Detaylı

PROSESLER. Proses. Proses

PROSESLER. Proses. Proses Proses 2 PROSESLER Bir işlevi gerçeklemek üzere ardışıl bir program parçasının yürütülmesiyle ortaya çıkan işlemler dizisi Programın koşmakta olan hali Aynı programa ilişkin birden fazla proses olabilir.

Detaylı

Sistem Programlama. (*)Dersimizin amaçları Kullanılan programlama dili: C. Giriş/Cıkış( I/O) Sürücülerinin programlaması

Sistem Programlama. (*)Dersimizin amaçları Kullanılan programlama dili: C. Giriş/Cıkış( I/O) Sürücülerinin programlaması Sistem Programlama Sistem programlama bilgisayar mühendisliğinin bir alanı olup karmaşık sistemlerin ve bu sistemlerin parçalarının ile ilgilenir. İşletim Sistemlerinin Programlaması Giriş/Cıkış( I/O)

Detaylı

Android e Giriş. Öğr.Gör. Utku SOBUTAY

Android e Giriş. Öğr.Gör. Utku SOBUTAY Android e Giriş Öğr.Gör. Utku SOBUTAY Android İşletim Sistemi Hakkında 2 Google tarafından geliştirilmiştir. Dünyada en çok kullanılan mobil işletim sistemidir. 2018 itibariyle Dünyada Android; %78.65,

Detaylı

Öğr.Gör. Gökhan TURAN www.gokhanturan.com.tr. Gölhisar Meslek Yüksekokulu

Öğr.Gör. Gökhan TURAN www.gokhanturan.com.tr. Gölhisar Meslek Yüksekokulu Öğr.Gör. Gökhan TURAN www.gokhanturan.com.tr Gölhisar Meslek Yüksekokulu Bilgisayarın Yapısı Donanım (Hardware): Bir bilgisayara genel olarak bakıldığında; Kasa, Ekran, Klavye, Fare, Yazıcı, Hoparlör,

Detaylı

ALGORİTMA VE PROGRAMLAMA I

ALGORİTMA VE PROGRAMLAMA I ALGORİTMA VE PROGRAMLAMA I YZM 1101 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi 2. BÖLÜM 2 PROGRAMLAMAYA GİRİŞ Programlama Terimleri ve Programlama Ortamı 3 Program Programlama IDE

Detaylı

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 10. LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 10. LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ Ders 10 LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ LINUX de Programlama LINUX işletim sistemi zengin bir programlama ortamı sağlar. Kullanıcılara sistemi geliştirme olanağı sağlar.

Detaylı

Yazılım Mühendisliğine Giriş 5. Hafta 2016 GÜZ

Yazılım Mühendisliğine Giriş 5. Hafta 2016 GÜZ Yazılım Mühendisliğine Giriş 5. Hafta 2016 GÜZ 1 C Dili ve İşaretçiler C programlama dili programların bellek adresinde yüksek düzeyli dillerden daha düşük düzeyde yazılabilmesini sağlar. Kısaca İşaretçi

Detaylı

İşletim Sistemlerine Giriş

İşletim Sistemlerine Giriş İşletim Sistemlerine Giriş Bellek Yönetimi (Memory Management) İşletim Sistemlerine Giriş - Ders08 1 Bellek Yönetimi Bellek önemli bir kaynaktır ve dikkatli yönetilmelidir. İşletim sistemlerinde bellek

Detaylı

İşletim Sistemleri. Hazırlayan: M. Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

İşletim Sistemleri. Hazırlayan: M. Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü İşletim Sistemleri Hazırlayan: M. Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Bu dersin sunumları, Abraham Silberschatz, Greg Gagne, Peter B. Galvin, Operating System Concepts 9/e, Wiley,

Detaylı

Bilgisayar Mimarisi ve Organizasyonu Giriş

Bilgisayar Mimarisi ve Organizasyonu Giriş + Bilgisayar Mimarisi ve Organizasyonu Giriş Bilgisayar Mimarisi Bilgisayar Organizasyonu Programcının görebileceği bir sistemin nitelikleri Bir programın mantıksal yürütülmesi üzerinde direk bir etkisi

Detaylı

Bölüm 8: Ana Bellek 8.1

Bölüm 8: Ana Bellek 8.1 Bölüm 8: Ana Bellek 8.1 Arka Plan Bilgisi Çalıştırılmak istenen program öncelikle diskten belleğe alınmalı ve bir işleme dönüştürülmelidir CPU nun direk olarak erişebileceği kayıt birimleri yalnızca ana

Detaylı

Bilgisayar İşletim Sistemleri BLG 312

Bilgisayar İşletim Sistemleri BLG 312 Prosesler Bilgisayar İşletim Sistemleri BLG 312 Prosesler ve Proses Yönetimi bilgisayar sisteminde birden fazla iş aynı anda etkin olabilir kullanıcı programı diskten okuma işlemi yazıcıdan çıkış alma

Detaylı

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi Bil101 Bilgisayar Yazılımı I Bilgisayar Yüksek Mühendisi Kullanıcıdan aldığı veri ya da bilgilerle kullanıcının isteği doğrultusunda işlem ve karşılaştırmalar yapabilen, veri ya da bilgileri sabit disk,

Detaylı

Küme Bilgisayarlar. Enabling Grids for E-sciencE. Onur Temizsoylu. Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi ODTÜ, Ankara

Küme Bilgisayarlar. Enabling Grids for E-sciencE. Onur Temizsoylu. Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi ODTÜ, Ankara Küme Bilgisayarlar Onur Temizsoylu ODTÜ, Ankara www.eu-egee.org EGEE and glite are registered trademarks İçerik Neden hesaplamada kümeleme? Kümeleme nedir? Yüksek kullanılabilirlik kümeleri Yük dengeleme

Detaylı

Yazılım Mühendisliğine Giriş 4. Hafta 2016 GÜZ

Yazılım Mühendisliğine Giriş 4. Hafta 2016 GÜZ Yazılım Mühendisliğine Giriş 4. Hafta 2016 GÜZ 1 İkinci Kuşak Bilgisayarlar 1956-1963: Transistor Transistor 1947 yılında keşfedilmiştir. 50 li yılların sonuna kadar bilgisayarlarda yaygın kullanımı görülmez.

Detaylı

Bölüm 13: Giriş-Çıkış (I/O) Sistemleri

Bölüm 13: Giriş-Çıkış (I/O) Sistemleri Bölüm 13: Giriş-Çıkış (I/O) Sistemleri Mehmet Demirci tarafından çevrilmiştir. Silberschatz, Galvin and Gagne 2013 Bölüm 13: Giriş-Çıkış (I/O) Sistemleri Genel bakış I/O donanımı Uygulama I/O arayüzü Çekirdek

Detaylı

İşletim Sistemlerine Giriş

İşletim Sistemlerine Giriş İşletim Sistemlerine Giriş İşletim Sistemlerinin Tarihçesi ve Genel Yapısı İşletim Sistemlerine Giriş - Ders02 1 İşletim Sistemi Tarihçesi İLK NESİL işletim SİSTEMLERİ (1945 1955) 1940 larda Howard Aiken,

Detaylı

SİSTEM İHTİYAÇLARI (Tiger Enterprise / Tiger 3 Enterprise)

SİSTEM İHTİYAÇLARI (Tiger Enterprise / Tiger 3 Enterprise) SİSTEM İHTİYAÇLARI (Tiger Enterprise / Tiger 3 Enterprise) / Gereksinimleri : Sunucu: 60 GB boş disk 21-50 kullanıcı arası en az çift işlemcili Intel Xeon Processor L5638 (12M Cache, 2.00 GB boş disk RAID

Detaylı

Ders Tanıtım Sunumu. Internet Programming II. Elbistan Meslek Yüksek Okulu 2012 2013 Bahar Yarıyılı. 26 Şub. 2013 Öğr. Gör.

Ders Tanıtım Sunumu. Internet Programming II. Elbistan Meslek Yüksek Okulu 2012 2013 Bahar Yarıyılı. 26 Şub. 2013 Öğr. Gör. Ders Tanıtım Sunumu Internet Programming II Elbistan Meslek Yüksek Okulu 2012 2013 Bahar Yarıyılı 26 Şub. 2013 Öğr. Gör. Murat KEÇECİOĞLU PHP Nedir? Platformdan bağımsız (işletim Sistemi) dinamik web sayfaları

Detaylı

İşletim Sistemleri. Discovering Computers Living in a Digital World

İşletim Sistemleri. Discovering Computers Living in a Digital World İşletim Sistemleri Discovering Computers 2010 Living in a Digital World Sistem Yazılımı Sistem yazılımı, bilgisayar ve aygıtlarının çalışmasını kontrol eden ve sürdüren programlardan oluşur. İşle;m sistemleri

Detaylı

Linux İşletim Sistemleri. Eren BAŞTÜRK. basturkeren@gmail.com www.erenbasturk.com

Linux İşletim Sistemleri. Eren BAŞTÜRK. basturkeren@gmail.com www.erenbasturk.com Linux İşletim Sistemleri Eren BAŞTÜRK basturkeren@gmail.com www.erenbasturk.com Giriş Linux İşletim Sistemleri Linux Terimlerinin Açıklanması Gömülü Linux İşletim Sistemleri Ubuntu Kurulumu Linux İşletim

Detaylı

DONANIM. 1-Sitem birimi (kasa ) ve iç donanım bileşenleri 2-Çevre birimleri ve tanımlamaları 3-Giriş ve çıkış donanım birimleri

DONANIM. 1-Sitem birimi (kasa ) ve iç donanım bileşenleri 2-Çevre birimleri ve tanımlamaları 3-Giriş ve çıkış donanım birimleri DONANIM 1-Sitem birimi (kasa ) ve iç donanım bileşenleri 2-Çevre birimleri ve tanımlamaları 3-Giriş ve çıkış donanım birimleri DONANIM SİSTEM BİRİMİ ÇEVREBİRİMLERİ Ana Kart (Mainboard) Monitör İşlemci

Detaylı