Kamis, 31 Oktober 2024

THREADS

Pengertian Thread Dalam Sistem Operasi

Hai teman-teman yang luar biasa! Apakah anda pernah merasa terpesona oleh bagaimana teknologi modern bisa begitu efisien dalam menjalankan banyak tugas sekaligus? Bayangkan jika setiap aplikasi yang Anda gunakan bisa multitasking seperti seorang ahli juggler—itulah yang terjadi di balik layar berkat konsep thread dalam sistem operasi.

Dalam dunia sistem operasi modern, istilah “thread” sering kali menjadi topik diskusi penting ketika membahas bagaimana komputer mengelola berbagai tugas secara bersamaan. Meski demikian, banyak orang mungkin belum sepenuhnya memahami apa itu thread dan bagaimana fungsinya dalam sistem operasi. Artikel ini akan memberikan penjelasan mendalam tentang pengertian thread, bagaimana thread beroperasi dalam sistem operasi, serta manfaat dan aplikasi praktis dari thread dalam pengembangan perangkat lunak. Dengan pemahaman yang lebih baik tentang thread, Anda akan dapat melihat bagaimana berbagai aplikasi dan sistem dapat bekerja lebih efisien dan responsif.

Pengertian Thread Dalam Sistem Operasi

Thread adalah unit eksekusi terkecil dalam sebuah proses yang dapat dijadwalkan dan dieksekusi secara independen. Dalam konteks sistem operasi, thread seringkali disebut sebagai “utas eksekusi” yang memungkinkan eksekusi paralel dalam sebuah proses. Sederhananya, thread adalah bagian dari proses yang dapat berjalan secara bersamaan dengan bagian lain dari proses yang sama. Ini berbeda dari proses yang merupakan unit eksekusi independen dengan ruang memori terpisah.

Untuk memahami thread lebih baik, mari kita jabarkan beberapa konsep penting yang terkait dengan thread:

Komponen Utama Thread

Setiap thread memiliki beberapa komponen kunci yang memungkinkannya untuk berfungsi dengan baik dalam sistem operasi. Berikut adalah komponen utama dari thread:

  • ID Thread Setiap thread memiliki identifikasi unik yang memungkinkan sistem operasi untuk membedakannya dari thread lain dalam sistem.
  • Register Context Menyimpan informasi tentang status thread saat ini, termasuk nilai register dan pointer stack, yang diperlukan untuk melanjutkan eksekusi thread setelah gangguan.
  • Stack Memori khusus yang digunakan oleh thread untuk menyimpan variabel lokal, data fungsi, dan informasi eksekusi lainnya yang diperlukan selama eksekusi thread.
  • Program Counter (PC) Menunjukkan lokasi instruksi berikutnya yang akan dieksekusi oleh thread, memungkinkan thread untuk melanjutkan eksekusi dari titik terakhirnya.

Perbedaan Antara Threa Dan Proses

Walaupun thread dan proses sering digunakan secara bersamaan, mereka memiliki beberapa perbedaan mendasar:

  • Proses Merupakan unit eksekusi independen dengan ruang memori sendiri, yang dapat memiliki satu atau lebih thread. Proses menyediakan lingkungan eksekusi yang terisolasi, sehingga jika terjadi kesalahan dalam satu proses, proses lainnya tidak akan terpengaruh.
  • Thread Adalah unit eksekusi yang lebih kecil di dalam proses. Thread dalam proses yang sama berbagi ruang memori dan sumber daya lainnya, sehingga lebih efisien dalam penggunaan sumber daya dibandingkan dengan proses yang sepenuhnya terpisah.

Manfaat Penggunaan Thread

Penggunaan thread dalam sistem operasi memiliki berbagai manfaat yang signifikan, termasuk:

  • Responsivitas Aplikasi Dengan menjalankan beberapa thread secara bersamaan, aplikasi dapat terus merespons input pengguna dan melakukan tugas-tugas lain tanpa tertunda.
  • Efisiensi Sumber Daya Thread berbagi sumber daya dalam proses yang sama, sehingga mengurangi overhead dibandingkan dengan pembuatan proses baru.
  • Pemanfaatan Multi-cor Thread memungkinkan pemanfaatan penuh dari prosesor multi-core, di mana beberapa thread dapat dieksekusi secara bersamaan pada core yang berbeda, meningkatkan kinerja aplikasi secara keseluruhan.

