Selasa, 14 Juni 2011

KEAMANAN SISTEM INFORMASI APA DAN BAGAIMANA ?

A. Pengertian

Jika kita berbicara tentang keamanan sistem informasi, selalu kata kunci yang dirujuk adalah pencegahan dari kemungkinan adanya virus, hacker, cracker dan lain-lain.  Padahal berbicara masalah keamanan sistem informasi maka kita akan berbicara kepada kemungkinan adanya resiko yang muncul atas sistem tersebut (lihat tulisan strategi pendekatan manajemen resiko dalam pengembangan sistem informasi).  Sehingga pembicaraan tentang keamanan sistem tersebut maka kita akan berbicara 2 masalah utama yaitu :
  1. Threats (Ancaman) atas sistem dan
  2. Vulnerability (Kelemahan) atas sistem
Masalah tersebut pada gilirannya berdampak kepada 6 hal yang utama dalam sistem informasi yaitu :
  • Efektifitas
  • Efisiensi
  • Kerahaasiaan
  • Integritas
  • Keberadaan (availability)
  • Kepatuhan (compliance)
  • Keandalan (reliability)
Untuk menjamin hal tersebut maka keamanan sistem informasi baru dapat terkriteriakan dengan baik.  Adapun kriteria yag perlu di perhatikan dalam masalah keamanan sistem informasi membutuhkan 10 domain keamanan yang perlu di perhatikan yaitu :
  1. Akses kontrol sistem yang digunakan
  2. Telekomunikasi dan jaringan yang dipakai
  3. Manajemen praktis yang di pakai
  4. Pengembangan sistem aplikasi yang digunakan
  5. Cryptographs yang diterapkan
  6. Arsitektur dari sistem informasi yang diterapkan
  7. Pengoperasian yang ada
  8. Busineess Continuity Plan (BCP) dan Disaster Recovery Plan (DRP)
  9. Kebutuhan Hukum, bentuk investigasi dan kode etik yang diterapkan
  10. Tata letak fisik dari sistem yang ada
Dari domain tersebutlah isu keamanan sistem informasi dapat kita klasifikasikan berdasarkan ancaman dan kelemahan sistem yang dimiliki.
 

B. ANCAMAN (Threats)

Ancaman adalah aksi yang terjadi baik dari dalam sistem maupun dari luar sistem yang dapat mengganggu keseimbangan sistem informasi.  Ancaman yang mungkin timbul dari kegiatan pengolahan informasi berasal dari 3 hal utama, yaitu :
  1. Ancaman Alam
  2. Ancaman Manusia
  3. Ancaman Lingkungan
Ancaman Alam
Yang termasuk dalam kategori ancaman alam terdiri atas :
  • Ancaman air, seperti : Banjir, Stunami, Intrusi air laut, kelembaban tinggi, badai, pencairan salju
  • Ancaman Tanah, seperti : Longsor, Gempa bumi, gunung meletus
  • Ancaman Alam lain, seperti : Kebakaran hutan, Petir, tornado, angin ribut
Ancaman Manusia
Yang dapat dikategorikan sebagai ancaman manusia, diantaranya adalah :
  • Malicious code
  • Virus, Logic bombs, Trojan horse, Worm, active contents, Countermeasures
  • Social engineering
  • Hacking, cracking, akses ke sistem oleh orang yang tidak berhak, DDOS, backdoor
  • Kriminal
  • Pencurian, penipuan, penyuapan, pengkopian tanpa ijin, perusakan
  • Teroris
  • Peledakan, Surat kaleng, perang informasi, perusakan
Ancaman Lingkungan
Yang dapat dikategorikan sebagai ancaman lingkungan seperti :
  • Penurunan tegangan listrik atau kenaikan tegangan listrik secara tiba-tiba dan dalam jangka waktu yang cukup lama
  • Polusi
  • Efek bahan kimia seperti semprotan obat pembunuh serangga, semprotan anti api, dll
  • Kebocoran seperti A/C, atap bocor saat hujan
Besar kecilnya suatu ancaman dari sumber ancaman yang teridentifikasi atau belum teridentifikasi dengan jelas tersebut, perlu di klasifikasikan secara matriks ancaman sehingga kemungkinan yang timbul dari ancaman tersebut dapat di minimalisir dengan pasti.  Setiap ancaman tersebut memiliki probabilitas serangan yang beragam baik dapat terprediksi maupun tidak dapat terprediksikan seperti terjadinya gempa bumi yang mengakibatkan sistem informasi mengalami mall function. 

C. KELEMAHAN (Vurnerability)

Adalah cacat atau kelemahan dari suatu sistem yang mungkin timbul pada saat mendesain, menetapkan prosedur, mengimplementasikan maupun kelemahan atas sistem kontrol yang ada sehingga memicu tindakan pelanggaran oleh pelaku yang mencoba menyusup terhadap sistem tersebut. Cacat sistem bisa terjadi pada prosedur, peralatan, maupun perangkat lunak yang dimiliki, contoh yang mungkin terjadi seperti : Seting firewall yang membuka telnet sehingga dapat diakses dari luar, atau Seting VPN yang tidak di ikuti oleh penerapan kerberos atau NAT.
Suatu pendekatan keamanan sistem informasi minimal menggunakan 3 pendekatan, yaitu :
1. Pendekatan preventif yang bersifat mencegah dari kemungkinan terjadikan ancaman dan kelemahan
2. Pendekatan detective yang bersifat mendeteksi dari adanya penyusupan dan proses yang mengubah sistem dari keadaan normal menjadi keadaan abnormal
3. Pendekatan Corrective yang bersifat mengkoreksi keadaan sistem yang sudah tidak seimbang untuk dikembalikan dalam keadaan normal
Tindakan tersebutlah menjadikan bahwa keamanan sistem informasi tidak dilihat hanya dari kaca mata timbulnya serangan dari virus, mallware, spy ware dan masalah lain, akan tetapi dilihat dari berbagai segi sesuai dengan domain keamanan sistem itu sendiri.

