JAWABAN SESI 1 


Quiz Pert.3

1. Apa itu kernel?
2. Apa saja komponen sistem operasi moderen?
3. Apa fungsi dari manipulasi file pada sistem calls?
4. Apa saja keunggulan dari struktur sistem operasi Mikro kernel
5. Struktur sistem operasi apakah yang digunakan untum mac os?


JAWABAN 

1. Kernel merupakan lapisan antarmuka antara hardware dan software pada perangkat yang sering kita gunakan. Kernel memutuskan kapan hal itu terjadi, seperti indikator LED yang akan menyala. Sebuah aplikasi mengirimkan permintaan ke sistem operasi untuk mengedipkan LED. Sistem operasi kemudian mengirimkan permintaan ke kernel, yang membuat lampu flash menyala untuk jangka waktu yang diminta oleh sistem operasi itu.

2. - Managemen Proses.
 - Managemen Memori Utama.
 - Managemen Secondary-Storage.
 - Managemen Sistem I/O.
 - Managemen Berkas.
- Sistem Proteksi.
 - Jaringan.
  - Command-Interpreter system.

3. System Call untuk manajemen proses diperlukan untuk mengatur proses-proses yang      sedang berjalan. Keuntungan dan kerugian menggunakan system call sama antarmuka untuk memanipulasi baik file dan perangkat adalah Setiap perangkat dapat diakses seolah-olah itu adalah file dalam file sistem.

4. Interface yang seragam. Proses tidak lagi dibedakan, baik antara kernel-level maupun user-level, karena semuanya berkomunikasi via message passing.
Extensibility. Bisa menambahkan fitur-fitur baru tanpa perlu melakukan kompilasi ulang
Flexibility. Fitur-fitur yang sudah ada bisa dikurangi, atau dimodifikasi sesuai dengan kebutuhan sehingga menjadi lebih efisien. Misalnya tidak semua pengguna membutuhkan security yang sangat ketat, atau kemampuan untuk melakukan distributed computing.
Portability. Pada mikro kernel, semua atau sebagian besar kode yang prosesor-spesifik berada di dalamnya. Jadi, proses porting ke prosesor lain bisa dilakukan dengan relatif sedikit usaha. Pada kelompok desktop misalnya, tampaknya dominasi Intel makin kuat. Tapi, sampai seberapa lama itu bisa bertahan? Karena itulah, portability adalah salah satu isu yang sangat penting.
Reliability. Semakin besar suatu software, maka tentulah semakin sulit untuk menjamin reliabilitynya. Desain dengan pendekatan berlapis sangatlah membantu, dan dengan pendekatan mikro kernel bisa lebih lagi. Mikro kernel dapat diuji secara ekstensif karena dia menggunakan API yang sedikit,sehingga bisa meningkatkan kualitas code di luar kernel.
Support for object-oriendted OS. Model mikro kernel sangat sesuai untuk mengembangkan sistem operasi yang berbasis object-oriented. Contoh sistem operasi yang menggunakan mikro kernel adalah Mac OS X dan QNX.


5. Mac OS adalah sistem operasi yang digunakan untuk mengoperasikan komputer notebook apple macintosh. Mac OS merupakan sistem operasi pertama yang menggunakan Graphical User Interface – GUI.



Quiz Pert.4 

1. Apa itu multiprogramming?
2. Aktifitas apa saja yang dilibatkan pada saat penciptaan proses?
3. Apa alasan penghancuran proses akibat terjadinya kegagalan input/output?
4. Jelaskan metode apa saja yang digunakan sistem operasi dalam pengendalian antar proses?
5. Sebutkan operasi-operasi apa saja yang dapat dilakukan sistem operasi terhadap proses!


JAWABAN 

1. Multi-programming adalah salah satu teknik penjadwalan dimana tugas (task) yang sedang berjalan tetap berjalan sampai ia melakukan operasi yang membutuhkan waktu untuk menunggu respon dari luar (external event), misalnya membaca data dari disket/CD/dsb, atau sampai komputer memaksa untuk menukar tugas yang sedang berjalan dengan tugas lainnya.

