Anda di halaman 1dari 7

KELOMPOK 1

Anggota :
1. M. Samodra Firdaus (201643502009)
2. Mardiana (201643502022)
3. Aji Fathur R. (201643502031)
4. Bunga Nirwana (201643502073)
5. Dyna Khoirunnisyah (201643502075)
6. Yudha Baroni (201643502081)
7. Bima Aria Radjasa (201643502089)

Tugas No. 1 :
Mencari informasi jenis kernel (monolithic, micro, hybird, exo) dari operating system Linux !
Kernel merupakan suatu perangkat lunak yang menjadi bagian utama dari sebuah sistem
operasi. Tugasnya melayani bermacam program aplikasi untuk mengakses perangkat keras
komputer secara aman. Sebuah kernel sistem operasi tidak harus ada dan dibutuhkan untuk
menjalankan sebuah komputer. Program dapat langsung dijalankan secara langsung di dalam
sebuah mesin (contohnya adalah CMOS Setup) sehingga para pembuat program tersebut membuat
program tanpa adanya dukungan dari sistem operasi atau hardware abstraction.
Kernel Linux adalah kernel yang digunakan dalam sistem operasi GNU/Linux. Kernel ini
merupakan turunan dari keluarga sistem operasi UNIX, dirilis dengan menggunakan lisensi GNU
General Public License (GPL), dan dikembangkan oleh pemrogram di seluruh dunia. Linux
merupakan contoh utama dari perangkat lunak bebas dan sumber terbuka. Linux pertama kali
ditulis oleh Linus Benedict Torvalds pada tahun 1991. Pada saat itu, Proyek GNU telah membuat
banyak komponen yang dibutuhkan untuk membentuk sebuah sistem operasi yang bebas, tapi
belum memiliki kernel yang melandasi komponen aplikasi tersebut. Sebenarnya waktu itu, sudah
ada kandidat kuat sebagai fondasi sistem operasi GNU, yang dinamakan dengan Hurd, tapi
pengembangannya belum selesai. Pada saat awal pengembangannya, Linux sangat sederhana. Tapi
berkat dukungan semua pihak (khususnya komunitas sistem operasi Minix) yang menyumbang ide
ke dalam Linux sehingga dapat berkembang.
Keterkaitan antara hardware, kernel, shell, dan Desktop pada Linux

Jenis-Jenis Kernel
1. Monolithic Kernel
Pendekatan monolithic kernel didefinisikan sebagai sebuah antarmuka virtual yang berada
pada tingkat tinggi di atas perangkat keras, dengan sekumpulan primitif atau system call
untuk mengimplementasikan layanan-layanan sistem operasi, seperti halnya manajemen
proses, konkurensi (concurrency), dan manajemen memori pada modul-modul kernel yang
berjalan di dalam mode supervisor. Meskipun jika setiap modul memiliki layanan operasi-
operasi tersebut terpisah dari modul utama, integrasi kode yang terjadi di dalam monolithic
kernel sangatlah kuat, dan karena semua modul berjalan di dalam address space yang sama,
sebuah bug dalam salah satu modul dapat merusak keseluruhan sistem. Akan tetapi, ketika
implementasi dilakukan dengan benar, integrasi komponen internal yang sangat kuat
tersebut justru akan mengizinkan fitur-fitur yang dimiliki oleh sistem yang berada di
bawahnya dieksploitasi secara efektif, sehingga membuat sistem operasi dengan
monolithic kernel sangatlah efisien—meskipun sangat sulit dalam pembuatannya.
Pada sistem operasi modern yang menggunakan monolithic kernel, seperti halnya Linux,
FreeBSD, Solaris, dan Microsoft Windows, dapat memuat modul-modul yang dapat
dieksekusi pada saat kernel tersebut dijalankan sehingga mengizinkan ekstensi terhadap
kemampuan kernel sesuai kebutuhan, dan tentu saja dapat membantu menjaga agar kode
yang berjalan di dalam ruangan kernel (kernel-space) seminim mungkin. Dengan Kernel
monolitik lebih baik dari segi security, sebuah kernel builtin (monolitik) akan relatif aman.
Namun dari segi kemudahan, jika kita menambah atau mengganti suatu hardware, maka
otomatis harus mengkompilasi ulang kernel .Namun demikian, skema kernel bagaimana
yang lebih sesuai, itu bisa diklarifikasi sesuai kebutuhan dan implementasi sistem yang
digunakan. Jika kernel monolitik ingin di jadikan modular, itu bisa dilakukan oleh dari
kernel monolitik, dengan cara setelah konfigurasi ditetapkan dalam kernel monolitik dan
di kompilasi maka dapat di ambil, bagian-bagian mana saja yang akan dipisahkan untuk
dijadikan modul- modul.
Kernel monolitik merupakan suatu arsitektur kernel yang melingkupi keseluruhan dari
sistem operasi untuk berjalan pada ruang kernel dalam modus supervisor. Berbeda dengan
arsitektur kernel lainnya (mikrokernel, kernel hibrida), kernel monolitik menyediakan
layananan virtual atas perangkat keras secara penuh pada level tingkat tinggi, disertai
dengan serangkaian layanan pada level tingkat bawah yang bersifat primitif sebagai
layanan basis sistem operasi seperti manajemen proses, konkurensi, dan manajemen
ingatan dalam satu atau beberapa modul.
Contoh sistem operasi yang menggunakan monolithic kernel :
 Kernel sistem operasi UNIX tradisional, seperti halnya kernel dari sistem operasi