KEAMANAN SISTEM INFORMASI APA DAN BAGAIMANA ?

A. Pengertian

Jika kita berbicara tentang keamanan sistem informasi, selalu kata kunci yang dirujuk adalah pencegahan dari kemungkinan adanya virus, hacker, cracker dan lain-lain.  Padahal berbicara masalah keamanan sistem informasi maka kita akan berbicara kepada kemungkinan adanya resiko yang muncul atas sistem tersebut (lihat tulisan strategi pendekatan manajemen resiko dalam pengembangan sistem informasi).  Sehingga pembicaraan tentang keamanan sistem tersebut maka kita akan berbicara 2 masalah utama yaitu :
  1. Threats (Ancaman) atas sistem dan
  2. Vulnerability (Kelemahan) atas sistem
Masalah tersebut pada gilirannya berdampak kepada 6 hal yang utama dalam sistem informasi yaitu :
  • Efektifitas
  • Efisiensi
  • Kerahaasiaan
  • Integritas
  • Keberadaan (availability)
  • Kepatuhan (compliance)
  • Keandalan (reliability)
Untuk menjamin hal tersebut maka keamanan sistem informasi baru dapat terkriteriakan dengan baik.  Adapun kriteria yag perlu di perhatikan dalam masalah keamanan sistem informasi membutuhkan 10 domain keamanan yang perlu di perhatikan yaitu :
  1. Akses kontrol sistem yang digunakan
  2. Telekomunikasi dan jaringan yang dipakai
  3. Manajemen praktis yang di pakai
  4. Pengembangan sistem aplikasi yang digunakan
  5. Cryptographs yang diterapkan
  6. Arsitektur dari sistem informasi yang diterapkan
  7. Pengoperasian yang ada
  8. Busineess Continuity Plan (BCP) dan Disaster Recovery Plan (DRP)
  9. Kebutuhan Hukum, bentuk investigasi dan kode etik yang diterapkan
  10. Tata letak fisik dari sistem yang ada
Dari domain tersebutlah isu keamanan sistem informasi dapat kita klasifikasikan berdasarkan ancaman dan kelemahan sistem yang dimiliki.
 

B. ANCAMAN (Threats)

Ancaman adalah aksi yang terjadi baik dari dalam sistem maupun dari luar sistem yang dapat mengganggu keseimbangan sistem informasi.  Ancaman yang mungkin timbul dari kegiatan pengolahan informasi berasal dari 3 hal utama, yaitu :
  1. Ancaman Alam
  2. Ancaman Manusia
  3. Ancaman Lingkungan
Ancaman Alam
Yang termasuk dalam kategori ancaman alam terdiri atas :
  • Ancaman air, seperti : Banjir, Stunami, Intrusi air laut, kelembaban tinggi, badai, pencairan salju
  • Ancaman Tanah, seperti : Longsor, Gempa bumi, gunung meletus
  • Ancaman Alam lain, seperti : Kebakaran hutan, Petir, tornado, angin ribut
Ancaman Manusia
Yang dapat dikategorikan sebagai ancaman manusia, diantaranya adalah :
  • Malicious code
  • Virus, Logic bombs, Trojan horse, Worm, active contents, Countermeasures
  • Social engineering
  • Hacking, cracking, akses ke sistem oleh orang yang tidak berhak, DDOS, backdoor
  • Kriminal
  • Pencurian, penipuan, penyuapan, pengkopian tanpa ijin, perusakan
  • Teroris
  • Peledakan, Surat kaleng, perang informasi, perusakan
Ancaman Lingkungan
Yang dapat dikategorikan sebagai ancaman lingkungan seperti :
  • Penurunan tegangan listrik atau kenaikan tegangan listrik secara tiba-tiba dan dalam jangka waktu yang cukup lama
  • Polusi
  • Efek bahan kimia seperti semprotan obat pembunuh serangga, semprotan anti api, dll
  • Kebocoran seperti A/C, atap bocor saat hujan
Besar kecilnya suatu ancaman dari sumber ancaman yang teridentifikasi atau belum teridentifikasi dengan jelas tersebut, perlu di klasifikasikan secara matriks ancaman sehingga kemungkinan yang timbul dari ancaman tersebut dapat di minimalisir dengan pasti.  Setiap ancaman tersebut memiliki probabilitas serangan yang beragam baik dapat terprediksi maupun tidak dapat terprediksikan seperti terjadinya gempa bumi yang mengakibatkan sistem informasi mengalami mall function. 

C. KELEMAHAN (Vurnerability)

Adalah cacat atau kelemahan dari suatu sistem yang mungkin timbul pada saat mendesain, menetapkan prosedur, mengimplementasikan maupun kelemahan atas sistem kontrol yang ada sehingga memicu tindakan pelanggaran oleh pelaku yang mencoba menyusup terhadap sistem tersebut. Cacat sistem bisa terjadi pada prosedur, peralatan, maupun perangkat lunak yang dimiliki, contoh yang mungkin terjadi seperti : Seting firewall yang membuka telnet sehingga dapat diakses dari luar, atau Seting VPN yang tidak di ikuti oleh penerapan kerberos atau NAT.
Suatu pendekatan keamanan sistem informasi minimal menggunakan 3 pendekatan, yaitu :
1. Pendekatan preventif yang bersifat mencegah dari kemungkinan terjadikan ancaman dan kelemahan
2. Pendekatan detective yang bersifat mendeteksi dari adanya penyusupan dan proses yang mengubah sistem dari keadaan normal menjadi keadaan abnormal
3. Pendekatan Corrective yang bersifat mengkoreksi keadaan sistem yang sudah tidak seimbang untuk dikembalikan dalam keadaan normal
Tindakan tersebutlah menjadikan bahwa keamanan sistem informasi tidak dilihat hanya dari kaca mata timbulnya serangan dari virus, mallware, spy ware dan masalah lain, akan tetapi dilihat dari berbagai segi sesuai dengan domain keamanan sistem itu sendiri.

