Instalasi Ubuntu 12.04 pada VirtualBox di Windows 8

Halo, kali ini saya akan berbagi info tentang cara instalasi OS Ubuntu 12.04 dengan menggunakan VirtualBox.
Oracle VM VirtualBox adalah perangkat lunak virtualisasi yang dapat digunakan untuk mengeksekusi sistem operasi "tambahan" di dalam sistem operasi "utama". (sumber : wikipedia.org)
Nah, jadi saya yang saat ini menggunakan Windows 8 sebagai sistem operasi utama dapat menambahkan Ubuntu (atau yang lainnya) sebagai sistem operasi tambahannya. Keunggulan dari penggunaan VirtualBox adalah tidak menghabiskan kinerja komputer baik RAM maupun hardisknya.

Langkah pertama yang harus teman-teman lakukan sebelum menginstal Ubuntu-nya adalah menginstal terlebih dahulu VirtualBoxnya. Kalo belum ada, bisa download di sini nih. Instalnya mudah, seperti instalasi aplikasi pada umumnya, cukup klik tombol next sampai ketemu tombol instal :)
Nah ini dia tampilan VirtualBox yang sudah berhasil terinstal :


Nah, sekarang kita akan mulai menginstal Ubuntu. Klik tombol baru yang berwarna biru di pojok kiri atas jendela VirtualBox.

Isikan seperti gambar di bawah ini :


Nama : (bebas)
Tipe   : Linux
Versi  : Ubuntu 
Ukuran memorinya bebas, ini dipakai untuk memory system dari sistem operasi yang akan diinstal. Setelah itu pilih 'Buat hardisk virtual sekarang'. Lalu klik 'Buat'.

Tahap selanjutnya adalah membuat drive baru. Disini saya membuat drive baru berukuran 8 GB, setelah itu klik 'Buat'.


Akan muncul tampilan seperti berikut :


Setelah itu masuk ke pengaturan. Pastikan file iso dari ubuntu 12.04 nya sudah ada ya ! Kalau belum bisa download di sini.


Sekarang kita sudah siap menginstal Ubuntu 12.04 di VirtualBox. Klik 'Mulai', tunggu sampai proses selesai lalu akan muncul jendela baru. Disanalah kita akan menginstal Ubuntu. Setelah blank window akan muncul tampilan seperti berikut :


Pilihlah bahasa yang akan digunakan pada Ubuntu kita nanti. Di sini saya memilih menggunakan 'Bahasa Indonesia'. Lalu klik 'Pasang Ubuntu' maka akan muncul tampilan berikut :


Klik 'Lanjutkan'.


Selanjutnya membuat partisi. Karena di VirtualBox ini hanya baru ada Ubuntu saja, maka saya memilih 'Hapus diska dan pasang Ubuntu'. Lalu klik 'Lanjutkan'.


Ubuntu siap diinstal.


Selagi menunggu proses selesai, kita bisa sambil memilih regional keberadaan kita, identitas profil sistem operasi yang akan digunakan.




Setelah instalasi selesai, restart pada mesin virtualnya.


Dan Ubuntu siap digunakan :)









0 comments:

Cheat Sheet Linux


Kali ini saya akan berbagi ilmu tentang perintah-perintah dalam LINUX. Ini berdasarkan materi yang saya dapat saat praktikum sistem operasi beberapa waktu yang lalu. Cheat sheet ini mempermudah kita untuk mengoperasikan beberapa operasi lewat terminal atau console.
Nah ini dia cheat sheet nya :)

1. Basic Command



2. Manajemen Proses



3. Konkurensi


Semoga bermanfaat ^^

0 comments:

Desain Cover DVD

stiker DVD IndoMS
cover depan IndoMS
cover belakang IndoMS




















stiker DVD Kunj. Malaysia
cover depan Kunjungan Malaysia
cover belakang Kunjungan Malaysia




















stiker DVD MGMP Tangerang
cover depan MGMP Tangerang
cover belakang MGMP Tangerang


















0 comments:

MANAJEMEN MEMORI PEMARTISIAN DINAMIS

1. Multiprogramming dengan Swapping

Pada sistem timesharing, umumnya terdapat lebih banyak proses dibandingkan memori yang tersedia untuk memuat seluruh proses. Dengan demikian perlu menyimpan proses-proses yang tidak termuat memori ke disk. Untuk menjalankan  proses-proses yang akan dieksekusi, proses-proses itu harus telah masuk memori utama. Pemindahan proses dari memori utama ke disk dan sebaliknya disebut swapping.
Dengan swapping, multiprogramming sistem timesharing dapat ditingkatkan kinerjanya yaitu dengan memindah proses-proses blocked ke disk dan hanya memasukkan roses-proses ready ke memori utama.


2. Multiprogramming dengan Pemartisian Dinamis

Dengan pemartisian dinamis, maka jumlah, lokasi dan ukuran proses di memori dapat beragam sepanjang waktu secara dinamis. Proses yang akan masuk ke memori segera dibuatkan partisi untuknya sesuai kebutuhan. Teknik ini meningkatkan utilitas memori.
Kelemahannya :
a. Dapat terjadi lubang-lubang kecil memori diantara partisi-partisi yang dipakai.
b. Merumitkan alokasi dan dealokasi memori.

