Sabtu, 25 Juni 2011

Bagaimana Menjual Produk di Internet Dengan Cepat [bagian kedua]

Oke setelah postingan sebelumnya tentang bagaimana menjual produk di internet dengan cepat, maka kali ini perkenankan saya untuk kembali membahas tentang search engine sebagai media promosi produk yang akan kita jual di internet. Terus kenapa kok kita harus bisa menguasai search engine agar mampu menjual produk di internet dengan cepat, ini dia bahasannya.

Pada bahasan pertama tentang bagaimana menjual produk dengan cepat di internet, saya mengulas tentang mencari backlink yang berkualitas agar website atau blog penjualan kita berada pada halaman pertama mesin pencari dan orang akan mengunjungi blog kita serta ada kemungkinan akan menjadi calon prospek kita.

Nah, selain mencari backlink yang berkualitas agar mampu bersaing pada sepuluh besar di halaman pertama, kita juga harus menerapkan apa yang disebut dengan belajar SEO, yaitu peng-optimalan blog atau website agar bisa dilirik oleh search engine untuk berada di sepuluh besar halaman pertama mereka.

Nah bagi anda yang belum tahu apa itu belajar SEO, silahkan anda bisa membacanya kembali pada postingan saya yang berlabel SEO pada menu yang ada di sebelah kanan blog ini.

Karena dengan SEO, sebuah blog atau website ataupun minisite sekalipun, akan mempengaruhi posisinya di mata search engine, baik SEO onpage maupun SEO offpage.

Tapi jangan khawatir jika blog anda sudah kadong (terlanjur:red) memiliki domain yang tidak ada hubungannya dengan nama produk anda sendiri, sebenarnya SEO offpage akan lebih membantu posisi web anda untuk bisa tampil sepuluh besar di search engine.

Karena pada dasarnya nama domain adalah faktor penting dalam SEO onpage anda, namun sekali lagi jika nama domain tidak mewakili nama produk anda, jangan khawatir, lha wong nama blog ini saja tidak ada hubungannya dengan jual style keyboard khan?, kok bisa pejwan..heheehe.

Jadi inti postingan tentang bagaimana menjual produk dengan cepat di internet bagian kedua ini adalah, anda harus fokus kepada SEO onpage dan SEO offpage blog atau website anda, dan sebelumnya juga anda harus menentukan nama domain yang harus ada nama produk yang anda tawarkan di internet, agar search engine mudah melacak nama website yang memiliki konten yang setopik dengan nama domainnya.

Semoga bermanfaat.

Proses

Proses dalam ruang lingkup sistem operasi dapat dikatakan sebagai sebuah aplikasi/program yang sedang dijalankan. Manajemen proses adalah salah satu dari fungsi utama dari sistem operasi terutama pada sistem operasi yang mendukung eksekusi banyak aplikasi pada waktu yang bersamaan. Sistem operasi yang baik harus dapat mengatur sumber daya komputer (yang terbatas) sedemikian rupa sehingga aplikasi-aplikasi yang sedang berjalan bersamaan tersebut mendapatkan sumber daya komputer yang mereka butuhkan agar dapat berfungsi dengan benar.

Sebuah proses yang sedang berjalan disimpan di dalam memori utama (RAM) dan dua bagian penting dari sebuah proses adalah Kode program atau instruksi-instruksi program yang harus dieksekusi oleh prosesor (yang dapat dibagi pakai bersama dengan proses lain) dan Sekumpulan data yang berhubungan dengan kode program dari proses

Tetapi dua bagian di atas tidak memiliki cukup informasi yang dibutuhkan oleh sistem operasi untuk memanajemen banyak proses yang berjalan bersamaan. Informasi-informasi tersebut dibuat oleh sistem operasi dan disimpan dalam struktur data yang disebut PCB (Process Control Block). Isi dari PCB tersebut antara lain:
  1. Identifier: tanda identitas yang membedakan suatu proses dengan proses lainnya.
  2. State: kondisi dari proses. Jika proses sedang dieksekusi maka kondisi/statusnya adalah running.
  3. Priority: prioritas eksekusi dibandingkan proses-proses lainnya.
  4. Program counter: alamat memori dari instruksi program berikutnya yang akan dieksekusi.
  5. Memory pointer: pointer menuju kode program (instruksi program), data yang berhubungan dengan proses, dan blok memori yang dibagipakai bersama proses-proses lain.
  6. Contex data: adalah data yang ada di register prosesor ketika proses dieksekusi.
  7. I/O status information: informasi tentang permintaan I/O, peralatan I/O, file, dll.
  8. Accounting information: dapat terdiri dari waktu prosesor, waktu clock yang digunakan, batas waktu, nomor akun, dll.
