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



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

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

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

YZM 3102 İşletim Sistemleri

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

İşletim Sistemleri (Operating Systems)

Bölüm 2 İşletim Sistemi Yapıları

PROCESS YARATIMI (TEKRAR):

İşletim Sisteminin Katmanları

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)

Yedi Karat Kullanım Klavuzu. Yedi Karat nedir? Neden Karat?

İstemci Yönetimi ve Mobile Printing (Mobil Baskı) Çözümleri

DEĞERLENDİRME NOTU: Mehmet Buğra AHLATCI Mevlana Kalkınma Ajansı, Araştırma Etüt ve Planlama Birimi Uzmanı, Sosyolog

Özgür Yazılımlar ile VoIP Denetimi. Fatih Özavcı Bilgi Güvenliği Danışmanı

TS7200 PLATFORMU ÜZERİNDE SERİ PORT-ETHERNET DÖNÜŞTÜRÜCÜ UYGULAMASI

Analiz aşaması sıralayıcı olurusa proje yapımında daha kolay ilerlemek mümkün olacaktır.

ÖĞRENME FAALĠYETĠ GELĠġMĠġ ÖZELLĠKLER

T.C. NUH NACİ YAZGAN ÜNİVERSİTESİ YAZILIM KULÜBÜ TÜZÜĞÜ. BİRİNCİ BÖLÜM Kuruluş Gerekçesi, Amaç, Kapsam, Dayanak ve Tanımlar

Saplama ark kaynağı (Stud welding) yöntemi 1920'li yıllardan beri bilinmesine rağmen, özellikle son yıllarda yaygın olarak kullanılmaktadır.

YILDIRIM BEYAZIT ÜNİVERSİTESİ İŞ SAĞLIĞI VE GÜVENLİĞİ KOORDİNATÖRLÜĞÜ YÖNERGESİ BİRİNCİ BÖLÜM

YÖNETMELİK. a) Çocuk: Daha erken yaşta ergin olsa bile 18 yaşını doldurmamış kişiyi,

B E Y K E N T Ü N İ V E R S İ T E S İ S O S Y A L B İ L İ M L E R E N S T İ T Ü S Ü İ Ş L E T M E Y Ö N E T İ M İ D O K T O R A P R O G R A M I

ÇANKAYA BELEDİYESİ EVDE BAKIM HİZMETLERİ YÖNERGESİ

SÜRE BĠLĠġĠM TEKNOLOJĠLERĠ ÜNĠTE 1: ĠLETĠġĠM DERS SAATĠ: 1. Gelecekteki bilişim teknoloji

KAYHAM STRATEJİK PLANINA GÖRE 2014 YILI FAALİYET RAPORU

KAHRAMANMARAŞ SÜTÇÜ İMAM ÜNİVERSİTESİ BİLİMSEL DERGİLER YÖNERGESİ BİRİNCİ BÖLÜM Amaç, Kapsam, Dayanak ve Tanımlar

Başbakanlık Mevzuatı Geliştirme ve Yayın Genel Müdürlüğü :18

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

SÜREÇ YÖNETİMİ VE SÜREÇ İYİLEŞTİRME H.Ömer Gülseren > ogulseren@gmail.com

Dersin İçeriği (Temel Bilgi Teknolojileri)

KAVRAMLAR. Büyüme ve Gelişme. Büyüme. Büyüme ile Gelişme birbirlerinden farklı kavramlardır.

Veri Toplama Yöntemleri. Prof.Dr.Besti Üstün

Bilişim Sistemleri. Modelleme, Analiz ve Tasarım. Yrd. Doç. Dr. Alper GÖKSU

KAR YER GÜNLER PROJES. Murat F DAN

BIM BUILDING INFORMATION MODELING YAPI BİLGİ MODELİ

USB KVM Switch. Ses özellikli ve 2 portlu USB KVM switch. Ses özellikli ve 4 portlu USB KVM switch

DNA Đzolasyonu. Alkaline-SDS Plasmit Minipreleri. Miniprep ler bakteri kültüründen plasmit DNA sı izole etmenizi sağlar.

En İyi Uygulamalar ve Kullanım Kılavuzu

Verimlilik İçin ETKİN BİLGİ YÖNETİMİ. EXCEL de Etkin Kullanım için Kısayollar

Yolsuzlukla Mücadele Politikası

CMK 135 inci maddesindeki amir hükme rağmen, Mahkemenizce, sanığın telekomünikasyon yoluyla iletişiminin tespitine karar verildiği görülmüştür.

