Senin, 16 Oktober 2023

Sistem Operasi

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

 Critical Section

 

Bagian Kritis adalah bagian dari program yang mencoba mengakses sumber daya bersama. Sumber daya itu dapat berupa sumber daya apa pun di komputer seperti lokasi memori, struktur data, CPU, atau perangkat IO apa pun.

Bagian kritis tidak dapat dieksekusi oleh lebih dari satu proses pada saat yang sama; sistem operasi menghadapi kesulitan dalam mengizinkan dan melarang proses memasuki bagian kritis.

Masalah bagian kritis digunakan untuk merancang seperangkat protokol yang dapat memastikan bahwa kondisi Race di antara proses tidak akan pernah muncul.

Untuk menyinkronkan proses kooperatif, tugas utama kami adalah menyelesaikan masalah bagian kritis. Kita perlu memberikan solusi sedemikian rupa sehingga kondisi berikut dapat dipenuhi.


Persyaratan mekanisme Sinkronisasi


Utama
  • Mutual Exclusion

Solusi kami harus memberikan pengecualian bersama. Yang dimaksud dengan Mutual Exclusion adalah jika satu proses dieksekusi di dalam critical section maka proses lainnya tidak boleh masuk ke dalam critical section.


 


  • Progress

Progress artinya jika satu proses tidak perlu dieksekusi ke critical section maka tidak boleh menghentikan proses lain untuk masuk ke critical section.


Sekunder
  • Bounded Waiting

Kita harus bisa memprediksi waktu tunggu setiap proses untuk masuk ke critical section. Prosesnya tidak boleh terus-menerus menunggu untuk masuk ke critical section.

  • Architectural Neutrality

Mekanisme kita harus arsitektural alami. Ini berarti bahwa jika solusi kami bekerja dengan baik pada satu arsitektur, maka solusi tersebut juga harus berjalan pada arsitektur lainnya.

Sebagian besar solusi untuk masalah bagian kritis menggunakan kunci yang diterapkan pada perangkat lunak. Solusinya meliputi:

  • test_and_set: Menggunakan kunci variabel boolean bersama dan instruksi test_and_set yang dijalankan secara atomik dan menetapkan nilai parameter yang diteruskan ke true.

  • compare_and_swap: Sama seperti test_and_set, kecuali bahwa nilai parameter yang diteruskan disetel ke true jika sama dengan yang diharapkan dalam parameter instruksi compare_and_swap.

  • Mutex locks: Metode perangkat lunak yang menyediakan fungsi akuisisi() dan rilis() yang dijalankan secara atomik.

  • Semaphores: Metode yang lebih canggih yang memanfaatkan operasi wait() dan signal() yang dijalankan secara atom pada Semaphore S, yang merupakan variabel integer.

  • Condition variables: Memanfaatkan antrian proses yang menunggu untuk memasuki bagian kritis.

Itu dapat divisualisasikan menggunakan pseudo-code di bawah ini:



Solusi sederhana untuk bagian kritis dapat dipikirkan seperti yang ditunjukkan di bawah ini,



Process Control Block

Process Control Block adalah struktur data yang berisi informasi tentang proses yang terkait dengannya. Process Control Block juga dikenal sebagai blok kontrol tugas, entri tabel proses, dll. Process Control Block Sangat penting untuk manajemen proses karena penataan data untuk proses dilakukan dalam bentuk PCB. Ini juga mendefinisikan keadaan sistem operasi saat ini.


Struktur Blok Kontrol Proses

Kontrol proses menyimpan banyak item data yang diperlukan untuk manajemen proses yang efisien. Beberapa item data ini dijelaskan dengan bantuan diagram yang diberikan








  • Process State

Ini menentukan status proses yaitu baru, siap, berjalan, menunggu atau dihentikan.

  • Process Number

Ini menunjukkan jumlah proses tertentu.

  • Program Counter

Ini berisi alamat instruksi berikutnya yang perlu dieksekusi dalam proses.

  • Registers

Ini menentukan register yang digunakan oleh proses. Mereka mungkin termasuk akumulator, register indeks, penunjuk tumpukan, register tujuan umum, dll.

  • Daftar File yang Terbuka

Ini adalah file berbeda yang terkait dengan proses

  • CPU Scheduling Information

