Definisi dari Proses, Thread, Mutual Exclution, Race Condition, Sinkronisasi, Deadlock, Starvation, Monitor, dan Semaphore!


PROSES
Definisi proses Secara tidak langsung, proses adalah program yang sedang dieksekusi. Menurut SilberSchatz, suatu proses adalah lebih dari sebuah kode program, yang terkadang disebut text section . Proses juga mencakup program counter , yaitu sebuah stack untuk menyimpan alamat dari instruksi yang akan dieksekusi selanjutnya dan register. Sebuah proses pada umumnya juga memiliki sebuah stack yang berisikan data-data yang dibutuhkan selama proses dieksekusi (seperti parameter method, alamat return dan variabel lokal), dan sebuah data section yang menyimpan variabel global. Sama halnya dengan SilberSchatz, Tanenbaum juga berpendapat bahwa proses adalah sebuah program yang dieksekusi yang mecakup program counter , register, dan variabel di dalamnya. termasuk
• Suatu program dalam pelaksanaan
• Sebuah contoh dari program yang berjalan pada komputer
• Entitas yang dapat ditugaskan dan dijalankan pada prosesor
• Sebuah unit aktivitas ditandai dengan pelaksanaan suatu urutan instruksi,keadaan saat ini, dan terkait set sumber daya sistem Juga dapat memikirkan suatu proses sebagai entitas yang terdiri dari sejumlah elemen.
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.
MUTUAL EXCLUSION
Adalah jaminan hanya satu proses yang mengakses sumber daya pada suatu interval waktu tertentu. Proses proses yang lain dilarang mengerjakan hal yang sama. Bagian program yang sedang mengakses memori atau sumber daya yang dipakai bersama disebut Critical Section/Region. Mutual Exclusion merupakan jaminan untuk mengatasi kondisi pacu agar tidak boleh 2 proses atau lebih memasuki Critical Section secara bersamaan. Kesuksesan proses – proses kongkuren memerlukan pendefinisian Critical Section dan memaksakan Mutual Exclusion di antara proses-proses kongkuren yang sedang berjalan. Pemaksaan Mutual Exclusion merupakan landasan pemrosesan kongkuren.