Sabtu, 11 Juni 2011

Fitur baru di Linux Mint 11

Linux Mint 11 dilengkapi dengan perangkat lunak diperbarui dan membawa perbaikan dan fitur baru untuk membuat desktop Anda lebih nyaman untuk digunakan.

Linux Mint 11 "Katya"

Multimedia codec dan aplikasi tambahan

Linux Mint 11 datang sebagai liveDVD. Sebuah liveCD juga tersedia untuk orang-orang tanpa DVD burner atau distributor yang didirikan di Amerika Serikat dan Jepang. The liveCD dilengkapi dengan aplikasi kurang, tidak ada codec multimedia dan tidak ada perangkat lunak terbatas, sehingga cocok dalam 700MB dan aman didistribusikan di negara-negara di mana undang-undang paten memungkinkan untuk diterapkan ke perangkat lunak.
Dari liveCD, instalasi codec dan aplikasi tambahan kini lebih mudah dari sebelumnya.
Anda akan melihat dua link di Welcome Screen:
  • Upgrade ke Edisi DVD
  • Instal Multimedia Codec
Ada juga link di Menu:
  • Menu-> Sound dan Instal Multimedia Video-> Codec
  • Menu-> Administration-> Upgrade ke Edisi DVD

Buka menu, klik pada mouse, dan semua perangkat lunak yang diinstal hilang.
Dengan dua klik dari mouse Anda akan memiliki semua komponen hilang terinstal di sistem anda: Purna multimedia dukungan, VLC, Gimp, Pemberi, Tomboy, LibreOffice-Base, Jawa, Samba, font tambahan, latar belakang, tema, ikon, dan segala sesuatu yang membuat Linux Mint, lengkap keluar dari kotak, sistem operasi.
Setelah komponen ini terpasang, link akan hilang dari Layar Selamat datang dan dalam menu Anda.
Sebuah link baru juga ditambahkan dalam Preferensi Menu->, untuk meluncurkan Welcome Screen setelah sudah ditutup atau diperintahkan untuk tidak lagi muncul ketika Anda log in

Manajer Perangkat Lunak

Banyak perbaikan dilakukan untuk antarmuka grafis, dan Manager Software sekarang terlihat jauh lebih halus.
Sebuah splash screen muncul saat Anda meluncurkannya:

Sebuah layar splash yang baru bagi Manajer Perangkat Lunak
Layar utama fitur ikon kategori besar, sebuah template baru dan baru "Font" kategori:

Manajer Perangkat Lunak di Linux Mint 11
Aplikasi adalah layar visual ditingkatkan, tidak hanya dalam cara mereka melihat tetapi juga dalam tata letak dan informasi yang mereka tampilkan. Sebagai contoh, Manajer Perangkat Lunak saat ini menjalankan simulasi sebelum memperlihatkan aplikasi, jadi ketika Anda melihatnya, dapat memberitahu Anda tepat paket mana yang akan ditambahkan atau dihapus untuk sistem anda, jumlah data yang akan di-download dan berapa banyak ruang akan diambil pada hard drive, mungkin Anda memutuskan untuk menekan tombol Install.

Ukuran download, ukuran instalasi, berdampak pada paket, Manager Perangkat Lunak sekarang menunjukkan informasi lebih akurat
adalah ikon aplikasi sekarang dikumpulkan tidak hanya dari paket mintinstall-ikon tapi juga dari tema ikon dan dihasilkan pada saat runtime jika perlu. Ini membantu Manager Perangkat Lunak dalam menampilkan ikon lebih dari sebelumnya, apakah mintinstall-ikon diinstal atau tidak.
Secara default, Manajer Software sekarang pencarian atas nama paket tetapi juga dalam ringkasan mereka. Hal ini membuat pencarian lebih lama namun lebih akurat dari sebelumnya. Anda dapat mengubah ini dengan mengklik "Edit-> Preferences-> Cari di ringkasan paket".

Update Manager

Update Manager lebih cepat dari sebelumnya. Ini digunakan untuk cek koneksi Internet Anda, update aturan dan mencari update paket. Berkat beberapa perubahan refactoring dan kode itu sekarang hanya mencari update paket. Aturan (yang menentukan tingkat keamanan untuk setiap paket) sekarang tertanam dalam Update Manager dan tidak perlu lagi untuk di-download. Ketika versi baru dari aturan-aturan yang tersedia, versi baru dari Update Manager dilepaskan. Update Manager lalu mengabaikan semua pembaruan lainnya. Afer memperbarui sendiri itu ulang, sehingga Anda selalu menggunakan Update Manager terbaru dengan peraturan terbaru dan tidak perlu untuk memeriksa aturan setiap kali mencari pembaruan. Hasilnya adalah Update Manager yang lebih aman namun cepat.
Salah satu peningkatan terbesar dibuat untuk Update Manager adalah bagaimana sekarang dapat menangani dependensi. Ini hanya menunjukkan update, bukan dependensi. Jika ugprade dari sebuah paket membutuhkan perubahan tambahan untuk sistem anda dialog muncul dengan ringkasan untuk menunjukkan paket yang akan diinstal atau dihapus. Ini membawa memperbaiki permanen pada "paket Broken" pesan terkenal yang digunakan untuk muncul sebelum, dan juga membuat lebih jelas yang update yang tersedia dan apa efek mereka telah melakukan instalasi pada sistem.

