Mengapa CPU x86 Hanya Menggunakan Dua dari Empat "Dering"?

Apr 22, 2025
Perangkat keras
KONTEN TIDAK CACHED

Saat mempelajari lebih lanjut tentang bagaimana sistem operasi dan perangkat keras yang dijalankan bekerja dan berinteraksi satu sama lain, Anda mungkin terkejut melihat apa yang tampak sebagai keanehan atau penggunaan "sumber daya" yang kurang baik. Mengapa demikian? Postingan Tanya Jawab SuperUser hari ini memiliki jawaban untuk pertanyaan pembaca yang penasaran.

Sesi Tanya & Jawab hari ini hadir atas kebaikan SuperUser — subdivisi Stack Exchange, pengelompokan situs web Tanya Jawab berbasis komunitas.

Foto milik Lemsipmatt (Flickr) .

Pertanyaan

Pembaca SuperUser AdHominem ingin tahu mengapa CPU x86 hanya menggunakan dua dari empat deringan:

Sistem x86 berbasis Linux dan Windows hanya digunakan Dering 0 untuk mode kernel dan Dering 3 untuk mode pengguna. Mengapa prosesor bahkan membedakan empat cincin berbeda jika semuanya akhirnya hanya menggunakan dua cincin saja? Apakah ini berubah dengan arsitektur AMD64?

Mengapa CPU x86 hanya menggunakan dua dari empat deringan?

Jawabannya

Kontributor SuperUser Jamie Hanrahan memiliki jawabannya untuk kami:

Ada dua alasan utama.

Yang pertama adalah, meskipun CPU x86 memang menawarkan empat cincin perlindungan memori, granularitas perlindungan yang ditawarkan hanya pada tingkat per segmen. Artinya, setiap segmen dapat disetel ke cincin tertentu (tingkat hak istimewa) bersama dengan perlindungan lain seperti nonaktif-tulis. Tetapi tidak banyak deskriptor segmen yang tersedia. Sebagian besar sistem operasi ingin memiliki perincian perlindungan memori yang jauh lebih baik, seperti… untuk halaman individual.

Jadi, masukkan proteksi berbasis tabel halaman. Sebagian besar, jika tidak semua, sistem operasi x86 modern kurang lebih mengabaikan mekanisme segmentasi (sebisa mungkin) dan mengandalkan perlindungan yang tersedia dari bit orde rendah dalam entri tabel halaman. Salah satunya disebut bit "istimewa". Bit ini mengontrol apakah prosesor harus berada di salah satu tingkat "istimewa" untuk mengakses halaman. Tingkat "hak istimewa" adalah PL 0, 1, dan 2 . Tapi itu hanya satu bit, jadi pada tingkat perlindungan halaman demi halaman, jumlah "mode" yang tersedia sejauh menyangkut perlindungan memori hanyalah dua: Sebuah halaman dapat diakses dari mode non-hak istimewa, atau tidak. Karenanya, hanya dua deringan. Untuk memiliki empat cincin yang mungkin untuk setiap halaman, mereka harus memiliki dua bit perlindungan di setiap entri tabel halaman untuk menyandikan salah satu dari empat kemungkinan nomor dering (seperti halnya deskriptor segmen). Namun, mereka tidak melakukannya.

Alasan lainnya adalah keinginan untuk portabilitas sistem operasi. Ini bukan hanya tentang x86; Unix mengajari kami bahwa sistem operasi bisa relatif portabel untuk beberapa arsitektur prosesor, dan itu adalah hal yang baik. Dan beberapa prosesor hanya mendukung dua dering. Dengan tidak bergantung pada beberapa cincin dalam arsitektur, pelaksana sistem operasi membuat sistem operasi lebih portabel.

Ada alasan ketiga yang khusus untuk pengembangan Windows NT. Desainer NT (David Cutler dan timnya, yang dipekerjakan Microsoft dari DEC Western Region Labs) memiliki pengalaman ekstensif sebelumnya tentang VMS; Faktanya, Cutler dan beberapa lainnya termasuk di antara desainer asli VMS. Dan prosesor VAX yang dirancang untuk VMS memiliki empat cincin (VMS menggunakan empat cincin).

Tetapi komponen yang berjalan di VMS Cincin 1 dan 2 (Record Management Services dan CLI, masing-masing) ditinggalkan dari desain NT. Dering 2 di VMS tidak benar-benar tentang keamanan sistem operasi, melainkan tentang menjaga lingkungan CLI pengguna dari satu program ke program berikutnya, dan Windows tidak memiliki konsep itu; CLI berjalan sebagai proses biasa. Adapun VMS Dering 1 , kode RMS masuk Dering 1 harus menelepon Dering 0 cukup sering, dan transisi cincin mahal. Ternyata jauh lebih efisien untuk sekedar pergi ke Dering 0 dan selesai dengan itu daripada memiliki banyak Dering 0 transisi dalam Dering 1 kode (sekali lagi, bukan berarti NT memiliki sesuatu seperti RMS).

