Anda di halaman 1dari 7

TUGAS 4 SISTEM OPERASI

Thread, SMP dan Microkernel

Dosen Pengampu : Muhammad Adri, S.Pd., M.T

YANOWARDI
17076078

PRODI PENDIDIKAN TEKNIK INFORMATIKA


UNIVERSITAS NEGERI PADANG
TAHUN 2018
1. Pada sistem operasi modern, terdapat beberapa model manajemen proses yang
disebut dengan multiprocessing, multiprogramming dan multithreading. Jelaskanlah
pengertian masing-masingnya secara singkat, tepat dan jelas.

Multi Programming adalah Suatu metode yang memungkinkan dua buah program atau
lebih dijalankan secara serentak dalam sebuah komputer. Bebagi sumber daya dalam waktu
yang berlainan.

Di dalam sistem Multiprograming, sebuah program dijalankan dalam CPU sampai terjadi
suatu interupsi seperti permintaan masukan. Pada saat program meminta masukan, program
berikutnya yang telah di muat dalam memory akan di jalankan sampai terjadi interupsi. Ketika
pemrosesan interupsi telah berakhir, kontrol dikembalikkan ke program yang telah diinterupsi.
Siklus seperti ini diulang sehingga program-program yang telah dimuat memory utama akan
diproses secara bergantian.

Multi Processing adalah Suatu kemampuan sistem operasi yang menjalankan dua atau
lebih instruksi secara serentak. Dengan menggunakan sejumlah CPU dalam sebuah
komputer. Dengan pendekatan seperti ini, sistem operasi dapat mengatur agar sejumlah CPU
menjalankan instruksi-instruksi yang berbeda yang terletak dalam sebuah program dalam
waktu yang sama.

Dikatakan multiprocessing apabila suatu sistem computer menggunakan lebih dari satu
CPU. Dengan menggunakan sistem ini, instruksi- instruksi dari beberapa program yang
berbeda dapat diproses secara serentak bersamaan. Hal ini mungkin karna setiap CPU akan
memproses sebuah program. Beberapa CPU yang digabungkan mungkin dapan
menggunakan sebuan main memory bersamaan atau menggunakan main memory secara
terpisah tersendiri.

Dalam hal ini, sistem operasi mampu menjalankan dua atau lebih instruksi secara
serentak dengan menjalankan sejumlah CPU dalam sebuah komputer. Melalui sistem ini kita
dapat mengatur sejumlah CPU untuk menjalankan instruksi yang berbeda dalam sebuah
program.

Multi Tasking adalah Multitasking adalah pemrosesan beberapa tugas pada waktu yang
bersamaan.

Pada sebuah komputer dengan prosesor tunggal, hanya satu instruksi yang dapat
bekerja dalam satu waktu, berarti bahwa CPU tersebut secara aktif mengolah instruksi untuk
satu pekerjaan tersebut. Multitasking bertugas memjadwalkan pekerjaan mana yang dapat
berjalan dalam satu waktu, dan kapan pekerjaan yang lain menunggu untuk diolah dapat
dikerjakan. Sebagai contoh, jika seseorang sedang menyetir, bertelepon lewat ponsel, dan
sambil merokok secara bersamaan, maka orang tersebut melakukan multitasking.

2. Threading adalah kemampuan sistem operasi dalam mendukung sejumlah langkah


eksekusi secara bersamaan yang ada dalam sebuah proses. Sehingga dalam sebuah
proses bisa saja dapat diselesai dengan satu langkah, sejumlah langkah dan sebagainya.
Sehingga dengan penggunaan threading ini, akan dikenal sejumlah domain proses seperti :
a. Single Proces, single threading, b. Single Process, multi-threading, c. multi-processing,
single threading per-process dan d. multi-processing, multi-threading per process.
Jelaskanlah masing-masing domain dari empat domain yang dimaksud dan lengkapi
dengan ilustrasi pendukungnya.

Single-Thread = lightweight process (proses sederhana) yang hanya berjalan satu kali untuk
menjalankan suatu tugas.
Multi-Thread = beberapa thread akan dijalankan bersama-sama dan mengerjakan lebih dari
satu tugas dalam satu waktu.

Model Multi-Threading
1. Many-to-One
Model manytoone ini memetakan beberapa tingkatan pengguna thread hanya ke
satu buah kernel thread. Managemen proses thread dilakukan oleh (di ruang)
pengguna, sehingga menjadi efisien, tetapi apabila sebuah thread melakukan
sebuah pemblokingan terhadap sistem pemanggilan, maka seluruh proses akan
berhenti (blocked). Kelemahan dari model ini adalah multihreads tidak dapat berjalan
atau bekerja secara paralel di dalam multiprosesor dikarenakan hanya satu thread
saja yang bisa mengakses kernel dalam suatu waktu.
2. One-to-One
Model onetoone memetakan setiap thread pengguna ke dalam satu kernel thread.
Hal ini membuat model onetoone lebih sinkron daripada model manytoone dengan
mengizinkan thread lain untuk berjalan ketika suatu thread membuat pemblokingan
terhadap sistem pemanggilan; hal ini juga mengizinkan multiple thread untuk berjalan
secara parallel dalam multiprosesor. Kelemahan model ini adalah dalam pembuatan
thread pengguna dibutuhkan pembuatan korespondensi thread pengguna. Karena
dalam proses pembuatan kernel thread dapat mempengaruhi kinerja dari aplikasi
maka kebanyakan dari implementasi model ini membatasi jumlah thread yang
didukung oleh sistem. Model onetoone diimplementasikan oleh Windows NT dan
OS/2. 