Yang lebih cepat dan lebih dapat diandalkan Update Manager
Visual perbaikan juga dilakukan untuk antarmuka grafis:
  • Semua dialog sekarang modal
  • Ketika upgrade berhasil Update Manager menyembunyikan itu sendiri, Anda tidak lagi melihat "Perubahan diterapkan berhasil" dialog yang menunggu untuk diklik
  • Peringatan dan info tab tidak lagi muncul untuk update tanpa peringatan atau informasi tambahan
  • Changelogs didownload asynchronously (di latar belakang), temu mereka lebih dapat diandalkan dan mereka terlihat lebih baik dari sebelumnya

Desktop Pengaturan alat

Salah satu kekhasan Linux Mint adalah untuk menunjukkan kutipan lucu di terminal. Tidak ada yang seperti sapi seing mengatakan lelucon yang buruk karena Anda bersiap-siap untuk mengetik beberapa perintah administrasi yang serius.
Beberapa orang seperti ini mengutip, dan beberapa orang tidak. Seperti segala sesuatu yang lain dalam sistem itu harus mudah beralih ON atau OFF dan jadi ditambahkan ke alat Pengaturan Desktop.

Aktifkan / Nonaktifkan kekayaan di terminal
Alat Desktop Settings sekarang "desktop-agnostik". Awalnya dikembangkan untuk Gnome, sekarang mendeteksi yang desktop berjalan dan menunjukkan pengaturan khusus untuk desktop yang. Ini akan digunakan di masa depan di semua edisi Linux Mint dan menawarkan pengaturan tambahan untuk KDE, Xfce, LXDE dan pengguna Fluxbox.

Artwork perbaikan

Linux Mint 11 menggunakan GTK yang sama dan tema ikon sebagai rilis sebelumnya dan membawa perbaikan lebih lanjut.
Latar belakang: latar belakang default ini menunjukkan adegan 3D yang menampilkan logo Linux Mint. Ini berasal dari seniman yang disebut Gelsan . latar belakang kualitas tambahan juga tersedia, termasuk "Spring", "Bubbles" dan "Bawa aku untuk hidup" oleh Pr09studio dan beberapa foto-foto indah dari PG Kumar Jyothish (aviatorjk) .

Beberapa kualitas latar belakang
scrollbar Tampilan: Linux Mint 11 mewarisi scrollbar overlay hulu dan memungkinkan mereka secara default.

Tampilan scrollbar di Linux Mint 11
Mint-X tema: Banyak perbaikan dibawa ke Mint-X, termasuk integrasi yang lebih baik dengan Deluge, Synaptic, Gimp dan Banshee, serta putaran tombol radio baru merek.

X-tema desktop Mint
mint-search-addon: Firefox 4, Kromium dan Opera datang dengan baik-mint-addon search plugin. The plugin baru terlihat lebih halus dari sebelumnya, ia datang dengan perbaikan bug dan memungkinkan Anda dengan mudah memperluas pencarian Anda ke situs-situs populer lainnya seperti Wikipedia, Youtube, eBay, Amazon, IMDB, flickr, Yahoo, dan Answers.com banyak layanan Google (gambar , video, peta, berita, menerjemahkan .. dll)
Plymouth layar boot: beban Plymouth terlambat dalam apa yang sekarang menjadi urutan boot sangat cepat. Ini juga gagal untuk mendukung driver paling video dalam resolusi tinggi. Di Linux Mint 11, urutan boot seluruh hitam. Anda tidak lagi melihat titik-titik logo atau loading. Hal ini membuat urutan boot yang lebih koheren dan memberikan sistem operasi tampilan yang lebih profesional.

Sistem perbaikan

apt download: Sebuah baru "download apt" perintah diperkenalkan yang download sebuah dependensi deb. paket lokal beserta semua.
Adobe Flash: Pada sistem 32-bit, Flash stabil 10.2 dan 10.3 Beta Flash plugin sekarang dapat diinstal secara terpisah. Dengan mudah beralih di antara mereka, cukup ketik "sudo update-alternatif - config libflashplayer.so". Pada sistem 64-bit, Adobe Flash "Square" plugin berjalan di native 64-bit.

Jumat, 10 Juni 2011

Manajemen Proses dalam Sistem Operasi

Pengelolaan proses

Proses adalah sebuah program yang sedang dieksekusi. Sedangkan program adalah kumpulan instruksi yang ditulis ke dalam bahasa yang dimengerti oleh sistem operasi. Sistem operasi mengelola semua proses di sistem dan mengalokasikan sumber daya ke proses-proses sesuai kebijaksanaan untuk memenuhi sasaran sistem. Pengelolaan proses ini menjadi sangat perlu dilakukan mengingat proses – proses pada sistem yang dieksekusi secara pararel.