Adapun mengapa x86 menerapkan empat cincin sementara sistem operasi tidak menggunakannya, Anda berbicara tentang sistem operasi dengan desain yang jauh lebih baru daripada x86. Banyak fitur pemrograman sistem x86 dirancang jauh sebelum NT atau kernel Unix-ish yang sebenarnya diimplementasikan padanya, dan mereka tidak benar-benar tahu sistem operasi apa yang akan digunakan. Baru setelah kami mendapatkan paging di x86, kami baru dapat mengimplementasikan kernel Unix-ish atau mirip VMS yang sebenarnya.

Sistem operasi x86 modern tidak hanya mengabaikan segmentasi (mereka hanya mengatur segmen C, D, dan S dengan alamat dasar 0 dan ukuran 4 GB; segmen F dan G terkadang digunakan untuk menunjuk ke struktur data sistem operasi utama ), mereka juga mengabaikan hal-hal seperti "segmen status tugas". Mekanisme TSS jelas dirancang untuk pengalihan konteks utas, tetapi ternyata memiliki terlalu banyak efek samping, jadi sistem operasi x86 modern melakukannya "dengan tangan". Satu-satunya saat x86 NT mengubah tugas perangkat keras adalah untuk beberapa kondisi yang benar-benar luar biasa, seperti pengecualian kesalahan ganda.

Mengenai arsitektur x64, banyak fitur yang tidak digunakan ini ditinggalkan. Untuk pujian mereka, AMD benar-benar berbicara dengan tim kernel sistem operasi dan menanyakan apa yang mereka butuhkan dari x86, apa yang tidak mereka butuhkan atau tidak inginkan, dan apa yang ingin mereka tambahkan. Segmen pada x64 hanya ada dalam apa yang disebut bentuk vestigial, pengalihan status tugas tidak ada, dll., Dan sistem operasi terus menggunakan hanya dua deringan.


Punya sesuatu untuk ditambahkan ke penjelasannya? Suarakan di komentar. Ingin membaca lebih banyak jawaban dari pengguna Stack Exchange yang paham teknologi? Lihat utas diskusi lengkap di sini .

Why Do X86 CPUs Only Use Two Out Of Four “Rings”?

Why Do X86 CPUs Only Use 2 Out Of 4 Rings?

Lord Of The X86 Rings: A Portable User Mode Privilege Separation Architecture On X86


Perangkat keras - Artikel Terpopuler

Mengapa Mencabut Perangkat Memperbaiki Begitu Banyak Masalah?

Perangkat keras Jul 31, 2025

studio23 / Shutterstock Saat mencoba memperbaiki gadget yang rusak, Anda mungkin pernah membaca atau diberi tahu hal berikut: Cabut, tunggu 10 de..


Cara Mengakses NAS Synology Anda dari Jarak Jauh Menggunakan QuickConnect

Perangkat keras Mar 29, 2025

NAS Synology Anda menyertakan fitur QuickConnect yang memungkinkan Anda mengakses antarmuka DiskStation Manager dari jarak jauh. Berikut cara menyiapkannya. Anda mungkin di..


Cara Menambahkan Wi-Fi ke Komputer Desktop

Perangkat keras Jul 3, 2025

KONTEN TIDAK CACHED Wi-Fi menjadi lebih umum di komputer desktop, tetapi tidak semua komputer desktop memilikinya. Tambahkan Wi-Fi dan Anda dapat menyambung ke Internet secara nir..


Cara Menyinkronkan Bookmark Google Chrome dengan Ponsel Anda

Perangkat keras Jul 12, 2025

KONTEN TIDAK CACHED Pada titik ini, Google Chrome sedang berkembang pesat. Anda mungkin menggunakannya di komputer desktop dan laptop Anda, serta perangkat seluler apa pun yang mu..


Cara Mengambil Foto dan Merekam Video Dengan Kamera Web Komputer Anda

Perangkat keras Jul 4, 2025

Baik Anda memiliki laptop dengan kamera terintegrasi atau webcam yang dihubungkan melalui USB, Anda dapat menggunakan aplikasi yang disertakan sistem operasi modern untuk meng..


Bagaimana Anda dan Tetangga Membuat Wi-Fi Satu Sama Lain Lebih Buruk (dan Yang Dapat Anda Lakukan Tentang Itu)

Perangkat keras Jul 11, 2025

Jaringan Wi-Fi saling mengganggu. Standar Wi-Fi yang lebih lama bahkan lebih buruk tentang hal ini, jadi perangkat keras Wi-Fi lama Anda tidak hanya merusak jaringan Anda - tetapi j..


Laptop Gaming AORUS X7 memiliki Dual GPU, dengan ketebalan di bawah satu inci

Perangkat keras Jan 8, 2025

KONTEN TIDAK CACHED Kami tidak tahu bahwa sebuah perusahaan dapat mengemas kekuatan sebesar ini ke dalam laptop yang sangat tipis, tetapi mereka telah mengelolanya - dengan kartu ..


Cara Mengatur Kecepatan Berbeda untuk Trackpad dan Mouse Eksternal Anda

Perangkat keras Mar 8, 2025

KONTEN TIDAK CACHED Laptop Anda memiliki trackpad, Anda menggunakan mouse untuk bermain game, dan Anda lelah harus terus-menerus beralih setelan secara manual. Berikut cara memisa..


Kategori