Kamis, 05 Desember 2013

Soal & Jawaban Sistem Operasi BAB I,BAB II & BAB III

BAB I
1.apa yang dimaksud sistem:
v  Batch System
sistem yang memproses data dalam diskrit bukan secara interaktif atau real time, melainkan dengan operasi yang dijadwalkan sebelumnya.
v  Multiprogramming
melayani banyak program yang tidak ada hubungannya satu sama lain dan dijalankan sekaligus dalam satu komputer yang sama.
v  Time Sharing
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.
v  parallel (multiprocessor)
sistem pengiriman data digital, dimana beberapa bit data dikirim sekaligus pada satu saat dengan menggunakan jalur terpisah
v  terdistribusi
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.
v  Cluster
pengelompok. grup sektor pada harddisk yang digunakan dalam proses penyimpanan informasi.
v  real time
pemrosesan data dengan komputer yang hasilnya segera perlu diketahui pada saat itu juga.
v  Handheld
komputer yang cukup kecil sehingga dapat digenggam. Komputer genggam ini dapat bekerja dengan fungsi yang hampir sama dengan komputer biasa. Meskipun sangat mudah untuk dibawa, komputer genggam tidak dapat menggantikan komputer biasa (PC) karena hanya memiliki keyboard dan layar yang kecil. Beberapa produsen mencoba untuk memecahkan masalah keyboard yang terlalu kecil. Keyboard tersebut diganti dengan electronic pen. Bagaimanapun, electronic pen ini masih bergantung pada teknologi pengenalan tulisan tangan yang masih dalam tahap pengembangan.






2.       perbedaan sistem single programming dan multiprogramming
melayani banyak program yang tidak ada hubungannya satu sama lain dan dijalankan sekaligus dalam satu komputer yang sama.
pelaksanaan instruksi yang diterapkan adalah:
v  program dimuat ke dalam memori,
v  program dijalankan sampai mengakses perangkat i/ o,
v  berpindah (switch) ke pekerjaan lain,
v  langkah tersebut berulang terus menerus,
v  untuk proses perpindahan (switching), dilaksanakan oleh software.

3.       perbedaan symmetric dan asymmetric multiprocessing
v  kalau symmetric :
mempunyai system operasi sama dan dapat melakukan komunikasi antara processor, dan
v  asymmetric multiprocessing :
satu processor berfungsi sebagai master prosesor

4.       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 ?
v  symmetric : semua host dapat dijalankan aplikasi, dan
v  asymmetric clustering : satu sistem, dimana satu server menjalankan aplikasi sementara.

7.       keuntungan Menggunakan Sistem Terdistribusi
v  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.
v  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.
v  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.
v  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.

BAB II
1.     Aktifitas apa yang dilakukan sistem operasi berhubungan dengan:
§  Manajemen proses
Merupakan kosep pokok di sistem operasi. Terdapat beragam definisi proses diantaranya:
*      Proses adalah program yang sedang dieksekusi.
*      Proses merupakan unit kerja terkecil yang secara individual memiliki sumber daya-sumber daya dan dijadwalkan oleh sistem operasi.
*      Sebuah proses membutuhkan beberapa sumber daya untuk menyelesaikan tugasnya. Sumber daya tersebut dapat berupa CPU time, memori, berkas - berkas, dan perangkat-perangkat I/O. Sistem operasi menegelola semua proses di sistem dan mengalokasikan sumber daya ke proses-proses sesuai kebijaksanaan untuk memenuhi sasaran sistem. Sistem operasi mengalokasikan sumber daya - sumber daya tersebut saat proses itu diciptakan atau sedang diproses/dijalankan. Ketika proses tersebut berhenti dijalankan, sistem operasi akan mendapatkan kembali semua sumber daya yang bisa digunakan kembali.
*      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.