Contoh Penggunaan Thread

Untuk memahami lebih lanjut tentang bagaimana thread bekerja dalam praktik, berikut adalah beberapa contoh penggunaannya:

  • Browser Web Browser modern menggunakan thread untuk menangani berbagai tugas seperti rendering halaman, memuat konten, dan memproses input pengguna secara bersamaan.
  • Editor Teks Editor teks menggunakan thread untuk menangani pencarian dan penggantian teks, memastikan bahwa operasi tersebut tidak memblokir interaksi pengguna dengan editor.
  • Server WebServer web menggunakan thread untuk menangani beberapa permintaan dari klien secara bersamaan, sehingga setiap permintaan dapat diproses dengan cepat dan efisien.


 

Continue reading THREADS

HANDHELD

 

Sistem Operasi Handheld

Terakhir Diperbarui: 09 Des, 2022

Sistem operasi adalah program yang bertugas mengelola perangkat keras komputer. Kegunaan lainnya adalah sebagai basis bagi program aplikasi dan bertindak sebagai perantara antara pengguna komputer dan perangkat keras komputer. Fitur sistem operasi yang menakjubkan adalah bagaimana sistem ini bervariasi dalam menyelesaikan tugas-tugas tersebut. Sistem operasi untuk komputer bergerak menyediakan lingkungan tempat kita dapat berinteraksi dengan komputer dengan mudah sehingga kita dapat menjalankan program. Jadi, beberapa sistem operasi dibuat agar mudah digunakan, yang lain agar terorganisasi dengan baik, dan sisanya merupakan gabungan dari keduanya.

Sistem Operasi Handheld:

Sistem operasi genggam tersedia di semua perangkat genggam seperti ponsel pintar dan tablet. Kadang-kadang disebut juga sebagai Asisten Digital Pribadi. Perangkat genggam yang populer di dunia saat ini adalah Android dan iOS. Sistem operasi ini membutuhkan prosesor pemrosesan tinggi dan juga tertanam dengan berbagai jenis sensor.

Beberapa poin yang terkait dengan sistem operasi genggam adalah sebagai berikut:

  1. Sejak pengembangan komputer genggam pada tahun 1990-an, permintaan terhadap perangkat lunak untuk mengoperasikan dan berjalan pada perangkat ini telah meningkat.
  2. Tiga pesaing utama telah muncul di dunia PC genggam dengan tiga sistem operasi berbeda untuk PC genggam ini.
  3. Dari ketiga perusahaan tersebut, yang pertama adalah Palm Corporation dengan PalmOS mereka.
  4. Microsoft juga merilis apa yang awalnya disebut Windows CE. Sistem operasi yang baru-baru ini dirilis Microsoft untuk PC genggam ini diberi nama Pocket PC.
  5. Baru-baru ini, beberapa perusahaan yang memproduksi PC genggam juga mulai menawarkan versi genggam sistem operasi Linux pada mesin mereka.

Fitur Sistem Operasi Handheld:

  1. Tugasnya adalah menyediakan operasi waktu nyata.
  2. Ada penggunaan interupsi secara langsung.
  3. Fleksibilitas perangkat input/output.
  4. Kemampuan konfigurasi.

Jenis-jenis Sistem Operasi Handheld:

Jenis-jenis Sistem Operasi Genggam adalah sebagai berikut:

  1. Sistem Operasi Palm
  2. Sistem Operasi Symbian
  3. Sistem Operasi Linux
  4. Jendela
  5. Bahasa Indonesia: Android

Sistem Operasi Palm: 

  • Sejak Palm Pilot diperkenalkan pada tahun 1996, platform Palm OS telah menyediakan berbagai perangkat seluler dengan alat bisnis penting, serta kemampuan untuk mengakses internet melalui koneksi nirkabel.
  • Perangkat-perangkat ini terutama difokuskan pada penyediaan aplikasi pengelolaan informasi pribadi dasar. Produk-produk Palm terbaru telah mengalami banyak kemajuan, dengan menyediakan lebih banyak penyimpanan, internet nirkabel, dsb.

