PENJELASAN BERBAGAI MACAM SISTEM; Batch System, Critical Section, Process Control Block, Distributed Processing, Handheld, Thread

 

Setelah minggu lalu kita membahas tentang macam-macam Sistem Operasi dan sejarahnya kali ini pada artikel ini saya akan menjelaskan apa yang dimaksud dengan Batch System, Critical Section, Process Control Block, Distributed Processing, Handheld dan Thread. Nah langsung saja ke penjelasannya.  


        1.     BATCH SYSTEM

Merupakan suatu perintah yang mirip, yang dikumpulkan dan dijalankan secara berkelompok kemudian setelah kelompok dijalankan tadi selesai maka secara otomatis kelompok lain dijalankan secara berurutan, jadi dengan kata lain adalah teknologi proses komputer dari generasi ke-2 merupakan generasi pertama Sistem Operasi. Yang jika suatu tugas sedang dikerjakan pada 1 rangkaian, akan di eksekusi secara berurutan. Pada komputer generasi ke-2 sistem komputer nya masih belum dilengkapi oleh sebuah sistem operasi. Tapi, dalam beberapa fungsi sistem operasi, seperti os yang tengah berkembang pada jaman sekarang ini. Contohnya adlah FMS ( Fortarn Monitoring System ) dan IBSYS.


CONTOH BATCH SYSTEM

Yaitu 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.

TERDAPAT 2 BENTUK BATCH SYSTEM:

a.       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. Hal ini membutuhkan beberapa kemampuan tambahan yaitu : Penyediaan I/O routine oleh sistem, Pengaturan memori untuk mengalokasikan memory pada beberapa Job, penjadwalan CPU untuk memilih job mana yang akan dijalankan, serta pengalokasian hardware lain. Multiprogramming berarti meletakkan lebih dari sebuah program di main memory. Cara ini dilakukan dengan membagi main memory menjadi beberapa partisi. Tiap partisi akan menyimpan sebuah program. Foreground partitions akan berisi program dengan prioritas yang lebih tinggi sedang background partitions akan berisi program dengan prioritas yang lebih rendah.  

Keuntungan Multi programming :

- Pemanfaatan Procesor dan I/O Device effisien

- Tak memerlukan H/W khusus yang mahal

- Algoritma yang digunakan sederhana dan mudah untuk di-implementasi.

Kelemahan Multi programming adalah tidak memugkinkan pemakai berinteraksi   dengan proses. Segala masukan ditangani melalui kartu control.

Contoh: Menjalankan program Microsoft Word bersamaan dengan Windows Media Player.

b. 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.

ADAPUN 2 CARA PADA BATCH SYSTEM:

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 waktumenganggur 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”.

2). Overlap Operasi antara Input/Output dg CPU

  • Off line 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.

 

      2.     CRITICAL SECTION 

                Critical Section adalah bagian dari suatu proses yang akan melakukan akses dan manipulasi data ketika sebuah proses sedang dijalankan dalam critical section nya, tidak ada proses lain yang boleh dijalankan dalam critical section tersebut, karena akan menyebabkan keadaan mutually exclusive. Critical section biasanya digunakan saat program multithreading, dimana program tersebut terdiri dari banyak thread, akan mengubah nilai dari variabel. Dalam hal ini critical section diperlukan untuk melindungi variabel dari concurrent access (pengaksesan program di saat yang bersamaan) yang dapat membuat nilai dari variabel tersebut menjadi tidak konsisten.

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.

    Struktur umum dari proses Pi yang memiliki segmen critical section adalah :

do {

entry section

critical section

exit section

remainder section

} while (1);

   Critical Section mempunyai beberapa kode :

    §  Entry Section : Kode yang digunakan untuk masuk ke dalam critical section

    §  Critical Section : Kode di mana hanya ada satu proses yang dapat dieksekusi pada satu waktu.

    §  Exit Section: Akhir dari critical section, mengizinkan proses lain.

    §  Remainder Section : Kode istirahat setelah masuk ke critical section.

