Tampilkan postingan dengan label Sistem Operasi. Tampilkan semua postingan
Tampilkan postingan dengan label Sistem Operasi. Tampilkan semua postingan

08/11/15

Memahami Keamanan Sistem Dalam Sistem Operasi

Memahami Keamanan Sistem Dalam Sistem Operasi - Halo Sobat! kali ini eduloka akan membahas artikel tentang keamanan sistem dalam sistem operasi yang mencakup Autentifikasi, Proteksi Sistem dan, Virus dan Anti-Virus. Baiklah, langsung saja simak artikel berikut ini.

AUTENTIFIKASI

Autentikasi adalah proses dalam rangka validasi user pada saat memasuki sistem, nama dan password dari user di cek melalui proses yang mengecek langsung ke daftar mereka yang diberikan hak untuk memasuki sistem tersebut. Autorisasi ini di set up oleh administrator, webmaster atau pemilik situs (pemegang hak tertinggi atau mereka yang ditunjuk di sistem tersebut. Untuk proses ini masing-masing user akan di cek dari data yang diberikannya seperti nama, password serta hal-hal lainnya yang tidak tertutup kemungkinannya seperti jam penggunaan, lokasi yang diperbolehkan.

Autentikasi merupakan suatu langkah untuk menentukan atau mengonfirmasi bahwa seseorang (atau sesuatu) adalah autentik atau asli. Melakukan autentikasi terhadap sebuah objek adalah melakukan konfirmasi terhadap kebenarannya. Sedangkan melakukan autentikasi terhadap seseorang biasanya adalah untuk memverifikasi identitasnya. Pada suatu sistem komputer, autentikasi biasanya terjadi pada saat login atau permintaan akses.

Selain itu authentification juga merupakan salah satu dari banyak metode yang digunakan untuk menyediakan bukti bahwa dokumen tertentu yang diterima secara elektronik benar-benar datang dari orang yang bersangkutan dan tak berubah caranya adalah dengan mengirimkan suatu kode tertentu melaui e-mail dan kemudian pemilik e-mail mereplay email tersebut atau mengetikan kode yang telah dikirimkan.

Autentikasi server berfungsi untuk mengenali user yang berintegrasi ke jaringan dan memuat semua informasi dari user tersebut, dalam praktek biasanya authentification server mempunyai backupp yang berfungsi untuk menjaga jika server itu ada masalah sehingga jaringan dan pelayanan tidak terganggu.

Dalam aplikasi Web dibutuhkan mekanisme yang dapat melindungi data dari pengguna yang tidak berhak mengaksesnya, misalnya sebuah situs Web yang berisikan foto-foto keluarga dan hanya dapat diakses sesama anggota keluarga. Mekanisme ini dapat diimplementasikan dalam bentuk sebuah proses login yang biasanya terdiri dari tiga buah tahapan yaitu : identifikasi, otentikasi dan otorisasi

Proses otentifikasi pada prinsipnya berfungsi sebagai kesempatan pengguna dan pemberi layanan dalam proses pengaksesan resource. Pihak pengguna harus mampu memberikan informasi yang dibutuhkan pemberi layanan untuk berhak mendapatkan resourcenya. Sedang pihak pemberi layanan harus mampu menjamin bahwa pihak yang tidak berhak tidak akan dapat mengakses resource ini.

Memahami Keamanan Sistem Dalam Sistem Operasi_
image source: www.iconfinder.com
baca juga: Memahami Manajemen File Dalam Sistem Operasi

Metode-Metode Autentikasi

Autentikasi bertujuan untuk membuktika siapa anda sebenarnya, apakah anda benar-benar orang yang anda klaim sebagai dia (who you claim to be). Ada banyak cara untuk membuktikan siapa anda.

Metode autentikasi bisa dilihat dalam 4 kategori metode:

A. Something you know.
Ini adalah metode autentikasi yang paling umum. Cara ini mengandalkan kerahasiaan informasi, contohnya adalah password dan PIN. Cara ini berasumsi bahwa tidak ada seorangpun yang mengetahui rahasia itu kecuali anda seorang.

B. Something you have.
Cara ini biasanya merupakan faktor tambahan untuk membuat autentikasi menjadi lebih aman. Cara ini mengandalkan barang yang sifatnya unik, contohnya adalah kartu magnetic/smartcard, hardware token, USB token dan sebagainya. Cara ini berasumsi bahwa tidak ada seorangpun yang memiliki barang tersebut kecuali anda seorang.

C. Something you are.
Ini adalah metode yang paling jarang dipakai karena faktor teknologi dan manusia juga. Cara ini menghandalkan keunikan bagian-bagian tubuh anda yang tidak mungkin ada pada orang lain seperti sidik jari, suara atau sidik retina. Cara ini berasumsi bahwa bagian tubuh anda seperti sidik jari dan sidik retina, tidak mungkin sama dengan orang lain.

D. Something you do.
Melibatkan bahwa setiap user dalam melakukan sesuatu dengan cara yang berbeda. Contoh : Penggunaan analisis suara (voice recognation), dan analisis tulisan tangan.

Ada beberapa metode untuk melakukan autentikasi, salah satunya dan yang paling umum adalah menggunakan password.Metode autentikasi dengan menggunakan password statis adalah yang paling banyak digunakan. Tetapi jika user menggunakan password yang sama (password statis) beberapa kali untuk masuk ke dalam suatu sistem, password tersebut akan menjadi rentan terhadap sniffer jaringan. Salah satu bentuk serangan ke sistem komputer jaringan adalah seseorang mencoba masuk ke dalam suatu koneksi jaringan untuk mendapatkan informasi autentikasi, seperti ID login dan password yang berbeda setiap kali user akan masuk ke sistem. Sistem autentikasi One Time Password (OTP) dibuat untuk mengatasi serangan seperti diatas.

Untuk menghindari pencurian password dan pemakaian sistem secara illegal, akan bijaksana bila jaringan kita dilengkapi sistem password sekali pakai. Cara penerapan sistem password sekali pakai yaitu dengan cara :

Menggunakan sistem perangko terenkripsi. Dengan cara ini, password baru dikirimkan setelah terlebih dulu dimodifikasi berdasarkan waktu saat itu.

Menggunakan sistem challenge-response (CR), dimana password yang kita berikan tergantung challenge dari server. Dapat dianalogikan kita menyiapkan suatu daftar jawaban/response yang berbeda bagi pertanyaan/challenge yang diberikan oleh server. Untuk menghafal sekian banyak password bukanlah mudah, sehingga akan lebih mudah jika yang dihafal itu adalah aturan untuk mengubah challenge yang diberikan menjadi response (jadi tidak random). Misalnnya aturan kita adalah : “kapitalkan huruf kelima dan hapus huruf keempat”, maka password yang kita berikan adalahMxyPtlk1W2 untuk challenge sistem Mxyzptlk1W2.

Faktor-Faktor Autentikasi

Tiga jenis faktor autentikasi yang umum digunakan adalah:
  • Sesuatu yang diketahui oleh pengguna Contoh: password,passphrase, dan PIN (Personal Identification Number).
  • Sesuatu yang dimiliki oleh pengguna Contoh: ID card, kartu kredit, telepon seluler, dan perangkat token.
  • Sesuatu yang ‘ada’ pada pengguna Contoh: sidik jari, DNA, suara, pola retina atau aspek biometrik lain.

Sedangkan, beberapa faktor autentikasi lain yang lebih jarang digunakan adalah:
  • Berbasis pengenalan (recognition) atau autentikasi cognometric, yaitu sesuatu yang dikenal oleh pengguna Contoh: Pengguna harus mengenali dari beberapa wajah yang dirahasiakan.
  • Berbasis cybermetric, yaitu sesuai yang ada pada komputer Contoh: Membatasi akses hanya dari komputer yang memiliki kombinasi unik hardware dan software tertentu.
  • Berbasis lokasi Contoh: Membatasi penggunaan ATM atau kartu kredit hanya pada cabang tertentu, membatasi login root hanya dari terminal tertentu.
  • Berbasis waktu Contoh: Membatasi penggunaan sebuah account hanya pada waktu tertentu, misalnya jam kerja.
  • Berbasis ukuran Contoh: Membatasi terjadinya transaksi hanya pada sejumlah tertentu saja.

OTORISASI

Otorisasi adalah fungsi menentukan hak akses ke sumber daya yang terkait dengan keamanan informasi dan keamanan komputer pada umumnya dan kontrol akses pada khususnya. Secara formal, "mengotorisasi" adalah untuk mendefinisikan kebijakan akses. Misalnya, staf sumber daya manusia biasanya diberi wewenang untuk mengakses catatan karyawan dan kebijakan ini biasanya diformalkan sebagai aturan kontrol akses dalam sistem komputer. Selama operasi, sistem ini menggunakan aturan kontrol akses untuk memutuskan apakah permintaan akses dari pengguna yang sudah diautentifikasi harus disetujui (diberikan) atau ditolak (ditolak) untuk menggunakan sumber daya. Sumber daya termasuk file individual atau data item, program komputer, perangkat komputer dan fungsionalitas yang disediakan oleh aplikasi komputer. Contoh pengguna adalah pengguna komputer, program komputer dan perangkat lain di komputer.

Akses kontrol dalam sistem komputer dan jaringan mengandalkan kebijakan akses. Proses kontrol akses dapat dibagi menjadi dua tahap berikut:

  1. Fase definisi kebijakan di mana akses berwenang, dan
  2. Fase penegakan kebijakan di mana permintaan akses tersebut disetujui atau ditolak.


Pada otorisasi, fungsi dari fase pendefinisi kebijakan sangat diperlukan sebelum fase penegakan kebijakan di mana permintaan akses disetujui atau ditolak berdasarkan otorisasi yang ditetapkan sebelumnya.

Sebagian besar sistem operasi modern, multi-user, memiliki kontrol akses yang digunakan untuk keperluan pada otorisasi. Kontrol akses juga menggunakan otentikasi untuk memferifikasi identitas konsumen. Ketika konsumen mencoba untuk mengakses sumber daya, proses kontrol akses memeriksa bahwa konsumen telah diizinkan untuk menggunakan sumber daya tersebut. Otorisasi tanggung jawab atas sebuah otoritas, seperti manajer departemen, dalam lingkup domain aplikasi, tetapi sering didelegasikan kepada kustodian seperti administrator sistem. Otorisasi dinyatakan sebagai kebijakan akses di beberapa jenis aplikasi, misalnya dalam bentuk daftar kontrol akses atau kemampuan (capability), atas dasar "prinsip paling istimewa": konsumen harus hanya diberi wewenang untuk mengakses apa saja yang mereka butuhkan untuk melakukan pekerjaan mereka. Sistem operasi versi awal dan ‘single user’ memiliki otentikasi dan kontrol akses sistem yang lemah atau tidak ada.

Konsumen “Anonymous" atau "tamu", adalah konsumen yang tidak memerlukan otentikasi. Mereka sering memiliki wewenang terbatas. Pada sistem terdistribusi, sering diinginkan untuk memberikan akses tanpa memerlukan identitas yang unik.

“Trusted” komsumen sering mendapat wewenang untuk akses tak terbatas ke sumber daya pada sistem, tetapi harus terautentifkasi sehingga sistem kontrol akses dapat membuat keputusan persetujuan akses. "Partially trusted" dan tamu akan memdapat otorisasi terbatas untuk melindungi sumber daya terhadap akses dan penggunaan yang tidak benar. Kebijakan akses di beberapa sistem operasi, secara default, memberikan semua konsumen akses penuh ke semua sumber daya. Sedangkan sistem operasi yang lainnya melakukan sebaliknya, bersikeras bahwa hanya administrator yang secara eksplisit memiliki kewenangan untuk menggunakan setiap sumber daya.

Bahkan ketika akses dikendalikan melalui kombinasi otentikasi dan daftar kontrol akses, masalah menjaga data otorisasi tidak sepele, dan sering mewakili sebanyak beban administrasi sebagai managing autentifikasi. Hal ini sering diperlukan untuk mengubah atau menghapus otorisasi pengguna: hal ini dilakukan dengan mengubah atau menghapus aturan akses yang sesuai pada sistem. Menggunakan otorisasi atom adalah sebuah alternatif untuk manajemen otorisasi per-sistem, di mana pihak ketiga yang terpercaya aman mendistribusikan informasi otorisasi

KEAMANAN SISTEM

Pendahuluan

Pertama-tama kita harus mengetahui perbedaan antara keamanan dan proteksi. Proteksi menyangkutmengenai faktor-faktor internal suatu sistem komputer. Sedangkan keamanan mempertimbangkan faktor-faktor eksternal (lingkungan) di luar sistem dan faktor proteksi terhadap sumber daya sistem.Melihat perbedaan ini, terlihat jelas bahwa keamanan mencakup hal yang lebih luas dibanding dengan proteksi.

Bagaimana suatu sistem dapat dikatakan aman? Suatu sistem baru dapat dikatakan aman apabila resource yang digunakan dan diakses sesuai dengan kehendak user dalam berbagai keadaan.Sayangnya, tidak ada satu sistem komputer pun yang memiliki sistem keamanan yang sempurna. Data atau informasi penting yang seharusnya tidak dapat diakses oleh orang lain mungkin dapat diakses, dibaca ataupun diubah oleh orang lain.

Oleh karena itu dibutuhkan suatu keamanan sistem untuk menanggulangi kemungkinan dimana informasi penting dapat diakses oleh orang lain. Diatas dijelaskan bahawa tidak ada satu sistem komputer yang memiliki sistem keamanan yang sempurna. Akan tetapi, setidaknya kita harusmempunyai suatu mekanisme yang membuat pelanggaran semacam itu jarang terjadi.

Pada kesempatan ini kita akan membahas hal-hal yang menyangkut mengenai suatu keamanan sistem, dengan mempelajarinya diharapkan akan membantu kita mengurangi pelanggaran-pelanggaran yang dapat terjadi.

Manusia dan Etika

Berbicara mengenai manusia dan etika, kita mengetahui bahwa di muka bumi ini terdapat bermacam-macam karakter orang yang berbeda-beda. Sebagian besar orang memiliki hati yang baik dan selalu mencoba untuk menaati peraturan. Akan tetapi, ada beberapa orang jahat yang ingin menyebabkan kekacauan. Dalam konteks keamanan, orang-orang yang membuat kekacauan di tempat yang tidak berhubungan dengan mereka disebut intruder. Ada dua macam intruder, yaitu:

  1. Passive intruder. Intruder yang hanya ingin membaca berkas yang tidak boleh mereka baca.
  2. Active intruder. Lebih berbahaya dari passive intruder. Mereka ingin membuat perubahan yang tidak diijinkan (unauthorized) pada data.


Ketika merancang sebuah sistem yang aman terhadap intruder, penting untuk mengetahui siste tersebut akan dilindungi dari intruder macam apa. Empat contoh kategori:

1. Keingintahuan seseorang tentang hal-hal pribadi orang lain. Banyak orang mempunyai PC yang terhubung ke suatu jaringan dan beberapa orang dalam jaringan tersebut akan dapat membaca e-mail dan file-file orang lain jika tidak ada 'penghalang' yang ditempatkan. Sebagai contoh, sebagian besar sistem UNIX mempunyai default bahwa semua file yang baru diciptakan dapat dibaca oleh orang lain.

2. Penyusupan oleh orang-orang dalam. Pelajar, programmer sistem, operator, dan teknisi menganggap bahwa mematahkan sistem keamanan komputer lokal adalah suatu tantangan. Mereka biasanya sangat ahli dan bersedia mengorbankan banyak waktu untuk usaha tersebut.

3. Keinginan untuk mendapatkan uang. Beberapa programmer bank mencoba mencuri uang dari bank tempat mereka bekerja dengan cara-cara seperti mengubah software untuk memotong bunga daripada membulatkannya, menyimpan uang kecil untuk mereka sendiri, menarik uang dari account yang sudah tidak digunakan selama bertahun-tahun, untuk memeras ("Bayar saya, atau saya akan menghancurkan semua record bank anda").

4. Espionase komersial atau militer. Espionase adalah usaha serius yang diberi dana besar oleh saingan atau negara lain untuk mencuri program, rahasia dagang, ide-ide paten, teknologi, rencana bisnis, dan sebagainya. Seringkali usaha ini melibatkan wiretaping atau antena yang diarahkan pada suatu komputer untuk menangkap radiasi elektromagnetisnya.

Perlindungan terhadap rahasia militer negara dari pencurian oleh negara lain sangat berbeda dengan perlindungan terhadap pelajar yang mencoba memasukkan message-of-the-day pada suatu sistem. Terlihat jelas bahwa jumlah usaha yang berhubungan dengan keamanan dan proteksi tergantung pada siapa "musuh"nya.

Kebijaksanaan Pengamanan

Kebijaksanaan pengamanan yang biasa digunakan yaitu yang bersifat sederhana dan umum. Dalam hal ini berarti tiap pengguna dalam sistem dapat mengerti dan mengikuti kebijaksanaan yang telah ditetapkan. Isi dari kebijaksanaan itu sendiri berupa tingkatan keamanan yang dapat melindungi data-data penting yang tersimpan dalam sistem. Data-data tersebut harus dilindungi dari tiap pengguna yang menggunakan sistem tersebut.

Beberapa hal yang perlu dipertimbangkan dalam menentukan kebijaksanaan pengamanan adalah: siapa sajakah yang memiliki akses ke sistem, siapa sajakah yang diizinkan untuk menginstall program ke dalam sistem, siapa sajakah memiliki data-data tertentu, perbaikan terhadap kerusakan yang mungkin terjadi, dan penggunaan yang wajar dari sistem.

Keamanan Fisik

Lapisan keamanan pertama yang harus diperhitungkan adalah keamanan secara fisik dalam sistem komputer. Keamanan fisik menyangkut tindakan mengamankan lokasi adanya sistem komputer terhadap intruder yang bersenjata atau yang mencoba menyusup ke dalam sistem komputer.

Pertanyaan yang harus dijawab dalam menjamin keamanan fisik antara lain:

  1. Siapa saja yang memiliki akses langsung ke dalam sistem?
  2. Apakah mereka memang berhak?
  3. Dapatkah sistem terlindung dari maksud dan tujuan mereka?
  4. Apakah hal tersebut perlu dilakukan?


Banyak keamanan fisik yang berada dalam sistem memiliki ketergantungan terhadap anggaran dan situasi yang dihadapi. Apabila pengguna adalah pengguna rumahan, maka kemungkinan keamanan fisik tidak banyak dibutuhkan. Akan tetapi, jika pengguna bekerja di laboratorium atau jaringan komputer, banyak yang harus dipikirkan.

Saat ini, banyak komputer pribadi memiliki kemampuan mengunci. Biasanya kunci ini berupa socket pada bagian depan casing yang bisa dimasukkan kunci untuk mengunci ataupun membukanya. Kunci casing dapat mencegah seseorang untuk mencuri dari komputer, membukanya secara langsung untuk memanipulasi ataupun mencuri perangkat keras yang ada.

Keamanan Perangkat Lunak

Contoh dari keamanan perangkat lunak yaitu BIOS. BIOS merupakan perangkat lunak tingkat rendah yang mengkonfigurasi atau memanipulasi perangkat keras tertentu. BIOS dapat digunakan untuk mencegah penyerang mereboot ulang mesin dan memanipulasi sistem LINUX.

Contoh dari keamanan BIOS dapat dilihat pada LINUX, dimana banyak PC BIOS mengizinkan untuk mengeset password boot. Namun, hal ini tidak banyak memberikan keamanan karena BIOS dapat direset, atau dihapus jika seseorang dapat masuk ke case. Namun, mungkin BIOS dapat sedikit berguna. Karena jika ada yang ingin menyerang sistem, untuk dapat masuk ke case dan mereset ataupun menghapus BIOS akan memerlukan waktu yang cukup lama dan akan meninggalkan bekas. Hal ini akan memperlambat tindakan seseorang yang mencoba menyerang sistem.

Keamanan Jaringan

Pada dasarnya, jaringan komputer adalah sumber daya (resources) yang dibagi dan dapat digunakan oleh banyak aplikasi dengan tujuan berbeda. Kadang-kadang, data yang ditransmisikan antara aplikasi- aplikasi merupakan rahasia, dan aplikasi tersebut tentu tidak mau sembarang orang membaca data tersebut.

Sebagai contoh, ketika membeli suatu produk melalui internet, pengguna (user) memasukkan nomor kartu kredit ke dalam jaringan. Hal ini berbahaya karena orang lain dapat dengan mudah menyadap dan membaca data tsb pada jaringan. Oleh karena itu, user biasanya ingin mengenkripsi (encrypt) pesan yang mereka kirim, dengan tujuan mencegah orang-orang yang tidak diizinkan membaca pesan tersebut.

Kriptografi

Dasar enkripsi cukup sederhana. Pengirim menjalankan fungsi enkripsi pada pesan plaintext, ciphertext yang dihasilkan kemudian dikirimkan lewat jaringan, dan penerima menjalankan fungsi dekripsi (decryption) untuk mendapatkan plaintext semula. Proses enkripsi/dekripsi tergantung pada kunci (key) rahasia yang hanya diketahui oleh pengirim dan penerima. Ketika kunci dan enkripsi ini digunakan, sulit bagi penyadap untuk mematahkan ciphertext, sehingga komunikasi data antara pengirim dan penerima aman.

Kriptografi macam ini dirancang untuk menjamin privacy: mencegah informasi menyebar luas tanpa ijin. Akan tetapi, privacy bukan satu-satunya layanan yang disediakan kriptografi. Kriptografi dapat juga digunakan untuk mendukung authentication (memverifikasi identitas user) dan integritas (memastikan bahwa pesan belum diubah).

Kriptografi digunakan untuk mencegah orang yang tidak berhak untuk memasuki komunikasi, sehingga kerahasiaan data dapat dilindungi. Secara garis besar, kriptografi digunakan untuk mengirim dan menerima pesan. Kriptografi pada dasarnya berpatokan pada key yang secara selektif telah disebar pada komputer-komputer yang berada dalam satu jaringan dan digunakan untuk memproses suatu pesan.

Operasional

Keamanan operasional (operations security) adalah tindakan apa pun yang menjadikan sistem beroperasi secara aman, terkendali, dan terlindung. Yang dimaksud dengan sistem adalah jaringan, komputer, lingkungan. Suatu sistem dinyatakan operasional apabila sistem telah dinyatakan berfungsi dan dapat dijalankan dengan durasi yang berkesinambungan, yaitu dari hari ke hari, 24 jam sehari, 7 hari seminggu.

Manajemen Administratif (Administrative Management) adalah penugasan individu untuk mengelola fungsi-fungsi keamanan sistem. Beberapa hal yang terkait:

  1. Pemisahan Tugas (Separation of Duties). Menugaskan hal-hal yang menyangkut keamanan kepada beberapa orang saja. Misalnya, yang berhak menginstall program ke dalam sistem komputer hanya admin, user tidak diberi hak tersebut.
  2. Hak Akses Minimum (Least Privilege). Setiap orang hanya diberikan hak akses minimum yang dibutuhkan dalam pelaksanaan tugas mereka.
  3. Keingin-tahuan (Need to Know). Yang dimaksud dengan need to know adalah pengetahuan akan informasi yang dibutuhkan dalam melakukan suatu pekerjaan.


Kategori utama dari kontrol keamanan operasional antara lain:

  1. Kendali Pencegahan (Preventative Control). Untuk mencegah error dan intruder memasuki sistem. Misal, kontrol pencegahan untuk mencegah virus memasuki sistem adalah dengan menginstall antivirus.
  2. Kontrol Pendeteksian (Detective Control). Untuk mendeteksi error yang memasuki sistem. Misal, mencari virus yang berhasil memasuki sistem.
  3. Kontrol Perbaikan (Corrective/Recovery Control). Membantu mengembalikan data yang hilang melalui prosedur recovery data. Misal, memperbaiki data yang terkena virus.


Kategori lainnya mencakup:

  1. Kendali Pencegahan (Deterrent Control). Untuk menganjurkan pemenuhan (compliance) dengan kontrol eksternal.
  2. Kendali Aplikasi (Application Control). Untuk memperkecil dan mendeteksi operasi-operasi perangkat lunak yang tidak biasa.
  3. Kendali Transaksi (Transaction Control). Untuk menyediakan kendali di berbagai tahap transaksi (dari inisiasi sampai keluaran, melalui kontrol testing dan kontrol perubahan).


BCP/DRP

Berdasarkan pengertian, BCP atau Business Continuity Plan adalah rencana bisnis yang berkesinambungan, sedangkan DRP atau Disaster Recovery Plan adalah rencana pemulihan dari kemungkinan kerusakan-kerusakan yang terjadi.

Aspek yang terkandung di dalam suatu rencana bisnis yang berkesinambungan yaitu rencana pemulihan dari kemungkinan kerusakan-kerusakan yang terjadi. Dengan kata lain, DRP terkandung di dalam BCP.

Rencana untuk pemulihan dari kerusakan, baik yang disebabkan oleh alam maupun manusia, tidak hanya berdampak pada kemampuan proses komputer suatu perusahaan, tetapi juga akan berdampak pada operasi bisnis perusahaan tersebut. Kerusakan-kerusakan tersebut dapat mematikan seluruh sistem operasi. Semakin lama operasi sebuah perusahaan mati, maka akan semakin sulit untuk membangun kembali bisnis dari perusahaan tersebut.

Konsep dasar pemulihan dari kemungkinan kerusakan-kerusakan yang terjadi yaitu harus dapat diterapkan pada semua perusahaan, baik perusahaan kecil maupun perusahaan besar. Hal ini tergantung dari ukuran atau jenis prosesnya, baik yang menggunakan proses manual, proses dengan menggunakan komputer, atau kombinasi dari keduanya.

Pada perusahaan kecil, biasanya proses perencanaannya kurang formal dan kurang lengkap. Sedangkan pada perusahaan besar, proses perencanaannya formal dan lengkap. Apabila rencana tersebut diikuti maka akan memberikan petunjuk yang dapat mengurangi kerusakan yang sedang atau yang akan terjadi.

Proses Audit

Audit dalam konteks teknologi informasi adalah memeriksa apakah sistem komputer berjalan semestinya. Tujuh langkah proses audit:

  1. Implementasikan sebuah strategi audit berbasis manajemen risiko serta control practice yang dapat disepakati semua pihak.
  2. Tetapkan langkah-langkah audit yang rinci.
  3. Gunakan fakta/bahan bukti yang cukup, handal, relevan, serta bermanfaat.
  4. Buatlah laporan beserta kesimpulannya berdasarkan fakta yang dikumpulkan.
  5. Telaah apakah tujuan audit tercapai.
  6. Sampaikan laporan kepada pihak yang berkepentingan.
  7. Pastikan bahwa organisasi mengimplementasikan managemen risiko serta control practice.


Sebelum menjalankan proses audit, tentu saja proses audit harus direncanakan terlebih dahulu. Audit planning (perencanaan audit) harus secara jelas menerangkan tujuan audit, kewenangan auditor, adanya persetujuan managemen tinggi, dan metode audit. Metodologi audit:

  1. Audit subject. Menentukan apa yang akan diaudit.
  2. Audit objective. Menentukan tujuan dari audit.
  3. Audit Scope. Menentukan sistem, fungsi, dan bagian dari organisasi yang secara spesifik/khusus akan diaudit.
  4. Preaudit Planning. Mengidentifikasi sumber daya dan SDM yang dibutuhkan, menentukan dokumen-dokumen apa yang diperlukan untuk menunjang audit, menentukan lokasi audit.
  5. Audit procedures dan steps for data gathering. Menentukan cara melakukan audit untuk memeriksa dan menguji kendali, menentukan siapa yang akan diwawancara.
  6. Evaluasi hasil pengujian dan pemeriksaan. Spesifik pada tiap organisasi.
  7. Prosedur komunikasi dengan pihak manajemen. Spesifik pada tiap organisasi.
  8. Audit Report Preparation. Enentukan bagaimana cara mereview hasil audit, yaitu evaluasi kesahihan dari dokumen-dokumen, prosedur, dan kebijakan dari organisasi yang diaudit.


Struktur dan isi laporan audit tidak baku, tapi umumnya terdiri atas:

  • Pendahuluan. Tujuan, ruang lingkup, lamanya audit, prosedur audit.
  • Kesimpulan umum dari auditor. -
  • Hasil audit. Apa yang ditemukan dalam audit, apakah prosedur dan kontrol layak atau tidak.


VIRUS DAN ANTI-VIRUS

Virus komputer merupakan program komputer yang dapat menggandakan atau menyalin dirinya sendiri dan menyebar dengan cara menyisipkan salinan dirinya ke dalam program atau dokumen lain. Virus komputer dapat dianalogikan dengan virus biologis yang menyebar dengan cara menyisipkan dirinya sendiri ke sel makhluk hidup. Virus komputer dapat merusak (misalnya dengan merusak data pada dokumen), membuat pengguna komputer merasa terganggu, maupun tidak menimbulkan efek sama sekali.

Cara kerja

Virus komputer umumnya dapat merusak perangkat lunak komputer dan tidak dapat secara langsung merusak perangkat keras komputer tetapi dapat mengakibatkan kerusakan dengan cara memuat program yang memaksa over process ke perangkat tertentu. Efek negatif virus komputer adalah memperbanyak dirinya sendiri, yang membuat sumber daya pada komputer (seperti penggunaan memori) menjadi berkurang secara signifikan. Hampir 95% virus komputer berbasis sistem operasi Windows. Sisanya menyerang Linux/GNU, Mac, FreeBSD, OS/2 IBM, dan Sun Operating System. Virus yang ganas akan merusak perangkat keras.

Jenis

Virus komputer adalah sebuah istilah umum untuk menggambarkan segala jenis serangan terhadap komputer. Dikategorikan dari cara kerjanya, virus komputer dapat dikelompokkan ke dalam kategori sebagai berikut:

  • Worm - Menduplikatkan dirinya sendiri pada harddisk. Ini membuat sumber daya komputer (Harddisk) menjadi penuh akan worm itu.
  • Trojan - Mengambil data pada komputer yang telah terinfeksi dan mengirimkannya pada pembuat trojan itu sendiri.
  • Backdoor - Hampir sama dengan trojan. Namun, Backdoor bisanya menyerupai file yang baik-baik saja. Misalnya game.
  • Spyware - Virus yang memantau komputer yang terinfeksi.
  • Rogue - merupakan program yang meniru program antivirus dan menampilkan aktivitas layaknya antivirus normal, dan memberikan peringatan-peringatan palsu tentang adanya virus. Tujuannya adalah agar pengguna membeli dan mengaktivasi program antivirus palsu itu dan mendatangkan uang bagi pembuat virus rogue tersebut. Juga rogue dapat membuka celah keamanan dalam komputer guna mendatangkan virus lain.
  • Rootkit - Virus yang bekerja menyerupai kerja sistem komputer yang biasa saja.
  • Polymorphic virus - Virus yang gemar beubah-ubah agar tidak dapat terdeteksi.
  • Metamorphic virus - Virus yang mengubah pengkodeannya sendiri agar lebih sulit dideteksi.
  • Virus ponsel - Virus yang berjalan di telepon seluler, dan dapat menimbulkan berbagai macam efek, mulai dari merusak telepon seluler, mencuri data-data di dalam telepon seluler, sampai membuat panggilan-panggilan diam-diam dan menghabiskan pulsa pengguna telepon seluler.


Cara mengatasi

Serangan virus dapat dicegah atau ditanggulangi dengan menggunakan antivirus. Jenis perangkat lunak ini dapat juga mendeteksi dan menghapus virus komputer. Virus komputer ini dapat dihapus dengan basis data (database/ Signature-based detection), heuristik, atau peringkat dari program itu sendiri (Quantum).

Daftar Pustaka

  1. Masyarakat Digital Gotong Royong (MDGR), Pengantar Sistem Operasi Komputer, 2006
  2. Bambang H, Sistem Operasi, Revisi Kelima, Penerbit Informatika, 2012


Memahami Manajemen File Dalam Sistem Operasi

Memahami Manajemen File Dalam Sistem Operasi - Dalam sistem operasi komputer kita mengenal sistem manajemen file. Sistem manajemen file ini perlu diterapkan agar dapat digunakan dalam sistem operasi komputer. Dalam penerapannya seringkali menimbulkan beberapa masalah, oleh karena itu masalah tersebut harus dapat diselesaikan oleh sistem operasi komputer. Penyelesaian tersebut memiliki beberapa cara yang masing-masing memiliki keunggulan dan kelemahan tersendiri.

Manajemen file dalam sistem operasi keluaran Microsoft Windows dapat dilakukan dengan memanfaatkan fungsi dan fasilitas yang ada pada program aplikasi file manager Windows Explorer. Aplikasi tersebut berfungsi untuk mengelola file dan folder, seperti menyalin file menjadi dua atau lebih salinan, menghapus atau memindahkan file atau folder ke tempat lain, seperti ke dalam disket atau folder lainnya. Penggunaan menu dan operasi-operasi file pada Windows Explorer ini relatif mudah digunakan dan sederhana. Umumnya, Windows Explorer dieksekusi lewat: Start Menu | Program | Accessories | Windows Explorer. Atau cara cepatnya dengan klik kanan pada Start Menu, kemudian pilih Explorer.

Pengertian Sistem Berkas, Metode Akses & Struktur Direktori_
image source: www.useapk.com
baca juga: Klasifikasi I/O dan Mekanisme I/O Pada Sistem Operasi

Pengertian Manajemen File / Berkas

File system atau manajemen file adalah metode dan struktur data yang digunakan sistem operasi untuk mengatur dan mengorganisir file pada disk atau partisi. File system juga dapat diartikan sebagai partisi atau disk yang digunakan untuk menyimpan file-file dalam cara tertentu. Cara memberi suatu file system ke dalam disk atau partisi dengan cara melakukan Format

Manfaat Manajemen File

Dapat mengurangi resiko kehilangan file yang dikarenakan: terhapus secara tidak disengaja, tertimpa file baru, tersimpan dimana saja, dan hal lain yang tidak kita inginkan.

Pada sebagian besar pemakai, system file merupakan bagian system operasi yang paling tampak. System file menyediakan pengaksesan dan penyimpanan file secara online terhadap data dan program. System file terisi dua bagian terpisah, yaitu kumpulan file yang masing-masing file menyimpan data dan / atau program serta struktur direktori yang mengorganisasikan dan menyediakan informasi mengenai file di system.

SASARAN DAN FUNGSI SISTEM MANAJEMEN FILE

Komputer dapat menyimpan file di beragam media penyimpanan seperti optical disk, magnetic tape dan magnetic disk. Agar computer dapat digunakan dengan nyaman maka computer harus menyediakan pandanga yang logic seragam dalam hal penyimpanan informasi atau data. Sistem informasi menyembunyikan property-properti fisik dari penyimpana fisik dengan mendefinisikan unit penyimpanan logic yang disebut file. File-file dipetakan ke perangkat fisik oleh system operasi. Perangkat fisik ini bersifat nonvolatile, sehingga isinya tetap bertahan setelah system computer dimatikan mengakhiri satu sesi layanan system computer.

File adalah koleksi yang diberi nama dari sebuah informasi yang direkam pada penyimpanan sekunder. File mempunyai sifat sebagai berikut :

a. Persistance
Informasi dapat bertahan meski proses yang membuatnya berakhir atau catu daya dihilangkan. Dengan property seperti ini maka file yang didapat dari hasil proses dapat dijaga dan digunakan pada masa yang akan dating.

b. Size
Setiap file memiliki ukuran, terkadang file mempunyai ukuran yang sangat besar sehingga memungkinkan membutuhkan tempat penyimpanan yang sangat besar pula.

c. Sharability
File dapat digunakan diberbagai proses yang mengakses informasi secara konkruen.

SASARAN SISTEM MANAJEMEN FILE

Pengolahan file adalah kumpulan perangkat lunak system yang menyediakan layanan-layanan berhubungan dengan penggunaan file ke pemakai dan atau aplikasi. Satu-satunya cara pemakai atau aplikasi mengakses file adalah lewat system file. Pemakai atau pemrogram tidak perlu mengembangkan perangkat lunak khusus untuk mengakses data dimasing-masing aplikasi. Sistem telah menyediakan pengendali terhadap asset penting itu.

Memenuhi manajemen data bagi pemakai, kebutuhan manajemen data bagi pemakai untuk memberikan kemampuan melakukan operasi-operasi sebagai berikut :
  • Menampilkan seluruh record data (Retrieve all)
  • Menampilkan satu record data tertentu (retrieve one)
  • Menampilkan satu record data berikutnya (retrieve next)
  • Menampilkan satu record data sebelumnya (retrieve previous)
  • Menyisispkan satu record data (insert one)
  • Menghapus satu record data tertentu (delete one)
  • Memperbaharui satu data tertentu (update one)
  • Memperbaharui beberapa record tertentu dalam suatu criteria (update few)

Optimasi kerja, yaitu : menurut system yaitu meningkatkan jumlah throughput keseluruhan. Menurut pemakai yaitu cepatnya waktu tanggap.

FUNGSI MANAJEMEN FILE

Beberapa fungsi yang diharapkan dari pengelolaan manajemen file :

1. Penciptaan, modifikasi dan penghapusan file

2. Mekanisme pemakaian file secara bersama menyediakan beragam tipe pengaksesan terkendali seperti :
  • Read access (kendali terhadap akses membaca)
  • Write access (kendali terhadap akses modifikasi)
  • Execute access (kendali terhadap akses menjalankan program)
  • Dan beragam kombinasi lain

3. Kemampuan back up dan pemulihan (recovery) untuk mencegah kehilangan karena kecelakaan atau dari upaya penghancuran informasi.

4. Pemakai dapat mengacu file dengan nama simbolik (symbolic name) bukan menggunakan penamaan yang mengacu perangkat fisik

5. Pada lingkungan sensitive dikehendaki informasi tersimpan aman dan rahasia. Lingkungan seperti : electronic fund transfer system, criminal record system, medical record system, dsb

System file menyediakan enkripsi data (merubah data menjadi symbol tertentu) dan dekripsi (pembukaan file bersandi rahasia) untuk menjaga agar data hanya dapat digunakan oleh pemakai yang diotorisasi saja.

6. System file harus menyediakan antarmuka (interface) yang bersifat user-frendly

System file harus menyediakan : pandangan secara logic (logical view) bukan pandangan secara fisik (physical view) terhadap data, fungsi dapat dilakukan terhadap data.

ARSITEKTUR PENGOLAHAN FILE

Pengolahan file biasanya terdiri dari :
  1. System akses :barkaitan dengan nagaimana cara data yang disimpan pada file akses
  2. Manajemen File : berkaitan dengan penyediaan mekanisme operasi pada file
  3. Manajemen Ruang penyimpanan : berkaitan dengan alokasi tempat penyimpanan file diperangkat penyimpanan
  4. Mekanisme integritas file : berkaitan dengan jaminan informasi pada file tidak terkorupsi

Program dapat mengakses file pada umumnya melalui system basis data (DBMS) atau fasilitas yang disediakan Sistem Operasi. Umumnya Sistem Operasi menyediakan manajemen file, manajemen penyimpanan file dan mekanisme integrasi. DBMS umumnya memuat bagian database engine, diataranya berisi mekanisme integrasi dan system akses.

DBMS menggunakan fasilitas yang disediakan system operasi untuk memberikan layanan-layanannya. Mekanisme integrasi merupakan masalah yang dilakukan ditingkat system operasi maupun di DBMS. Hanya system operasi tertentu, yaitu siste operasi yang dikhususkan untuk basisdata yang secara langsung menyatukan system akses di system operasi. Hal ini dilakukan untuk memperoleh kinerja yang lebih bagus. Sebagian besar system operasi hanya menyediakan pengelolaan file yang akan digunakan perangkat lunak aplikasi diatasnya

Pengolahan file melibatkan banyak subsistem penting di system computer, yaitu :

1. Manajemen perangkat masukan/keluaran di system operasi
Device driver, merupakan lapisan terbawah. Device driver berkomunikasi dengan perangkat secara langsung. Device driver bertanggung jawab memulai operasi masukan/keluaran dan mengolah penyelesaian permintaan masukan/keluaran. Pada operasi file perangkat yang sering digunakan adalah disk dan tape. Device driver merupakan bagian dari manajemen masukan/keluaran.

2. System file di system operasi
System file dasar,atau tingkat masukan/keluaran fisik merupakan antarmuka utama dengan perangkat keras. Lapisan ini berhubungan dengan blok-blok data yang dipertukarkan antara system dengan disk dan tape. Lapisan ini berfungsi dalam penempatan blok-blok datadiperangkat penyimpanan sekunder dan buffering blok-blok data itu di memori utama. Lapisan ini tidak berhubungan dengan isi data auat struktur file.

Abstraksi file dan direktori, system file memberikan abstraksi ke pemakai berupa file dan direktori. Pemakai maupun proses tidak perlu lagi berhubungan dengan blok-blok data melainkan beroperasi terhada abstraksi file dan/atau direktori.

Operasi-operasi terhadap file dan direktori, kumpulan system call dan/atau pustaka untuk manipulasi file dan direktori.

3. System akses dan/atau system manajemen basis data
System Akses atau metode akses merupakan lapisan terakhir. Metode ini menyediakan antarmuka standar antara aplikasi dengan system file secara perangkat yang menyimpan data. Metode pengaksesan yang berbeda merefleksikan struktur file berbeda dan cara-cara pengaksesan dan pengolahan yang berbeda.

Metode pengaksesan yang paling dikenal adalah :
  1. File pile (pile file)
  2. File sekuen (sequential file)
  3. File sekuen berindeks (indexed-sequenstial file)
  4. File berindek majemuk (multiple-indexed file)
  5. File ber-hash (hashed file)
  6. File multiring (multiring file)

SISTEM FILE DAN STRUKTUR DIREKTORI

Konsep terpenting dalam system operasi adalah file dan direktori. Pemakai memanipulasi data dengan merujuknya sebagai file atau direktori. Pemakai tidak dibebani dengan masalah penyimpanan, manipulsi perangkat dan sebagainya.

1. File : abstraksi penyimpanan dan pengambilan informasi didisk. Abstraksi ini membuat pemakai tidak dibebani cara dan letak penyimpana informasi, serta mekanisme kerja penyimpanan data.

Terdapat beragam pandangan mengenai file :

a. Pandangan pemakai
Terhadap file, pemakai berkepentingan memahami hal-hal berikut :

- penamaan file
pemakai mengacu file dengan nama simbolik. Masing-masing file pada system harus mempunyai nama yang unik agar tidak ambigu. Penamaan file mutlak dengan menyertakan nama direktori tempat file, sebagai nama awal harus memberikan nama yang unik untuk semua file di system. Tidak boleh memberikan nama file yang sama dalam satu direktori.

Penamaan file berbeda sesuai direktori. Terdapat aturan dalam penamaan file :
  • system yang case-sensitive, yang membedakan antara huruf kecil dan besar. Ex: LINUX/UNIX
  • system case-sensitive tetapi tidak membedakan antara huruf besar dan kecil. Ex : DOS

“sekarang penamaan file cenderung menggunakan nama yang panjang karena lebih deskriptif”

- tipe file
terdapat tiga tipe file pada system operasi :
  1. Regular: file regular beridi informasi, terdiri dari file ASCII dan biner. File ASCII berisi baris teks, sedangkan file biner adalah file bukan file ASCII. Untuk file biner eksekusi (exe) mempunyai struktur internal (layout) yang hanya diketahui system operasi tertentu. Untuk file biner hasil program apliksi, struktur internal hanya diketahui program aplikasi tersebut.
  2. Direktori: file direktori merupakan file yang dimikili system untuk mengelola struktur system file. File direktori merupakan file berisi informasi mengenai file didirektori.
  3. Special: merupakan logic perangkat masukan/keluaran. Perangkat masukan/keluaran dapat dipandang sebagai file. Pengguna dihindarkan dari kerumitan operasi perangkat maukan/keluaran.

File special terbagi menjadi dua, yaitu :
  • File special karakter : berhubungan dengan perangkat masukan/keluaran aliran karakter. File ini memodelkan perangkat masukan/keluaran seperti : terminal, printer, port jaringan, modem, dan perangkat bukan penyimpanan skunder.
  • File special blok : berhubungan dengan perangkat masukan/keluaran sebagai kumpulan blok-blok data.

- atribut file
informasi tambahan mengenai file untuk memperjelas dan membatasi operasi-operasi yang dapat diterapkan. Atribut digunakan untuk pengelolaan file. Contoh atribut-atribut pada file: protection, password, creator, owner, read-olny flag dll.

- perintah-perintah untuk manipulsi file.
Merupakan perintah yang dapat diberikan pemakai dibaris perintah ke shell (command interpreter). Perintah tersebut dapat dikategorikan menjadi :
  • Menciptakan file
  • Menghapus file
  • Mengcopi file
  • Merubah nama file
  • Dan manipulasi yang lain.

- Operasi pada file.
Operasi-operasi pada file yang sering diimplementasikan system operasi: create, delete, open, close, read, write, append, seek, get attributes, set attributes, rename.

b. Pandangan pemrogram
Pemrogram perlu memahami operasi-operasi terhadap file

c. Pandangan perancang system
Implementasi pengelolaan file

2. Direktori: berisi informasi mengenai file. Kebanyakan informasi berkaitan dengan penyimpanan. Direktori adalah file, namun dimikili system operasi dan dapat diakses dengan rutin di system operasi.

Meski beberapa informasi direktori tersedia bagi pemakai atau aplikasi, informasi itu umumnya disediakan secara tidak langsung. Pemakai tidak dapat mengakses direktori secara langsung meski dalam mode read only.

Pandangan Pemakai : direktori menyediakan pemetaan nama file ke file. Informasi terpenting pada direktori berkaitan dengan penyimpanan termasuk lokasi dan ukuran penyimpanan file. Pada system bersama (shared system ), informasi yang penting adalah informasi pengendalian akses file. Satu pemakai adalah pemilik file yang dapat member wewenang pengaksesan ke pemakai-pemakai lain.

Aturan penamaan direktori mengikuti aturan penamaan file karena direktori merupakan file khusus. Beberapa konsep penting yang dipahami oleh pemakai :

• Hirarki direktori
Kebanyakan system menggunakan hirarki direktori atau berstruktur pohon. Terdapat satu direktori master (root) yang didalamnya terdapat subdirektori-subdirektori. Subdirektori dapat memuat subditerktori berikutnya, demikian seterusnya. Penamaan direktori sama aturannya dengan penamaan file, karena direktori merupakan file yang memiliki arti khusus.

• Jalur pengaksesan (path name)
Apabila system file diorganisasikan dengan pohon direktori, maka diperlukan cara menspesifikasikan nama file. Masalah penamaan file diselesaikan dengan penamaan absolute dan penamaan file relative. Terdapat dua jalur, yaitu :
  • Nama jalur absolute (absolute pathname) : nama jalur dari direktori root ke file, dimulai dari direktori root dan akan bernilai unik.
  • Nama jalur relative (relative pathname): jalur relative terhadap direktori kerja/saat itu (working directory atau current directory). Pemakai dapat menyatakan satu direktori sebagai current directory. Nama jalur tidak dimulai direktori root berarti relative current directory.

• Perintah-perintah manipulasi direktori
  1. Pindah direktori
  2. Penciptaan direktori
  3. Penghapusan direktori
  4. Penghapusan direktori mensyaratkan : direktori tidak sedang digunakan dan direktori telah kosong.

• Operasi pada direktori
Beragan operasi dapat diterapkan pada direktori, seperti pada file. Operasi-operasi yang khusus pada direktori yang dapat diimplementasikan system operasi sbb : create, delete, open directory, close directory, read directory, rename, link dan unlink.

3. Manipulasi seluruh system file

Terdapat perintah-perintah manipulsi system file :
  • Pembentukan system file
  • Pemeriksaan system file
  • Pengkopian seluruh system file
  • Manipulsi lain

SHARED FILE

Adalah file yang tidak hanya diacu oleh satu direktori (pemakai) tetapi juga oleh direktori-direktori yang lain. System file tidak lagi berupa pohon melainkan directory acyclic graph (DAG). Masalah-masalah di shared file :
  1. Metode implementasi shared file 
  2. Metode pemberian kases pada shared file 
  3. Metode pengendalian atau penanganan terhadap pengaksesan simultan yang dilakukan pemakai-pemakai yang mengacu file, mencakup integrasi atau koherensi data.

METODE AKSES SISTEM FILE

System akses merupakan pilihan, yaitu :
  1. Dapat menjadi bagian system operasi, atau 
  2. System operasi sama sekali tidak memiliki komponen system berkas.

System operasi bertujuan umum (general-purposes operating system) tidak mengimplementasikan system akses sebagai komponen system operasi, terserah system memanajemen basisdata yang dijalankan di system operasi itu yang menangani system akses. System operasi hanya memberikan pengelolaan system file dasar.

System operasi tertentu sering mengimplementasikan system akses sebagai bagiannya seperti system operasi mainframe untuk tujuan khusus. Implementasi system akses ditingkat system operasi untuk meningkatkan kinerja system menejemen basisdata.

Cara akses perangkat penyimpanan

Perangkat penyimpanan berdasar disiplin pengaksesan dibagi dua, yaitu :

• Perangkat akses sekuen (sequential access devices)
Proses harus membaca semua byte atau record file secara berurutan mulai dari awal, tidak dapat meloncati dan membaca diluar urutan. Ex : tape

• Peragkat akses acak (random access devices)
Dimungkinkan dapat membaca byte atau record di file secara tidak berurutan.

Organisasi file

Element pokok perancangan system akses adalah cara record-record diorganisasikan atau distrukturkan.

Beberapa criteria umum untuk pemilihan organisasi file adalah:
  • Redudansi yang kecil 
  • Pengaksesan yang cepat
  • Kemudahan dalam memperbaharui 
  • Pemeliharaan yang sederhana 
  • Kehandalan yang tinggi 

Terdapat enam organisasi dasar, kebanyakan organisasi file system termasuk salah satu atau kombinasi kategori-kategori ini. Enam organisasi pengaksesan file secara dasar adalah sebagai berikut :
  1. File pile (pile file) 
  2. File sekuen (sequential file)
  3. File sekuen berindeks (indexed-sequenstial file) 
  4. File berindek majemuk (multiple-indexed file) 
  5. File ber-hash (hashed file) 
  6. File cincin (multiring file)

Daftar Pustaka
  1. Masyarakat Digital Gotong Royong (MDGR), Pengantar Sistem Operasi Komputer, 2006 
  2. Bambang H, Sistem Operasi, Revisi Kelima, Penerbit Informatika, 2012

Klasifikasi I/O dan Mekanisme I/O Pada Sistem Operasi

Klasifikasi I/O dan  Mekanisme I/O Pada Sistem Operasi - Pengolahan Perangkat Input/Output (I/O) merupakan aspek perancangan sistem operasi yang terluas karena beragamnya peralatan dan begitu banyaknya aplikasi dari peralatan-peralatan itu.

Manajemen I/O mempunyai fungsi, di antaranya:
  • Mengirim perintah ke perangkat I/O agar menyediakan layanan.
  • Menangani interupsi peralatan I/O
  • Menangani kesalahan pada peralatan I/O
  • Memberi interface ke pemakai.

Berdasarkan sasaran komunikasi, klasifikasi perangkat I/O atau divice dibagi menjadi beberapa tipe. Tipe-tipe device secara umum dibagi menjadi device penyimpanan (disk, tape), transmission device (peralatan yang cocok untuk komunikasi dengan peralatan-peralatan jarak jauh seperti modem) dan human-interface device (Peralatan yang terbaca oleh manusia seperti keyboard, mouse). Device- device tersebut dikontrol oleh instruksi I/O. Alamat-alamat yang dimiliki oleh device akan digunakan oleh direct I/O instruction dan memory-mapped I/O .

Klasifikasi lain yang dapat dilakukan terhadap peralatan I/O adalah berdasarkan unit transfer yang dilakukan perangkat I/O, yaitu sbb:

  • Perangkat berorientasi blok (block-oriented devices) Peralatan mentransfer dari dan ke peralatan dengan satuan transfer adalah satu blok (sekumpulan karakter) yant telah ditentukan.
  • Perangkat berorientasi aliran karakter (character-oriented devices) Peralatan mentransfer dari dan ke peralatan berupa aliran karakter.


Klasifikasi I/O dan  Mekanisme I/O Pada Sistem Operasi_
image source: www.google.com
baca juga: Penerapan Manajemen Memori Pada Sistem Operasi

Teknik Pengoperasian Perangkat I/O

Teknik Pengoperasian Perangkat I/O meliputi:

1. Perangkat I/O terprogram (programmed I/O)

Merupakan perangkat I/O komputer yang dikontrol oleh program. Contohnya, perintah mesin in, out, move. Perangkat I/O terprogram tidak sesuai, untuk pengalihan data dengan kecepatan tinggi karena dua alasan yaitu:

  • Memerlukan overhead (ongkos) yang tinggi, karena beberapa perintah program harus dieksekusi untuk setiap kata data yang dialihkan antara peralatan eksternal dengan memori utama.
  • Banyak peralatan periferal kecepatan tinggi memiliki mode operasi sinkron, yaitu pengalihan data dikontrol oleh clock frekuensi tetap, tidak tergantung CPU.


2. Perangkat berkendalikan interupsi (Interrupt I/O)

Interupsi lebih dari sebuah mekanisme sederhana untuk mengkoordinasi pengalihan I/O. Konsep interupsi berguna di dalam sistem operasi dan pada banyak aplikasi kontrol di mana pemrosesan rutin tertentu harus diatur dengan seksama,

a.Mekanisme Dasar Interupsi
Ketika CPU mendeteksi bahwa sebuah controller telah mengirimkan sebuah sinyal ke interrupt request line (membangkitkan sebuah interupsi), CPU kemudian menjawab interupsi tersebut (juga disebut menangkap interupsi)dengan menyimpan beberapa informasi mengenai state terkini CPU --contohnya nilai instruksi pointer, dan memanggil interrupt handler agar handler tersebut dapat melayani controller atau alat yang mengirim interupsi tersebut.

b. Fitur Tambahan pada Komputer Modern
Pada arsitektur komputer modern, 3 fitur disediakan oleh CPU dan interrupt controller (pada perangkat keras) untuk dapat menangani interrupsi dengan lebih bagus. Fitur-fitur ini antara lain adalah kemampuan menghambat sebuah proses interrupt handling selama prosesi berada dalam critical state, efisiensi penanganan interupsi sehingga tidak perlu dilakukan polling untuk mencari device yang mengirimkan interupsi, dan fitur yang ketiga adalah adanya sebuah konsep multilevel interupsi sedemikian rupa sehingga terdapat prioritas dalam penanganan interupsi (diimplementasikan dengan interrupt priority level system) .

c. Interrupt Request Line
Pada peranti keras CPU terdapat kabel yang disebut interrupt request line , kebanyakan CPU memiliki dua macam interrupt request line , yaitu nonmaskable interrupt dan maskable interrupt. Maskable interrupt dapat dimatikan / dihentikan oleh CPU sebelum pengeksekusian deretan critical instruction (critical instruction sequence) yang tidak boleh diinterupsi. Biasanya, interrupt jenis ini digunakan oleh device controller untuk meminta pelayanan CPU.

d. Interrupt Vector dan Interrupt Chaining
Sebuah mekanisme interupsi akan menerima alamat interrupt handling routine yang spesifik dari sebuah set, pada kebanyakan arsitektur komputer yang ada sekarang ini, alamat ini biasanya berupa sekumpulan bilangan yang menyatakan offset pada sebuah tabel (biasa disebut interrupt vector ).Tabel ini menyimpan alamat- alamat interrupt handler spesifik di dalam memori. Keuntu ngan dari pemakaian vektor adalah untuk mengura ngi kebutuhan akan sebuah interrupt handler yang harus men cari semua kemungkinan sumber interupsi untuk menemukan pengirim interupsi.

Akan tetapi, interrupt vector memiliki hambatan karena pada kenyataannya, komputer yang ada memiliki device (dan interrupt handler ) yang lebih banyak dibandingkan dengan jumlah alamat pada interrupt vector. Karena itulah, digunakanlah teknik interrupt chaining dimana setiap elemen dari interrupt vector menunjuk / merujuk pada elemen pertama dari sebuah daftar interrupt handler. Dengan teknik ini, overhead yang dihasilkan oleh besarnya ukuran tabel dan inefisiensi dari penggunaan sebuah interrupt handler (fitur pada CPU yang telah disebutkan sebelumnya) dapat dikurangi, sehingga keduanya menjadi kurang lebih seimbang.

e. Penyebab Interupsi
Interupsi dapat disebabkan berbagai hal, antara lain exception,page fault , interupsi yang diki- rimkan oleh device controllers , dan system call .Exception adalah suatu kondisi dimana terjadi sesuatu / dari sebuah operasi didapat hasil tertentu yang dianggap khusus sehingga harus mendapat perhatian lebih, contoh nya pembagian dengan 0 (nol), pengaksesan alamat memori yang restricted atau bahkan tidak valid, dan lain-lain. System call adalah sebuah fungsi pada aplikasi (perangkat lunak) yang dapat mengeksekusikan instruksi khusus berupa software interrupt atau trap.

3. DMA (Direct Memory Address)

Merupakan suatu pendekatan alternatif yang digunakan sebagai unit pengaturan khusus yang disediakan untuk memungkinkan pengalihan blok data secara langsung antara peralatan eksternal dan memori utama tanpa intervensi terus menerus oleh CPU.

a. Transfer DMA
Untuk memulai sebuah transfer DMA, host akan menuliskan sebuah DMA command block yang berisi pointer yang menunjuk ke sumber transfer, pointer yang menunjuk ke tujuan / destinasi transfer, dan jumlah byte yang ditransfer, ke memori. CPU kemudian menuliskan alamat command block ini ke DMA controller, sehingga DMAcontroller dapat kemudian mengoperasikan bus memori secara langsung dengan menempatkan alamat-alamat pada bus tersebut untuk melakukan trans fer tanpa bantuan CPU.

Tiga Langkah Dalam Transfer DMA :

  1. Prosesor menyiapkan DMA transfer dengan menyedia kan data-data dari device , operasi yang akan ditampilkan, alamat memori yang menjadi sumber dan tujuan data, dan banyaknya byte yang di transfer.
  2. DMA controller memulai operasi (menyiapkan bus, menyediakan alamat, menulis dan membaca data), sampai seluruh blok sudah di transfer.
  3. DMA controller meng-interupsi prosesor, dimana selanjutnya akan ditentukan tindakan berikutnya.


Pada dasarnya, DMA mempunyai dua metode yang berbeda dalam mentransfer data. Metode yang pertama adalah metode yang sangat baku dan simple disebut HALT, atau Burst Mode DMA, karena DMA controllermemegang kontrol dari sistem bus dan men-transfer semua blok data ke atau dari memori pada single burst . Selagi transfer masih dalam progres, sistem mikroprosessor di-set idle, tidak melakukan instruksi operasi untuk menjaga internal register. Tipe operasi DMA seperti ini ada pada kebanyakan komputer.

Metode yang kedua, mengikutsertakan DMA controlleruntuk memegang kontrol dari sistem bus untuk jangka waktu yang lebih pendek pada periode dimana mikroprosessor sibuk dengan operasi internal dan tidak membutuhkan akses ke sistem bus. Metode DMA ini disebut cycle stealing mode .Cycle stealing DMA lebih kompleks untuk diimplementasikan dibandingkan HALT DMA, karena DMA controller harus mempunyai kepintaran untuk merasakan waktu pada saat sistem bus terbuka.

b. Handshaking
Proses handshaking antara DMA controller dandevice controller dilakukan melalui sepasang kabel yang disebut DMA-request dan DMA- acknowledge. Device controller mengirimkan sinyal melalui DMA- request ketika akan mentransfer data sebanyak satu word . Hal ini kemudian akan mengakibatkan DMA controller memasukkan alamat- alamat yang dinginkan ke kabel alamat memori, dan mengirimkan sinyal melalui kabel DMA- acknowledge. Setelah sinyal melalui kabel DMA- acknowledgediterima, device controller mengirimkan data yang dimaksud dan mematikan sinyal pada DMA-request .

Hal ini berlangsung berulang-ulang sehingga disebuthandshaking . Pada saat DMA controller mengambil alih memori, CPU sementara tidak dapat mengakses memori (dihalangi), walaupun masih dapat mengaksees data pada cache primer dan sekunder. Hal ini disebut cycle stealing, yang walaupun memperlambat komputasi CPU, tidak menurunkan kinerja karena memindahkan pekerjaan data transfer ke DMA controller meningkatkan performa sistem secara keseluruhan.

c. Cara-cara Implementasi DMA
Dalam pelaksanaannya, beberapa komputer menggunakan memori fisik untuk proses DMA , sedangkan jenis komputer lain menggunakan alamat virtual dengan melalui tahap "penerjemahan" dari alamat memori virtual menjadi alamat memori fisik, hal ini disebut direct virtual-memory address atau DVMA. Keuntungan dari DVMA adalah dapat mendukung transfer antara dua memory mapped device tanpa intervensi CPU.

Penanganan Permintaan I/O

Sistem Operasi yang modern mendapatkan fleksibilitas yang signifikan dari tahapan-tahapan tabel lookup di jalur diantara permintaan dan physical device controller. Kita dapat mengenalkan devicedan driver baru ke komputer tanpa harus meng-compile ulang kernelnya. Sebagai fakta, ada beberapa sistem operasi yang mampu untuk me-load device drivers yang diinginkan. Pada waktu boot, sistem mula-mula meminta bus piranti keras untuk menentukan device apa yang ada, kemudian sistem me-load ke dalam driver yang sesuai; baik sesegera mungkin, maupun ketika diperlukan oleh sebuah permintaan I/O.

Sistem V UNIX mempunyai mekanisme yang menarik, yang disebut streams, yang membolehkan aplikasi untuk men-assemble pipeline dari kode driver secara dinamis. Sebuah stream adalah sebuah koneksi full duplex antara sebuah device driver dan sebuah proses user-level. Stream terdiri atas sebuah stream head yang merupakan antarmuka dengan user process, sebuah driver end yang mengontrol device, dan nol atau lebih stream modules diantara mereka. Modules dapat didorong ke stream untuk menambah fungsionalitas di sebuah layered fashion. Sebagai gambaran sederhana, sebuah proses dapat membuka sebuah alat port serial melalui sebuah stream, dan dapat mendorong ke sebuah modul untuk memegang edit input. Stream dapat digunakan untuk interproses dan komunikasi jaringan. Faktanya, di Sistem V, mekanisme soket diimplementasikan dengan stream.

Berikut dideskripsikan sebuah lifecycle yang tipikal dari sebuah permintaan pembacaan blok :

  1. Sebuah proses mengeluarkan sebuah blocking read system call ke sebuah file deskriptor dari berkas yang telah dibuka sebelumnya.
  2. Kode system-call di kernel mengecek parameter untuk kebenaran. Dalam kasus input, jika data telah siap di buffer cache, data akan dikembalikan ke proses dan permintaan I/O diselesaikan.
  3. Jika data tidak berada dalam buffer cache , sebuah physical I/O akan bekerja, sehingga proses akan dikeluarkan dari antrian jalan (run queue) dan diletakkan di antrian tunggu (wait queue) untuk alat, dan permintaan I/O pun dijadwalkan. Pada akhirnya, subsistem I/O mengirimkan permintaan ke device driver. Bergantung pada sistem operasi, permintaan dikirimkan melalui call subrutin atau melalui pesan in-kernel.
  4. Device driver mengalokasikan ruang buffer pada kernel untuk menerima data, dan menjadwalkan I/O. Pada akhirnya, driver mengirim perintah ke device controller dengan menulis ke register device control.
  5. Device controller mengoperasikan piranti keras device untuk melakukan transfer data.
  6. Driver dapat menerima status dan data, atau dapat menyiapkan transfer DMA ke memori kernel. Kita mengasumsikan bahwa transfer diatur oleh sebuah DMA controller, yang meggunakan interupsi ketika trans- fer selesai.
  7. Interrupt handler yang sesuai mene- rima interupsi melalui tabel vektor-interupsi, menyimpan sejumlah data yang dibutuhkan, menandai device driver , dan kembali dari interupsi.
  8. Device driver menerima tanda, menganalisa permintaan I/O mana yang telah diselesaikan, menganalisa status permintaan, dan menandai subsistem I/O kernel yang permintaannya telah terselesaikan.
  9. Kernel mentransfer data atau mengembalikan kode ke ruang alamat dari proses permintaan, dan memindahkan proses dari antrian tunggu kembali ke antrian siap.
  10. Proses tidak diblok ketika dipindahkan ke antrian siap. Ketika penjadwal (scheduler) mengembalikan proses ke CPU, proses meneruskan eksekusi pada penyelesaian dari system call.


Struktur Disk

Disk menyediakan penyimpanan sekunder bagi sistem komputer modern. Magnetic tape sebelumnya digunakan sebagai media penyimpanan sekunder, tetapi waktu aksesnya lebih lambat dari disk. Oleh karena itu, sekarang tape digunakan terutama untuk backup ,untuk penyimpanan informasi yang tidak sering, sebagai media untuk mentransfer infromasi dari satu sistem ke sistem yang lain, dan untuk menyimpan sejumlah data yang terlalu besar untuk sistem disk.

Disk drive modern dialamatkan sebagai suatu array satu dimensi yang besar dari blok lojik, dimana blok lojik merupakan unit terkecil dari transfer. Ukuran dari blok lojik biasanya adalah 512 bytes , walaupun sejumlah disk dapat diformat di level rendah (low level formatted) untuk memilih sebuah ukuran blok lojik yang berbeda, misalnya 1024 bytes.

Array satu dimensi dari blok lojik dipetakan ke bagian dari disk secara sekuensial. Sektor 0 adalah sektor pertama dari trek pertama di silinder paling luar (outermost cylinder ). Pemetaan kemudian memproses secara berurutan trek tersebut, kemudian melalui trek selanjutnya di silinder tersebut, dan kemudian sisa silinder dari yang paling luar sampai yang paling dalam.

Dengan menggunakan pemetaan, kita dapat -minimal dalam teori- mengubah sebuah nomor blok logikal ke sebuah alamat disk yang bergaya lama (old-style disk address) yang terdiri atas sebuah nomor silinder, sebuah nomor trek di silinder tersebut, dan sebuah nomor sektor di trek tersebut. Dalam prakteknya, adalah sulit untuk melakukan translasi ini, dengan 2 alasan. Pertama, kebanyakan disk memiliki sejumlah sektor yang rusak, tetapi pemetaan menyembunyikan hal ini dengan mensubstitusikan dengan sektor yang dibutuhkan dari mana-mana di dalam disk. Kedua, jumlah dari sektor per trek tidaklah konstan. Semakin jauh sebuah trek dari tengah disk, semakin besar panjangnya, dan juga semakin banyak sektor yang dipunyainya. Oleh karena itu,disk modern diatur menjadi zona-zona silinder. Nomor sektor per trek adalah konstan dalam sebuah zona. Tetapi seiring kita berpindah dari zona dalam ke zona luar, nomor sektor per trek bertambah. Trek di zona paling luar tipikalnya mempunyai 40 persen sektor lebih banyak daripada trek di zona paling dalam.

Nomor sektor per trek telah meningkat seiring dengan peningkatan teknologi disk, dan adalah lazim untuk mempunyai lebih dari 100 sektor per trek di zona yang lebih luar dari disk. Dengan analogi yang sama, nomor silinder per disk telah meningkat, dan sejumlah ribuan silinder adalah tak biasa.

Penjadwalan Disk

Salah satu tanggung jawab sistem operasi adalah menggunakan hardware dengan efisien. Khusus untuk disk drives, efisiensi yang dimaksudkan di sini adalah dalam hal waktu akses yang cepat dan aspek bandwidth disk. Waktu akses memiliki dua komponen utama yaitu waktu pencarian dan waktu rotasi disk. Waktu pencarian adalah waktu yang dibutuhkan disk arm untuk menggerakkan head ke bagian silinder disk yang mengandung sektor yang diinginkan. Waktu rotasi disk adalah waktu tambahan yang dibutuhkan untuk menunggu rotasi atau perputaran disk, sehingga sektor yang diinginkan dapat dibaca oleh head. Pengertian Bandwidth adalah total jumlah bytes yang ditransfer dibagi dengan total waktu antara permintaan pertama sampai seluruh bytes selesai ditransfer. Untuk meningkatkan kecepatan akses dan bandwidth, kita dapat melakukan penjadwalan pelayanan atas permintaan I/O dengan urutan yang tepat.

Sebagaimana kita ketahui, jika suatu proses membutuhkan pelayanan Input Output dari atau menuju disk, maka proses tersebut akan melakukan system call ke sistem operasi. Permintaan tersebut membawa informasi-informasi antara lain:

  1. Apakah operasi input atau output
  2. Alamat disk untuk proses tersebut
  3. Alamat memori untuk proses tersebut
  4. Jumlah bytes yang akan ditransfer


Jika disk drive beserta controller tersedia untuk proses tersebut, maka proses akan dapat dilayani dengan segera. Jika ternyata disk drive dan controller tidak tersedia atau sedang sibuk melayani proses lain, maka semua permintaan yang memerlukan pelayanan disk tersebut akan diletakkan pada suatu antrian penundaan permintaan untuk disk tersebut. Dengan demikian, jika suatu permintaan telah dilayani, maka sistem operasi memilih permintaan tertunda dari antrian yang selanjutnya akan dilayani.

a. Penjadwalan FCFS
Bentuk paling sederhana dalam penjadwalan disk adalah dengan sistem antrian (queue) atau First-come first-served (FCFS). Algoritma ini secara intrinsik bersifat adil, tetapi secara umum algoritma ini pada kenyataannya tidak memberikan pelayanan yang paling cepat. Sebagai contoh, antrian permintaan pelayanan disk untuk proses I/O pada blok dalam silinder adalah sebagai berikut: 98, 183, 37, 122, 14, 124, 65, 67. Jika head pada awalnya berada pada 53, maka head akan bergerak dulu dari 53 ke 98, kemudian 183, 37, 122, 14, 124, 65, dan terakhir 67, dengan total pergerakan head sebesar 640 silinder.

Permasalahan dengan menggunakan penjadwalan jenis ini dapat diilustrasikan dengan pergerakan dari 122 ke 14 dan kembali lagi ke 124. Jika permintaan terhadap silinder 37 dan 14 dapat dikerjakan/dilayani secara bersamaan, baik sebelum maupun setelah permintaan 122 dan 124, maka pergerakan total head dapat dikurangi secara signifikan, sehingga dengan demikian pendayagunaan akan meningkat.

b. Penjadwalan SSTF
Sangat berasalasan jika kita menutup semua pelayanan pada posisi head saat ini, sebelum menggerakkan head ke tempat lain yang jauh untuk melayani suatu permintaan. Asumsi ini mendasari algoritma penjadwalan kita yang kedua yaitu shortest-seek-time-first (SSTF). Algoritma ini memilih permintaan dengan berdasarkan waktu pencarian atau seek time paling minimum dari posisi head saat itu. Karena waktu pencarian meningkat seiring dengan jumlah silinder yang dilewati oleh head, maka SSTF memilih permintaan yang paling dekat posisinya di diskterhadap posisi head saat itu.

Perhatikan contoh antrian permintaan yang kita sajikan pada penjadwalan FCFS, permintaan paling dekat dengan posisi headsaat itu (53) adalah silinder 65. Jika kita penuhi permintaan 65, maka yang terdekat berikutnya adalah silinder 67. Dari 67, silinder 37 letaknya lebih dekat ke 67 dibandingkan silinder 98, jadi 37 dilayani duluan. Selanjutnya, dilanjutkan ke silinder 14, 98, 122, 124, dan terakhir adalah 183. Metode penjadwalan ini hanya menghasilkan total pergerakan head sebesar 236 silinder -- kira-kira sepertiga dari yang dihasilkan penjadwalan FCFS. Algoritma SSTF ini memberikan peningkatan yang cukup signifikan dalam hal pendayagunaan atau performance sistem.

Penjadwalan SSTF merupakan salah satu bentuk dari penjadwalan shortest-job-first (SJF), dan karena itu maka penjadwalan SSTF juga dapat mengakibatkan starvation pada suatu saat tertentu. Kita ketahui bahwa permintaan dapat datang kapan saja. Anggap kita memiliki dua permintaan dalam antrian, yaitu untuk silinder 14 dan 186. Selama melayani permintaan 14, kita anggap ada permintaan baru yang letaknya dekat dengan 14. Karena letaknya lebih dekat ke 14, maka permintaan ini akan dilayani dulu sementara permintaan 186 menunggu gilirannya. Jika kemudian berdatangan lagi permintaan-permintaan yang letaknya lebih dekat dengan permintaan terakhir yang dilayani jika dibandingkan dengan 186, maka permintaan 186 bisa saja menunggu sangat lama. Kemudian jika ada lagi permintaan yang lebih jauh dari 186, maka juga akan menunggu sangat lama untuk dapat dilayani.

Walaupun algoritma SSTF secara substansial meningkat jika dibandingkan dengan FCFS, tetapi algoritma SSTF ini tidak optimal. Seperti contoh diatas, kita dapat menggerakkan head dari 53 ke 37, walaupun bukan yang paling dekat, kemudian ke 14, sebelum menuju 65, 67, 98, 122, dan 183. Strategi ini dapat mengurangi total gerakan headmenjadi 208 silinder.

c. Penjadwalan SCAN
Pada algoritma SCAN, pergerakan disk armdimulai dari salah satu ujung disk, kemudian bergerak menuju ujung yang lain sambil melayani permintaan setiap kali mengunjungi masing-masing silinder. Jika telah sampai di ujung disk, maka disk arm bergerak berlawanan arah, kemudian mulai lagi melayani permintaan-permintaan yang muncul. Dalam hal ini disk arm bergerak bolak-balik melalui disk.

Kita akan menggunakan contoh yang sudah dibarikan diatas. Sebelum melakukan SCAN untuk melayani permintaan-permintaan 98, 183, 37, 122, 14, 124, 65, dan 67, kita harus mengetahui terlebih dahulu pergerakan headsebagai langkah awal dari 53. Jika disk arm bergerak menuju 0, maka headakan melayani 37 dan kemudian 14. Pada silinder 0, disk arm akan bergerak berlawanan arah dan bergerak menuju ujung lain dari disk untuk melayani permintaan 65, 67, 98, 122, 124, dan 183. Jika permintaan terletak tepat pada head saat itu, maka akan dilayani terlebih dahulu, sedangkan permintaan yang datang tepat dibelakang head harus menunggu dulu headmencapai ujung disk, berbalik arah, baru kemudian dilayani.

Algoritma SCAN ini disebut juga algoritma lift/elevator, karena kelakuan disk arm sama seperti elevator dalam suatu gedung, melayani dulu orang-orang yang akan naik ke atas, baru kemudian berbalik arah untuk melayani orang-orang yang ingin turun ke bawah.

Kelemahan algoritma ini adalah jika banyak permintaan terletak pada salah satu ujung disk, sedangkan permintaan yang akan dilayani sesuai arah arm disk jumlahnya sedikit atau tidak ada, maka mengapa permintaan yang banyak dan terdapat pada ujung yang berlawanan arah dengan gerakan disk arm saat itu tidak dilayani duluan? Ide ini akan mendasari algoritma penjadwalan berikut yang akan kita bahas.

d. Penjadwalan C-SCAN
Circular-SCAN adalah varian dari algoritma SCAN yang sengaja didesain untuk menyediakan waktu tunggu yang sama. Seperti halnya SCAN, C-SCAN akan menggerakkan head dari satu ujung diskke ujung lainnya sambil melayani permintaan yang terdapat selama pergerakan tersebut. Tetapi pada saat head tiba pada salah satu ujung, maka headtidak berbalik arah dan melayani permintaan-permintaan, melainkan akan kembali ke ujung disk asal pergerakannya. Jika head mulai dari ujung 0, maka setelah tiba di ujung disk yang lainnya, maka head tidak akan berbalik arah menuju ujung 0, tetapi langsung bergerak ulang dari 0 ke ujung satunya lagi.

e. Penjadwalan LOOK
Perhatikan bahwa SCAN dan C-SCAN menggerakkan disk arm melewati lebar seluruh disk. Pada kenyataanya algoritma ini tidak diimplementasikan demikian (pergerakan melewati lebar seluruh disk). Pada umumnya, arm disk bergerak paling jauh hanya pada permintaan terakhir pada masing-masin arah pergerakannya. Kemudian langsung berbalik arah tanpa harus menuju ujung disk. Versi SCAN dan C-SCAN yang berprilaku seperti ini disebut LOOK SCAN dan LOOK C-SCAN, karena algoritma ini melihat dulu permintaan-permintaan sebelum melanjutkan arah pergerakannya.

f. Pemilihan Algoritma Penjadwalan Disk
Dari algoritma-algoritma diatas, bagaimanakah kita memilih algoritma terbaik yang akan digunakan? SSTF lebih umum dan memiliki prilaku yang lazim kita temui. SCAN dan C-SCAN memperlihatkan kemampuan yang lebih baik bagi sistem yang menempatkan beban pekerjaan yang berat kepada disk, karena algoritma tersebut memiliki masalah starvation yang paling sedikit. Untuk antrian permintaan tertentu, mungkin saja kita dapat mendefinisikan urutan akses dan pengambilan data dari disk yang optimal, tapi proses komputasi membutuhkan penjadwalan optimal yang tidak kita dapatkan pada SSTF atau SCAN.

Dengan algoritma penjadwalan yang manapun, kinerja sistem sangat tergantung pada jumlah dan tipe permintaan. Sebagai contoh, misalnya kita hanya memiliki satu permintaan, maka semua algoritma penjadwalan akan dipaksa bertindak sama, karena algoritma-algoritma tersebut hanya punya satu pilihan dari mana menggerakkan disk head: semuanya berprilaku seperti algoritma penjadwalan FCFS.

Perlu diperhatikan pula bahwa pelayanan permintaan diskdapat dipengaruhi pula oleh metode alokasi file. Sebuah program yang membaca alokasi file secara terus menerus mungkin akan membuat beberapa permintaan yang berdekatan pada disk, menyebabkan pergerakan head menjadi terbatas. File yang memiliki link atau indeks, dilain pihak, mungkin juga memasukkan blok-blok yang tersebar luas pada disk, menyebabkan pergerakan head yang sangat besar.

Lokasi blok-blok indeks dan directory juga tidak kalah penting. Karena file harus dibuka sebelum digunakan, proses pembukaan file membutuhkan pencarian pada struktur directory, dengan demikian directory akan sering diakses. Kita anggap catatan directoryberada pada awal silinder, sedangkan data file berada pada silinder terakhir. Pada kasus ini, disk head harus bergerak melewati sepanjang lebar disk. Membuat tempat penyimpanan sementara dari blok-blok indeks dan directoryke dalam memori dapat membantu mengurangi pergerakan disk arm, khususnya untuk permintaan membaca disk.

Karena kerumitan inilah, maka algoritma penjadwalandisk harus ditulis dalam modul terpisah dari sistem operasi, jadi dapat saling mengganti dengan algoritma lain jika diperlukan. Baik SSTF maupun LOOK keduanya merupakan pilihan yang paling masuk akal sebagai algoritma yang paling dasar.

Daftar Pustaka

  1. Masyarakat Digital Gotong Royong (MDGR), Pengantar Sistem Operasi Komputer, 2006
  2. Bambang H, Sistem Operasi, Revisi Kelima, Penerbit Informatika, 2012


Sekian artikel tentang Klasifikasi I/O dan  Mekanisme I/O Pada Sistem Operasi.

Penerapan Manajemen Memori Pada Sistem Operasi

Penerapan Manajemen Memori Pada Sistem Operasi - Teknik-teknik manajemen memori (1), (2), (3),(4) pada skema dibawah merupakan pengelolaan untuk kapasitas memori sebatas memori fisik yang tersedia. Teknik-teknik ini tidak dapat digunakan untuk membuat program-program yang berukuran besar disbanding kapasitas fisik memori yang tersedia.

Deitel menglasifikasi manajemen memory sesuai dengan skema berikut:

Gambar 1. Klasifikasi Manajemen Memory

Teknik-teknik manajemen memori (5), (7) dapat untuk mengakali kapasitas memori yang terbatas sehingga dapat dijalankan program yang ukurannya lebih besar disbanding kapasitas memori fisik yang tersedia.

Memory manager :

Salah satu bagian sistem operasi yang mempengaruhi dalam menentukan proses mana yang diletakkan pada antrian.

Jenis Memori

- Memori Kerja
  • ROM/PROM/EPROM/EEPROM
  • RAM
  • Cache memory
- Memori Dukung
  • Floppy, harddisk, CD, dll.

Alamat Memori
  • Alamat memori mutlak (alamat fisik)
  • Alamat memori relatif (alamat logika)
  • Hubungan antara alamat multak dan alamat relatif
  • Jenis memori dan alamat memori

Isi Memori
  • Sistem bahasa penataolahan
  • Sistem Utilitas
  • Inti Sistem Operasi
  • Sistem Operasi
  • Pengendali alat (device drivers)
  • File pemakai

Fungsi manajemen memori :
  • Mengelola informasi yang dipakai dan tidak dipakai.
  • Mengalokasikan memori ke proses yang memerlukan.
  • Mendealokasikan memori dari proses telah selesai.
  • Mengelola swapping atau paging antara memori utama dan disk.

MANAJEMEN MEMORI BERDASARKAN KEBERADAAN SWAPPING ATAU PAGING

Terbagi dua yaitu :
  1. Manajemen tanpa swapping atau paging
  2. Manajemen dengan swapping atau paging

MEMORI TANPA SWAPPING OR PAGING
Yaitu manajemen memori tanpa pemindahan citra proses antara memori utama dan disk selama eksekusi.
Terdiri dari :

Monoprogramming

Ciri-ciri :
  • Hanya satu proses pada satu saat
  • Hanya satu proses menggunakan semua memori
  • Pemakai memuatkan program ke seluruh memori dari disk atau tape
  • Program mengambil kendali seluruh mesin

Gambar 2. Tiga Cara Organisasi Memori Satu Proses Tunggal

Contoh : IBM PC menggunakan cara ketiga di mana device driver ROM ditempatkan pada blok 8K tertinggi dari address space 1M. Program pada ROM disebut BIOS (Basic Input Output System).

Multiprogramming Dengan Pemartisian Statis

Terbagi dua :
  1. Pemartisian menjadi partisi-partisi berukuran sama, yaitu ukuran semua partisi memori adalah sama
  2. Pemartisian menjadi partisi-partisi berukuran berbeda, yaitu ukuran semua partisi memori adalah berbeda.

Strategi Penempatan Program Ke Partisi

Satu Antrian Tunggal Untuk Semua Partisi

  • Keuntungan: Lebih fleksibel serta implementasi dan operasi lebih minimal karena hanya mengelola satu antrian.
  • Kelemahan: Proses dapat ditempatkan di partisi yang banyak diboroskan, yaitu proses kecil ditempatkan di partisi sangat besar

Gambar 3. Multiprogrammning dengan PemartisianTetap dengan Satu Antrian

Satu Antrian Untuk Tiap Partisi (banyak antrian Untuk Seluruh Partisi)
  • Keuntungan : Meminimalkan pemborosan memori
  • Kelemahan : Dapat terjadi antrian panjang di suatu partisi sementara antrian partisi - partisi lain kosong

Gambar 4. Multiprogrammning dengan Pemartisian tetap dengan Banyak Antrian

MULTIPROGRAMMING DENGAN SWAPPING

Swapping : pemindahan proses dari memori utama ke disk dan kembali lagi.

1. Multiprogramming dengan Pemartisisan Dinamis
Jumlah , lokasi dan ukuran proses di memori dapat beragam sepanjang waktu secara dinamis.

Kelemahan:
  • Dapat terjadi lubang-lubang kecil memori di antara partisi- partisi yang dipakai.
  • Merumitkan alokasi dan dealokasi memori

Solusi:
  • Lubang-lubang kecil di antara blok-blok memori yang digunakan dapat diatasi dengan pemadatan memori yaitu menggabungkan semua lubang kecil menjadi satu lubang besar dengan memindahkan semua proses agar saling berdekatan.

Gambar 5. Lubang-lubang Memori dan Pemadatan Memori

2. Pencatatan Pemakaian memori
  • Pencatatan memakai peta bit (Bit Map)
  • Pencatatan memakai linked list

Pencatatan memakai peta bit
  • Nilai 0 pada peta bit berarti unit masih bebas
  • Nilai satu berarti unit digunakan

Gambar 6. Peta Bit untuk Pengelolaan Pemakaian Memori

Pencatatan memakai Linked List
  • P= Proses, H=Hole(lubang)

Gambar 7. Pengelolaan Pemakaian dengan Linked List

3. Strategi Alokasi Memori
  • First fit algorithm : memory manager men-scan list untuk menemukan hole yg cukup untuk menampung proses yg baru. Proses akan menempati hole pertama yg ditemuinya yg cukup untuk dirinya.
  • Next fit algorithm : sama dengan first fit, tetapi pencarian hole dimulai dari hole ditemuinya dari scan sebelumnya.
  • Best fit algorithm : dicari hole yang akan menghasilkan sisa paling sedikit setelah dimasuki proses.
  • Worst fit algorithm : kebalikan dari best fit.
  • Quick fit algorithm : mengelompokkan hole-hole dan membuat listnya sendiri. Misalnya, ada list untuk hole 4K, satu list untuk 8K, dst.

Sistem Buddy

Memori di susun dalm senari blok-blok bebas berukuran 1,2,4,8,16 byte dst, sampai kapasitas memori.

Gambar 8. Pengelolaan Memori dengan Sistem Buddy

Dari berbagai cara alokasi tsb. Di atas, sebuah hole yg ditempati proses akan terbagi menjadi bagian yang dipakai proses dan memori yang tidak terpakai (fragmen).

Timbulnya memori yang tidak terpakai disebut fragmentasi. Ada dua macam fragmen :
  • Internal : sisa hole yang tidak terpakai setelah terisi proses.
  • Eksternal : hole yang secara utuh terlalu kecil untuk dipakai oleh proses manapun.

Alokasi Ruang Swap pada Disk

(Penempatan proses pada disk setelah di-swap-out dari memori)
  • Ruang disk tempat swap dialokasikan begitu diperlukan
  • Ruang disk tempat swap dialokasikan lebih dahulu.

Algoritma untuk pengaturan ruang swap pada disk sama dengan untuk memori utama. Perbedaannya adalah ruang pada disk harus dialokasikan sebagai kelipatan bilangan bulat dari disk block.

Daftar Pustaka
  1. Masyarakat Digital Gotong Royong (MDGR), Pengantar Sistem Operasi Komputer, 2006 
  2. Bambang H, Sistem Operasi, Revisi Kelima, Penerbit Informatika, 2012