Bagikan melalui


Evolusi Sistem File

Sebelum komputer dikembangkan untuk berfungsi pada sistem operasi disk, setiap komputer dibangun untuk menjalankan satu aplikasi eksklusif, yang memiliki kontrol lengkap dan eksklusif dari seluruh komputer. Aplikasi akan menulis data persistennya langsung ke disk, atau drum, dengan mengirim perintah langsung ke pengontrol disk. Aplikasi ini bertanggung jawab untuk mengelola lokasi absolut data pada disk, memastikan bahwa itu tidak menimpa data yang sudah ada. Karena hanya satu aplikasi yang berjalan pada komputer kapan saja, tugas ini tidak terlalu sulit.

Munculnya sistem komputer yang dapat menjalankan lebih dari satu aplikasi memerlukan mekanisme untuk memastikan bahwa aplikasi tidak menulis data satu sama lain. Pengembang aplikasi mengatasi masalah ini dengan mengadopsi satu standar untuk membedakan sektor disk yang digunakan dari yang bebas dengan menandainya. Pada waktunya, standar ini bersatu untuk menjadi sistem operasi disk, yang menyediakan berbagai layanan untuk aplikasi, termasuk sistem file untuk mengelola penyimpanan persisten. Dengan munculnya sistem file, aplikasi tidak lagi harus berurusan langsung dengan media penyimpanan fisik. Sebaliknya, mereka hanya memberi tahu sistem file untuk menulis blok data ke disk dan membiarkan sistem file khawatir tentang cara melakukannya. Selain itu, sistem file memungkinkan aplikasi untuk membuat hierarki data melalui abstraksi yang dikenal sebagai direktori. Direktori tidak hanya dapat berisi file tetapi direktori lain, yang pada gilirannya dapat berisi file dan direktori mereka sendiri, dan sebagainya.

Sistem file menyediakan satu tingkat tidak langsung antara aplikasi dan disk, dan hasilnya adalah bahwa setiap aplikasi melihat file sebagai aliran byte yang berdampingan tunggal pada disk meskipun sistem file benar-benar menyimpan file di sektor yang tidak berdampingan. Tidak langsung membebaskan aplikasi dari harus melacak posisi absolut data pada perangkat penyimpanan.

Saat ini, hampir semua API sistem untuk input dan output file menyediakan aplikasi untuk menulis informasi ke dalam file datar. Aplikasi melihat file ini sebagai aliran tunggal byte yang dapat tumbuh sebesar yang diperlukan sampai disk penuh. Untuk waktu yang lama, API ini telah cukup bagi aplikasi untuk menyimpan informasi persisten mereka. Aplikasi telah membuat inovasi yang signifikan dalam cara mereka menangani satu aliran informasi untuk menyediakan fitur seperti penyimpanan "cepat" inkremental.

Namun, dalam dunia objek komponen, menyimpan data dalam satu file datar tidak lagi efisien. Sama seperti sistem file yang muncul karena kebutuhan beberapa aplikasi untuk berbagi media penyimpanan yang sama, jadi, sekarang, objek komponen memerlukan sistem yang memungkinkan mereka untuk berbagi penyimpanan dalam kerangka kerja konseptual dari satu file. Meskipun dimungkinkan untuk menyimpan objek terpisah menggunakan penyimpanan file datar konvensional, jika salah satu objek meningkat ukurannya, atau jika Anda hanya menambahkan objek lain, menjadi perlu untuk memuat seluruh file ke dalam memori, menyisipkan objek baru, dan kemudian menyimpan seluruh file. Proses ini bisa sangat memakan waktu.

Solusi yang disediakan oleh COM adalah menerapkan tingkat tidak langsung kedua: sistem file dalam file. Penyimpanan file datar mengharuskan urutan byte yang berdampingan besar pada disk dimanipulasi melalui satu handel file dengan penunjuk pencarian tunggal. Sebaliknya, penyimpanan terstruktur COM mendefinisikan cara memperlakukan entitas sistem file tunggal sebagai koleksi terstruktur dari dua jenis objek — penyimpanan dan aliran — yang bertindak seperti direktori dan file.