jam

Sabtu, 15 Maret 2014

Pengertian TORCH Berikut Pencegahannya

Category: Kehamilan Bermasalah
 
 
TORCH adalah istilah untuk menggambarkan gabungan dari empat jenis penyakit infeksi yaitu TOxoplasma, Rubella, Cytomegalovirus dan Herpes. Keempat jenis penyakti infeksi ini, sama-sama berbahaya bagi janin bila infeksi diderita oleh ibu hamil.
Kini, diagnosis untuk penyakit infeksi telah berkembang antar lain ke arah pemeriksaan secara imunologis.
Prinsip dari pemeriksaan ini adalah deteksi adanya zat anti (antibodi) yang spesifik taerhadap kuman penyebab infeksi tersebut sebagai respon tubuh terhadap adanya benda asing (kuman. Antibodi yang terburuk dapat berupa Imunoglobulin M (IgM) dan Imunoglobulin G (IgG)

TOXOPLASMA

Infeksi Toxoplasma disebabkan oleh parasit yang disebut Toxoplasma gondi.
Pada umumnya, infeksi Toxoplasma terjadi tanpa disertai gejala yang spesipik. Kira-kira hanya 10-20% kasus infeksi
Toxoplasma yang disertai gejala ringan, mirip gejala influenza, bisa timbul rasa lelah, malaise, demam, dan umumnya tidak menimbulkan masalah.
Infeksi Toxoplasma berbahaya bila terjadi saat ibu sedang hamil atau pada orang dengan sistem kekebalan tubuh terganggu (misalnya penderita AIDS, pasien transpalasi organ yang mendapatkan obat penekan respon imun).
Jika wanita hamil terinfeksi Toxoplasma maka akibat yang dapat terjadi adalah abortus spontan atau keguguran (4%), lahir mati (3%) atau bayi menderita Toxoplasmosis bawaan. pada Toxoplasmosis bawaan, gejala dapat muncul setelah dewasa, misalnya kelinan mata dan atelinga, retardasi mental, kejang-kejang dn ensefalitis.
Diagnosis Toxoplasmosis secara klinis sukar ditentukan karena gejala-gejalanya tidak spesifik atau bahkan tidak menunjukkan gejala (sub klinik). Oleh karena itu, pemeriksaan laboratorium mutlak diperlukan untuk mendapatkan diagnosis yang tepat. Pemeriksaan yang lazim dilakukan adalah Anti-Toxoplasma IgG, IgM dan IgA, serta Aviditas Anti-Toxoplasma IgG.
Pemeriksaan tersebut perlu dilakukan pada orang yang diduga terinfeksi Toxoplasma, ibu-ibu sebelum atau selama masa hamil (bila hasilnya negatif pelu diulang sebulan sekali khususnya pada trimester pertma, selanjutnya tiap trimeter), serta bayi baru lahir dari ibu yang terinfeksi Toxoplasma.

RUBELLA

Infeksi Rubella ditandai dengan demam akut, ruam pada kulit dan pembesaran kelenjar getah bening. Infeksi ini disebabkan oleh virus Rubella, dapat menyerang anak-anak dan dewasa muda.
Infeksi Rubella berbahaya bila tejadi pada wanita hamil muda, karena dapat menyebabkan kelainan pada bayinya. Jika infeksi terjadi pada bulan pertama kehamilan maka risiko terjadinya kelainan adalah 50%, sedangkan jika infeksi tejadi trimester pertama maka risikonya menjadi 25% (menurut America College of Obstatrician and Gynecologists, 1981).
Tanda tanda dan gejala infeksi Rubella sangat bervariasi untuk tiap individu, bahkan pada beberapa pasien tidak dikenali, terutama apabila ruam merah tidak tampak. Oleh Karena itu, diagnosis infeksi Rubella yang tepat perlu ditegakkan dengan bantuan pemeriksaan laboratorium.
Pemeriksaan Laboratorium yang dilakukan meliputi pemeriksaan Anti-Rubella IgG dana IgM.
Pemeriksaan Anti-rubella IgG dapat digunakan untuk mendeteksi adanya kekebalan pada saat sebelum hamil. Jika ternyata belum memiliki kekebalan, dianjurkan untuk divaksinasi.
Pemeriksaan Anti-rubella IgG dan IgM terutama sangat berguna untuk diagnosis infeksi akut pada kehamilan < 18 minggu dan risiko infeksi rubella bawaan.

CYTOMEGALOVIRUS (CMV)

Infeksi CMV disebabkan oleh virus Cytomegalo, dan virus ini temasuk golongan virus keluarga Herpes. Seperti halnya keluarga herpes lainnya, virus CMV dapat tinggal secara laten dalam tubuh dan CMV merupakan salah satu penyebab infeksi yang berbahaya bagi janin bila infeksi yang berbahaya bagi janin bila infeksi terjadi saat ibu sedang hamil.
Jika ibu hamil terinfeksi. maka janin yang dikandung mempunyai risiko tertular sehingga mengalami gangguan misalnya pembesaran hati, kuning, ekapuran otak, ketulian, retardasi mental, dan lain-lain.
Pemeriksaan laboratorium sangat bermanfaat untuk mengetahui infeksi akut atau infeski berulang, dimana infeksi akut mempunyai risiko yang lebih tinggi. Pemeriksaan laboratorium yang silakukan meliputi Anti CMV IgG dan IgM, serta Aviditas Anti-CMV IgG.

HERPES SIMPLEKS TIPE II

Infeksi herpes pada alat genital (kelamin) disebabkan oleh Virus Herpes Simpleks tipe II (HSV II). Virus ini dapat berada dalam bentuk laten, menjalar melalui serabut syaraf sensorik dan berdiam diganglion sistem syaraf otonom.
Bayi yang dilahirkan dari ibu yang terinfeksi HSV II biasanya memperlihatkan lepuh pada kuli, tetapi hal ini tidak selalu muncul sehingga mungkin tidak diketahui. Infeksi HSV II pada bayi yang baru lahir dapat berakibat fatal (Pada lebih dari 50 kasus)
Pemeriksaan laboratorium, yaitu Anti-HSV II IgG dan Igm sangat penting untuk mendeteksi secara dini terhadap kemungkinan terjadinya infeksi oleh HSV II dan mencaegah bahaya lebih lanjut pada bayi bila infeksi terjadi pada saat kehamilan.
Infeksi TORCH yang terjadi pada ibu hamil dapt membahayakan janin yang dikandungnya. Pada infeksi TORCH, gejala klinis yang ada searing sulit dibedakan dari penyakit lain karena gejalanya tidak spesifik. Walaupun ada yang memberi gejala ini tidak muncul sehingga menyulitkan dokter untuk melakukan diagnosis. Oleh karena itu, pemeriksaan laboratorium sangat diperlukan untuk membantu mengetahui infeksi TORCH agar dokter dapat memberikan penanganan atau terapi yang tepat.
Panel TORCH
? Anti Toxoplasma IgG dan IgM
? Anti Rubella IgG dan IgM
? Anti CMV IgG dan IgM
? Anti HSV II IgG dan IgM

Mencegah TORCH

Mengingat bahaya dari TORCH untuk ibu hamil, bagi Anda yang sedang merencanakan kehamilan atau yang saat ini sedang hamil, dapat mempertimbangkan saran-saran berikut agar bayi Anda dapat terlahir dengan baik dan sempurna.

Makan makanan bergizi

Saat hamil, sebaiknya Anda mengkonsumsi banyak makanan bergizi. Selain baik untuk perkembangan janin, gizi yang cukup juga akan membuat tubuh tetap sehat dan kuat. Bila tubuh sehat, maka tubuh dapat melawan berbagai penyakit termasuk TORCH sehingga tidak akan menginfeksi tubuh.

Lakukan pemeriksaan sebelum kehamilan

Ada baiknya, Anda memeriksakan tubuh sebelum merencanakan kehamilan. Anda dapat memeriksa apakah dalam tubuh terdapat virus atau bakteri yang dapat menyebabkan infeksi TORCH. Jika Anda sudah terinfeksi, ikuti saran dokter untuk mengobatinya dan tunda kehamilan hingga benar-benar sembuh.

Melakukan vaksinasi

Vaksinasi bertujuan untuk mencegah masuknya parasit penyebab TORCH. Seperti vaksin rubela dapat dilakukan sebelum kehamilan. Hanya saja, Anda tidak boleh hamil dahulu sampai 2 bulan kemudian.

Makan makanan yang matang

Hindari memakan makanan tidak matang atau setengah matang. Virus atau parasit penyebab TORCH bisa terdapat pada makanan dan tidak akan mati apabila makanan tidak dimasak sampai matang. Untuk mencegah kemungkinan tersebut, selalu konsumsi makanan matang dalam keseharian Anda.

Periksa kandungan secara terartur

Selama masa kehamilan, pastikan juga agar Anda memeriksakan kandungan secara rutin dan teratur. Maksudnya adalah agar dapat dilakukan tindakan secepatnya apabila di dalam tubuh Anda ternyata terinfeksi TORCH. Penanganan yang cepat dapat membantu agar kondisi bayi tidak menjadi buruk.

Jaga kebersihan tubuh

Jaga higiene tubuh Anda. Prosedur higiene dasar, seperti mencuci tangan, sangatlah penting.

Hindari kontak dengan penderita penyakit

Seorang wanita hamil harus menghindari kontak dengan siapa pun yang menderita infeksi virus, seperti rubela, yang juga disebut campak Jerman.
Dengan mencari lebih banyak informasi tentang kehamilan serta merawat dirinya sebelum dan selama masa kehamilan maupun dengan memikirkan masak-masak jauh di muka tentang berbagai aspek melahirkan, seorang wanita akan melakukan sebisa-bisanya untuk memastikan kehamilan yang lebih aman. Maka, bagi seorang wanita hamil, cobalah untuk selalu waspada terhadap berbagai penyakit seperti TORCH agar bayi Anda terlahir sehat.



http://bidanku.com/pengertian-torch-berikut-pencegahannya
Read more »

Minggu, 13 November 2011

Tugas Sistem Operasi

1.Eksekusi Intruksi Dalam Komputer
Cara kerja CPU ialah ketika data serta atau instruksi dimasukkan ke processing devices, pertama sekali diletakkan di MAA (melalui Input-storage), yakni apabila berbentuk instruksi ditampung oleh Control Unit di Program-storage, namun apabila berbentuk data ditampung di Working-storage. Jika register siap untuk menerima pengerjaan eksekusi, maka Control Unit akan mengambil instruksi dari Program-storage untuk ditampungkan ke Instruction Register, sedangkan alamat memori yang berisikan instruksi tersebut ditampung di Program Counter. Sedangkan data diambil oleh Control Unit dari Working-storage untuk ditampung di General-purpose register (dalam hal ini di Operand-register). Jika berdasar instruksi pengerjaan yang dilakukan adalah aritmatika dan logika, maka ALU akan mengambil alih operasi untuk mengerjakan berdasar instruksi yang ditetapkan. Hasilnya ditampung pada akumulator. Apabila hasil pengolahan telah selesai, maka Control Unit akan mengambil hasil pengolahan di akumulator untuk ditampung kembali ke Working-storage. Jika pengerjaan keseluruhan telah selesai, maka Control Unit akan mengambil kembali hasil pengolahan dari Working-storage untuk ditampung ke Output-storage. Lalu selanjutnya dari Output-storage, hasil pengolahan akan ditampilkan kepada output-devices.
Siklus Instruksi terdiri atas siklus fetch dan siklus eksekusi.

2. Komponen-Komponen Sistem Operasi dan Fungsinya
Sebuah sistem operasi dapat dibagi menjadi beberapa komponen. Secara umum, para pakar sepakat bahwa terdapat sekurangnya empat komponen manajeman utama yaitu:
• Manajemen Proses,
• Manajemen Memori,
• Manajamen Sistem Berkas.
• Manajemen Masukan/Keluaran

Selain keempat komponen di atas, Avi Silberschatz, dan kawan-kawan menambahkan beberapa komponen seperti:
• Manajemen Penyimpanan Sekunder.
• Manajemen Sistem Proteksi.
• Manajemen Jaringan.
• Command-Interpreter System.
Fungsi Setiap Komponen
a. Manajemen Proses
•Membuat dan menghapus proses pengguna dan sistem proses.
•Menunda atau melanjutkan proses.
•Menyediakan mekanisme untuk sinkronisasi proses.
•Menyediakan mekanisme untuk komunikasi proses.
•Menyediakan mekanisme untuk penanganan deadlock

b. Manajemen Memori
• Menjaga track dari memori yang sedang digunakan dan siapa yang menggunakannya.
• Memilih program yang akan di-load ke memori.

c. Manajamen Sistem Berkas
• Pembuatan dan penghapusan berkas.
• Pembuatan dan penghapusan direktori.
• Mendukung manipulasi berkas dan direktori.
• Memetakan berkas ke secondary-storage.
• Mem-back-up berkas ke media penyimpanan yang permanen (non-volatile).

d. Manajemen Masukan/Keluaran
• Penyangga: menampung sementara data dari/ke perangkat Masukan/Keluaran.
• Spooling: melakukan penjadwalan pemakaian Masukan/Keluaran sistem supaya lebih efisien (antrian dsb.).
• Menyediakan driver: untuk dapat melakukan operasi rinci untuk perangkat keras Masukan/Keluaran tertentu.

e. Manajemen Penyimpanan Sekunder.
• free space management.
• alokasi penyimpanan.
• penjadwalan disk.

f. Manajemen Sistem Proteksi.
• Membedakan antara penggunaan yang sudah diberi izin dan yang belum.
• Menspesifikasi kontrol untuk dibebankan/diberi tugas.
• Menyediakan alat untuk pemberlakuan sistem.

g. Manajemen Jaringan.
Sistem terdistribusi adalah sekumpulan prosesor yang tidak berbagi memori, atau clock. Setiap prosesor mempunyai memori dan clock tersendiri. Prosesor-prosesor tersebut terhubung melalui jaringan komunikasi Sistem terdistribusi menyediakan akses pengguna ke bermacam sumber-daya sistem. Akses tersebut menyebabkan peningkatan kecepatan komputasi dan meningkatkan kemampuan penyediaan data.

h. Command-Interpreter System.
Sistem Operasi menunggu instruksi dari pengguna (command driven). Program yang membaca instruksi dan mengartikan control statements umumnya disebut: control-card interpreter, command-line interpreter dan terkadang dikenal sebagai shell. Command-Interpreter System sangat bervariasi dari satu sistem operasi ke sistem operasi yang lain dan disesuaikan dengan tujuan dan teknologi perangkat Masukan/Keluaran yang ada.
Contohnya: CLI, Windows, Pen-based (touch).

3. Pengertian dari:
a.Batch system
merupakan suatu cara untuk menghindari waktu nganggur CPU yang cukup lama, maka dikembangkan suatu teknik pengurutan kerja job secara otomatis. Teknik ini mampu mentransfer kontrol secara otomatis dari suatu job ke-job brikutnya. Inilah bentuk operating system yang pertama kali. Gambar sebelah merupakan komputer UNIVAC yang juga menggunakan transistor.

b. Multitasking
adalah istilah teknologi informasi yang mengacu kepada sebuah metode dimana banyak pekerjaan atau dikenal juga sebagai proses diolah dengan menggunakan sumberdaya CPU yang sama. Dalam kasus sebuah komputer dengan prosesor tunggal, hanya satu instruksi yang dapat bekerja dalam satu waktu, berarti bahwa CPU tersebut secara aktif mengolah instruksi untuk satu pekerjaan tersebut. Multitasking memecahkan masalah ini dengan memjadwalkan pekerjaan mana yang dapat berjalan dalam satu waktu, dan kapan pekerjaan yang lain menunggu untuk diolah dapat dikerjakan. Kondisi mengalokasikan CPU dari pekerjaan satu ke pekerjaan yang lain disebut context switch. Ketika context switch terjadi dengan sangat cepat -- kondisi ini cukup untuk memberikan ilusi pengolahan-paralel. Bahkan dalam komputer yang memiliki lebih dari satu CPU (disebut multi-prosesor), multitasking memperbolehkan lebih banyak pekerjaan dijalankan dibanding dengan jumlah CPU yang tersedia.

c.Multiprogramming
Multiprogramming Melayani banyak program yang tidak ada hubungannya satu sama lain dan dijalankan sekaligus dalam satu komputer yang sama.

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

d. Time sharing system
adalah suatu teknik penggunaan online system oleh beberapa pemakai secara bergantian menurut waktu yang diperlukan pemakai. Disebabkan waktu perkembangan proses CPU semakin cepat, sedangkan alat Input/Output tidak dapat mengimbangi kecepatan dari CPU, maka kecepatan dari CPU dapat digunakan secara efisien dengan melayani beberapa alat I/O secara bergantian. Proses TSS mulai nampak perpaduan teknologi komputer dan teknologi telekomunikasi yang pada awalnya berkembang sendiri- sendiri. Pada sistem TSS beberapa terminal terhubung secara seri ke sebuah host computer.

e. Real time system
disebut juga dengan Sistem waktu nyata. Sistem yang harus menghasilkan respon yang tepat dalam batas waktu yang telah ditentukan. Jika respon komputer melewati batas waktu tersebut, maka terjadi degradasi performansi atau kegagalan sistem. Sebuah Real time system adalah sistem yang kebenarannya secara logis didasarkan pada kebenaran hasil-hasil keluaran sistem dan ketepatan waktu hasil-hasil tersebut dikeluarkan. Aplikasi penggunaan sistem seperti ini adalah untuk memantau dan mengontrol peralatan seperti motor, assembly line, teleskop, atau instrumen lainnya. Peralatan telekomunikasi dan jaringan komputer biasanya juga membutuhkan pengendalian secara Real time.

4. Pengertian dan Tujuan System Call
System Calls
Komputer digunakan untuk melakukan suatu proses yang dikehendaki user. Oleh karena itu harus ada suatu bentuk komunikasi antara user dan hardware. Komunikasi itu terjadi dalam bentuk system calls. SO melalui shell-nya akan menangkap perintah dari user yang kemudian akan dikomunikasikan melalui system calls. Disinilah peran SO sebagai jembatan komunikasi antara user dan hardware itu terjadi. System calls itu sendiri umumnya ditulis dalam bahasa C dan C++.
Mengenai shell, shell itu sendiri secara umum adalah layer yang berfungsi sebagai interface antara user dan inti dalam sistem operasi (kernel). Melalui shell, user dapat memberi perintah-perintah yang akan dikirim ke sistem operasi, sehingga shell ini merupakan layer yang menerima interaksi dari user secara langsung. Shell dalam SO secara umum dibagi menjadi 2, Command Line(CLI) dan Graphical(GUI). Jadi dengan kata lain, system calls berperan sebagai interface dalam layanan-layanan yang disediakan oleh sistem operasi.

Fungsi System Calls menyediakan interface pelayanan-pelayanan yang disediakan oleh sistem operasi, umumnya sebagai rutin-rutin yang ditulis dengan bahasa C atau C++, atau beberapa tugas yang mengakses hardware secara langsung menggunakan bahasa rakitan. Biasanya programmer lebih memilih Application Programming Interface (API) dibandingkan dengan low level programming.
Ada lima jenis system calls utama, yaitu:
a. Process control merupakan system calls yang mengendalikan proses-proses yang berjalan.
b. File manipulation adalah kumpulan system calls yang bertugas untuk melakukan manipulasi file seperti pembacaan, penulisan, penghapusan dan pengubahan.
c. Device manipulation adalah system calls yang mengatur penggunaan peralatan-peralatan yang terhubung pada mesin tersebut.
d. Information maintenance. System calls yang menghubungkan user dengan sistem operasi dalam hal berbagi informasi.
e. Communications. Ada dua model komunikasi yaitu pertukaran informasi dilakukan melalui fasilitas komunikasi antar proses yang disediakan oleh sistem operasi (Message-Passing) dan pertukaran dengan menggunakan memori (shared-memory).

5. Perbedaan Proses dan Thread

Proses
Proses memiliki dua karakteristik namun kedua karakteristik dilakukan secara independen oleh sistem operasi:
• Resource ownership (kepemilikan sumber daya) – proses mempunyai ruang alamat virtual untuk menangani image proses yang didefinisikan dalam PCB
• Scheduling-execution (penjadwalan-eksekusi) – Mengikuti suatu path eksekusi (trace), ada pergatian dari satu proses ke lainnya
Unit dari kepemilikan sumber daya diacu sebagai proses atau task

Thread
Thread adalah unit dasar dari penggunaan CPU, thread mengandung Thread ID, program counter , register set , dan stack . Sebuah Thread berbagi code section , data section , dan sumber daya sistem operasi dengan Thread lain yang dimiliki oleh proses yang sama. Thread juga sering disebut lightweight process . Sebuah proses tradisional atau heavyweight process mempunyai thread tunggal yang berfungsi sebagai pengendali. Perbedaan antara proses dengan thread tunggal dengan proses dengan thread yang banyak adalah proses dengan thread yang banyak dapat mengerjakan lebih dari satu tugas pada satu satuan waktu
Read more »

Kamis, 03 November 2011

SISTEM OPERASI SERVER DAN PC

A.    Perbedaan Sistem Operasi Server dan PC
Sistem operasi jaringan atau sistem operasi komputer yang dipakai sebagai server dalam jaringan komputer hampir mirip dengan sistem operasi komputer stand alone, bedanya hanya pada sistem operasi jaringan, salah satu komputer harus bertindak sebagai server bagi komputer lainnya. Sistem operasi dalam jaringan disamping berfungsi untuk mengelola sumber daya dirinya sendiri juga untuk mengelola sumber daya komputer lain yang tergabung dalam jaringan.
Sebuah sistem operasi jaringan yang tangguh dan fungsional sangat penting untuk membentuk sebuah jaringan yang efektif. Sistem operasi jaringan dapat diandaikan sebagai jantung dari sebuah jaringan, memastikan data dan informasi yang melalui jaringan, baik jaringan wired maupun wireless, dapat berjalan dengan optimal, layaknya aliran darah.
Berbeda dengan sistem operasi pada server dan PC, dimana pemilihan sistem operasi dilakukan berdasarkan preferensi pengguna atau menyesuaikan pola penggunaan sistem operasi pada perusahaan. Sedangkan pada sistem operasi jaringan, biasanya dibuat khusus untuk memenuhi kebutuhan spesifik sesuai jenis perangkat dan kegunaannya. Artinya ada demikian banyak pilihan sistem operasi jaringan yang kini tersedia, dan sebetulnya ini bukanlah hal yang buruk. Dengan keragaman pilihan sistem operasi jaringan memastikan kompetisi harga dan mengurangi ketergantungan dengan salah satu vendor.

B. Contoh Sistem Operasi Server dan PC
Sistem operasi pada server ada berbagai macam, yaitu keluarga Microsoft Windows (Win NT, Win 2000     Server, Win Server 2003), Linux (RedHat, Mandrake, Debian, SUSE, Caldera dll), UNIX, Free BSD, Solaris.
Sedangkan system operasi pada PC seperti DOS, Microsoft Windows, Linux, Unix, Apple Macintosh Operating System, dan lain-lain.

C.    Beda Server dan PC
-  Personal Computer atau komputer pribadi merupakan computer yang murah dan dibuat atau diproduksi secara banyak atau masal. Biasanya menggunakan DOS, Windows, atau system operasi yang sejenis. Komputer ini digunakan untuk aplikasi-aplikasi yang standar.
-  Server merupakan komputer yang bertugas sebagai pusat controlling akses data dalam sebuah jaringan (Server-Client) misalnya LAN,W-LAN, dan lain-lain. Server bisa mengontrol semua akses PC Client.
Kesimpulannya adalah bahwa pada dasarnya, server dan PC merupakan sama-sama sebuah komputer, hanya saja fungsi, fitur, dan spesifikasi hardwarenya yang berbeda. Ilustrasinya, ketika beberapa PC akan melakukan pertukaran data, maka mereka bisa menaruh dan mengambil data tersebut di komputer server. Karena biasanya spesifikasi komputer server jauh lebih bagus dan besar daripada PC.

D. Fitur yang terdapat di Sistem Operasi Server yang tidak ada di PC
Sebuah sistem operasi pada server merupakan perangkat lunak yang mengendalikan jaringan dan pesan (misalnya paket) lalulintas dan antrian, control akses oleh beberapa pengguna untuk jaringan sumber daya seperti file, dan untuk menyediakan fungsi-fungsi administrative tertentu, termasuk keamanan.
Bagian atas 5 lapisan dari OSI Reference Model memberikan fondasi yang banyak pada jaringan berbasis system operasi.
Fiturnya antara lain : Dukungan dasar untuk mendukung hardware port. Fitur keamanan seperti otentikasi, otorisasi, login pembatasan, dan control akses. Nama layanan dan layanan direktori. File, mencetak, penyimpanan data, backup, dan replikasi layanan. Akses remote. Sistem Manajemen. Administrasi jaringan dan audit peralatan antar muka grafis. Clustering Capabilities. Serta toleransi kesalahan dan ketersediaan tinggi.

E. Spesifikasi Hardware Untuk Server
Server asli atau komputer yang sejak awal dirancang sebagai server, memang lebih bandel dibanding PC yang dijadikan server. Namun demikian, untuk sebuah server yang secerhana spesifikasinya setidaknya harus didukung dengan prosesor tinggi minimal 2 GHz, kemudian memori sedikitnya 8GB, Hard Disk minimal 200 GB atau disesuaikan dengan banyaknya penyimpanan data, untuk VGA minimal 1 GB untuk jaringan 2 x 100 Mbps.
Berikut ini adalah contoh spesifiasi untuk sebuah komputer server
- Dual Intel® Xeon® Processor E3110 (3.0 GHz, FSB 1333, Cache 6MB)
- Chipset Intel® S3200 Server Chipset
- Memori 8 GB ECC DDR2-6400 SDRAM 800 MHz
- Video Type Integrated ATI RN50 (ES1000) 16 MB
- Hard Drive SATA RAID 4 x 160 GB Serial ATA-II/300, 7200 RPM, Cache 8MB
- Networking Integrated 8 x 10/100/1000 Ethernet
- Chassis Form Factor Tower Chassis
- Power Supply Type ATX 1000w 

Dipostkan Oleh : Puji Mulatsih
0922021

Read more »

Senin, 31 Oktober 2011

Semaphore, Monitor, Deadlock, dan Starvation

1. Konsep Dasar Semaphore

Semaphore termasuk pendekatan yang diajukan oleh Djikstra, dengan prinsip bahwa dua proses atau lebih dapat bekerja sama dengan menggunakan penanda-penanda sederhana. Seperti proses dapat dipaksa berhenti pada suatu saat, sampai proses mendapatkan penanda tertentu itu. Sembarang kebutuhan koordinasi kompleks dapat dipenuhi dengan struktur penanda yang cocok untuk kebutuhan itu. Variabel khusus untuk penanda ini disebut semaphore.Semaphore mempunyai dua sifat, yaitu:
  1. Semaphore dapat diinisialisasi dengan nilai non-negatif.
  2. Terdapat dua operasi terhadap semaphore, yaitu Down dan Up. Usulan asli yang disampaikan Djikstra adalah operasi P dan V.
Semaphore adalah salah satu teknik sinyal sederhana, dan merupakan konsep penting dalam OS desain, dimana sebuah nilai integer digunakan untuk pensinyalan antara proses. Hanya tiga operasi yang mungkin dilakukan pada semaphore, yang semuanya atom: inisialisasi, penurunan, dan penaikan. Operasi pengurangan dapat mengakibatkan terhalangnya proses, dan kenaikan dari pengoperasian yang sedang berlangsung dapat mengakibatkan terblokirnya suatu proses. Hal ini juga dikenal sebagai sebuah perhitungan semaphore atau semaphore umum.
Semaphore adalah bendera digunakan untuk memeriksa apakah sumber daya saat ini sedang digunakan oleh thread atau proses. Misalnya, jika suatu proses ingin menggunakan printer, terlebih dahulu perlu memastikan printer tersedia dengan memeriksa untuk melihat apakah semaphore telah ditetapkan. jika sudah diatur, maka perlu menunggu untuk proses yang saat ini telah selesai. Namun, jika printer bebas, proses ini akan menetapkan semaphore dan mulai menggunakan printer, memblokir akses ke semua proses lainnya sampai selesai.
Semaphore adalah teknik klasik untuk melindungi bagian penting dari kode dari yang secara simultan dieksekusi oleh lebih dari satu thread. Semaphore adalah generalisasi dari monitor. Sebuah monitor memungkinkan hanya satu thread untuk mengunci objek sekaligus. Semaphore A N memungkinkan proses. Proses meraih semaphore-eksklusif untuk menggunakan semi disebut menenggak semaphore karena mereka diimplementasikan dengan integer Countdown yang decrements untuk setiap kunci dan kenaikan untuk masing-masing membuka. Jika semaphore adalah sepenuhnya terisi, thread baru ingin menggunakannya akan menunggu sampai thread beberapa rilis kunci dengan upping semaphore itu. Untuk semaphore untuk bekerja, cek untuk penuh, dan penurunan harus dilakukan semua dalam satu instruksi yang tidak pernah terputus atom. Instruksi monitor JVM menyediakan dukungan hardware yang diperlukan untuk mensimulasikan semaphores.

Semaphore s, lain kontribusi penting oleh EW Dijkstra, dapat dilihat sebagai ekstensi untuk mutex kunci. Semaphore adalah suatu obyek dengan dua metode Tunggu dan Sinyal, sebuah integer swasta counter dan antrian swasta (benang). Semantik dari semaphore adalah sangat sederhana. Misalkan S adalah semaphore yang swasta counter telah diinisialisasi ke integer non-negatif.
  • Ketika Tunggu dijalankan oleh thread, kita memiliki dua kemungkinan:
    • Penghitung S adalah positif
      Dalam hal ini, konter ini mengalami penurunan sebesar 1 dan benang kembali pelaksanaannya.
    • Penghitung S adalah nol
      Dalam hal ini, benang ditangguhkan dan dimasukkan ke dalam antrian pribadi S.
  • Ketika Sinyal dijalankan oleh thread, kami juga memiliki dua kemungkinan:
    • Antrian S tidak memiliki benang menunggu
      Penghitung S ditingkatkan oleh satu dan benang kembali pelaksanaannya.
    • Antrian S telah menunggu threads
      Dalam hal ini, konter S harus nol (lihat pembahasan Tunggu di atas). Salah satu benang menunggu akan diizinkan untuk meninggalkan antrian dan melanjutkan pelaksanaannya. Benang yang mengeksekusi Sinyal juga terus.
Operasi Tunggu atau Signal adalah atom. Ini berarti sekali kegiatan Tunggu mulai (yaitu, pengujian dan penurunan nilai counter dan memasukkan benang ke dalam antrian), mereka akan terus sampai akhir tanpa gangguan apapun. Lebih tepatnya, meskipun ada banyak langkah untuk melaksanakan Tunggu dan Signal, langkah-langkah ini dianggap sebagai instruksi non-interruptible tunggal. Demikian pula, hal yang sama berlaku untuk Sinyal. Apalagi, jika lebih dari satu benang mencoba mengeksekusi Tunggu (atau sinyal), hanya satu dari mereka akan berhasil. Kita tidak boleh membuat asumsi tentang mana thread akan berhasil.
Tunggu karena dapat menyebabkan thread untuk memblokir (yaitu, ketika counter nol), ia memiliki efek yang sama dari operasi kunci dari sebuah kunci mutex. Demikian pula, sebuah sinyal dapat melepaskan benang tunggu, dan mirip dengan membuka operasi. Bahkan, semaphores dapat digunakan sebagai kunci mutex. Pertimbangkan S semaphore dengan nilai awal 1. Kemudian, Tunggu dan Signal sesuai untuk mengunci dan membuka:
Mari kita periksa bagaimana sepasang Tunggu dan Signal dapat menjamin pengecualian bersama. Perlu diingat bahwa nilai awal counter dari S adalah 1. Misalkan sejumlah benang mencoba untuk eksekusi Tunggu. Karena hanya ada satu thread berhasil dapat mengeksekusi Tunggu, thread ini, katakanlah A, menyebabkan counter berkurang sebesar 1, dan memasuki bagian yang kritis. Karena nilai awal counter adalah 1, sekali thread A memasuki critical section, konter menjadi 0, dan, sebagai hasilnya, semua usaha berikutnya dalam melaksanakan Tunggu akan diblokir. Oleh karena itu, membenarkan klaim kita bahwa Tunggu mirip untuk mengunci.
Ketika Sebuah thread keluar dari critical section, Sinyal dijalankan. Jika ada menunggu benang, salah satu dari mereka akan dirilis, dan thread ini dirilis memasuki critical section. Perhatikan bahwa counter masih nol (karena, dalam hal ini, Sinyal tidak meningkatkan dan Tunggu tidak mengurangi counter), yang berarti semua thread berikutnya yang mencoba mengeksekusi Tunggu diblokir. Di sisi lain, jika tidak ada benang menunggu, pelaksanaan Sinyal menyebabkan nilai dari counter akan meningkat dengan 1, sehingga nilai saat ini 1. Dalam hal ini, thread berikutnya yang mengeksekusi Tunggu bisa masuk ke bagian kritis. Oleh karena itu, Sinyal mirip untuk membuka. Singkatnya, kita belajar bahwa pengaturan counter untuk 1 awalnya akan menjamin bahwa paling banyak satu thread bisa di bagian kritis, jika semua benang yang melibatkan mengikuti Tunggu sama – urutan Sinyal.
Jika Anda berhati-hati, Anda akan melihat bahwa nilai counter adalah 1 atau 0, dan tidak pernah memiliki nilai lain. Oleh karena itu, disebut sebagai semaphore biner. Jika kita mengganti counter dengan variabel Boolean dan menafsirkan 1 dan 0 sebagai benar (yaitu, kunci terbuka) dan false (yaitu, kunci tertutup), masing-masing, maka semaphore biner menjadi kunci mutex! Karena itu, Anda dapat menggunakan kunci mutex atau semaphore biner bergantian.
Namun, keindahan menggunakan semaphores adalah bahwa nilai awal tidak harus 1. Bisa jadi ada nilai non-negatif. Kemudian kita akan membahas teknik-teknik lain semaphores menggunakan.
Kemajuan besar pertama dalam menangani masalah proses konkuren datang pada tahun 1965 dengan risalah Dijkstra [DIJK65]. Dijkstra prihatin dengan desain dari OS sebagai kumpulan proses sekuensial dan bekerja sama dengan pembangunan mekanisme yang efisien dan dapat diandalkan untuk mendukung kerja sama. Mekanisme ini hanya bias mudah digunakan oleh proses pengguna jika prosesor dan OS membuat mekanisme yang tersedia.
[DOWN07] menunjukkan tiga konsekuensi menarik dari definisi semaphore:
• Secara umum, tidak ada cara untuk mengetahui sebelum proses decrement semaphore sebuah akan terblokir atau tidak.
• Setelah proses increment semaphore dan proses lain akan berjalan, kedua proses terus berjalan bersamaan. Tidak ada cara untuk mengetahui proses, jika salah satu, akan segera melanjutkan pada sistem prosesor tunggal.
• Saat sinyal Anda semaphore, Anda tidak perlu tahu apakah proses yang lain sedang menunggu, sehingga jumlah proses yang diblokir mungkin nol atau satu.
­­­­­­­­­­­­

2. Konsep Dasar Monitor

Monitor termasuk kumpulan prosedur, variabel dan struktur data di satu modul atau paket khusus. Proses dapat memanggil prosedur-prosedur kapan pun diinginkan. Tapi proses tak dapat mengakses struktur data internal dalam monitor secara langsung. Hanya lewat prosedur-prosedur yang dideklarasikan minitor untuk mengakses struktur internal.
Java menggunakan monitor ke benang koordinasi untuk memastikan mereka tidak tersandung saling mengakses data yang sama. Dengan monitor, Anda mengunci obyek, bagian-bagian penting dari kode atau Anda mengunci seluruh metode dengan menyatakan mereka disinkronisasi. Monitor memiliki dukungan hardware test dan mengatur di belakang mereka untuk memastikan cek thread untuk melihat apakah monitor sudah dikunci dan jika tidak, menyita mengunci semua dalam satu operasi atom non-interruptible. Tanpa atomicity, thread mungkin periksa apakah monitor tidak terkunci, dan memiliki beberapa thread lain ambil monitor sebelum mendapat kesempatan untuk menguncinya. Puritan akan menunjukkan bahwa monitor sebenarnya bukan kunci, melainkan kunci adalah cara yang digunakan untuk melindungi bagian penting dari kode.

Monitor Sebuah bahasa pemrograman membangun yang merangkum variabel, prosedur akses dan inisialisasi kode dalam suatu variabel tipe data abstrak. Monitor hanya dapat diakses melalui prosedur akses dan hanya satu proses yang dapat secara aktif mengakses monitor dalam satu waktu. Prosedur-prosedur pengaksesan adalah bagian penting. Dimana monitor mungkin memiliki antrian proses-proses yang sedang menunggu untuk mengaksesnya.
Anda mungkin mendapatkan pengalaman dari belajar semua contoh semaphore bahwa sinyal dan menunggu panggilan masih dapat tersebar di mana-mana dalam program anda dengan cara yang tidak terlalu terstruktur dengan baik. Jika Anda benar-benar mendapatkan seperti perasaan, konsep monitor datang untuk menyelamatkan. Konsep monitor berasal dari 1974 kertas CAR Hoare’s.
Sebuah monitor memiliki empat komponen seperti yang ditunjukkan di bawah ini: inisialisasi, data pribadi, prosedur memonitor, dan antrian masuk monitor. Komponen inisialisasi berisi kode yang digunakan tepat satu kali ketika monitor dibuat, Bagian data pribadi berisi semua data pribadi, termasuk prosedur swasta, yang hanya dapat digunakan dalam monitor. Dengan demikian, barang-barang pribadi tidak terlihat dari luar monitor. Prosedur monitor prosedur yang dapat dipanggil dari luar monitor. Antrian entri memantau berisi semua thread yang disebut prosedur monitor tapi belum diberikan izin. Kita akan kembali ke ini segera.
Oleh karena itu, monitor terlihat seperti kelas dengan inisialisasi, data pribadi dan prosedur monitor sesuai dengan konstruktor, data pribadi dan metode kelas tersebut. Satu-satunya perbedaan utama adalah bahwa kelas tidak memiliki antrian masuk.
Monitor yang seharusnya digunakan dalam lingkungan multithreaded atau multiproses di mana beberapa thread / proses dapat menghubungi prosedur monitor pada saat yang sama meminta layanan. Dengan demikian, monitor menjamin bahwa setiap saat paling banyak satu thread bisa mengeksekusi dalam monitor! Apa artinya ini? Ketika thread panggilan prosedur monitor, kita dapat melihat prosedur monitor disebut sebagai perpanjangan ke thread panggilan. Jika prosedur monitor disebut dalam eksekusi, kita akan mengatakan thread memanggil di monitor melaksanakan prosedur monitor disebut.
Sekarang, jika dua thread di monitor (yaitu, mereka adalah melaksanakan dua, mungkin, monitor prosedur yang sama), beberapa data pribadi dapat dimodifikasi oleh kedua benang pada saat yang sama menyebabkan kondisi ras terjadi. Oleh karena itu, untuk menjamin keutuhan data pribadi, monitor saling memberlakukan pengecualian implisit. Lebih tepatnya, jika thread panggilan prosedur monitor, thread ini akan diblokir jika ada thread lain eksekusi pada monitor. Mereka benang yang tidak diberikan izin masuk akan antri masuk ke antrian monitor luar monitor. Ketika monitor menjadi kosong (yaitu, tidak ada thread mengeksekusi di dalamnya), salah satu benang dalam antrian entri akan dirilis dan diberikan izin untuk menjalankan prosedur monitor disebut. Meskipun kita mengatakan “antrian masuk,” Anda tidak harus melihat secara harfiah. Lebih tepatnya, ketika thread harus dilepaskan dari antrian masuk, Anda tidak perlu menganggap kebijakan apapun yang thread yang akan dirilis.
Secara ringkas, monitor memastikan saling eksklusi otomatis sehingga tidak ada lebih dari satu thread bisa mengeksekusi dalam memonitor setiap saat. Ini adalah kemampuan yang sangat usably dan berguna.

Monitor sebagai Mini-OS

Konsep monitor sangat mirip dengan sebuah sistem operasi. Satu dapat mempertimbangkan inisialisasi sebagaimana data yang diinisialisasi ketika sistem boot up, data pribadi dan kode sebagai struktur data internal dan fungsi dari sebuah sistem operasi, dan prosedur monitor sebagai panggilan sistem. Program-program, tentu saja, benang yang membuat permintaan layanan. Oleh karena itu, monitor bisa dianggap sebagai mini-OS dengan layanan terbatas.

Persamaan dan perbedaannya:
Sejak menunggu operasi sinyal pada semaphores dan pada monitor kondisi variabel yang sama, untuk membantu Anda membedakan perbedaan mereka dan menggunakannya dengan benar, berikut ini adalah perbandingan singkat.
Semaphore Monitor – Kondisi Variabel
Dapat digunakan di mana saja dalam program, tetapi seharusnya tidak digunakan dalam monitor Hanya dapat digunakan pada monitor
Wait()  tidak selalu memblokir pemanggil (yaitu, ketika counter semaphore lebih besar dari nol). Wait() selalu blok pemanggil.
Signal() baik melepaskan thread yang diblokir, jika ada satu, atau meningkatkan semaphore counter. Signal() baik melepaskan thread yang diblokir, jika ada satu, atau sinyal hilang seolah-olah itu tidak pernah terjadi.
Jika Signal () melepaskan thread yang diblokir, pemanggil dan thread dirilis & keduanya melanjutkan. Jika Signal () melepaskan thread yang diblokir, pemanggil hasil monitor (tipe Hoare) atau terus (Mesa Type). Hanya satu dari pemanggil atau threadyang dirilis dapat melanjutkan, tapi tidak keduanya.
Perbedaan:
  • operasi semaphore tersebar pada seluruh section program
  • pada monitor, sinkronosasi dikendalikan oleh prosedur tertentu, dimana  shared data hanya bisa diakses melalui prosedur tersebut
  • dalam penggunaan semaphore mungkin timbul kesalahan yang sulit terdeteksi (misal: deadlock), yang dicegah oleh monitor
Di samping itu, sinyal operasi menunggu kondisi variabel monitor mirip dengan P dan operasi V pada perhitungan semaphores. Sebuah pernyataan tunggu dapat memblokir proses itu eksekusi, sedangkan pernyataan sinyal dapat menyebabkan proses lain menjadi diblokir. Namun, ada beberapa perbedaan di antara mereka. Ketika sebuah proses mengeksekusi operasi P, tidak selalu menghalangi proses tersebut karena semaphore penghitungan mungkin lebih besar dari nol. Sebaliknya, ketika sebuah pernyataan menunggu dieksekusi, selalu blok proses. Saat tugas yang mengeksekusi operasi V pada semaphore, itu baik unblocks suatu tugas menunggu yang semaphore atau increment yang semaphore counter jika tidak ada tugas untuk membuka. Di sisi lain, jika suatu proses mengeksekusi pernyataan sinyal ketika tidak ada proses lain untuk membuka blokir, tidak ada efek pada variabel kondisi.
Perbedaan lain antara semaphores dan monitor adalah bahwa pengguna terbangun oleh operasi V dapat melanjutkan eksekusi tanpa penundaan. Sebaliknya, pengguna terbangun oleh operasi sinyal restart hanya ketika monitor terkunci.
Selain itu, solusi monitor terstruktur lebih banyak dari yang satu dengan semaphores karena data dan prosedur yang dikemas dalam satu modul tunggal dan bahwa pengecualian saling disediakan secara otomatis oleh pelaksanaannya.   
 Pengertian Deadlock dan Starvation beserta contohnya:

a) Deadlock
Deadlock secara bahasa berarti buntu atau kebuntuan. Dalam definisi lebih lengkap, deadlock berarti suatu keadaan dimana sistem seperti terhenti dikarenakan setiap proses memiliki sumber daya yang tidak bisa dibagi dan menunggu untuk mendapatkan sumber daya yang sedang dimiliki oleh proses lain. Keadaan seperti ini hanya dapat terjadi pada akses terhadap sumber daya yang tidak bisa dibagi atau non-sharable.
Contoh:
kasus ilustrasi dari kejadian deadlock pada dunia nyata, yaitu pada lalu lintas dijembatan. Dapat dilihat bahwa kedua mobil yang berada di tengah-tengah jembatan tidak dapat maju dan hanya
menunggu. Penyelesaian dari masalah tersebut adalah salah satu dari mobil tersebut mundur, sehingga mobil yang lain dapat maju. Mobil pada kasus ini adalah proses, sedangkan jembatan adalah sumber daya. Kedua mobil berebut untuk menggunakan sumber daya, namun karena sumber daya tersebut hanya dapat digunakan oleh satu proses saja, maka terjadilah deadlock.
Ilustrasinya:
ü  Dua Proses, P1 dan P2
ü  Dua Resource kritis R1 dan R2
ü  Proses P1 dan P2 harus mengakses kedua sumber daya.
Kondisi berikut dapat terjadi : R1 diberikan ke P1, sedang R2 di berikan ke P2.
Karena untuk melanjutkan ekssekusi memerlukan 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 menunnggu sumber daya lain yang tidak pernah diperolehnya. Keduanya tidak membuat proses kemajuan apapaun, kedua proses tersebut dalam kondisi deadlock.
Kondisi deadlock merupakan kondisi terparah karena banyak proses dapat terlibat dan semua yang terlibat tidak dapat mengakhiri prosesnya secara benar. Beragam mekanisme diusulkan untuk mengatasi kondisi deadlock.

