UTS Sistem Operasi

UTS SISTEM OPERASI

Nama   :  Nur Annisaa
Kelas   :  IF15
NIM    :  10109713

1.  Jelaskan dan mengenai :
a.  Deadlock dan Starvation (disertai gambar) ?
Jawab:
Deadlock adalah suatu kondisi dimana proses tidak berjalan lagi atau tidak ada komunikasi lagi antar proses. Deadlock disebabkan karena proses yang satu menunggu sumber daya yang sedang dipegang oleh proses lain, proses lain itu pun sedang menunggu sumber daya yang dipegang olehnya. Dengan kata lain setiap proses dalam set menunggu untuk sumber yang hanya dapat dikerjakan oleh proses lain dalam set sedang menunggu.
Gambar 1: Ilustrasi Deadlock

Starvation adalah kondisi yang biasanya terjadi setelah deadlock. Ilustrasi starvation tanpa deadlock di dunia nyata dapat dilihat di bawah ini. Pada gambar, di antrian kanan terjadi starvation karena resource (jembatan) selalu dipakai oleh antrian kiri, dan antrian kanan tidak mendapatkan giliran.
Gambar 2: Ilustrasi Starvation

b.  Penyebab terjadinya deadlock dan starvation ?
Jawab:
Kondisi yang menyebabkan deadlock:
·  Mutual exclusion
Hanya ada satu proses yang boleh memakai sumber daya, dan proses lain yang ingin memakai sumber daya tersebut harus menunggu hingga sumber daya tadi dilepaskan atau tidak ada proses yang memakai sumber daya tersebut.
·  Hold and wait
Proses yang sedang memakai sumber daya boleh meminta sumber daya lagi maksudnya menunggu hingga benar-benar sumber daya yang diminta tidak dipakai oleh proses lain, hal ini dapat menyebabkan kelaparan sumber daya sebab dapat saja sebuah proses tidak mendapat sumber daya dalam waktu yang lama.
·  No preemption
Sumber daya yang ada pada sebuah proses tidak boleh diambil begitu saja oleh proses lainnya. Untuk mendapatkan sumber daya tersebut, maka harus dilepaskan terlebih dahulu oleh proses yang memegangnya, selain itu seluruh proses menunggu dan mempersilahkan hanya proses yang memiliki sumber daya yang boleh berjalan.
·  Circular wait
Kondisi seperti rantai, yaitu sebuah proses membutuhkan sumber daya yang dipegang proses berikutnya.

Ketiga syarat pertama merupakan syarat perlu bagi terjadinya deadlock. Keberadaan deadlock selalu berarti terpenuhi kondisi-kondisi diatas, tak mungkin terjadi deadlock bila tidak ada ketiga kondisi itu. Deadlock terjadi berarti terdapat ketiga kondisi itu, tetapi adanya ketiga kondisi itu belum berarti terjadi deadlock. Deadlock baru benar-benar terjadi bila syarat keempat terpenuhi. Kondisi keempat merupakan keharusan bagi terjadinya peristiwa deadlock. Bila salah satu saja dari kondisi tidak terpenuhi maka deadlock tidak terjadi.
Starvation disebabkan karena kekurangan resource (karena terjadi deadlock) tidak mendapatkan resource yang dibutuhkan sehingga akhirnya mengalami starvation. Akan tetapi, starvation juga dapat terjadi tanpa karena deadlock. Misalnya seperti ketika terdapat kesalahan dalam sistem sehingga terjadi ketimpangan dalam pembagian resource. Satu proses selalu mendapatkan resource sedangkan proses yang lain tidak pernah dapat.
c.  Capture keadaan ketika deadlock dan starvation ?
·  Deadlock
Screenshoot diatas merupakan pop-menu notification ketika terjadi deadlock pada JMP (Java Memory Profiler).
Screenshoot diatas merupakan warning notification jika terjadi dealock pada query result di SQL
·  Starvation
Gambar diatas merupakan salah satu notification pop-menu yang muncul jika terjadi starvation di sistem operasi Windows. Ketika pop-menu notification ini layar tidak bisa berjalan sesuai fungsi (tidak bisa meng-klik atau menjalankan program). Terjadi error atau mungkin kerusakan pada Win32 karena terjadi kekurangan memory resource akibat terlalu banyak eksekusi program yang harus dijalankan. Button “Don’t Send” pada notification pop-menu diatas berakibat layar akan freeze sejenak dan melakukan auto-refresh.