Lubang-lubang (yaitu kelompok blok memori yang tidak digunakan) kecil di Antara blok-blok memori yang digunakan dapat diatasi dengan pemadatan memori (memory compaction). Pemadatan memori adalah operasi menggabungkan semua lubang kecil menjadi satu lubang besar dengan memindahkan semua proses agar saling berdekatan.
Kelemahan teknik pemadatan memori :
a. Memerlukan waktu yang sangat banyak
b. Sistem harus menghentikan sementara semua proses selagi melakukan pemadatan.


3. Proses Tumbuh dan Berkembang

Masalah lain pada pemartisian dinamis adalah proses dapat tumbuh berkembang. Segmen data proses dapat tumbuh, misalnya karena :
a. Heap untuk data dinamis berkembang
b. Stack untuk pemanggilan prosedur dan variabel lokal.

Solusi masalah ini adalah bila proses bersebelahan dengan lubang memori tidak dipakai, proses tumbuh memakai lubang itu. Masalah menjadi lebih parah bila proses bersebelahan dengan proses-proses lain.
Peringkat alternatif penyelesaian adalah sebagai berikut :
a. Bila masih terdapat lubang besar yang dapat memuat proses, maka proses dipindah ke lubang memori yang cukup dapat memuat.
b. Satu proses atau lebih di-swap ke disk agar memberi lubang cukup besar untuk proses yang berkembang.
c. Jika roses tidak dapat tumbuh di memori dan daerah swap di disk telah penuh, proses harus menunggu atau disingkirkan.


4. Pencatatan Pemakaian Memori

Memori yang tersedia harus dikelola, dilakukan dengan pencatatan pemakaian memori. Terdapat tiga cara utama pencatatan pemakaian memori, yaitu :
a. Pencatatan pemakaian peta bit (bitmap)
b. Pencatatan memakai senarai berkait
c. Pencatatan memakai sistem buddy


5. Pencatatan Pemakaian Peta Bit

Memori dibagi menjadi unit-unit alokasi, berkorespondensi dengan tiap unit alokasi adalah satu bit pada peta bit.
a. Nilai 0 pada peta bit berarti unit itu masih bebas.
b. Nilai 1 berarti unit digunakan.

Masalah:
a. Unit alokasi mmori berukuran kecil berarti membesarkan ukuran peta bit
b. Unit alokasi memori n berukuran besar berarti peta bit kecil tapi memori banyak disiakan pada unit terakhir masing-masing roses jika ukuran proses bukan kelipatan unit alokasi.

Keunggulan : Dealokasi dapat dilakukan secara mudah, hanya tinggal menge-set bit yang berkorespondensi dengan unit yang telah tidak digunakan dengan 0.
Kelemahan : Harus dilakukan perhitungan blok lubang memori saat unit memori bebas dan memerlukan ukuran peta bit besar untuk memori yang besar.


6. Pencatatan Memeakai Senarai berkait

Sistem operasi mengelola senarai berkait (linked list) untu blok-blok memori yang dialokasikan dan bebas. Blok memori menyatakan memori untuk proses atau memori yang bebas (lubang).

Keunggulan : Tidak ada perhitungan blok lubang memori karena sudah tercatat di simpul dan memori yang diperlukan relatif lebih kecil.
Kelemahan : Dealokasi sulit dilakukan karena terjadi beberapa operasi penggabungan simpul-simpul senarai.


7. Pencatatan Memakai Sistem Buddy

Sistem buddy adalah algoritma pengelolaan memori yang memanfaatkan kelebihan penggunaan bilangan biner untuk pengalamatan memori. Karakteristik bilangan biner digunakan untuk mempercepat penggabungan lubang-lubang berdekatan ketika proses berakhir atau dikeluarkan.

Keunggulan :  Sistem buddy memiliki keunggulan dibandingkan dengan algoritma-algoritma yang mengiritkan blok-blok berdasarkan ukuran. Ketika blok berukuran 2¬k dibebaskan, maka manajer memori hanya mencari pada senarai lubang 2¬k untuk memeriksa apakah dapat dilakukan penggabungan. Pada algoritma-algoritma lain yang memungkinkan blok-blok memori dipecah dalam sembarang ukuran, seluruh senarai harus dicari. Alokasi dan dealokasi pada sistem buddy dapat dilakukan dengan cepat.

Kelemahan : Utilitas memori sangat tidak efisien.


8. Strategi Alokasi Memori

Terdapat beragam strategi alokasi proses ke memori. Alokasi harus mencari sekumpullan blok memori yang ukurannya mencukupi untuk memuat proses yaitu lubang kosong yang sama atau lebih besar disbanding ukuran memori yang diperlukan proses.

Beragam algoritma itu Antara lain :

a. First-fit Algorithm
Manajer memori menelusuri peta biat atau senarai berkait sampai menemukan lubang besar yang memadai untuk ditempati proses. Lubang dibagi dua, untuk proses dan lubang yang tidak digunakan kecuali ketika besar lubang itu tepat sama dengan ukuran yang diperlukan proses.
Keunggulan : Menemukan lubang memori paling cepat dibandingkan algoritma lain.

b. Next-fit Algirithm
Mekanismenya sama dengan algoritma first-fit, hanya penelusuran tidak dimulai dari awal tapi dimulai dari posisi terakhir kali menemukan segmen untuk proses.