Cara komunikasi proses-proses
Jika dua buah proses ingin berkomonikasi, misalnya proses P dan proses Q, mereka harus mengirim pesan atau menirima pesan dari satu ke yang lainnya. Jalur ini dapat diimplentasikan dengan banyak cara, namun kita hanya akan memfokuskan pada implementasi logiknya saja, bukan implementasi fisik(seperti shared memory, hardware bus, atau jaringan).Proses-proses yang ingin dikomunikasikan harus memiliki sebuah cara untuk memilih satu dengan yang lain. Mereka dapat menggunakan komunikasi langsung / tidak langsung
>> Komunikasi Langsung
Setiap proses yang ingin berkomunikasi harus memiliki nama yang bersifat eksplisit baik penerimaan atau pengirim dari komunikasi tersebut. Dalam konteks ini, pengiriman dan penerimaan pesan secara primitive dapat dijabarkan sebagai :
• Send (P, message) – mengirim sebuah pesan ke proses P.
• Receive (Q, message) – menerima sebuah pesan dari proses Q.
Sebuah jaringan komunikasi pada bahasan ini memiliki beberapa sifat, yaitu :
- Sebuah jaringan yang didirikan secara otomatis diantara setiap pasang dari proses yang ingin dikomunikasikan. Proses tersebut harus mengetahui identitas dari semua yang ingin dikomunikasikan.
- Sebuah jaringan adalah terdiri dari penggabungan 2 proses.
- Diantara setiap pesan dari proses terdapat tepat sebuah jaringan.
Pembahasan ini memperlihatkan sebuah cara simetris dalam pemberian alamat. Oleh karena itu, baik keduanya yaitu pengirim dan penerima proses harus memberi nama bagi yang lain untuk berkomunikasi, hanya pengirim yang memberikan nama bagi penerima sedangkan penerima tidak menyediakan nama bagi pengirim. Dalam konteks ini, pengirim dan penerima secara sederhana dapat dijabarkan sebagai :
- Send (P, message) – mengirim sebuah pesan kepada proses P.
- Receive (id, message) – menerima sebuah pesan dari semua proses. Variabel id diatur sebagai nama dari proses dengan komunikasi.
>> Komunikasi Tidak Langsung
Dengan komunikasi tidak langsung, pesan akan dikirimkan pada dan diterima dari / melalui mailbox (Kotak Surat) atau terminal-terminal, sebuah mailbox dapat dilihat secara abstrak sebagai sebuah objek didalam setiap pesan yang dapat ditempatkan dari proses dan dari setipap pesan yang bias dipindahkan. Setiap kotak surat memiliki sebuah identifikasi (identitas) yang unik, sebuah proses dapat berkomunikasi dengan beberapa proses lain melalui sebuah nomor dari mailbox yang berbeda. Dua proses dapat saling berkomunikasi apabila kedua proses tersebut sharing mailbox. Pengirim dan penerima dapat dijabarkan sebagai :
- Send (A, message) – mengirim pesan ke mailbox A.
- Receive (A, message) – menerima pesan dari mailbox A.

State Process
Sebuah proses dapat memiliki tiga status utama yaitu:
- Running. Status yang dimiliki pada saat instruksi-instruksi dari sebuah proses dieksekusi
- Waiting. Status yang dimiliki pada saat proses menunggu suatu sebuah event seperti proses M/K.
- Ready. Status yang dimiliki pada saat proses siap untuk dieksekusi oleh prosesor

Penundaan proses
Penundaan (suspension) adalah operasi penting dan telah diterapkan dengan beragam cara. Penundaan dapat diinisialisasi oleh proses itu sendiri atau proses lain. Penundaan biasanya berlangsung singkat dan sering dilakukan sistem untuk memindahkan proses-proses tertentu guna mereduksi beban sistem selama beban puncak. proses yang ditunda (suspended process) tidak berlanjut sampai proses lain me-resume. Untuk jangka panjang, sumber daya-sumber daya proses dibebaskan. Pada sistem monoprocessor, proses running dapat men-suspend dirinya sendiri karena lak ada proses lain yang juga running yang dapat memerintahkan suspend. Pada sistem multiprocessor, proses running dapat di-suspend proses running lain pada pemroses berbeda. Proses ready hanya dapat di-suspend oleh proses lain. 

Penjadwalan
Penjadwalan CPU adalah basis dari multi programming sistem operasi. Dengan men-switch CPU diantara proses. Akibatnya sistem operasi bisa membuat komputer produktif. Dalam bab ini kami akan mengenalkan tentang dasar dari konsep penjadwalan dan beberapa algoritma penjadwalan. Dan kita juga memaparkan masalah dalam memilih algoritma dalam suatu sistem.

Selasa, 07 Juni 2011

KONSEP DASAR MEMORI

Memori merupakan bagian dari komputer yang berfungsi sebagai tempat penyimpanan informasi yang harus diatur dan dijaga sebaik-baiknya. Sebagian besar komputer memiliki hirarki memori yang terdiri atas tiga level, yaitu:
  • Register di CPU, berada di level teratas. Informasi yang berada di register dapat diakses dalam satu clock cycle CPU.
  • Primary Memory (executable memory), berada di level tengah. Contohnya, RAM. Primary Memory diukur dengan satu byte dalam satu waktu, secara relatif dapat diakses dengan cepat, dan bersifat volatile (informasi bisa hilang ketika komputer dimatikan). CPU mengakses memori ini dengan instruksi single load dan store dalam beberapa clock cycle.
  • Secondary Memory, berada di level bawah. Contohnya, disk atau tape. Secondary Memory diukur sebagai kumpulan dari bytes (block of bytes), waktu aksesnya lambat, dan bersifat non-volatile (informasi tetap tersimpan ketika komputer dimatikan). Memori ini diterapkan di storage device, jadi akses meliputi aksi oleh driver dan physical device.
Gambar 1.1. Gambar Hirarki Memori
Gambar Hirarki Memori