3. Many-to-Many
Beberapa tingkatan thread pengguna dapat menggunakan jumlah kernel thread yang
lebih kecil atau sama dengan jumlah thread pengguna. Jumlah dari kernel thread
dapat dispesifikasikan untuk beberapa aplikasi dan beberapa mesin (suatu aplikasi
dapat dialokasikan lebih dari beberapa kernel thread dalam multiprosesor daripada
dalam uniprosesor) dimana model manytoone mengizinkan pengembang untuk
membuat thread pengguna sebanyak mungkin, konkurensi tidak dapat tercapai
karena hanya satu thread yang dapat dijadualkan oleh kernel dalam satu waktu.
Model onetoone mempunyai konkurensi yang lebih tinggi, tetapi pengembang harus
hatihati untuk tidak membuat terlalu banyak thread tanpa aplikasi dan dalam kasus
tertentu mungkin jumlah thread yang dapat dibuat dibatasi.
3. Untuk menangani model-model multiprosesing, sebagaimana yang dimaksud pada soal
no. 2. Salah satu metoda yang digunakan adalah dengan mengimplementasikan symetric
multiprocessing (SMP). Jelaskanlah apa yang anda ketahui tentang SMP tersebut dan
bagaimana prinsip kerjanya.

Symmetric Multiprocessing (SMP) menggunakan teknologi yang menghasilkan kinerja yang


lebih baik. Dalam Symmetric Multiprocessing (SMP) setiap prosesor dapat menjalankan
semua jenis bagian. Prosesor berkomunikasi satu dengan yang lainnya melalui memori yang
digunakan bersama.

Sistem Symmetric Multiprocessing (SMP) memiliki Load-Balancing (Keseimbangan


Pemuatan) dan toleransi kesalahan yang lebih baik. Hal ini dikarenakan bagian dalam sistem
operasi dapat berjalan pada prosesor manapun dan kemungkinan terjadinya error dan
hambatan pada CPU akan berkurang.

Semua prosesor diizinkan menjalankan campuran berbagai macam aplikasi dan kode sistem
operasi. Kegagalan prosesor dalam mode Symmetric Multiprocessing (SMP) kapasitas
komputasi (Kemampuan dalam mengkomputerisasi suatu tugas) dan tidak akan membuat
sistem menjadi Down atau lumpuh total.

Sistem Symmetric Multiprocessing (SMP) secara langsung lebih kompleks daripada sistem
Asymmetric Multiprocessing (AMP). Seluruh koordinasi harus berlangsung dalam sistem
operasi untuk menjaga semuanya tetap tersinkronisasi. Dengan alasan tersebut, sistem
Symmetric Multiprocessing (SMP) biasanya dirancang dan ditulis dari bawah keatas.

4. Kernel adalah salah metoda yang digunakan dalam pendekatan pengelolaan proses
dalam sistem operasi modern, dengan menempatkan bagian dari frequently use
instruction di dalam memori utama. Akibatnya pada mode kernel semua kebutuhan sistem
operasi dipetakan dalam proses-proses yang ditempatkan pada kernal dan ini akan
membebani sistem operasi itu sendiri. Maka untuk mengatasi persoalan ini,
dikembangkanlah pendekatan yang disebut dengan microkernel, sehingga hanya core
instruction saja yang ditempatkan pada mode kernelnya. Jelaskanlah bagaimana prinsip
kerja arsitektur microkernel ini? Dan bandingkan dengan model kernel standar.

Mikrokernel merupakan modul inti yang meyediakan beragam mekanisme yang


dibutuhkan untuk mengembangkan sebuah sistem operasi, seperti halnya manajemen
pengalamatan ruang tingkat rendah, manajemen thread, dan komunikasi antar proses. Dalam
implementasinya mikrokernel merupakan satu-satunya perangkat lunak yang berjalan dengan
tingkat kewenangan tertinggi (umumnya disebut sebagai modus supervisor atau modus
kernel) dari serangkaian level kewenangan yang tersedia pada perangkat kerasnya. Layanan
yang disediakan oleh sebuah sistem operasi beberapa diantaranya adalah device driver,
protokol jaringan, sistem berkas, dan kode antarmuka pengguna yang berada dalam ruang
pengguna.

Karena sebuah mikrokernal harus dapat meletakkan layanan-layanan sistem operasi pada
level teratas, fungsionalitas yang harus dimiliki oleh mikrokernel setidaknya melingkupi:

Mekanisme pengaturan pengalamatan ruang, — dibutuhkan untuk mengatur proteksi ingatan.

