Kamis, 24 Oktober 2019

[Pengertian Dan Contoh ] Batch System, Critical Section, Process Control Block, Distributed Processing, Handheld, & Thread.


      Sebelumnya Assalamu'alaikum Wr Wb. Selamat pagi, siang sore, malam! saya akan memberi kalian materi tentang seputar beberapa istilah yang ada di dalam sistem operasi, yaitu Batch system, Critical section, Process control block, Distributed processing, Handheld, dan Thread. Oke tanpa menunggu lama sekarang saya akan menjelaskan Batch system terlebih dulu.

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. Tapi, dalam beberapa fungsi sistem operasi, seperti os yang tengah berkembang pada jaman sekarang ini. Contohnya adlah FMS ( Fortarn Monitoring System ) dan IBSYS.

      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.


      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.

      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.

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. Mutually exclusive yakni keadaan terjadinya akses resources yang sama di saat yang bersamaan. Mutually exclusive memerlukan kondisi tertentu agar dapat terpenuhi.

      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.

      Seperti yang telah kita ketahui bahwa proses dapat bekerja sendiri (independent process) dan juga dapat bekerja bersama proses-proses yang lain (cooperating process). Pada umumnya ketika proses saling bekerjasama (cooperating process) maka proses-proses tersebut akan saling berbagi data. Pada saat proses-proses berbagi data, ada kemungkinan bahwa data yang dibagi secara bersama itu akan menjadi tidak konsisten dikarenakan adanya kemungkinan proses-proses tersebut melakukan akses secara bersamaan yang menyebabkan data tersebut berubah, hal ini dikenal dengan istilah Race Condition.

      Oleh karena itu, dibutuhkan solusi yang tepat untuk menghindari munculnya Race Condition. Solusi tersebut harus memenuhi ketiga syarat berikut:
1. Mutual Exclusion.
Apabila proses Pi menjalankan critical section-nya, maka tidak ada proses lain yang dapat menjalankan critical section.
2. Progress.
Apabila tidak ada proses yang menjalankan critical section-nya dan terdapat beberapa proses yang akan memasuki critical section-nya, maka hanya proses-proses itu yang tidak diproses di dalam daerah pengingat (remainder) dapat ikut berpartisipasi di dalam keputusan proses mana yang akan memasuki critical section selanjutnya, dan pemilihan ini tidak dapat ditunda tiba-tiba.
3. Bounded Waiting.
Terdapat batasan jumlah waktu yang diijinkan oleh proses lain untuk memasuki critical section setelah sebuah proses membuat permintaan untuk memasuki critical section-nya dan sebelum permintaan dikabulkan.
Ada dua jenis solusi untuk memecahkan masalah critical section, yaitu.

1. Solusi Perangkat Lunak. Solusi ini menggunakan algoritma-algoritma untuk mengatasi masalah critical section.
2. Solusi Perangkat Keras. 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.



      Tiap proses digambarkan dalam sistem operasi oleh sebuah process control block (PCB) juga disebut sebuah control block. PCB berisikan banyak bagian dari informasi yang berhubungan dengan sebuah proses yang spesifik, Contoh sistem operasi modern adalah Linux, Android, iOS, Mac OS X, dan Microsoft Windows.
      Process Control Block (PCB) digunakan untuk menyimpan koleksi informasi mengenai proses. Informasi proses tersebut nantinya digunakan oleh CPU pada waktu mengeksekusi. Berbagai macam informasi yang disimpan dalam PCB antara lain:
1) Nama proses.
2) Status/kondisi proses, apakah dalam keadaan Siap, Aktif, atau Menunggu.
3) Sumber-sumber informasi yang dialokasikan ke proses.
4) Memori yang disediakan untuk proses.
5) Penjadwalan informasi.
6) Input dan output dari alat yang digunakan oleh proses.
7) Process ID (PID) atau sebuah Identification Number yang diberikan oleh CPU ketika proses meminta sebuah pelayanan/service.

      Saat proses sedang berjalan, juga ada beberapa elemen yang juga ikut ambil andil dalam berjalannya proses tersebut.
a. Identifier – Penjelasan proses apa yang terjadi pada saat itu.
b. State – Status/kondisi proses pada saat terjadi.
c. Priority – Urutan penting atau tidaknya proses yang akan dijalankan terlebih dahulu.
d. Program counter – Proses sedang berjalan di alamat mana.
e. Memory pointers – Tempat penyimpanan proses.
f. Context data – Data-data yang ada sangkut-pautnya dengan proses.
g. I/O status information – Informasi dari input dan output yang ingin dijalankan.
h. Accounting information – Penjelasan informasi yang akan digunakan.

     Setiap proses memiliki daftar urutan instruksi yang dijalankan, daftar tersebut adalah trace. Dispatcher adalah program kecil yang mengatur proses mana yang akan dijalankan prosesor. Dispatcher akan berjalan ketika sistem operasi juga mulai berjalan.



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
1.       Internet
·         Jaringan komputer dan aplikasi yang heterogen.
·         Mengimplementasikan protokol internet.
2.       Intranet
·         Jaringan yang teradminitrasi secara lokal.
·         Terhubung ke internet melalui firewall.
·         Menyediakan layanan internet dan eksternal.
3.       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
4.       Sistem Telepon
·         ISDN atau yang biasa disebut jaringan telpon tetap (dengan kabel).
·         PSTN jaringan telepon/telekomunikasi yang semuanya digital.
5.       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

      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.