Informasi-informasi di atas setidaknya cukup lengkap bagi sistem operasi untuk menginterupsi/menunda pengeksekusian sebuah proses untuk mengeksekusi proses lain kemudian kembali lagi mengeksekusi proses pertama seakan-akan interupsi tidak pernah terjadi

Kondisi / Keadaan Proses
Dari sudut pandang prosesor eksekusi sebuah proses berarti mengeksekusi instruksi-instruksi dari proses tersebut berdasarkan urutan tertentu. Urutan eksekusi ini dikendalikan lewat perubahan nilai pada register program counter yang berupa penunjuk ke suatu lokasi yang berisi instruksi dari proses.

Isi dari program counter ini pada suatu saat bisa berubah menjadi penunjuk ke instruksi yang dimiliki oleh proses lain. Hal ini terjadi ketika sebuah program kecil bernama dispatcher yang dieksekusi secara periodik oleh prosesor.

Sebuah daftar yang berisi urutan instruksi yang dieksekusi untuk suatu proses yang dibuat untuk mengetahui kelakuan dari sebuah proses individual dikenal sebagai trace. Gambar-gambar 3-1 dan 3-2 dapat menjelaskan posisi proses dan dispatcher serta trace dari beberapa proses ketika dijalankan.

Untuk mengatur eksekusi dari proses termasuk mengatur pergantian eksekusi antar proses dan mengalokasikan sumber daya komputer yang dibutuhkan proses yang akan dieksekusi sistem operasi perlu mengetahui kondisi yang sedang dialami sebuah proses dan menentukan tindakan apa yang harus diambil terhadap proses tersebut pada kondisi tertentu.

Ada beberapa model dari kondisi-kondisi yang dialami sebuah proses dimulai dari model yang sederhana yang terdiri dari hanya dua kondisi hingga berkembang menjadi model yang memiliki lebih dari lima kondisi.

Model Dua Kondisi
Model yang pertama dan paling sederhana adalah model 2 kondisi (2 state) yang terdiri dari kondisi running dan not running seperti dijelaskan oleh gambar 3-3. Pada saat pertama kali proses dibuat proses tersebut akan memasuki kondisi not running dan akan memasuki sebuah antrian untuk proses-proses yang menunggu untuk dieksekusi oleh prosesor. Proses yang sedang dieksekusi berada dalam kondisi running dan pada suatu saat akan berhenti dieksekusi apakah karena telah selesai atau gilirannya telah habis dan prosesor akan mengeksekusi dispatcher yang akan menaruh proses barusan pada belakang antrian dan merubah nilai program counter sehingga menunjuk pada urutan instruksi yang dimiliki oleh proses yang berada di depan antrian.

Model Lima Kondisi
Model yang ke-dua adalah model dengan 5 kondisi (5 state). Model ini merupakan perkembangan dari model yang pertama untuk menangani kondisi di mana sebuah proses mungkin saja tidak selalu siap untuk dieksekusi karena harus menunggu sebuah operasi I/O selesai dilaksanakan. Pada model ini kondisi not running  dipecah menjadi ready dan blocked. Berikut ini adalah daftar 5 kondisi yang ada pada model 5 kondisi:
  1. Running : proses sedang dieksekusi
  2. Ready : proses siap dieksekusi jika telah mendapat kesempatan
  3. Blocked : proses tidak dapat dieksekusi hingga suatu event terjadi atau menunggu suatu proses I/O selesai
  4. New : proses baru saja selesai dibuat. Pada kondisi ini biasanya baru process control block saja yang telah selesai dibuat dan ditaruh di memori utama sedangkan instruksi dan datanya belum
  5. Exit : proses telah dilepaskan dari kumpulan (pool) proses yang dapat dieksekusi oleh sistem operasi dikarenakan telah selesai maupun dibatalkan karena alasan tertentu
