Jumat, 30 Maret 2012

Tugas Sistem Operasi



Soal 1
Latihan soal:
1.Apa yang dimaksud sistem:
a.Batch system
b.Multiprogramming
c.Time sharing
d.Parallel (multiprocessor)
e.Terdistribusi
f.Cluster
g.Real time
h.Handheld
2.Apa perbedaan sistem single programming dan multiprogramming?
3.Apa perbedaan symmetric dan asymmetric multprocessing?
4.Apa perbedaan sistem paralel dan sistem terdistribusi
4.Perbedaan sistem terdistribusi dan sistem terklaster?
6.Apa yang dimaksud symmetric dan asymmetric clustering?
7.Sebutan keuntungan menggunakan sistem terdistribus?



  Soal 2
Latihan soal:
1.Aktifitas apa yang dilakukan operasi berhubungan dengan:
a.Manajemen proses
b.Manajemen memory utama
c.Manajemen file
2.Apa kegunaan sistem commad interpreter?
3.Apa yang dimaksud dengan system call?sebutkan contohnya.
4.Apa yang dimaksud sistem program?
5.Apa keuntungan dan kelemahan sistem layer?
6.Apa keuntungan dan kerugian sistem virtual memory?



Jawaban:



1.a). Sistem yang memproses data dalam diskrit bukan secara interaktif atau real time, melainkan dengan operasi yang dijadwalkan sebelumnya.
b). Melayani banyak program yang tidak ada hubungannya satu sama lain dan dijalankan sekaligus dalam satu komputer yang sama.

c). Adalah inovasi yang memungkinkan komputer komputer besar memproses banyak tugas secara simultan, dengan memberikan potongan waktu pada masing-masing tugas, dan beralih dari satu tugas ke tugas lainnya dengan cepat.

d). Sistem pengiriman data digital, dimana beberapa bit data dikirim sekaligus pada satu saat dengan menggunakan jalur terpisah

e). Jaringan pemrosesan data terdistribusi terdiri dari banyak komputer yang tergabung di dalam suatu jaringan komputer dimana antara yang satu dengan yang lain dapat saling membantu. Misalnya, sebuah komputer anggota jaringan ingin memproses suatu data tetapi fasilitas lokal yang tersedia tidak memadai, maka komputer tersebut dapat minta bantuan pada komputer lain pada jaringan terebut untuk memproses datanya dan apabila telah selesai mengirimkannya kembali.Sistem terdistribusi adalah koleksi prosesor yang terhubung dalam jaringan serta tidak berbagi memori, yaitu memiliki memori masing-masing.


f). Pengelompok. Grup sektor pada harddisk yang digunakan dalam proses penyimpanan informasi.

g). pemrosesan data dengan komputer yang hasilnya segera perlu diketahui pada saat itu juga.
2. Melayani banyak program yang tidak ada hubungannya satu sama lain dan dijalankan sekaligus dalam satu komputer yang sama.
Pelaksanaan instruksi yang diterapkan adalah:
- program dimuat ke dalam memori,
- program dijalankan sampai mengakses perangkat I/ O,
- berpindah (switch) ke pekerjaan lain,
- langkah tersebut berulang terus menerus,
- untuk proses perpindahan (switching), dilaksanakan oleh software

.3. Apa perbedaan symmetric dan asymmetric multiprocessing ?
- Kalau Symmetric : Mempunyai system operasi sama dan dapat melakukan komunikasi antara processor, dan
- Asymmetric multiprocessing : Satu processor berfungsi sebagai master prosesor

4.Apa perbedaan sistem paralel dan sistem terdistribusi?
pada system terklaster memungkinkan dua atau lebih sistem untuk membagi penyimpan sekunder (starage) bersama-sama sedangkan pada parallel kumpulan prosesor tidak dapat digunakan secara bersama-sama.

5. Perbedaan sistem terdistribusi dan sistem terklaster?
Terklaster mempunyai lebih dari satu prosesor yang dapat berkomuniksi, membagi bus, clock dan juga perangkat memori dan peripheral sedangkan prosesor pada terdistribusi bervariasi ukuran dan fungsinya biasanya terdiri dari mikroprosessor, workstation, dan system komputer general purpose.
6. Apa yang dimaksud symmetric dan asymmetric clustering ?
> Symmetric : Semua host dapat dijalankan aplikasi, dan
> Asymmetric Clustering : Satu sistem, dimana satu server menjalankan aplikasi sementara.

