Mendalami Penjelasan Sistem Dari Batch System hingga Thread

 PENJELASAN BATCH SYSTEM HINGGA THREAD

PENJELASAN 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 masih belum dilengkapi oleh sebuah sistem operasi. But, dalan beberapa fungsi sistem operasi, seperti os yang tengah berkembang pada jaman sekarang ini. Contohnya adlah FMS ( Fortarn Monitoring System ) dan IBSYS.

Jadi bisa disimpulkan, bahwa komputer generasi ke-2 ini merupakan generasi pertama Sistem Operasi.

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
  2. Operator bertugas mengatur urutan job

  1. 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 yang mampu mentransfer secara otomatis dari suatu proses ke proses lainnya. Program kecil dan bersifat residen dimemori serta berisi urutan2 job yang akan berpindah secara otomatis, inilah “Resident Monitor”

  1. Overlap Operasi antara I/O 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.

PENJELASAN SISTEM CRITICAL SECTION

Critical section adalah bagian dari kode dalam pemrograman yang diakses oleh beberapa proses atau thread secara bersamaan, dan di mana akses ke sumber daya bersama harus dikelola dengan hati-hati untuk mencegah kondisi balapan (race conditions) dan memastikan konsistensi data.
Critical section merujuk pada segmen kode yang memerlukan mutual exclusion—hanya satu proses atau thread yang dapat menjalankan bagian ini pada satu waktu. Jika lebih dari satu proses mencoba mengakses critical section secara bersamaan, hal ini dapat menyebabkan hasil yang tidak terduga atau korupsi data.


Pentingnya Critical Section

Critical section sangat penting dalam konteks pemrograman paralel dan sistem multi-threading karena:

  • Mencegah Data Corruption: Dengan memastikan bahwa hanya satu thread yang dapat mengakses sumber daya bersama pada satu waktu, critical section membantu menjaga integritas data.
  • Menghindari Race Conditions: Race condition terjadi ketika dua atau lebih proses berusaha mengakses dan memodifikasi sumber daya yang sama secara bersamaan, yang dapat menghasilkan hasil yang tidak konsisten.
  • Menjaga Stabilitas Sistem: Implementasi yang benar dari critical section meningkatkan efisiensi dan stabilitas sistem dengan mengontrol akses ke sumber daya bersama.


Masalah Critical Section

Masalah critical section melibatkan beberapa tantangan utama:

  • Mutual Exclusion: Ketika satu proses berada dalam critical section, tidak ada proses lain yang boleh masuk ke critical section tersebut.
  • Progress: Jika tidak ada proses yang sedang menjalankan critical section, maka proses lain yang ingin masuk tidak boleh menunggu tanpa batas.
  • Bounded Waiting: Harus ada batasan pada jumlah kali suatu proses dapat menjalankan critical section setelah permintaan masuk diajukan oleh proses lain.

Implementasi Critical Section

Untuk mengelola akses ke critical section, berbagai mekanisme sinkronisasi digunakan, seperti:

  • Mutex (Mutual Exclusion): Menggunakan kunci untuk memastikan bahwa hanya satu thread yang dapat memasuki critical section pada satu waktu.
  • Semaphores: Variabel yang digunakan untuk mengontrol akses ke sumber daya tertentu dengan cara menghitung jumlah akses yang diizinkan.

Contoh Implementasi

Berikut adalah contoh sederhana menggunakan mutex dalam C++:


Dalam contoh ini, mutex digunakan untuk melindungi akses ke sharedResource, memastikan bahwa hanya satu thread pada satu waktu yang dapat memodifikasi nilai tersebut.

Kesimpulan

Critical section adalah konsep fundamental dalam pemrograman paralel dan sistem operasi, penting untuk menjaga integritas data dan stabilitas aplikasi. Dengan menggunakan mekanisme sinkronisasi yang tepat, programmer dapat mencegah masalah seperti race conditions dan memastikan bahwa sistem beroperasi dengan efisien.

PENJELASAN SISTEM PROCCES CONTROL BLOCK

Proses Kontrol Blok (Process Control Block, PCB) adalah struktur data yang digunakan oleh sebuah sistem operasi untuk mengelola semua informasi terkait dengan sebuah proses.