Sistem Operasi Symbian:

  • Ini telah menjadi sistem operasi telepon pintar yang paling banyak digunakan karena arsitektur ARM-nya sebelum dihentikan pada tahun 2014. Sistem ini dikembangkan oleh Symbian Ltd.
  • Sistem operasi ini terdiri dari dua subsistem. Yang pertama merupakan sistem operasi berbasis mikrokernel yang memiliki pustaka terkait dan yang kedua merupakan antarmuka sistem operasi yang dapat digunakan oleh pengguna untuk berinteraksi.
  • Karena sistem operasi ini mengonsumsi daya yang sangat sedikit, sistem ini dikembangkan untuk telepon pintar dan perangkat genggam.
  • Ia memiliki konektivitas dan stabilitas yang baik.
  • Dapat menjalankan aplikasi yang ditulis dalam Python, Ruby, .NET, dll.

Sistem Operasi Linux:

  • Linux OS adalah proyek sistem operasi sumber terbuka yang merupakan sistem lintas platform yang dikembangkan berdasarkan UNIX.
    Sistem operasi ini dikembangkan oleh Linus Torvalds. Sistem operasi ini merupakan perangkat lunak sistem yang pada dasarnya memungkinkan aplikasi dan pengguna untuk melakukan beberapa tugas pada PC.  
  • Linux gratis dan dapat dengan mudah diunduh dari internet dan dianggap memiliki dukungan komunitas terbaik.
  • Linux bersifat portabel yang berarti dapat diinstal pada berbagai jenis perangkat seperti ponsel, komputer, dan tablet.
  • Ini adalah sistem operasi multi-pengguna.
  • Program penerjemah Linux yang disebut BASH digunakan untuk mengeksekusi perintah.
  • Menyediakan keamanan pengguna menggunakan fitur autentikasi.

Sistem Operasi Windows:

  • Windows adalah sistem operasi yang dikembangkan oleh Microsoft. Antarmukanya yang disebut Antarmuka Pengguna Grafis menghilangkan kebutuhan untuk menghafal perintah untuk baris perintah dengan menggunakan tetikus untuk menavigasi menu, kotak dialog, dan tombol.
  • Dinamakan Windows karena program-programnya ditampilkan dalam bentuk persegi. Windows dirancang untuk pemula maupun profesional.
  • Aplikasi ini dilengkapi dengan banyak alat yang membantu pengguna untuk menyelesaikan semua jenis tugas di komputer, ponsel, dll.
  • Basis penggunanya besar sehingga pilihan program perangkat lunak yang tersedia jauh lebih banyak.
  • Salah satu fitur Windows yang hebat adalah kompatibilitas mundur yang berarti program lamanya dapat berjalan pada versi yang lebih baru juga.

Sistem Operasi Android:

  • Ini adalah sistem operasi berbasis Google Linux yang terutama dirancang untuk perangkat layar sentuh seperti ponsel, tablet, dll. 
    Ada tiga arsitektur yaitu ARM, Intel, dan MIPS yang digunakan oleh perangkat keras untuk mendukung Android. Arsitektur ini memungkinkan pengguna memanipulasi perangkat secara intuitif, dengan gerakan jari yang meniru beberapa gerakan umum seperti menggesek, mengetuk, dll.
  • Sistem operasi Android dapat digunakan oleh siapa saja karena merupakan sistem operasi sumber terbuka dan juga gratis.
  • Menawarkan grafik 2D dan 3D, konektivitas GSM, dll.
  • Ada banyak sekali daftar aplikasi untuk pengguna karena Play Store menawarkan lebih dari satu juta aplikasi.
  • Profesional yang ingin mengembangkan aplikasi untuk OS Android dapat mengunduh Android Development Kit. Dengan mengunduhnya, mereka dapat dengan mudah mengembangkan aplikasi untuk Android.

Keuntungan  Handheld:

Beberapa keuntungan dari Sistem Operasi Genggam adalah sebagai berikut:

Continue reading HANDHELD

DISTRIBUTED PROCESSING

 


Apa itu distributed processing?