b)  Starvation
Ilustrasinya :
ü  Terdapat tiga proses P1, P1, dan P3
ü  P1, P2, dan P3 memerlukan pengaksesan sumber daya R secara periodik
Terjadi Skenario berikut:
ü  P1 sedang di beri sumber daya R, P2, dan P3 Blocked menunggu sumber daya R.
ü  Ketika P1 keluar daricritical section, P2 dan P3 diijinkan mengakse R.
ü  Asumsi P3 diberi hak akses. Kemudian setelah selesai, hak akses kembali diberikan ke P1 yang saat itu 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 sutuasi ini P2 mengalami starvation.
Untuk pemahaman lebih jelas, berikut detail dari penjelasannya:

Deadlock adalah situasi di mana dua atau lebih proses yang tidak dapat dilanjutkan karena masing-masing sedang menunggu satu yang lain untuk melakukan sesuatu.
Deadlock mengacu situasi di mana satu set dari dua atau lebih proses yang menunggu untuk anggota lain dimana diset untuk menyelesaikan operasi untuk memprosesnya, tapi tidak ada anggota yang mampu memproses. Deadlock adalah fenomena yang sulit untuk mengantisipasi, dan tidak ada solusi umum yang mudah untuk mengatasi masalah ini. Ada tiga pendekatan utama untuk berurusan dengan deadlock: pencegahan, penghindaran, dan deteksi.
Dalam Hal ini, dimungkinkan untuk dua atau lebih program yang akan menutup telepon menunggu satu sama lain. Sebagai contoh, dua program mungkin masing-masing memerlukan dua perangkat I / O untuk melakukan beberapa operasi (misalnya, disk untuk menyalin tape). Salah satu program telah
merebut kendali dari salah satu perangkat dan program lain yang memiliki kontrol dari perangkat lain. Setiap menunggu program lain untuk melepaskan sumber daya yang diinginkan. Deadlock tersebut mungkin tergantung pada waktu kesempatan alokasi sumber daya dan pelepasannya.