Kunci untuk mencegah masalah ini dan di situasi yang lain yang melibatkan shared memori, shared berkas, and shared sumber daya yang lain adalah menemukan beberapa jalan untuk mencegah lebih dari satu proses untuk melakukan proses writing dan reading kepada shared data pada saat yang sama

    Ada dua jenis solusi untuk memecahkan masalah critical section, yaitu.

1.       Solusi Software

Solusi ini menggunakan algoritma-algoritma untuk mengatasi masalah critical section.

2.       Solusi Hardware

Solusi ini tergantung pada beberapa instruksi mesin tertentu, misalnya dengan me-non-aktifkan interupsi, mengunci suatu variabel tertentu atau menggunakan instruksi level mesin seperti tes dan set.

 

   Solusi Critical Section adalah: 

  • Mutual Exclusion : Jika proses pi sedang mengeksekusi critical section-nya maka tidak ada         proses lain yang dapat mengeksekusi dalam critical section mereka.)
  • Terjadinya Kemajuan (Progress) : Jika tidak ada proses yang sedang dieksekusi dalam critical    section dan ada beberapa proses yang ingin masuk ke critical section mereka, maka pemilihan proses yang akan masuk critical section berikutnya tidak bias ditunda.
  •  Adanya batas waktu tunggu (bounded waiting) : Suatu keterikatan harus ada pada sejumlah proses yang diijinkan masuk ke critical section mereka, setelah adanya proses yang meminta masuk ke critical section dan sebelum permintaan itu diterima.

 

  3.     PROCESS CONTROL BLOCK

Blok kontrol proses (PCB) adalah struktur data yang digunakan oleh sistem operasi komputer untuk menyimpan semua informasi tentang suatu proses. Ini juga dikenal sebagai deskriptor proses.

-          Ketika suatu proses dibuat (diinisialisasi atau diinstal), sistem operasi membuat blok kontrol proses yang sesuai. 

              -  Informasi dalam blok kontrol proses diperbarui selama transisi status proses.

-          -  Ketika proses berakhir, PCBnya dikembalikan ke pool tempat PCB baru ditarik.

-           -  Setiap proses memiliki satu PCB.

Setiap proses dalam sebuah sistem operasi mendapatkan sebuah PCB (Process Control Block) yang memuat informasi tentang proses tersebut, 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.

Suatu sistem operasi dapat saja menentukan semua proses dengan prioritas yang sama, sehingga setiap proses memiliki kesempatan yang sama. Suatu sistem operasi dapat juga mengubah nilai prioritas proses tertentu, agar proses tersebut akan dapat memiliki kesempatan lebih besar pada eksekusi berikutnya (misalnya: pada proses yang sudah sangat terlalu lama menunggu eksekusi, sistem operasi menaikkan nilai prioritasnya).

Process Control Block ini hanya berfungsi sebagai tempat penyimpanan informasi yang dapat bervariasi dari proses yang satu dengan lain. Setiap proses digambarkan dalam sistem operasi oleh sebuah Process Control Block (PCB). PCB ini berisikan banyak informasi yang berhubungan dengan sebuah proses yang spesifik, yaitu pinter, status proses, program counter, CPU registers, informasi manajemen memori, informasi pencatatan, dan informasi status I/O.

 INFORMASI PADA Process Control Block (PCB) 

                Struktur data PCB menyimpan informasi lengkap mengenai proses sehingga dapat terjadi siklus hidup proses. Sistem operasi memerlukan banyak informasi mengenai proses guna pengelolaan proses. Informasi ini berada di PCB. Sistem berbeda akan mengorganisasikan secara berbda. Informasi-informasi pada PCB antara lain:

a.       Informasi Identifikasi Proses