Atau 

Multiprogramming adalah suatu metode yang memungkinkan dua buah program atau lebih dijalankan secara serentak dalam sebuah komputer dan berbagai sumber daya dalam waktu yang berlainan.

2. Ada beberapa penyebab diciptakannya sebuah proses pada sistem operasi. Kejadian yang dapat menyebabkan penciptaan proses:

Pada lingkungan batch, sebagai tanggapan atas pemberian suatu kerja (job)
Pada lingkungan interaktif, ketika pemakai baru berusaha logon
Sebagai tanggapan suatu aplikasi, seperti permintaan pencetakan file, SO dapat menciptakan proses yang akan mengelola pencetakan itu
Proses menciptakan proses lain (proses anak)
o Proses yang menciptakan child process disebut proses induk (parent process)
o Child process dapat menciptakan proses baru
o Proses-proses dapat membentuk pohon hirarki proses

Aktivitas yang terlibat dalam penciptaan proses:
Menamai (memberi identitas) proses
Menyisipkan proses pada senarai proses atau tabel proses
Menentukan prioritas awal proses
Menciptakan PCB
Mengalokasikan sumber daya awal bagi proses

3. Alasan-alasan penghancuran proses (penyebab terminasi):
selesainya proses secara normal
Proses mengeksekusi panggilan layanan sistem operasi untuk menandakan bahwa   proses telah berjalan secara lengkap.

batas waktu terlewati
Proses telah berjalan melebihi batas waktu total yg dispesifikasikan.

Memori tidak tersedia
Proses memerlukan memori lebih banyak dari pada yang dapat disediakan sistem.

Pelanggaran terhadap batas memori
Proses mencoba mengakses lokasi memori yang tidak di izinkan di akses

Terjadi kesalahan karena pelanggaran proteksi
Proses berusaha menggunakan sumber daya atau file yang tidak di ijinkan di pakainya,atau proses mencoba menggunakannya tidak untuk peruntukkannya,seperti menulis file read-only.

Terjadi kesalahan aritmatika
Proses mencoba perhitungan terlarang,seperti pembagiaan dengan nol atau mencoba menyimpan angka yang lebih besar dari pada yang di akomodasi oleh perangkat keras.

Waktu tel;ah kadaluwarsa
Proses telah menunggu lebih lama dari pada maksimum yang di tentukan untuk terjadinya suatu kejadian spesifik.

Terjadi kegagalan masukan/keluaran
Kesalahan muncul pada masukan atau keluaran,seperti ketidakmampuan menemukan file,kegagalan membaca atau menulis setelah sejumlah maksimum percobaan di tentukan (misal : area rusak didapatkan pada disk,atau operasi tak valis seperti membaca dari line printer).


4. Sebuah proses akan mengalami serangkaian state diskrit. Beragam kejadian dapat menyebabkan perubahan state proses. Tiga state tersebut adalah sebagai berikut :

Running, Proses sedang mengeksekusi instruksi proses
Ready, Proses   siap   dieksekusi,   tetapi   proses   tidak tersedia untuk eksekusi proses ini.
Blocked, Proses   menunggu   kejadian   untuk   melengkapi tugasnya

Proses yang baru diciptakan akan mempunyai state ready.
Proses berstate running menjadi blocked, karena sumbar daya yang diminta belum tersedia atau meminta layanan perangkat masukan/keluaran, sehingga menunggu kejadian muncul. Proses menunggu kejadian alokasi sumber daya atau selesainya layanan perangkat masukan/keluaran (event wait).
Proses berstate running menjadi ready, karena penjadwal memutuskan eksekusi proses lain karena jatah waktu untuk proses tersebut telah habis (time out).
Proses berstate blocked menjadi ready saat sumber daya yang diminta/ diperlukan telah tersedia atau layanan perangkat masukan/keluaran selesai (event occurs).
Proses berstate ready menjadi running, karena penjadwal memutuskan penggunaan pemroses utnuk proses itu karena proses yang saat itu running berubah statenya (menjadi ready atau blocked) atau telah menyelesaikan sehingga disingkirkan dari sistem. Proses menjadi mendapatkan jatah pemroses.

