ISTILAH ISTILAH DALAM SYSTEM OPERASI


ISTILAH ISTILAH DALAM SISTEM OPERASI

      Beberapa istilah dalam sistem operasi, salah satunya yaitu :
  • Batch System
  • Critical Section
  • Process Control Block (PCB)
  • Distributed Processing
  • Handheld
  • Thread
Baiklah saya akan mencoba jelaskan satu persatu:

Batch System

gambar stave ballmer

Batch System merupakan Sistem Operasi yang pertama kali digunakan pada komputer generasi ke-2. Batch System sendiri ialah suatu cara untuk menghindari waktu menganggurnya CPU yang cukup lama, oleh sebab itu dikembangkanlah suatu teknik pengurutan kerja job secara otomatis. Teknik ini mampu mentransfer kontrol secara otomatis dari suatu job ke job berikutnya. Di dalam Batch System ini sudah memiliki fungsi-fungsi Sistem Operasi yaitu FMS atau kepanjangan dari Fortran monitor system dan IBSYS.

1.Pengertian Batch System

gambar batch system

     Batch system adalah dimana job-job yang mirip dikumpulkan dan dijalankan secara kelompok kemudian setelah kelompok yang dijalankan tadi selesai maka secara otomatis kelompok lain dijalankan. jadi dengan kata lain adalah teknologi proses komputer dari generasi ke-2. yang jika suatu tugas sedang dikerjakan pada 1 rangkaian, akan di eksekusi secara berurutan. Pada komputer generasi ke-2 sistem komputer nya maasih blum dilengkapi oleh sebuah sistem operasi. Tetapi, dalam beberapa fungsi sistem operasi, seperti os yang tengah berkembang pada jaman sekarang ini. Contohnya adalah FMS ( Fortarn Monitoring System ) dan IBSYS.

      Batch System FMS

Fortran Monitor System atau biasa disingkat FMS adalah sebuah Software yang dibuat oleh Apple untuk melihat dan memantau tugas pengkodean pada komputer tunggal atau ganda. FMS cukup ringan dan sangat efektif bila dioptimalkan untuk Batch Fortran dan pemrograman  Assembler yang sudah ada seperti FAP atau kepanjangan dari Fortran Assembly Program. FAP agak kurang lengkap dari MAP, tetapi memberikan kemampuan yang sangat baik untuk zaman tersebut.  FMS juga merupakan turunan yang dikembangkan  dari kompiler Fortr awalnya ditulis untuk 704 oleh Backus dan timnya.

      Batch System IBSYS

IBSYS adalah model basis Sistem Operasi  yang di luncurkan  IBM yang digunakan pada komputer  IBM 7090 dan IBM 7094. IBM juga sebelumnya sudah membuat Sistem Operasi  yang mirip, hanya terdapat beberapa perbedaan yang signifikan, yang disebut IBSYS, yang digunakan pada komputer IBM 7040 dan IBM 7044. IBSYS sendiri dibuat berdasarkan  pada Fortran Monitor System (FMS) dan SHARE Operating system. IBSYS adalah program monitor dasar, tapi sudah mempunyai Control Card Images yang sangat berguna untuk kinerja sebuah monitor.

2.Contoh Batch System

     Contoh sebuah Batch System adalah sebuah e-mail dan transaksi batch processing. Dalam suatu sistem batch processing, transaksi secara individual dientri melalui peralatan terminal, dilakukan validasi tertentu, dan ditambahkan ke transaction file yang berisi transaksi lain, dan kemudian dientri ke dalam sistem secara periodik. Di waktu kemudian, selama siklus pengolahan berikutnya, transaction file dapat divalidasi lebih lanjut dan kemudian digunakan untuk meng-up date master file yang berkaitan.
ada 2 cara dalam Batch System yaitu :
  1. Resident Monitor