Fungsi Proses Kontrol Blok

  • Identifikasi Proses: Setiap proses diberikan identifikator unik, biasanya disebut sebagai Process Identification Number (PID).
  • Manajemen Schedulling: Informasi schedulling seperti prioritas, algoritma pemesanan, serta waktu eksekusi yang telah dilakukan.
  • Informasi Registor: Nilai-nilai registor CPU saat proses berlangsung, termasuk program counter (pointer ke instruksi berikutnya).
  • Status Proses: Informasi tentang status proses, yaitu apakah proses sedang siap (ready), berjalan (running), menunggu (waiting), atau sudah selesai (dead).
  • Komunikasi Antarpemrosesan: Flag, signal, dan pesan terkait komunikasi antar-proses.
  • Privilegi Akses: Hak akses yang diperbolehkan atau tidak kepada sumber daya sistem.

Struktur Proses Kontrol Blok

Elemen Utama

  • ID Proses (PID): Nomor unik yang mengidentifikasi setiap proses.
  • Program Counter (PC): Pointer ke alamat instruksi berikutnya yang akan dieksekusi. Registor CPU: Kopi nilai-nilai registor CPU untuk mempertahankan konteks eksekusi.
  • Informasi Pemesanan CPU: Prioritas dan informasi lainnya terkait alokasi waktu CPU. Memori Manajemen: Detail tabel halaman memori, batas-batas memori, serta tabel segment.
  • Akuntansi: Statistik penggunaan CPU, batas waktu, dan ID eksekusi lainnya. I/O Device Allocated: Daftar perangkat I/O yang dialokasikan bagi proses.

Lokalisasi Proses Kontrol Blok

PCB biasanya disimpan di tempat memori yang dilindungi dari akses normal proses agar tetap aman dan stabil. Beberapa sistem operasi meletakkannya di awal stack kerja kernel untuk membuatnya lebih aman.

Peran Penting dalam Konteks Swtich

Selama swtch konteks, sistem operasi menyimpan status proses saat ini ke registor CPU dan kemudian mereproduksinya dari PCB ketika proses itu ditetapkan lagi untuk berjalan. Ini memungkinkan banyak proses berbagi CPU secara efisien tanpa gangguan.
Dengan demikian, PCB menjadi elemen krusial dalam manajemen proses di sistem operasi, memfasilitasi pengelolaan proses yang efektif dan efisien.


PENJELASAN SISTEM DISTRIBUTED PROCESSING

Distributed Processing adalah teknik yang digunakan untuk membagi sekumpulan besar data atau tugas menjadi bagian-bagian kecil yang dapat diproses secara bersamaan pada mesin yang berbeda. Teknik ini sering digunakan untuk mempercepat eksekusi tugas yang memerlukan banyak perhitungan, seperti menganalisis kumpulan data yang besar atau melatih model pembelajaran mesin yang kompleks.

Ada beberapa teknologi yang umum digunakan dalam pemrosesan terdistribusi. Salah satunya adalah MapReduce, yang merupakan model pemrograman yang dikembangkan oleh Google yang memungkinkan pemrosesan paralel kumpulan data besar pada beberapa mesin. MapReduce terdiri dari dua fungsi utama: "map", yang memproses data input, dan "reduce", yang menggabungkan output dari fungsi map.

Teknologi lain yang digunakan dalam pemrosesan terdistribusi adalah Apache Spark, yang merupakan mesin pemrosesan data sumber terbuka yang dapat menangani kumpulan data besar secara terdistribusi. Spark dapat memproses data dalam memori, yang membuatnya lebih cepat daripada teknologi pemrosesan terdistribusi lainnya.

Teknologi lain yang digunakan dalam pemrosesan terdistribusi termasuk Hadoop, yang merupakan kerangka kerja sumber terbuka untuk menyimpan dan memproses kumpulan data yang besar, dan Apache Flink, yang merupakan mesin pemrosesan data streaming.

Secara keseluruhan, pemrosesan terdistribusi adalah alat yang ampuh untuk mempercepat pelaksanaan tugas yang memerlukan banyak perhitungan, dan ada berbagai teknologi yang tersedia untuk menerapkannya.

PENJELASAN SISTEM HANDHELD

Handheld devices, juga dikenal sebagai perangkat genggam, adalah alat elektronik yang cukup kecil untuk dipegang dengan satu tangan dan dirancang untuk digunakan secara portabel.

Definisi dan Karakteristik

Handheld devices adalah perangkat komputasi yang biasanya memiliki ukuran yang cukup kecil untuk dimasukkan ke dalam saku atau dibawa dengan mudah. Mereka sering kali dilengkapi dengan layar datar dan satu atau lebih perangkat input bawaan, seperti layar sentuh atau keypad. Umumnya, perangkat ini juga menggunakan baterai sebagai sumber daya.