2.  Sebutkan mengenai distro – distro linux disertai dengan kelebihan dan kekurangannya ( 5 distro Linux dan disertai gambar ) ?
Jawab:
·   Slackware
Gambar 3: Tampilan screenshoot Slackware
Kelebihan:
§  Dikenal lebih dekat dengan gaya UNIX, sederhana, stabil, mudah dikustom, dan didesain untuk komputer 386/486 atau lebih tinggi
§  Distro ini termasuk distro yang cryptic dan manual sekali bagi pemula Linux, tapi dengan menggunakan distro ini beberapa penggunanya dapat mengetahui banyak cara kerja sistem dan distro tersebut.

Kekurangan:
§  Termasuk distro yang cryptic dan manual sekali sehingga kurang cocok digunakan bagi orang yang masih awam pada Linux.

·   RedHat
Gambar 4: Tampilan screenshoot RedHat
Kelebihan:
§  Merupakan distro yang cukup populer di kalangan pengembang dan perusahaan Linux.
§  Adanya Red Hat Package Manager (RPM) pada paketnya. RPM adalah sebuah software untuk memanajemen paket-paket pada sistem Linux dan dianggap sebagai standar de-facto dalam pemaketan pada distro-distro turunannya dan yang mendukung distro ini secara luas.
§  Adanya dukungan-dukungan secara teknis, pelatihan, sertifikasi, aplikasi pengembangan, dan bergabungnya para hacker kernel dan free-software seperti Alan Cox, Michael Johnson, Stephen Tweedie menjadikan Red Hat berkembang cepat dan digunakan pada perusahaan.

Kekurangan:
§  Untuk server, distro ini tidak gratis.

·   Lycoris
Gambar 5: Tampilan screenshoot Lycoris

Kelebihan:
§  Mempunyai tampilan yang menyerupai WinXP dari segi warna, icon, maupun fungsi-fungsi yang ada.
§  Memiliki tool IRIS [Internet Rapid Installer for Software] yang memudahkan untuk update linux.

Kekurangan:
§  Distro ini tidak gratis dan jika ingin menggunakan kita harus memesan terlebih dahulu ke produsen Lycoris.
 
·   Xandros
Gambar 6: Tampilan screenshoot Xandros

Kelebihan:
§  Penginstalannya mudah >> hanya dengan 5 step.
§  Manajemen partisi yang terintegrasi >> mampu meresize partisi NTFS saat instalasi.
§  Tampilan yang familiar.
§  Memiliki kompatibilitas dengan file format Microsoft.
§  Mampu menjalankan aplikasi OfficeXP

Kekurangan:
§  Merupakan produk komersial.
 
·   Lindows
Gambar 7: Tampilan screenshoot Lindows
Kelebihan:
§  Penginstalisasiannya mudah.
§  Tampilannya sudah bagus.
§  Memiliki fasilitas Click-n-Run yaitu fasilitas mendapatkan ribuan software Linux yang sudah dikonfigurasi untuk Lindows dengan sekali klik.

Kekurangan:
§  Masih kalah dibanding Lycoris dalam segi kecantikan tampilan
§  Merupakan produk komersial.


·   Debian/GNU Linux
Gambar 8: Tampilan screenshoot Debian/GNU Linux

Kelebihan:
-  Non komersial.
-  Pengembangannya secara terbuka >> distro ini dihasilkan oleh para sukarelawan dari seluruh dunia yang menginginkan adanya semangat open-source yang harus tetap ada pada Debian.
-  Dinamis >> kedinamisan distro ini membuat setiap rilis paket-paketnya di-update setiap waktu.
-  Dapat diakses melalui utilitas apt-get. Apt-get adalah sebuah utilitas baris-perintah yang dapat digunakan secara dinamis untuk meng-upgrade sistem Debian GNU/Linux melalui apt-repository jaringan archive Debian yang luas.
-  Memiliki sistem komunikasi yang bagus sehingga masalah bug dan sistem keamanan pada tiap paket dapat dilaporkan dan diatasi dengan cepat.
Kekurangan:
-  Karena pengembangannya secara terbuka maka pengguna harus sering meng-update, hal ini cenderung merepotkan bagi orang yang jarang ber-internet.

3.  Sebutkan, jelaskan dan gambarkan komponen-komponen dan skema blok pada sistem komputer?
Jawab:
Gambar 9: Skema blok pada sistem komputer