·         Operator bertugas mengatur urutan job
·         Job-job yg sama cukup dicetak sekali saja, cara inilah yg disebut “Batch system”
Teknik pengurutan job secara manual begini akan menyebabkan tingginya waktu menganggur CPU. Muncul teknik pengurutan job otomatis yg mampu mentransfer secara otomatis dari suatu proses ke proses lainnya.Program kecil dan bersifat residen dimemori serta berisi urutan2 job yg akan berpindah secara otomatis, inilah “Resident Monitor”

  1. Overlap Operasi antara I/O dg CPU
  • Offline Processing, data yg dibaca dari card reader disimpan dulu dalam tape driver sebelum dibawa ke CPU, demikian pula informasi yg mau dicetak, disimpan dulu di tape
  • Spooling  adalah suatu program dapat dikerjakan walaupun I/O masih mengerjakan  proses lainnya dan disk secara bersamaan menggunakan data untuk banyak proses. Pengertian multi programming adalah kegiatan menjalankan beberapa program pada memori pada satu waktu.

  BENTUK DARI BATCH SYSTEM

  1. Multi-programming adalah salah satu teknik penjadwalan dimana tugas (task) yang sedang  berjalan tetap berjalan sampai ia melakukan operasi yang membutuhkan waktu untuk menunggu respon dari luar (external event), misalnya membaca data dari disket/CD/dsb, atau sampai komputer memaksa untuk menukar tugas yang sedang berjalan dengan tugas lainnya. Sistem operasi yang yang menggunakan multi-program sebagai scheduler-nya bertujuan untuk memaksimalkan penggunaan CPU. 
  2. Multiprocessing adalah istilah teknologi informasi dalam bahasa Inggris yang merujuk kepada kemampuan pemrosesan komputer yang dilakukan secara serentak. Hal ini dimungkinkan dengan menggunakan dua CPU atau lebih dalam sebuah sistem komputer. Istilah ini juga dapat merujuk kepada dukungan sebuah sistem untuk mendukung lebih dari satu prosesor dan mengalokasikan tugas kepada prosesor-prosesor tersebut.

Critical Section

Critical section adalah segmen kode yang mengakses data yang digunakan proses secara bersama-sama yang dapat membawa proses itu ke bahaya race condition. Biasanya sebuah proses sibuk melakukan perhitungan internal dan hal-hal lainnya tanpa ada bahaya yang menuju ke race condition pada sebagian besar waktu. Akan tetapi, biasanya setiap proses memiliki segmen kode dimana proses itu dapat mengubah variabel, meng- update suatu tabel, menulis ke suatu file, dan lain-lainnya, yang dapat membawa proses itu ke bahaya race condition.

Prasyarat Solusi Critical Section

Gambar Ilustrasi critical section

Solusi dari masalah critical section harus memenuhi tiga syarat berikut:
  1. Mutual Exclusion . Mutual Exclusion merupakan sebuah jalan yang menjamin jika sebuah proses sedang menggunakan variabel atau berkas yang digunakan bersama-sama, proses lain akan dikeluarkan dari pekerjaan yang sama. Misal proses Pi sedang menjalankan critical section (dari proses Pi), maka tidak ada proses-proses lain yang dapat menjalankan critical section dari proses-proses tersebut. Dengan kata lain, tidak ada dua proses yang berada di critical section pada saat yang bersamaan.
           Contoh Struktur umum dari proses Pi adalah:
             
        do {
               entry section
                  critical section
               exit section
                  remainder section
               } while (1);

Setiap proses harus meminta izin untuk memasuki critical section-nya. Bagian dari kode yang mengimplementasikan izin ini disebut entry section. Akhir dari critical section itu disebut exit section. Bagian kode selanjutnya disebut remainder section. Dari kode di atas, dapat kita lihat bahwa untuk bisa memasuki critical section sebuah proses harus melalui entry section.
Gambar 18.3. ilustrasi proses Pi

  1. Terjadi kemajuan (progress).Jika tidak ada proses yang sedang menjalankan critical section-nya dan jika terdapat lebih dari satu proses lain yang ingin masuk ke critical section, maka hanya proses-proses yang tidak sedang menjalankan remainder section-nya yang dapat berpartisipasi dalam memutuskan siapa yang berikutnya yang akan masuk ke critical section, dan pemilihan siapa yang berhak masuk ke critical section ini tidak dapat ditunda secara tak terbatas (sehingga tidak terjadi deadlock).
  2. Ada batas waktu tunggu (bounded waiting).Jika seandainya ada proses yang sedang menjalankan critical section, maka terdapat batasan waktu berapa lama suatu proses lain harus menunggu giliran untuk mengakses critical section. Dengan adanya batas waktu tunggu akan menjamin proses dapat mengakses ke critical section (tidak mengalami starvation: proses seolah-olah berhenti, menunggu request akses ke critical section diperbolehkan).