Dapat dilihat bahwa ada dua kondisi tambahan selain pemisahan not running menjadi ready dan blocked yaitu new dan exit. Kondisi new pada model ini seperti yang telah dijelaskan di atas menerangkan bahwa sistem operasi telah menyiapkan keperluan untuk menjalankan proses seperti PCB dan tabel-tabel tertentu dalam sistem operasi tetapi proses itu sendiri belum dieksekusi oleh prosesor. Kondisi exit pada model ini mewakili kondisi sedemikian sehingga proses yang telah dihentikan eksekusinya karena telah selesai maupun karena hal lainnya seperti kesalahan dan pembatalan oleh pengguna tidak langsung dihapus melainkan disimpan sementara agar informasi yang menyertai proses tersebut seperti PCB dan tabel-tabel yang menyertainya dapat digunakan oleh proses lain yang memerlukan seperti proses yang melakukan perhitungan waktu eksekusi dan penggunaan sumberdaya oleh proses lainnya.

Berikut ini adalah jenis-jenis kejadian (event) yang dapat menyebabkan proses berpindah dari suatu kondisi ke kondisi lainnya dalam model 5 kondisi:
  1. Null –> New: sebuah proses baru dibuat. Prose ini dapat benar-benar baru atau dapat berasal dari proses lain yang telah ada melalui process spawning.
  2. New –> Ready: sistem operasi memindahkan sebuah proses ke kondisi ready dari kondisi new hanya jika sistem operasi tersebut telah siap. Sistem operasi dapat menahan sebuah proses dalam kondisi new jika kondisi belum memungkinkan untuk menangani proses tambahan seperti kekurangan memori atau terdapat batasan jumlah proses yang dapat ditangani agar tidak menurunkan kinerja keseluruhan.
  3. Ready –> Running: proses dipindahkan dari kondisi ready ke kondisi running oleh rutin penjadwalan atau dispatcher dan dieksekusi oleh prosesor.
  4. Running –> Ready: alasan paling umum untuk memindahkan suatu proses dari running ke kondisi ready adalah karena waktu eksekusi untuk proses tersebut telah habis atau diinterupsi untuk digantikan oleh proses dengan prioritas yang lebih tinggi.
  5. Running –> Exit: proses dihentikan eksekusinya dan diterminasi dikarenakan telah selesai atau karena alasan lainnya seperti terjadinya kesalahan atau pembatalan eksekusi oleh pengguna.
  6. Running –> Blocked: proses diblok apabila proses tersebut telah meminta sesuatu yang tidak dapat langsung dipenuhi oleh sistem operasi, contohnya: operasi I/O
  7. Blocked –> Ready: proses dipindahkan dari blocked ke kondisi ready hanya jika kejadian (event) tertentu yang ditunggu telah terjadi seperti permintaan operasi I/O oleh proses tersebut telah selesai dilaksanakan.
  8. Ready –> Exit: transisi ini tidak digambarkan pada model 5 kondisi untuk menjaga kejelasan tetapi sebuat proses dalam kondisi ready dapat langsung diterminasi contohnya sebuah proses anak dapat diterminasai oleh proses induk kapan saja dan jika sebuah proses induk mati maka proses anak juga ikut diterminasi.
  9. Blocked –> Exit: transisi ini termasuk dalam penjelasan kondisi ready -> exit.
Model dengan Suspended State
Model 2 kondisi dan 5 kondisi sebelumnya berlaku pada sistem operasi yang tidak memerlukan swapping. Swapping  berlaku pada sistem operasi yang menerapkan konsep memori virtual (akan dibahas di bab manajemen memori) yaitu menjadikan media penyimpanan seperti harddisk sebagai bagian dari memori untuk menyimpan proses yang akan dieksekusi. Proses-proses yang ada tidak disimpan dalam memori utama tetapi disimpan dalam media harddisk. Hanya proses-proses yang siap dieksekusi saja yang disimpan dalam memori utama. Konsep memori virtual ini memungkinkan sistem operasi membuat proses dengan jumlah dan ukuran lebih besar dari kapasitas memori utama. Jika memori utama penuh dan ada proses lain yang harus masuk maka proses yang sedang tidak dieksekusi di memori dapat dipindahkan kembali ke memori virtual. Pemindahan dari memori virtual ke memori utama dan sebaliknya inilah yang disebut sebagai swapping.

Untuk mengimplementasikan konsep memori virtual tersebut perlu dibuat suatu kondisi baru yaitu kondisi ketika proses berada pada dalam memori virtual yaitu kondisi suspended. Proses yang berada dalam kondisi blocked dapat dipindahkan dari memori utama ke sebuah antrian proses di memori virtual untuk menyediakan ruang kosong bagi proses lain di memori utama. Gambar 3-4 memperlihatkan dua model yang mengakomodir kondisi suspended.

