Sabtu, 27 November 2010

struktur data

Kernel menyimpan informasi keadaan penggunaan komponen M/K, maka kernel melakukan hal tersebut pada bermacam-macam struktur data kernel seperti struktur table open-file . UNIX menyediakan akses sistem berkas untuk berbagai macam entitas seperti berkas pengguna, raw device, dan ruang alamat dari proses-proses.Walaupun masing-masing entitas ini mendukung operasi baca, tetapi semantik untuk masing-masing entiti berbeda. Sebagai contoh, untuk membaca berkas pengguna, kernel perlu memeriksa buffer cache sebelum memutuskan untuk melakukan M/K disk. Untuk membaca raw disk, kernel perlu meyakinkan bahwa ukuran permintaan adalah kelipatan dari ukuran disk dan masih terdapat dalam sektor berkas. Untuk memproses citra, cuma perlu menyalin data dari memori. UNIX menyembunyikan perbedaan-perbedaan dalam struktur yang seragam dengan menggunakan teknik berorientasi objek atau object-oriented. Open-file record pada gambar adalah sebuah tabel dispatch yang berisi pointer ke routine yang bersesuaian tergantung pada tipe berkas.

Beberapa sistem operasi menggunakan metode object-oriented secara lebih ekstensif. Sebagai contoh, Windows NT menerapkan metode message-passing untuk M/K. Sebuah permintaan M/K diubah menjadi sebuah pesan yang dikirim melalui kernel kepada manajer M/K dan kemudian kepada device driver ,yang masing-masing mereka dapat mengubah isi pesan. Untuk keluaran pesan tersebut, digunakan buffer untuk menerima data. Pendekatan message-passing ini bisa menambah biaya, perbandingan dengan teknik yang menggunakan strukutur data yang dibagi-bagi menyederhanakan struktur dan perancangan sistem M/K serta menambah fleksibilitas.

Operasi Perangkat Keras

Pada bagian sebelumnya, kita menjelaskan handshaking antara sebuah device driver dan sebuah device controller, tapi kita tidak menjelaskan bagaimana sistem operasi menghubungkan permintaan aplikasi ke dalam kumpulan kabel jaringan atau ke dalam sektor disk yang spesifik.

Aplikasi menunjuk data dengan menunjuk sebuah nama berkas. Di dalam sebuah disk, hal ini adalah pekerjaan dari sistem berkas untuk memetakan dari nama berkas melalui direktori sistem berkas untuk memperoleh ruang pengalokasian berkas. Sebagai contoh, dalam MS-DOS, nama dipetakan ke sebuah nomor yang mengindikasikan sebuah entri dalam tabel akses berkas, dan entri tabel tersebut mengatakan blok disk dialokasikan ke berkas. Pada UNIX, nama dipetakan ke sebuah nomor cabang dan nomor cabang yang bersesuaian berisi informasi tempat pengalokasian.

Sekarang kita lihat MS-DOS, sistem operasi yang relatif sederhana.

1.

Bagian pertama dari sebuah berkas MS-DOS diikuti tanda titik dua, adalah sebuah string yang menandakan sebuah perangkat keras yang spesifik. Sebagai contoh, c:\ adalah bagian pertama dari setiap nama berkas pada hard disk utama.
2.

Fakta bahwa c: mewakili hard disk utama yang dibangun ke dalam sistem operasi, c:\ dipetakan ke alamat spesifik melalui device table.
3.

Karena pemisah tanda titik dua tadi, tempat nama perangkat dipisahkan dari ruang nama sistem berkas di dalam masing-masing perangkat. Pemisahan ini memudahkan sistem operasi untuk menghubungkan fungsi tambahan untuk masing-masing perangkat. Sebagai contoh, hal yang mudah untuk melakukan spooling pada banyak berkas yang akan dicetak ke printer.

Jika ruang nama perangkat disertakan dalam ruang nama sistem berkas seperti pada UNIX, layanan nama sistem berkas yang normal disediakan secara otomatis. Jika sistem berkas menyediakan kepemilikan dan kontrol akses untuk semua nama berkas, maka perangkat mempunyai pemilik dan kontrol akses. Karena berkas disimpan dalam perangkat, sebuah antarmuka penguhubung menyediakan sistem M/K pada dua tingkatan. Nama dapat digunakan perangkat untuk mengakses dirinya sendiri atau untuk mengakses berkas yang disimpan pada perangkat tersebut.

UNIX menghadirkan nama perangkat dalam ruang nama sistem berkas reguler. Tidak seperti sebuah nama berkas MS-DOS yang mempunyai tanda titik dua, alur nama pada UNIX tidak mempunyai pemisahan yang jelas dari bagian nama perangkat. Faktanya, tidak ada bagian dari nama alur adalah nama perangkat.

0 komentar:

Posting Komentar

Share

Twitter Delicious Facebook Digg Stumbleupon Favorites More