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