Prinsip-Prinsip Deadlock
Deadlock dapat didefinisikan sebagai memblokir permanen dari serangkaian proses yang baik bersaing untuk sumber daya sistem atau berkomunikasi satu sama lain. Satu set proses adalah jalan buntu ketika setiap proses dalam set diblokir menunggu suatu peristiwa (biasanya membebaskan beberapa sumber daya yang diminta) yang hanya dapat dipicu oleh lain diblokir proses dalam set. Deadlock adalah permanen karena tidak ada peristiwa yang pernah dipicu. Tidak seperti masalah lain dalam proses manajemen bersamaan, ada ada solusi efisien dalam kasus umum.
Semua kebuntuan melibatkan konflik akan kebutuhan sumber daya oleh dua atau lebih proses. Sebuah contoh umum adalah kebuntuan lalu lintas. Gambar 6.1a menunjukkan situasi di mana empat mobil telah tiba di sebuah simpang empat arah berhenti di kurang lebih sama waktu. Keempat kuadran dari persimpangan adalah sumber daya di mana kendali dibutuhkan. Secara khusus, jika semua empat mobil ingin pergi langsung melalui persimpangan itu, kebutuhan sumber daya adalah sebagai berikut:
• Mobil 1, bepergian ke utara, membutuhkan kuadran a dan b.
• Mobil 2, membutuhkan kuadran b dan c.
• Mobil 3, membutuhkan kuadran c dan d.
• Mobil 4, membutuhkan kuadran d dan a.
Aturan khas jalan di Amerika Serikat adalah bahwa mobil di halte empat arah harus menunda untuk mobil segera haknya. Aturan ini bekerja jika hanya ada dua atau tiga mobil di persimpangan. Misalnya, jika hanya utara dan arah barat mobil tiba di persimpangan, mobil utara akan menunggu dan mobil ke arah barat diterima. Namun, jika semua empat mobil tiba pada waktu yang sama, masing-masing akan menahan diri dari memasuki persimpangan, ini menyebabkan kebuntuan potensial. Kebuntuan ini hanya potensial, tidak aktual, karena sumber daya yang diperlukan tersedia untuk salah satu mobil untuk melanjutkan. Jika salah satu mobil akhirnya melanjutkan, maka yang lain juga dapat melanjutkannya.
Namun, jika semua empat mobil mengabaikan aturan dan lanjutkan (hati-hati) ke perempatan pada saat yang sama, maka setiap mobil merebut satu sumber daya (satu kuadran) tetapi tidak dapat dilanjutkan karena kedua sumber daya yang diperlukan telah disita oleh mobil lain. Ini merupakan kebuntuan yang sebenarnya.
Mari kita lihat gambaran dari kebuntuan yang melibatkan proses-proses dan komputer
sumber daya. Gambar 6.2 (berdasarkan satu di [BACO03]), yang kami sebut sebagai diagram kemajuan bersama, menggambarkan kemajuan dua proses yang bersaing untuk dua sumber. Setiap proses membutuhkan penggunaan eksklusif dari kedua sumber daya untuk sebuah tertentu jangka waktu tertentu. Dua proses, P dan Q, mempunyai bentuk umum berikut:
Process P                                                                            Process Q
• • •                                                                                        • • •
Get A                                                                                       Get B
• • •                                                                                        • • •
Get B                                                                                       Get A
• • •                                                                                        • • •
Release A                                                                            Release B
• • •                                                                                        • • •
Release B                                                                            Release A
• • •                                                                                        • • •