Berkaitan dengan identitas proses yang berkaitan dengan tabel lainnya. Informasi tersebut meliputi: Identifier proses, identifier proses yang menciptakan, identifier pemakai.

b.      Informasi Status Proses

Informasi ini tentang isi register-register pemroses. Saat proses berstatus running, informasi tersebut berada diregister-register. Ketika proses diinterupsi, semua informasi register harus disimpan agar dapat dikembalikan saat proses dieksekusi kembali. Jumlah dan jenis register yang terlibat tergantung arsitektur komputer. Informasi status proses ini terdiri dari:

  • Register-register yang terlihat pemakai, yaitu register yang dapat ditunjuk instruksi bahasa assembly untuk diproses pemroses.
  • Register Kendali dan Status, yaitu register-register yang digunakan untuk mengendalikan operasi pemroses, seperti program counter dan PSW.
  •  Pointer Stack, yaitu setiap proses mempunyai satu atau lebih stack, yang digunakan untuk parameter atau alamat prosedur pemanggil dan system call. Pinter stack menunjukkan posisi paling atas dari stack.

c.       Informasi Kendali Proses

Informasi kendali proses adalah informasi lain yang diperlukan sistem operasi untuk mengendalikan dan koordinasi beragam proses aktif. Informasi kendali terdiri dari: Informasi Penjadwalan dan Status, informasi ini digunakan untuk menjalankan fungsi penjadwalan antara lain:

► Status proses, mendefinisikan keadaaan/status proses (running, ready, blocked)

Prioritas, menjelaskan prioritas proses

Informasi berkaitan dengan penjadwalan, berkaitan dengan informasi  penjadwalan,     seperti lama menunggu, lama proses terakhir dieksekusi.

Penstrukturan data, suatu proses dapat dikaitkan dengan proses lain dalam satu antrian   atau ring atau struktur lainnya. PCB harus memiliki pointer untuk mendukung struktur ini.

 

  •  Komunikasi Antar Proses, beragam flag, sinyal dan pesan dapat diasosiasikan dengan komunikasi antara dua proses yang terpisah. Informasi ini disimpan didalam PCB
  • Kewenangan Proses, proses dapat mempunyai kewenangan berkaitan dengan memori dan tipe instruksi yang dapat dijalankan.
  • Manajemen Memori, bagian yang berisi pointer ke tabel segmen atau page yang menyatakan memori maya (virtual memory) proses.
  •  Kepemilikkan dan Utilisasi Sumber Daya, sumber daya yang dikendalikan proses harus diberi tandam misalnya berkas yang dibuka, pemakaian pemroses dan pemakaian sumber daya lainnya.

   Elemen-elemen dari Process Control Block (PCB)

1.       Identifier : menjelaskan proses yang sedang terjadi

2.       State : kondisi yang terjadi pada proses

3.       Priority : urutan perintah yang jelas pad suatu proses

4.       Program counter : instruksi pada proses

5.       Memory pointers : media penyimpanan (penunjuk alamat) pada proses

6.       Context data : data yang berkaitan dengan proses

7.       I/O status information : terdapat masukan dan keluaran yang diinginkan

8.       Accounting information : memberikan informasi yang dibutuhkan

   Macam-Macam Jenis Status Proses 

Jenis status yang mungkin dapat disematkan pada suatu proses pada setiap sistem operasi dapat berbeda-beda. Tetapi paling tidak ada 3 macam status yang umum, yaitu:

1.       Ready adalah status dimana proses siap untuk dieksekusi pada giliran berikutnya

2.       Running adalah status dimana saat ini proses sedang dieksekusi oleh prosesor

3.       Blocked adalah status dimana proses tidak dapat dijalankan pada saat prosesor siap/bebas


4.       DISTRIBUTED PROCESSING

                     