RACE CONDITON
Race Condition adalah situasi di mana beberapa proses mengakses dan memanipulasi data bersama pada saat besamaan. Nilai akhir dari data bersama tersebut tergantung pada proses yang terakhir selesai. Unutk mencegah race condition, proses-proses yang berjalan besamaan haus di disinkronisasi.
Dalam beberapa sistem operasi, proses-proses yang berjalan bersamaan mungkin untuk membagi beberapa penyimpanan umum, masing-masing dapat melakukan proses baca (read) dan proses tulis (write). Penyimpanan bersama (shared storage) mungkin berada di memori utama atau berupa sebuah berkas bersama, lokasi dari memori bersama tidak merubah kealamian dari komunikasi atau masalah yang muncul. Untuk mengetahui bagaimana komunikasi antar proses bekerja, mari kita simak sebuah contoh sederhana, sebuah print spooler. Ketika sebuah proses ingin mencetak sebuah berkas, proses tersebut memasukkan nama berkas ke dalam sebuah spooler direktori yang khusus. Proses yang lain, printer daemon, secara periodik memeriksa untuk mengetahui jika ada banyak berkas yang akan dicetak, dan jika ada berkas yang sudah dicetak dihilangkan nama berkasnya dari direktori.
Bayangkan bahwa spooler direktori memiliki slot dengan jumlah yang sangat besar, diberi nomor 0, 1, 2, 3, 4,… masing-masing dapat memuat sebuah nama berkas. Juga bayangkan bahwa ada dua variabel bersama, out, penunjuk berkas berikutnya untuk dicetak, dan in, menunjuk slot kosong di direktori. Dua vaiabel tersebut dapat menamgami sebuah two-word berkas untuk semua proses. Dengan segera, slot 0, 1, 2, 3 kosong (berkas telah selesai dicetak), dan slot 4, 5, 6 sedang terisi (berisi nama dari berkas yang antre untuk dicetak). Lebih atau kurang secara besamaan, proses A dan B, mereka memutuskan untuk antre untuk sebuah berkas untuk dicetak.
SINKRONISASI
Koordinasi akses ke shared data, misalkan hanya satu proses yang dapat menggunakah shared var.
Contoh operasi terhadap var. “counter” harus dijamin di-eksekusi dalam satu kesatuan (atomik) :
counter := counter + 1;
counter := counter - 1;
Sinkronisasi merupakan “issue” penting dalam rancangan/implementasi OS (shared resources, data, dan multitasking).
DEADLOCK
eadlock adalah suatu kondisi dimana dua proses atau lebih saling menunggu proses yang lain untuk melepaskan resource yang sedang dipakai. Karena beberapa proses itu saling menunggu, maka tidak terjadi kemajuan dalam kerja proses-proses tersebut. Deadlock adalah masalah yang biasa terjadi ketika banyak proses yang membagi sebuah resource yang hanya boleh dirubah oleh satu proses saja dalam satu waktu. Di kehidupan nyata, deadlock dapat digambarkan dalam gambar berikut.Pada gambar diatas, deadlock dianalogikan sebagai dua antrian mobil yang akan menyeberangi jembatan. Dalam kasus diatas, antrian di sebelah kiri menunggu antrian kanan untuk mengosongkan jembatan (resource), begitu juga dengan antrian kanan. Akhirnya tidak terjadi kemajuan dalam kerja dua antrian tersebut.Misal ada proses A mempunyai resource X, proses B mempunyai resource Y. Kemudian kedua proses ini dijalankan bersama, proses A memerlukan resource Y dan proses B memerlukan resource X, tetapi kedua proses tidak akan memberikan resource yang dimiliki sebelum proses dirinya sendiri selesai dilakukan. Sehingga akan terjadi tunggu-menunggu.
STARVATION
Starvation adalah kondisi yang biasanya terjadi setelah deadlock. Proses yang kekurangan resource (karena terjadi deadlock) tidak akan pernah mendapat resource yang dibutuhkan sehingga mengalami starvation (kelaparan). Namun, starvation juga bisa terjadi tanpa deadlock. Hal ini ketika terdapat kesalahan dalam sistem sehingga terjadi ketimpangan dalam pembagian resouce. Satu proses selalu mendapat resource, sedangkan proses yang lain tidak pernah mendapatkannya. Ilustrasi starvation tanpa deadlock di dunia nyata dapat dilihat di bawah ini.Pada gambar diatas, pada antrian kanan terjadi starvation karena resource (jembatan) selalu dipakai oleh antrian kiri, dan antrian kanan tidak mendapatkan giliran.
MONITOR
Solusi sinkronisasi ini dikemukakan oleh Hoare pada tahun 1974. Monitor adalah 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.
Properti-properti monitor adalah sebagai berikut:
  1. Variabel-variabel data lokal, hanya dapat diakses oleh prosedur-prosedur dala monitor dan tidak oleh prosedur di luar monitor.
  2. Hanya satu proses yang dapat aktif di monitor pada satu saat. Kompilator harus mengimplementasi ini(mutual exclusion).
  3. Terdapat cara agar proses yang tidak dapat berlangsung di-blocked. Menambahkan variabel-variabel kondisi, dengan dua operasi, yaitu Wait dan Signal.
  4. Wait: Ketika prosedur monitor tidak dapat berkanjut (misal producer menemui buffer penuh) menyebabkan proses pemanggil diblocked dan mengizinkan proses lain masuk monitor.
  5. Signal: Proses membangunkan partner-nya yang sedang diblocked dengan signal pada variabel kondisi yang sedang ditunggu partnernya.
  6. Versi Hoare: Setelah signal, membangunkan proses baru agar berjalan dan menunda proses lain.
  7. Versi Brinch Hansen: Setelah melakukan signal, proses segera keluar dari monitor.
Dengan memaksakan disiplin hanya satu proses pada satu saat yang berjalan pada monitor, monitor menyediakan fasilitas mutual exclusion. Variabel-variabel data dalam monitor hanya dapat diakses oleh satu proses pada satu saat. Struktur data bersama dapat dilindungi dengan menempatkannya dalam monitor. Jika data pada monitor merepresentasikan sumber daya, maka monitor menyediakan fasilitas mutual exclusion dalam mengakses sumber daya itu.
SEMAPHORE
Jika kita ingin dapat melakukan proses tulis lebih rumit kita membutuhkan sebuah bahasa untuk melakukannya. Kita akhirnya medefinisikan semaphore yang kita asumsikan sebagai sebuah operasi atomik.
Semaphore adalah 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.



Sistem Berbagi Memori
Sistem Berbagi Memori atau yang disebut juga sebagai Shared Memory System merupakan salah satu cara komunikasi antar proses dengan cara mengalokasikan suatu alamat memori untuk dipakai berkomunikasi antar proses. Alamat dan besar alokasi memori yang digunakan biasanya ditentukan oleh pembuat program. Pada metode ini, sistem akan mengatur proses mana yang akan memakai memori pada waktu tertentu sehingga pekerjaan dapat dilakukan secara efektif.
Sistem Berkirim Pesan
Sistem berkirim pesan adalah proses komunikasi antar bagian sistem untuk membagi variabel yang dibutuhkan. Proses ini menyediakan dua operasi yaitu mengirim pesan dan menerima pesan. Ketika dua bagian sistem ingin berkomunikasi satu sama lain, yang harus dilakukan pertama kali adalah membuat sebuah link komunikasi antara keduanya. Setelah itu, kedua bagian itu dapat saling bertukar pesan melalui link komunikasi tersebut.
Sistem berkirim pesan sangat penting dalam sistem operasi. Karena dapat diimplementasikan dalam banyak hal seperti pembagian memori, pembagian bus, dan melaksanakan proses yang membutuhkan pengerjaan bersama antara beberapa bagian sistem operasi.