Pada model pertama diperlihatkan hanya ada satu kondisi suspend seperti yang telah dijelaskan di atas. Mengingat bahwa kecepatan eksekusi prosesor jauh melebihi waktu yang dibutuhkan untuk menyelesaikan operasi I/O maka akan ada kemungkinan di mana prosesor akan banyak menganggur dikarenakan kebanyakan proses berada dalam keadaan suspended menunggu operasi I/O yang belum selesai. Mengembalikan proses-proses ini ke dalam memori utama hanya akan memboroskan waktu dan sumber daya dikarenakan proses-proses ini belum tentu siap dijalankan ketika telah berada di memori utama. Untuk menghemat sumber daya hanya proses-proses yang telah siap dijalankan, yang telah mendapatkan event yang dibutuhkan, yang dipindahkan dari antrian di memori virtual ke memori utama. Proses-proses tersebut sebelum dipindahkan ke memori utama dapat diletakkan dalam antrian proses yang siap untuk dieksekusi kembali oleh prosesor. Oleh karena itu kondisi suspended dibagi lagi menjadi dua kondisi, yaitu:
  1. Blocked/Suspend: kondisi di mana proses berada dalam kondisi blocked di dalam memori virtual dan menunggu suatu event.
  2. Ready/Suspend: kondisi di mana proses berada dalam memori virtual tetapi dapat langsung dijalankan ketika telah berada dalam memori utama.
Selain itu kondisi ready berlaku untuk proses yang tidak menunggu event tertentu dan telah berada di memori utama dan kondisi blocked berlaku bagi proses yang sedang menunggu event tertentu dan sedang berada dalam memori utama.

Transisi-transisi antar kondisi yang terjadi, antara lain:
  1. Blocked ==> Blocked/Suspend: transisi ini terjadi ketika sistem operasi membutuhkan tambahan ruang kosong di dalam memori utama untuk proses lain dan tidak tersedia ruang kosong dalam memori utama. Untuk menyediakan ruang tersebut sistem operasi akan memindahakan proses-proses yang berada dalam kondisi blocked ke dalam memori virtual sehingga kondisi proses tersebut dikatakan sebagai blocked/suspend.
  2. Blocked/Suspend ==> Ready/Suspend: transisi ini terjadi ketika event yang ditunggu proses dalam kondisi blocked/suspend telah terjadi sehingga status proses tersebut berubah menjadi ready/suspend.
  3. Ready/Suspend ==> Ready: transisi ini terjadi ketika tidak ada lagi proses yang berada dalam kondisi ready di dalam memori utama sehingga sistem operasi akan memindahkan proses yang berada dalam kondisi ready/suspend dari memori virtual ke memori utama. Transisi ini juga dapat terjadi apabila proses dalam kondisi ready/suspend memiliki prioritas lebih tinggi dari proses yang berada dalam kondisi ready.
  4. New ==> Ready/Suspend dan New � Ready: transisi ini terjadi ketika suatu proses baru saja dibuat. Proses tersebut dapat disimpan di dalam antrian memori di memori utama atau diantrikan dalam kondisi ready/suspend di memori virtual.
  5. Blocked/Suspend ==> Blocked: transisi ini meskipun tampak tidak terlalu baik dari segi disain namun masih mungkin terjadi. Jika memori utama memiliki tempat kosong dan proses dalam kondisi blocked/suspend tersebut memiliki prioritas lebih tinggi dari yang berada dalam kondisi ready/suspend serta sistem operasi percaya bahwa event yang ditunggu proses tersebut akan terjadi segera maka transisi ini boleh saja terjadi.
  6. Running ==> Ready/Suspend: proses yang telah habis masa eksekusinya biasanya akan dipindahkan ke dalam kondisi ready namun apabila ada proses dengan prioritas lebih tinggi telah berubah dari kondisi blocked/suspend menjadi ready/suspend maka sistem operasi dapat membebaskan memori utama untuk proses tersebut dengan memindahkan proses dengan prioritas lebih rendah tersebut ke dalam kondisi ready/suspend.
  7. Kondisi Apapun ==> Exit: biasanya proses diterminasi dalam kondisi berjalan karena telah selesai atau ada kesalahan tertentu namun pada beberapa sistem operasi proses dapat diterminasi oleh proses yang menjadi induknya atau ketika proses induknya diterminasi. Jika hal tersebut diperbolehkan maka semua kondisi dapat segera berubah menjadi kondis exit.
