• Tidak ada hasil yang ditemukan

MAKALAH SISTEM OPERASI THREAD CANCELLATI

N/A
N/A
Protected

Academic year: 2018

Membagikan "MAKALAH SISTEM OPERASI THREAD CANCELLATI"

Copied!
13
0
0

Teks penuh

(1)

MAKALAH SISTEM OPERASI

THREAD CANCELLATION

NAMA KELOMPOK :

AHMAD SIDQI M. [1534010090]

MURNI YOSEP [1534010091]

TISCHA JURISA R. [1534010098]

LISA AULIA FAUZI [1534010119]

RAY VICTOR PANJAITAN [1534010121]

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS ILMU KOMPUTER

UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN”

JAWA TIMUR

(2)

KATA PEGANTAR

Puji syukur kehadirat Tuhan Yang Maha Esa atas segala rahmatNya sehingga makalah ni dapat tersusun hingga selesai. Tidak lupa kami juga mengucapkan banyak terimakasih atas bantuan dari pihak yang telah berkontrubusi dengan mmberikan sumbangan baik materi maupun pikirannya.

Dan harapan kami semoga makalah kami ini dapat menambah pengetahuan dan pengalaman bagi para pembaca. Untuk ke depannya dapat memperbaiki bentuk maupun menambah isi makalah agar menjadi lebih baik lagi.

Karena keterbatasan pengetahuan maupun pengalaman kami, kami yakin masih banyak kekurangan dalam makalah ini, oleh karena itu kami sangat mengharapkan saran dan kritik yang membangun dari pembaca demi kesempurnaan makalah ini.

Surabaya, 20 September 2016

Penyusun

(3)

DAFTAR ISI

Kata Pengantar...I Daftar Isi...II

Pendahuluan………...1

Pembahasan………...2

Isi………...3

Makalah 1………...3

Makalah 2………...4

Paper 1...5

Paper 2………...6

Perbandingan Paper 1 dan Paper 2...8

Kesimpulan………...9

Daftar Pustaka………...10

(4)

PENDAHULUAN

Thread adalah unit terkecil dari eksekusi suatu program. Thread mengeksekusi rangkaian instruksi satu demi satu. Ketika sistem menjalankan program, komputer akan membuat thread baru. (Thread dalam konteks ini disebut proses, akan tetapi perbedaanya tidank penting di sini). Instruksi-instruksi dalam program akan dieksekusi oleh thread ini secara berantai, satu demi satu dari awal hingga akhir. Thread disebut "mati" jika program selesai dieksekusi.

Dalam sistem komputer modern, beberapa thread bisa tercipta dalam satu waktu. Pada satu saat tertentu, hanya ada satu thread yang bisa dijalankan, karena CPU hanya bisa melakukan satu hal dalam satu waktu. (Pada komputer dengan multiprosesor,

multicore, dan hyper-threading, masing-masing prosesor atau core melakukan thread

yang berbeda-beda). Akan tetapi sebenarnya komputer membagi waktu menjadi bagian-bagian kecil sehingga seolah-olah seluruh thread dijalankan secara bersama-sama. Pembagian waktu berarti CPU mengeksekusi suatu thread dalam kurun waktu tertentu, setelah itu beralih mengeksekusi thread yang lain, kemudian thread lain, dan seterusnya dan kemudian kembali ke thread pertama -- kira-kira 100 kali per detik. Di mata user, semua thread berjalan pada saat yang sama.

Java bisa membuat satu atau lebih thread yang bisa dijalankan secara paralel. Hal ini adalah bagian mendasar, yang dibuat di dalam core bahasa, bukan merupakan tambahan (add-on) seperti bahasa pemrograman lain. Tetap saja pemrogaman dengan banyak thread adalah sesuatu yang tidak mudah.

Penggunaan thread yang banyak digunakan untuk membuat GUI (Graphical User Interface) yang responsif. Pada dasarnya suatu program harus dapat terus bejalan dan pada saat yang sama tetap bisa menerima input dari user, menanggapi klik mouse, dan sebagainya.

(5)

PEMBAHASAN

