Memori Berkabel vs. Memori Aktif di OS X

13

Saya mengalami kesulitan memahami perbedaan antara Memori Berkabel dan Memori Aktif di OS X.

Jangan bicara tentang empat jenis memori (jangan bicara tentang memori bebas atau tidak aktif, karena saya sudah tahu apa ini). Hanya membandingkan dan membedakan memori berkabel dengan memori aktif sehingga saya dapat memahami keduanya dengan lebih baik.

tony_sid
sumber

Jawaban:

28

Pengingat lembut: Untuk memberikan jawaban yang lebih baik untuk seluruh komunitas, jangan katakan sesuatu seperti "Jangan bicara tentang empat jenis memori". Bahkan jika Anda mengetahuinya dengan baik, mungkin ada seribu satu warga Internet yang tiba di sini berharap mendapat jawaban jaminan. :)

"Paging" adalah istilah yang akurat untuk tindakan berikut. "Swapping" digunakan sehari-hari untuk "paging", cukup bergantian hari ini, meskipun. "Swapping" awalnya mengacu pada pemindahan ruang memori program sepenuhnya ke "penyimpanan sekunder" (sebagai lawan dari "penyimpanan utama", yang merupakan istilah kuno untuk ... RAM, dengan cara tertentu). Batas antara paging dan swapping sangat kabur oleh sistem Windows dan Unix yang memanggil swap paging space.

Dan kemudian, orang harus tahu tentang paging untuk memahami konsep memori aktif, kabel dan tidak aktif. Paging berarti bahwa halaman memori dipindahkan dari memori akses acak (yaitu, RAM) dan ke hard disk atau perangkat penyimpanan sekunder lainnya. Ini memungkinkan aplikasi yang berjalan untuk meminta lebih banyak memori daripada jumlah total RAM sistem yang tersedia.

Perhatikan bahwa meskipun paging out berarti penalti kinerja yang sangat besar untuk mengakses kembali sedikit informasi tertentu, paging dapat terjadi dalam dua kasus berbeda: (Mengutip diri sendiri: Kerugian karena tidak memiliki partisi swap )

  1. Ketika tidak ada memori CUKUP untuk semua aplikasi - dalam hal ini terjadi pada sistem tanpa ruang swap, itu akan menyebabkan kegagalan untuk mengalokasikan memori untuk aplikasi baru yang meminta halaman memori baru - dan ini biasanya mengakibatkan penghentian program.
  2. Ketika beberapa halaman memori (memori dibagi menjadi "halaman") digunakan beberapa waktu lalu, tetapi tidak lagi digunakan sekarang, itu akan ditransfer ke file swap dan sisa memori dapat digunakan untuk melakukan sesuatu yang lain yang bisa lebih berguna (misalnya, bahkan caching!) - ketika ini terjadi dalam sistem tanpa ruang swap, ini akan mengakibatkan halaman idle tetap tersimpan dalam memori. Ini tidak terlalu serius, karena kami memiliki jumlah memori yang cukup besar akhir-akhir ini.

Keempat jenis memori diklasifikasikan sebagai berikut:

  • Wired: Digunakan oleh aplikasi yang mengklaim bahwa potongan memori yang dialokasikan harus tetap secara fisik di RAM, dan tidak ditukar ke disk, tidak peduli apakah itu baru-baru ini digunakan atau tidak, yaitu, aplikasi lain TIDAK boleh meminta potongan memori tertentu. Contohnya adalah bagian dari memori yang digunakan oleh sistem, dan yang digunakan oleh mesin virtual.

  • Aktif & Tidak Aktif: Ini adalah memori yang biasanya digunakan oleh aplikasi mode pengguna, di mana mereka dapat ditukar ke disk. "Aktif" berarti bahwa itu baru saja digunakan, dan "Tidak Aktif" berarti itu tidak baru-baru ini digunakan. Sistem operasi akan menukar halaman tidak aktif terlebih dahulu, dan kemudian halaman aktif nanti jika perlu.

  • Memori bebas: Memori yang tidak digunakan. Ini digunakan untuk keperluan lain seperti caching dari hard disk.

Jika pertanyaan Anda adalah, "Dalam situasi yang mengerikan di mana memori tidak memadai, dalam urutan apa sistem akan mencoba mengalokasikan memori ke aplikasi baru?", Maka urutannya adalah mengalokasikan

memori bebas → memori tidak aktif → memori aktif

Dalam arti tertentu, bahkan memori yang baru saja digunakan dapat dipetakan. Bagian "kabel" adalah apa yang tidak akan dikeluarkan dengan cara apa pun.

Namun, dalam sistem modern, agak tidak mungkin memori aktif terprogram karena kami memiliki banyak RAM.

bubu
sumber
Sekarang Anda membuat pertanyaan ini lebih rumit daripada seharusnya dengan berbicara tentang jenis memori lain. Jadi sekarang saya harus bertanya tentang memori aktif vs tidak aktif. Saya mendengar bahwa memori tidak aktif sebenarnya adalah memori bebas. Tentang apa itu. Apakah memori aktif juga membebaskan memori? Bandingkan dan kontraskan memori aktif dengan memori tidak aktif.
tony_sid
1
Saya mendengar bahwa memori tidak aktif hanyalah cache jika program yang ditutup dijalankan kembali. Jika itu benar maka mengapa perlu dimasukkan ke disk?
tony_sid
1
Anda mendengar sesuatu yang salah. Aplikasi yang tertutup akan membebaskan memorinya kecuali ada sesuatu yang salah dengan arsitektur memorinya.
bubu
2
jawaban yang fantastis! +1
posdef
1
@tony_sid diskusi lama tetapi apa yang Anda dengar adalah benar. Seperti yang disebutkan pada dukungan Apple "Namun, jika Anda membuka Mail sebelum memori tidak aktifnya digunakan oleh aplikasi yang berbeda, Mail akan terbuka lebih cepat karena memori tidak aktif dikonversi ke memori aktif, daripada memuatnya dari drive yang lebih lambat."
Gaurav