Sebagai contoh sederhana, Deadlock terjadi jika dua proses memerlukan dua sumber daya yang sama untuk melanjutkan dan masing-masing memiliki satu kepemilikan. Kecuali beberapa tindakan yang diambil, setiap proses akan menunggu tanpa batas waktu untuk sumber daya yang hilang tersebut.
Starvation adalah situasi di mana proses runnable yang terlupakan tanpa batas oleh penjadwal; meskipun mampu melanjutkan, tetapi tidak pernah dipilih.
Starvation mengacu pada situasi di mana suatu proses siap untuk mengeksekusi tetapi terus ditolak akses ke prosesor untuk mendahulukan proses lainnya. Dalam sebagian besar, starvation ditangani sebagai isu penjadwalan.
Contoh, perhatikan dua proses, P1 dan P2, dan dua sumber daya, R1 dan R2. Misalkan bahwa setiap proses membutuhkan akses ke kedua sumber daya untuk melakukan sebagian fungsinya. Maka mungkin untuk memiliki situasi berikut ini:
OS menugaskan R1 untuk P2, dan R2 untuk P1. Setiap proses sedang menunggu salah satu dari dua sumber daya. Tidak akan melepaskan sumber daya yang sudah memiliki sampai telah mengakuisisi sumber daya lainnya dan melakukan fungsi yang membutuhkan baik sumber daya. Kedua proses ini menemui deadlock (jalan buntu).
Sebuah masalah pengendalian akhir ini adalah starvation. Misalkan tiga proses (P1, P2, P3) masing-masing membutuhkan akses berkala kepada sumber daya R. Pertimbangkan situasi di mana P1 adalah memiliki sumber daya, dan kedua P2 dan P3 yang tertunda, menunggu sumber daya itu.
Ketika keluar dari critical section P1, baik P2 atau P3 harus diberi akses ke R. Asumsikan bahwa OS memberikan akses ke P3 dan bahwa P1 lagi membutuhkan akses sebelum P3 menyelesaikan critical section-nya. Jika OS memberikan akses ke P3 P1 setelah selesai, dan kemudian bergantian memberikan akses ke P1 dan P3, maka P2 dapat tanpa batas waktu menolak akses ke sumber daya, meskipun tidak ada situasi deadlock.