Komputer yang lebih canggih memiliki level yang lebih banyak pada sistem hirarki memorinya, yaitu cache memory dan bentuk lain dari secondary memory seperti rotating magnetic memory, optical memory, dan sequntially access memory. Akan tetapi, masing-masing level ini hanya sebuah penyempurnaan salah satu dari tiga level dasar yang telah dijelaskan sebelumnya.
Bagian dari sistem operasi yang mengatur hirarki memori disebut dengan memory manager. Di era multiprogramming ini, memory manager digunakan untuk mencegah satu proses dari penulisan dan pembacaan oleh proses lain yang dilokasikan di primary memory, mengatur swapping antara memori utama dan disk ketika memori utama terlalu kecil untuk memegang semua proses.
Tujuan dari manajemen ini adalah untuk:
  • Meningkatkan utilitas CPU
  • Data dan instruksi dapat diakses dengan cepat oleh CPU
  • Efisiensi dalam pemakaian memori yang terbatas
  • Transfer dari/ke memori utama ke/dari CPU dapat lebih efisien

    Proteksi Perangkat Keras

    Pada saat suatu proses sedang berjalan, ada keadaan dimana processor berhenti. Hal ini menandakan tidak adanya lagi data yang diproses oleh processor. Oleh karena itu, processor pastinya akan mencari data ke dalam memori. Pengaksesan data tersebut memerlukan banyak clock cycle. Situasi ini tidak bisa ditoleransi sehingga membutuhkan perbaikan dalam kecepatan pengaksesan antara CPU dan memori utama. Tidak hanya peduli tentang kecepatan tersebut, tetapi juga memastikan operasi yang benar untuk melindungi pengaksesan sistem operasi dari proses lainnya, dan melindungi proses yang satu dari pengaksesan proses lainnya pula. Perlindungan atau proteksi ini disediakan oleh perangkat keras.
    Kita harus memastikan bahwa masing-masing proses memiliki ruang memori yang terpisah. Caranya dengan menentukan jarak alamat yang dilegalkan dimana proses bisa mengakses dan memastikan bahwa proses tersebut hanya bisa mengakses pada alamat tersebut.
    Proteksi di atas dilakukan oleh perangkat keras. Perangkat keras menyediakan dua register, yaitu base register dan limit register. Base register memegang alamat fisik terkecil yang dilegalkan, sedangkan limit register menentukan ukuran dari jarak alamat tersebut. Contohnya jika base register memegang 300040 dan limit register 120900, maka program bisa mengakses secara legal di semua alamat dari 300040 sampai 420940.
    Gambar 1.2. Gambar Base dan Limit Register
    Gambar Base dan Limit Register

    Fungsi dari proteksi ini untuk mencegah user program dari kesengajaan memodifikasi kode/struktur data baik di sistem operasi atau user lainnya. Jika proteksi gagal, semua hal yang dilakukan oleh program executing di user mode untuk mengakses memori sistem operasi atau memori user lainnya akan terperangkap di sistem operasi dan bisa menyebabkan kesalahan yang fatal, yaitu addressing error.
    Gambar 1.3. Gambar Proteksi Perangkat Keras dengan base dan limit register
    Gambar Proteksi Perangkat Keras dengan base dan limit register

    Address Binding

    Pengertian address binding adalah sebuah prosedur untuk menetapkan alamat fisik yang akan digunakan oleh program yang terdapat di dalam memori utama. Address binding yang dilakukan terhadap suatu program dapat dilakukan di 3 tahap yang berbeda, yaitu:
    • Compilation time. Pada tahap ini sebuah program pada awalnya akan menghasilkan alamat berupa simbol-simbol, kemudian simbol-simbol ini akan langsung diubah menjadi alamat absolut atau alamat fisik yang bersifat statik. Bila suatu saat terjadi pergeseran alamat dari program tersebut maka untuk mengembalikan ke alamat yang seharusnya dapat dilakukan kompilasi ulang. Contoh : file bertipe .com yang merupakan hasil dari kompilasi program
    • Load time. Pada tahap ini awalnya program menghasilkan alamat berupa simbol-simbol yang sifatnya acak (relative address), kemudian akan dilakukan penghitungan ulang agar program tersebut ditempatkan pada alamat yang dapat dialokasikan ulang (relocateble address). Singkatnya binding terjadi pada waktu program telah selesai di- load. Contoh: File bertipe .exe.
    • Execution time. Alamat bersifat relatif, binding akan dilakukan pada saat run time. Pada saat run time dibutuhkan bantuan hardware yaitu MMU (Memory Management Unit).

      Ruang Alamat Logika dan Fisik

      Alamat yang dihasilkan oleh CPU berupa alamat logika, sedangkan yang masuk ke dalam memori adalah alamat fisik. Pada compile time dan load time, alamat fisik dan logika identik. Sebaliknya, perbedaan alamat fisik dan logika terjadi pada execution time.
      Kumpulan semua alamat logika yang dihasilkan oleh program adalah ruang alamat logika/ruang alamat virtual. Kumpulan semua alamat fisik yang berkorespondensi dengan alamat logika disebut ruang alamat fisik.
      Pada saat program berada di CPU, program tersebut memiliki alamat logika, kemudian oleh MMU dipetakan menjadi alamat fisik yang akan disimpan di dalam memori.
      Ilustrasinya sebagai berikut, nilai pada register ini akan ditambah dengan setiap alamat yang dibuat oleh user process yang kemudian dikirim ke memori. Contohnya register relokasi berada di 14000, alamat logika di 346, maka langsung dipetakan menjadi alamat fisik di 14346.
      Gambar 1.4. Gambar Relokasi Dinamis dengan Menggunakan Relocation Register
      Gambar Relokasi Dinamis dengan Menggunakan Relocation Register

      Pemuatan Dinamis

      Ukuran dari memori fisik terbatas. Supaya utilitas memori berjalan dengan baik, maka kita menggunakan pemuatan dinamis. Dengan cara ini, routine-routine hanya akan dipanggil jika dibutuhkan.
      Ilustrasi sebagai berikut, semua routine disimpan di disk dalam format yang dapat dialokasikan ulang (relocatable load format). Program utama diletakkan di memori dan dieksekusi. Ketika sebuah routine memanggil routine yang lain, hal pertama yang dilakukan adalah mengecek apakah ada routine lain yang sudah di-load. Jika tidak, relocatable linking loader dipanggil untuk menempatkan routine yang dibutuhkan ke memori dan memperbaharui tabel alamat program. Lalu, kontrol diberikan pada routine baru yang dipanggil.
      Keuntungan dari pemuatan dinamis adalah routine yang tidak digunakan tidak pernah dipanggil. Metode ini berguna pada kode yang berjumlah banyak, ketika muncul kasus seperti routine yang salah. Walaupun ukuran kode besar , porsi yang digunakan bisa jauh lebih kecil.
      Sistem operasi tidak membuat mekanisme pemuatan dinamis, tetapi hanya menyediakan routine-routine untuk menerapkan mekanisme ini. User-lah yang merancang programnya sendiri agar programnya menggunakan sistem pemuatan dinamis.

      Linking Dinamis

      Pustaka bisa bersifat statik, dikenal dengan archive yang terdiri dari kumpulan routine yang diduplikasi ke sebuah program oleh compiler, linker, atau binder, sehingga menghasilkan sebuah aplikasi yang dapat dieksekusi (bersifat stand alone atau dapat berjalan sendiri). Compiler menyediakan standard libraries, misalnya C standard library, tetapi programmer bisa juga membuat pustakanya untuk digunakan sendiri atau disebarkan. Pustaka statis ini menyebabkan memori menjadi berat. Oleh karena itu, seiring dengan perkembangan teknologi, terdapat pustaka yang bersifat dinamis. Mekanismenya disebut linking dinamis, sedangkan pustakanya disebut dynamically linked library.
      Linking Dinamis artinya data (kode) di pustaka tidak diduplikasi ke dalam program pada compile time, tapi tinggal di file terpisah di disk Linker hanya membutuhkan kerja sedikit pada compile time. Fungsi linker adalah mencatat apa yang dibutuhkan oleh pustaka untuk eksekusi dan nama indeks atau nomor. Kerja yang berat dari linking akan selesai pada load time atau selama run time. Kode penghubung yang diperlukan adalah loader. Pada waktu yang tepat, loader menemukan pustaka yang relevan di disk dan menambahkan data dari pustaka ke proses yang ada di ruang memori. Keuntungan dari linking dinamis adalah memori program tidak menjadi berat.




      semoga bermanfaat cui.........!!!!!!!