PROCESS CONTROL BLOCK (PCB)

   PROCESS CONTROL BLOCK (PCB) adalah struktur data yang dipakai oleh OS untuk mengelola proses.Hampir semua OS yang modern telah memuat PCB(Process Control Block) namun strukturnya berbeda-beda pada setiap OS tersebut.PCB  juga memuat informasi tentang proses, yaitu: sebuah tanda pengenal proses (Process ID) yang unik dan menjadi nomor identitas, status proses, prioritas eksekusi proses dan informasi lokasi proses dalam memori. Prioritas proses merupakan suatu nilai atau besaran yang menunjukkan seberapa sering proses harus dijalankan oleh prosesor. Proses yang memiliki prioritas lebih tinggi, akan dijalankan lebih sering atau dieksekusi lebih dulu dibandingkan dengan proses yang berprioritas lebih rendah. Sebuah PCB ditunjukkan dalam gambar berikut.

Sebagai contoh, struktur data yang mengendalikan beberapa PCB adalah process table. Bisa saja beberapa PCB ditaruh pada daftar dalam waktu yang bersamaan.Process table ini menggambarkan sistem tersebut ketika OS menemukan tiap-tiap PCB melalui proses ID.

      PCB dibagi 3 kelompok yaitu :

  1. Process identification data; selalu menyertakan sebuah identifier unik untuk prosesnya (hampir selalu bernilai integer) dan, dalam sebuah sistem multiuser-multitasking, data seperti identifier proses induk, identifier pengguna, identifier grup pengguna, dll. Proses ini sangan relevan, karena itu sering digunakan untuk referensi silang tabel OS, misalnya memungkinkan untuk mengidentifikasi proses yang menggunakan device I/O, atau daerah memori.
  2. Processor state data; adalah potongan-potongan informasi yang mendefinisikan status dari suatu proses ketika proses itu ditangguhkan, yang memungkinkan OS untuk melakukan restart proses nantinya dan masih dapat mengeksekusinya dengan benar. Hal ini selalu menyertakan isi dari register CPU tujuan.
  3. Process control data; digunakan oleh OS untuk mengelola proses itu sendiri.

Distributed Processing

Pengertian Distributed Processing

Distributed data processing (DDP) system merupakan bentuk yang sering digunakan sekarang sebagai perkembangan dari time sharing system. Bila beberapa sistem komputer yang bebas tersebar yang masing-masing dapat memproses data sendiri dan dihubungkan dengan jaringan telekomunikasi, maka istilah time sharing sudah tidak tepat lagi. DDP system dapat didefinisikan sebagai suatu sistem komputer interaktif yang terpencar secara geografis dan dihubungkan dengan jalur telekomunikasi dan seitap komputer mampu memproses data secara mandiri dan mempunyai kemampuan berhubungan dengan komputer lain dalam suatu sistem.

Contoh Sistem Pengolahan Data terdistribusi :
Internet
·         Jaringan komputer dan aplikasi yang heterogen.
·         Mengimplementasikan protokol internet.
Intranet
·         Jaringan yang teradminitrasi secara lokal.
·         Terhubung ke internet melalui firewall.
·         Menyediakan layanan internet dan eksternal.
Mobile Computing ( Sistem Komunikasi telepon seluler)
·         Menggunakan frekuensi radio sebagai media transmisi
·         Perangkat dapat bergerak kemanapun asal masih terjangkau dengan frekuensinya
·         Dapat menghandle/dihububngkan dengan perangkat lain
Sistem Telepon
·         ISDN atau yang biasa disebut jaringan telpon tetap (dengan kabel).
·         PSTN jaringan telepon/telekomunikasi yang semuanya digital.
Network File System (NTFS)
·         WWW