7. Keuntungan:
a.Resource sharing . Suatu komputer bisa mengakses sumber daya yang ada di komputer lain. Misalkan, komputer A bisa mengakses database yang ada di komputer B. Sebaliknya, komputer B bisa mencetak dokumen dengan menggunakan printer yang terpasang di komputer A.
b.Computation speedup . Jika suatu proses komputasi bisa dipecah-pecah menjadi sejumlah bagian yang berjalan secara konkuren, dalam sistem terdistribusi bagian-bagian komputasi ini bisa terbagi dalam komputer-komputer yang ada. Inilah yang menimbulkan adanya speedup. Lebih jauh lagi, bisa terjadi load sharing, yaitu jika suatu komputer mengerjakan tugas terlalu banyak, sebagian dari tugasnya itu bisa dialihkan ke komputer lain.
c.Reliability . Jika satu komputer mengalami kegagalan, maka secara keseluruhan sistem masih tetap dapat berjalan. Contoh: jika sistem terdiri atas komputer-komputer yang tersusun secara independen, kegagalan salah satu komputer seharusnya tidak mempengaruhi keseluruhan sistem. Tapi jika sistem terdiri atas komputer-komputer yang mengatur tugas spesifik seperti terminal I/O atau filesystem, maka kerusakan satu komputer saja bisa menyebabkan keseluruhan sistem mati. Tentunya, perlu mekanisme untuk mendeteksi kegagalan seperti ini, sehingga jika ada komputer yang rusak, sumber daya yang ada padanya tidak digunakan dan sebagai gantinya komputer yang lain bisa menangani itu.
d.Communication . Karena satu komputer terhubung dengan komputer-komputer laiinya, sangat dimungkinkan terjadi pertukaran informasi. Dengan adanya message passing, fungsi fungsi yang ada di suatu komputer misal file transfer, login, web browsing, bisa diperluas dalam sistem terdistribusi. Ini menyebabkan fungsi-fungsi ini bisa diakses secara jarak jauh. Misalnya, sejumlah orang yang terlibat dalam satu proyek, walaupun terpisah secara geografis, tetap bisa berkolaborasi dalam proyek itu. Dalam dunia industri, terjadi downsizing. Downsizing adalah mengganti mainframe dengan komputer atau workstation yang terhubung via jaringan. Dengan itu, mereka bisa mendapatkan fungsionalitas yang sesuai dengan biaya, kemudahan mengatur sumber daya, kemudahan maintenance/perawatan, dan lain-lain.


Jawaban  2

