Minggu, 15 Maret 2020

Tugas Sistem operasi 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 adalah prinsip yang memperbolehkan sebagian dari program untuk berjalan secara independen dengan sebagian program lainnya.

2. Model one to one: memetakan setiap user thread ke dalam satu kernel thread. Berakhir.
- Setiap user-level thread dipetakan ke kernel thread.
- Contoh : Windows 95/98/NT/2000
Model many to many: mengizinkan pengembang untuk membuat user thread sebanyak mungkin,     konkurensi tidak dapat tercapai karena hanya satu thread yang dapat dijadualkan oleh kernel dalam satu waktu.
- Membolehkan setiap user-level thread dipetakan ke banyak kernel thread
- Membolehkan sistem operasi membuat sejumlah kernel thread
- Contoh : Windows NT/2000 dengan paket ThreadFiber 10, Solaris 2

3. Terdapat dua jenis thread, yaitu: Single thread dan multi thread.
a). Single thread merupakan process hanya mengeksekusi satu thread saja pada satu waktu
b).Multi thread merupakan process dapat mengeksekusi sejumlah thread dalam satu waktu

4. 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.Keuntungan dari sistem yang menerapkan multithreading dapat kita kategorikan menjadi 4
bagian:
a. Responsif. Aplikasi interaktif menjadi tetap responsif meskipun sebagian dari program sedang
diblok atau melakukan operasi lain yang panjang.
b. Berbagi sumber daya. Beberapa thread yang melakukan proses yang sama akan berbagi
sumber daya.
c. Ekonomis. Pembuatan sebuah proses memerlukan pengalokasian memori dan sumber daya.
d. Utilisasi arsitektur multiprosesor. Keuntungan dari multithreading dapat sangat meningkat
pada arsitektur multiprosesor, dimana setiap thread dapat berjalan secara paralel di atas
procesor yang berbeda.
Adapun kerugian dari multithreading adalah :
1. Jika digunakan secara berlebihan, multithreading akan berdampak pada pemborosan
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 CPU adalah pemilihan proses dari antrian ready untuk dapat dieksekusi. Penjadwalan CPU merupakan konsep dari multiprogramming, dimana CPU digunakan secara bergantian untuk proses yang berbeda. Suatu proses terdiri dari dua siklus yaitu Burst I/O dan Burst CPU yang dilakukan bergantian hingga proses selesai.

7. Kriteria yang digunakan untuk membandingkan algoritma-algoritma penjadwalan adalah sebagai berikut:
a) CPU utilization, Sebaiknya CPU bekerja sesibuk mungkin.
b) Throughput adalah banyaknya proses yang selesai dieksekusi per satuan waktu. Semakin banyak throughput, semakin baik.
c) Turnaround time adalah waktu yang dibutuhkan untuk mengeksekusi suatu proses. Semakin kecil turnaround time, semakin baik.
d) Waiting time adalah waktu yang dibutuhkan suatu proses selama menunggu di ready queue. Semakin kecil waiting time, semakin baik.
e) Response time adalah waktu yang dibutuhkan sejak suatu proses datang me-request sampai proses itu menerima response pertama. Semakin kecil response time, semakin baik.

8. SJF (Shortest - Job - First) adalah Penggabungan setiap proses merupakan panjang dari brust CPU berikutnya. Panjang tersebut digunakan untuk penjadwalan proses pada waktu terpendek.

9. 3 Tipe Penjadwalan CPU
1) Penjadwalan Jangka Pendek (Short Term Scheduller)
Bertugas menjadwalkan alokasi pemroses di antara proses-proses ready di memori utama. Penjadwalan dijalankan setiap terjadi pengalihan proses untuk memilih proses berikutnya yang harus dijalankan.
2) Penjadwalan Jangka Menengah (Medium Term Scheduller)
Proses dipindah dari memori utama ke memori sekunder agar tersedia ruang untuk proses-proses lain. Kapasitas memori utama terbatas untuk sejumlah proses aktif. Aktivitas pemindahan proses yang tertunda dari memori utama ke memori sekunder disebut swapping
3) Penjadwalan Jangka Panjang (Long Term Scheduller)
Penjadwal ini bekerja terhadap antrian batch dan memilih batch berikutnya yang harus dieksekusi. Batch biasanya adalah proses-proses dengan penggunaan sumber daya yang intensif (yaitu waktu
pemroses, memori, masukan/keluaran), program-program ini berprioritas rendah, digunakan sebagai pengisi (agar pemroses sibuk) selama periode aktivitas job-job interaktif rendah.