5. -Memberi identitas proseS
-Menyisipkan proses pada senarai atau tabel proses
-Menentukan prioritas awal prose
-Menciptakan PCB
-Mengalokasikan resource awal bagi proses







JAWABAN SESI 2 


1. Apa yang di maksud dengan thread?
2. Perbedaan antara proses dengan thread tunggal dengan proses thread yang banyak?
3.  Sebutkan macam - macam thread!
4.Jelaskan tindakan yang di ambil oleh sebuah kernel saat alih konteks antara kernel level thread!
5. Sebutkan keuntungan dan kerugian multithreading!
6. Apa yang di maksud penjadwalan CPU?
7. Sebutkan kriteria penjadwalan yang optimal!
8. Apa yang di maksud SJF dan berikan contoh algoritmanya?
9. Sebutkan jenis penjadwalan!
10. Definisikan perbedaan antara penjadwalan secara preemptive dan non preemptive!


JAWABAN 

1. Thread merupakan unit dasar dari penggunaan CPU, yang terdiri dari Thread_ID, program counter, register set, dan stack. Sebuah thread berbagi code section, data section, dan sumber daya sistem operasi dengan Thread lain yang dimiliki oleh proses yang sama. Thread juga sering disebut lightweight process. Sebuah proses tradisional atau heavyweight process mempunyai thread tunggal yang berfungsi sebagai pengendali.

Atau Thread dalam sistem operasi dapat diartikan sebagai sekumpulan perintah (instruksi) yang dapat dilaksanakan (dieksekusi) secara sejajar dengan ulir lainnya, dengan menggunakan cara time slice (ketika satu CPU melakukan perpindahan antara satu ulir ke ulir lainnya) atau multiprocess (ketika ulir-ulir tersebut dilaksanakan oleh CPU yang berbeda dalam satu sistem). 

2. Perbedaan antara proses dengan thread tunggal dengan proses dengan thread yang banyak adalah proses dengan thread yang banyak dapat mengerjakan lebih dari satu tugas pada satu satuan waktu.

3. Single threading : proses hanya mengeksekusi satu thread dalam satu waktu.
Multi-threading : proses dapat mengeksekusi sejumlah thread dalam satu waktu.
Atau
   - Model MultiThreading
    - Model many to one
    - Model One to One
    - Model Many to Many

4. Karena pengaturan thread dilakukan oleh sistem operasi maka pembuatan dan pengaturan kernel thread lebih lambat dibandingkan user thread. Maka Kernel Level Thread dapat dikatakan lebih baik dari User Level Thread adalah thread diatur oleh kernel, karena itu jika sebuah thread menjalankan blocking system call maka kernel dapat menjadualkan thread lain di aplikasi untuk melakukan eksekusi. Kemudian pada lingkungan multiprocessor, kernel dapat menjadual thread-thread pada processor yang berbeda.

5. Keutungan dan kerugiaan 

# Keuntungan : 
 1). Responsi 
  Membuat aplikasi yang interaktif menjadi multithreading dapat membuat sebuah program terus berjalan meskipun sebagian dari program tersebut diblok atau melakukan operasi yang panjang, karena itu dapat meningkatkan respons kepada pengguna. 
2). Berbagi sumber daya 
  Thread berbagi memori dan sumber daya dengan thread lain yang dimiliki oleh proses yang sama. Keuntungannya adalah mengizinkan sebuah aplikasi untuk mempunyai beberapa thread yang berbeda dalam lokasi memori yang sama. 
 3).Ekonomi 
  Dalam pembuatan sebuah proses banyak dibutuhkan pengalokasian memori dan sumber daya. Alternatifnya adalah dengan  penggunaan thread, karena thread berbagi memori dan sumber daya proses yang memilikinya maka akan lebih ekonomis untuk membuat  dan context switch thread. 

4).Utilisasi arsitektur multiprocessor 
  Keuntungan dari multithreading dapat sangat meningkat pada arsitektur multiprocessor, dimana setiap thread dapat berjalan secara pararel di atas processor yang berbeda. Pada arsitektur processor tunggal, CPU menjalankan setiap thread secara bergantian tetapi hal ini berlangsung sangat cepat sehingga menciptakan ilusi pararel. 

 # Kerugian