Komponen-komponennya adalah :
·   CPU (Central Processing Unit) merupakan bagian terpenting dalam sebuah sistem komputer, dapat dikatakan bahwa CPU merupakan otak dari komputer. CPU memiliki tugas mengolah data berdasarkan instruksi yang diperoleh. CPU terdiri dari 4 komponen utama yaitu ALU (Arithmetic and Logic Unit), Control Unit, Registers, dan CPU Interconnections. Fungsi utama CPU adalah menjalankan program-program yang disimpan di memori utama. Hal ini dilakukan dengan cara mengambil instruksi-instruksi dari memori utam dan mengeksekusinya satu persatu sesuai dengan alur perintah. Pekerjaan ini dilakukan dalam 2 tahapan yaitu membaca instruksi (fetch) dan melaksanakan instruksi tersebut (execute).
·   Memori utama merupakan media penyimpanan dalam bentuk array yang disusun word atau byte, kapasitas daya simpannya bisa jutaan susunan. Setiap word atau byte mempunyai alamat tersendiri. Data yang disimpan pada memori utama ini bersifat volatile, artinya data yang disimpan bersifat sementara dan dipertahankan oleh sumber-sumber listrik, apabila sumber listrik dimatikan maka datanya akan hilang. Memori berfungsi menyimpan sistem aplikasi, sistem pengendalian, dan data yang sedang beroperasi atau diolah. Semakin besar kapasitas memori akan meningkatkan kemampuan komputer tersebut. Memori diukur dengan Byte, KiloByte, MegaByte, GigaByte dan TeraByte. Ada beberapa macam tipe memori, yaitu RAM (Random Access Memory), ROM (Read Only Memory), CMOS Memory, dan Virtual Memory.
·   Perangkat masukan dan keluaran merupakan suatu komponen dalam sistem komputer yang bertanggung jawab atas pengontrolan sebuah perangkat luar atau lebih dan bertanggung jawab pula dalam pertukaran data antara perangkat luar tersebut dengan memori utama ataupun dengan register-register CPU. Perangkat masukan dan keluaran dikelompokkan menjadi 2 yaitu :
o   Block Oriented Device, yaitu peralatan yang berorientasi dan menyimpan data sebagai blok-blok yang berukuran tetap. Ciri peralatan ini adalah dimungkinkan membaca dan menulis blok-blok secara independen. Contoh: disk, optical disk, tape dll.
o   Character Stream Oriented Device, yaitu peralatan yang berorientasi pada aliran karakter tanpa peduli dengan suatu struktur blok. Contoh: terminal, line printer, interface jaringan, mouse.
·   Interkoneksi antar komponen terjadi melalui suatu bagian yang disebut dengan bus (jalur). Bus merupakan jalur penghubung antar alat pada komputer yang digunakan sebagai media dalam proses melewatkan data pada suatu proses. Bus ini bisa dianggap sebagai sebuah pipa, dimana pipa atau saluran tersebut digunakan untuk mengirimkan dan menerima informasi antar alat yang dihubungkannya. Kecepatan pengiriman informasi pada bus ini dilakukan dengan kecepatan tinggi. Bus terdiri dari 3 macam yaitu:
·   Bus Alamat (Address Bus)
Disebut juga pengalamatan transformasi data. Pengalamatan bus ini berisi 16, 20, 24 jalur sinyal paralel atau lebih. CPU mengirim alamat lokasi memori atau port yang ingin ditulis atau dibaca di bus ini.
·   Bus Data (Data Bus)
Bus data merupakan jalur yang berfungsi untuk menyalurkan data dari suatu bagian ke bagian lainnya. Berisi 8, 16, 32 jalur sinyal paralel atau lebih. Jalur-jalur data adalah dua arah (bidirectional). CPU dapat membaca dan mengirim data dari/ke memori atau port.
·   Bus Kendali (Control Bus)
Bus kontrol adalah salah satu dari tiga macam bus yang terdapat pada sistem mikroposesor yang digunakan untuk menyalurkan sinyal kontrol. Bus kendali berisi 4-10 jalur sinyal paralel. CPU mengirim sinyal-sinyal pada bus kendali untuk memerintahkan memory atau port. Sinyal bus kendali antara lain memory read, memory write, I/O read, dan I/O write.

4.  Sebutkan minimal 4 (empat) hal yang menyebabkan proses transfer atau upload data tidak berhasil dalam sebuah jaringan.
· Collision
· Crash
· Permission yang salah dari direktori
· Batasan ukuran file yang diupload
· Batasan ukuran data yang dipost
· Batasan waktu yang diperbolehkan untuk input data dan eksekusi program

