Bagikan melalui


Object-Based

Sistem operasi berbasis Microsoft Windows NT berbasis objek. Berbagai komponen dalam eksekutif mendefinisikan satu atau beberapa jenis objek. Setiap komponen mengekspor mode kernel mendukung rutinitas yang memanipulasi instans jenis objeknya. Tidak ada komponen yang dapat langsung mengakses objek komponen lain. Untuk menggunakan objek komponen lain, komponen harus memanggil rutinitas dukungan yang diekspor.

Desain ini memungkinkan sistem operasi menjadi portabel dan fleksibel. Misalnya, dimungkinkan untuk rilis sistem operasi di masa mendatang untuk berisi komponen kernel yang dikodekan ulang yang menentukan jenis objek yang sama, tetapi dengan struktur internal yang sama sekali berbeda. Jika versi kernel yang direkode hipotetis ini mengekspor serangkaian rutinitas dukungan yang memiliki nama dan parameter yang sama dengan set yang ada, perubahan internal tidak akan berpengaruh pada portabilitas komponen eksekutif lainnya dalam sistem yang ada.

Demikian juga, untuk tetap portabel dan dapat dikonfigurasi, driver harus berkomunikasi dengan sistem operasi dan satu sama lain dengan hanya menggunakan rutinitas dukungan dan antarmuka lain yang dijelaskan dalam WDK.

Seperti sistem operasi, driver juga berbasis objek. Contohnya:

  • Objek file mewakili koneksi aplikasi mode pengguna ke perangkat.

  • Objek perangkat mewakili perangkat logis, virtual, atau fisik setiap driver.

  • Objek driver mewakili gambar beban setiap driver.

Manajer I/O mendefinisikan struktur dan antarmuka untuk objek file, objek perangkat, dan objek driver.

Seperti komponen eksekutif lainnya, driver menggunakan objek dengan memanggil rutinitas dukungan mode kernel yang diekspor manajer I/O dan komponen sistem lainnya. Rutinitas dukungan mode kernel umumnya memiliki nama yang mengidentifikasi objek tertentu yang setiap rutin memanipulasi dan operasi yang dilakukan setiap rutin pada objek tersebut. Nama rutin dukungan ini memiliki formulir berikut:

PrefixOperationObject

Di mana

Awalan Mengidentifikasi komponen mode kernel yang mengekspor rutinitas dukungan dan, biasanya, komponen yang menentukan jenis objek. Sebagian besar awalan memiliki dua huruf.

Operasi Menjelaskan apa yang dilakukan pada objek .

Objek Mengidentifikasi jenis objek.

Misalnya, rutinitas IoCreateDevice manajer I /O membuat objek perangkat untuk mewakili perangkat fisik, logis, atau virtual sebagai target permintaan I/O.

Satu komponen sistem dapat mengekspor rutinitas yang memanggil rutinitas dukungan komponen lain. Ini dapat mengurangi jumlah panggilan yang harus dilakukan driver. Manajer I/O, khususnya, mengekspor rutinitas tertentu yang memudahkan pengembangan driver. Misalnya, IoConnectInterruptEx, yang dipanggil driver tingkat terendah untuk mendaftarkan ISR mereka, memanggil rutinitas dukungan kernel untuk objek interupsi.

Opasitas Objek

Beberapa objek yang ditentukan sistem buram: hanya komponen sistem yang menentukan yang mengetahui struktur internal objek tersebut dan dapat langsung mengakses semua data yang dikandung objek. Komponen sistem yang mendefinisikan ekspor objek buram mendukung rutinitas yang dapat dipanggil driver dan komponen mode kernel lainnya untuk memanipulasi objek tersebut. Driver tidak pernah mengakses struktur objek buram secara langsung.

Catatan Untuk mempertahankan portabilitas driver, driver harus menggunakan rutinitas dukungan yang disediakan sistem untuk memanipulasi objek yang ditentukan sistem. Komponen sistem yang menentukan dapat mengubah struktur internal jenis objeknya kapan saja.