Diposkan Oleh Puji Mulatsih
0922021
Sumber : blog.ub.ac.id/.../2011/03/25/semaphore-monitor-deadlock-dan-starvation-3/
Read more »

Selasa, 18 Oktober 2011

Cara Mudah Mengganti Header Blog !!!


Bagi yang sudah bosen dengan tampilan Gambar Header Blog kita (kayak Ocy) dan pengin mengganti dengan desain kita biar lebih personal, mari simak cara-caranya !!!


Langkah Pertama Buatlah desain Headernya dengan Program pengolah gambar (Corel atau Photosop) dengan ukuran 847px X 240px. Simpan dalam format JPG atau GIF.

Let's Edit !!!
*) Cara Pertama :

1. Sign in di Blogger

2. Klik menu Layout

3. Klik menu Edit HTML

4. Klik tulisan Download Template Lengkap, silahkan save dulu template Anda untuk backup

5. Klik kotak kecil di samping tulisan Expand Template Widget

6. Tunggu beberapa saat sampai proses selesai

7. cari kode berikut pada template Anda :

b:section class="'header'" id="'header'" maxwidgets="'1'"

pada kode maxwidgets='1'. Rubah angka 1 menjadi angka 2, sehingga kodenya menjadi

seperti ini :

b:section class="'header'" id="'header'" maxwidgets="'2'"

