Senin, 16 Maret 2020

Jawaban Sesi 2

1. Thread adalah prinsip yang memperbolehkan sebagian dari program untuk berjalan secara independen dengan sebagian program lainnya. Dalam threading anda dapat menjalankan beberapa pointer (alamat dalam komputer) sekaligus

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. 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. 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.

5Keuntungan 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. Umpamanya, sebuah thread dari web browser
dapat melayani permintaan pengguna sementara thread yang lain berusaha menampilkan
gambar.
b. Berbagi sumber daya. Beberapa thread yang melakukan proses yang sama akan berbagi
sumber 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.
Alternatifnya adalah dengan menggunakan thread, karena thread membagi memori dan sumber
daya yang dimilikinya sehingga lebih ekonomis untuk membuat thread dan context switching
thread. Akan susah mengukur perbedaan waktu antara thread dan switch, tetapi secara umum
pembuatan dan pengaturan proses akan memakan waktu lebih lama dibandingkan dengan
thread. Pada Solaris, pembuatan proses memakan waktu 30 kali lebih lama dibandingkan
pembuatan thread sedangkan proses context switch 5 kali lebih lama dibandingkan context
switching thread.
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. Pada arsitektur processor tunggal, CPU menjalankan setiap thread
secara bergantian tetapi hal ini berlangsung sangat cepat sehingga menciptakan ilusi paralel,
tetapi pada kenyataannya hanya satu thread yang dijalankan CPU pada satu-satuan waktu.

Adapun kerugian dari multithreading adalah :
A. 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.
B. 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.
C. Multithreading menghasilkan program yang lebih kompleks. Menggunakan multiple thread
sendiri tidak akan menciptakan kerumitan, tapi interaksi antar thread-lah yang mengakibatkan
kompleksitas tersebut.
D. Thread yang banyak bisa saling berinterferensi ketika saling berbagi sumber daya hardware
seperti cache.

6Penjadwalan 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. Penjadwalan merupakan kumpulan kebijaksanaan dan mekanisme di ssistem operasi yang berkaitan dengan urutan kerja yang dilakkan sistem komputer. Penjadwalan bertugas memutuskan :
– Proses yang harus berjalan
– Kapan dan selama berapa lama proses itu berjalan.


8.  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.
Tabel Contoh Shortest Job First

Process
Arrival Time
Burst Time
P1
0.0
7
P2
2.0
4
P3
4.0
1
P4
5.0
4
 9.  ENIS-JENIS PENJADWALAN ADALAH

     1.  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)
     2.  Preemptive, menggunakan konsep :
a. RR (Round Robin)
b. SRF (Shortest Remaining First)
c. PS (Priority Schedulling)
d. GS (Guaranteed Schedulling)
10. - penjadwalan preemptive adalah Keputusan penjadwalan CPU dilakukan apabila proses berpindah dari keadaan runningke ready atau proses berpindah dari waiting ke ready.
      - nonpreemptive adalah Keputusan penjadwalan CPU dilakukan apabila proses berpindah dari runningke waiting atau apabila proses berhenti

Jawaban Sesi 1

1.   1.  Kernel adalah suatu perangkat lunak yang menjadi bagian utama dari sebuah sistem           operasi komputer, tugasnya yaitu melayani bermacam-macam program aplikasi untuk            mengakses perangkat keras (hardware) komputer secara aman.

2.    2.     a. Managemen Proses
b          b. Managemen Memori Utama.
            c. Managemen Secondary-Storage.
            d. Managemen Sistem I/O.
            e. Managemen Berkas.
            f.  Sistem Proteksi. 
            g. Jaringan. 
            h. Command-Interpreter system.

4.  3.    Berfungsi untuk melakukan manipulasi file seperti pembacaan, penulisan, penghapusan       dan pengubahan.

4   4.  Keunggulan dari struktur sistem operasi Mikro kernel
  • 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   5. Struktur system operasi mac os menggunakan struktru monlitik

6   6.  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.

7   7. Aktifitas yang dilibatkan pada saat penciptaan proses
         -   Stataus Ready yaitu ready atau siap, proses siap dikerjakan tetapi menunggu giliran             dengan proses yang lain yang sedang dikerjakan.
         -     Status Running yaitu benar benar menggunakan CPU pada saat itu (sedang                         mengeksekusi intruksi proses itu)
         -   Status Blocked yaitu tidak dapat berjalan sampai kegiatan eksternal terlaksana