Distributed Processing mengerjakan semua proses pengolahan data secara bersama antara komputer pusat dengan beberapa komputer yang lebih kecil dan saling dihubungkan melalui jalur komunikasi. Setiap komputer tersebut memiliki prosesor mandiri sehingga mampu mengolah sebagian data secara terpisah, kemudian hasil pengolahan tadi digabungkan menjadi satu penyelesaian total. Jika salah satu prosesor mengalami kegagalan atau masalah yang lain akan mengambil alih tugasnya.

Distributed Data Processing System  yang dalam bahasa indonesianya Sistem pengolahan data terdistribusi. Merupakan Sekumpulan komputer yang saling berkoneksi untuk memenuhi kebutuhan pengolahan informasi dari satu entity perusahaan atau organisasi modern. Didukung oleh komputer dan komunikasi, sistem pengolahan data terdistribusi merupakan media pelayanan data. Sistem pengolahan data terdistribusi dalam arti lain yaitu meletakan sumber daya komputer pada tempat dimana  user berada, dimana sumber daya tersebut secara  geografis terpisah dan saling interkoneksi secara on-line atau secara langsung.

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 dari Distributed Data Processing System adalah: ATM, komputer yang dirancang untuk tugas-tugas melaksanakan proyek, analisis finansial, penjadwalan waktu dan akuntansi. Contoh lainnya, pengolahan data pada server yahoo yang tersebar hampir di seluruh dunia secara distribusi, setiap wilayah mempunyai server masing-masing. Seperti di indonesia mempunyai server tersendiri sehingga pengolahan data tidak di pusat melainkan di wilayah masing-masing, dll.

  Pemrosesan terdistribusi dapat dikelompokan berdasarkan beberapa kriteria yaitu

►Struktur antar hubungan

►Kesaling tergantungan komponen-komponen

► Keselarasan antar komponen.

   Keuntungan dan Kelemahan sistem database distribusi  

– Keuntungan :

·         Pengelolaan secara transparan data terdistribusi dan replicated.

·         Mengacu pada struktur organisasi

·         Meningkatkan kemampuan untuk share dan otonomi local

·         Meningkatkan ketersediaan data

·         Meningkatkan kehandalan

·         Meningkatkan unjuk kerja

·         Memudahkan pengembangan system

– Kelemahan :

·         Kompleksitas manajemen

·         Control integritas lebih sulit

·         Biaya pengembangan

·         Keamanan

·         Kurang standarisasi

·         Menambahkan kebutuhan penyimpanan

·         Lebih sulit dalam mengatur lingkungan data

·         Menambah biaya pelatihan.

  Ciri sistem database distribusi 

1.       Data disimpan pada sejumlah tempat. Setiap tempat secara logic terdiri dari processor tunggal.

2.       Processor pada tempat yang berbeda tersebut dihubungkan dengan jaringan computer.

3.       Bukan sekumpulan file yang berada pada berbagai tempat tetapi merupakan database pada berbagai tempat.

4.       Setiap tempat mempunyai kemampuan untuk mandiri memproses permintaan user yang membutuhkan akses kedata ditempat tersebut, dan juga mampu untuk memproses data yang tersimpan di tempat lain

 