1. a). Sistem operasi bertanggung jawab atas aktivitas- aktivitas yang berkaitan dengan manajemen proses seperti:
Menciptakan dan menghapus proses.
Menunda atau melanjutkan proses.
Menyediakan mekanisme untuk proses sinkronisasi.
Menyediakan mekanisme untuk proses komunikasi.
Menyediakan mekanisme untuk penanganan deadlock.
b). Sistem operasi bertanggung jawab atas aktivitas- aktivitas yang berkaitan dengan manajemen memori seperti:
Melacak pemakaian memori (berapa besar dan oleh siapa)
Mengelola informasi memori yang dipakai atau tidak dipakai.
Alokasi dan dealokasi memori sesuai keperluan.
Memilih program yang akan di-load ke memori.
c). Sistem operasi bertanggung jawab dalam aktivitas yang berhubungan dengan manajemen berkas :
Pembuatan dan penghapusan berkas.
Pembuatan dan penghapusan direktori.
Mendukung manipulasi berkas dan direktori.
Memetakan berkas ke penyimpanan sekunder.
Mem- back up berkas ke media penyimpanan yang permanen (non-volatile).
2.Apa kegunaan sistem commad interpreter?
untuk mengambil dan mengeksekusi pernyataan perintah berikutnya
3. System call adalah tata cara pemanggilan di program aplikasi untuk memperoleh layanan yang disediakan oleh sistem operasi
Jenis System Calls
Berikut ini adalah tipe system call:
Manajemen Proses.  System call untuk manajemen proses diperlukan untuk mengatur proses-proses yang sedang berjalan. Kita dapat melihat penggunaan system calls untuk manajemen proses pada Sistem Operasi Unix. Contoh yang paling baik untuk melihat bagaimana system call bekerja untuk manajemen proses adalah Fork. Fork adalah satu satunya cara untuk membuat sebuah proses baru pada sistem Unix.
Manajemen Berkas. System calls yang berhubungan dengan berkas sangat diperlukan. Seperti ketika kita ingin membuat atau menghapus suatu berkas, atau ketika ingin membuka atau menutup suatu berkas yang telah ada, membaca berkas tersebut, dan menulis berkas itu. System calls juga diperlukan ketika kita ingin mengetahui atribut dari suatu berkas atau ketika kita juga ingin merubah atribut tersebut. Yang termasuk atribut berkas adalah nama berkas, jenis berkas, dan lain-lain. Ada juga system calls yang menyediakan mekanisme lain yang berhubungan dengan direktori atau sistem berkas secara keseluruhan. Jadi bukan hanya berhubungan dengan satu spesifik berkas. Contohnya membuat atau menghapus suatu direktori, dan lain-lain.
Manajemen Piranti. Program yang sedang dijalankan kadang kala memerlukan tambahan sumber daya. Jika banyak pengguna yang menggunakan sistem dan memerlukan tambahan sumber daya maka harus meminta peranti terlebih dahulu. Lalu setelah selesai, penggunaannnya harus dilepaskan kembali dan ketika sebuah peranti telah diminta dan dialokasikan maka peranti tersebut bisa dibaca, ditulis, atau direposisi.
System Call Informasi/Pemeliharaan. Beberapa system calls disediakan untuk membantu pertukaran informasi antara pengguna dan sistem operasi, contohnya adalah system calls untuk meminta dan mengatur waktu dan tanggal atau meminta informasi tentang sistem itu sendiri, seperti jumlah pengguna, jumlah memori dan disk yang masih bisa digunakan, dan lain-lain. Ada juga system calls untuk meminta informasi tentang proses yang disimpan oleh sistem dan system calls untuk merubah informasi tersebut.
Komunikasi. Dua model komunikasi:
Message-passing. Pertukaran informasi dilakukan melalui fasilitas komunikasi antar proses yang disediakan oleh sistem operasi.
Shared-memory. Proses menggunakan memori yang bisa digunakan oleh berbagai proses untuk pertukaran informasi dengan membaca dan menulis data pada memori tersebut. Dalam message-passing, sebelum komunikasi dapat dilakukan harus dibangun dulu sebuah koneksi. Untuk itu diperlukan suatu system calls dalam pengaturan koneksi tersebut, baik dalam menghubungkan koneksi tersebut maupun dalam memutuskan koneksi tersebut ketika komunikasi sudah selesai dilakukan. Juga diperlukan suatu system calls untuk membaca dan menulis pesan (message) agar pertukaran informasi dapat dilakukan.
Contoh System Call


4.Apa yang dimaksud sistem program?
Adalah segala jenis perangkat lunak yang dibutuhkan untuk pembentukan suatu sistem baru atau perangkat lunak yang dibutuhkan untuk menjalankan program aplikasi tetapi tidak ditujukan untuk suatu aplikasi khusus.
Contoh dari program sistem ini adalah sistem operasi, compiler, dan program untuk pengeditan text.
Program sistem ini termasuk diantaranya adalah:
- sistem yang digunakan untuk pengontrolan terhadap ekseskusi dari program lainnya, seperti sistem operasi.
- sistem yang digunakan pada lingkungan perangkat lunak itu sendiri, seperti command-line interpreter, window system,desktop.
- sistem yang digunakan sebagai alat bantu untuk membangun sistem lainnya, seperti assembler, compiler, linkers, libraries, interpreter, cross- reference generator, version control, make, debugging, profiling, dan alat bantu untuk monitor.
- program utility seperti untuk proses pengurutan data, pencetakan dan pengeditan.
Program sistem dapat dibagi ke dalam tiga klasifikasi, yaitu:
1.sistem operasi
2.program utilitas
3. program khusus
Sebuah komputer dapat memiliki satu atau beberapa sistem program. Sebuah sistem operasi untuk sebuah komputer dapat saja sangat khusus untuk model atau keluarga komputer, atau ada pula sistem operasi yang dapat digunakan di berbagai jenis komputer.
5. Apa keuntungan dan kelemahan sistem layer?
> Teknik pendekatan terlapis pada dasarnya dibuat dengan menggunakan pendekatan top-down.