Secara sederhana, dapat dipahami bahwa distributed processing adalah berbagai sistem komputer yang melibatkan lebih dari satu komputer (atau terkadang prosesor) untuk menjalankan suatu aplikasi. Tidak hanya itu, suatu sistem yang melibatkan penggunaan komputer tunggal dengan beberapa CPU sekaligus untuk menjalankan program (sistem paralel), juga masuk dalam distributed processing ini.

Distributed processing merupakan suatu tugas komputasi yang sangat kompleks. Tugas tersebut dibagi ke beberapa jaringan mesin individu, yang kemudian menyelesaikan bagiannya masing-masing. Setelah bagian tugas selesai, akan langsung dikirimkan kembali untuk dikompilasi menjadi satu output yang utuh.

Pentingnya distributed process untuk bisnis

Sebenarnya, distributed processing adalah suatu hal yang dekat dengan kehidupan. Ada banyak sekali aktivitas yang melibatkan sistem komputer ini. Salah satunya adalah saat Anda menggunakan layanan cloud. Sebab, semua yang berjalan di cloud menggunakan jaringan yang melibatkan beberapa prosesor sekaligus.

Contoh lainya adalah proses data mining pada big dataonline game yang melibatkan beberapa orang sekaligus (MMO), hingga komunitas virtual di dunia maya. Penerapan distributed processing juga tidak selalu mengandalkan jaringan internet, tapi juga beberapa prosesor lokal yang disatukan. Hal ini banyak digunakan oleh para video editor dan animator untuk proses render. Tanpa melakukan distributed processing, proses render akan berjalan lama.

Mengapa distributed process digunakan?

Ada banyak sekali keuntungan yang bisa didapatkan dengan menerapkan distributed processing, di antaranya:

1. Ketersediaan yang lebih baik

Sistem komputer monolitik (hanya menggunakan satu prosesor) memiliki keterbatasan dalam menjalankan suatu proses. Hasilnya, performa komputer menjadi sangat lambat. Jika Anda menjalankan satu sistem saja, mungkin masih dapat ditoleransi. Namun, bagaimana jika harus menjalankan beberapa sistem sekaligus dalam satu waktu?

Distributed processing membagi operasional sistem tersebut ke beberapa server. Dengan begitu, titik kegagalan tidak hanya terpusat pada satu server. Sistem ini juga menyembunyikan TTR (time-to-recovery) yang durasinya terlalu panjang. Menariknya lagi, sistem terdistribusi juga dapat ditempatkan dekat dengan pengguna yang membutuhkan.

2. Ketahanan tinggi

Untuk beberapa proses yang sederhana, sistem monolitik saja mungkin sudah cukup. Namun, bagaimana dengan proses yang rumit dan melibatkan banyak pengguna? Kenyataannya, mayoritas proses yang berjalan saat ini terbilang rumit dan sangat menuntut ketahanan tinggi.

Sistem penyimpanan terdistribusi terus-menerus membuat banyak salinan dari sepotong data, hingga menghasilkan fleksibilitas biaya, waktu pemulihan, dan bahkan daya tahan. Sistem ini juga dapat didesain agar tahan terhadap risiko yang berkorelasi, sekaligus menghindari korelasi secara langsung.

3. Skalabilitas

Distributed processing juga merupakan suatu sistem yang fleksibel dari segi skala. Untuk mengembangkannya pun sangat mudah, Anda cukup menambahkan prosesor sesuai kebutuhan.

Hal ini mungkin terjadi karena sistem terdistribusi ini masuk dalam kategori stateless. Sistem stateless jauh lebih mudah diskalakan jika dibandingkan dengan sistem dengan state. Sebab, pada state system, Anda perlu menentukan bagaimana penyebarannya. Anda juga harus mencari cara untuk mengirim pengguna ke tempat yang tepat.


KESIMPULAN 

Bisa disimpulkan, distributed processing adalah beberapa sistem komputer yang memanfaatkan sejumlah komputer atau prosesor untuk menjalankan suatu program. Sistem ini memungkinkan Anda untuk membagi sebuah tugas besar ke beberapa unit yang lebih kecil sehingga waktu pengerjaannya pun lebih singkat. Selain itu, pada sistem yang terdistribusi, Anda juga bisa mendapatkan ketersediaan, daya tahan, hingga skalabilitas lebih baik dari sistem monolitik.

