Kamis, 26 Maret 2020

Definisi Resource Allocator, Control Program, dan Kernel


1.    Resource Allocator

a.     Pengertian

pengertian resource allocator, akan dibahas terlebih dahulu pengertian dari resource tersebut. Resource memiliki arti sumber daya adalah sebuah perangkat keras atau virtual sistem yang telah terintegrasi dengan sebuah sistem. Pada komputer sendiri terdapat beberapa resource berupa perangkat keras seperti hardisk, mouse, keyboard, monitor, dll. sedangkan dalam bentuk virtual dapat terbentuk jaringan internet, file, atau CPU.

Resource allocator merupakan fungsi di dalam sistem operasi yang bertujuan untuk memberikan resource yang dibutuhkan program. Sistem operasi akan mengalokasikan sumber daya ketika satu atau beberapa program membutuhkannya dan akan berhenti mengalokasikan atau melepas resourcenya ketika program tersebut telah dihentikan.

b.     Teknik Pengalokasian Sumber Daya

terdapat dua teknik pengalokasian sumber daya, yaitu:

1.     Resource Partitioning Approach

Dalam pendekatan ini, sistem operasi memutuskan sebelumnya, bahwa sumber daya apa yang harus dialokasikan ke program pengguna. sistem operasi membagi sumber daya di dalam sistem ke banyak partisi sumber daya, di mana setiap partisi dapat mencakup berbagai sumber daya - misalnya, memori 1 MB, blok disk, dan printer.

Kemudian, ia mengalokasikan satu partisi sumber daya untuk setiap program pengguna sebelum inisiasi program. Tabel sumber daya mencatat partisi sumber daya dan status alokasi saat ini (Dialokasikan atau Tidak dialokasikan).


kelebihan :
       mudah diimplementasikan
       kemungkinan terjadinya overhead sumber daya mengecil

                                    kekurangan:
   kurang fleksibel - jika partisi mengandung lebih banyak sumber daya namun hanya sedikit yang dibutuhkan dalam proses tertentu, sumber daya yang telah tersedia di dalam partisi akan terbuang sia-sia.
   Jika suatu program membutuhkan lebih banyak sumber daya dari satu partisi sumber daya, maka program tersebut tidak dapat dijalankan (Meskipun sumber daya tidak dipergunakan di partisi lain).

2.     Pool Based Approach

Dalam pendekatan ini, ada kumpulan sumber daya yang sama. Sistem operasi memeriksa status alokasi di tabel sumber daya setiap kali sebuah program mengajukan permintaan untuk sumber daya. Jika sumber daya kosong atau dalam keadaan tidak terpakai, maka ia akan mengalokasikan sumber daya untuk program tersebut.

Keuntungan:
       Sumber daya yang dialokasikan tidak terbuang sia-sia.
       Persyaratan sumber daya apa pun dapat dipenuhi jika sumber daya itu tidak terpakai (tidak seperti pendekatan Pemisahan).

Kekurangan:
       Overhead mengalokasikan dan mendelokasikan sumber daya pada setiap permintaan dan rilis.


c.      Analogi Pengalokasian Sumber Daya dengan Menggunakan Graf

    graf alokasi sumber daya mempunyai komponen-komponen seperti laykanya graf biasa. hanya saja dalam graf alokasi sumber daya ini, vertex atau simpul dibagi menjadi 2:

1.     Proses

     P = {P0, P1, P2, P3,......, Pi}. P terdiri dari semua proses yang berada di dalam sistem. untuk proses, vertexnya digambarkan sebagai berikut:

2.     Resource

     Sumber Daya R = {R0, R1, R2, R3,....,Rj}. R terdiri dari sumber daya yang ada di sistem. Untuk sumber daya, vertexnya digambarkan sebagai segi empat dengan titik di tngahnya menunjukan jumlah instans yang dapat di alokasikan serta nama sumber dayanya:

Proses dan resource dihubungkan oleh sebuah edge(sisi). Untuk edge, terdiri dari dua jenis yaitu:

1.     Edge permintaan: Pi -> Rj.

Edge permintaan menggambarkan adanya suatu proses Pi yang meminta sumber daya Rj.

2.     Edge alokasi sumber daya: Rj -> Pi

Edge alokasi sumber daya menggambarkan adanya suatu sumber daya Rj yang mengalokasikan sumber dayanya pada Pi.


Setelah mengetahui bentuk vertex dan edge yang digunakan, kita akan lihat bagaimana salah satu contoh penggunaan graf alokasi sumber daya.

 

Graf diatas terdiri dari 6 vertex dan 5 edge, V= {P0, P1, P2, R0, R1, R2}E = {P0-> R0, R0-> P1, R1-> P1, R2-> P0, R2-> P2}. Keterangan Graf diatas :

