برنامج Google Chrome من أكثر البرامج في استهلاك الموارد بشكل أناني , لكن يمكن لنا كمبرمجين أن نتعلم

برنامج Google Chrome من أكثر البرامج في استهلاك الموارد بشكل أناني , لكن يمكن لنا كمبرمجين أن نتعلم منه الكثير في تصميم البرامج. (سلسلة) https://t.co

برنامج Google Chrome من أكثر البرامج في استهلاك الموارد بشكل أناني , لكن يمكن لنا كمبرمجين أن نتعلم منه الكثير في تصميم البرامج.

(سلسلة) https://t.co/2WT8IenxOM

في الصورة السابقة تظهر Process متصفح كروم و تحتها Processes أخرى, هذه تسمى Child Process و هي عندما تقوم بتشغيل Process من أخرى بواسطة الكود. لكن لماذا يقوم كروم بذلك ؟

في السلسلة السابقة ذكرت أن الProcess عبارة عن حاوية معزولة تحتوي الكود كـ ( Thread ) و بها الذاكرة سواء Heap او Stack و بها ما يتعلق بالSecurity كـIPC و غيره.

عندما نقوم بعمل قتل Kill للProcess تقوم الProcess كشخص راقي قبل موتها بتنظيف نفسها من الذاكرة و تتخلى عن جميع الموارد . لكن هذا الأمر لا ينطبق على الThreads الأشبه بالطفل , فقتل الThread قد يسبب مشاكل و فوضى كثيرة. لذا نكتفي مثلا بعمل ايقاف له Suspend حتى نعرف السبب.

بما أن Google Chrome يدعم الExtensions و التي يطورها اشخاص آخرين, فإن Google لا تضمن جودة تلك البرمجيات , لذا تعزلها في Process أخرى بحيث لو حصلت مشكلة فلن يتأثر الChrome. هذا سبب تلك الSub Processes في الصورة.


يسري العروسي

11 مدونة المشاركات

التعليقات