Prioritas proses, pointer ke antrian penjadwalan dll adalah informasi penjadwalan CPU yang terkandung dalam PCB. Ini juga dapat mencakup parameter penjadwalan lainnya.

  • Memory Management Information

Informasi manajemen memori termasuk tabel halaman atau tabel segmen tergantung pada sistem memori yang digunakan. Ini juga berisi nilai register dasar, register batas, dll.

  • I/O Status Information

Informasi ini mencakup daftar perangkat I/O yang digunakan oleh proses, daftar file, dll.

  • Accounting information

Batas waktu, nomor akun, jumlah CPU yang digunakan, nomor proses, dll. Semuanya merupakan bagian dari informasi akuntansi PCB.

  • Location of the Process Control Block

Blok kontrol proses disimpan di area memori yang dilindungi dari akses pengguna normal. Hal ini dilakukan karena mengandung informasi proses yang penting. Beberapa sistem operasi menempatkan PCB di awal tumpukan kernel untuk proses karena merupakan lokasi yang aman.

 

Distributed Processing

Pemrosesan terdistribusi adalah pengaturan di mana beberapa unit pemrosesan pusat (CPU) individu bekerja pada program, fungsi, atau sistem yang sama untuk memberikan kemampuan lebih bagi komputer atau perangkat lain.


Awalnya, mikroprosesor konvensional hanya melibatkan satu CPU pada sebuah chip. Sebagai rekayasa mikroprosesor berkembang, produsen menemukan bahwa untuk mempercepat proses, lebih dari satu prosesor dapat digabungkan pada satu unit. Banyak prosesor modern melibatkan desain multi-core, seperti desain quad-core yang dipelopori oleh perusahaan seperti Intel, di mana empat prosesor terpisah menawarkan kecepatan yang sangat tinggi untuk eksekusi program dan logika.


Pemrosesan terdistribusi juga dapat digunakan sebagai sinonim kasar untuk pemrosesan paralel, di mana program dibuat untuk berjalan lebih cepat dengan banyak prosesor. Dengan strategi memasukkan lebih dari satu prosesor pada chip mikroprosesor, pengguna perangkat keras juga dapat merangkai beberapa komputer bersama-sama untuk menerapkan pemrosesan paralel dengan aplikasi yang dikenal sebagai perangkat lunak pemrosesan terdistribusi.


Konsep pemrosesan terdistribusi sejalan dengan hukum Moore, yang menyatakan bahwa jumlah transistor pada sirkuit terpadu (IC) individu berlipat ganda setiap dua tahun. Karena teori ini sebagian besar telah terbukti benar selama empat dekade terakhir, strategi rekayasa seperti pemrosesan terdistribusi juga telah menambah kecepatan perangkat logis untuk beberapa kemajuan luar biasa dalam kemampuan komputer untuk melakukan tugas-tugas fungsional.


Sistem operasi terdistribusi (DOS) adalah jenis penting dari sistem operasi. Sistem terdistribusi menggunakan banyak prosesor pusat untuk melayani beberapa aplikasi dan pengguna waktu nyata. Akibatnya, pekerjaan pemrosesan data didistribusikan di antara prosesor.

Ini menghubungkan beberapa komputer melalui saluran komunikasi tunggal. Selanjutnya, masing-masing sistem ini memiliki prosesor dan memori sendiri. Selain itu, CPU ini berkomunikasi melalui bus berkecepatan tinggi atau saluran telepon. Sistem individu yang berkomunikasi melalui saluran tunggal dianggap sebagai satu kesatuan. Mereka juga dikenal sebagai sistem yang digabungkan secara longgar.



Sistem operasi ini terdiri dari banyak komputer, node, dan situs yang bergabung bersama melalui jalur LAN/WAN. Ini memungkinkan distribusi sistem penuh pada beberapa prosesor pusat, dan mendukung banyak produk waktu nyata dan pengguna yang berbeda. Sistem operasi terdistribusi dapat berbagi sumber daya kompThreadi dan file I/O sambil memberikan abstraksi mesin virtual kepada pengguna.


Jenis Sistem Operasi Terdistribusi