5.  Jika suatu handphone memakai sistem operasi Windows, Apakah handphone tersebut rentan terkena virus ? Jika ya jelaskan kerusakan akibat virus tersebut ? dan sebutkan penanganannya ?
Jawab:
Semua sistem operasi pada dasarnya rentan terhadap virus. Namun karena mayoritas pengguna menggunakan sistem operasi berbasis Windows, maka virus yang diciptakan pun lebih banyak daripada sistem operasi lain. Handphone yang berbasis Windows termasuk rentan terhadap serangan virus terlebih jika handphone itu digunakan untuk koneksi internet. Kerusakan yang biasanya disebabkan oleh virus diantaranya handphone jadi mengirimkan pesan automatis secara berulang-ulang ke nomor-nomor kontak. Kerusakan karena virus dapat ditangani dengan memasang antivirus dan registry-repair.

6.  Jelaskan mengenai system calls dan gambarkan contohnya ?
Jawab:
System Calls menyediakan interface pelayanan-pelayanan yang disediakan oleh sistem operasi, umumnya sebagai rutin-rutin yang ditulis dengan bahasa C atau C++, atau beberapa tugas yang mengakses hardware secara langsung menggunakan bahasa rakitan. Biasanya programmer lebih memilih Application Programming Interface (API) dibandingkan dengan low level programming.
Ada lima jenis system calls utama, yaitu:
a.    Process control, merupakan system calls yang mengendalikan proses-proses yang berjalan.
b.   File manipulation, adalah kumpulan system calls yang bertugas untuk melakukan manipulasi file seperti pembacaan, penulisan, penghapusan dan pengubahan.
c.   Device manipulation, adalah system calls yang mengatur penggunaan peralatan-peralatan yang terhubung pada mesin tersebut.
d.   Information maintenance, merupakan system calls yang menghubungkan user dengan sistem operasi dalam hal berbagi informasi.
e.   Communications. Ada dua model komunikasi yaitu pertukaran informasi dilakukan melalui fasilitas komunikasi antar proses yang disediakan oleh sistem operasi (Message-Passing) dan pertukaran dengan menggunakan memori (shared-memory).
Contoh urutan system call untuk meng-copy isi file ke file yang lain:
Gambar 10: Urutan system call untuk meng-copy isi file ke file yang lain

7.  Sebutkan dan Jelaskan Multithreading Models (Disertai Gambar) ?
Jawab:
·   Many-to-Many
Gambar 11: Ilustrasi Multithreading Model Many-to-Many
Model ini memultipleks banyak thread tingkatan pengguna ke thread kernel yang jumlahnya sedikit atau sama dengan tingkatan pengguna. Model ini juga mengizinkan developer membuat thread sebanyak yang ia mau tetapi concurrency tidak dapat diperoleh karena hanya satu thread yang dapat dijadwalkan oleh kernel pada suatu waktu. Keuntungan dari sistem ini ialah kernel thread yang bersangkutan dapat berjalan secara paralel pada multiprosessor.
 
·   Many-to-One
Gambar 12: Ilustrasi Multithreading Model Many-to-One
Model ini memetakan beberapa thread tingkatan pengguna ke sebuah thread tingkatan kernel. Pengaturan thread dilakukan dalam ruang pengguna sehingga efisien. Hanya satu thread pengguna yang dapat mengakses thread kernel pada satu saat. Jadi Multiple thread tidak dapat berjalan secara paralel pada multiprosesor. Contoh: Solaris Green Threads dan GNU Portable Threads.

·   One-to-One
Gambar 13: Ilustrasi Multithreading Model One-to-One
Model ini memetakan setiap thread tingkatan pengguna ke setiap thread. Ia menyediakan lebih banyak concurrency dibandingkan model Many-to-One. Keuntungannya sama dengan keuntungan thread kernel. Kelemahan model ini ialah setiap pembuatan thread pengguna memerlukan tambahan thread kernel. Karena itu, jika mengimplementasikan sistem ini maka akan menurunkan kinerja dari sebuah aplikasi sehingga biasanya jumlah thread dibatasi dalam sistem. Contoh: Windows NT/XP/2000 , Linux, Solaris 9.

8.  Jelaskan dan Gambarkan mengenai hubungan kernel dengan aplikasi ?
a.  Monolithic Kernel
Jawab:
Gambar 14: Ilustrasi Monolithic Kernel
Kernel monolitik merupakan kernel yang mengintegrasikan banyak fungsi di dalam kernel dan menyediakan lapisan abstraksi perangkat keras secara penuh terhadap perangkat keras yang berada di bawah sistem operasi. Pendekatan kernel monolitik 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, 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 sangat 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.
Di bawah ini ada beberapa 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).