c. Best-fit Algorithm
Algoritma mencari sampai akhir dan mengambil lubang terkecil yang dapat memuat proses. Algoritma ini mencoba mencari lubang yang mendekati ukuran yang diperlukan.
Kelemahan : sangat lamban dibandingkan first-fit dan menghasilkan mamori yang diboroskan lebih banyak disbanding dua algoritma sebelumnya.

d. Worst-fit Algorithm
Selalu mencari lubang besar yang tersedia sehingga lubang dapat dipecah menjadi cukup besara agar berguna untuk proses-proses berikutnya.

e. Quick-fit Algorithm
Keempat algoritma di atas dapat dipercepat dengan mengelola dua senarai yaitu senarai untuk proses dan senarai untuk lubang memori. Dengan berbagai senarai maka alokasi memori dapat dilakukan dengan cepat yaitu tinggal mencari senarai terkecil yang dapat menampung proses.
Keunggulan : sangat cepat dalam alokasi proses.
Kelemahan : dealokasi sulit dilakukan.


9. Alokasi Ruang Swap pada Disk

Strategi dan algortima yang dibahas aalah untuk mencatat memori utama. Ketika proses akan dimasukkan ke memori utama (swap in), sistem dapat menemukan ruang untuk proses-proses itu.

Terdapat dua strategi utama penempatan roses yang dikulauarkan dari memori utama (swap out) ke disk, yaitu :
a. Ruang disk tempat swap dialokasikan begitu diperlukan.
Ketika proses harus dikeluarkan dari memori utama, ruang disk segera dialokasikan sesuai ukuran proses. Untuk itu, diperlukan algoritma untuk mengelola ruang disk seperti untuk mengelola memori utama.Ketika proses dimasukkan kembali ke memori utama, segera ruang disk untuk swap dialokasikan.
b. Ruang disk tempat swap dialokasikan lebih dulu.
Saat proses diciptakan, ruang swap pada disk dialokasikan. Ketika proses harus dikeluarkan dari memori utama, proses selalu ditempatkan ke ruang yang telah dialokasikan, bukan ke tempat-tempat berbeda setiap kali terjadi swap out. Ketika proses berakhir, ruang swap pada disk didealokasikan.

2 comments:

MANAJEMEN MEMORI PEMARTISIAN STATIS

1. Pendahuluan

Manajemen memori melakukan tugas penting dan kompleks berkaitan dengan hal-hal berikut :
a. Memori utama sebagai sumber daya yang harus dialokasikan dan dipakai bersama di antara sejumlah proses yang aktif. Agar dapat memanfaatkan pemroses dan fasilitas masukan/keluaran secara efisien maka diinginkan memori dapat menampung proses sebanyak mungkin.
b. Mengupayakan agar pemogram atau proses tidak dibatasi kapasitas memori fisik di sistem komputer.

Manajemen memori mempunyai fungsi sebagai berikut :
a. Mengelola informasi mengenai memori yang dipakai dan tidak dipakai sistem.
b. Mengalokasikan memori ke proses yang memerlukan
c. Mendealokasikan memori dari proses yang telah selesai menggunakannya
d. Mengelola swapping Antara memori utama dan hardisk.


2. Klasifikasi Manajemen Memori

Klasifikasi manajemen memori diberikan Deitel [DEI-90].



(1), (2), (3), dan (4) merupakan pengelolaan untuk kapasitas memori sebatas memori fisik yang tersedia. Teknik-teknik ini tidak dapat digunakan untuk memuat program-program yang berukuran lebih besar disbanding kapasitas fisik memori yang tersedia.

(5), (6), dan (7) dapat digunakan untuk mengakali kapasitas memori yang terbatas sehingga dapat dijalankan program yang ukurannya lebih besar disbanding kapasitas memori fisik yang tersedia.

Manajemen memori berdasarkan keberadaan swapping :
a. Manajemen tanpa swaping. Manajemen memori tanpa kemamuan memindahkan citra proses Antara memori utama dan hardisk selama eksekusi.
b. Manajemen memori dengan swaping. Manajemen memori dengan kemampuan memindahkan citra proses Antara memori utama dan hardisk selama eksekusi.

Manejemen memori berdasarkan alokasi memori :
a. Alokasi memori berurutan (kontigu). Masing-masing proses menempati satu blok tunggal lokasi memori yang berurutan.
b. Alokasi memori tidak berurutan. Program dibagi menjadi beberapa blok. Blok-blok program ditempatkan di memori dalam potongan-potongan tanpa perlu saling berdekatan. Teknik ini biasa digunakan pada sistem memori maya sebagai alokasi page-page dilakukan secara global.


3. Manajemen Memori Tanpa Swapping

Manajemen memori tanoa swapping terdiri dari :
a. Manajemen memori untuk monoprogramming
b. Manajemen memori untuk multiprogramming dengan pemartisisan statis


4. Monoprogramming

Manajemen memori yang paling sederhana. Sistem computer hanya mengijinkan satu proses berjalan pada satu waktu. Semua sumber daya sistem computer sepenuhnya dikuasai oleh proses yang sedang berjalan karena merupakan satu-satunya proses yang berjalan.
Ciri-ciri :
a. Hanya satu proses pada satu saat
b. Hanya satu proses menggunakan semua memori
c. Pemakai memuatkan program ke seluruh memori dari disk atau tape
d. Program mengambil kendali seluruh mesin


5. Multiprogramming dengan Pemartisian Statis