Ada berbagai jenis sistem Operasi Terdistribusi. Beberapa di antaranya adalah sebagai berikut:

  1. Client-Server Systems

  2. Peer-to-Peer Systems

  3. Middleware

  4. Three-tier

  5. N-tier

Client-Server System

Jenis sistem ini mengharuskan klien untuk meminta sumber daya, setelah itu server memberikan sumber daya yang diminta. Ketika klien terhubung ke server, server dapat melayani beberapa klien secara bersamaan.

Sistem Server-Klien juga disebut sebagai "Sistem Operasi yang Digabungkan dengan Ketat". Sistem ini terutama ditujukan untuk multiprosesor dan multikomputer homogen. Sistem Client-Server berfungsi sebagai server terpusat karena mereka menyetujui semua permintaan yang dikeluarkan oleh sistem klien.

Contoh Sistem Operasi Terdistribusi

Ada berbagai contoh sistem operasi terdistribusi. Beberapa di antaranya adalah sebagai berikut:

Solaris

Ini dirancang untuk workstation multiprosesor SUN

OSF/1

Ini kompatibel dengan Unix dan dirancang oleh Open Foundation Software Company.

Micros

Sistem operasi MICROS memastikan beban data yang seimbang sambil mengalokasikan pekerjaan ke semua node dalam sistem.

DYNIX

Ini dikembangkan untuk komputer multiprosesor Symmetry.

Locus

Ini dapat diakses file lokal dan remote pada saat yang sama tanpa hambatan lokasi.

Mach

Ini memungkinkan fitur multithreading dan multitasking.

Aplikasi Sistem Operasi Terdistribusi

Ada berbagai aplikasi dari sistem operasi terdistribusi. Beberapa di antaranya adalah sebagai berikut:

Network Applications

DOS digunakan oleh banyak aplikasi jaringan, termasuk Web, jaringan peer-to-peer, game berbasis web multipemain, dan komunitas virtual.

Telecommunication Networks

DOS berguna di telepon dan jaringan seluler. DOS dapat ditemukan di jaringan seperti Internet, jaringan sensor nirkabel, dan algoritma perutean.

Parallel Computation

DOS adalah dasar dari kompThreadi sistematis, yang mencakup kompThreadi cluster dan kompThreadi grid, dan berbagai proyek kompThreadi sukarela.

Real-Time Process Control

Sistem kontrol proses waktu nyata beroperasi dengan tenggat waktu, dan contoh-contoh tersebut termasuk sistem kontrol pesawat.

 


Handheld


Handheld Atau disebut sebagai HPC, PC genggam, PC genggam, atau komputer genggam adalah perangkat komputer yang dapat dipegang di telapak tangan. Komputer ini biasanya digunakan untuk menyimpan janji, nomor telepon, tugas, dan data lain yang biasanya dibutuhkan saat jauh dari rumah atau kantor.



Sistem Genggam

Sistem Operasi yang memiliki prosesor kecepatan rendah, kebutuhan memori yang lebih sedikit dan ideal untuk digunakan di perangkat seluler dan asisten digital pribadi (PDA) disebut sistem operasi Genggam. Sistem seperti itu membutuhkan lebih sedikit sumber daya. Sistem ini juga dimaksudkan untuk bekerja dengan berbagai jenis perangkat keras. Mereka juga dikenal sebagai sistem operasi Seluler.


Perangkat genggam umumnya berukuran kecil yang sangat pas di telapak tangan. Perangkat ini dapat dibawa dengan mudah di saku. Sistem ini menggunakan Bluetooth, email, Wi-Fi, navigasi seluler GPS, kamera video, pemutar musik, penelusuran web, dan teknologi nirkabel lainnya. Perangkat genggam paling dasar dirancang untuk aplikasi manajemen informasi pribadi (PIM), memungkinkan pengguna menyimpan kalender, daftar tugas, dan alamat.


Perangkat genggam membebaskan sejumlah besar panas yang dihasilkan oleh CPU. Untuk mengatasi hal ini, perusahaan merancang CPU yang lebih kecil dengan kebutuhan daya yang lebih rendah dan generasi panas yang lebih rendah. Banyak perangkat genggam menggunakan kartu memori flash untuk memori internal mereka karena hard drive besar tidak dapat masuk ke perangkat genggam. Ada tiga pilihan konektivitas yang berbeda untuk sistem genggam: pertama, sinkronisasi dengan desktop atau komputer portabel, kedua, menghubungkan ke jaringan area lokal (LAN), dan ketiga, menghubungkan langsung ke Internet.