Deskripsi Proses
Seperti yang telah disebutkan sebelumnya sistem operasi bertugas untuk mengelola proses-proses dan sumber daya komputer yang digunakan proses-proses tersebut. Untuk melaksanakan tugas tersebut sistem operasi memerlukan beberapa informasi mengenai proses-proses yang ada dan sumber daya komputer yang ada

Struktur Kendali Sistem Operasi
Sistem operasi membuat dan memelihara beberapa tabel berisi informasi mengenai sumber daya komputer dan proses yang ada. Tabel-tabel tersebut antara lain:
  1. Tabel memori
Tabel ini digunakan untuk mengelola memori utama dan memori virtual. Tabel ini berisi, antara lain:
  • Alokasi memori utama untuk proses
  • Alokasi memori virtual untuk proses
  • Atribut-atribut yang digunakan untuk keperluan proteksi blok-blok memori yang digunakan pada memori utama
  • Informasi apa saja yang digunakan untuk mengelola memori virtual.
     2.  Tabel I/O
Tabel ini digunakan untuk mengelola peralatan-peralatan dan saluran-saluran I/O. Ketika terjadi suatu operasi yang berhubungan dengan I/O sistem operasi harus mengetahui lokasi memori yang digunakan dalam proses perpindahan data.
     3. Tabel file
Tabel ini digunakan untuk menyimpan informasi mengenai file-file yang sedang digunakan, seperti: lokasi mereka dalam memori, status, dan atribut mereka.
     4.  Tabel proses
Tabel ini digunakan untuk memanajemen proses-proses. Mulai dari bagian ini selebihnya dari bab ini akan membahas mengenai tabel proses yang perlu dibuat untuk memanajemen proses.
Setidaknya ada dua hal penting yang harus diingat sebelum membahas masalah tabel proses, yaitu bahwa I/O, memori, dan file dimanajamen untuk memenuhi kebutuhan proses sehingga perlu ada penunjuk bagi proses untuk mengakses mereka dan informasi mengenai kondisi lingkungan seperti konfigurasi perangkat keras, jumlah memori tersedia, dan sebagainya harus disediakan oleh sesuatu di luar sistem operasi apakah oleh perangkat lunak atau dengan bantuan manusia

Recovery

Informasi di direktori di memori utama biasanya lebih baru daripada informasi yang ada di disk, karena penulisan dari informasi direktori yang disimpan ke disk tidak terlalu dibutuhkan secepat terjadinya pembaharuan. Mempertimbangkan efek yang memungkinkan terjadinya crash pada komputer. Secara berkala, program khusus akan dijalankan pada saat waktu reboot untuk mengecek dan mengoreksi disk yang tidak konsisten. Pemerikasaan rutin membandingkan data yang ada di struktur direktori dengan blok data pada disk, dan mencoba untuk memperbaiki ketidakkonsistenan yang ditemukan.

Backup dan Restore
Dikarenakan disk magnetik kadang-kadang gagal, perawatan harus dijalankan untuk memastikan data tidak hilang selamanya. Oleh karena itu, program sistem dapat digunakan untuk back up data dari disk menuju ke media penyimpanan yang lainnya, seperti sebuah floppy disk, tape magnetik, atau disk optikal. Recovery dari kehilangan sebuah berkas individu, atau seluruh disk, mungkin menjadi masalah dari restoring data dari backup.
Untuk meminimalis kebutuhan untuk menduplikat, kita dapat menggunakan inforamsi dari, masing-masing masukan direktori. Sebagai contoh, jika program backup mengetahui kapan backup terakhir dari berkas telah selesai, dan tanggal terakhir berkas di direktori menunjukkan bahwa berkas tersebut tidak dirubah sejak tanggal tersebut, lalu berkas tersebut tidak perlu diduplikat lagi.
Sebuah tipe jadwal backup yaitu sebagai berikut:
Day 1:
Menduplikat ke sebuah medium back up semua berkas ke disk. Ini disebut sebuah full backup.
Day 2:
Menduplikat ke medium lainnya semua berkas yang dirubah sejak hari pertama. Ini adalah incremental backup.
Day 3:
Menduplikat ke medium lainnya semua berkas yang dirubah sejak hari ke-2.
Day N:
Menduplikat ke medium lainnya semua berkas yang dirubah sejak hari ke N-1.
Perputaran baru dapat mempunyai backupnya ditulis ke semua set sebelumnya, atau ke set yang baru dari media backup. N yang terbesar, tentu saja memerlukan tape atau disk yang lebih untuk dibaca untuk penyimpanan yang lengkap. Keuntungan tambahan dari perputaran backup ini adalah kita dapat menyimpan berkas apa saja yang tidak sengaja terhapus selama perputaran dengan mengakses berkas yang terhapus dari backup hari sebelumnya.

