Kamis, 15 April 2010

Struktur Dasar Sistem Operasi
Struktur Sederhana
Metode Pendekatan Terlapis (Layered Approach)
Mikrokernel

Sistem dengan virtual machine

Struktur Sederhana
Dimulai dengan sistem yang kecil, sederhana dan terbatas kemudian berkembang dengan cakupan original
Struktur sistem MS-DOS :
disusun untuk mendukung fungsi yang banyak pada ruang yang kecil
Pendekatan Terlapis (Layered Approach)
OS dibagi menjadi sejumlah lapisan yang masing-masing dibangun di atas lapisan yang lebih rendah
Lapisan yang lebih rendah menyediakan layanan untuk lapisan yang lebih tinggi
Lapisan paling bawah : perangkat keras
Lapisan paling atas : antarmuka pengguna
Pendekatan Terlapis (Layered Approach) (2)
Keuntungan : modularitas
Mempermudah debug dan verifikasi sistem
Lapisan pertama bisa di-debug tanpa mengganggu sistem yang lain
Kesulitan :
Hanya bisa menggunakan lapisan dibawahnya
Tidak efisien dibandingkan tipe yang lain
Mikrokernel (1)
Keuntungan :
Ketika layanan baru akan ditambahkan ke user-space, kernel tidak perlu di-modif
OS lebih mudah ditempatkan (porting) pada suatu desain perangkat keras ke desain perangkat keras lainnya (asrsitektur sistem yang baru)
Mendukung keamanan & reliabilitas lebih
Contoh sistem operasi :
MacOSX
Kernel
Kategori kernel :
Monolithic kernel. Kernel berisi semua layanan yang disediakan sistem operasi untuk pemakai. .
Microkernel. Kernel yang menyediakan hanya sekumpulan kecil abstraksi perangkat keras sederhana, dan menggunakan aplikasi-aplikasi yang disebut sebagai server untuk menyediakan fungsi-fungsi lainnya.
Hybrid (modifikasi dari microkernel). Kernel yang mirip microkernel, tetapi ia juga memasukkan beberapa service tambahan di kernel (network stack, file system) agar menjadi lebih cepat.
Exokernel. Kernel yang tidak menyediakan sama sekali abstraksi hardware, tapi ia menyediakan sekumpulan library yang menyediakan fungsi-fungsi akses ke perangkat keras secara langsung.
Mikrokernel (2)
Keuntungan :
Ketika layanan baru akan ditambahkan ke user-space, kernel tidak perlu di- modif
OS lebih mudah ditempatkan (porting) pada suatu desain perangkat keras ke desain perangkat keras lainnya (asrsitektur sistem yang baru)
Mendukung keamanan & reliabilitas lebih
Contoh sistem operasi :
MacOSX
Virtual Machine (VM) (1)
Layered approach
Mesin virtual memperlakukan hardware dan sistem operasi seolah-olah berada pada level yang sama sebagai hardware.
Sistem Operasi host membuat ilusi dari banyak proses,masing-masing dieksekusi pada prosesornya sendiri denganvirtual memorinya sendiri.
Setiap guest menyediakan sebuah (virtual) copy darisemua hal yang ada pada komputer
VM ada 2: system VM dan application VM
Virtual Machine (VM) (2)
Resource dari komputer fisiknya di-share menjadi sejumlah mesin-mesin virtual
n CPU scheduling yang menciptakan penampilan seakan-akan user memiliki prosesor sendiri
Spooling & file system menyediakan virtual card readers dan virtual line printers
Sebuah time-sharing terminal user berlaku sebagai virtual console
VM software membutuhkan ruang di dalam disk untuk menyediakan memori virtual dan spooling, yaitu sebuah disk virtual
Memberikan proteksi terhadap system resources karena setiap VM terisolasi dari yang lainnya
Isolasi ini tidak memungkinkan pembagian resource secara langsung
Merupakan alat yang cocok untuk penelitian dan pengembangan sistem operasi
Jika terdapat suatu perubahan pada satu bagian dari mesin, tidak akan mengubah komponen lainnya
Kerugian VM (2)
Membutuhkan memori dan ruang disk yang besar
Sulit dalam pengimplementasian
VM dapat dieksekusi hanya pada user mode,sehingga kita harus mempunyai user mode virtual sekaligus monitor mode virtual yang keduanya berjalan di physical user mode.
Ketika instruksi yang hanya membutuhkan virtual user mode dijalankan,ia akan mengubah isi register yang berefek pada virtual
monitor mode,sehingga dapat merestart VM tersebut.

