Minggu, 15 Maret 2020

Jawaban Pertanyaan Kuis Sistem Operasi 04TPLE005 Sesi 2



Sistem Operasi 04TPLE005 Sesi 2

 1.      Apa yang di maksud dengan thread?

 Thread adalah prinsip yang memperbolehkan sebagian dari program untuk berjalan secara independen dengan sebagian program lainnya.

2. Perbedaan antara proses dengan thread tunggal dengan proses thread yang banyak?

1.Single thread >> process hanya mengeksekusi satu thread saja pada satu waktu
2.Multi thread >> process dapat mengeksekusi sejumlah thread dalam satu waktu.

3.  Sebutkan macam - macam thread!

     Macem-macem Thread
Single threading : proses hanya mengeksekusi satu thread dalam satu waktu.
Multi-threading : proses dapat mengeksekusi sejumlah thread dalam satu waktu.

4. Jelaskan tindakan yang di ambil oleh sebuah kernel saat alih konteks antara kernel level thread!

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. Sebutkan keuntungan dan kerugian multithreading!

      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 berbagisumber daya. Keuntungannya adalah mengizinkan sebuah aplikasi untuk mempunyai beberapa
thread yang berbeda dalam lokasi memori yang sama.
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 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. Apa yang di maksud penjadwalan CPU?

            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. Sebutkan kriteria penjadwalan yang optimal!

    Kriteria untuk mengukur dan optimasi kinerja penjadwalan adalah sbb:

  1. 1.      Adil (fairness)
  2. 2.      Efisiensi
  3. 3.      Waktu Tanggap (response time)
  4. 4.      Turn arround Time
  5. 5.      Troughput

8. Apa yang di maksud SJF dan berikan contoh algoritmanya?

SJF (SHORTEST JOB FIRST)
      Pada algoritma ini setiap proses yang ada di ready queue akan dieksekusi berdasarkan burst time terkecil. Hal ini mengakibatkan waiting time yang pendek untuk setiap proses dan karena hal tersebut maka waiting time rata-ratanya juga menjadi pendek, sehingga dapat dikatakan bahwa algoritma ini adalah algoritma yang optimal.

9. Sebutkan jenis penjadwalan!

           Nonpreemptive, menggunakan konsep :
a. FIFO (First In First Out) atau FCFS (First Come First Serve)
b. SJF (Shortest Job First)
c. HRN (Highest Ratio Next)
d. MFQ (Multiple Feedback Queues)
           Preemptive, menggunakan konsep :
a. RR (Round Robin)
b. SRF (Shortest Remaining First)
c. PS (Priority Schedulling)
d. GS (Guaranteed Schedulling)

10. Definisikan perbedaan antara penjadwalan secara preemptive dan non preemptive!

>Penjadwalan Preemptive
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 Preemptive melibatkan mekanisme interupsi yang menyela proses yang sedang berjalan dan memaksa sistem menentukan proses mana yang dieksekusi.
Windows 95, Windows XP, Linux, Unix, AmigaOS, MacOS X, dan Windows NT adalah beberapa contoh sistem operasi yang menerapkan penjadwalan Preemptive.
Lama waktu proses diizinkan untuk dieksekusi dalam penjadwalan Preemptive disebut time slice/quantum. Penjadwalan berjalan setiap satu satuan time slice untuk memilih proses mana yang berjalan selanjutnya.

>Penjadwalan NonPreemptive
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).
CPU menjaga proses sampai proses pindah ke waiting state ataupun dihentikan (proses tidak diganggu). Metode ini digunakan Microsoft Windows 3.1 dan Macintosh. Ini adalah metode yang digunakan untuk platforms hardware tertentu, karena tidak memerlukan hardware khusus.

Jawaban Pertanyaan Kuis Sistem Operasi 04TPLE005 Sesi 1

Sistem Operasi 04TPLE005 Sesi 1
Quiz Pert.3

1. Apa itu kernel?

Kernel merupakan program komputer yang menjadi inti dari sebuah sistem operasi komputer, dengan kontrol terhadap segala hal atas sistem tersebut.

3. Apa saja komponen sistem operasi modern?