UNIX keluarga BSD (NetBSD, BSD/I, FreeBSD, dan lainnya).
 Kernel sistem operasi GNU/Linux, Linux.
 Kernel sistem operasi Windows (versi 1.x hingga 4.x; kecuali Windows NT).
2. MicroKernel
Pendekatan Microkernel berisi sebuah abstraksi yang sederhana terhadap hardware,
dengan sekumpulan primitif atau system call yang dapat digunakan untuk membuat sebuah
sistem operasi agar dapat berjalan, dengan layanan-layanan seperti manajemen thread,
komunikasi antar address space, dan komunikasi antar proses. Layanan-layanan lainnya,
yang biasanya disediakan oleh kernel, seperti halnya dukungan jaringan, pada pendekatan
microkernel justru diimplementasikan di dalam ruangan pengguna (user-space), dan
disebut dengan server.
Server adalah sebuah program, seperti halnya program lainnya. Server dapat mengizinkan
sistem operasi agar dapat dimodifikasi hanya dengan menjalankan program atau
menghentikannya. Sebagai contoh, untuk sebuah mesin yang kecil tanpa dukungan
jaringan, server jaringan (istilah server di sini tidak dimaksudkan sebagai komputer pusat
pengatur jaringan) tidak perlu dijalankan. Pada sistem operasi tradisional yang
menggunakan monolithic kernel, hal ini dapat mengakibatkan pengguna harus melakukan
rekompilasi terhadap kernel, yang tentu saja sulit untuk dilakukan oleh pengguna biasa
yang awam.
Contoh sistem operasi yang menggunakan mikro kernel :
 IBM AIX, sebuah versi UNIX dari IBM
 Amoeba, sebuah kernel yang dikembangkan untuk tujuan edukasi
 Kernel Mach, yang digunakan di dalam sistem operasi GNU/Hurd, NexTSTEP,
OPENSTEP, dan Mac OS/X
 Minix, kernel yang dikembangkan oleh Andrew Tanenbaum untuk tujuan edukasi
 Symbian OS, sebuah sistem operasi yang populer digunakan pada hand phone,
handheld device, embedded device, dan PDA Phone.
3. Hybrid Kernel
Hybrid kernel aslinya adalah microkernel yang memiliki kode yang tidak menunjukkan
bahwa kernel tersebut adalah microkernel di dalam ruangan kernel-nya. Kode-kode
tersebut ditaruh di dalam ruangan kernel agar dapat dieksekusi lebih cepat dibandingkan
jika ditaruh di dalam ruangan user. Hal ini dilakukan oleh para arsitek sistem operasi
sebagai solusi awal terhadap masalah yang terjadi di dalam microkernel: kinerja.
Beberapa orang banyak yang bingung dalam membedakan antara Hybrid kernel dan
monolithic kernel yang dapat memuat modul kernel setelah proses booting, dan cenderung
menyamakannya. Antara hybrid kernel dan monolithic kernel jelas berbeda. Hybrid kernel
berarti bahwa konsep yang digunakannya diturunkan dari konsep desain monolithic kernel
dan microkernel. Hybrid kernel juga memiliki secara spesifik memiliki teknologi
pertukaran pesan (message passing) yang digunakan dalam microkernel, dan juga dapat
memindahkan beberapa kode yang seharusnya bukan kode kernel ke dalam ruangan kode
kernel karena alasan kinerja.
Contoh sistem operasi yang menggunakan hybrid kernel :
 BeOS, sebuah sistem operasi yang memiliki kinerja tinggi untuk aplikasi
multimedia.
 Novell NetWare, sebuah sistem operasi yang pernah populer sebagai sistem operasi
jaringan berbasis IBM PC dan kompatibelnya.
 Microsoft Windows NT (dan semua keturunannya).
 Android