Alasan mengapa multiprogramming digunakan :
a. Mempermudah pemorgram
b. Agar dapat memberi layanan interaktif ke beberapa orang secara simultan
c. Efisiensi Penggunaan Sumber daya
d. Eksekusi lebih murah jika proses besar dipecah menjadi beberapa proses kecil
e. Dapat mengerjakan sejumlah proses secara simultan

Multiprogramming dapat dilakukan dengan pemartisian statis, yaitu memori dibagi menjadi sejumlah partisi tetap.

Pemartisian statis berdasarkan ukuran partisinya, yaitu :
a. Pemartisian menjadi partisi-partisi berukuran sama, yaitu ukuran semua partisinya sama. Beberapa proses yang ukurannya kurang atau sama dengan ukuran partisi dimasukkan ke sembarang partisi yang tersedia.
Kelemahan : Bila program berukuran lebih besar dari partisi yang tersedia maka program tidak akan pernah dijalankan dan untuk program yang ukurannya jauh lebih kecil disbanding ukuran partisi maka banyak ruang yang tidak dipakai yang diboroskan, disebut fragmentasi internal.
b. Pemartisian menjadi partisi-partisi berukuran berbeda, yaitu ukuran semua partisi memori berbeda. Kelemahan pada (a) dapat diatasi oleh pemartisian ini.


6. Strategi Penempatan Program ke Partisi

a. Pemartisian berukuran sama.
Penempatan partisi dapat dilakukan secara mudah karena dapat dipilih sembarang partisi yang kosong.
b. Pemartisian berukuran berbeda.
1)   Satu antrian untuk tiap partisi (banyak antrian untuk seluruh partisi). Proses ditempatkan ke partisi paling kecil yang dapat memuatnya.
Keunggulan : meminimalkan pemborosan.
Kelemahan : dapat terjadi antrian panjang pada satu partisi sedangkan partisi yang lain kosong.
2)   Satu antrian tunggal untuk seluruh partisi. Proses segera ditempatkan di partisi paling kecil dan sedang bebas yang dapat memuatnya.
Keunggulan : Lebih fleksibel serta impelemtasi dan operasi lebih minimal karena hanya mengelola satu antrian.

Kelemahan : Proses dapat ditempatkan di partisi yang banyak diboroskan, yaitu proses kecil ditempatkan di partisi yang besar.


7. Masalah Pemartisian Memori menjadi Partisi-partisi Statis

a. Relokasi adalah masalah penempatan proses sesuai alamat fisik sehubungan alamat partisi memori saat peroses ditempatkan. Proses dapat ditempatkan pada partisi-partisi berbeda menurut keadaan sistem saat itu. Pengalamatan fisik secara absolut untuk proses tidak dapat dilakukan.
Solusi : Sistem operasi menambahkan alamat awal partisi.
Masalah yang ditimbulkan : menimbulkan masalah proteksi terhadap memori. Program tidak terkendali selalu mampu membangun instruksi baru dan meloncati. Tidak ada cara untuk menghentikan jika program membaca atau menulis word di memori partisi lain. Masalah relokasi dan proteksi tidak dapat dipisahkan, diperlukan satu solusi tunggal mengatasi kedua masalah.
b. Proteksi pada Multiprogramming. Masalahnya adalah bekerja dengan banyak proses di saat sistem secara bersamaan dikhawatirkan proses akan menggunakan atau memodifikasi daerah yang dikuasai proses lain (yang bukan menjadi haknya). Bila kejadian ini terjadi, maka proses lain dapat terganggu dan hasil yang diperolehnya dapat menjadi kacau.
Solusi : Menggunakan dua register, yaitu base register dan limit register. Base register diisi alamat awal partisi dan limit register diisi panjang partisi. Setiap alamat yang dihasilkan secara otomatis ditambah nilai base register. Intruksi yang mengacu pada alamat yang melebihi limit register akan menimbulkan trap yang memberitahu sistem operasi telah terjadi pelanggaran pengaksesan memori.
Keunggulan : alamat tidak perlu dimodifikasi dan setiap intruksi dapat diperiksa agar tidak mengakses melewati batas limit register.


8. Fragmentasi pada Pemartisian Tetap

Fragmentasi yaitu pemborosan memori akan terjadi pada setiap organisasi penyimpanan.
Fragmentasi pada pemartisian tetap :
a. Fragmentasi internal
Proses tidak mengisi penuh partisi yang telah ditetapkan untuk proses.
b. Fragmentasi eksternal
Partisi tidak digunakan karena ukuran partisi lebih kecil disbanding ukuran proses yang menunggu di antrian sehingga tidak digunakan.

3 comments:

DEADLOCK

1. Pendahuluan

Proses terlibat di dalam deadlock jika proses menunggu suatu kejadian tertentu yang tidak akan pernah terjadi.

Syarat-syarat perlu terjadinya deadlock :
Coffiman, et al. [Cof-71] menyatakan empat syarat terjadinya deadlock, yaitu :
a. Mutual exclusion.
Sumber daya saat itu diberikan pada tepat satu proses.
b. Kondisi genggam dan tunggu.
Proses-proses yang sedang menggenggam sumber daya, menunggu sumber daya-sumber daya baru.
c. Kondisi non-preemption.
Sumber daya–sumber daya yang sebelumnya diberikan tidak dapat diambil paksa dari proses yang sedang menggenggamnya. Sumber daya-sumber daya harus secara eksplisit dilepaskan dari proses yang menggenggamnya.
d. Kondisi menunnggu secara sirkuler.
Harus terdapat rantai sirkuler dari dua proses atau lebih, masing-masing menunggu sumber daya yang digenggam oleh anggota berikutnya pada rantai itu.


