Mendalami Penjelasan Sistem Dari Batch System hingga Thread
PENJELASAN BATCH SYSTEM HINGGA THREAD
PENJELASAN BATCH SYSTEM
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 :
- 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 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”
- 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++:
Kesimpulan
PENJELASAN SISTEM PROCCES CONTROL BLOCK
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.PENJELASAN SISTEM DISTRIBUTED PROCESSING
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
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
- https://ahmadnurihsan059.wordpress.com/2018/10/28/apa-itu-batch-system-pengertian-dan-penjelasannya/
- https://www.vaia.com/en-us/explanations/computer-science/computer-programming/critical-section/
- https://www.geeksforgeeks.org/g-fact-70/https://www.geeksforgeeks.org/g-fact-70/
- https://en.wikipedia.org/wiki/Switchframe
- https://www.geeksforgeeks.org/process-table-and-process-control-block-pcb/
- https://www.scaler.com/topics/operating-system/process-control-block-in-os/
- https://interactivechaos.com/en/wiki/distributed-processing
- https://en.wikipedia.org/wiki/Distributed_system
- https://interactivechaos.com/en/wiki/distributed-processing
- https://oag.ca.gov/system/files/media/handheld-devices.pdf
- https://developer.android.com/guide/components/processes-and-threads?hl=id
- https://socs.binus.ac.id/2020/12/13/thread-unit-pemanfaatan-cpu/
Comments
Post a Comment