SINKRONISASI

SINKRONISASI

Sinkronisasi adalah proses pengaturan jalannya beberapa proses pada saat yang bersamaan. Tujuan utama sinkronisasi adalah menghindari terjadinya inkonsistensi data karena pengaksesan oleh beberapa proses yang berbeda (mutual exclusion) serta untuk mengatur urutan jalannya proses-proses sehingga dapat berjalan dengan lancar dan terhindar dari deadlock atau starvation.
Sinkronisasi umumnya dilakukan dengan bantuan perangkat sinkronisasi. Dalam bab ini akan dibahas beberapa perangkat sinkronisasi, yaitu : TestAndSet(), Semafor, dan Monitor.
               Pada sistem multiprosesor, proses-proses bertindak independen. Ointerupsi disuatu pemroses tidak mempengaruhi pemroses-pemroses yang lain. Pemroses-pemroses yang memakai memori bersama maka pengaksesan terhadap suatu memori dijaga pada tingkat perangkat keras agar tidak boleh pemproses lain tidak dapat mengakses suatu lokasi yang sama disaaat yang sama.
               Perancang perangkat keras menyediakan interupsi-interupsi atomik yang tak dapat dinterupsi.
Interuksi dilaksanakan sampai selesai. Interuksi ini biasanya dilaksanakan dengan cara mengunci bus sehingga pemroses-pemroses lain tak dapat menggunakam bus, pemroses yang mengunci bus dengan leluasa membaca dam atau memodifikasi suatu lokasi memori.
              
Akses bebarengan untuk berbagi dua bersama dapat mengakibatkan inkosistensi data. Pemeliharaan konsistensi data memerlukan mekanisme untuk memastikan eksekusi dari proses kerjasama. Shared memory merupakan solusi ke masalah bounded-butter yang mengijinkan paling banyak n-1 materi dalam buffer pada waktu yang sama. Suatu solusi, jika semua N buffer digunakan tidaklah sederhana. Dimisalkan kita memdifikasi producer-consumer code dengan menambahkan suatu variable counter, dimulai dari 0 dan masing-masing waktu tambahan dari suatu item baru diberikan kepada buffer. 

1. Race Condition
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. Untuk mencegah race condition, proses-proses yang berjalan besamaan harus 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.

2. Masalah Critical Section
Kunci untuk mencegah masalah ini dan di situasi yang lain yang melibatkan shared memori, shared berkas, and shared sumber daya yang lain adalah menemukan beberapa jalan untuk mencegah lebih dari satu proses untuk melakukan proses writing dan reading kepada shared data pada saat yang sama. Dengan kata lain kita memutuhkan mutual exclusion, sebuah jalan yang menjamin jika sebuah proses sedang menggunakan shared berkas, proses lain dikeluarkan dari pekerjaan yang sama. Kesulitan yang terjadi karena proses 2 mulai menggunakan variabel bersama sebelum proses 1 menyelesaikan tugasnya.
Masalah menghindari race conditions dapat juga diformulasikan secara abstrak. Bagian dari waktu, sebuah proses sedang sibuk melakukan perhitungan internal dan hal lain yang tidak menggiring ke kondisi race conditions. Bagaimana pun setiap kali sebuah proses mengakses shared memory atau shared berkas atau melakukan sesuatu yang kitis akan menggiring kepada race conditions. Bagian dari program dimana shaed memory diakses disebut Critical Section atau Critical Region.
Walau pun dapat mencegah race conditions, tapi tidak cukup untuk melakukan kerjasama antar proses secara pararel dengan baik dan efisien dalam menggunakan shared data. Kita butuh 4 kondisi agar menghasilkan solusi yang baik:

a.      Tidak ada dua proses secara bersamaan masuk ke dalam citical section.
b.     Tidak ada asumsi mengenai kecepatan atau jumlah cpu.
c.      Tidak ada proses yang berjalan di luar critical secion yang dapat mengeblok proses lain.
d.     Tidak ada proses yang menunggu selamamya untuk masuk critical section.