Log-structured File System
Algoritma logging sudah dilakukan dengan sukses untuk manangani masalah dari pemeriksaan rutin. Hasil dari implementasinya dikenal dengan log-based transaction-oriented (atau journaling sistem berkas).
Pemanggilan kembali yang mengenai struktur data sistem berkas pada disk--seperti struktur-struktur direktori, penunjuk-penunjuk blok-kosong, penunjuk-penunjuk FCB kosong--dapat menjadi tidak konsisten dikarenakan adanya system crash. Sebelum penggunaan dari teknik log-based di sisitem operasi, perubahan biasanya dipakaikan pada struktur ini. Perubahan-perubahan tersebut dapat diinterupsi oleh crash, dengan hasil strukturnya tidak konsisten.
Ada beberapa masalah dengan adanya pendekatan dari menunjuk struktur untuk memechkan dan memperbaikinya pada recovery. Salah satunya adalah ketidakkonsistenan tidak dapat diperbaiki. Pemeriksaan rutin mungkin tidak dapat untuk recover struktur tersebut, yang hasilnya kehilangan berkas dan mungkin seluruh direktori.
Solusinya adalah memakai teknik log-based-recovery pada sistem berkas metadata yang terbaru. Pada dasarnya, semua perubahan metadata ditulis secara berurutan di sebuah log. Masing-masing set dari operasi-operasi yang manampilakan tugas yang spesifik adalah sebuah transaction. Jika sistemnya crashes, tidak akan ada atau ada kelebihan transactions di berkas log. Transactions tersebut tidak akan pernah lengkap ke sistem berkas walaupun dimasukkan oleh sistem operasi, jadi harus dilengkapi. Keuntungan yang lain adalah proses-proses pembaharuan akan lebih cepat daripada saat dipakai langsung ke struktur data pada disk.

Sistem Berkas Linux Virtual
Obyek dasar dalam layer-layer virtual file system 
  • File 
File adalah sesuatu yang dapat dibaca dan ditulis. File ditempatkan pada memori. Penempatan pada memori tersebut sesuai dengan konsep file deskriptor yang dimiliki unix.
  • Inode
Inode merepresentasikan obyek dasar dalam file sistem. Inode bisa saja file biasa, direktori, simbolik link dan lain sebagainya. Virtual file sistem tidak memiliki perbedaan yang jelas di antara obyek, tetapi mengacu kepada implementasi file sistem yang menyediakan perilaku yang sesuai. Kernel tingkat tinggi menangani obyek yang berbeda secara tidak sama. File dan inode hampir mirip diantara keduanya. Tetapi terdapat perbedaan yang penting diantara keduanya. Ada sesuatu yang memiliki inode tetapi tidak memiliki file, contohnya adalah simbolik link. Ada juga file yang tidak memiliki inode seperti pipes dan socket.
  • File sistem
File system adalah kumpulan dari inode-inode dengan satu inode pembeda yaitu root. Inode lainnya diakses mulai dari root inode dan pencarian nama file untuk menuju ke inode lainnya. File sistem mempunyai beberapa karakteristik yang mencakup seluruh inode dalam file sistem. Salah satu yang terpenting adalah blocksize.
  • Nama inode
Semua inode dalam file sistem diakses melalui namanya. Walaupun pencarian nama inode bisa menjadi terlalu berat untuk beberapa sistem, virtual file sistem pada linux tetap memantau cache dan nama inode yang baru saja terpakai agar kinerja meningkat. Cache terdapat di memori sebagai tree, ini berarti jika sembarang inode dari file terdapat di dalam cache, maka parent dari inode tersebut juga terdapat di dalam cache. Virtual file system layer menangani semua pengaturan nama path dari file dan mengubahnya menjadi masukan di dalam cache sebelum mengizinkan file sistem untuk mengaksesnya. Ada pengecualian pada target dari simbolik link, akan diakses file sistem secara langsung. File sistem diharapkan untuk menginterpretasikannya.

Virus dan Anti Virus