TAK & KULLAN MASAÜSTÜ 3D YAZICI

Backup Premium Hızlı Başlangıç Kullanım Kılavuzu

İşin Adı: KÜTÜPHANE ve DOKÜMANTASYON DAİRE BAŞKANLIĞI. İşin Kodu: İşi Yapan İşgörenin Bağlı Bulunduğu İlk Yönetici: Genel Sekreter Tarih:

BULUġ BĠLDĠRĠM FORMU/ GIDA

T.C. MALİYE BAKANLIĞI Maliye Yüksek Eğitim Merkezi Başkanlığı

ODTÜ KUZEY KIBRIS KAMPUSU ENERJİ TOPLULUĞU TÜZÜĞÜ

Dosya sistemi (File system), dosyaların hard disk üzerinde nasıl yerleşeceğini ayarlayan bir sistemdir. Diğer bir tanıma göre dosya sistemi, bir

AMASYA ÜNİVERSİTESİ ETİK KURUL YÖNERGESİ. BİRİNCİ BÖLÜM Amaç, Kapsam, Dayanak ve Tanımlar

İZMİR KÂTİP ÇELEBİ ÜNİVERSİTESİ ENGELSİZ ÜNİVERSİTE KOORDİNATÖRLÜĞÜ VE ENGELLİ ÖĞRENCİ BİRİMİ ÇALIŞMA USUL VE ESASLARI BİRİNCİ BÖLÜM

Topoloji değişik ağ teknolojilerinin yapısını ve çalışma şekillerini anlamada başlangıç noktasıdır.

MATEMATİK (haftalık ders sayısı 5, yıllık toplam 90 ders saati)

İçindekiler Şekiller Listesi

1. Yapılan ayarları kontrol etmek 2. Hataların doğru anlaşıldığından emin olmak 3. Donanıma uygun işletim sistemini belirlemek İŞLEM ANALİZ FORMU

Yedekleme ve Kurtarma Kullanıcı Kılavuzu

B02.8 Bölüm Değerlendirmeleri ve Özet

II. Bölüm HİDROLİK SİSTEMLERİN TANITIMI

KÜRESEL KARBONDĐOKSĐT KONSANTRASYONLARI ÖLÇÜMLERĐ ARAŞTIRMA UYDUSU OCO

Tasarım ve Planlama Eğitimi Neden Diğer Bilim Alanlarındaki Eğitime Benzemiyor?

Sıva altı montaj için Symaro sensörleri yenilikçi ve enerji verimli

BQTEK SMS Asistan. Kullanım Kılavuzu. Doküman Versiyon: BQTEK

Kaynaştırma Uygulamaları Yrd. Doç. Dr. Emre ÜNLÜ.

5. ÜNİTE KUMANDA DEVRE ŞEMALARI ÇİZİMİ

İçerik EBYS Raporlama... 2 Belge İşlemleri Raporu... 2 Birim Gelen Belge Listesi Raporu... 3 Birim Gelen Belge Sayıları Raporu... 4 Birim Giden Belge

ÇANKAYA BELEDİYE BAŞKANLIĞI STRATEJİ GELİŞTİRME MÜDÜRLÜĞÜ KURULUŞ, GÖREV, YETKİ, SORUMLULUK ÇALIŞMA USUL VE ESASLARINA İLİŞKİN YÖNETMELİK

Kurumlar İçin Belge Yönetimi ve Arşiv Sistemi (BEYAS) Modeli: Belge/Dosya Değerlendirme-Ayıklama-İmha (DAİ) Süreci Uygulaması

MAKÜ YAZ OKULU YARDIM DOKÜMANI 1. Yaz Okulu Ön Hazırlık İşlemleri (Yaz Dönemi Oidb tarafından aktifleştirildikten sonra) Son aktif ders kodlarının

META TRADER 4 MOBİL İŞLEM PLATFORMLARI KULLANMA KILAVUZU 1. KURULUM

1 Aralık E-Beyanname Modülünde Yapılan İşlemler

MAKİNE VE MOTOR DERS NOTLARI 9.HAFTA

Agarose ve Akrilamid Jellerde Nükleik asitlerin Gözlenmesi

Nedensel-Karşılaştırma Yöntemi

YÜKSEKÖĞRETİM KURUMLARI ENGELLİLER DANIŞMA VE KOORDİNASYON YÖNETMELİĞİ (1) BİRİNCİ BÖLÜM. Amaç, Kapsam, Dayanak ve Tanımlar