2. Metode Mengatasi Deadlock

a. Metode pencegahan terjadinya deadlock.
b. Metode penghindaran terjadinya deadlock.
c. Metode deteksi dan pemulihan dari deadlock.

Strategi Burung Unta. Strategi ini mengasumsikan kejadian dadlock jarang terjadi dibandingkan kejadian computer mengalami crash. Mengapa bersusah payah mengatasi deadlock ? Toh, sistem lebih sering rusak karena crash. Disebut strategi burung unta karena solusi ini sebenarnya tidak mempedulikan adanya masalah. Strategi ini berarti sama sekali tidak berusaha untuk mengatasi deadlock atau sama sekali tidak ada metode yang diterapkan untuk mengatasi deadlock.


3. Metode Pencegahan deadlock

Havender [HAV-68] mengemukakan bahwa jika sembarang syarat dari keempat syarat terjadinya deadlock tidak terpenuhi maka tidak akan terjadi deadlock. Havender menyarankan strategi-strategi berikut untuk meniadakan syarat-syarat tersebut, yaitu :
a. Tiap proses harus meminta semua sumber daya yang diperlukan sekaligus dan tidak berlanjut sampai semuanya diberikan.
b. Jika proses telah sedang memegang sumber daya tertentu, untuk permintaan berikutnya proses harus melepas dulu sumber daya yang dipegangnya. Jika diperlukan, proses meminta kembali sekaligus dengan sumber daya yang baru.
c. Memberi pengurutan linear terhhadap tipe-tipe sumber daya pada semua proses, yaitu jika proses telah dialokasikan suatu tipe sumber daya, proses hanya boleh berikutnya meminta sumber daya-sumber daya tipe pada urutan yang berikutnya.

3.1 Mutual Exclusion

Deadlock disebabkan adanya pengaksesan ekslusif terhadap sumber daya. Jika tidak ada sumber daya ekslusif untuk suatu proses tunggal maka tidak akan pernah terjadi deadlock. Cara yang dapat ditempuh adalah dengan melakukan spooling perangkat-perangkat yang harus didedikasikan ke suatu proses. Pengaksesan sumber daya seolah-olah tidak ekslusif walau sebenarnya tetap ekslusif, hanya dengan spooling berarti permintaan-permintaan itu diantrikan di hardisk. Job-job di antrian spooler akan dilayani satu per satu.
Masalah :
a. Tidak setiap sumber daya ekslusif dapat di-spooling, misalnya tabel proses.
b. Kompetisi terhadap ruang hardisk untuk spooling dapat menuntun ke deadlock.
c. Mutual exclusion benar-benar tidak dapat dihindari, hanya mampu diperkecil granularitas/lama waktu berlangsungnya

3.2 Meniadakan Syarat Genggam dan Tunggu

a. Mengalokasikan semua sumber daya atau tidak sama sekali.
Proses hanya dilayani permintaannya bila semua sumber daya yang diperlukan tersedia. Jika tidak tersedia sedikitnya satu sumber daya, maka proses harus menunggu sampai semua sumber daya yang diperlukan tersedia untuk dialokasikan padanya.
Masalah : Sukar mengetahui lebih dulu semua sumber daya yang diperlukan suatu proses karena di awal tidak diketahui berapa sumber daya yang diperlukan dan cara ini dapat mengakibatkan penggunaan sumber daya yang tidak efisien.
b. Hold and release
Genggam dan lepaskan, yaitu setiap kali terjadi permintaan suatu sumber daya maka proses harus melepas sumber daya lain yang telah digunakan. Pada satu saat, hanya satu sumber daya yang dialokasikan untuk proses.
Masalah : Teknik ini tidak memungkinkan sebab terdapat proses yang mensyaratkan harus memegang beberapa sumber daya sekaligus untuk melanjutkan eksekusinya.

3.3 Meniadakan Non-Preemption

Peniadaan non-preemption mencegah proses-proses lain harus menunggu. Seluruh proses menjadi preemption agar tidak ada kejadian tunggu-menunggu.
Masalah : Tidak mungkin meniadakan non-preemption.

3.4 Meniadakan Menunggu Sirkular

a. Proses hanya dibolehkan menggenggam satu sumber daya pada satu saat. Jika perlu sumber daya kedua, proses harus melepas sumber daya yang pertama (hold and release).
Masalah : Teknik ini tidak dimungkinkan karena terdapat proses yang mengharuskan memegang lebih dari satu sumber daya pada saat yang sama untuk menyelesaikan prosesnya
b. Penomoran global semua sumber daya. Proses dapat meminta dijalankan kapanpun menginginkan tapi permintaan harus dibuat terurut secara numeric. Cara ini tidak akan menimbulkan siklus.
Masalah : Tidak ada cara pengurutan nomor sumber daya yang memuaskan semua pihak.


4. Metode Menghindari Terjadinya deadlock