Hati-Hati Memajang Foto Asli di FB

Hati-Hati Memajang Foto Asli di FB

Jangan terlalu lengkap memasang profil diri dan foto di Facebook! Jangan terlalu gampang berteman di Facebook! Waduh, seruan tersebut tentunya tidak terlalu populer, atau cenderung diabaikan para Facebooker.

Ya memang, karena dengan bergesernya konsep dan ide sebuah pertemanan, maka tak apalah pada kenyataannya kita hanya punya segelintir teman di dunia nyata sepanjang punya berjibun (ratusan, ribuan) teman di situs jejaring sosial.

Seolah-olah dengan demikian keeksisan Anda adalah seberapa banyak teman yang dimiliki. Padahal dengan semakin banyak teman, yang kadang hanya teman sekadar kenal atau bahkan tak ingat lagi siapa dia atau bertemu dimana, maka semakin rentan terekspos data diri kita ke pihak-pihak di luar kontrol kita.

Salah satu contoh kasus yang mengingatkan kita akan bahaya bergaul sembarangan di Facebook adalah peristiwa hilangnya seorang remaja bernama Marietta Nova Triani (14). Setelah sempat membuat uring-uringan keluarganya yang merasa kehilangan, ternyata Nova kabur dengan pacarnya Febriani alias Ari (18) yang dikenal melalui Facebook.

Nova yang berasal dari Sidoarjo dibawa kabur pacarnya saat Nova bertamu di perumahan BSD, sejak tanggal 6 Februari 2010 lalu. Nova dan Ari ditemukan polisi di Jatiuwung, Tangerang.

Mungkin Nova hanya satu dari sekian korban pergaulan ‘kebablasan’ yang bermula dari perkenalan di Facebook. Nah, agar kita tidak menjadi korban berikutnya maka ada baiknya langkah-langkah­ pencegahan berikut ini bisa dijalankan ketika di dunia Facebook:

1). Jangan terlalu lengkap memasang profil atau data diri di Facebook. Tentunya semakin lengkap profil/­data diri terpasang, semakin mudah mendapatkan teman. Tetapi di sisi lain, semakin berisiko pula data diri kita disalah-gunakan (abused)

2). Jangan memasang foto-foto diri Anda yang sekiranya Anda sendiri tidak akan merasa nyaman apabila foto tersebut tersebarluaskan­ secara bebas. Ingatlah, walau foto tersebut “hanya” diposting di akun Facebook Anda, sebenarnya itu sama saja dengan menyebarlukaska­n foto tersebut ke publik. Sekali terposting dan tersebar, maka sangat sulit (dan nyaris mustahil) Anda bisa mencabut foto Anda dari Internet. Maka, selektiflah dalam berpose dan memposting foto Anda.

3). Jangan sembarangan ‘add friend’ atau melakukan approval atas permintaan seseorang untuk menjadi teman Anda. Cara memilah dan memilihnya mudah, yaitu lihat saja berapa jumlah “mutual friends” antara Anda dengan seseorang tersebut. Semakin sedikit “mutual friends”-nya, berarti semakin sedikit teman-teman Anda yang kenal dengan dirinya, yang berarti semakin berisiko tinggi. Pastikan Anda hanya menerima “pertemanan” yang “mutual friends”-nya cukup banyak.

4). Jangan sembarangan menerima tag photo. Bolehlah kita “banci tagging”, tetapi berupayalah lebih selektif. Artinya, sekali Anda terjun ke Facebook, rajin-rajinlah memeriksa “keadaan sekeliling”. Karena kita kadang menemukan foto diri kita yang di-upload dan di-tag oleh orang lain, padahal kita tidak suka foto tersebut disebarluaskan.­ Segera saja kita “untag” diri kita dari foto tersebut dan kalau perlu minta teman kita yang melakukan upload foto tersebut untuk mencabutnya.