§  Manajemen memory utama
Memori utama atau lebih dikenal sebagai memori adalah sebuah array yang besar dari word atau byte, yang ukurannya mencapai ratusan, ribuan, atau bahkan jutaan. Setiap word atau byte mempunyai alamat tersendiri. Memori utama berfungsi sebagai tempat penyimpanan instruksi / data yang akses datanya digunakan oleh CPU dan perangkat I/O. Memori utama termasuk tempat penyimpanan data yang yang bersifat volatile - tidak permanen (sementara), artinya data akan hilang jika komputer dimatikan.
Manajemen memori sangat mempengaruhi kinerja komputer. Manajemen memori melakukan tugas penting dan kompleks berkaitan dengan:
*      Memori utama sebegai sumber daya yang harus dialokasikan dan dipakai bersama di antara sejumlah proses yang aktif, agar dapat memanfaatkan prosesor dan fasilitas input/output secara efisisen, maka diinginkan memori yang dapat menampung sebanyak mungkin proses.
*      Upaya agar pemrogram atau proses tidak dibatasi kapasitas memori fisik di sistem komputer (adanya memori virtual).
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.
§  Manajemen file
§  Berkas adalah kumpulan informasi yang berhubungan, sesuai dengan tujuan pembuat berkas tersebut. Umumnya berkas merepresentasikan program dan data. Berkas dapat mempunyai struktur yang bersifat hirarkis (direktori, volume, dll.). Sistem operasi mengimplementasikan konsep abstrak dari berkas dengan mengatur media penyimpanan massa, misalanya tapes dan disk.
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 command interpreter ?
Sistem operasi menyediakan layanan untuk  programmer sehingga dapat melakukan pemrograman dengan mudah.
Eksekusi program. Sistem harus dapat memanggil program ke memori dan  menjalankannya. Program tersebut harus dapat mengakhiri eksekusinya dalam bentuk normal atau abnormal (indikasi error).
Operasi-operasi I/O. Pada saat running program kemungkinan dibutuhkan I/O, mungkin berupa file atau peralatan I/O. Agar efisien dan aman, maka user tidak boleh mengontrol I/O secara langsung, pengontrolan dilakukan oleh sistem operasi.
Manipulasi sistem file. Kapabilitas program untuk membaca, menulis, membuat dan menghapus file.
Komunikasi. Komunikasi dibutuhkan jika beberapa proses yang sedang dieksekusi saling tukar-menukar informasi. Penukaran informasi dapat dilakukan oleh beberapa proses dalam satu komputer atau dalam komputer yang berbeda melalui system jaringan. Komunikasi dilakukan dengan cara berbagi memori (shared memory) atau dengan cara pengiriman pesan (message passing).
Mendeteksi kesalahan. Sistem harus menjamin kebenaran dalam komputasi dengan melakukan pendeteksian error pada CPU dan memori, perangkat I/O atau pada user program.
Beberapa fungsi tambahan yang ada tidak digunakan untuk membantu user, tetapi lebih digunakan untuk menjamin operasi sistem yang efisien, yaitu:
v  Mengalokasikan sumber daya (resource).
Sistem harus dapat mengalokasikan resource untuk banyak user atau banyak job yang dijalanan dalam waktu yang sama.
v  Akutansi.
Sistem membuat catatan daftar berapa resource yang digunakan user dan resource apa saja yang digunakan untuk menghitung secara statistik akumulasi penggunaan resource.
v  Proteksi.
Sistem operasi harus menjamin bahwa semua akses ke resource terkontrol dengan baik.
3.     Apa yang dimaksud dengan system calls? Sebutkan contohnya!
Layanan langsung sistem operasi ke pemrograman, disebut dengan system call atay API (application programming interface). System call adalah tata cara pemanggilan di program aplikasi untuk memperoleh layanan yang disediakan oleh sistem operasi. System call berupa rutin sistem operasi untuk keperluan tertentu yang spesifik. Bentuk system call beragam, terbanyak berupa rutin prosedur atau fungsi.
Jenis System Calls;
v  Pengendalian proses.
*      selesai, abort
*      Load, eksekusi
*      Membuat dan mengakhiri proses
*      Mengambil dan mengeset atribut proses
*      Menunggu waktu
*      Wait event, signal event
*      Alokasi dan pengosongan memori


