all about me

translation of thread

  • on Kamis, 02 April 2009
  • BAB 4

    URUTAN

    Tinjauan

    • Multithreading Models
    • Perpustakaan thread
    • Isu Threading
    • Contoh Sistem Operasi
    • Windows XP Threads
    • Linux Threads

    Tujuan
    Untuk memperkenalkan gagasan dari thread-mendasar unit CPU pemanfaatan yang membentuk dasar dari sistem komputer multithreaded untuk mendiskusikan API untuk Pthreads, Win32, dan Jawa thread perpustakaan-Untuk meneliti masalah yang berkaitan dengan program multithreaded

    Manfaat

    • Respon
    • Berbagi sumber daya
    • Ekonomi
    • Skalabilitas

    Multicore Pemrograman
    Multicoresystems meletakkan tekanan pada program, termasuk tantangan

    • Dividing kegiatan
    • Keseimbangan
    • Data menggelikan
    • Ketergantungan data
    • Testing dan debugging

    Pengguna Threads
    Manajemen thread dilakukan oleh user level threads perpustakaan
    Tiga utama perpustakaan thread:

    • POSIX Pthreads
    • Win32 threads
    • Java threads

    Kernel Threads
    Didukung oleh Kernel
    Contoh:

    • Windows XP/2000
    • Solaris
    • Linux
    • Tru64 UNIX
    • Mac OS X

    Multithreading Models

    • Banyak-ke-Satu
    • Satu-ke-Satu
    • Banyak-ke-Banyak

    Banyak-ke-Satu
    Banyak pengguna level thread dipetakan ke kernel thread tunggal
    Contoh:

    • Solaris Green Threads
    • GNU Portable Threads

    Satu-ke-Satu
    Setiap user-level thread ke kernel thread peta
    Contoh:

    • Windows NT/XP/2000
    • Linux
    • Solaris 9 dan kemudian

    Banyak-ke-Banyak Model

    • Memungkinkan banyak pengguna tingkat benang yang akan dipetakan ke banyak kernel threads
    • Memungkinkan sistem operasi yang cukup untuk membuat jumlah kernel threads
    • Solaris sebelum versi 9
    • Windows NT/2000 dengan ThreadFiberpackage

    Model dua-tingkat
    Mirip dengan M: M, kecuali yang memungkinkan pengguna untuk boundto thread kernel thread
    Contoh

    • IRIX
    • HP-UX
    • Tru64 UNIX
    • Solaris 8 dan sebelumnya

    Perpustakaan thread

    Thread perpustakaan programmer dengan menyediakan API untuk membuat dan mengelola threads

    Dua cara utama pelaksanaan

    1. Perpustakaan pengguna sepenuhnya dalam ruang
    2. Kernel level perpustakaan didukung oleh OS

    Pthreads

    • Dapat diberikan sebagai salah satu pengguna atau kernel-tingkat-tingkat
    • J POSIX standard (IEEE 1003.1c) API untuk pembuatan thread dan sinkronisasi
    • API menentukan perilaku urutan perpustakaan, pelaksanaan adalah sampai dengan perkembangan perpustakaan
    • Umum dalam sistem operasi UNIX (Solaris, Linux, Mac OS X)

    Java Threads

    • Java threads dikelola oleh JVM
    • Biasanya dilaksanakan dengan menggunakan benang model yang disediakan oleh OS
    • Java threads dapat dibuat oleh:
    1. Memperluas kelas Thread
    2. Pelaksanaan Runnableinterface

    Isu Threading

    • Semantik dari fork () dan exec () system calls
    • Thread pembatalan target thread
      Asynchronous atau ditunda
    • Sinyal penanganan
    • Thread renang
    • Thread-data spesifik
    • Penjadwal activations

      Semantik dari fork () dan exec ()
      Apakah fork () sama saja atau semua panggilan thread threads?

    Pembatalan thread

    • Terminating sebuah thread sebelum selesai
    • Dua pendekatan umum:
    1. Asynchronous cancellation terminates target thread segera
    2. Differed  cancellation mengikuti target secara berkala memeriksa apakah harus dibatalkan

    Penanganan sinyal

    • Sinyal digunakan di sistem UNIX untuk memberitahukan bahwa suatu proses tertentu telah terjadi
      penangan sinyal digunakan untuk proses sinyal
      1. Sinyal yang dihasilkan oleh peristiwa tertentu
      2. Sinyal yang dikirimkan ke proses
      3. Sinyal ditangani
    • Pilihan:
      Memberikan sinyal pada urutan ke sinyal yang berlaku
      Memberikan sinyal ke setiap thread dalam proses
      Memberikan sinyal ke thread tertentu dalam proses
      Menetapkan tertentu threato menerima sinyal untuk semua proses

    Thread Pools

    • Buat jumlah benang dalam sebuah kolam di mana mereka bekerja menunggu
    • Keuntungan:
      1. Biasanya sedikit lebih cepat ke layanan dengan permintaan yang ada daripada membuat     thread baru thread
      2. Memungkinkan jumlah benang dalam aplikasi (s) untuk terikat dengan ukuran renang

    Thread Data Spesifik

    • memungkinkan setiap thread untuk memiliki salinan data
    • berguna bila anda tidak memiliki kontrol atas urutan proses penciptaan (misalnya bila menggunakan thread renang) 

    Penjadwal Activations

    • Kedua M: M dan Dua level model memerlukan komunikasi yang sesuai untuk mempertahankan jumlah kernel threads dialokasikan untuk aplikasi
    • Penjadwal upcalls-activations menyediakan sebuah mekanisme komunikasi dari kernel thread ke perpustakaan
    • Komunikasi ini memungkinkan aplikasi untuk mempertahankan correctnumber kernel threads

    Contoh Sistem Operasi

    1. Windows XP Threads
    2. Thread Linux

    Windows XP Threads

    • Melaksanakan satu-ke-satu pemetaan, kernel-tingkat
      Setiap thread berisi:
      1. J thread id
      2. Daftar menetapkan
      3. Terpisah user dan kernel susunan
      4. Tempat penyimpanan data pribadi
    • Register set, susunan, dan tempat penyimpanan pribadi yang dikenal sebagai konteks kehidupan

    • Struktur utama data dari thread termasuk:
      1. ETHREAD (eksekutif thread blok)
      2. KTHREAD (kernel thread blok)
      3. TEB (thread lingkungan blok)

    Linux Threads

    • Linux merujuk kepada mereka sebagai tasksrather dari benang
    • Thread dilakukan melalui penciptaan clone () sistem panggilan
    • clone () memungkinkan seorang anak tugas untuk berbagi ruang alamat orang tua tugas (proses)


    0 komentar:

    Posting Komentar