TM5

1. Jelaskan status proses menurut Silberschatz dan  Tanenbaum ?

jawab : Menurut Silberschatz, suatu proses adalah lebih dari sebuah kode program, yang terkadang disebut text section. Proses juga mencakupprogram counter, yaitu sebuah stack untuk menyimpan alamat dari instruksi yang akan dieksekusi selanjutnya dan register. Sebuah proses pada umumnya juga memiliki sebuah stack yang berisikan data-data yang dibutuhkan selama proses dieksekusi seperti parameter metoda, alamat return dan variabel lokal, dan sebuah data section yang menyimpan variabel global.

Sama halnya dengan Silberschatz, Tanenbaum juga berpendapat bahwa proses adalah sebuah program yang dieksekusi yang mencakup program counter, register, dan variabel di dalamnya.

2. Jelaskan perbedaan antara tugas (task) dan proses terkait dengan penggunaan CPU?

jawab : Banyak tugas atau tugas ganda (Bahasa Inggris :Multitasking) adalah istilah teknologi informasi yang mengacu kepada sebuah metode dimana banyak pekerjaan atau dikenal juga sebagaiproses diolah dengan menggunakan sumberdaya CPU yang sama. Dalam kasus sebuah komputer dengan prosesor tunggal, hanya satu instruksi yang dapat bekerja dalam satu waktu, berarti bahwa CPU tersebut secara aktif mengolah instruksi untuk satu pekerjaan tersebut.

3. Buatlah diagram penghentian proses terkait dengan penggunaan CPU?

jawab :
Status Proses

 

Sebuah proses dapat memiliki tiga status utama yaitu:

  1. RunningStatus yang dimiliki pada saat instruksi-instruksi dari sebuah proses dieksekusi

  2. WaitingStatus yang dimiliki pada saat proses menunggu suatu sebuah event seperti proses M/K.

  3. ReadyStatus yang dimiliki pada saat proses siap untuk dieksekusi oleh prosesor

 

Terdapat dua status tambahan, yaitu saat pembentukan dan terminasi:

  1. NewStatus yang dimiliki pada saat proses baru saja dibuat

  2. TerminatedStatus yang dimiliki pada saat proses telah selesai dieksekusi.

 

Hanya satu proses yang dapat berjalan pada prosesor mana pun pada satu waktu. Namun, banyak proses yang dapat berstatus Ready atau Waiting. Ada tiga kemungkinan bila sebuah proses memiliki status Running:

  1. Jika program telah selesai dieksekusi maka status dari proses tersebut akan berubah menjadi Terminated.

  2. Jika waktu yang disediakan oleh OS untuk proses tersebut sudah habis maka akan terjadi interrupt dan proses tersebut kini berstatus Ready.

  3. Jika suatu event terjadi pada saat proses dieksekusi (seperti ada permintaan M/K) maka proses tersebut akan menunggu event tersebut selesai dan proses berstatus Waiting.

4. Jelaskan penjadwalan jangka pendek dan jangka panjang terhadap penggunaan prosesor?

jawab :
Penjadwalan Jangka-Panjang

Penjadwalan jangka-panjang merupkan keputusan untuk menambahkan program yang akan dieksekusi ke pool. Penjadwalan jangka-panjang menentukan program yang mana diakui sebagai sistem untuk diproses. Jadi, penjadwalan jangka-panjang mengontrol derajat multiprogramming (jumlah proses yang berada di dalam memori). Sekali diakui, sebuah tugas atau program pengguna menjadi proses dan ditambahkan ke antrian untuk penjadwalan-pendek. Dalam beberapa sistem, proses diciptakan baru saja dimulai pada kondisi swapped-out, dakan kasus dimana proses ditambahkan ke antrian untuk penjadwalan jangka-menengah.

Penjadwalan Jangka-Pendek
Penjadwalan Jangka-Pendek merupakan keputusan sebagai proses tersedia yang mana yang akan dieksekusi oleh prosesor. Penjadwalan tingkat tinggi mengeksekusi relatif jarang dan membuat keputusan secar garis besar saja tnentang diambilnya atau tidaknya suatu proses baru, dan mana yang akan diambil. Penjadwalan jangka-pendek ayng juga mengenal sebagai dispatcher sering kali mengeksekusi dan membuat keputusan yang lebih detail tentang tugas yang akan dieksekusi berikutnya.

5. Jelaskan langkah-langkah yang harus dilakukan interrupt handler untuk menangani interupsi?

jawab :

Interupsi adalah pusat sistem operasi, yang menyediakan cara efisien bagi sistem operasi untuk berinteraksi dan bereaksi terhadap lingkungannya.

Penanganan Interupsi

Ada beberapa tahapan dalam penanganan interupsi:

  1. Controller mengirimkan sinyal interupsi melalui interrupt-request-line
  2. Sinyal dideteksi oleh prosesor
  3. Prosesor akan terlebih dahulu menyimpan informasi tentang keadaan state-nya (informasi tentang proses yang sedang dikerjakan)
  4. Prosesor mengidentifikasi penyebab interupsi dan mengakses tabel vektor interupsi untuk menentukan interrupt handler
  5. Transfer kontrol ke interrupt handler
  6. Setelah interupsi berhasil diatasi, prosesor akan kembali ke keadaan seperti sebelum terjadinya interupsi dan melanjutkan pekerjaan yang tadi sempat tertunda.