v  Manajemen berkas.
*      Membuat dan menghapus berkas
*      Membuka dan menutup berkas
*      Read, write, reposition
*      Mengambil dan mengeset atribut berkas
v  Manajemen Peranti.
*      Meminta peranti, melepaskan peranti
*      Read, write, reposition
*      Mengambil dan mengeset atribut peranti
v  Mempertahankan informasi.
*      Mengambil dan mengeset waktu dan tanggal
*      Mengambil dan mengeset system data
*      Mengambil proses, berkas atau atribut peranti
*      Mengeset proses, berkas atau atribut peranti
v  Komunikasi.
*      Menciptakan, menghapus hubungan komunikasi
*      Mengirim dan menerima pesan
*      Mentransfer status informasi
*      Attach ataudetach remote device
*      Komunikasi dapat dilakukan melalui message passing atau shared memory.
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:
v  Sistem yang digunakan untuk pengontrolan terhadap ekseskusi dari program lainnya, seperti sistem operasi.
v  Sistem yang digunakan pada lingkungan perangkat lunak itu sendiri, seperti command-line interpreter, window system, desktop.
v  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.
v  Program utility seperti untuk proses pengurutan data, pencetakan dan pengeditan.
Program sistem dapat dibagi ke dalam tiga klasifikasi, yaitu:
*      sistem operasi
*      program utilitas
*      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?
Menurut Tanenbaum dan Woodhull, sistem terlapis terdiri dari enam lapisan, yaitu:
v  Lapisan 0. Mengatur alokasi prosesor, pertukaran antar proses ketika interupsi terjadi atau waktu habis dan lapisan ini mendukung dasar multi-programming pada CPU.
v  Lapisan 1. Mengalokasikan ruang untuk proses di memori utama dan pada 512 kilo word drum yang digunakan untuk menahan bagian proses ketika tidak ada ruang di memori utama.
v  Lapisan 2. Menangani komunikasi antara masing-masing proses dan operator console. Lapisan ini masing-masing proses secara efektif memiliki operator console sendiri.
v  Lapisan 3. Mengatur peranti I/O dan menampung informasi yang mengalir dari/ke proses tersebut.
v  Lapisan 4. Tempat program pengguna. Pengguna tidak perlu memikirkan tentang proses, memori.
Kelemahan struktur ini adalah fungsi-fungsi sistem operasi harus diberikan ke tiap
lapisan secara hati-hati. Sedangkan keunggulannya adalah memeliki semua kelebihan rancangan modular, yaitu sistem dibagi menjadi beberapa modul dan tiap modul dirancang secara independen. Tiap lapisan dapat dirancang, dikode dan diuji secara independen. Pendekatan berlapis menyederhanakan rancangan, spesifikasi dan implementasi sistem operasi.
6.     Apa keuntungan dan kerugian sistem virtual memory?
Keuntungan:
v  Keamanan bukanlah masalah
v  Virtual Memori (VM) mempunyai pelindungan lengkap pada berbagai sistem sumber daya
v  Tidak ada pembagian sumber daya secara langsung. Pembagian disk mini dan jaringan diimplementasikan pada perangkat lunak
v  VM system adalah kendaraan yang “sempurna” untuk penelitian dan pengembangan sistemoperasi
v  Dengan VM perubahan suatu bagian tidak akan mempengaruhi komponen yang lain
Kerugian:
v  VM sulit diimplementasikan karena banyak syarat yang dibutuhkan untuk menyediakan duplikat yang tepat dari underlying machine
v  Harus punya virtual-user mode dan virtual-monitor mode yang keduanya berjalan di physical mode. Akibatnya, saat instruksi yang hanya membutuhkan virtual-monitor mode dijalankan, register berubah dan bias berefek pada virtual-user mode, bahkan bias me-restart VM
v  Waktu yang dibutuhkan I/O bias lebih cepat (karena ada spooling), tapi bias lebih lambat( karena diinterpreted).



BAB III

1.   Sebutkan state pada proses dan jelaskan diagram proses ?
v  New  : proses sedang dibuat.
v  Running  : proses sedang dieksekusi.
v  Waiting  : proses sedang menunggu beberapa event yang akan terjadi (seperti menunggu untuk menyelesaikan I/O atau menerima sinyal).
v  Ready  : proses menunggu jatah waktu dari CPU untuk diproses.
v  Terminated  : proses telah selesai dieksekusi.
Penjelasan Diagram Proses
*      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 3-3 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.

2.   Apa yang dimaksud short term scheduler dan long term scheduler  ?
v  Longterm-Scheduler (job scheduler), menyeleksi proses-proses mana yang harus dibawa ke ready queue.
v  Short-term Scheduler (CPU scheduler), memilih proses-proses yang siap untuk dieksekusi, dan mengakolakasikan CPU ke salah satu dari proses-proses tersebut.

3.   Jelaskan 4 alasan mengapa proses harus bekerja sama!
v  pembagian informasi
v  meningkatkan kecepatan komputasi
v  proses dapat dibagi dalam modul-modul
v  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!
v  Proses P ingin menunggu 2 pesan, satu dari mailbox A dan satu dari mailbox B. Tunjukkan urutan send dan receive yang dieksekusi
v  Bagaimana urutan send dan receive yang dieksekusi P jika P ingin menunggu
satu pesan dari mailbox A atau mailbox B (salah satu atau keduanya)

6.   Jelaskah apa yang dimaksud dengan thread dan struktur dari thread!
v  Pengertian tread : 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.
v  Struktur Thread :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!
v  respon lebih cepat
v  menggunakan resource bersama-sama
v  lebih ekonomis
v  meningkatkan utilitas arsitektur mikroprosessor

8.  Apakah perbedaan antara user-level thread dan kernel-supported threads ?
Thread terdiri dari dua bentuk yaitu user-level thread dan kernel-supported thread.
v  User-level 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.
v  Kernel-supported 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 multithreading, jelaskan!
v  Model Many-to-One : beberapa user level thread dipetakan ke satu kernel thread dan digunakan pada sistem yang tidak mendukung kernel threads.
v  Model One-to-One : setiap user-level thread dipetakan ke kernel thread, misalnya pada Windows 95/98/NT/2000 dan OS/2.
v  Model Many-to-Many : user level thread dipetakan ke beberapa kernel threads. Pada sistem operasi ini akan dibuat sejumlah kernel thread.

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

Silahkan jika anda komentar, tapi anda gunakan bahasa yang sopan