b.  Microkernel
Jawab:
Gambar 15: Ilustrasi Microkernel
Mikrokernel merupakan kernel yang menyediakan sedikit saja dari abstraksi perangkat keras dan menggunakan aplikasi yang berjalan di atasnya untuk melakukan beberapa fungsionalitas lainnya. Pendekatan mikrokernel 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 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.
Dalam teorinya, sistem operasi yang menggunakan microkernel disebut jauh lebih stabil dibandingkan dengan monolithic kernel, karena sebuah server yang gagal bekerja, tidak akan menyebabkan kernel menjadi tidak dapat berjalan, dan server tersebut akan dihentikan oleh kernel utama. Akan tetapi, dalam prakteknya, bagian dari system state dapat hilang oleh server yang gagal bekerja tersebut, dan biasanya untuk melakukan proses eksekusi aplikasi pun menjadi sulit, atau bahkan untuk menjalankan server-server lainnya.
Sistem operasi yang menggunakan microkernel umumnya secara dramatis memiliki kinerja di bawah kinerja sistem operasi yang menggunakan monolithic kernel. Hal ini disebabkan oleh adanya overhead yang terjadi akibat proses input/output dalam kernel yang ditujukan untuk mengganti konteks (context switch) untuk memindahkan data antara aplikasi dan server.
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.

c.  Hybrid Kernel
Jawab:
Gambar 16: Ilustrasi Hybrid Kernel
Kernel hibrida adalah pendekatan desain microkernel yang dimodifikasi. Pada hybrid kernel, terdapat beberapa tambahan kode di dalam ruangan kernel untuk meningkatkan performanya. Kernel hibrida aslinya adalah mikrokernel yang memiliki kode yang tidak menunjukkan bahwa kernel tersebut adalah mikrokernel 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 mikrokernel: kinerja.
Banyak yang bingung dalam membedakan antara kernel hibrida dan kernel monolitik yang dapat memuat modul kernel setelah proses booting, dan cenderung menyamakannya. Antara kernel hibrida dan kernel monolitik jelas berbeda. Kernel hibrida berarti bahwa konsep yang digunakannya diturunkan dari konsep desain kernel monolitik dan mikrokernel. Kernel hibrida juga memiliki secara spesifik memiliki teknologi pertukaran pesan (message passing) yang digunakan dalam mikrokernel, dan juga dapat memindahkan beberapa kode yang seharusnya bukan kode kernel ke dalam ruangan kode kernel karena alasan kinerja.
Di bawah ini adalah beberapa sistem operasi yang menggunakan kernel hibrida:
· 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).

d.  Exokernel
Jawab:
Gambar 17: Ilustrasi Exokernel
Exokernel menyediakan hardware abstraction secara minimal, sehingga program dapat mengakses hardware secara langsung. Dalam pendekatan desain exokernel, library yang dimiliki oleh sistem operasi dapat melakukan abstraksi yang mirip dengan abstraksi yang dilakukan dalam desain monolithic kernel. 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.

Exokernel mengizinkan akses terhadap hardware secara langsung pada tingkat yang rendah: aplikasi dan abstraksi dapat melakukan request sebuah alamat memori spesifik baik itu berupa lokasi alamat physical memory dan blok di dalam hard disk. Tugas kernel hanya memastikan bahwa sumber daya yang diminta itu sedang berada dalam keadaan kosong 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.

9.  Kasus :
a.  Buatlah pemodelan mengenai Remote Procedure Call untuk melakukan input 1 juta data ke dalam satu tabel misalnya Tabel A dalam sebuah database di server.

b.  Sebutkan script untuk melakuan remote pada linux.
Jawab:
:--------------------- Start Script ----------------------:
#!/bin/bash
echo "******************************************"
echo "* [a] SSH To Server App *"
echo "* [b] SSH To Server GW *"
echo "* [c] SSH To Server DB *"
echo "* [x] EXIT ====> Go Out .................*"
echo "******************************************"
echo "Please select [a|b|c|d|e|f|g|h|i|j|k|l|m|n|o] x to exit : "
read pilih
case $pilih in
a) echo "Wellcome to Application Server";ssh hengki@10.0.2.1 ;;
b) echo "Wellcome to Gateway";ssh hengki@10.0.2.2 ;;
c) echo "Wellcome to Database";ssh hengki@10.0.2.3 ;;
x) exit ;;
esac
done
:--------------------- Ending Script ----------------------
10.  Lakukan hacker :
a.  Ke computer sendiri, misalnya menghilangkan fungsi refresh (capture langkah – langkahnya).
b.  Ke computer sendiri, misalnya melakukan setting pada jam tertentu computer akan menyala, dan menjalankan program winamp, dan mati kembali pada jam tertentu.
c.  Ke computer orang lain, dengan menggunakan fungsi remote, dan bongkar password di computer tersebut (capture langkah – langkahnya).

0 comments:

Post a Comment


up