Continue reading DISTRIBUTED PROCESSING

PROCES CONTROL BLOCK


saat membuat suatu proses, sistem operasi melakukan beberapa operasi. Untuk mengidentifikasi proses, sistem operasi menetapkan nomor identifikasi proses (PID) untuk setiap proses. Karena sistem operasi mendukung multi-pemrograman, sistem operasi perlu melacak semua proses. Untuk tugas ini, blok kontrol proses (PCB) digunakan untuk melacak status eksekusi proses. Setiap blok memori berisi informasi tentang status proses, penghitung program, penunjuk tumpukan, status file yang dibuka, algoritma penjadwalan, dll.

Semua informasi ini diperlukan dan harus disimpan saat proses dialihkan dari satu status ke status lain. Saat proses melakukan transisi dari satu status ke status lain, sistem operasi harus memperbarui informasi dalam PCB proses. Blok kontrol proses (PCB) berisi informasi tentang proses, yaitu r
egister, kuantum, prioritas, dll. Tabel proses adalah larik PCB, yang secara logis berisi PCB untuk semua proses saat ini dalam sistem.

Struktur Blok Kontrol Proses

Blok Kontrol Proses (PCB) adalah struktur data yang digunakan oleh sistem operasi untuk mengelola informasi tentang suatu proses. Kontrol proses melacak banyak informasi penting yang dibutuhkan untuk mengelola proses secara efisien. Diagram ini membantu menjelaskan beberapa item data utama ini.

Blok Kontrol Proses

Blok Kontrol Proses

  • Pointer: Ini adalah penunjuk tumpukan yang perlu disimpan saat proses dialihkan dari satu status ke status lain untuk mempertahankan posisi proses saat ini.
  • Status proses: Menyimpan status proses masing-masing.
  • Nomor proses: Setiap proses diberi id unik yang dikenal sebagai ID proses atau PID yang menyimpan pengenal proses.
  • Penghitung program: Penghitung Program menyimpan penghitung, yang berisi alamat instruksi berikutnya yang akan dieksekusi untuk proses tersebut.
  • Register: Register dalam PCB, merupakan struktur data. Ketika suatu proses sedang berjalan dan batas waktunya habis, nilai register spesifik proses saat ini akan disimpan dalam PCB dan proses akan ditukar. Ketika proses dijadwalkan untuk dijalankan, nilai register dibaca dari PCB dan ditulis ke register CPU. Inilah tujuan utama register dalam PCB.
  • Batasan memori: Kolom ini berisi informasi tentang sistem manajemen memori yang digunakan oleh sistem operasi. Ini dapat mencakup tabel halaman, tabel segmen, dll.
  • Daftar Berkas yang Dibuka: Informasi ini mencakup daftar berkas yang dibuka untuk suatu proses.

Tabel Proses dan Blok Kontrol Proses

Poin Tambahan yang Perlu Dipertimbangkan untuk Blok Kontrol Proses (PCB)

  • Penanganan Interupsi: PCB juga berisi informasi tentang interupsi yang mungkin dihasilkan suatu proses dan bagaimana interupsi tersebut ditangani oleh sistem operasi.
  • Peralihan Konteks: Proses peralihan dari satu proses ke proses lain disebut peralihan konteks. PCB memainkan peran penting dalam peralihan konteks dengan menyimpan status proses saat ini dan memulihkan status proses berikutnya.
  • Sistem Waktu Nyata: Sistem operasi waktu nyata mungkin memerlukan informasi tambahan dalam PCB, seperti tenggat waktu dan prioritas, untuk memastikan bahwa proses kritis waktu dieksekusi tepat waktu.
  • Manajemen Memori Virtual: PCB dapat berisi informasi tentang manajemen memori virtual suatu proses , seperti tabel halaman dan penanganan kesalahan halaman.
  • Komunikasi Antarproses: PCB dapat digunakan untuk memfasilitasi komunikasi antarproses dengan menyimpan informasi tentang sumber daya bersama dan saluran komunikasi antarproses.
  • Toleransi Kesalahan: Beberapa sistem operasi mungkin menggunakan beberapa salinan PCB untuk memberikan toleransi kesalahan jika terjadi kegagalan perangkat keras atau kesalahan perangkat lunak.