8. Klik tombol SIMPAN TEMPLATE

Kemudian ................????????????????

1. Klik menu Elemen Halaman

2. KLik tulisan Edit yang ada pada elemen Header

3. Tunggu beberapa saat

4. Pilih radio button yang ada di samping tulisan dari komputer Anda

5. Klik tombol Browse...

6. Pilih Header yang telah di buat yang ada pada komputer Anda

7. Tunggu beberapa saat sampai proses selesai.

8. Gambar Header Anda akan di tampilkan

9. Klik tombol SIMPAN PERUBAHAN

10. Selesai.

**) Cara Kedua

Kalau kurang puas dengan tampilan di cara pertama, kita akan edit dengan cara yang kedua!
Jika sudah selesai mendesain Headernya, silahkan Upload gambar Anda ! contoh di http://www.photobucket.com/


Let's Edit !!!
Caranya

1. Sign in di blogger

2. Klik menu Layout

3. Klik menu Edit HTML

4. Klik tulisan Download Template Lengkap, silahkan save dulu template Anda untuk backup

5. Klik kotak kecil di samping tulisan Expand Template Widget

6. Tunggu beberapa saat sampai proses selesai

7. Tambahkan kode berikut pada style sheet css Anda.Yang warna hitam adalah kode asli dan yang merah adalah kode yang harus di tambahkan (
sesuaikan dengan alamat gambar Anda)