4. ExoKernel
Sebenarnya, Exokernel bukanlah pendekatan kernel sistem operasi yang umum seperti
halnya microkernel atau monolithic kernel yang populer, melainkan sebuah struktur sistem
operasi yang disusun secara vertikal. Ide di balik exokernel adalah untuk memaksa
abstraksi yang dilakukan oleh developer sesedikit mungkin, sehingga membuat mereka
dapat memiliki banyak keputusan tentang abstraksi hardware. Exokernel biasanya
berbentuk sangat kecil, karena fungsionalitas yang dimilikinya hanya terbatas pada
proteksi dan penggandaan sumber daya.
Tugas kernel hanya memastikan bahwa sumber daya yang diminta itu sedang berada dalam
keadaan kosong—belum digunakan oleh yang lainnya—dan tentu saja mengizinkan
aplikasi untuk mengakses sumber daya tersebut. Akses hardware pada tingkat rendah ini
mengizinkan para programmer untuk mengimplementasikan sebuah abstraksi yang
dikhususkan untuk sebuah aplikasi tertentu, dan tentu saja mengeluarkan sesuatu yang
tidak perlu dari kernel agar membuat kernel lebih kecil, dan tentu saja meningkatkan
performa. Exokernel biasanya menggunakan library yang disebut dengan libOS untuk
melakukan abstraksi. libOS memungkinkan para pembuat aplikasi untuk menulis abstraksi
yang berada pada level yang lebih tinggi, seperti halnya abstraksi yang dilakukan pada
sistem operasi tradisional, dengan menggunakan cara-cara yang lebih fleksibel, karena
aplikasi mungkin memiliki abstraksinya masing-masing. Secara teori, sebuah sistem
operasi berbasis Exokernel dapat membuat sistem operasi yang berbeda seperti halnya
Linux, UNIX, dan Windows dapat berjalan di atas sistem operasi tersebut.
Sumber : https://ilearning.me/2014/04/24/macam-macam-kernel-linux/
Tugas No. 2 :
Mencari info pemroses yang memiliki lebih dari 3 CPU. (Merk, Type, Jumlah CPU, Jumlah Core
per CPU) !

Merk : Titan X650


Type : Workstation / PC Server
Jumlah CPU : 4x Intel Xeon E7-4809 v4 Eight-Core Processor Broadwell EP 2.1GHz 20MB
L3 Eight-Core (32 Cores / 64 Threads Total)
Jumlah Core CPU : 32 Cores (up to 96 Cores)

Tugas No. 3 :
Round Robin CPU Scheduling
Quantum = 2
Lama Turn Around
Proses Saat Tiba Waktu Tunggu
Proses Time
P1 0 6
P2 0 4
P3 0 7
P4 0 5
P5 0 2
Rata-rata

Gantt Chart :
0-2 2-4 4-6 6-8 8-10 10-12 12-14 14-16 16-18 18-20 20-22 22-23 23-24
P1 P2 P3 P4 P5 P1 P2 P3 P4 P1 P3 P4 P3

Waktu Tunggu :
 P1 = (0-0) + (10-2) + (18-12) = 14
 P2 = (2-0) + (12-4) = 10
 P3 = (4-0) + (14-6) + (20-16) + (23-22) = 17
 P4 = (6-0) + (16-8) + (22-18) = 18
 P5 = 8-0 = 8

Rata-rata Waktu Tunggu : 67/5 = 13,4

Rata-rata Waktu Turn Around Time : 91/5 = 18,2

Saat Lama Saat Saat Waktu Turn Around


Proses
Tiba Proses Mulai Selesai Tunggu Time
P1 0 6 0 20 14 20
P2 0 4 2 14 10 14
P3 0 7 4 24 17 24
P4 0 5 6 23 18 23
P5 0 2 8 10 8 10
Rata-rata 13.4 18.2
Tugas No. 4 :
a. Untuk kasus diatas tentu tentukan state (apakah ready/running/block/suspended) untuk
P1,P2,P3,P4,P5 pada saat detik ke 10. Jawaban : P1 = Running, P2 = Suspended Block,
P3 = Suspended Block, P4 = Suspended Block, P5 = Block

b. Pada P3, setelah menggunakan CPU 6 detik, ada kebutuhan untuk mengakses I/O dan
ternyata IO sedang digunakan, maka P3 mengalami perubahan dari state Running ke state
Block

c. Kebijakan di OS setelah 1 jam, Proses dikeluarkan dari RAM. Bila 1 jam berlangsung, I/O
masih digunakan oleh proses lain, maka status P3 mengalami perubahan dari state Block
ke state Suspended

d. Setelah I/O telah selesai digunakan oleh proses lain, proses P3 yang saat ini masih di
harddisk, setelah kembali ke RAM, status P3 mengalami perubahan dari state Suspended
ke state Block

e. State P3 selanjutnya adalah Ready yang artinya menunggu penjadwalan CPU

f. Pada saat P3 mengakses I/O, state P3 adalah Running

Anda mungkin juga menyukai