General protection faultGeneral protection fault (GPF) pada arsitektur Intel x86 dan AMD x86-64, dan arsitektur lainnya yang tidak berkaitan, adalah sebuah fault (sebuah jenis interupsi) yang dapat mencakup beberapa keadaan saat mekanisme proteksi di dalam arsitektur prosesor dilanggar oleh program apapun yang sedang berjalan, baik kernel maupun program user. Mekanisme ini pertama kali dijelaskan di bab 9.8.13 dalam manual referensi programmer Intel 80386 pada tahun 1986. General protection fault diimplementasikan sebagai interrupt (vektor interupsi nomor 13 dalam desimal) dalam kedua arsitektur x86 dan AMD64. Aplikasi dapat dikatakan mengalami crash. Penyebab GPF yang paling umum adalah dua aplikasi yang mencoba menggunakan menggunakan blok memori yang sama, sehingga terjadi bentrok penggunaan memori. Beberapa sebab GPF lainnya adalah penggunaan device driver (perangkat penggerak) yang tidak tepat dan sistem operasi Windows yang terkorupsi. Perilaku dalam sistem operasi tertentuDalam Microsoft Windows, general protection fault disajikan dalam berbagai bahasa, bergantung pada versi produk:
Pada sistem seperti Unix dan Linux, error tersebut dilaporkan secara terpisah (misalnya segmentation fault untuk kesalahan (error) memori). Kesalahan memoriPada kesalahan memori, program yang akan melakukan kesalahan mengakses memori yang sebaiknya tidak diakses. Contohnya meliputi:
Meskipun begitu, banyak sistem operasi modern menerapkan skema pengendalian akses memori melalui paging, bukan segmentasi, jadi sering ada kasus referensi memori yang tidak valid dalam sistem operasi seperti Windows dilaporkan melalui page fault daripada general protection fault. Sistem operasi biasanya menyediakan lapisan abstraksi (seperti exception handling atau sinyal) yang menyembunyikan apapun mekanisme prosesor internal yang digunakan untuk mengirimkan memory access error dari program, dengan tujuan menyediakan antarmuka standar untuk menangani berbagai tipe berbeda dari kondisi error yang diciptakan prosesor. Dalam kondisi arsitektur x86, general protection fault adalah khusus untuk proteksi berbasis segmentasi saat sampai pada akses memori. Namun, general protection fault masih digunakan untuk melaporkan pelanggaran proteksi lainnya (di samping pelanggaran terhadap akses memori) saat digunakan paging, seperti penggunaan instruksi yang tidak dapat diakses dari current privilege level. Meskipun secara teoretis sistem operasi mungkin untuk menyediakan baik paging maupun segmentasi, dalam bagian besar, sistem operasi umum biasanya mengandalkan paging untuk kebutuhan memory access controlnya. Lain-lainPenyebab lain dari general protection fault adalah:
Catatan dan referensi
Lihat pula |
Portal di Ensiklopedia Dunia