Menurut Avi Silberschatz, Peter Galvin, dan Greg Gagne, umumnya sebuah sistem operasi modern mempunyai komponen sebagai berikut:

  • 1.      Managemen Proses.
  • 2.      Managemen Memori Utama.
  • 3.      Managemen Secondary-Storage.
  • 4.      Managemen Sistem I/O.
  • 5.      Managemen Berkas.
  • 6.      Sistem Proteksi.
  • 7.      Jaringan.
  • 8.      Command-Interpreter system.

3. Apa 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 mengatur atribut file

4. Apa saja keunggulan dari struktur system operasi Mikro kernel?

Mikro Kernel meiliki beberpa kelebihan/keunggulan diantaranya:
  1. Interface yang seragam. Proses tidak lagi dibedakan, baik antara kernel-level maupun user-level, karena semuanya berkomunikasi via message passing.
  2. Extensibility. Bisa menambahkan fitur-fitur baru tanpa perlu melakukan kompilasi ulang
  3. 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.
  4. 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.
  5. 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.
  6. 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. Struktur sistem operasi apakah yang digunakan untum mac os?

  Sistem operasi MacOs menggunakan struktur monolithic, karena 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. Orang-orang penting pada Macintosh yaitu Bill Atkinson, Jef Raskin dan Andy Hertzfeld. Komputer ini dinamakan berdasarkan McIntosh, jenis apel yang disukai Jef Raskin. Macintosh diperkenalkan pertama kali pada bulan Januari 1984 lewat iklan Super Bowl yang fenomenal. Pada waktu itu, langkah yang dilakukan Apple adalah sebuah perkembangan revolusioner dalam dunia komputer personal. Awalnya Apple juga sengaja menyembunyikan keberadaan sistem operasi ini untuk membedakan Mac dengan sistem operasi yang lain nya seperti MS-DOS, yang lebih mudah digunakan daripada Macintosh.



Pert.4

1. Apa itu multiprogramming?


Multiprogramming adalah kegiatan menjalankan beberapa program pada memori pada satu waktu.

2. Aktifitas apa saja yang dilibatkan pada saat penciptaan proses?

Aktivitas yang terlibat dalam penciptaan proses:

  • 1.      Menamai (memberi identitas) proses
  • 2.      Menyisipkan proses pada senarai proses atau tabel proses
  • 3.      Menentukan prioritas awal proses
  • 4.      Menciptakan PCB
  • 5.      Mengalokasikan sumber daya awal bagi proses

3. Apa alasan penghancuran proses akibat terjadinya kegagalan input/output?

Penghancuran proses melibatkan pembebasan proses dari sistem, yaitu :
a. Sumber daya-sumber daya yang dipakai dikembalikan.
b. Proses dihancurkan dari senarai atau tabel sistem.
c.PCB dihapus (ruang memori PCB dikembalikan ke pool memori bebas).

4. Jelaskan metode apa saja yang digunakan sistem operasi dalam pengendalian antar proses?

Dalam pengendalian antar proses, sistem operasi menggunakan metode :

  1. 1.       Saling melanjutkan (interleave), Sistem  operasi  harus  dapat  kembali  melanjutkan  proses  setelah  melayani proses lain.
  2. 2.       Kebijaksaan tertentu, Sistem   operasi   harus   mengalokasikan   sumber   daya   ke   proses   berdasar prioritasnya.
  3. 3.       Komunikasi antar proses dan penciptaan proses, Sistem operasi harus mendukung komunikasi dan penciptaan antar proses (menstrukturkan aplikasi).

5. Sebutkan operasi-operasi apa saja yang dapat dilakukan sistem operasi terhadap proses!

1.      Penciptaan proses : proses mulai dibuat
2.      Penghancuran/terminasi proses : fase terakhir jika proses sudah selesai
3.      Penundaan proses: delay apabila ada yg lebih diprioritaskan
4.      Pelanjutan kembali proses: pelanjutan setelah di delay
5.      Pengubahan prioritas proses : mengubah prioritas
6.      Memblok proses : menahan proses yang tidak perlu
7.      Membangunkan proses : memulai proses lagi apabila diistirahatkan
8.      Menjadwalkan proses ; jadwal kapan proses dijalankan Memungkinkan proses berkomunikasi dengan proses lain