> Lapisan terendah (layer) adalah perangkat keras dan lapisan teratas (layer N) adalah user interface.


6. Apa keuntungan dan kerugian sistem virtual memory?
1.Konsep virtual menyediakan proteksi yang lengkap untuk sumber daya sistem sehingga masing-masing mesinvirtualdipisahkan mesin virtual yang lain.
2.konsepmesin virtual sangat sulit untuk mengimplementasikankebutuhan dan duplikasiyang tepat pada mesin yang sebenarnya.


Jawaban 3

1. Sebutkan state pada proses dan jelaskan diagram proses!

a. New: proses sedang dibuat.

b. Running: proses sedang dieksekusi.

c. Waiting: proses sedang menunggu beberapa event yang akan terjadi (seperti menunggu untuk menyelesaikan I/O atau menerima sinyal).

d. Ready: proses menunggu jatah waktu dari CPU untuk diproses.

e. Terminated: proses telah selesai dieksekusi.


Status Proses. New, ready, running, waiting dan terminated.

Program Counter. Menunjukkan alamat berikutnya yang akan dieksekusi oleh proses tersebut.

CPU Registers. Register bervariasi tipe dan jumlahnya tergantung arsitektur komputer yang bersangkutan. Register-register tersebut terdiri-atas: accumulator, index register, stack pointer, dan register serbaguna dan beberapa informasi tentang kode kondisi. Selama Program Counter berjalan, status informasi harus disimpan pada saat terjadi interrupt. Gambar disamping menunjukkan switching proses dari satu proses ke proses berikutnya.

Informasi Penjadwalan CPU. Informasi tersebut berisi prioritas dari suatu proses, pointer ke antrian penjadwalan, dan beberapa parameter penjadwalan yang lainnya.

Informasi Manajemen Memori. Informasi tersebut berisi nilai (basis) dan limit register, page table, atau segment table tergantung pada sistem memory yang digunakan oleh SO.

Informasi Accounting. Informasi tersebut berisi jumlah CPU dan real time yang digunakan, time limits, account numbers, jumlah job atau proses, dll.

Informasi Status I/O. Informasi tersebut berisi deretan I/O device (seperti tape driver) yang dialokasikan untuk proses tersebut, deretan file yang dibuka, dll.


2. Apa yang dimaksud short term scheduler dan long term scheduler?

Terdapat dua bentuk penjadwal, yaitu:

Longterm-Scheduler (job scheduler), menyeleksi proses-proses mana yang harus dibawa ke ready queue.

Short-term Scheduler (CPU scheduler), memilih proses-proses yang siap untuk dieksekusi, dan mengakolakasikan CPU ke salah satu dari proses-proses tersebut.

Short-term scheduler terjadi sangat sering (dalam milidetik), jadi setiap proses

dijadwal dengan cepat, sedangkan long-term scheduler terjadi sangat jarang (dalam detik atau menit), sehingga setiap proses dijadwal dengan lambat. Long-term scheduler digunakan untuk mengontrol tingkat multiprogramming.


3. Jelaskan 4 alasan mengapa proses harus bekerja sama!

Keuntungan proses yang saling bekerja sama adalah:

(1)Terjadi pembagian informasi

(2)Meningkatkan kecepatan komputasi

(3)Proses dapat dibagi dalam modul-modul

(4)Lebih memberikan kenyamanan pada programmer.


4. Tuliskan kode program untuk penyelesaian permasalahan producer consumer dengan menggunakan shared memory!

#define BUFFER_SIZE 10

Typedef struct {

. . .

} item;

item buffer[BUFFER_SIZE];

int in = 0;

int out = 0;

Proses producer:

item nextProduced;

while (1) {

while (((in + 1) % BUFFER_SIZE) == out)

; /* do nothing */

buffer[in] = nextProduced;

in = (in + 1) % BUFFER_SIZE;

}

Proses consumer:

item nextConsumed;

while (1) {

while (in == out)

; /* do nothing */

nextConsumed = buffer[out];

out = (out + 1) % BUFFER_SIZE;

}


5. Diketahui skema komunikasi antar proses menggunakan mailbox;
1. Proses P ingin menunggu 2 pesan, satu dari mailbox A dan satu dari mailbox B. Tunjukkan urutan send dan receive yang dieksekusi!