Gagasan dasar penghindaran deadlock adalah hanya memberi akses ke permintaan sumber daya yang tidak mungkin menimbulkan deadlock. Strategi ini biasanya diimplementasikan dengan pengalokasi sumber daya memeriksa dampak-dampak pemberian akses ke suatu permintaan.
Jika pemberian akses sumber daya tidak mungkin menuju deadlock, sumber daya diberikan permintaan
Jika tidak aman (memungkinkan terjadinya deadlock), proses yang meminta di-suspend sampai suatu waktu permintaannya aman diberikan. Kondisi ini biasanya terjadi setelah satu sumber daya atau lebih yang semula dipegang oleh proses-proses aktif lain dilepaskan.

Agar dapat mengevaluasi safe-nya state, penghindaran deadlock mengharuskan semua proses menyatakan jumlah kebutuhan sumber daya maksimum sebelum eksekusi. Jika kebutuhannya melebihi kapasitas total sistem maka proses tidak dapat dieksekusi. Jika kebutuhan sumber daya yang diperlukan sudah tersedia semua, maka sistem akan memeriksa apakah pemberian sumber daya akan menuntun ke deadlock  (memeriksa apakah proses-proses yang telah aktif dapat secara selamat selesai). Jika dapat berakhir secara selamat, maka sumber daya dialokasikan ke proses yang meminta.

State selamat (safe state)
State dinyatakan sebagai state selamat (safe state) jika tidak deadlock dan terdapat cara untuk memenuhi semua permintaan yang ditunda tanpa menghasilkan deadlock dengan menjalankan proses-proses secara hati-hati mengikuti suatu urutan tertentu.

State tak selamat (unsafe state)
State dinyatakan sebagai state tak selamat jika tidak terdapat cara untuk memenuhi semua permintaan yang saat ini ditunda dengan menjalankan proses-proses dengan suatu urutan.


5. Metode Deteksi dan Pemulihan dari Deadlock

Deteksi deadlock adalah teknik untuk menentukan apakah deadlock terjadi serta mengidentifikasi proses-proses dan sumber daya-sumber daya yang terlibat deadlock. Umumnya algoritma-algoritma deteksi yang digunakan adalah menentukan keberadaan menunggu sirkular (circular wait). Penggunaan algoritma deteksi deadlock melibatkan overhead pada saat berjalan karena secara periodik dijalankan untuk mendeteksi circular wait. Sembarang algoritma pendeteksian siklus pada graph berarah dapat digunakan.
Begitu sistem terdapat deadlock dpat dipulihkan dengan menghilangkan satu syarat perlu atau lebih. Biasanya beberapa proses akan kehilanggan sebagian atau semua kerja yang telah dilakukan. Hal ini merupakan ongkos yang harus dibayar disbanding terjadinya deadlock yang berarti proses tidak menghasilkan apa pun.

Pemulihan dari deadlock dirumitkan oleh faktor-faktor berikut :
a. Belum tentu dapat menentukan adanya deadlock dengan cepat
b. Kebanyakan sistem mempunyai fasilitas buruk untuk men-suspend proses, menghilangkan proses dari sistem untuk di-resume di lain waktu.
c. Jika kemampuan men-suspend dan me-resume ini tersedia dan efektif, maka akan melibatkan sejumlah overhead. Itu berarti memerlukan kemampuan operator yang tinggi. Operator semacam ini tidak selalu tersedia.
d. Pemulihan memerlukan sejumlah kerja yang berarti.

Teknik pemulihan yang biasa digunakan adalah menghilangkan (dengan suspend atau kill) proses-proses dari sistem dan pengklaiman kembali (reclaim) sumber daya-sumber daya yang dipegang proses-roses itu. Proses yang dihilangkan biasanya akan cacat, tapi proses-proses lain dapat menyelesaikan prosesnya.

Pendekatan berikut dapat dilakukan untuk pemulihan deadlock :
a. Abaikan (singkirkan) semua proses yang terlibat deadlock. Teknik ini merupakan cara termudah dan solusi yang paling sering dipilih.
b. Back-up semua proses yang terlibat deadlock ke suatu checkpoint yang didefinisikan sebelumnya dan jalankan kembali semua proses itu. Resikonya, deadlock semula dapat terjadi lagi, tetapi karena ketidaktentuan pemrosesan konkuren, biasanya menjamin tidak akan terjadi deadlock serupa.
c. Seacara berurutan abaikan (singkirkan) proses-proses sampai deadlock tidak ada lagi.
d. Secara berurutan preempt sumber daya-sumber daya sampai tidak ada lagi deadlock.



6. Strategi Penanggulangan Deadlock Terpadu

Masing-masing teknik mempunyai keunggulan dan kelemahan, maka daripada berusaha merancang fasilitas sistem operasi dengan satu strategi penanggulangan deadlock maka lebih efisien menggunakan strategi-strategi berbeda untuk situasi-situasi berbeda. Silberschatz [SIL-94] menyarankan satu pendekatan terpadu, yaitu :
a. Kelompokan sumber daya-sumber daya menjadi sejumlah kelas sumber daya
b. Gunakan strategi pengurutan linear seperti yang didefinisikan pada pencegahan menunggu sirkular. Strategi ini digunakan untuk mencegah deadlock di antara kelas-kelas sumber daya berbeda.
c. Dalam satu kelas sumber daya, gunakan algoritma yang paling cocok untuk kelas-kelas sumber daya itu.

0 comments:

KONGKURENSI

1. Pendahuluan

Proses-proses diebut kongkuren jika proses-proses (lebih dari satu proses) berada pada saat yang sama. Konkurensi menjadi sangat penting karena saat ini hamper seluruh sistem adalah multiprogramming yang mengharuskan adanya proses-proses kongkuren. Pada proses-proses kongkurensi yang saling berinteraksi akan mempunyai masalah dasar yang harus diselesaikan, yaitu :
a. Mutual Exclusion
b. Deadlock
c. Starvision
d. Sikronisasi


2. Prinsip-prinsip Konkurensi

Konkurensi meliputi hal-hal berikut :
a. Alokasi layanan pemroses untuk proses-proses
b. Pemakaian bersama dan persaingan untuk mendapatkan sumber daya
c. Komunikasi antar proses
d. Sinkronisasi aktivitas banyak proses

Konkurensi dapat terjadi pada empat konteks berikut :
a. Untuk banyak aplikasi
Sistem multiprogramming memungkinkan banyak aplikasi/proses sekaligus dijalankan di satu pemroses. Proses-proses dapat berasal dari aplikasi-aplikasi yang berbeda.
b. Untuk strukturisasi dari aplikasi
Suatu aplikasi dapat secara efektif diimplementasikan sebagai sekumpulan proses. Dengan sekumpulan proses maka masing-masing proses menyediakan satu layanan spesifik tertentu.
c. Untuk strukturisasi dari satu proses
Saat ini untuk peningkatan kinerja maka satu proses dapat memiliki banyak thread yang independen. Thread-thread tersebut harus dapat bekerjasama untuk mencapai tujuan proses.
d. Untuk strukturisasi sistem operasi
Keunggulan strukturisasi dapat juga diterapkan ke pemograman sistem. Beberapa sistem operaso actual yang dipasarkan dan yang sedang dalam riset telah diimplementasikan sebagai sekumpulan proses.



3. Kesulitan-kesulitan yang Ditimbulkan Kongkurensi

Masalah yang dihadapi proses-proses konkuren pada multiprogramming dan multiprocessing serupa, yaitu kecepatan eksekusi proses-proses di sistem tidak dapat diprediksi. Beberapa kesulitan dapat muncul diantaranya :
a. Pemakaian bersama sumber daya global
Jika kedua proses menggunakan variable global yang sama serta keduanya membaca dan menulis variable itu maka urutan terjadinya pembacaan dan penulisan terhadap variable bersama menjadi kritis.
b. Pengelolaan alokasi sumber daya agar optimal
Jika proses A meminta suatu sumber daya, lalu diberikan. Kemudian ternyata proses A tersebut ditunda (suspend) sebelum ia menggunakannya. Dan jika sistem operasi mempunyai kebijaksanaan mengunci sumber daya (sehingga tidak membolehkan pemakaian oleh proses lainnya) dan mencegah proses-proses lain menggunakan sumber daya tersebut maka tindakan ini jelas hanya menghasilkan inefisiensi sistem computer.
c. Pencarian kesalahan pemrograman
Pencarian kesalahan pada pemograman kongkuren lebih sulit dibandinng pencarian kesalahan pada program-program sekuen.

Proses-proses konkuren mengharuskan sistem operasi menangani hal berikut :
a. Mengetahui proses-proses aktif
b. Alokasi dan dealokasi sumber daya untuk tiap proses aktif
c. Proteksi data dan sumber daya fisik proses
d. Hasil-hasil proses harus independen.


4. Mutual Exclusion

Di sistem computer, terdapat sumber daya yang tidak dapat dipakai bersama pada saat bersamaan seperti rinter. Sumber daya hanya dapat digunakan satu proses pada satu saat. Sumber daya semacam ini disebut sumber daya kritis. Bagian program yang menggunakan sumber daya kritis disebut sedang memasuki critical region/section. Dengan demikia, hanya satu program pada satu saat yang diijinkan masuk critical region. Pemrogram tidak dapat bergantung pada sistem operasi untuk memahami dan memaksakan batasan ini karena maksud program tidak dapat diketahui oleh sistem operasi. Sistem operasi memberikan fasilitas untuk pemrogram dapat memberikan indikasi keberadaan crical region. Sistem operasi menyediakan layanan untuk mencegah proses masuk critical region yang sedang dimasuki proses lain.


5. Deadlock
Misalnya terdapat dua proses, P1 dan P2. Dua sumber daya kritis, R1 dan R2. Proses P1 dan P2 harus mengakses kedua sumber daya. Jika R1 diberikan ke P1, sedang R2 diberikan ke P2. Karena untuk melanjutkan eksekusi memerlukan kedua sumber daya sekaligus maka kedua proses akan saling menunggu sumber daya yang lainnya, selamanya. Tidak ada proses yang dapat melepaskan sumber daya yang telah dipegangnya karena menunggu sumber daya lain yang tidak pernah diperolehnya. Keduanya tidak membuat kemajuan apapun. Kedua proses ini dalam keadaan deadlock. Kondisi deadlock merupakan kondisi terparah karena banyak proses dapat terlibat dan semua yang terlibat tidak dapat mengakhiri prosesnya secara benar.


