Batas 2GB pada sistem operasi 32bit

8

Apakah batas 2GB pada sistem operasi 32-bit berarti bahwa setiap proses hanya dapat mengakses 2GB memori atau bahwa semua proses secara bersamaan hanya dapat menggunakan 2GB memori fisik secara total?

Jadi, apakah 2GB dicadangkan untuk batas kernel jumlah total semua proses bersama dapat digunakan?

Ilmuwan gila
sumber
Harap dicatat Fabian hanya merujuk ke memori fisik, bukan file paging.
Arda Xi
Dia juga merujuk ke Windows saja, bukan sistem operasi pada umumnya.
Arda Xi
Dia mungkin bertanya tentang itu tetapi tidak ada hubungan seperti itu. Setiap proses dapat mengakses 2 GB virtual. Sebagian kecil dari ini adalah dalam RAM ("penduduk"). Pada versi klien Windows 32-bit total memori residen semua proses plus memori residen OS tidak boleh lebih dari 4 GB. Tidak ada pembagian memori fisik 2 GB.
Jamie Hanrahan
Jawaban yang diterima dalam posting ini memberikan info lengkap - stackoverflow.com/questions/490520/…
RBT

Jawaban:

4

Ada banyak kesalahpahaman tentang batas memori dalam OS Windows 32-bit.

Pertama-tama, ketika saya mengatakan RAM, ini termasuk setiap jenis RAM. Jadi bukan hanya biasa, tetapi juga RAM video Anda.

Jumlah maksimum RAM yang tersedia per proses untuk OS 32-bit adalah 2 GB. Jika Anda memiliki OS 64-bit, proses 32-bit dapat mengalokasikan hingga 4 GB.

Selain itu, seluruh OS hanya dapat mengatasi 4 GB untuk setiap proses yang digabungkan, sedangkan OS 64-bit dapat mengalokasikan 8 TB.

Juga menarik adalah bahwa batas ini bertambah hingga kumpulan halaman. Ini berarti bahwa OS 32-bit tidak dapat menggunakan total lebih dari 2 GB, yang berarti 6 GB untuk semua aplikasi termasuk memori virtual. Tentu saja, ini tidak ada hubungannya dengan RAM, karena 2 GB lainnya akan disimpan dalam file paging, terbatas pada kecepatan hard drive Anda.

Untuk informasi lebih lanjut, lihat Batas Memori untuk Rilis Windows .

Catatan: ini hanya untuk aplikasi. OS Windows 32-bit dapat mengalokasikan hingga 4 GB total, tetapi 2 GB ini dialokasikan untuk penggunaan sistem saja, hanya menyisakan 2 GB untuk aplikasi yang akan digunakan. Dalam kasus-kasus tertentu (terutama OS yang lebih baru) ini dibagi 3 GB untuk aplikasi dan 1 GB untuk kernel.

Saya hanya membahas Windows karena itu adalah konteks di mana pertanyaan itu dimaksudkan. Saya tidak terbiasa dengan batasan OS lainnya.

Arda Xi
sumber
2
jawaban ini tidak lengkap - itu tidak termasuk konsep "ruang alamat" di luar mengatakan memori video disertakan, dan fakta ruang alamat pada sistem operasi 32-bit sebenarnya terbatas pada 4GB tanpa ekstensi, bukan 2GB (Anda bahkan dapat mengetahui salinan 32-bit XP untuk boot dengan 3GB ram)
lunixbochs
1
Pertanyaannya bukan tentang ruang alamat itu. Saya bisa membuat Anda bosan dengan membahas cara memori ditangani dan batas bilangan bulat 32-bit, tapi bukan itu yang dimaksud dengan pertanyaan ini, jadi sepertinya tidak perlu rumit. Dan ya, Anda bisa menggunakan sakelar / 3GB. Pertanyaan ini tidak termasuk itu.
Arda Xi
1
Batas memori 4GB hanya berlaku untuk memori fisik pada arsitektur standar 32bit x86. Memori virtual berbeda dan OS 32bit dapat menggunakan jauh lebih dari 4GB memori (total tidak per proses) jika menggunakan file halaman atau partisi swap. Kecepatan harddisk tidak memiliki pengaruh pada ukuran file halaman yang tersedia atau ruang swap, jika harddisk memiliki ruang, daripada yang bisa halaman atau swap. Ini hanya memengaruhi kinerja paging / swap.
1
Oh saya lupa menyebutkan, ram video bukan faktor, kecuali ram video terintegrasi berbagi ram utama, tetapi bahkan kemudian hanya mengurangi dari ram fisik yang tersedia. Itu tidak mempengaruhi memori virtual yang tersedia. Kartu video khusus memiliki prosesor dan memori sendiri yang tidak memiliki faktor dalam memori sistem yang tersedia.
@Spooky Tidak sepenuhnya benar. Jika Anda akan melihat tautan saya, Anda akan melihat bahwa kumpulan halaman dibatasi oleh ruang alamat virtual mode-kernel yang 2 GB. Ini berarti sekitar 6 GB total.
Arda Xi
0

Jika OP merujuk ke OS Windows, maka semua OS 32-bit terbatas pada total 4GB kecuali untuk pusat data server 2003 atau perusahaan dengan konsep yang disebut PAE (Physical Address Extension). Ini juga tersedia di kernel linux modern. Tentu saja, prosesor 32-bit menjadi lebih langka di luar ruang seluler.

skub
sumber