200 likes | 295 Views
Chapter 5: Threads (İş Parçacıkları). Overview (Genel Bakış) Multithreading Models (Çoklu Thread Modelleri) Threading Issues (Thread Sorunları) Pthreads (Pthreadler) Solaris 2 Threads (Solaris 2 Threadleri) Windows 2000 Threads (Windows 2000 Threadleri) Linux Threads (Linux Threadleri)
E N D
Chapter 5: Threads(İş Parçacıkları) • Overview(Genel Bakış) • Multithreading Models(Çoklu Thread Modelleri) • Threading Issues(Thread Sorunları) • Pthreads(Pthreadler) • Solaris 2 Threads(Solaris 2 Threadleri) • Windows 2000 Threads(Windows 2000 Threadleri) • Linux Threads(Linux Threadleri) • Java Threads(Java Threadleri) Operating System Concepts
Single and Multithreaded Processes(Tek ve Çoklu Thread Süreçleri) Operating System Concepts
Benefits (Faydaları) • Responsiveness(Yanıt verme kabiliyeti) • Resource Sharing(Kaynak Paylaşımı) • Economy(Ekonomik) • Utilization of MP Architectures(MP Mimarilerinin kullanımı) Operating System Concepts
User Threads(Kullanıcı Threadleri) • Thread management done by user-level threads library(Thread yönetimi kullanıcı-seviye threadleri kütüphanesi tarafından yapılır.) • Examples(Örnekler) - POSIX Pthreads(POSIX Pthreadleri) - Mach C-threads(Mach C-threadleri) - Solaris threads(Solaris threadleri) Operating System Concepts
Kernel Threads(Çekirdek Thredleri) • Supported by the Kernel(Çekirdek tarafından desteklenir) • Examples(Örnekler) - Windows 95/98/NT/2000 - Solaris - Tru64 UNIX - BeOS - Linux Operating System Concepts
Multithreading Models(Çoklu Thread Modelleri) • Many-to-One(Çoka Bir) • One-to-One(Bire Bir) • Many-to-Many(Çoka Çok) Operating System Concepts
Many-to-One(Çoka Bir) • Many user-level threads mapped to single kernel thread.(Çok sayıda kullanıcı-seviye threadleri tek çekirdek thread’i ile eşlenir.) • Used on systems that do not support kernel threads.(Çekirdek threadlerini desteklemeyen sistemlerde kullanılır.) Operating System Concepts
Many-to-One Model(Çoka Bir Modeli) Operating System Concepts
One-to-One(Bire Bir) • Each user-level thread maps to kernel thread.(Her kullanıcı-seviye thread’i çekirdek thread’i ile eşlenir.) • Examples(Örnekler) - Windows 95/98/NT/2000 - OS/2 Operating System Concepts
One-to-one Model (Bire Bir Modeli) Operating System Concepts
Many-to-Many Model(Çoka Çok Modeli) • Allows many user level threads to be mapped to many kernel threads.(Çok sayıda kullanıcı-seviye threadlerinin, çok sayıda çekirdek threadleri ile eşleşmesini sağlar.) • Allows the operating system to create a sufficient number of kernel threads.(İşletim sisteminin yeterli sayıda çekirdek threadi oluşturmasını sağlar. ) • Solaris 2 • Windows NT/2000 with the ThreadFiber package(ThreadFiberpaketi ile Windows NT/2000) Operating System Concepts
Many-to-Many Model (Çoka Çok Modeli) Operating System Concepts
Threading Issues(Threading Sorunları) • Semantics of fork() and exec() system calls(fork() ve exec() sistem çağrılarının semantiği) • Thread cancellation(Thread iptal etme) • Signal handling(Sinyal işleme) • Thread pools(Thread havuzları) • Thread specific data(Thread özel verisi) Operating System Concepts
Pthreads • a POSIX standard (IEEE 1003.1c) API for thread creation and synchronization.(Thread yaratma ve senkronizasyon için bir POSIX standartı(IEEE 1003.1c) vardır.) • API specifies behavior of the thread library, implementation is up to development of the library.(API thread kütüphanesinin davranışını belirtir, uygulama kütüphanenin gelişmesine bağlıdır.) • Common in UNIX operating systems.(Unix işletim sistemlerinde yaygın olarak kullanılır) Operating System Concepts
Solaris 2 Threads(Solaris 2 Threadleri) Operating System Concepts
Solaris Process(Solaris Süreci) Operating System Concepts
Windows 2000 Threads(Windows 2000 Threadleri) • Implements the one-to-one mapping.(Bire Bir eşlemede uygulanır.) • Each thread contains(her thread şu özellikleri içerir) - a thread id(thread id’si) - register set(belirlenen kayıt) - separate user and kernel stacks(ayrı kullanıcı ve çekirdek yığınları ) - private data storage area(özel veri depolama alanı) Operating System Concepts
Linux Threads(Linux Threadleri) • Linux refers to them as tasks rather than threads.(Linux onları threadler yerine görevler olarak içerir) • Thread creation is done through clone() system call.(Thread oluşturulması clone() sistem çağrısı tarafından yapılır) • Clone() allows a child task to share the address space of the parent task (process)(Clone() çocuk görevin, ana görevin adres alanını paylaşmasını sağlar.) Operating System Concepts
Java Threads(Java Threadleri) • Java threads may be created by:(Java threadleri aşağıdakiler tarafından oluşturulabilir:) • Extending Thread class(Thread sınıfına uzanma) • Implementing the Runnable interface(Çalıştırılabilir ara yüzleri yürütme) • Java threads are managed by the JVM.(Java threadleri JVM tarafından yönetilir.) Operating System Concepts
Java Thread States(Java Thread Durumu) Operating System Concepts