Send :

Receive :

2. Bagaimana urutan send dan receive yang dieksekusi P jika P ingin menunggu satu pesan dari mailbox A atau mailbox B (salah satu atau keduanya)

Send :

Receive :


6. Jelaskah apa yang dimaksud dengan thread dan struktur dari thread!

Suatu proses didefinisikan oleh resource yang digunakan dan lokasi yang akan dieksekusi. Namun adakalanya proses-proses akan menggunakan resource secara bersama-sama. Suatu unit dasar dari CPU utilization yang berisi program counter, kumpulan register, dan ruang stack disebut dengan thread atau lighweight process (LWP). Thread akan bekerjasama dengan thread yang lainnya dalam hal penggunaan bagian kode, bagian data, dan resource sistem operasi, seperti open file dan sinyal secara kolektif yang sering disebut dengan task.

Apabila dilakukan perbandingaan antara sistem multi thread dengan sistem multi proses dapat disimak berikut. Pada multi proses, setiap proses secara terpisah melakukan operasi tidak bekerja sama dengan proses lain, setiap proses mempunyai program counter, stack register dan ruang alamat sendiri. Organisasi jenis ini berguna jika job dibentuk oleh proses-proses yang tidak saling berhubungan. Multi proses membentuk task yang sama. Sebagai contoh, multi proses dapat menyediakan data untuk mesin secara remote pada implementasi system file jaringan. Hal ini lebih efisien apabila satu proses terdiri dari multi thread melayani tugas yang sama. Pada implementasi multi proses, setiap proses mengeksekusi kode yang sama tetapi mempunyai memori dan resource file sendiri. Satu proses multi thread menggunakan resource lebih sedikit daripada multi proses, termasuk memory, open file dan penjadwalan CPU. Seperti halnya proses, thread memiliki status: ready, blocked, running dan terminated, dan hanya satu thread yang aktif dalam satu waktu. Thread dapat membuat child thread. Jika satu thread dalam keadaan blocked, maka thread yang lainnya dapat dijalankan. Namun, tidak saling bebas, Sebab semua thread dapat mengakses setiap alamat dalam satu task, thread dapat membaca dan menulisi stack dari thread yang lainnya. Sehingga tidak ada proteksi antara satu thread terhadap thread yang lainnya. Suatu proses dapat terdiri dari satu thread (single thread) dan beberapa thread (multi thread)

7. Jelaskan empat keuntungan menggunakan threads pada multiple process!

(1)Pada respon lebih cepat

(2)Menggunakan resource bersama-sama

(3)Lebih ekonomis

(4)Meningkatkan utilitas arsitektur mikroprosessor


8. Apakah perbedaan antara user-level thread dan kernel-supported threads?

User thread adalah thread yang diatur dengan menggunakan pustaka user level thread. Contoh; sistem yang menggunakan user thread adalah POSIX Pthreads, Mach C-threads dan Solaris threads.

Kernel thread adalah thread yang didukung oleh Kernel. Contoh; sistem yang menggunakan kernel thread adalah Windows 95/98/NT/2000, Solaris, Tru64 UNIX, BeOS dan Linux.


9. Ada 3 model multi threading, jelaskan!

Model multi thread terdiri dari model Many-to-One, One-to-One dan Many-to-Many.
Pada model Many-to-One, beberapa user level thread dipetakan ke satu kernel thread dan digunakan pada sistem yang tidak mendukung kernel threads.

Pada model One-to-One, setiap user-level thread dipetakan ke kernel thread, misalnya pada Windows 95/98/NT/2000 dan OS/2.

Pada model Many-to-Many, user level thread dipetakan ke beberapa kernel threads. Pada sistem operasi ini akan dibuat sejumlah kernel thread, contohnya Solaris 2 dan Windows NT/2000 dengan ThreadFiber package.


10. Jelaskan state pada Java thread!

Bahasa pemrograman Java menggunakan Java thread yang dibuat dengan menggunakan class Thread dan mengimplementasikan antar muka yang bersifat runnable (dapat dijalankan). Java thread diatur oleh Java virtual machine (JVM). Java thread terdiri dari state new, runnable, blocked dan dead.

Tidak ada komentar:

Posting Komentar