سولاريس :: VMEM.

واجهة بيرل إلى مخصص الذاكرة الظاهرية
التحميل الان

سولاريس :: VMEM. الترتيب والملخص

الإعلانات

  • Rating:
  • رخصة:
  • Perl Artistic License
  • السعر:
  • FREE
  • اسم الناشر:
  • Alexander Golomshtok
  • موقع ويب الناشر:
  • http://search.cpan.org/~agolomsh/

سولاريس :: VMEM. العلامات


سولاريس :: VMEM. وصف

واجهة بيرل لمخصص الذاكرة الظاهرية تميل التطبيقات الحديثة تستهلك المزيد والمزيد من الذاكرة وذاكرة أكبر وطاقة الكمبيوتر تصبح متاحة، وبالتالي فإن أهمية معالجة مجموعة كبيرة يتزايد. أيضا، فإن الأهمية النسبية للكفاءة الذاكرة أصبحت أعلى وأعلى لسرعة وحدة المعالجة المركزية تتزايد بشكل أسرع بكثير من ذاكرة الوصول speeds.Here وطريقة واحدة لعنوان أفضل القضية، وخاصة بالنسبة صفائف كبيرة في تطبيقات وضع 64 بت. الفكرة المعروضة هنا هي استخدام الذاكرة الظاهرية قدرات صفحة الطلب في صلب منصة سولاريس أو أي نظام تشغيل حديث (OS). والحل لمشكلة صفائف المخصصة malloc الأصغر هو خلق صفائف أكبر من ذلك بكثير، ولكن للقيام بذلك دون تكبد تكاليف في الذاكرة (مساحة المبادلة) يتطلب أن malloc. هذا ما توفر صالحة الذاكرة الظاهرية. يمكن للمطورين إنشاء صفائف كبيرة جدا التي لديها خصائص الأداء نفس الذاكرة المخصصة malloc العادية، ولكن من دون الحاجة إلى تستهلك موارد تصل front.The سولاريس :: حزمة فميم يسمح لك لحجز كمية كبيرة من مساحة العنوان الظاهرية لمجموعة من الأشياء التعسفي، دون حجز مساحة الذاكرة أو المبادلة لذلك. يحدث تخصيص الذاكرة الفعلية (المبادلة) بتكاسل، وهذا هو، فقط عند ملء الذاكرة مع البيانات، صفحة صفحة. تنفيذ معين المعروضة هنا هي لأنظمة سولاريس يعمل على ألترا processors.Note أنه في الذاكرة الظاهرية (VM) بيئات أنظمة malloc أيضا لا تخصيص الذاكرة حتى يتم ملء تلك الذاكرة مع البيانات. ومع ذلك، malloc لا نحتفظ الذاكرة (مساحة المبادلة) لكل التخصيص. ولذلك، إذا تخصيص كمية كبيرة من الذاكرة مع malloc، يجب أن يكون لديك مساحة كافية مقايضة لدعمها، أو malloc آخر سيعود NULL. صالحة الذاكرة الظاهرية لا ذاكرة الاحتياطي (مساحة المبادلة)، مما يتيح لك إنشاء صفائف افتراضية أكبر بكثير من الذاكرة المتوفرة (مساحة المبادلة) الفرق. هذا مهم بشكل خاص في وضع 64 بت حيث سولاريس :: فميم يسمح لك لحجز العديد تيرابايت من مساحة العنوان الظاهرية. خلق ما يكفي من مساحة المبادلة القرص لدعم هذه المساحة عنوان كبير (ناهيك عن الذاكرة الفعلية) غير عملي حتى مع الأقراص غير مكلفة اليوم. يتكون الظاهري الذاكرة صالحة API المقترحة من ثلاثة إجراءات، أول اثنين من التي تشبه خالية من malloc التقليدي. وفيما يلي النماذج وصفا موجزا لهذه الوظائف $ حجم = الوك ($ فار، $ req_size)؛ الوك () تخصيص جزء من مساحة العنوان الظاهرية من حجم معين، في بايت. على النجاح، والوك () إرجاع الحجم الفعلي للقطعة الذاكرة و"العلاقات" حجة $ فار إلى المساحة المخصصة. سيقوم النظام VM تخصيص الذاكرة لهذه المجموعة، صفحة صفحة، كما يمكنك ملء مجموعة مع البيانات. يتم تقريب قيمة $ req_size حتى المقبل boundary.release الصفحة المعدنية ($ فار)؛ اطلاق سراح () يدمر مساحة الذاكرة الظاهرية المرتبطة $ حجة فار والعوائد أي الذاكرة ومساحة العنوان الظاهرية محفوظة لإعادته إلى النظام. $ newsize = تقليم ($ فار، $ req_size)؛ تقليم () يقلل من حجم قطعة الذاكرة الظاهرية نظرا إلى حجم أصغر الظاهري (بالبايت). هذا الروتين هو اختياري. قد يكون من المفيد عندما يكون لديك شغل مجموعة مع البيانات وأعرف أنك لن تحتاج إلى أي ذاكرة أكثر مما كنت قد خصصت بالفعل وشغلها. يتم تقريب قيمة $ req_size يصل الى حد الصفحة المقبل. وfuncation إرجاع الجديد (الفعلي) حجم الذاكرة الظاهرية chunk.The تقليم () تسمح وظيفة لك بالعودة بعض مساحة العنوان الظاهرية في الجزء الخلفي لهذا النظام. إذا كنت قد وضعت أي بيانات في نطاق من عناوين الماضي نهاية "قلص" قطعة الذاكرة، فإنه سيتم تحرير الذاكرة المقابلة، ان هذه البيانات لن يكون هناك المتاحة. يدعو هذا الروتين له تأثير إلا إذا $ req_size (تقريبي يصل الى حد الصفحة التالية) هو أصغر من size.Once الظاهري الأصلي كنت قد قلص جزءا الذاكرة الظاهرية مع تقليم ()، لا يمكن أن تنمو في أي أكثر من إضافة بيانات إلى نهايته. فإن أي إشارة إلى ما بعد $ newsize الحدود يؤدي إلى خطأ. انها فكرة جيدة لخفض قطعة من الذاكرة فقط إذا كنت معقول بالتأكيد لن تحتاج أي وقت مضى لتوسيع هذا الاستخدام مجموعة again.SYNOPSIS سولاريس :: فميم. $ حجم = الوك ($ التعادل، 16384). $ حجم = تقليم ($ التعادل، 8192)؛ إطلاق سراح ($ التعادل)؛ متطلبات: perl.


سولاريس :: VMEM. برامج ذات صلة