10. 1) Penjadwalan Preemptive mempunyai arti kemampuan sistem operasi untuk memberhentikan sementara proses yang sedang berjalan untuk memberi ruang kepada proses yang prioritasnya lebih tinggi. Penjadwalan ini bisa saja termasuk penjadwalan proses atau I/O. Penjadwalan Preemptive memungkinkan sistem untuk lebih bisa menjamin bahwa setiap proses mendapat sebuah slice waktu operasi. Dan juga membuat sistem lebih cepat merespon terhadap event dari luar (contohnya seperti ada data yang masuk) yang membutuhkan reaksi cepat dari satu atau beberapa proses.
2) Penjadwalan Non Preemptive ialah salah satu jenis penjadwalan dimana sistem operasi tidak pernah melakukan context switch dari proses yang sedang berjalan ke proses yang lain. Dengan kata lain, proses yang sedang berjalan tidak bisa di- interupt.

Tugas Sistem Operasi





SESI 1

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 sistemoperasi Mikro kernel
5. Struktur sistem operasi apakah yang digunakan untum mac os?

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
Pert. 3
1) Kernel merupakan program komputer yang menjadi inti dari sebuah sistem operasi komputer, dengan control terhadap segala hal atas sistem tersebut
2) komponen sistem operasi moderen :
     a.       Manajemen proses
     b.       Manajemen memori utama
     c.       Manajemen secondary-storage
     d.       Manajemen sistem I/O
     e.       Manajemen berkas
     f.        Sistem proteksi
     g.       Jaringan
     h.       Commend-interpreter system
 3) fungsi dari manipulasi file pada sistem calls :
     1.      Membuat dan menghapus file
     2.      Membuka dan menutup file
     3.      Membaca, menulis, dan mereposisi file
     4.      Menentukan dan mengesave atribut file 
 4) keunggulan dari struktur sistemoperasi Mikro kernel :
     1.      Interface yang seragam
     2.      Extensibility, Dapat menambahkan fitur-fitur baru tanpa kompilasi ulang
     3.      Fleksibility, fitur-fitur yang sudah ada dapat dikurangi, atau dapat di modifikasi sesuai kebutuhan sehingga menjadi efisien
     4.      Portability, pada mikro kernel semua atau sebagian besar kode yang spesifik berada  didalamnya.
 5)   Struktur monolitik

Pert. 4
1) Multiprogramming adalah manajemen banyak proses pada satu pemroses. Istilah yang digunakan Multiprogramming (multi tasking) Bukan multi prosessing.
2) Aktifitas yang dilibatkan pada saat penciptaan proses
·         Konsep proses
·         Penjadwalan eksekusi proses
·         Operasi pada proses
·         Proses yang saling bekerjasama (cooperating processes)
·         Komunikasi antar proses (interprocess communication)
·         Komunikasi pada sistem (client-server)
3) Alasan penghancuran proses akibat terjadinya kegagalan input/output
                   1.         Selesainya proses secara normal proses mengeksekusi panggilan layanan SO  untuk menandakan bahwa proses telah berjalan secara lengkap
2.        Batas waktu telah terlewati proses telah berjalan melebihi batas waktu total yang di spesifikasikan . Terdapat banyak kemungkinan untuk tipe waktu yang di ukur, termasuk waktu total yang di jalani (walk clock time) jumlah waktu yang di pakai untuk eksekusi, dan jumlah waktu sejak pemakain terakhir kali memberi masukan (pada proses interaktif)
3.         Memori tidak tersedia proses memerlukan memori lebih banyak daripada yang dapat di sediakan oleh sistem.
4.         Pelanggaran terhadap batas memori proses mencoba mengakses lokasi memori yang tidak di izinkan untuk di akses
5.        Terjadi kesalahan karena pelanggaran proteksi
   4)      Dalam pengendalian antar proses, sistem operasi menggunakan metode :
ü  Saling melanjutkan (interleave), Sistem operasi harus dapat kembali melanjutkan proses setelah melayani proses lain.
ü  Kebijaksaan tertentu, Sistem operasi harus mengalokasikan sumber daya ke proses berdasar prioritasnya.
ü  Komunikasi antar proses dan penciptaan proses, Sistem operasi harus mendukung komunikasi dan penciptaan antar proses (menstrukturkan aplikasi).
    5)    Sistem operasi dalam mengelola proses dapat melakukan operasi-operasi terhadap proses.   
                Operasi-operasi pada Proses : 
a)      Penciptaan proses
b)      Penghancuran/terminasi proses 
c)       Penundaan proses
d)      Pelanjutan kembali proses
e)      Pengubahan prioritas proses
f)       Memblok proses 
g)      Membangunkan proses
h)      Menjadwalkan proses 
i)        Memungkinkan proses berkomunikasi dengan proses lain

Tugas Sistem operasi Sesi 2

1. Apa yang di maksud dengan thread? 2. Perbedaan antara proses dengan thread tunggal dengan proses thread yang banyak? 3.  Sebutkan macam...