Critical Section adalah sebuah segmen kode di mana sebuah proses yang mana sumber daya bersama diakses. Terdiri dari:
1.     Entry Section: kode yang digunakan untuk masuk ke dalam critical section
2.     Critical Section: Kode di mana hanya ada satu proses yang dapat dieksekusi pada satu waktu
3.     Exit Section: akhir dari critical section, mengizinkan proses lain Remainder Section: kode istirahat setelah masuk ke critical section.

3. Solusi ke Masalah Critical-Section
Ada bebrapa Solusi untuk mengatasi masalah Critical Section, yaitu:

Mutual exclution
Jika proses pi sedang mengeksekusi critical section-nya maka tidak ada proses lain yang dapat mengeksekusi dalam critical section mereka
.
Progress
Jika tidak ada proses yang sedang dieksekusi dalam critical section  dan ada beberapa proses yang ingin masuk ke critical section mereka, maka pemilihan proses yang akan masuk ke critical section berikutnya tidak bias ditunda.

Bounded Waiting
Suatu keterikatan harus ada pada sejumlah proses yang diijinkan masuk ke critical section mereka, setelah adanya proses yang meminta masuk ke critical section dan sebelum  permintaan itu diterima.
Asumsikan bahwa tiap proses mengeksekusi pada nonzero speed.
Tidak ada asumsi mengenai kecepatan relative dan n proses.
Cara-cara memecahkan masalah
Hanya dua proses, Po dan P1
Struktur umum dari proses adalah Pi (proses lain Pj)

4. Bakery Algorithm
Critical section untuk n proses:
Sebelum memasuki critical Section-nya, proses menerima nomor pemilik nomor terkecil memasuki critical section.
Jika proses Pi dan Pj menerima nomor yang sama, jika i < j, maka Pi dilayani duluan, lainnya Pj dilayani duluan (if i< j, then Pi is served first; else Pj is served first).
Skema penomoran selalu menghasilkan angka –angka yang disebutkan satu per satu, yaitu 1,2,3,3,3,3,4,5….



5. Semaphore
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:
Semaphore dapat diinisialisasi dengan nilai non-negatif.
Terdapat dua operasi terhadap semaphore, yaitu Down dan Up. Usulan asli yang disampaikan Djikstra adalah operasi P dan V.

Operasi Down
Operasi ini menurunkan nilai semaphore, jika nilai semaphore menjadi non-positif maka proses yang mengeksekusinya diblocked. Operasi Down adalah atomic, tak dapat diinterupsi sebelaum diselesaikan.Emnurunkan nilai, memeriksa nilai, menempatkan proses pada antrian dan memblocked sebagai instruksi tunggal. Sejak dimulai, tak ada proses alain yang dapat mengakses semaphore sampai operasi selesai atau diblocked.

Operasi Up
Operasi Up menakkan nilai semaphore. Jika satu proses atau lebih diblocked pada semaphore itu tak dapat menyelesaikan operasi Down, maka salah satu dipilih oleh system dan menyelesaikan operasi Down-nya. Urutan proses yang dipilih tidak ditentukan oleh Djikstra, dapat dipilih secara acak. Adanya semaphore mempermudah persoalan mutual exclusion. Skema penelesaian mutual exclusion mempunyai bagan sebagai berikut:
Sebelum masuk critical section, proses melakukan Down. Bila berhasil maka proses masuk ke critical section. Bila tidak berhasil maka proses di-blocked atas semaphore itu. Proses yang diblocked akan dapat melanjutkan kembali bila proses yang ada di critical section keluar dan melakukan opersai up sehingga menjadikan proses yang diblocked ready dan melanjutkan sehingga opersi Down-nya berhasil.

6. Problem Klasik pada Sinkronisasi
Ada tiga hal yang selalu memjadi masalah pada proses sinkronisasi:
Problem Bounded buffer.
Problem Reades and Writer.
Problem Dining Philosophers.

7. Monitors
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:
a.      Variabel-variabel data lokal, hanya dapat diakses oleh prosedur-prosedur dala monitor dan tidak oleh prosedur di luar monitor.
b.     Hanya satu proses yang dapat aktif di monitor pada satu saat. Kompilator harus mengimplementasi ini(mutual exclusion).
c.      Terdapat cara agar proses yang tidak dapat berlangsung di-blocked. Menambahkan variabel-variabel kondisi, dengan dua operasi, yaitu Wait dan Signal.


Wait
 Ketika prosedur monitor tidak dapat berkanjut (misal producer menemui buffer penuh) menyebabkan proses pemanggil diblocked dan mengizinkan proses lain masuk monitor.

Signal
 Proses membangunkan partner-nya yang sedang diblocked dengan signal pada variabel kondisi yang sedang ditunggu partnernya.

Versi Hoare
 Setelah signal, membangunkan proses baru agar berjalan dan menunda proses lain.

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. 

Semoga Bermanfaat kawan...........!!!!!!

Rabu, 01 Juni 2011

SHARING PRINTER


1) Klik menu Start pilih “Printer and Faxes”. Klik kanan pada printer yang akan di-sharing  pilih Properties.
2) Kemudian muncul jendela baru, ? pilih Sharing ? pilih “Share the printer”ketik atau isi nama untuk printer yang akan di-sharing (sesui anda) ? klik OK.

3) Kemudian pada icon printer akan ada tanda bergambar tangan ( membuktikan bahwa printer siap unt uk di sharing ).

*** Kalau anda ingin mengembalikan printer dengan keadaan tidak di sharing, maka yang harus anda lakukan adalah :
1)klik kanan pada printer yang telah di-share  pilih Properties  pilih Sharing  jangan pilih (centang) “Share this folder on the network”  klik OK, maka printer telah tidak ter-sharing .

Banyak sekali manfaat yang bisa kita dapat dari sini. Selain dengan cara di atas, anda dapat mengatur beberapa settingan sesuai kebutuhan anda. Dan harap lakukan hal ini dengan teliti untuk menghindari error.
Selamat Mencoba!