Apa itu ruang alamat (address space)?
Ruang alamat adalah jumlah memori yang dialokasikan untuk semua alamat yang mungkin untuk suatu entitas komputasi—misalnya, perangkat, file, server, atau komputer yang terhubung ke jaringan. Sistem menyediakan setiap perangkat dan proses dengan ruang alamat yang memuat sebagian tertentu dari ruang alamat prosesor. Ini dapat mencakup alamat virtual atau prosesor fisik yang dapat diakses atau disediakan untuk suatu proses tertentu.
Lebar bus alamat dan register prosesor sering membatasi ruang alamat prosesor. Namun, teknik manajemen memori yang disebut memori virtual dapat memperbesar ruang alamat sehingga lebih besar dari memori fisik.
Ruang alamat dapat diklasifikasikan sebagai datar (flat) atau tersegmentasi (segmented). Ruang alamat datar direpresentasikan oleh bilangan bulat yang meningkat secara bertahap mulai dari nol. Sedangkan alamat tersegmentasi direpresentasikan oleh segmen-segmen independen yang ditambahkan dengan offset atau nilai tertentu untuk menciptakan alamat sekunder.
Dalam beberapa sistem, ruang alamat dapat diubah formatnya melalui proses thunking—kode tingkat rendah yang dihasilkan oleh mesin dan digunakan untuk menerapkan detail sistem perangkat lunak. Thunking sering digunakan untuk menunda perhitungan hingga sistem membutuhkan hasilnya.
Beberapa jenis ruang alamat
Berikut adalah beberapa contoh ruang alamat.
Ruang alamat virtual
Sebuah bilangan biner di memori virtual yang memungkinkan proses menggunakan lokasi di penyimpanan utama disebut alamat virtual. Ini memungkinkan penggunaan memori utama secara independen dari proses lain dan mendukung penggunaan ruang lebih besar dari yang sebenarnya ada. Hal ini dicapai dengan mendelegasikan sebagian konten ke hard disk atau drive flash internal.
Ruang alamat logis
Ruang alamat logis adalah sekumpulan alamat logis yang dihasilkan komputer untuk program tertentu. Sekumpulan alamat fisik yang dipetakan ke alamat logis yang sesuai disebut ruang alamat fisik.
IPv4 ke IPv6
Dalam hal ruang alamat IP, muncul kekhawatiran bahwa ruang alamat 32-bit pada IP versi 4 (IPv4) tidak akan cukup untuk mendukung pertumbuhan besar internet. Oleh karena itu, IPv6 dikembangkan dengan ruang alamat 128-bit.
Penyubnetan ruang alamat IPv6
Tujuan utama penyubnetan ruang alamat IPv6 adalah untuk meningkatkan efisiensi alokasi alamat dengan membagi segmen ruang alamat jaringan menjadi subnet. Memecah jaringan besar menjadi kelompok jaringan kecil yang saling terhubung mengurangi lalu lintas, yang membantu meningkatkan kecepatan jaringan karena lalu lintas tidak perlu melewati rute yang tidak diperlukan. Masker subnet berbagi bagian jaringan dari alamat IP dan rentang alamat host dengan komputer. Rentang alamat host mencakup alamat yang dialokasikan untuk komputer host di jaringan.
Randomisasi tata letak ruang alamat
Randomisasi tata letak ruang alamat adalah mekanisme keamanan memori yang digunakan untuk mencegah eksploitasi kerentanan korupsi memori. Dengan menambahkan elemen acak ke dalam ruang alamat memori virtual proses, eksploitasi menjadi lebih sulit.
Ruang alamat di Microsoft Azure
Ruang alamat untuk jaringan virtual di Microsoft Azure terdiri dari satu atau lebih alamat yang tidak saling tumpang tindih. Rentang alamat ini ditentukan menggunakan notasi Classless Inter-Domain Routing dan didefinisikan sebagai publik atau privat. Saat membuat jaringan virtual, ruang alamat IP privat khusus ditentukan menggunakan alamat publik dan privat. Azure kemudian memberikan sumber daya, termasuk alamat IP privat, dari ruang alamat yang Anda tetapkan dalam jaringan virtual.
Ruang alamat vs ruang memori
Alamat yang digunakan oleh programmer disebut alamat virtual. Sekumpulan alamat virtual ini disebut ruang alamat.
Tempat di mana alamat disimpan dalam memori utama dikenal sebagai lokasi. Sekumpulan lokasi ini disebut ruang memori.
Translasi ruang alamat
Translasi ruang alamat menggambarkan proses mengonsentrasikan nomor frame dengan bagian offset dari alamat logis. Pendekatan ini membantu membentuk alamat fisik.
Tabel halaman basis register menyimpan alamat dasar untuk tabel halaman dari proses saat ini. Ini pada dasarnya adalah register prosesor yang dikelola oleh sistem operasi.