5). Jangan tunda-tunda, ketika Anda menemukan data atau profil Anda digunakan oleh pihak lain untuk hal-hal di luar kontrol Anda, segeralah bertindak. Membiarkannya, justru akan membuatnya makin berlarut dan berdampak destruktif, setidaknya untuk kenyamanan diri sendiri. Laporkan langsung ke pengelola layanan untuk segera mencabut informasi aspal (asli tapi palsu) tersebut. Atau, mintalah bantuan pada orang atau pihak yang sekiranya bisa atau paham bagaimana mengatasi hal di atas.

6). Jangan mudah termakan bujuk rayu orang yang baru Anda kenal di Facebook. Karena perlu Anda ingat bahwa seringkali orang menyamarkan identitas aslinya di dunia maya. Apa yang tampak di dunia maya seperti Facebook belum tentu cerminan asli perilaku diri di dunia nyata. Bisa jadi orang yang tampak baik, sopan di Facebook ternyata memiliki watak sebaliknya di dunia nyata. Oleh karena itu sebaiknya berhati-hati dengan teman yang baru dikenal di dunia maya.

oke semoga bermanfa'at.
tapi intinya kembali kepada diri kita masing-masing sih, karena setiap orang kan punya prinsip yang berbeda-beda. Kalau tidak terlalu khawatir dengan segala konsekuensinya ya monggo.

Sita

DINAMIKA PERADABAN MESIR


                Mesir Kuno adalah suatu peradaban kuno di bagian timur laut Afrika. Peradaban ini terpusat sepanjang pertengahan hingga hilir Sungai Nil yang mencapai kejayaannya pada sekitar abad ke-2 SM, pada masa yang disebut sebagai periode Kerajaan Baru. Daerahnya mencakup wilayah Delta Nil di utara, hingga Jebel Barkal di Katarak Keempat Nil. Pada beberapa zaman tertentu, peradaban Mesir meluas hingga bagian selatan Levant, Gurun Timur, pesisir pantai Laut Merah, Semenajung Sinai, serta Gurun Barat (terpusat pada beberapa oasis).
           
            Peradaban Mesir Kuno berkembang selama kurang lebih tiga setengah abad. Dimulai dengan unifikasi awal kelompok-kelompok yang ada di Lembah Nil sekitar 3150 SM, peradaban ini secara tradisional dianggap berakhir pada sekitar 31 SM, sewaktu Kekaisaran Romawi awal menaklukkan dan menyerap wilayah Mesir Ptolemi sebagai bagian provinsi Romawi. Walaupun hal ini bukanlah pendudukan asing pertama terhadap Mesir, periode kekuasaan Romawi menimbulkan suatu perubahan politik dan agama secara bertahap di Lembah Nil, yang secara efektif menandai berakhirnya perkembangan peradaban independen Mesir.

Peradaban manusia dari masa ke masa

Peradaban manusia selalu mengalami perkembangan dari masa ke masa. Ini disebabkan Karena manusia yang memiliki akal yang dianugerhkan Tuhan. Dengan akalnya tersebut manusia dapat mengembangkan perdaban dengan cara merekayasa alam ini. Mari kita tilik kembali sejarah masa lalu manusia,
• Zaman prasejarah (purba)
Ini adalah zaman awal mula manusia, pada masa manusia sangatlah primitive jika dibandingkan dengan saat ini. Cirri khas masa ini adalah manusia belum bisa mengenal baca tulis, oleh karena itu dikatakan zaman pra-sejarah. Pada zaman ini manusia awalnya hidup dengan berburu, kemudian mengalami kemajuan dengan hidup dengan bercocok tangan. Masa becocok tanam diawali dengan penemuan-penemuan alat berburu yang lebih canggih dan juga alat-alat masak untuk mengolah makanan dan juga ilmu-ilmu baru tentang tanaman-tanaman.
• Zaman sejarah
Zaman ini ditandai dengan ditemukannya system baca tulis, tapi baca tulis pada masa itu masihlah sangatlah sederhana. Sebenarnya zaman sejarah masih berlangsung sampai saat ini, akan tetapi antara zaman sejarah sampai saat ini ada juga penemuan-penemuan revoluisoner yang mengubah perdaban dunia dan sejarah manusia pun memiliki pemababakan yang baru. Pemababakan ini bisa kita ambil konsep dari Alvin Tofler :
o Revolusi agrarian
Pada masa ini banyak ditemukan penemuan baru di bidang agrarian dan system pertanian dalam skala besar-besaran.
o Revolusi industry
Pada masa ini ditemukan cara untuk mengolah hasil-hasil alam menjadi barang baru yang lebih bernilai dalam skala besar-besaran yang dikerjakan di dalam pabrik-pabrik.
o Revolusi informasi dan teknologi
Masa ini adalah dimulai dari ditemukannya teknologi informasi yang dapat menghubungkan manusia dalalm jarak jauh. Masa ini masih berlangsung sampai saat ini.