Contoh Impementasi Distributed Data Processing System :
    Aplikasi facebook.Com yang biasa anda gunakan untuk bersosialisai dengan saudara, kawan dan orang di seluruh dunia melalui internet. Bila kita lihat aplikasi tersebut, database tidak didistribusikan, tetapi proses sistem dan penggunaan fungsi-fungsi atau feature pada sistem terpisah-pisah prosesnya tidak satu proses saja dalam satu waktu. Pada waktu tertentu ada orang yang sedang isi status, dan mungkin di waktu yang sama ada sedang mencari teman, ada yang mengupload foto dan sebagainya.  Tampak disini beberapa proses pada sistem terdistribusi pada setiap client yang berbeda.
    Pada penggunaan aplikasi pembayaran / transaksi online pada suatu perusahaan, misalnya saja tiket pesawat terbang. Aplikasi tersebut juga contoh dari aplikasi pengolahan data terdistribusi, dimana data pembayaran ada tersimpan di database bank, sementara data tiketnya tersimpan di database server maskapai yang menyediakan aplikasi tiket online tersebut. Jadi dapat dikatakan bila aplikasi yang digunakan menggunakan database yang terpisah tidak satu database saja, maka dapat dikatakan itu adalah aplikasi pengolahan data terdistribusi atau dikenal juga dengan distributed  data processing system.

Handheld

A. Pengertian Sistem HandHeld

         Handheld computer adalah komputer yang cukup kecil sehingga dapat digenggam. Komputer genggam ini dapat bekerja dengan fungsi yang hampir sama dengan komputer biasa. Meskipun sangat mudah untuk dibawa, komputer genggam tidak dapat menggantikan komputer biasa (PC) karena hanya memiliki keyboard dan layar yang kecil. Beberapa produsen mencoba untuk memecahkan masalah keyboard yang terlalu kecil. Keyboard tersebut diganti dengan electronic pen. Bagaimanapun,electronic pen ini masih bergantung pada teknologi pengenalan tulisan tangan yang masih dalam tahap pengembangan.
Kelebihan dari komputer genggam ini adalah pengguna dapat menyimpan serta mengatur data dengan lebih efisien dan akurat. Biasanya komputer genggam dilengkapi dengan teknologi Bluetooth. Bluetooth memang tepat untuk mencetak secara nirkabel, menghubungkan antara komputer genggam dengan mobile printer. Tidak hanya dengan printer tetapi komputer genggam juga dapat dihubungkan dengan alat-alat lain melalui koneksi Bluetooth.
Komputer genggam dapat meningkatkan produktivitas pengguna dan memudahkan mereka untuk bekerja lebih efisien. Komputer genggam yang paling banyak digunakan adalah komputer yang khusus dirancang untuk menyediakan fungsi PIM (Personal Information Manager), seperti kalender, agenda, dan buku alamat.
Contoh system handheld adalah Android, Symbian.

B. Perkembangan System Handheld

Sekitar tahun 1990-an dikembangkan sistem yang lebih kecil dari mikrokompuer yang disebut dengan sistem handheld dalam bentuk personal digital assistants (PDA). Pada beberapa sistem terdapat telepon selular. Sistem ini mempunyai memory yang terbatas, prosessor dengan kecepatan rendah dan display screen yang kecil

C. Sejarah Perkembangan System Handheld

