1. Jawaban:
a. Perangkat eksternal memiliki kecepatan yang lebih lambat daripada CPU. Jadi,
pada ketiadaan dari interrupt, instruksi akan langsung berada dalam keadaan
HALT dan kinerja prosesor menjadi tidak efisien.
b. Jawaban:
1) Karena, Linux adalah paket lengkap sebagai Sistem Operasi dimana sebagian
besar driver dikemas dan didistribusikan dengan Kernel sehingga untuk
menghindari instalasi driver setup pada Linux.
3) Yang terjadi ketika kernel tidak mengenali sebuah hardware yang terpasang:
Terjadi kegagalan dalam kernel dan galat. Juga terjadi kesalahan dalam setup
hardware driver.
c. Sistem Operasi tidak harus mencerminkan pemahaman tentang sifat perangkat I/O
(disk drive, tape drive) tetapi juga struktur data yang ada di dalam file pada media
penyimpanan. Dalam kasus sistem yang melibatkan banyak pengguna, OS dapat
menyediakan mekanisme perlindungan untuk mengontrol akses ke satu file atau
file lain. Contoh: File file BIMAY yang memiliki kata-kata untuk mengakses file
tersebut.
2. Jawaban:
a. Perbedaan:
1) Trap dipicu oleh program pengguna untuk menjalankan fungsionalitas OS,
sedangkan interupsi dipicu oleh perangkat keras untuk memungkinkan
prosesor menjalankan routine penanganan interupsi yang sesuai.
2) Trap dibentuk oleh instruksi di program pengguna, sedangkan interrupt
dibentuk oleh hardware devices
3) Trap mengirim kendali kepada trap handler, sedangkan interrupt memicu
prosesor untuk mengeksekusi interrupt handler routine.
4) Trap bersifat Sinkron dan itu tiba setelah eksekusi dari segala instruksi,
sedangkan interrupt tiba ketika eksekusi dari segala instruksi sedang
terjadi dan bersifat Asinkron.
Oleh karena itu, setelah panggilan sistem ke fork(), tes sederhana dapat
mengetahui proses mana yang merupakan anak. Harap dicatat bahwa Unix
akan membuat salinan persis dari ruang alamat orang tua dan
memberikannya kepada anak. Oleh karena itu, proses induk dan anak
memiliki ruang alamat yang terpisah. Contoh penerapan:
//penerapan
//Sumber:
/*https://www.csl.mtu.edu/cs4411.ck/www/NOTES/process/fork/create.ht
ml*/
#include <stdio.h>
#include <sys/types.h>
void main(void)
{
pid_t pid;
pid = fork();
if (pid == 0)
ChildProcess();
else
ParentProcess();
}
void ChildProcess(void)
{
int i;
3. Jawaban:
a. Jawaban:
1) Karena, Mereka tidak dapat diprogram setelah logika program telah di-
burn ke dalam ROM dan tidak berinteraksi dengan pengguna. Mereka
menggunakan mikrokontroler.
b. Masalah:
1) Memory Stall: Terjadi ketika hilangnya cache
4. Jawaban:
a. Pada sistem multiprosesor, beberapa thread dapat berjalan secara bersamaan di
beberapa CPU. Oleh karena itu, program multithreaded dapat berjalan lebih cepat
daripada sistem uniprosesor. Mereka juga bisa lebih cepat daripada program yang
menggunakan banyak proses, karena thread membutuhkan lebih sedikit sumber daya
dan menghasilkan lebih sedikit overhead.
b. Perbedaan:
Threading adalah tentang menjalankan beberapa thread sekaligus. Perbedaan intinya
adalah bahwa thread adalah konteks eksekusi terpisah yang dapat berjalan secara
independen dari thread utama. Thread utama dan yang lainnya adalah bagian dari
proses yang sama.
5. Jawaban:
a. Waktu tunggu rata-rata = 6.5 dan Waktu turn around rata-rata = 11.5
b. Slkjkfsldkfj
6. Jawaban:
a. Penjelasan
1) Multiprocessing: Beberapa prosesor menawarkan kesempatan untuk eksekusi
yang bersamaan. Paling umum, setiap tugas ditugaskan ke proses dalam prosesor
tertentu, tetapi dalam beberapa keadaan tugas dapat ditugaskan ke prosesor
berikutnya yang tersedia secara dinamis. Mungkin cara yang paling mudah untuk
melakukan hal ini adalah dengan menggunakan "multiprosesor simetris." Dalam
konfigurasi perangkat keras seperti itu, beberapa CPU dapat mengakses memori
melalui bus umum.
2) Multithreading: Banyak sistem operasi, terutama yang digunakan untuk aplikasi
real-time, menawarkan alternatif yang “lebih ringan” untuk proses, yang disebut
“thread” atau “thread ringan”.
3)
b.