Kamis, 02 April 2009

Threads

Threads

Tinjauan
  • Overview

  • Multithreading Models

  • Thread Libraries

  • Threading Issues

  • Operating System Examples

  • Windows XP Threads

  • Linux Threads

Tujuan
  • Untuk memperkenalkan suatu thread, suatu satuan dasar pemanfaatan CPU yang membentuk basis dari sistem komputer multithreaded.

  • Untuk mendiskusikan APIS untuk Pthreads, Win32, dan Java thread libraries.

  • Untuk menguji isu yang berhubungan dengan multithreaded program.

Manfaat

  • - Respon

  • - Berbagi sumber daya

  • - Ekonomi

  • - Skalabilitas

Multicore Programming

Multicore sistem yang mendesak para programmer, kegiatannya meliputi:

  • Pembagian aktivitas

  • Penyesuaian

  • Pemisahan data

  • Ketergantungan data

  • Uji dan debugging

Pengguna Threads

Thread manajemen yang dilaksanakan oleh user-level thread library

Tiga thread library utama:
  • POSIX Pthreads

  • Win32 thread

  • Java Threads4.11 S

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 user-level thread yang dipetakan ke kernel thread

Contoh:

  • Solaris Green Threads

  • GNU Portable Threads

Model Banyak ke Satu



Satu ke Satu
Masing-Masing user-level thread memetakan ke kernel thread

Contoh:

  • Windows NT/XP/2000

  • Linux

  • Solaris 9 and later

Model Satu ke Satu



Banyak ke Banyak

  • Membolehkan banyak tingkatan pemakai thread untuk dipetakan ke banyak kernel thread.

  • Membolehkan sistem operasi untuk menciptakan suatu jumlah cukup kernel thread.

  • Solaris sebelum versi 9.

  • Windows NT/2000 dengan Threadfiber paket.

Model Banyak ke Banyak


Two-level Model

  • Serupa dengan Banyak ke Banyak, jika tidak mengijinkan seorang pemakai thread untuk menjadi yang terikat harus kernel thread.

  • Contoh:

  • IRIX

  • HP-UX

  • Tru64 UNIX

  • Solaris 8 and earlier


Thread Libraries

  • Thread library menyediakan programmer dengan API untuk menciptakan dan memanage thread

  • Dua cara utama dalam menerapkan

  • Library seluruhnya di dalam user space

  • Kernel-Level library yang didukung oleh OS


Pthreads

  • Mungkin disediakan baik sebagai user-level atau kernel-level

  • Suatu POSIX standard ( IEEE 1003.1c) API untuk ciptaan thread dan sinkronisasi

  • API menetapkan perilaku meliputi thread library, implementasi sampai kepada pengembangan library

  • umum Di (dalam) sistem operasi UNIX ( Solaris, Linux, Mac OS X)


Java Threads

  • Java Threads diatur oleh JVM

  • secara khas Diterapkan menggunakan model Thread yang disajikan oleh dasar OS

  • Java Threads mungkin dibuat oleh:

  • Memperpanjang thread Kelas

  • Perapkan alat penghubung Yang Runnable

Threading Issues

  • Ilmu semantik garpu() dan exec() sistem [panggil/hubungi]

  • Susupkan pembatalan thread target

  • Ditunda atau Tak serempak

  • Isyarat [yang] menangani

  • thread Kolam

  • Data Thread-specific

  • Scheduler pengaktifan


Thread Pembatalan

  • Pengakhiran suatu Thread sebelum selesai

  • Dua pendekatan umum:

  • Pembatalan tak serempak dengan mengakhiri target dengan seketika

  • Pembatalan yang ditunda, mengijinkan target untuk menyusup pada waktu tertentu untuk memeriksa jika harus ditunda.

Penanganan Isyarat

  • Isyarat digunakan dalam sistem UNIX untuk memberitahu suatu proses tertentu yang telah terjadi

  • Suatu Penanganan Isyarat digunakan untuk memproses isyarat

  1. Isyarat dihasilkan oleh peristiwa tertentu

  2. Isyarat dikirimkan untuk suatu proses

  3. Isyarat ditangani

  • Pilihan:

  • Isyarat kepada thread untuk mana isyarat [menerapkan/berlaku]

  • Isyarat [bagi/kepada] tiap-tiap thread di (dalam) proses

  • Isyarat ke thread tertentu di (dalam) proses

  • Nugaskan suatu threa spesifik untuk menerima semua isyarat untuk proses

Thread Pools

  • Membuat sejumlah thread di suatu kolam untuk mereka menunggu pekerjaan

  • Keuntungan:

  • Pada umumnya sedikit lebih cepat untuk melayani suatu permintaan dengan suatu thread yang sudah ada dibanding menciptakan suatu thread baru.

  • Mengijinkan banyak thread di dalam aplikasi untuk menjadi yang trikat harus ukuran dari tempatnya.

Thread data Spesifik

  • Mengijinkan masing-masing thread untuk mempunyai salinan sendiri data

  • Bermanfaat Ketika kamu tidak mempunyai kendali atas thread proses

Scheduler Pengaktifan

  • Kedua-Duanya, Banyak ke Banyak dan Two-Level model memerlukan komunikasi untuk memelihara, sesuai jumlah thread inti untuk mengalokasikan kepada aplikasi.

  • Scheduler pengaktifan menyediakan upcalls- suatu mekanisme komunikasi dari inti kepada thread library.