5.    HANDHELD 


    Handheld 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.

                Sekitar tahun 1990-an dikembangkan sistem yang lebih kecil dari mikrokompuer yang disebut dengan sistem handheld dalam bentuk personal digital assistants (PDA).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.

  Fungsi Personal digital Assistants (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.

Sebagian besar PDA dapat disinkronisasikan kedalam komputer desktop atau notebook, sehingga kita dapat me-maintenace informasi/data kita dan meng-update-nya kedalam komputer baik yang ada dikantor maupun yang ada dirumah.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 Personal Digital Assistants (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.

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 denganmobile printer. Tidak hanya dengan printer tetapi komputer genggam juga dapat dihubungkan dengan alat-alat lain melalui koneksi Bluetooth.

Kegunaan PDA

o   Telekomunikasi

o    Informasi

o   Pendidikan

o   Olahraga

Fitur yang terdapat dalam PDA

·           Layar sentuh

·           GPS

·           PCPocket

·           Koneksi Nirkabel

·           Agenda

·           Memory

·           LAN

·           Surel

·           Hiburan

·           Kamera

·           Sinkronisasi

 

6.    THREAD

                 

    Thread adalah unit dasar dari penggunaan CPU, thread mengandung 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. Sebuah proses tradisional atau heavyweight process mempunyai thread tunggal yang berfungsi sebagai pengendali. Perbedaan antara proses dengan thread tunggal dengan proses dengan thread yang banyak adalah proses dengan thread yang banyak dapat mengerjakan lebih dari satu tugas pada satu satuan waktu. Banyak software yang berjalan pada PC modern didesain secara multithreading. Sebuah aplikasi biasanya diimplementasi sebagai proses yang terpisah dengan beberapa thread yang berfungsi sebagai pengendali. Contohnya sebuah web browser mempunyai thread untuk menampilkan gambar atau tulisan sedangkan thread yang lain berfungsi sebagai penerima data dari network.

                User Threads

User thread didukung diatas kernel dan diimplementasi oleh thread library pada user level. Library meneyediakan fasilitas untuk pembuatan thread, penjadwalan thread, dan manajemen thread tanpa dukungan dari kernel. Karena kernel tidak menyadari user-level thread maka semua pembuatan dan penjadwalan thread dilakukan di user space tanpa intervensi dari kernel. Oleh karena itu, user -level thread biasanya cepat untuk dibuat dan diatur. Tetapi user thread mempunyai kelemahan yaitu apabila kernelnya merupakan thread tunggal maka apabila salah satu user-level thread menjalankan blocking system call maka akan mengakibatkan seluruh proses diblok walaupun ada thread lain yang bisa jalan dalam aplikasi tersebut. Contoh user-thread libraries adalah POSIX Pthreads, Mach C-threads, dan Solaris threads.

Kernel Threads

Kernel thread didukung secara langsung oleh sistem operasi: pembentukan thread, Penjadwalan, dan managemen dilakukan oleh kernel dalam ruang kernel. Karena managemen thread telah dilakukan oleh sistem operasi, kernel thread biasanya lebih lambat untuk membuat dan mengelola daripada pengguna thread. Windows NT, Solaris, dan Digital UNIX adalah sistem operasi yang mendukung kernel thread.

Kelebihan :

-          Jika sebuah thread menjalankan blocking system call maka kernel dapat menjadualkan thread lain di aplikasi untuk melakukan eksekusi.

-          Pada lingkungan multiprocessor, kernel dapat menjadual thread-thread pada processor yang berbeda.

Kekurangan :

-          Pengaturan dan pembuatan thread lebih lambat.

 

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.

Managemen Thread

Manajemen thread merupakan konsep pokok dalam sistem operasi, sehingga masalah manajemen thread adalah masalah utama dalam perancangan sistem operasi. Proses adalah program yang sedang dieksekusi. Proses dapat juga didefinisikan sebagai unit kerja terkecil yang secara individu memiliki sumber daya dan dijadwalkan oleh sistem operasi. Proses berisi instruksi, data, program counter, register pemroses, stack data, alamat pengiriman dan variabel pendukung lainnya.

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.

Multithreading

-          Cara komputer untuk membagi-bagi pekerjaan yang dikerjakan sebagian-sebagian dengan cepat sehingga menimbulkam efek seperti menjalakan beberapa task secara bersamaan walaupun otaknya hanya satu.

-          Multi-threading mengizinkan program untuk terus berjalan walaupun pada bagian program tersebut diblock atau sedang dalam keadaan menjalankan operasi yang lama/panjang. Contohnya multithread web browser dapat mengizinkan pengguna berinteraksi dengan suatu thread ketika suatu gambar sedang diload oleh thread yang lain.


Keuntungan Multithreading

Keuntungan dari program yang multithrading dapat dipisah menjadi empat kategori :

1. Responsi

Membuat aplikasi yang interaktif menjadi multithreading dapat membuat sebuah program terus berjalan meskipun sebagian dari program tersebut diblok atau melakukan operasi yang panjang, karena itu dapat meningkatkan respons kepada pengguna. Sebagai contohnya dalam web browser yang multithreading, sebuah thread dapat melayani permintaan pengguna sementara thread lain berusaha menampilkan image.

2. Berbagi sumber daya

Thread berbagi memori dan sumber daya dengan thread lain yang dimiliki oleh proses yang sama. Keuntungan dari berbagi kode adalah mengijinkan sebuah aplikasi untuk mempunyai beberapa thread yang berbeda dalam lokasi memori yang sama.

3. Ekonomi

Dalam pembuatan sebuah proses banyak dibutuhkan pengalokasian memori dan sumber daya. Alternatifnya adalah dengan penggunaan thread, karena thread berbagi memori dan sumber daya proses yang memilikinya maka akan lebih ekonomis untuk membuat dan context switch thread. Akan susah untuk mengukur perbedaan waktu antara proses dan thread dalam hal pembuatan dan pengaturan, tetapi secara umum pembuatan dan pengaturan proses lebih lama dibandingkan thread. Pada Solaris, pembuatan proses lebih lama 30 kali dibandingkan pembuatan thread, dan context switch proses 5 kali lebih lama dibandingkan context switch thread.

4. Utilisasi arsitektur multiprocessor

Keuntungan dari multithreading bisa sangat meningkat pada arsitektur multiprocessor, dimana setiap thread dapat berjalan secara pararel di atas processor yang berbeda. Pada arsitektur processor tunggal, CPU menjalankan setiap thread secara bergantian tetapi hal ini berlangsung sangat cepat sehingga menciptakan ilusi pararel, tetapi pada kenyataannya hanya satu thread yang dijalankan CPU pada satu-satuan waktu(satu -satuan waktu pada CPU biasa disebut time slice atau quantum).

SUMBER REFERENSI

https://ahmadnurihsan059.wordpress.com/2018/10/28/apa-itu-batch-system-pengertian-dan-penjelasannya/

http://jefrisuhardi.blogspot.com/2018/10/pengertian-dan-contoh-batch-system.html

http://rochmadudinus.blogspot.com/2013/03/definisi-batch-system-multiprograming.html

https://muhammdhadi8040170378.blogspot.com/p/critical-section-critical-section.html

https://michaelaureliuss.wordpress.com/2018/11/02/critical-section/

https://sites.google.com/a/student.unsika.ac.id/karaos/critical-section

http://femmifirdausahdiat.blogspot.com/2012/09/pcb-process-control-block.html

https://en.wikipedia.org/wiki/Process_control_block

http://hs32tiuntan.blogspot.com/2013/03/process-control-block-pcb.html

http://athiaatlbry84.blogspot.com/2019/06/distributed-processing.html

https://hansentan17.wordpress.com/2018/11/06/distributed-data-processing-system-beserta-contoh-implementasi/

https://muhammdhadi8040170378.blogspot.com/p/distributed-processing-adalah-kemampuan.html

https://id.wikipedia.org/wiki/Handheld_computer

http://ekanvynt.blogspot.com/2015/03/sistem-handheld.html

http://endrg.blogspot.com/2012/03/perkembangan-handheld.html

https://hansentan17.wordpress.com/2018/11/06/sistem-operasi-handheld/

https://safriansah.blogspot.com/2018/07/thread-dalam-sistem-operasi.html

http://mudahalgoritma.blogspot.com/2017/10/threads-sistem-operasi.html

https://vivimargaretha494.wordpress.com/2015/10/01/thread-pada-sistem-operasi-2/



Komentar