Thread

   Thread dalam sistem operasi dapat diartikan sebagai sekumpulan perintah (instruksi) yang dapatdilaksanakan (dieksekusi) secara sejajar dengan ulir lainnya, dengan menggunakan cara time slice (ketika satu CPU melakukan perpindahan antara satu ulir ke ulir lainnya) atau multiprocess (ketika ulir-ulir tersebut dilaksanakan oleh CPU yang berbeda dalam satu sistem).

    Ulir sebenarnya mirip dengan proses, tapi cara berbagi sumber daya antara proses dengan ulir sangat berbeda. Multiplethread dapat dilaksanakan secara sejajar pada sistem komputer. Secaraumum multithreading melakukan time-slicing (sama dengan time-division multipleks), di manasebuah CPU bekerja pada ulir yang berbeda, di mana suatu kasus ditangani tidak sepenuhnyasecara serempak, untuk CPU tunggal pada dasarnya benar-benar melakukan sebuah pekerjaan pada satu waktu.

    Thread saling berbagi bagian program, bagian data dan sumber daya sistem operasi denganthread lain yang mengacu pada proses yang sama. Thread terdiri atas ID thread, program counter,himpunan register, dan stack. Dengan banyak kontrol thread proses dapat melakukan lebih darisatu pekerjaan pada waktu yang sama.

Pada proses thread terdapat dua jenis thread, yaitu:


1.       Single Thread Process
Sebuah proses tradisional atau heavyweight process mempunyai single thread yang berfungsi sebagai pengendali. Dapat diartikan sebagai proses yang bekerja secara berurutan sesuai dengan urutan masing-masing thread (terstruktur) dan hanyamengerjakan satu tugas dalam satu waktu. Di samping ini merupakan gambar singlethread.

2.       Multithread Process
Merupakan satu atau beberapa thread yang dijalankan secara bersamaan(multiproses), dimana masing-masing thread tersebut dijalankan pada jalur masing-masing. Setiap thread pada multithread menjalankan kode atau script program secara berurutan.Multithread dapat diartikan juga sebagai suatu proses dengan thread banyak dapat mengerjakan lebih dari satu tugas pada satu satuan waktu. Multithread sering pula disebut dengan multiproses atau multitasking pada sistem operasi.

Model Multithread
Beberapa terminologi yang akan di bahas, yaitu:

1.       User (pengguna) thread
User thread didukung di atas kernel dan diimplementasi oleh thread library pada user level. Library menyediakan 'asilitas untuk pembuatan thread, penjadualan thread, dan managemen thread tanpa dukungan dari kernel. Adapun kelemahannya yang dialami yaitu apabila kernelnya merupakanthread tunggal maka apabila salah satu user-level thread menjalankan blockingsystem call maka akan mengakibatkan seluruh proses diblok walau pun ada threadlain yang dapat jalan dalam aplikasi tersebut
2.       Kernel tread
Kernel thread didukung langsung oleh sistem operasi. Pembuatan, penjadualan, dan managemen thread dilakukan oleh kernel pada kernel space.Pembuatan dan pengaturan kernel thread lebih lambat dibandingkan user thread. Keuntungannya adalah jika sebuah thread menjalankan blocking systemcall maka kernel dapat menjadualkan thread lain di aplikasi untuk melakukaneksekusi. Pada lingkungan multiprocessor, kernel dapat menjadual thread-thread pada processor yang berbeda.Contoh sistem operasi yang mendukung kernel thread adalah Windows NT, Solaris, Digital UNIX.

Ada tiga perbedaan tipe dari model yang berhubungandengan user dan kernel thread.
1.      Model many to one: memetakan beberapa user level thread hanya ke satu buah kernelthread.
2.      Model one to one: memetakan setiap user thread ke dalam satu kernel thread. berakhir.
3.   Model many to many: mengi8inkan pengembang untuk membuat user thread sebanyak mungkin, konkurensi tidak dapat tercapai karena hanya satu thread yang dapatdijadualkan oleh kernel dalam satu waktu.


Sekian [Pengertian Dan Contoh ] Batch System, Critical Section, Process Control Block, Distributed Processing, Handheld, & Thread yang dapat saya jelaskan, semoga bermanfaat bagi para pembaca, dan terimakasih.
wassalamualaikum Warahmatullahhiwabarakatuh.



Sumber Referensi:

Batch System:

Critical Section :

Tidak ada komentar:

Posting Komentar