Sistem operasi Handheld juga memiliki sejarah dalam perkembangannya, adapun sejarah perkembangan system operasi Handheld adalah:
a.    1993 Ponsel pintar yang pertama, IBM Simon, memiliki fitur layar sentuh, email, dan fitur PDA dirilis.
b. Palm Pilot 1000 personal digital assistant(PDA) diperkenalkan pertama kali dengan sistem operasi Palm OS.
c.    1996 PC handled pertama dengan sistem Windows CE diperkenalkan.
d.  2000 Symbian menjadi sistem operasi genggam modern pertama pada ponsel pintar dengan munculnya Ericsson R380.
e.    2001 The Kyocera 6035 menjadi ponsel pintar pertama yang menggunakan Palm OS.
f.     2002 Microsoft Windows CE versi Pocket PC untuk ponsel pintar diperkenalkan.
g.    2002 BlackBerry merilis ponsel pintar pertamanya.
h.    2007 Apple iPhone dengan iOS pertama kali diperkenalkan.
i.     2008 OHA merilis Android 1.0 dengan HTC Dream (T-Mobile G1) sebagai ponsel Android yang pertama.
j.      2009 Palm memperkenalkan webOS melalui Palm Pre.
k.    2009 Samsung memperkenalkan Bada OS melalui Samsung S8500.
l.      2010 Windows Phone OS dirilis.

  • Perkembangan Sytem Handheld (PDA)


        Personal Digital Assistants disingkat PDA adalah sebuah alat elektronik yang berbasis komputer dan berbentuk kecil serta dapat dibawa kemana-mana. PDA banyak digunakan sebagai pengorganisir pribadi pada awalnya, tetapi karena perkembangannya, kemudian bertambah banyak fungsi kegunaannya, seperti kalkulator, penunjuk jam dan waktu, permainan komputer, pengakses internet, penerima dan pengirim surat elektronik (e-mail), penerima radio, perekam video, dan pencatat memo. Selain dari itu dengan PDA (komputer saku) ini, kita dapat menggunakan buku alamat dan menyimpan alamat, membaca buku-e, menggunakan GPS dan masih banyak lagi fungsi yang lain. Bahkan versi PDA yang lebih canggih dapat digunakan sebagai telepon genggam, akses internet, intranet, atau extranet lewat Wi-Fi atau Jaringan Wireless. Salah satu ciri khas PDA yang paling utama adalah fasilitas layar sentuh.
    Bertahun-tahun dunia PDA membeku. Lalu Palm Inc. meluncurkan PDA pertamanya di tahun 1996. Peluncuran inilah yang kemudian mengubah nasib PDA dan sekaligus mendongkrak popularitas PDA di jagad elektronik.
    Alat genggam yang disinergikan dengan operating system (OS) Palm ini menuai sukses luar biasa. Kemudahan sinkronisasi dengan PC dan pendekatan pengoperasian berbasis ikon membuat banyak pengguna merasakan kegunaan alat yang satu ini, lebih daripada sekedar sebuah piranti genggam biasa.
    Dalam jangka waktu enam tahun, pertumbuhan PDA sendiri boleh dikatakan luar biasa, meskipun tentu saja tak secepat perangkat komputer pada umumnya. Selama kurun waktu tersebut, PDA terus tumbuh, baik dari sisi teknologi maupun bisnis. contoh sistem operasi yang digunakan. Palm OS saat ini masih merupakan pemain yang paling dominan. Merek-merek yang menggunakan OS ini antara lain adalah Palm sendiri, Sony, IBM dan Handspring.
   Berikutnya adalah WindowsCE atau sekarang disebut PocketPC. Operating system khusus untuk PDA atau PocketPC ini dibuat oleh Microsoft, karena itu tampilan pada versi PocketPC 2002 hampir mnyerupai tampilan pada Windows XP. Sebagai catatan popularitas PocketPC kini terdongkrak cukup kuat seiring dengan komitmen Microsoft yang besar terhadap perkembangan sistem operasi ini. Merek yang menggunakan OS ini antara lain HP, Compaq, Casio, dan Siemen.
  • Fungsi PDA

Pertama dan terutama fungsi dari sebuah piranti genggam semacam PDA adalah untuk mengelola informasi atau data. Lebih spesifik lagi karena namanya juga Personal Digital Assistant, maka data yang dikelolanya pun bersifat personal. Diantaranya alamat, nomor telepon, alamat e-mail, jadwal kegiatan dan daftar kegiatan yang harus kita kerjakan. Baru setelah fungsi itu PDA dikembangkan sehingga lebih memainkan peran sebagai subnotebook. tentu saja fungsi yang selama ini diperankan oleh organizer juga termasuk didalamnya, seperti jam, kalkulator dan kalender.
Saat ini, handheld keluaran terbaru sudah mampu berperan sebagai alat memainkan musik, pemutar musik MP3 (MP3 player), membaca buku elektronik (eBook Reader) bahkan memainkan video streaming. Dengan kemampuan grafis yang tidak lagi hitam putih, handheld ini sudah melebihi tanggung jawabnya sebagai Asisten Pribadi sesuai dengan namanya, namun walau begitu jangan sekali-kali menyamakan kemampuan PDA dengan notebook apalagi PC desktop.
  • Sistem Kerja PDA

