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;
}
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)
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.
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.
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