قسمت بیست و هفتم آموزش lpic1

ارسال پست
نمایه کاربر
phoenix
مدیر کل سایت
مدیر کل سایت
پست در این موضوع: 1
پست: 222
تاریخ عضویت: شنبه 29 مهر 1396, 11:10 am
محل اقامت: مشهد
نسخه فدورا: 29
نوع دسکتاپ: LXQT
تماس:

قسمت بیست و هفتم آموزش lpic1

پست توسط phoenix » جمعه 13 بهمن 1396, 12:13 pm

مدیریت کتابخانه های به اشتراک گذاشته شده (Managing Shared Libraries)
ایده ای که پشت سر این موضوع هست در اصل مدیریت کردن قطعه برنامه های پرکاربرد به صورت جدا از برنامه اصلی هست. بطور مثال یکی از کتابخانه های پرکاربرد، کتابخانه c (libc) می باشد که خیلی از ویژگی های سطح بالای زبان c را ارایه می دهد.
نمونه دیگری از کتابخانه های پرکاربرد در مورد GUI یا همان رابط کاربری هستند. این کتابخانه ها اغلب بنام مجموعه ویجت ها نامیده می شوند چون آنها ویجت هایی را ارایه می دهند که توسط برنامه ها، اسکرول بارها، منوبارها و ... استفاده می شوند. GIMP Tool Kit و Qt از نمونه های محبوبی هستند که به عنوان مجموعه ویجت شناخته می شوند و هر دو شامل تعداد زیادی کتابخانه هستند.
در لینوکس از (glibc) یا (GNU C Library) که نسخه ای از کتابخانه های c هست استفاده می شود.
فایل های کتابخانه براحتی می توانند به متن اصلی یک برنامه لینک شوند و توسط کامپایلر، کامپایل شوند، اما این ایده دارای اشکالات زیر می تواند باشد:
❗️فایل اجرایی برنامه نهایی، سایز بزرگی خواهد داشت و این به معنی نیاز داشتن به فضای کافی بر روی دیسک و همچنین فضای کافی در RAM هنگام لود برنامه هست.
❗️اگر چندین برنامه از یک کتابخانه استفاده کنند مشکل بزرگ شدن سایز فایل اجرایی هم به تناسب تکرار شده و همچنین فایل کتابخانه به ازای هر برنامه یک بار بر روی دیسک و رم ذخیره می گردد.
❗️برنامه نمی تواند نتیجه مطلوبی در بهینه سازی کتابخانه ها بگیرد تا زمانی که بطور کلی مجدداً کامپایل نشود.

🔅رفع مشکلات مطروحه با ایده کتابخانه های اشتراکی
برای رفع مشکلات مطروحه، اغلب برنامه ها فایل کتابخانه خود را بصورت اشتراکی استفاده می کنند و هر برنامه فقط از کتابخانه های مورد نیاز خود استفاده می کند و فایل اجرایی برنامه فقط رفرنسی به یک کتابخانه دارد نه اینکه تمام آن کتابخانه را در خود جای دهد. در این حالت فقط فایل اجرایی برنامه اجرا می شود و در زمان نیاز به کتابخانه ها رجوع می کند و این باعث می شود حجم فایل اصلی کم بماند و یک بار فضا در رم و دیسک برای کتابخانه ها اختصاص داده شود. همچنین برنامه تنها با به روز رسانی فایل کتابخانه، می تواند نتیجه مطلوبی در بهینه سازی کتابخانه ها بگیرد.

نکته: کتابخانه های اشتراکی در لینوکس دقیقاً مانند (DLL) یا (Dynamic link libraries) در ویندوز عمل می کنند.
منبع کانال:lpiclearn
تصویر برای ادامه کار و بالا رفتن کیفیت آموزش ها نیاز به حمایت مالی شما داریم پس لطفا از ما حمایت کنید
از اونجایی که برای جمع آوری و ترجمه و تالیف یک پست آموزشی زمان و زحمت زیادی صرف شده است.
لطفاً در صورت استفاده از این مطلب در سایت یا مقاله و ..... حتما با ذکر منبع و لینک برگشتی باشد.

مسلما این حمایت شما دوستان موجب پایداری اینگونه اثرها خواهد بود سربلند و پیروز باشین

ارسال پست

بازگشت به “lpic-1”