Ciri-Ciri Utama:

  • Portabilitas: Dapat dengan mudah dibawa dan digunakan di berbagai lokasi.
  • Baterai Daya: Biasanya beroperasi dengan daya baterai, memungkinkan penggunaan tanpa perlu terhubung ke sumber listrik.
  • Konektivitas: Banyak handheld devices yang mendukung koneksi nirkabel, seperti Wi-Fi dan Bluetooth, untuk berinteraksi dengan internet dan perangkat lain.

Jenis Handheld Devices

Berbagai jenis handheld devices ada di pasaran, termasuk tetapi tidak terbatas pada:

  • Smartphone: Perangkat multifungsi yang menggabungkan telepon seluler dengan kemampuan komputasi. Tablet: Perangkat layar sentuh yang lebih besar dari smartphone tetapi tetap portabel.
  • Kalkulator: Alat untuk melakukan perhitungan matematis. GPS (Global Positioning System): Perangkat untuk navigasi berbasis satelit.
  • Kamera Digital: Untuk pengambilan foto dan video. Smartwatch: Jam tangan pintar yang dapat terhubung dengan smartphone untuk menerima notifikasi dan melacak aktivitas.

PENJELASAN SISTEM THREAD

Sistem thread adalah mekanisme dalam sistem operasi yang memungkinkan eksekusi beberapa alur kontrol (thread) dalam satu proses secara bersamaan. Thread merupakan unit dasar dari pemanfaatan CPU yang memungkinkan multitasking di dalam aplikasi, sehingga meningkatkan efisiensi dan responsivitas.

Definisi dan Karakteristik Thread

  • Thread: Sebuah thread adalah alur kontrol yang dapat berjalan dalam konteks proses. Setiap thread memiliki elemen penting seperti Thread ID, program counter, set register, dan stack. Berbeda dengan proses, thread berbagi bagian kode, data, dan sumber daya sistem lainnya dengan thread lain dalam proses yang sama, menjadikannya lebih ringan dan efisien dibandingkan dengan proses tradisional yang lebih berat.
  • Multithreading: Konsep ini memungkinkan sebuah proses untuk memiliki lebih dari satu thread. Dengan multithreading, aplikasi dapat menjalankan beberapa tugas secara bersamaan, seperti mengetik dokumen sambil melakukan pemeriksaan ejaan secara real-time
.

Keuntungan Menggunakan Thread

  • Ekonomi Sumber Daya: Thread lebih efisien dalam hal penggunaan memori dan sumber daya dibandingkan dengan pembuatan proses baru. Pembuatan dan pengaturan thread jauh lebih cepat daripada proses, sehingga mengurangi overhead.
  • Responsivitas: Dengan multithreading, aplikasi dapat tetap responsif meskipun salah satu thread sedang melakukan operasi panjang atau diblokir. Misalnya, dalam aplikasi web browser, satu thread bisa menangani interaksi pengguna sementara thread lain memuat konten.
  • Utilisasi Arsitektur Multiprocessor: Pada sistem multiprocessor, setiap thread dapat berjalan secara paralel di prosesor yang berbeda, meningkatkan kinerja keseluruhan aplikasi.

REFERENSI

  1. https://ahmadnurihsan059.wordpress.com/2018/10/28/apa-itu-batch-system-pengertian-dan-penjelasannya/
  2. https://www.vaia.com/en-us/explanations/computer-science/computer-programming/critical-section/
  3. https://www.geeksforgeeks.org/g-fact-70/https://www.geeksforgeeks.org/g-fact-70/
  4. https://en.wikipedia.org/wiki/Switchframe
  5. https://www.geeksforgeeks.org/process-table-and-process-control-block-pcb/
  6. https://www.scaler.com/topics/operating-system/process-control-block-in-os/
  7. https://interactivechaos.com/en/wiki/distributed-processing
  8. https://en.wikipedia.org/wiki/Distributed_system
  9. https://interactivechaos.com/en/wiki/distributed-processing
  10. https://oag.ca.gov/system/files/media/handheld-devices.pdf
  11. https://developer.android.com/guide/components/processes-and-threads?hl=id
  12. https://socs.binus.ac.id/2020/12/13/thread-unit-pemanfaatan-cpu/


Comments

Popular posts from this blog

SEJARAH SISTEM OPERASI DOS, SISTEM OPERASI Windows, SISTEM OPERASI MAC,SISTEM OPERASI Linux, SISTEM OPERASI Android

Rangkuman video Random Acces Memory