Tlos Lite v1.8.0 Kurulum Kılavuzu Ekim 2013

ÖZEL GÜVEN TIP MERKEZİ

Giresun Üniversitesi Akademik Değerlendirme Ve Kalite Geliştirme Uygulama Yönergesi

T.C. SOSYAL GÜVENLİK KURUMU BAŞKANLIĞI Genel Sağlık Sigortası Genel Müdürlüğü İzleme ve Değerlendirme Daire Başkanlığı

PERİYODİK KONTROL ve MUAYENE HİZMETLERİ PROSEDÜRÜ

Danışma Kurulu Tüzüğü

OTİZM NEDİR? becerilerinin oluşmasını etkileyen gelişim bozukluğudur.

ÇANKAYA BELEDİYE BAŞKANLIĞI SOSYAL YARDIM İŞLERİ MÜDÜRLÜĞÜ KURULUŞ, GÖREV, YETKİ, SORUMLULUK ÇALIŞMA USUL VE ESASLARINA İLİŞKİN YÖNETMELİK

DOKÜMAN YÖNETİM SİSTEMİ KULLANIMI GELEN EVRAK

SELÇUK ÜNİVERSİTESİ ÖĞRENCİ TOPLULUKLARI KOORDİNATÖRLÜĞÜ YÖNERGESİ

Linux ve Windows Üzerinde C ve C++ Kullanımı

HT-02 HP KABLOLU ODA TERMOSTATI KULLANMA KILAVUZU

SÖZLEŞME YÖNETİCİSİNİN GÖREVLERİ (DERS-04)

Veritabanı Risk ve Uyumluluk Yönetimi

BÖLÜM 3 FREKANS DAĞILIMLARI VE FREKANS TABLOLARININ HAZIRLANMASI

EY Eğitim Takvimi. Eylül - Aralık 2014

Linux Sistemlerde Silinmiş Dosyaları. Forensics)

BİLGİ TEKNOLOJİLERİ VE İLETİŞİM KURULU KARARI

HÂKİMLER VE SAVCILAR YÜKSEK KURULU HUKUKİ MÜZAKERE TOPLANTILARI PROJE FİŞİ

SİİRT ÜNİVERSİTESİ UZAKTAN EĞİTİM UYGULAMA VE ARAŞTIRMA MERKEZİ YÖNETMELİĞİ BİRİNCİ BÖLÜM. Amaç, Kapsam, Dayanak ve Tanımlar. Amaç

FRANCHISE. Technokids nedir

BURSA DAKİ ENBÜYÜK 250 FİRMAYA FİNANSAL ANALİZ AÇISINDAN BAKIŞ (2005) Prof.Dr.İbrahim Lazol

GENEL İLETİŞİM. Öğr.Gör.Afitap BULUT Bülent Ecevit Üniversitesi 2013

Bölüm 2 İşletim Sistemi Yapıları

Bomgar Yazılımını Yükseltme 3. Otomatik Güncellemeleri Kullanarak Tek Bir Bomgar Uygulamasını Yükseltme 5


Transkript:

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 Sistemi Örnekleri Windows XP İş Parçacıkları Linux İş Parçacıkları 14.2 Silberschatz, Galvin and Gagne 2009

Hedefler İş parçacığı kavramını tanıtmak çok işlemli bilgisayar sistemlerinde CPU kullanımını sağlayan temel birim Pthreads, Win32, ve Java iş parçacığı kütüphanelerinin tanıtımı Çok iş parçacıklı programlamada ortaya çıkan meselelerin irdelenmesi 14.3 Silberschatz, Galvin and Gagne 2009

Tek ve Çok İş Parçacıklı İşlemler 14.4 Silberschatz, Galvin and Gagne 2009

Faydalar Cevap Verebilirlik (Responsiveness) Kaynak Paylaşımı (Resource Sharing) Ekonomi (Economy) Solaris: thread creation (1/30) ve context switch (1/5) Ölçeklenebilirlik (Scalability) 14.5 Silberschatz, Galvin and Gagne 2009

Çok-çekirdekli Programlama Çok-çekirdekli sistemler programcıları çok iş parçacıklı uygulamalar yazmaya zorluyor. Bu konudaki zorluklar: Aktiviteleri bölmek (dividing activities) Denge (balance) Bilgileri Ayırmak (data splitting) Veri bağımlılığı (data dependency) Test ve Hata Ayıklama (testing and debugging) 14.6 Silberschatz, Galvin and Gagne 2009