Jenis Sistem Genggam

Sistem genggam hadir dalam berbagai ukuran dan bentuk untuk berbagai jenis penggunaan. Perangkat genggam umumnya dikategorikan dalam dua cara:


Faktor penampilan/bentuk

Ada dua divisi dalam tampilan fisik perangkat genggam: tablet dan desain clamshell. Tablet berukuran kecil dan memiliki keyboard integral. Perangkat clamshell adalah versi mini dari keyboard dan layar. Faktor bentuk lainnya termasuk mekanisme input yang berbeda, pengenalan tulisan tangan, prosesor, memori, konektivitas nirkabel, konektivitas nirkabel, jenis baterai, layar, dan kamera.


Sistem operasi dan fungsionalitas

Sistem operasi genggam melakukan operasi yang mirip dengan OS desktop besar dan rekan portabelnya. Dua OS yang paling banyak digunakan untuk sistem genggam adalah Microsoft Windows Mobile suite dan Palm OS.


Keuntungan dan kerugian

Keuntungan dari sistem operasi Genggam

  • Mereka kecil dan ringan dan mudah dibawa-bawa.

  • Mereka membutuhkan beberapa detik untuk boot.

  • Mereka memiliki masa pakai baterai yang sangat lama.

  • Biayanya jauh lebih rendah dibandingkan dengan desktop atau portabel.


Kekurangan sistem operasi Genggam

  • Ukuran layar yang kecil membatasi kegunaan.

  • Prospek ekspansi dan upgrade terbatas.

  • Mereka memiliki prosesor berkecepatan rendah dan lebih sedikit memori.

  • Interoperabilitas dan konektivitas terbatas saat ini.

Thread

Thread adalah aliran sekuensial tunggal pelaksanaan tugas dari suatu proses sehingga juga dikenal sebagai thread of execution atau thread of control. Ada cara eksekusi Thread di dalam proses sistem operasi apa pun. Terlepas dari ini, bisa ada lebih dari satu Thread di dalam suatu proses. Setiap Thread dari proses yang sama menggunakan penghitung program terpisah dan setumpuk catatan aktivasi dan blok kontrol. Thread sering disebut sebagai proses yang ringan.



Prosesnya dapat dipecah menjadi begitu banyak Thread. Misalnya, di browser, banyak tab dapat dilihat sebagai Thread. MS Word menggunakan banyak Thread - memformat teks dari satu Thread, memproses input dari Thread lain, dll.


Kebutuhan Thread:

  • Dibutuhkan jauh lebih sedikit waktu untuk membuat thread baru dalam proses yang ada daripada membuat proses baru.

  • Thread dapat berbagi data umum, mereka tidak perlu menggunakan komunikasi Antar Proses.

  • Pergantian konteks lebih cepat saat bekerja dengan Thread.

  • Dibutuhkan lebih sedikit waktu untuk mengakhiri Thread daripada proses.


Jenis Thread

Dalam sistem operasi, ada dua jenis Thread.

  1. Kernel level thread.

  2. User-level thread.


User-level thread

Sistem operasi tidak mengenali Thread tingkat pengguna. Thread pengguna dapat dengan mudah diimplementasikan dan diimplementasikan oleh pengguna. Jika pengguna melakukan operasi pemblokiran Thread tingkat pengguna, seluruh proses diblokir. Thread tingkat kernel tidak tahu apa-apa tentang Thread tingkat pengguna. Thread tingkat kernel mengelola Thread tingkat pengguna seolah-olah itu adalah proses Thread tunggal? Contoh: Thread Java, Thread POSIX, dll.


Keuntungan dari User-Level Thread

  1. Thread pengguna dapat dengan mudah diimplementasikan daripada Thread kernel.

  2. Thread tingkat pengguna dapat diterapkan ke jenis sistem operasi yang tidak mendukung Thread di tingkat kernel.

  3. Lebih cepat dan efisien.

  4. Waktu sakelar konteks lebih pendek daripada Thread tingkat kernel.

  5. Tidak memerlukan modifikasi sistem operasi.

  6. Representasi Thread tingkat pengguna sangat sederhana. Blok kontrol register, PC, stack, dan mini thread disimpan di ruang alamat proses tingkat pengguna.

  7. Sangat mudah untuk membuat, mengganti, dan menyinkronkan Thread tanpa campur tangan proses.