/* Header -----------------------------------------------
*/

#header-wrapper {
width:660px;
margin:0 auto 10px;
border:1px solid #ccc;
background:url(http://i256.photobucket.com/albums/hh174/mas_usup/mas_usup_top.gif);
}
}

8. Klik tombol Pratinjau untuk melihat perubahan yang ada

9. Bila sudah OK, klik tombol SIMPAN TEMPLATE

10. Selesai.

Read more »

Senin, 17 Oktober 2011

Kecambah Jangan Cuma Dilihat dari Bentuknya yang Kecil.

Kecambah atau sering di kenal dengan tauge ataupun kalo orang jawa menyebut tokolan, memang bentuknya ga seberapa alias kecil tapi.... jangan salah, manfaatnya buat tubuh tak sekecil bentuknya. Kecambah yang bisa di konsumsi ada berbagai macam, baik kecambah kacang tanah, kedelai, kacang hijau dll. Namun apapun jenisnya kecambah tetap mempunyai kandungan senyawa fitokimiawi yang tentunya berkhasiat untuk tubuh. Bahkan kandungan protein dalam kecambah lebih tinggi di banding protein biji aslinya (biji asal kecambah) karena saat proses pembentukan kecambah, terjadi pembentukan asam-asam amino esensial yang merupakan sumber pembentukan protein.