Çok İş Parçacıklı Sunucu Mimarisi 14.7 Silberschatz, Galvin and Gagne 2009

Tek Çekirdekli Sistemde Eş Zamanlı Çalıştırma 14.8 Silberschatz, Galvin and Gagne 2009

Çok-çekirdekli Sistemde Paralel Çalıştırma 14.9 Silberschatz, Galvin and Gagne 2009

Kullanıcı İş Parçacıkları İş parçacığı yönetimi kullanıcı seviyesinde tanımlı iş parçacığı kütüphaneleri ile sağlanır Üç ana iş parçacığı kütüphanesi: POSIX Pthreads Win32 iş parçacıkları Java iş parçacıkları 14.10 Silberschatz, Galvin and Gagne 2009

Çekirdek İş Parçacıkları Çekirdek tarafından desteklenirler Örnekler Windows XP/2000 Solaris Linux Tru64 UNIX Mac OS X 14.11 Silberschatz, Galvin and Gagne 2009

Çoklu İş Parçacığı Modelleri Çoktan-Teke (Many-to-One) Teke-Tek (One-to-One) Çoktan-Çoka (Many-to-Many) 14.12 Silberschatz, Galvin and Gagne 2009

Çoktan-Teke (Many-to-One) Pek çok kullanıcı seviyesindeki iş parçacığı tek bir çekirdek iş parçacığı ile eşleşir Örnekler: Solaris Green Threads GNU Portable Threads 14.13 Silberschatz, Galvin and Gagne 2009

Çoktan-Teke (Many-to-One) Model 14.14 Silberschatz, Galvin and Gagne 2009

Teke-Tek (One-to-One) Her bir kullanıcı seviyesi iş parçacığı tek bir çekirdek iş parçacığı ile eşleşir Örnekler Windows NT/XP/2000 Linux Solaris 9 ve sonrası 14.15 Silberschatz, Galvin and Gagne 2009

Teke-Tek (One-to-One) Model 14.16 Silberschatz, Galvin and Gagne 2009

Çoktan-Çoka (Many-to-Many) Pek çok kullanıcı seviyesi iş parçacığı pek çok çekirdek iş parçacığı ile eşleşir İşletim sisteminin yeterince çekirdek iş parçacığı oluşturmasını sağlar Solaris in version 9 a kadar olan versiyonları ThreadFiber paketi ile Windows NT/2000 14.17 Silberschatz, Galvin and Gagne 2009

Çoktan-Çoka (Many-to-Many) Model 14.18 Silberschatz, Galvin and Gagne 2009

İki-seviye Model M:M e benzer. Farklı olarak kullanıcı iş parçacığının çekirdek iş parçasına bağlanmasına izin verir (bound to kernel thread) Örnekler IRIX HP-UX Tru64 UNIX Solaris 8 ve öncesi 14.19 Silberschatz, Galvin and Gagne 2009

İki-seviye Model 14.20 Silberschatz, Galvin and Gagne 2009

İş Parçacığı Kütüphaneleri İş parçacığı kütüphanesi programcıya iş parçacıklarının oluşturulmasını ve yönetilmesini sağlayan bir API sunar Gerçekleştirim için iki temel yol Kütüphane tamamen kullanıcı alanında İşletim sistemi tarafından desteklenen çekirdek seviyesinde kütüphane 14.21 Silberschatz, Galvin and Gagne 2009

Pthreads Kullanıcı seviyesinde veya çekirdek seviyesinde sunulabilir İş parçacığı oluşturmak ve iş parçacıklarının senkronizasyonunu sağlamak için bir POSIX standardı (IEEE 1003.1c) API iş parçacığı kütüphanesinin davranışını tanımlıyor. Gerçekleştirim kütüphanenin gerçekleştirimine bağlı UNIX işletim sistemlerinde genel olarak kullanılıyor (Solaris, Linux, Mac OS X) 14.22 Silberschatz, Galvin and Gagne 2009

Java İş Parçacıkları Java iş parçacıkları JVM tarafından yönetilir Java iş parçacıkları oluşturmanın bir yolu Runnable arayüzünü gerçekleştirmektir 14.23 Silberschatz, Galvin and Gagne 2009

Java İş Parçacıkları Örnek Program 14.24 Silberschatz, Galvin and Gagne 2009