Mekanisme eksekusi secara abstrak untuk mengatur alokasi CPU — biasanya adalah thread
atau pengaktifan penjadual; dan

Komunikasi antarproses — dibutuhkan untuk menyediakan mekanisme pemanggilan peladen


yang berjalan pada alamat ruang spesifik.
Hal terpenting yang harus dimiliki oleh sebuah mikrokernel adalah keberadaan mekanisme
Komunikasi antarproses yang handal, dan disain pengatur ingatan virtual yang
memungkinkan manajemen ingatan dan melakukan pertukaran alamat (swapping) secara
dengan aman. Selanjutnya, karena pada akhirnya semua layanan sistem operasi dipanggil
oleh program yang berjalan pada modus user membuat tingkat efisiensi mekanisme
komunikasi antar program yang terdapat pada sebuah mikrokernel menjadi sangat penting.

Beberapa sistem operasi yang menggunakan microkernel:

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.

Perbandingannya :

1 ) Kernel monolithic jauh lebih tua dari Microkernel, ide ini dikandung pada akhir tahun
1980-an.

2 ) Kernel monolitik digunakan di Unix dan Linux. Microkernels digunakan dalam QNX,
L4 dan HURD. Ini awalnya digunakan di Mach (bukan Mac OS X) tetapi kemudian diubah
menjadi kernel hibrida. Bahkan Minix bukanlah kernel murni karena driver perangkat
dikompilasi sebagai bagian dari kernel.

3 ) Monolithic kernel lebih cepat dari microkernels. Mach microkernel pertama adalah
50% lebih lambat dari kernel Monolithic, sementara versi yang lebih baru seperti L4 hanya
2% atau 4% lebih lambat daripada kernel Monolithic.

4 ) Kernel monolitik umumnya berukuran besar. Mikrokernel murni harus berukuran kecil,
agar sesuai dengan cache L1 prosesor (mikrokernel generasi pertama).

5) Di kernel Monolithic, driver perangkat berada di ruang kernel sementara di


Microkernel driver perangkat berada di ruang pengguna.

6 ) Karena driver perangkat berada di ruang kernel, itu membuat kernel monolitik kurang
aman daripada mikrokernel, dan kegagalan dalam driver dapat menyebabkan crash.
Microkernels lebih aman daripada kernel monolitik, maka digunakan di beberapa perangkat
militer.

7 ) Kernel monolitik menggunakan sinyal dan soket untuk memastikan IPC, pendekatan
mikrokernel menggunakan antrian pesan. Mikrokel gen pertama yang diimplementasikan
dengan buruk IPC jadi lambat pada switch konteks.

8 ) Menambahkan fitur baru ke sistem monolitik berarti mengkompilasi ulang


seluruhkernel, sedangkan dengan microkernels Anda dapat menambahkan fitur atau
tambalan baru tanpa mengkompilasi ulang.
5. Prinsip-prinsip pengembangan microkernel dirancang dalam tiga manajemen utama yaitu :
a) Manajemen memori, b) komunkasi antar proses dan c) manajemen I/O dan Interupsi.
Jelaskanlah

1. Manajemen Memori Primitif (low-level memory)

Microkernel harus mengontrol konsep ruang alamat hardware agar memungkinkan untuk
mengimplementasikan proteksi pada tingkat proses, yang memiliki tanggungjawab untuk
memetakan virtual page ke physical page frame, termasuk proteksi ruang alamat suatu
proses terhadap proses lainnya dan algoritma page replacement dan logika paging lainnya
dan dapat diimplementasikan di luar kernel.

Konsep dengan manajemen paging dan memori virtual dapat dilakukan secara eksternal
terhadap kernel.

Terapat tiga operasi microkernel yang dapat mendukung manajemen paging eksternal dan
memori virtual ini :

 Grant : Pemilik ruang alamat (proses) dapat menyerahkan sejumlah pagenya ke proses
lain. Kernel menghapus page tersebut dari ruang alamat grantor (pemberi) dan meng-assign-
nya ke proses yang dimaksud.

 Map : Sebuah proses dapat memetakan semarang pagenya ke ruang alamat proses
lainnya, sehingga kedua proses tersebut memiliki akses bersama ke page tersebut

 Flush : Sebuah proses dapat mengklaim kembali semua page yang diserahkan atau
dipetakan ke proses lainnya.

2. Interprocess Communication (IPC)

Bentuk dasar komunikasi antara dua proses atau thread di dalam sebuah system operasi
microkernel adalah pesan. Sebuah pesan terdiri dari header yang mengidentifikasi
pengiriman dan menerima proses dan badan yang berisi data langsung, pointer ke blok data,
atau beberapa informasi kontro, tentang proses.

3. Manajemen I/O

Paa arsitektur microkernel, penanganan interupsi hardware sebagai pesan dan melibatkan
port-port I/O pada ruang-ruang alamat yang tersedia. Microkernel dapat mengenali adanya
interupsi, namun tidak dapat menanganinya, dan microkernel akan membuat pesan untuk
proses tingkat pengguna terkait interupsi I/O tersebut.

Anda mungkin juga menyukai