Thread adalah sebuah alur kontrol dari sebuah proses. Kontrol single thread hanya memungkinkan proses untuk menjalankan satu tugas pada satu waktu. Banyak sistem operasi modern telah memiliki konsep yang dikembangkan agar memungkinkan sebuah proses untuk memiliki eksekusi multi-threads, agar dapat secara terus menerus mengetik dan menjalankan pemeriksaan ejaan didalam proses yang sama, maka sistem operasi tersebut memungkinkan proses untuk menjalankan lebih dari satu tugas pada satu waktu.

Suatu proses yang multithreaded mengandung beberapa perbedaan alur kontrol dengan ruang alamat yang sama. Keuntungan dari multithreaded meliputi peningkatan respon dari user, pembagian sumber daya proses, ekonomis, dan kemampuan untuk mengambil keuntungan dari arsitektur multiprosesor.

Thread merupakan unit dasar dari useran CPU, yang terdiri dari Thread_ID, program counter , register set, dan stack. Sebuah thread berbagi code section, data section, dan sumber daya sistem operasi dengan thread lain yang dimiliki oleh proses yang sama. Thread juga sering disebut lightweight process.

1

(6)

ISI

Makalah 1 :

Thread cancellation adalah tugas untuk memberhentikan thread sebelum ia menyelesaikan tugasnya. Sebagi contohnya jika dalam program java kita hendak mematikan JVM (Java Virtual Machine) maka sebelum JVM-nya dimatikan maka seluruh thread yang berjalan dihentikan terlebuh dahulu. Thread yang akan diberhentikan biasa disebut target thread.

Pemberhentian target thread bisa terjadi melalui 2 cara yang berbeda :

1. Asynchronous cancellation: suatu thread seketika itu juga memberhentikan target thread. 2. Defered cancellation: target thread secara perodik memeriksa apakah dia harus berhenti,

cara ini memperbolehkan target thread untuk memberhentikan dirinya sendiri secara terurut. Hal yang sulit dari pemberhentian thread ini adalah ketika terjadi situasi dimana sumber daya sudah dialokasikan untuk thread yang akan diberhentikan. Selain itu kesulitan lain adalah ketika thread yang diberhentikan sedang meng-update data yang ia bagi dengan thread lain. Hal ini akan menjadi masalah yang sulit apabila digunakan asynchronous cancellation. Sistem operasi akan mengambil kembali sumber daya dari thread yang diberhentikan tetapi seringkali sistem operasi tidak mengambil kembali semua sumber daya dari thread yang diberhentikan.

Alternatifnya adalah dengan menggunakan deffered cancellation. Cara kerja dari deffered cancellation adalah dengan menggunakan 1 thread yang berfungsi sebagai pengindikasi bahwa target thread hendak diberhentikan. Tetapi pemberhentian hanya akan terjadi jika target thread memeriksa apakah ia harus berhenti atau tidak. Hal ini memperbolehkan thread untuk memeriksa apakah ia harus berhenti pada waktu dimana ia bisa diberhentikan secara aman yang aman. Pthread merujuk tersebut sebagai cancellation points .

Pada umumnya sistem operasi memperbolehkan proses atau thread untuk diberhentikan secara asynchronous. Tetapi Pthread API menyediakan deferred cancellation. Hal ini berarti sistem operasi yang mengimplementasikan Pthread API akan mengijinkan deferred cancellation.

(7)

Makalah 2 :

Thread adalah sebuah alur kontrol dari sebuah proses. Thread terbagi menjadi dua jenis yaitu Single Thread dan Multithread. Dilihat dari kegunaannya multithread adalah thread yang paling banyak dipakai akhir-akhir ini. Suatu proses yang multithreaded mengandung beberapa perbedaan alur kontrol dengan ruang alamat yang sama. Keuntungan dari multithreaded meliputi peningkatan respon dari user, pembagian sumber daya proses, ekonomis, dan kemampuan untuk mengambil keuntungan dari arsitektur multiprosesor. User level thread adalah thread yang tampak oleh programmer dan tidak diketahui oleh kernel. User level thread secara tipikal dikelola oleh sebuah library thread di ruang user. Kernel level thread didukung dan dikelola oleh kernel sistem operasi. Secara umum, user level thread lebih cepat dalam pembuatan dan pengelolaan dari pada kernel thread. Ada tiga perbedaan tipe dari model yang berhubungan dengan user dan kernel thread.

 Model many to one: memetakan beberapa user level thread hanya ke satu buah kernel thread.

 Model one to one: memetakan setiap user thread ke dalam satu kernel thread. berakhir.

 Model many to many: mengizinkan pengembang untuk membuat user thread sebanyak mungkin, konkurensi tidak dapat tercapai karena hanya satu thread yang dapat dijadualkan oleh kernel dalam satu waktu.