Java İş Parçacıkları Örnek Program 14.25 Silberschatz, Galvin and Gagne 2009

Java İş Parçacığı Durumları 14.26 Silberschatz, Galvin and Gagne 2009

Üretici-Tüketici Problemi Çözümü 14.27 Silberschatz, Galvin and Gagne 2009

Üretici İş Parçacığı 14.28 Silberschatz, Galvin and Gagne 2009

Tüketici İş Parçacığı 14.29 Silberschatz, Galvin and Gagne 2009

İş Parçacıkları ile İlgili Mevzular fork() ve exec() sistem çağrılarının anlamı Hedef iş parçacığının iptali Asenkron veya ertelenen Sinyal işleme İş parçacığı havuzları İş parçacığına özgü veri 14.30 Silberschatz, Galvin and Gagne 2009

fork() ve exec() Sistem Çağrılarının Anlamı fork() çağıran iş parçacığının mı yoksa tüm iş parçacıklarının mı kopyasını oluşturur? 14.31 Silberschatz, Galvin and Gagne 2009

İş Parçacığı İptali Bir iş parçacığının işi bitmeden sonlandırılması İki genel yaklaşım: Asenkron iptal hedef iş parçacığını anında iptal eder Ertelenen iptal hedef iş parçacığının düzenli olarak iptal edilmesi gerekip gerkmediğini kontrol etmesini sağlar 14.32 Silberschatz, Galvin and Gagne 2009

Sinyal İşleme Sinyaller UNIX sistemlerde belirli bir işlemi, bir olayın gerçekleştiğine dair bilgilendirmekte kullanılır Sinyalleri işlemek için bir sinyal işleyici (signal handler) kullanılır 1. Belirli bir olaydan dolayı bir sinyal oluşturulur 2. Sinyal işleme iletilir 3. Sinyal işlem tarafından işlenir Çok iş parçacıklı sistemlerde seçenekler: Sinyali sadece ilgili iş parçacığına ilet Sinyali işlemdeki tüm iş parçacıklarına ilet Sinyali işlemdeki belli iş parçacıklarına ilet Sinyalleri işlemek için belli bir iş parçacığını görevlendir 14.33 Silberschatz, Galvin and Gagne 2009

İş Parçacığı Havuzları Bir havuzda, kendilerine atanacak işleri beklemek üzere belli sayıda iş parçacığı oluştur Avantajlar: Genellikle varolan bir iş parçacığı ile bir isteği gerçekleştirmek, yeni bir iş parçacığı oluşturarak gerçekleştirmekten biraz daha hızlı Uygulamalardaki iş parçacıklarının sayısı iş parçacığı havuzunun boyutu ile sınırlandırılır 14.34 Silberschatz, Galvin and Gagne 2009

İş Parçacığına Özgü Veri Her bir iş parçacığının kendi verilerine sahip olmasına izin verir İş parçacığı oluşturma sürecinde kontrolünüz olmadığında (örn: Java da iş parçacığı havuzu kullanıldığında) işe yarar 14.35 Silberschatz, Galvin and Gagne 2009

İşletim Sistemi Örnekleri Windows XP iş parçacıkları Linux iş parçacıkları 14.36 Silberschatz, Galvin and Gagne 2009

Windows XP İş Parçacıkları Birer-bir modeli çekirdek seviyesinde gerçekleştirir Her bir iş parçacığı aşağıdakilere sahiptir İş parçacığı numarası (thread id) Yazmaç kümesi (register set) Ayrı kullanıcı ve çekirdek yığınları (stacks) Özel veri saklama alanı Yazmaç kümesi, yığınlar ve özel veri saklama alanı iş parçacıklarının ortamı (context) olarak da bilinir Bir iş parçacığının temel veri yapıları: ETHREAD (executive thread block) KTHREAD (kernel thread block) TEB (thread environment block) 14.37 Silberschatz, Galvin and Gagne 2009

Windows XP İş Parçacıkları 14.38 Silberschatz, Galvin and Gagne 2009

Linux İş Parçacıkları Linux, iş parçacığı (threads) yerine görev (task) kavramını kullanır Yeni iş parçacığı oluşturma clone() sistem çağrısı ile gerçekleştirilir clone() çocuk görevin, ana görevin (process) adres uzayını kullanmasına izin verir 14.39 Silberschatz, Galvin and Gagne 2009

Linux İş Parçacıkları - Flags 14.40 Silberschatz, Galvin and Gagne 2009