Contoh VM

VirtualPC
VMWare
VirtualBox
Definisi Proses
Proses adalah program yang sedang dieksekusi, termasuk didalamnya nilai-nilai dalam program counter, register, dan variabel-variabel yang ada.

Diagram proses
• New: Proses sedang dikerjakan/ dibuat.
• Running: Instruksi sedang dikerjakan.
• Waiting: Proses sedang menunggu sejumlah kejadian untuk terjadi (seperti sebuah penyelesaian I/O
atau penerimaan sebuah tanda/ signal).
• Ready: Proses sedang menunggu untuk ditugaskan pada sebuah prosesor.
• Terminated: Proses telah selsesai melaksanakan tugasnya/ mengeksekusi.

Thread
Thread Proses dengan thread tunggal – proses menjalankan satu tugas pada satu waktu
Sistem operasi modern – multithread – proses menjalankan banyak tugas pada satu waktu
Contoh : secara bersamaan mengetik dan menjalankan pemeriksaan ejaan di dalam proses yang sama

Multithread pada satu prosesor – dijalankan bergantian dengan waktu yang sangat cepat sehingga tampak bersamaan
Multithread pada multi prosesor – benar-benar dijalankan secara bersamaan
Hyper threading (HT) – teknologi simultan multithreading oleh Intel
Menjalankan banyak thread secara bersama-sama
Pada tiap inti prosesor, sistem operasi mengalamatkan 2 virtual prosesor
OS harus mendukung pemrosesan multiprosesor


Perbedaan Thread Dengan Proses

Thread adalah bagian dari suatu proses Proses mempunyai informasi status dari proses tersebut, thread berbagi status tersebut dengan thread yang lain dalam satu proses
Tiap proses mempunyai alamat yang berbeda, sedangkan thread berbagi alamat yang sama
Pergantian antar threads lebih cepat daripada antar proses
PENJADWALAN PROSES
Penjadwalan merupakan kumpulan kebijaksanaan dan mekanisme di sistem operasi yang berkaitan dengan urutan kerja yang dilakukan sistem komputer.
Penjadwalan bertugas memutuskan proses yang harus berjalan dan kapan atau berapa lama proses itu berjalan.
Algoritma Penjadwalan

FIFO (First-in, First-out) atau FCFS (First-come, First-serve)
SJF (Shortest Job First)
RR (Round Robin)
PS (Priority Schedulling)

Klasifikasi berdasarkan prioritas :

Algoritma penjadwalan tanpa prioritas
Algoritma penjadwalan berprioritas :
- algoritma penjadwalan berprioritas statik
- algoritma penjadwalan berprioritas dinamis

Menentukan Turn Around Time fifo

P1 p2 p3

0 24 27 30


Turn around time (waktu penyelesaian) P1 adalah 24, P2 = 27, P3 = 30, maka rata-rata turn around time = (24+27+30)/3 = 27 milidetik

AWT

Jika waktu kedatangan proses adalah P3, P2, P1 maka Gantt Chartnya adalah :

P3 p2 p1
0 3 6 30


AWT = (0+3+6)/3 = 3 milidetik

Contoh menentukan AWT untuk SJF nonpreemptive:

A 0 7
B 2 4
C 4 1
D 5 4

A c b d
0 7 8 12 16



A = 0 milidetik
B = waktu mulai dilayani – waktu saat tiba = 8-2 = 6 milidetik
C = waktu mulai dilayani – waktu saat tiba = 7-4 = 3 milidetik
D = waktu mulai dilayani – waktu saat tiba = 12-5 = 7 milidetik
AWT : (0+6+3+7) / 4 = 4 milidetik


Contoh menentukan AWT untuk SJF preemptive :

A B C B D A
0 2 4 5 7 11 16


A = 0 + (11-2) = 9 milidetik
B = 0 + (5-4) = 1 milidetik
C = 0 milidetik
D = 7-5 = 2 milidetik
AWT : (9+1+0+2) / 4 = 3 milidetik.




Tidak ada komentar:

Posting Komentar