(8)

Paper 1 :

(Thread Launching for C++0X / Howard E. Hinnant / 2007-03-09)

Kita dapat mengetahui dalam C++ bagaimana cara cara yang dapat digunakan untuk memakai proses thread cancellation. Dan juga kita dapat mengetahui bahwa thread utama tidak dapat dibatalkan (oleh thread lainnya ) karena pembatalan oleh thread lain hanya dapat melalui std :: thread dan tidak ada cara untuk membuat std :: thread yang mengacu ke thread adalah utama daftar poin pembatalan yang dianjurkan yaitu :

 void std::this_thread::cancellation_point()

Sebuah thread dapat menonaktifkan pembatalan untuk dirinya sendiri, bahkan jika tidak mengeksekusi titik pembatalan seperti cancellation_point. Hal ini dilakukan dengan kelas disable_cancellation. Pembangunan kelas ini memiliki efek menonaktifkan pembatalan untuk seumur hidup objek. Ketika destruct objek, pembatalan secara otomatis dikembalikan ke keadaan sebelumnya (biasanya diaktifkan kembali).

Karena pembatalan dinonaktifkan dengan objek kelas, pembatalan dijamin akan benar diaktifkan apakah ruang lingkup yang tersisa biasanya, atau dengan pengecualian (apakah atau tidak itu pengecualian thread_canceled. Pembatalan tidak dinonaktifkan selama

4

(9)
(10)

Paper 2 :

(The Linux Programming Interface / Michael Kerrisk / 2015-07-23)

Thread cancellation <pthread_cancel ()> berfungsi mengirimkan permintaan

pembatalan ke thread. Disaat dan ketika target thread bereaksi terhadap permintaan pembatalan tergantung pada dua atribut yang berada di bawah kendali thread yang: dalam keadaan kemampuan membatalkan dan jenis. Ketika pembatalan diminta bertindak, langkah-langkah berikut terjadi karena thread (dalam urutan ini):

1. Pembersih pembatalan penanngan yang muncul (dalam kebalikan dari urutan di mana mereka didorong) dan dipanggil. (Lihat pthread_cleanup_push (3).)

pthread_cancel (3)

2. Thread khusus destructors data dipanggil, dalam urutan yang tidak ditentukan. (Lihat pthread_key_create (3).)

3. Thread diakhiri. (Lihat pthread_exit (3).)

Langkah di atas terjadi asynchronously sehubungan dengan pthread_cancel ()

panggilan; status kembalinya pthread_cancel () hanya menginformasikan pemanggil apakah permintaan pembatalan berhasil antri.

Setelah thread dibatalkan telah dihentikan, bergabung dengan thread menggunakan

pthread_join (3) memperoleh PTHREAD_CANCELED sebagai status keluar thread ini. (Bergabung dengan thread adalah satu-satunya cara untuk mengetahui bahwa pembatalan telah selesai.). Pada Linux, pembatalan diimplementasikan menggunakan sinyal. Di bawah threading implementasi NPTL, pertama real-time sinyal (yaitu, sinyal 32) digunakan untuk tujuan ini. Pada LinuxThreads, kedua sinyal real-time yang digunakan, jika sinyal real-time yang tersedia, jika tidak SIGUSR2 digunakan.

(11)

Perbandingan Paper 1 dan Paper 2 :

Perbedaannya dari paper 1 dengan paper 2 terlatak pada segi implementasi paper 1 menggunakan C++ programming sedangkan paper 2 menggunakan linux programming. Kelebihan dari paper 1 menggunakan C++ programming sehingga dapat mudah di pahami karena c++ programming merupakan medium level lenguage dan kelebihan dari paper 2 menggunakan Linux untuk thread cancelation yang bersifat open source, terbuka dan bebas sehingga untuk mendapatkannya tidak memerlukan biaya (LISENSI FREE) dan semuanya boleh di utak atik, sehingga thread cancelation yang di jalankan di linux lebih lancar dan leih mudah. Kekurangan dari paper 1 dengan menggunakan C++ programing user serta fleksibelitas program kadang-kadang membingungkan pemakai (pemula) sehingga sulit untuk menerapkan thread cancelation pada C++ programming sedangkan kekurangan pada paper 2 banyak user yang belum banyak mengerti tentang linux karena mereka terbiasa menggunakan linux.

(12)

KESIMPULAN

Thread adalah sebuah alur kontrol dari sebuah proses. Thread cancellation adalah tugas untuk memberhentikan thread sebelum ia menyelesaikan tugasnya.

Thread yang akan diberhentikan biasa disebut target thread. Pemberhentian target thread bisa terjadi melalui 2 cara yang berbeda :

1. Asynchronous cancellation: suatu thread seketika itu juga memberhentikan target thread. 2. Defered cancellation: target thread secara perodik memeriksa apakah dia harus berhenti,

cara ini memperbolehkan target thread untuk memberhentikan dirinya sendiri secara terurut. Sistem operasi akan mengambil kembali sumber daya dari thread yang diberhentikan tetapi seringkali sistem operasi tidak mengambil kembali semua sumber daya dari thread yang diberhentikan.

Pada umumnya sistem operasi memperbolehkan proses atau thread untuk diberhentikan secara asynchronous. Tetapi Pthread API menyediakan deferred cancellation. Hal ini berarti sistem operasi yang mengimplementasikan Pthread API akan mengijinkan deferred cancellation.

(13)

DAFTAR PUSTAKA

J.E.N.I. -. Pengenalan Pemrograman 2. Jakarta: Jardiknas.

Gata, Windu. 2005. Bahasa Pemrograman Java Gui, Error Exception, Thread, I/O (Input/Output), Database & Pembuatan Laporan. Jakarta:-.

Silberschatz, Abraham, Peter Baer Galvin, dan Greg Gagne. 2005. Operating System Concepts. Seventh Edition. USA: John Wiley & Sons, Inc.

www.java .lyracc.com/belajar/java -untuk-pemula/dasar-dasar-thread

16 april 2014 by citra ‘nchietz’ Wulandari.

9

Referensi

Dokumen terkait

Thread adalah sebuah pengontrol aliran program pelaksanaan program dengan menggunakan kendali tunggal. Operasi yang paling Modern saat ini adalah sistem yang banyak sekali

Ide dari VFS adalah meletakkan informasi di kernel untuk merepresentasikan keseluruhan tipe sistem file, dan juga terdapat sebuah fungsi untuk setiap operasi yang dimiliki

Sistem operasi yang paling banyak digunakan oleh kebanyakan handphone yaitu Android,. Karena Sistem operasinya lebih canggih daripada sistem operasi handphobe

Model ini memetakan setiap thread tingkatan user ke setiap thread. One to One menyediakan lebih banyak concurrency dibandingkan model Many to One. Keuntungannya sama

Haiku atau yang juga dikenal dengan nama nama Open BeOS adalah sistem operasi yang dibuat berdasarkan BeOS.BeOS adalah sistem operasi yang memiliki

Sistem operasi merupakan sebuah penghubung antara pengguna dari komputer dengan perangkat keras komputer yang merupakan alat yang bertujuan untuk

Pengertia Linux SlackWare adalah sebuah distribusi GNU/Linux, yang.. dikelola dan dikembangkan oleh

MANAJEMEN PROSES Menurut Avi Silberschatz, Peter Galvin, dan Greg Gagne, umumnya sebuah sistem operasi modern mempunyai komponen sebagai berikut: Sistem operasi bertanggung jawab atas