1.     P0 meminta sumber daya dari R0
2.     R0 memberikan sumber dayanya kepada P1
3.     R1 memberikan salah satu instans sumber dayanya kepada P1
4.     R2 memberikan salah satu instans sumber dayanya kepada P0
5.     R2 memberikan salah satu instans sumber dayanya kepada P2
Setelah suatu proses telah mendapatkan semua sumber daya yang diperlukan maka sumber daya tersebut dilepas dan dapat digunakan oleh proses lain.Sebuah proses menggunakan resource dengan urutan sebagai berikut:
1.     Mengajukan permohonan (request). Bila Permohonan tidak dapat dikabulkan dengan segera (misal karena resource sedang digunakan oleh proses lain), maka proses itu harus menunggu sampai resource yang dimintanya tersedia.
2.     Menggunakan resource (use). Proses dapat menggunakan resource, misal : printer untuk mencetak, disk drive untuk melakukan operasi M/K , dan sebagainya .
3.     Melepaskan resource (release). Setelah proses menyelesaikan penggunaan resource, maka resource harus dilepaskan sehingga dapat digunakan oleh proses lain.

2.    Control Program


a.     Pengertian

control program adalah software yang mengendalikan eksekusi aplikasi dan pemakaian sistem resource . control program bekerja sama dengan resource allocation untuk menjalankan program secara utuh ketika program tersebut membutuhkan resource perangkat keras atau perangkat lunak yang dibutuhkan serta sebagai manajer bagi sumber daya, yang menangani konflik permintaan sumber daya secara efisien.

Control program juga mengatur eksekusi aplikasi dan operasi dari hardware I/O (Input/Output). Fungsi ini dikenal juga sebagai program pengendali (Control Program). Kedudukan Program ini adalah sebagai perantara antara program aplikasi dan perangkat keras komputer. Itulah sebabnya, peran program sistem sering kali tidak terlihat secara langsung.

Control Program dikelompokkan lagi, menjadi:

1.  Program Pengendali Sistem adalah program yang mengendalikan pemakaian perangkat keras, perangkat lunak, dan data pada komputer selama program ini di jalankan,. Misalnya, Sistem Operasi.
2. Program Pendukung Sistem adalah program yang mendukung operasi, manajemen, dan pemakai sistem komputer dengan menyediakan bermacam-macam layanan. Termasuk dalam kelompok ini adalh program utilitas, pemantau kinerja sistem, dan pemantau keamanan.
3. Program Pengembangan Sistem adalah program yang ditujukan untuk membantu pemakai dalam membuat/mengembangkan program. Termasuk dalam katagori ini yaitu kompiler dan interpreter.

3.     Kernel


a.     Pengertian Kernel

Kernel adalah perangkat lunak yang menjadi bagian utama dari sistem operasi, bisa juga suatu penghubung antara software dan hardware. Tugasnya yaitu melayani berbagai macam program aplikasi untuk mengakses hardware secara aman.

b.     Fungsi Kernel


1.     Kernel berfungsi untuk melayani perangkat lunak aplikasi untuk dapat mengakses perangkat keras atau hardware secara aman.
2.     Kernel juga berfungsi sebagai pengatur kapan dan berapa lama sebuah program aplikasi dapat menggunakan satu bagian perangkat keras. Hal tersebut biasanya disebut dengan Multiplexing
3.     Membantu dan mendukung perangkat lunak aplikasi untuk mengeksekusi dengan fitur abtraksi

c.      Berikut kategori dari kernel


1.   Kernel monolitik yaitu kernel yang berguna mengintegrasikan banyak fungsi di dalam kernel dan menyediakan secara penuh perangkat keras yang berada dibawah sistem operasi.
2.     Microkernel adalah menyediakan sedikit saja dari perangkat keras sederhana dan menggunakan aplikasi yang berjalan di atasnya untuk melakukan beberapa fungsi lain.
3.     Kernel Hybrid (modifikasi dari microkernel) yaitu pendekatan desain microkernel. pada kernel ini memiliki beberapa kode tambahan di dalam ruang kernel untuk meningkatkan performanya.
4.     Exokernel yaitu menyediakan hardware abstract secara minimal, sehingga program dapat mengakses hardware secara langsung.

d.     cara kerja didalam kernel


1.     proses management, bagian ini mengatur dari proses antara aplikasi dan hardware. kapan keluar masuk untuk melakukan proses.
2.     memory management, kernel akan mengatur proses penggunaan memori oleh aplikasi.
3.     device management, berfungsi untuk menjadi jembatan penggunaan dari hardware yang berada pada sistem. hardware akan dikenali dan digunakan oleh aplikasi dan sistem operasi.
4.     system call, pada bagian ini kernel akan mengatur antara hubungan dari aplikasi dan sistem.


Sumber:
  1. https://www.utakatikotak.com/kongkow/detail/12830/Pengertian-dan-Fungsi-Kernel-pada-Sistem-Operasi-Komputer
  2. https://belajaroprek.wordpress.com/cara-kerja-dan-fungsi-kernel/
  3. https://www.geeksforgeeks.org/resource-allocation-techniques-for-processes/
  4. https://yogapermanawijaya.wordpress.com/2012/05/20/pengertian-sistem-operasi-operating-system/
  5. https://tutorialspoint.dev/computer-science/operating-systems/methods-of-resource-allocation-to-processes-by-operating-system
  6. https://www.academia.edu/23501657/BAB_I_SISTEM_OPERASI_KOMPUTER
  7. http://ftp.gunadarma.ac.id/linux/docs/v06/Kuliah/SistemOperasi/BUKU/SistemOperasi-4.X-1/ch24s02.html

0 komentar:

Posting Komentar