Siklus Hidup Virus
Virus adalah sama dengan program komputer lain.  Perbedaan dengan program lain adalah virus dapat menempelkan dirinya ke program lain dan mengeksekusi kodenya secara rahasia setiap kali program inang berjalan.  Masalah yang ditimbulkan virus adalah virus sering merusak sistem komputer seperti menghapus file, partisi disk, atau mengacaukan program. Virus mengalami siklus hidup empat fase (tahap), yaitu :
1.   Fase Tidur (dormant phase)
Virus dalam keadaan menganggur.  Virus akan tiba-tiba aktif oleh suatu kejadian seperti tibanya tanggal tertentu, kehadiran program atau file tertentu, atau kapasitas disk yang melewati batas.  Tidak semua virus mempunyai tahapan ini.
2.   Fase propagasi (propagation phase)
Virus menempatkan salinan dirinya ke program lain atau daerah sistem tertentu di disk.  Program yang terinfeksi virus akan mempunyai cloning virus.  Kloning virus itu dapat kembali memasuki fase propagasi.
3.   Fase pemicu (triggering phase)
Virus diaktifkan untuk melakukan fungsi tertentu.  Seperti pada fase tidur, fase pemicuan dapat disebabkan beragam kejadian sistem termasuk penghitungan jumlah salinan dirinya.
4.   Fase Eksekusi (execution phase)
Virus menjalankan fungsinya.  Fungsinya mungkin sepele seperti sekedar menampilkan pesan dilayar atau merusak program dan file-file data, dan sebagainya.

Kebanyakan virus melakukan kerjanya untuk suatu sistem operasi tertentu, lebih spesifik lagi pada platform perangkat keras tertentu.  Virus-virus dirancang memanfaatkan rincian-rincian dan kelemahan-kelamahan sistem tertentu.

Infeksi Virus
Sekali virus telah memasuki sistem dengan menginfeksi satu program, virus berada dalam posisi menginfeksi beberapa atau semua file berekstensi exe lain di sistem itu saat program yang terinfeksi dieksekusi. Infeksi virus dapat sepenuhnya dihindari dengan mencegah virus masuk sistem. Pencegahan ini sangat luar biasa sulit karena virus dapat menjadi bagian program di luar sistem.
Kebanyakan virus mengawali infeksinya pengsalinan disk yang telah terinfeksi virus. Banyak disk berisi game atau utilitas di rumah dikopikan ke mesin kantor.  Disk berisi virus pun dapat terdapat di disk yang dikirim produsen aplikasi.  Hanya sejumlah kecil infeksi virus yang dimulai dari hubungan jaringan.

Tipe-tipe virus
Saat ini perkembangan virus masih berlanjut, terjadi perlombaan antara penulis virus dan pembuat virus. Begitu satu tipe dikembangkan antivirus-nya, tipe virus yang lain muncul.  Klasifikasi virus adalah sebagai berikut :
1.       Parasitic virus
2.       Memory-resident virus
3.       Boot Sector Virus
4.       Stealth virus
5.       Polymorphic virus

Parasitic Virus
Merupakan virus tradisional dan bentuk virus yang paling sering.  Tipe ini menempelkan dirinya ke file exe.  Virus mereplikasi dirinya ketika program yang terinfeksi dieksekusi dengan mencari file-file exe lain untuk diinfeksi.

Memory-resident virus 
Virus memuatkan diri ke memori utama sebagai bagian program yang menetap.  Virus menginfekasi setiap program yang dieksekusi.

Boot Sector Virus 
Virus menginfeksi master boot record atau boot record dan menyebar saat sistem di boot dari disk yang berisi virus. 

Stealth Virus 
Virus yang bentuknya telah dirancang agar dapat menyembunyikan diri dari deteksi perangkat lunak antivirus.

Polymorphic Virus
Virus bermutasi setiap kali melakukan inveksi.  Deteksi dengan “penandaan” virus tersebut tidak dimungkinkan.
Penulis virus dapat melengkapi dengan alat-alat bantu penciptaan virus baru (virus-creation toolkit yaitu rutin-rutin untuk menciptakan virus-virus baru).  Dengan alat bantu ini penciptaan virus baru dapat dilakukan dengan sangat cepat.  Virus-virus yang diciptakan dengan alat bantu biasanya kurang canggih disbanding virus-virus yang dirancang dari awal. 

Anti Virus
Solusi ideal terhadap ancaman virus adalah pencegahan.  Jangan ijinkan virus masuk ke sistem.  Sasaran ini, tak mungkin dilaksanakan sepenuhnya.  Pencegahan dapat mereduksi sejumlah serangan virus.  Setelah pencegahan terhadap masuknya virus, maka pendekatan berikutnya adalah : 