1).Jika digunakan secara berlebihan, multithreading akan berdampak pada  pemborosan resource dan CPU yang dialokasikan untuk switching threads. Misalnya jika heavy disk I/O terlibat, akan lebih cepat jika hanya memiliki 1 atau 2 thread yang melaksanakan tugas secara berurutan, daripada menggunakan multithread yang masing-masing mengeksekusi sebuah task pada waktu yang sama. 
 2). Sistem yang memiliki kecepatan prosesor dan memory yang cenderung sama, sehingga tidak ada efisiensi yang hilang (mengacu kepada latency), tidak akan memperoleh peningkatan bandwidth yang signifikan jika menggunakan multithreading. 
 3). Multithreading menghasilkan program yang lebih kompleks. Menggunakan multiple thread sendiri tidak akan menciptakan kerumitan, tapi interaksi antar thread-lah yang mengakibatkan kompleksitas tersebut. 
 4).Thread yang banyak bisa saling berinterferensi ketika saling berbagi sumber daya hardware seperti cache. 


6. Penjadwalan adalah fungsi dasar dari sistem operasi   semua resources komputer dijadwalkan sebelum digunakan dan pemilihan proses dari Ready Queue untuk dapat dieksekusi. Penjadwalan CPU didasarkan pada sistem operasi yang menggunakan prinsip Multiprogramming

7. Kriteria Penjadwalan yang Optimal 

Memaksimumkan utilisasi CPU
Memaksimumkan throughput
Meminimukan turnaround time
Meminimumkan waiting time
Meminimumkan response time

8. SJF adalah contoh priority scheduling dimana prioritas ditentukan oleh waktu pemakaian CPU berikutnya. 

SJF (Shortest Job First) 
Mendahulukan proses dengan Burst-Time terkecil.  

Contoh Algoritma  1 
  Ada 2 Tipe : 
- Preemptive, Jika CPU burst P1 lebih kecil dari sisa waktu yang dibutuhkan oleh P0   CPU ganti dialokasikan untuk P1.  

- Non Preemptive, Akan tetap menyelesaikan P0 sampai habis CPU burstnya.  

Contoh Algoritma  2

1.   Ada 4 buah proses yang datang berurutan yaitu P1 dengan arrival time pada 0.0 ms dan burst time 7 ms, P2 dengan arrival time pada 2.0 ms dan burst time 4 ms, P3 dengan arrival time pada 4.0 ms dan burst time 1 ms, P4 dengan arrival time pada 5.0 ms dan burst time 4 ms. Hitunglah waiting time rata-rata dan turnaround time dari keempat proses tersebut dengan mengunakan algoritma SJF.

Average waiting time rata-rata untuk ketiga proses tersebut adalah sebesar (0 +6+3+7)/4=4 ms.



9. Jenis Penjadwalan 

Preemptive: OS dapat mengambil (secara interrupt, preempt) CPU dari satu proses setiap saat
Non-preemptive: setiap proses secara sukarela
(berkala) memberikan CPU ke OS.  
Modul Dispatcher: mengatur dan memberikan control CPU kepada proses yang dipilih oleh “short-term scheduler”.
Dispatch latency – terdapat waktu yang terbuang (CPU idle) dimana dispatcher menghentikan satu proses dan menjalankan proses lain

10. -Penjadwalan Preemptive adalah kemampuan sistem operasi untuk memberhentikan sementara proses yang sedang berjalan untuk memberi ruang kepada proses yang prioritasnya lebih tinggi. Penjadwalan ini memungkinkan sistem untuk menjamin bahwa setiap proses mendapat  slice waktu operasi, dan membuat sistem lebih cepat merespon event luar.
- Penjadwalan Non Preemptive ialah penjadwalan dimana sistem operasi tidak melakukan context switch dari proses yang sedang berjalan ke proses lain (proses yang berjalan tidak bisa di- interupt).







Komentar