8   8. 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 dispesifikasika.
  • ·      Memori tidak tersedia                                                                                                   Proses memerlukan memori lebih banyak dari pada yang dapat disediakan sistem.    9. Komponen sistem operasi
    •    Boot loader
    Boot loader merupakan komponen yang bertanggungjawab untuk menjalankan kernel sistem operasi saat pertama kali komputer dinyalakan oleh pengguna, dengan cara memanggil kernel ke dalam memori untuk mengeksekusi semua fungsi sistem operasi.
    •     Kernel
    Kernel merupakan “jantung” dari sebuah sistem operasi. Di sinilah semua fungsi sistem operasi dilakukan. Mulai dari manajemen proses hingga manajemen keamanan dilakukan oleh kernel.
    •     Shell
    Shell merupakan antarmuka yang diberikan oleh sistem operasi kepada pengguna untuk berinteraksi dengan komputer. Dalam istilah Microsoft Windows, shell kadang-kadang disebut sebagai “Desktop”, yang lengkap dengan menu Start dan taskbar yang pertama kali dilihat di layar komputer saat dinyalakan.
    •      Library
    Library merupakan kumpulan fungsi dasar yang dapat dipanggil oleh aplikasi lainnya. Biasanya, sebagian besar library dibuat dokumentasinya oleh pembuat sistem operasi dan dijadikan sebuah standar untuk sistem operasi tersebut, atau menjadi antarmuka pemrograman aplikasi (application programming interface).
    •     Driver
    Driver untuk berinteraksi dengan hardware eksternal, sekaligus untuk mengontrol mereka.
jj10. Operasi operasi yang dilakukan operasi terhadap proses

      A. PENCIPTAAN PROSES
    Penciptaan proses adalah hal yang paling pertama dilakukan sistem operasi, karena yang pertama dilakukan ketika kita mengakses aplikasi adalah terlebih dahulu harus ada proses yang bisa diakses.

     B. PENGHANCURAN/TERMINASI PROSES
Penghancuran proses melibatkan pembebasan proses dari sistem,yaitu :
• sumber daya – sumber daya yang dipakai dikembalikan
• proses dihancurkan dari senarai atau tabel system
• PCB dihapus (ruang memori PCB dikembalikan ke pool memori bebas)
    
     C. PENUNDAAN PROSES
Penundaan (suspend) sering dilakukan sistem untuk memindahkan proses-proses tertentu guna mereduksi bebansistem selama beban puncak. Penundaan biasanya berlangsung singkat.
   
      D. PELANJUTAN KEMBALI PROSES
Pengaktifan kembali (resuming) proses yaitu menjalankan proses dari titik (instruksi) dimana proses ditunda.

       E. PERUBAHAN PRIORITAS PROSES

 F. MEMBLOCK PROSES
Komunikasi antara proses membutuhkan place by calls untuk mengirim dan menerima data primitive. Terdapat rancangan yang berbeda-beda dalam implementasi setiap primitive. Pengiriman pesan mungkin dapat diblok (blocking) atau tidak dapat dibloking (nonblocking) - juga dikenal dengan nama sinkron atau asinkron. 

     G. MEMBANGUNKAN PROSES
Suatu pendekatan kejuteraan sistematik tekini untuk menganilisis masalah dan menambah baik kualiti produk atau proses.

     H. PENJADWALAN PROSES
Merupakan kumpulan kebijaksanaan didalam sitem operasi yang berkaitan dengan urutan kerja yang dilakukan sistem computer, penjadwalan juga bertugas untuk memutuska  n :

     I. MEMUNGKINKAN PROSES BERKOMUNIKASI DENGAN PROSES LAIN
• Proses yang Kooperatif
Proses yang bersifat simultan (concurrent) dijalankan pada sistem operasi dapat dibedakaan menjadi yaitu proses independent dan proses kooperatif. Suatu proses dikatakan independen apabila proses tersebut tidak dapat terpengaruh atau dipengaruhi oleh proses lain yang sedang dijalankan pada sistem. 




-