امیرحسین کریم پور
مدیر ارشد توسینسو و متخصص سرویس های مایکروسافت

نحوه کارکرد Compositor و Window Manager در لینوکس

سلام خدمت دوستان عزیز لینوکسی. در این مطلب مهم تصمیم داریم که در مورد نحوه کار Compositor و Window Manager در لینوکس و ارتباط بین اون ها صحبت کنیم.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

زمانیکه داریم از Compositing Window Manager یا همون Compositor هایی مثل Kwin ، Weston ، Mutter ، Compton و امثالهم استفاده می کنیم هر پنجره/صفحه از یک اپلیکیشن/برنامه یه off-screen buffer داره. کار Compositor بافر کردن صفحه ی برنامه ها توی تصویری که نمایشگر نشون میده و نوشتن اون توی Display Memory (حافظه اختصاصی روی GPU) هستش. خوب الان وظیفه Window Manager چیه ؟ این وظیفه WM هست که ترکیب یا composition ای از صفحاتی از هر برنامه ای که توی بافر ذخیره شده رو توی صفحه نمایش منعکس ، ایجاد و مدیریت کنه. البته همونطور که میدونید Window Manager نمیاد سرسری پنجره ها و صفحات رو خودش compose یا درست نمی کنه بلکه این کاربر هست که با دستورات ماوس و کیبورد این کار رو شروع می کنه. خوب پس الان فهمیدید که کار Compostior بصورت ساده ایجاد پنجره برنامه ها کنار هم و جلوگیری از overlap شدن اتفاقی اونا زمان اجرای چندین برنامه کنار هم دیگه هستش. 

قبل از پا به عرصه گذاشتن Compositor ها از Stacking Window Manager ها که بهش Floating Window Manager هم میگفتن استفاده میشد. SWM ها کارشون این بود که وقتی میخواستی پنجره ای از برنامه ای رو مجددا روی صفحه نمایش بیاری و این در حالی باشه که یه پنجره یه برنامه دیگه روی صفحه نمایش باز بوده باشه پیغامی شبیه window is exposed رو نشون میداد ! که البته خوبم هستش چون همه Compositor هایی که الان داره استفاده میشه میشه گفت ترکیبی از الگوریتم Stacking Window Manager دارن استفاده میکنن بخاطر اینکه بحث Overlapping صفحات به تنهایی چیز بدی نیست.

Compositor ها علاوه بر کار هایی در بالا بهش اشاره شد میتونن Transparency یا شفافیت پنجره ها ، انیمیشن سازی جابجایی پنجره ها و افکت سه بعدی نشون دادن رو هم هندل کنن که برای کسایی که گیم بازی می کنن یا کار های گرافیکی انجام میدن خیلی میتونه کمک کنه. همونطور که احتمالا حدس میزنید بودن Compositor الزامی نیست و فقط بار اضافی رو دوش سیستم میذاره.

نکته : بعضی از Desktop Environment ها مثل GNOME کامپوزیتور خودشون رو دارن که وقتی نصب میشن Compositor ای که تو دلشون دارن هم خودکار نصب میشه. امیدوارم مورد توجه شما قرار گرفته باشه.


امیرحسین کریم پور
امیرحسین کریم پور

مدیر ارشد توسینسو و متخصص سرویس های مایکروسافت

امیرحسین کریم پور ، مدیر ارشد توسینسو ، متخصص در حوزه سیستم عامل های کلاینت و سرور مایکروسافت و سرویس های مربوطه ، سیستم عامل لینوکس ، مجازی سازی و ... سابقه کار با سازمان ها و شرکت های مختلف در زمینه سرویس های مایکروسافت در قالب پروژه ، مشاوره و آموزش. علاقه مند به حوزه امنیت اطلاعات و تست نفوذ سنجی

نظرات