Jawaban singkat: lisensi
Tidak termasuk perangkat keras dari persamaan, sebagian besar merupakan pembatasan perangkat lunak buatan:
Batas [diambil] dari registri dengan memanggil fungsi bernama ZwQueryLicenseValue
, yang itu sendiri dipanggil dari prosedur internal yang Microsoft nama file simbol yang diterbitkan sebagai MxMemoryLicense
.
Sumber: Memori Berlisensi di Windows Vista 32-Bit
Informasi tambahan
Tentu saja, data lisensi yang disimpan dalam registri bahkan dalam format tidak berdokumen dapat dengan mudah diubah oleh pengguna, yang mereka akan memiliki beberapa insentif untuk mencoba karena Microsoft membebankan harga yang sangat berbeda untuk lisensi yang berbeda. Oleh karena itu Microsoft memiliki skema yang rumit untuk memeriksa apakah data lisensi tetap seperti yang diinginkan Microsoft. Kernel adalah tempat penyimpanan untuk apakah data lisensi telah dirusak, dan untuk tujuan ini mengekspor dua fungsi lagi, ExGetLicenseTamperState
dan ExSetLicenseTamperState
.
Sumber: Lisensi Perangkat Lunak
ExGetLicenseTamperState
Fungsi [tidak berdokumen] ini menanyakan kernel apakah data lisensi telah dirusak.
Penggunaan internal dalam timer yang berulang sekitar setiap jam. Jika ditemukan kondisi rusak 4
, maka Windows berhenti. Kode pemeriksaan bug adalah SYSTEM_LICENSE_VIOLATION
( 0x9A
), dengan 0x1B
sebagai argumen pertama.
Sumber: ExGetLicenseTamperState
Contoh praktis
Katakanlah Anda memiliki komputer dengan 32 GiB RAM, dan Anda menginstal Windows 7 Home Premium x64 (64-bit). Dalam hal ini Anda akan dibatasi hingga 16 GiB. Jika Anda menggunakan Windows Anytime Upgrade , dan meng-upgrade ke edisi yang lebih mahal, tiba-tiba batasnya akan ditetapkan menjadi 192 GiB.
Kesimpulan
Semua edisi Windows 7 berbagi kode sumber yang sama. Perbedaan utama adalah jumlah fitur / batasan yang diaktifkan atau dinonaktifkan. Edisi klien profesional dan lebih tinggi tidak memiliki batas atas berapa banyak RAM yang dapat mereka tangani, dan hanya dilisensikan untuk apa yang dijamin Microsoft untuk didukung.
Selain itu, Windows 7 EULA secara eksplisit mengatakan bahwa Anda tidak boleh "menggunakan perangkat lunak untuk layanan hosting perangkat lunak komersial", mengisyaratkan Microsoft berasumsi bahwa jika Anda membutuhkan lebih banyak RAM yang untuknya edisi lisensi klien tertinggi, maka yang Anda inginkan adalah server lisensi. Mitra server Windows 7 (yaitu, Windows Server 2008 R2) dapat menggunakan hingga 2 TiB RAM dalam edisi Enterprise dan Datacenter.
Saat teknologi bergerak cepat, apa yang diterima kemarin mungkin tidak cukup besok. Untuk mengejar ketinggalan, Windows 8 menaikkan batas masing-masing menjadi 128 GiB dan 512 GiB untuk edisi Core dan Pro / Enterprise. Itu hanya berlaku untuk versi 64-bit, meskipun: versi 32-bit masih dibatasi pada 4 GiB. Versi server, Windows Server 2012, dapat mengatasi hingga 4 TiB RAM dalam edisi yang lebih tinggi.
Bacaan lebih lanjut