Contoh Operasi Sistem

Windows XP Thread





  • Komunikasi ini mengijinkan suatu aplikasi untuk memelihara nomor yang benar dari kernel thread.

  • Implementasi pemetaan satu ke satu, kernel-level

  • Masing-Masing thread berisi

  • Sebuah Thread id

  • Register Set

  • Pemisah pengguna dan Susunan kernel

  • Area penyimpanan data pribadi

  • Register Set, Susunan, dan kawasan Area penyimpanan data pribadi yang dikenal adalah konteks dari thread

  • Struktur data primer merupakan suatu thread termasuk:

  • ETHREAD ( blok thread eksekutif)

  • KTHREAD ( blok thread inti)

  • TEB ( menyusupkan blok lingkungan)

Linux Thread

    • Linux mengacu sebagai task bukan thread

    • Thread diciptakan sudah melalui clone() system call

    • Clone() mengijinkan turunan tugas untuk berbagi ruang alamat dari tugas induk



Rabu, 11 Maret 2009

tugas Operasi Sistem

1. Sebutkan dan jelaskan 3 komponen utama sebuah mesin komputer

a. Hardware adalah Perangkat keras pada sebuah computer, hardware Merupakan peralatan fisik dari komputer yang dapat kita lihat dan rasakan, contohnya: CPU, RAM, Matherboard dll,

b. Software adalah Perangkat lunak pada sebuah computer, merupakan program-program komputer yang berguna untuk menjalankan suatu pekerjaan sesuai dengan yang dikehendaki. Program tersebut ditulis dengan bahasa khusus yang dimengerti oleh komputer., contohnya: sofware aplikasi, dan sofware pada sebuah program,

c. Brainware adalah adalah personil-personil yang terlibat langsung dalam pemakaian komputer, seperti Sistem analis, programmer, operator, user, dll..


2. Sebutkan dan jelaskan 3 komponen sebuah CPU (Central Processing Unit)

a. CU singkatan dari Control Unit, merupakan komponen utama prosesor yang mengontrol semua perangkat yang terpasang pada komputer, mulai dari input device sampai output device.

b. ALU singkatan dari Aritmatic Logic Unit, yang merupakan bagian dari prosesor yang khusus mengolah data aritmatika (menambah, mengurang dll) serta data logika (perbandingan)

c. Register adalah Tempat menyimpan sementara program yang sedang berjalan.


3. Jelaskan 4 definisi sebuah sistem operasi:

a. Program yang di design untuk bisa diatur dalam pengalokasian sumber daya komputer,

b. Merupakan lingkungan execusi untuk program diatasnya,

c. Program yang memudahkan komputer untuk mudah dipakai ,

d. Program yang memungkinkan efisien dalam pemakaiannya,

4. Jelaskan dengan lengkap process booting (start) komputer

Pada saat komputer dihidupkan, processor menjalankan BIOS, kemudian BIOS melakukan POST (power-on-self test), yaitu memeriksa atau mengecek semua hardware yang ada. Proses ini disebut Inisialisasi. BIOS akan mengecek dan menyimpan konfigurasi hardware, seperti : jenis monitor, jumlah memori internal tersedia, seting resolusi spasial dan resolusi warna monitor, kemudian akan mencari disk boot untuk menjalankan sistem operasi, serta me-load sistem operasi. Sistem operasi berjalan dan siap digunakan.


5. Jelaskan istilah-istilah dibawah ini:

a. Computer user: Pengguna atau brainware,

b. Application program: Program komputer yang dibuat untuk mengerjakan atau menyelesaikan masalah-masalah khusus,

c. Compiler: Program yang menerjemahkan serangkaian perintah ke dalam bahasa mesin. Sekali program dikompilasi, program tersebut dapat dijalankan sesering mungkin tanpa harus mengulang proses kompilasi, kecuali jika terjadi perubahan pada program sumber.Adalah program sistem yang digunakan sebagai alat bantu dalam pemrogaman.Perangkat lunak yang melakukan proses penterjemahan code (dibuat programmer) ke dalam bahasa mesin. Hasil dari terjemahan ini adalah bahasa mesin. Pada beberapa compiler output berupa bahasa mesin dilaksanakan dengan proses assembler yang berbeda.

d. Computer library ;

e. Shell : Program yang mem-provide interface antar user dan sistem operasi. Shell memaintain desktop atau graphical user interface, sell dibagi menjadi dua yaitu CLI dan GUI,

f. System call : Adalah jembatan penghubung dalam proses- proses pada sebuah sistem oprasi.

6. Jelaskan hubungan dari istilah-istilah di atas (no.5) sehingga dapat menjelaskan sebuah struktur sistem operasi.

Sistem operasi merupakan suatu software yang berfungsi untuk mengaktifkan seluruh perangkat yang terpasang pada komputer, sehingga masing-masing sofware dapat saling berkomunikasi satu sama lainnya. Pengertian umum sistem operasi (OS) adalah mengelola sluruh sumber daya komputer yang terdapat pada sistem komputer dan menyediakan sekumpulan layanan ke pengguna sehingga memudahkan dan kenyamanan pengguna serta pemanfaatan sumber daya komputer atau Program yang di design untuk bisa diatur dalam pengalokasian sumber daya komputer.