Sebagai komputer genggam, PDA memiliki processor dan sistem operasi layaknya komputer biasa. Sistem operasi ini merupakan peranti lunak utama pada PDA. Cara kerjanya sama seperti sitem operasi pada komputer seperti Windows XP atau Mac OS, tetapi didesain khusus untuk PDA. Terdapat dua kesamaan sistem operasi pada PDA yaitu Palm dan Pocket PC (Windows Mobile). Keduanya bekerja dengan program piranti lunak yang berbeda, jadi walaupun berisikan banyak dokumen seperti gambar, musik dan lainnya yang bisa dipakai namun tidak pada pemrogaman. Pada penyimpanan data tanpa kartu memori, data disimpan dalam RAM dengan ukuran puluhan MegaByte, sedangkan sumber energinya berasal dari baterai (dulunya A3) isi ulang. Selain itu, bisa juga menggunakan adaptor yang disambungkan ke stop kontak AC.
  • Kegunaan PDA

a.    Telekomunikasi
b.    Informasi
c.    Pendidikan
d.    Olahraga
  • Fitur yang terdapat dalam PDA   

Layar sentuh
GPS
PCPocket
Koneksi Nirkabel
Agenda
Memory
LAN
Surel
HiburanKamera

Sinkronisasi

Thread

1. Pengertian Thread

  • Thread adalah unit terkecil dalam suatu proses yang bisa dijadwalkan oleh sistem operasi.
  • Merupakan sebuah status eksekusi (ready, running, suspend, block, queue, dll)
  • Kadang disebut sebagai proses ringan (lightweight).
  • Unit dasar dari dari sistem utilisasi pada processor (CPU).
  • Dalam thread terdapat: ID Thread, Program Counter, Register dan Stack.
  • Sebuah thread berbagi code section, data section dan resource sistem operasi dengan thread yang lain yang memiliki proses yang sama.

2. Single-Threading dan Multi-Threading

Threading adalah sebuah lightweight process (proses sederhana) yang mempunyai thread tunggal yang berfungsi sebagai pengendali/ controller. Multi-Threading adalah proses dengan thread yang banyak dan mengerjakan lebih dari satu tugas dalam satu waktu.

3. Keuntungan Multi-Threading

Responsive; tanggap: Multi-Threading mengizinkan program untuk berjalan terus walau-pun pada bagian program tersebut di block atau sedang dalam keadaan menjalankan operasi yang lama/ panjang. Sebagai contoh, multithread web browser dapat mengizinkan pengguna berinteraksi dengan suatu thread ketika suatu gambar sedang diload oleh thread yang lain.
Pembagian sumber daya: Secara default, thread membagi memori dan sumber daya dari proses.Ketika thread berjalan pada data yang sama, thread tersebut bisa berbagi cache memory.
Ekonomis: Mengalokasikan memori dan sumber daya untuk membuat proses adalah sangat mahal. Alternatifnya, karena thread membagi sumber daya dari proses, ini lebih ekonomis untuk membuat threads.
Pemberdayaan arsitektur multiprosesor: Keuntungan dari multi-threading dapat ditingkatkan dengan arsitektur multiprosesor, dimana setiap thread dapat jalan secara paralel pada prosesor yang berbeda. Pada arsitektur prosesor tunggal, CPU biasanya berpindah-pindah antara setiap thread dengan cepat, sehingga terdapat ilusi paralelisme, tetapi pada kenyataannya hanya satu thread yang berjalan di setiap waktu.

4. Kerugian Multi-Threading

Multiple thread bisa mengganggu satu sama lain saat berbagi hardware resource, misalnya chace memory.
Execution time (waktu proses) dari sebuah single-thread tidak dapat diimprove (ditambah), tapi malah bisa diturunkan. Ini terjadi karena penurunan frequensi yang dibutuhkan ketika terjadi pergantian thread yang berjalan.
Harus ada dukungan dari hardware ataupun software untuk melakukan multi-Threading.

5. Model-Model Threading

1.Kernel-level threading; thread ini dibuat oleh pengguna yang berkorespondensi 1-1 dengan entitas-entitas yang terjadwalkan yang berada di kernel. Ini merupakan implementasi (penerapaan) paling sederhana dari threading.
  • Thread kernel didukung langsung oleh sistem operasi.
  • Pembuatan, penjadwalan, dan manajemen thread dilakukan oleh kernel pada kernel space.
  • Pengaturan thread dilakukan oleh sistem operasi, sehingga pembuatan dan pengaturan kernel thread lebih lambat dibandingkan user thread.