6. Starvation
Misalnya terdapat tiga proses, P1, P2, dan P3. Ketiganya memerlukan sumber daya R secara periodik. P1 sedang diberi sumber daya R, P2 dan P3 blocked menunggu sumber daya R. Ketika P1 keluar dari critical section, P2 dan P3 diijinkan mengakses R. Asumsi P3 diberi akses. Kemudian setelah selesai, hak akses kembali diberikan ke P1 yang saat itu telah kembali membutuhkan sumber daya R. Jika pemberian hak akses bergantian terus-menerus Antara P1 dan P3. Maka P2 tidak pernah memperoleh pengaksesan sumber daya R, meskipun tidak ada deadlock. Pada situasi ini, P2 mengalami starvation.


7. Interaksi Antar Proses
a. Proses-proses saling tidak peduli. Pada multiprogramming dengan proses-proses independen, dapat berupa batch atau sesi interaktif atau campuran keduanya.
b. Proses-proses saling mempedulikan secara tidak langsung. Proses-proses tidak perlu saling mempedulikan identitas proses lain tapi sama-sama mengakses objek tertentu. Proses-proses itu saling bekerjasama (cooperation) dalam memakai objek tertentu.
c. Proses-proses saling mempedulikan secara langsung. Proses-proses dapat saling berkomunikasi dan dirancang bekerjasama untuk suatu aktivitas.
Derajat Kepedulian Hubungan Akibat Satu Proses terhadap Proses Lain Masalah Pengendalian yang Perlu Dilakukan


0 comments:

Desain Cover DVD

Setahun lalu aku menjadi Asisten Laboratorium Komputer di Jurusan Pendidikan Matematika UPI, tempatku menuntut ilmu sekarang. Aku berkesempatan duduk di divisi Dokumentasi dan Multimedia. Secara garis besar, divisi ini mempunyai tugas utama untuk meliput setiap kegiatan Jurusan Pendidikan Matematika. Cukup banyak kegiatan yang harus aku liput saat itu, cukup menyenangkan karena pada dasarnya aku senang merekam atau membidik sesuatu dengan kameraku. Salah satu kegiatan yang kuliput adalah Cerdas Cermat Matematika (CCM), yaitu perlombaan matematika tingkat SMA yang mengisi serangkaian acara Gema Mahasiswa Matematika (GMM) UPI. Liputan tersebut harus aku edit agar lebih nyaman untuk ditonton, lalu hasilnya dikemas menjadi bentuk di DVD. Lagi-lagi aku menggunakan salah satu aplikasi yang kusuka, CorelDraw, untuk mendesain cover tersebut. Ini desain cover yang telah kubuat, beserta desain stiker keping DVD nya. Semoga bisa menginspirasi :)


stiker keping DVD
cover depan
cover belakang


0 comments:

Jaringan Peer To Peer

Jaringan peer to peer adalah sebuah pengaturan jaringan komputer yang memungkinkan kita bertindak sebagai client dan server. Client artinya komputer kita dapat menerima data dari komputer lain dalam jaringan, sedangkan server artinya komputer kita dapat menyebarkan data ke komputer lainnya dalam jaringan.

Jaringan Peer To Peer adalah jaringan yang sederhana dan konfigurasinya cukup mudah. Bagaimana caranya ? Ini dia tutorial yang aku buat. Sebetulnya video ini kubuat demi keperluan tugas mata kuliah. Hehe :p



0 comments:

KKN Ceria

Beberapa bulan yang lalu aku melakukan Kuliah Kerja Nyata (KKN). Sangat antusias sekali untuk mengikuti mata kuliah yang satu ini karena aku berharap bisa belajar sesuatu yang baru dari sana. Ya, KKN mengharuskanku selama 40 hari berada di sebuah desa untuk turut membantu mengembangkan desa tersebut dalam berbagai aspek. Aku memilih KKN yang bertema POSDAYA yaitu pusat pemberdayaan keluarga. Jadi di sana ada tuntutan untuk bagaimana caranya agar bisa mengembangkan potensi setiap individu dalam keluarga, ayah, ibu, dan anak agar mampu memajukan kehidupannya menjadi lebih baik dalam segala aspek. Banyak sekali yang kami buat saat itu. Susah dan senang kami lalui bersama.

Ah ya, aku mendapat lokasi KKN yang sangat menyenangkan. Di sebuah desa yang belum pernah aku kunjungi, bahkan aku ketahui sebelumnya. Letaknya ada di pegunungan, salah satu sudut Kabupaten Garut yang asri. Udaranya bersih dan pemandangannya sungguh indah.  Sangat berbeda dengan apa yang biasanya aku temui di Bandung. Dan yang paling memberi warna adalah kesepuluh teman baru yang menemani hari-hariku selama di sana. Mereka memiliki karakter masing-masing yang berbeda satu sama lain. Sempat butuh enyesuaian panjang untuk bisa mengerti satu sama lain, tapi kami senantiasa bersatu dan menjaga kehangatan pertemanan ini demi memajukan proker yang kami buat untuk kemajuan desa. Semoga saja apa yang kami lakukan bisa bermanfaat bagi masyarakat di sana. Aamiinn ...

40 hari, banyak sekali yang terjadi. Aku tidak dapat menceritakannya satu per satu. Mungkin penggalan video ini bisa menyampaikan semuanya. Senang sekali bisa mengenal Geng Renceum yang luar biasa ini :D hehe

0 comments:

Copyright © 2013 Free your mind ! and Blogger Templates - Anime OST.