Lokasi Blok Kontrol Proses

Process Control Block (PCB) disimpan di bagian khusus memori yang tidak dapat diakses oleh pengguna biasa. Hal ini karena PCB menyimpan informasi penting tentang proses. Beberapa sistem operasi menempatkan PCB di awal tumpukan kernel untuk proses tersebut, karena ini adalah tempat yang aman dan terlindungi.

Keuntungan

  • Manajemen Proses yang Efisien: Tabel proses dan PCB menyediakan cara yang efisien untuk mengelola proses dalam sistem operasi. Tabel proses berisi semua informasi tentang setiap proses, sedangkan PCB berisi status proses saat ini, seperti penghitung program dan register CPU.
  • Manajemen Sumber Daya: Tabel proses dan PCB memungkinkan sistem operasi mengelola sumber daya sistem, seperti memori dan waktu CPU, secara efisien. Dengan melacak penggunaan sumber daya setiap proses, sistem operasi dapat memastikan bahwa semua proses memiliki akses ke sumber daya yang mereka butuhkan.
  • Sinkronisasi Proses: Tabel proses dan PCB dapat digunakan untuk menyinkronkan proses dalam sistem operasi. PCB berisi informasi tentang status sinkronisasi setiap proses, seperti status menunggu dan sumber daya yang sedang ditunggu.
  • Penjadwalan Proses: Tabel proses dan PCB dapat digunakan untuk menjadwalkan proses yang akan dieksekusi. Dengan melacak status dan penggunaan sumber daya setiap proses, sistem operasi dapat menentukan proses mana yang harus dieksekusi berikutnya.

Kekurangan

  • Overhead: Tabel proses dan PCB dapat menimbulkan overhead dan mengurangi kinerja sistem. Sistem operasi harus mengelola tabel proses dan PCB untuk setiap proses, yang dapat menghabiskan sumber daya sistem.
  • Kompleksitas: Tabel proses dan PCB dapat meningkatkan kompleksitas sistem dan membuatnya lebih sulit untuk mengembangkan dan memelihara sistem operasi. Kebutuhan untuk mengelola dan menyinkronkan beberapa proses dapat membuatnya lebih sulit untuk merancang dan mengimplementasikan fitur sistem dan memastikan stabilitas sistem.
  • Skalabilitas: Tabel proses dan PCB mungkin tidak berskala baik untuk sistem berskala besar dengan banyak proses. Seiring bertambahnya jumlah proses, tabel proses dan PCB dapat menjadi lebih besar dan lebih sulit untuk dikelola secara efisien.
  • Keamanan: Tabel proses dan PCB dapat menimbulkan risiko keamanan jika tidak diterapkan dengan benar. Program jahat berpotensi mengakses atau mengubah tabel proses dan PCB untuk memperoleh akses tidak sah ke sumber daya sistem atau menyebabkan ketidakstabilan sistem.
  • Data Akuntansi dan Status Lain-lain – Bidang ini mencakup informasi tentang jumlah CPU yang digunakan, batasan waktu, pekerjaan atau nomor proses, dll. Blok kontrol proses menyimpan konten register yang juga dikenal sebagai konten eksekusi prosesor saat diblokir agar tidak berjalan. Arsitektur konten eksekusi ini memungkinkan sistem operasi untuk memulihkan konteks eksekusi proses saat proses kembali ke status berjalan. Saat proses melakukan transisi dari satu status ke status lain, sistem operasi memperbarui informasinya di PCB proses. Sistem operasi menyimpan petunjuk ke setiap PCB proses dalam tabel proses sehingga dapat mengakses PCB dengan cepat.

Kesimpulan

Process Control Block (PCB) sangat penting untuk mengelola proses dalam sistem operasi . PCB menyimpan informasi penting tentang setiap proses, seperti ID uniknya, status terkini, dan penggunaan sumber daya. PCB memungkinkan peralihan proses yang lancar , multitasking yang efektif , dan alokasi sumber daya yang efisien. Dengan menyimpan catatan terperinci dari setiap proses, PCB membantu menjaga stabilitas dan kinerja sistem. Memahami peran dan struktur PCB adalah kunci untuk mengharg

Continue reading PROCES CONTROL BLOCK