Apakah batas RAM 4 GB pada sistem 32-bit juga memengaruhi ruang swap?

11

Diketahui bahwa sistem 32-bit hanya dapat menangani 4 GB sebagai jumlah maksimum RAM.

Di Linux, apakah batas ini juga berlaku untuk menukar partisi? Jika RAM + swap saya melebihi 4 GB, apakah ini akan digunakan sepenuhnya?

Jika jawabannya "tidak, itu tidak berlaku untuk swap", mengapa?

Sekhemty
sumber
3
Pernyataan keterbatasan memori fisik ini tidak benar di semua platform ... "Ekstensi Alamat Fisik (PAE) adalah fitur untuk memungkinkan unit pemrosesan pusat (CPU) 32-bit x86 mengakses ruang alamat fisik (termasuk memori akses acak dan pemetaan memori) perangkat) lebih besar dari 4 gigabytes. " en.wikipedia.org/wiki/Physical_Address_Extension
f1assistance
1
@ paket Jangan membingungkannya lagi. Dia benar-benar perlu pergi dan belajar tentang konsep dasar seperti pengalamatan virtual dan paging terlebih dahulu.
David Marshall
1
Tidak masalah, saya tidak takut belajar.
Sekhemty

Jawaban:

12

Tidak, Bayangkan RAM seperti meja Anda, dan ruang swap / memori virtual seperti lemari arsip. Anda dapat memasukkan banyak informasi ke dalam lemari arsip, tetapi sulit diakses. Setiap kertas yang ingin Anda gunakan, Anda harus menarik dan meletakkannya di atas meja; masalahnya adalah meja hanya bisa menampung begitu banyak kertas sekaligus.

Mesin 32-bit hanya dapat memiliki meja yang 4GB (2 ^ 32, atau sekitar 4 miliar byte) besar, tetapi mereka masih dapat memiliki lemari arsip yang hampir tidak terbatas. Mereka hanya perlu "menukar" kertas ketika meja penuh dan mereka perlu melihat halaman lain yang ada di lemari arsip.


Alasan itu tidak berlaku untuk swap adalah karena mengakses konten RAM atau mengeksekusi kode dari itu terbatas pada ukuran angka yang dapat bekerja dengannya. Anggap saja Anda hanya dapat memiliki 4 miliar kata di atas meja, karena itu setinggi yang Anda bisa hitung, dan Anda perlu bekerja secara langsung dengan kata-kata. "Kata 3.547 salah eja. Ubah kata 3.452.780 menjadi 'Halo'. Hapus kata 6."

Sekarang, setiap halaman mungkin memiliki 4.000 kata di atasnya. Tangkapannya adalah ketika Anda mereferensikan ruang swap, Anda tidak merujuknya dengan kata, hanya dengan halaman. Jadi Anda masih dapat menghitung hingga 4 miliar, tetapi Anda dapat menghitung hingga 4 miliar halaman. 4 miliar halaman sebenarnya berisi 16 triliun kata - jauh, jauh lebih tinggi daripada yang dapat Anda hitung.

Mesin 64-bit hanya dapat menghitung lebih tinggi, sehingga mereka dapat meletakkan semua halaman di atas meja sekaligus, jika mereka memiliki meja yang cukup besar. Bahkan jika Anda meletakkan meja super besar di mesin 32-bit, Anda masih dapat menghitung sampai 4 miliar, jadi Anda tidak memiliki cara untuk merujuk semua kata tambahan di atas meja.

Darth Android
sumber
Jadi, apa yang ingin Anda sampaikan kepada saya adalah bahwa ruang swap berfungsi sebagai indeks untuk memori RAM? Dan, akibatnya, satu GB swap mewakili lebih banyak memori daripada satu GB RAM? Bagaimanapun, saya masih tidak mengerti mengapa sistem tidak dapat mengelola lebih dari 4GB RAM, tetapi sebaliknya bisa dengan swap. Mengapa kita tidak menggunakan swap, bukan RAM?
Sekhemty
1
Swap space seperti memori "unloaded", dan dirujuk dalam bongkahan yang jauh lebih besar. 1GB RAM adalah 1GB swap, tetapi RAM ditujukan per byte dan swap ditangani per chunk. Contoh lain mungkin dengan memikirkan mengemas kacang. Berapa banyak kacang kemasan yang bisa Anda pegang? Mungkin 100 sebelum mencoba mengambil lebih banyak menyebabkan beberapa muncul di antara jari-jari Anda? Sekarang, berapa banyak kacang kemasan yang bisa Anda pegang jika kita masukkan ke dalam kotak? Ribuan? Swap agak seperti kotak. Anda dapat mengelola data dalam potongan yang lebih besar, tetapi Anda tidak dapat mengakses data itu sendiri.
Darth Android
1
@Sekhemty: Untuk pertanyaan kedua Anda tentang mengapa kami menggunakan swap setiap saat - File swap ada di hard disk Anda dan kecepatan komputer dapat mengakses data pada hard disk tergantung pada kecepatan akses disk (dan lalu beberapa). Tetapi bahkan hard disk tercepat jauh lebih lambat daripada RAM fisik. Jadi ini pertanyaan tentang kecepatan. Juga arsitektur x86 saat ini tidak mengizinkan ini (tidak ada RAM; hanya swap). File Swap adalah konsep OS yang tidak disadari oleh sistem.
bobbyalex
10

Anda membingungkan memori fisik dan virtual.

RAM adalah memori fisik. Ruang swap dapat berisi banyak ruang alamat virtual 4GB.

David Marshall
sumber