Kekurangan Thread tingkat pengguna

  1. Thread tingkat pengguna tidak memiliki koordinasi antara Thread dan kernel.

  2. Jika Thread menyebabkan kesalahan halaman, seluruh proses diblokir.

Kernel level thread

Thread kernel mengenali sistem operasi. Ada blok kontrol Thread dan blok kontrol proses dalam sistem untuk setiap Thread dan proses di Thread tingkat kernel. Thread tingkat kernel diimplementasikan oleh sistem operasi. Kernel mengetahui semua Thread dan mengelolanya. Thread tingkat kernel menawarkan panggilan sistem untuk membuat dan mengelola Thread dari ruang pengguna. Implementasi Thread kernel lebih sulit daripada Thread pengguna. Waktu peralihan konteks lebih lama di Thread kernel. Jika Thread kernel melakukan operasi pemblokiran, eksekusi Thread Banky dapat dilanjutkan. Contoh: Windows Solaris.


Keuntungan dari Thread tingkat kernel
  1. Thread tingkat kernel sepenuhnya mengetahui semua Thread.

  2. Penjadwal dapat memutuskan untuk menghabiskan lebih banyak waktu CPU dalam proses thread menjadi numerik besar.

  3. Thread tingkat kernel bagus untuk aplikasi yang memblokir frekuensi.

Kekurangan Thread tingkat Kernel

  1. Thread kernel mengelola dan menjadwalkan semua Thread.

  2. Implementasi Thread kernel lebih sulit daripada Thread pengguna.

  3. Thread tingkat kernel lebih lambat dari Thread tingkat pengguna.

Komponen Thread

Setiap Thread memiliki komponen berikut.

  1. Penghitung program

  2. Daftar set

  3. Tumpuk ruang

Manfaat Thread

  • Peningkatan throughput sistem: Ketika proses dipecah menjadi banyak Thread, dan setiap Thread diperlakukan sebagai pekerjaan, jumlah pekerjaan yang dilakukan dalam satuan waktu meningkat. Itu sebabnya throughput sistem juga meningkat.

  • Pemanfaatan Sistem Multiprosesor yang Efektif: Bila Anda memiliki lebih dari satu Thread dalam satu proses, Anda dapat menjadwalkan lebih dari satu Thread di lebih dari satu prosesor.

  • Peralihan konteks yang lebih cepat: Periode peralihan konteks antar Thread lebih sedikit daripada peralihan konteks proses. Switch konteks proses berarti lebih banyak overhead untuk CPU.

  • Responsiveness: Ketika proses dipecah menjadi beberapa thread, dan ketika sebuah thread menyelesaikan eksekusinya, proses tersebut dapat ditanggapi sesegera mungkin.

  • Komunikasi: Komunikasi multi-Thread sederhana karena Thread berbagi ruang alamat yang sama, sementara dalam proses, kami hanya mengadopsi beberapa strategi komunikasi eksklusif untuk komunikasi antara dua proses.

  • Resource sharing: Sumber daya dapat dibagi di antara semua Thread dalam suatu proses, seperti kode, data, dan file. Catatan: Tumpukan dan register tidak dapat dibagi antar Thread. Ada tumpukan dan register untuk setiap Thread.

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Referensi :

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

- https://mdimasarianda14.wixsite.com/diraff/post/materi-sistem-operasi-critical-section

- https://www.tutorialspoint.com/what-is-process-control-block-pcb

-https://www.techopedia.com/definition/3351/distributed-processing

https://www.javatpoint.com/distributed-operating-system

-https://www.javatpoint.com/threads-in-operating-System#:~:text=A%20thread%20is%20a%20single,one%20thread%20inside%20a%20process.



 

Tidak ada komentar:

Posting Komentar

10 Kesalahan Web-Design 2021 menurut Jakob Nielsen

 1. Popups/Overlays Pop up atau pesan hanya akan mengganggu. contohnya di kebanyakan website berita di Indonesia kerap menampilkan pop up ik...