Kecambah mempunyai kandungan vitamin E yang cukup tinggi, vitamin E ini bermanfaat membantu meremajakan kulit, menyuburkan rambut, menghilangkan flek hitam pada wajah dan juga bisa melangsingkan tubuh. Selain itu vitamin E ini juga mampu meningkatkan kesuburan organ reproduksi, bagi wanita yang rajin mengkonsumsi akan membantu mencegah terkena kanker payudara, pramenopause maupun gangguan menjelang menstruasi.
Masih ada lagi manfaat si kecil ini, diantaranya :

  • Mencegah Serangan Jantung
Kandungan saponin dalam kecambah mampu menghancurkan lemak jahat LDL dalam darah, dimana kadar LDL yang tinggi dalam darah merupakan penyebab timbulnya serangan jantung dan stroke. 
  • Mencegah Terjadinya Kanker
Kecambah mempunyai kandungan serat dan air yang cukup banyak, hal ini dapat membantu pengeluaran kotoran dalam usus besar. Sehingga tidak ada lagi kotoran yang menumpuk, karena menumpuknya kotoran dalam tubuh akan merangsang munculnya sel kanker.

  • Menguatkan Tulang
Kandungan estrogen alami dalam kecambah ternyata mampu bermanfaat meningkatkan kepadatan tulang, susunan tulang dan mencegah terjadinya keropos pada tulang. Sehingga tulangpun akan semakin kuat.

Sumber :http://erabaru.net/kesehatan/34-kesehatan/160-kecambah-kacang-hijau-punya-nilai-gizi-tinggi
Read more »