2.User-level threading; sebuah pemetaan N-1, yang berarti bahwa semua level aplikasi thread dipetakan ke entitas tunggal yang ada di kernel. Dengan pendekatan ini, switching proses dapat dilakukan dengan sangat cepat.
  • Thread pengguna didukung kernel serta diimplementasikan dengan pustaka (library) thread pada tingkatan pengguna.
  • Pustaka (library) menyediakan fasilitas untuk pembuatan thread, penjadwalan thread, dan manajemen thread tanpa dukungan dari kernel.
  • Semua pembuatan dan penjadwalan thread dilakukan dalam ruang pengguna tanpa campur tangan kernel.

6. Thread dalam Sistem Operasi

Sistem operasi telah mendukung proses multithreading.
Setiap sistem operasi memiliki konsep tersendiri dalam pengimplementasiannya.
Sistem operasi dapat mendukung thread pada tingkatan kernel maupun tingkatan pengguna.
Model Multi-Threading
1. Many-to-One

  • Memetakan beberapa thread tingkatan pengguna ke sebuah thread tingkatan kernel.
  • Pengaturan thread dilakukan dalam ruang pengguna, sehingga efisien. Hanya satu thread pengguna yang dapat mengakses thread kernel pada satu saat.

2.One-to-One

·         Memetapkan setiap thread tingkatan pengguna ke thread kernel.
·         Model ini menyediakan lebih banyak concurrency dibandingkan model Many-to-One.
3.     Many-to-Many

Mengelompokkan banyak thread pengguna untuk dipetakan ke thread kernel yang
jumlahnya lebih sedikit atau sama dengan tingkatan pengguna.
Mengijinkan sistem operasi untuk membuat sejumlah thread kernel.

7.Cancellation

Thread cancellation ialah pemberhentian thread sebelum tugasnya selesai. Umpama, jika dalam program Java hendak mematikan Java Virtual Machine (JVM). Sebelum JVM dimatikan, maka seluruh thread yang berjalan harus dihentikan terlebih dahulu. Thread yang akan diberhentikan biasa disebut target thread.Pemberhentian target thread dapat terjadi melalui dua cara yang berbeda:Asynchronous cancellation: suatu thread seketika itu juga memberhentikan target thread.
Defered cancellation: target thread secara perodik memeriksa apakah dia harus berhenti, cara ini memperbolehkan target thread untuk memberhentikan dirinya sendiri secara terurut.
Alternatifnya adalah dengan menggunakan deffered cancellation. Cara kerja dari deffered cancellation adalah dengan menggunakan satu 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 dapat diberhentikan secara aman yang aman. Pthread merujuk tersebut sebagai cancellation points.

8.Threads Pools

Pada web server yang multithreading ada dua masalah yang timbul:Ukuran waktu yang diperlukan untuk menciptakan thread untuk melayani permintaan yang diajukan terlebih pada kenyataannya thread dibuang ketika ia seketika sesudah ia menyelesaikan tugasnya.Pembuatan thread yang tidak terbatas jumlahnya dapat menurunkan performa dari sistem.Solusinya adalah dengan penggunaan Thread Pools, cara kerjanya adalah dengan membuat beberapa thread pada proses startup dan menempatkan mereka ke pools, dimana mereka duduk diam dan menunggu untuk bekerja. Jadi ketika server menerima permintaan maka maka ia akan membangunkan thread dari pool dan jika thread tersedia maka permintaan tersebut akan dilayani.Ketika thread sudah selesai mengerjakan tugasnya maka ia kembali ke pool dan menunggu pekerjaan lainnya. Bila tidak thread yang tersedia pada saat dibutuhkan maka server menunggu sampai ada satu thread yang bebas.

Keuntungan thread pool:
Biasanya lebih cepat untuk melayani permintaan dengan thread yang ada dibanding dengan menunggu thread baru dibuat.Thread pool membatasi jumlah thread yang ada pada suatu waktu. Hal ini pentingpada sistem yang tidak dapat mendukung banyak thread yang berjalan secara concurrent. 


Sumber Referensi :


Comments

Popular posts from this blog

PROSES TRANSFER DATA MELALUI DMA