Deteksi
Begitu infeksi telah terjadi, tentukan apakah infeksi memang telah terjadi dan cari lokasi virus.

Identifikasi
Begitu virus terdeteksi maka identifikasi virus yang menginfeksi program.

Penghilangan
Begitu virus dapat diidentifikasi maka hilangkan semua jejak virus dari program yang terinfeksi dan program dikembalikan ke semula (sebelum terinfeksi).
Jika edentifikasi sukses dilakukan, tapi identifikasi atau penghilangan tidak dapat dilakukan, maka alternative yang dilakukan adalah hapus program yang terinfeksi dan kopi kembali backup program yang masih bersih. 

Generasi Anti virus
Sebagaimana virus berkembang dari yang sederhana menjadi semakin canggih, begitu juga paket perangkat lunak antivirus.  Saat ini program antivirus semakin kompleks dan canggih.  Perkembangan program antivirus dapat diperiode menjadi empat generasi, yaitu: 

Generasi Pertama: sekedar scanner sederhana 
Antivirus men-scan program untuk menentukan penanda (signature) virus.  Walaupun virus mungkin berisi “karakter-karakter varian” tapi secara esensi mempunyai struktur dan pola bit yang sama dengan salinannya.  Teknik ini terbatas untuk diteksi virus-virus yang telah dikenal.  Tipe lain antivirus generasi pertama adalah mengelola rekaman panjang (ukuran) program dan memeriksa perubahan panjang program. 

Generasi Ke-dua : scanner yang pintar (heuristic scanner) 
Antivirus men-scan tidak bergantung pada penanda spesifik.  Antivirus menggunakan aturan-aturan pintar (heuristic scanner) untuk mencari kemungkinan terinvekasi virus.  Teknik yang dipakai misalnya mencari fragmen-fragmen kode yang sering merupakan bagian virus.  Contohnya, antivirus mencari awal loop enkripsi yang digunakan polymorphic virus dan menemukan kunci enkripsi.  Bagitu kunci ditemukan, antivirus dapat men-deskripsi virus untuk identifikasi dan kemudian menghilangkan infeksi virus.
Teknik lain adalah pemeriksa integritas.  Checksum dapat ditambahkan di tiap program.  Jika virus menginfeksi program tanpa mengubah checksum, maka pemerikasaan integritas akan menemukan perubahan itu.  Untuk menanggulangi virus canggih yang mampu mengubah checksum saat menginfeksi program, fungsi hash ter-enkripsi digunakan.  Kunci enkripsi disimpan secara terpisah dari program sehingga program tidak dapat menghasilkan kode hash dan meng-enkripsinya.  Dengan menggunakan fungsi hash bukan checksum sederhana maka mencegah virus menyesuaikan program yang menghasilkan kode hash yang sama seperti sebelumnya. 

Generasi Ke-tiga: jebakan-jebakan aktivasi (activity trap) 
Program antivirus merupakan program yang menetap di memori (memory resident program).  Program ini mengidentifikasi virus melalui aksi-aksinya bukan dari struktur program yang diinfeksi.  Dengan anticirus semacam ini tak perlu mengembangkan penanda-penanda dan aturan-aturan pintar untuk beragam virus yang sangat banyak.  Dengan cara ini yang diperlukan adalah mengidentifikasi kumpulan instruksi yang berjumlah sedikit yang mengidentifikasi adanya usaha infeksi.  Kalau muncul kejadian ini, program antivirus segera mengintervensi. 

Generasi Ke-empat: proteksi penuh (full-featured protection) 
Antivirus generasi ini menggunakan beragam teknik antivirus secara bersamaan.  Teknik-teknik ini meliputi scanning dan jebakan-jebakan aktivitas.  Antivirus juga mempunyai senarai kapabilitas pengaksesan yang membatasi kemampuan virus memasuki sistem dan membatasi kemampuan virus memodifikasi file untuk menginfeksi file.
Pertempuran antara penulis virus dan pembuat antivirus masih berlanjut.  Walau beragam strategi lebih lengkap telah dibuat untuk menghalangi virus, penulis virus-pun masih berlanjut menulis virus yang dapat melewati barikade-barikade yang dibuat penulis antivirus.  Untuk pengaman sistem komputer, sebaiknya pengaksesan dan pemakaian komputer diawasi dengan seksama sehingga tidak menjalankan program atau memakai disk yang belum terjamin kebersihannya dari infeksi virus.
    Pencegahan terbaik terhadap ancaman virus adalah mencegah virus memasuki sistem saat yang pertama.