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

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

 لازم به ذکر است که برخی تصاویر سایز بزرگی دارند و به دلیل کوچک کردن تصاویر به منظور نمایش بهینه در سایت ، ممکن است که کیفیت آنها کمی پایین بیاید . برای مشاهده تصاویر در سایز اصلی روی آنها کلیک کنید .

1- توزیع VortexBox 2.1 عرضه شد

روز 24 جولای ، آقای ” اندرو گیلیز ” خبر انتشار نسخه 2.1 توزیع VortexBox را تایید کرد . این توزیع که بر پایه توزیع قدرتمند فدورا ساخته شده است ، میتواند کامپیوتر شما را تبدیل به یک موزیک سرور یا jukebox کند . این نسخه پس از شش ماه تلاش عرضه شده که دارای آپدیت های مهم و همچنین قابلیت های جدیدی میباشد . از بهبودها و قابلیت های این نسخه میتوان به موارد زیر اشاره کرد :

* استفاده از آخرین هسته توزیع فدورا ( با درایور صوتی ارتقا یافته )

* لاجیتک مدیا سرور 7.7.2

* پشتیبانی از بیش از 2.2 ترابایت فضای پشتیبان گیری

* سیستم صوتی جدید ALSA با پشتیبانی بهتر از دستگاه صوتی دارای یو اس بی

* در این نسخه FLAC به جای استفاده از Band tag برای عمل Mirroring فایل های MP3 از ALBUMARTIST استفاده خواهد شد .


دانلود VortexBox 2.1 از سافت پدیا


2- نسخه آلفا 3 توزیع ابونتو 12.10 منتشر شد

روز 26 جولای ، شرکت کنونیکال نسخه آلفا 3 توزیع جدید خود یعنی ابونتو 12.10 را به منظور تست توسط کاربران عرضه کرد . این نسخه از هسته لینوکس 3.5.0.6.6 استفاده میکند که بر پایه نسخه پایدار 3.5.0 هسته لینوکس ساخته شده است . استفاده از آخرین نسخه تحت توسعه میز کار گنوم ( نسخه 3.5.4 ) نیز از دیگر تغییرات این نسخه میباشد که تغییراتی نظیر بازسازی ناتیلوس و … را با خود به همراه دارد .

دانلود Ubuntu 12.10 Alpha 3 از سافت پدیا


3- Chrome OS 2.1 عرضه شد

در تاریخ 27 جولای ، توسعه دهندگان سیستم عامل کروم ، خبر از ارائه نسخه 2.1.1145 دادند که ظاهرا تعداد زیادی برنامه جدید به آن اضافه شده است . از قابلیت های این نسخه میتوان به موارد زیر اشاره کرد :

* هسته لینوکس 3.4.2

* میز کار Cinnamon 1.4

* مرورگر وب کرومیوم 21.0.1145

* نرم افزار پخش فایل های چند رسانه ای Banshee 2.2

* نرم افزار مدیریت تصاویر Shotwell 0.11

* نرم افزار ویرایش تصاویر GIMP 2.6

* نرم افزار انجام کارهای دفتری Libre Office 3.5

* نرم افزار شبیه ساز برنامه های ویندوزی Wine 1.4

* نرم افزار تصویر برداری از طریق وبکم Cheese 3.2

* نرم افزار پیام رسان سریع Pidgin 2.10

* داشبور با نوار ابزار اجتماعی

* مرکز کنترل


دانلود Chrome OS 2.1.1145 از سافت پدیا


اما در بخش آموزش های این هفته یک مطلب برای شما تدارک دیده ایم که مربوط به پردازش های زامبی ( تعریف ، خطرات و روش از بین بردن آنها ) میشود . با گویا آی تی همراه باشید ……

پردازش زامبی چیست ؟

کاربران توزیع های مختلف گنو لینوکس ممکن است در لیست پردازش های خود ، پردازش هایی با نام Zombie مشاهده کنند . شما نمیتوانید به صورت عادی پردازش های زامبی را از بین ببرید ؛ چون آنها قبلا از بین رفته اند . پردازش های زامبی اساسا بیت های باقی مانده از یک پردازش دیگر در حافظه سیستم هستند که به درستی پاک سازی نشده اند . اینگونه اشتباهات معمولا در اثر بی توجهی برنامه نویسان در مدیریت حافظه سیستم رخ میدهد .

اما یک پردازش زامبی به صورت دقیق تر چیست ؟ به منظور اینکه درک بهتری از پردازش های زامبی داشته باشید باید از روش کار پردازش ها در یک سیستم عامل گنو لینوکسی اطلاعات بیشتری بدست بیاورید . پس با ما همراه باشید …..

هنگامی که یک پردازش در لینوکس میمیرد ، به سرعت و به صورت کامل از حافظه سیستم پاکسازی نمیشود . بخش دیگری از پردازش مذکور که با نام Process Descriptor شناخته میشود در حافظه باقی خواهد ماند که البته حجم فوق العاده کمی دارد و مشکلی بوجود نخواهد آورد . سپس وضعیت پردازش مذکور در حالت EXIT_ZOMBIE قرار میگیرد . اکنون به پردازش والد ( Parent Process ) اطلاع داده میشود که پردازش فرزند ( Child Process ) بوسیله سیگنال SIGCHLD مرده است . حالا پردازش والد با اجرای دستور wait() اطلاعات مربوط به پردازش مرده ، وضعیت خروج از حافظه ( Exite Status ) و دیگر اطلاعات را میخواند . پس از انجام این مراحل ، پردازش مرده به صورت کامل از حافظه پاکسازی شده و حافظه متعلق به آن آزاد میشود .

در حالت عادی مراحل بالا بسیار سریع طی شده و به همین دلیل شما نمیتوانید پردازش های زامبی را در سیستم مشاهده کنید . در عین حال اگر پردازش والد به درستی برنامه نویسی نشده باشد و از دستور wait() استفاده نگردد ، پردازش فرزند مربوط به آن تبدیل به یک پردازش زامبی شده و تا زمانی که پاکسازی به صورت کامل انجام نشود ، در حافظه باقی خواهد ماند .

ابزارهایی مانند GNOME System Monitor و دستورات ps و top میتوانند پردازش های زامبی را به شما نشان دهند .


خطرات مربوط به پردازش های زامبی !

پردازش های زامبی از هیچ کدام از منابع سیستمی استفاده نمیکنند ( در واقع هر کدام از آنها مقدار بسیار ناچیزی از حافظه ی سیستم را به منظور ذخیره descriptor خود اشغال میکنند ) . گرچه هر پردازش زامبی ” شناسه پردازش ( PID ) ” خود را حفظ خواهد کرد .

سیستم های لینوکسی میتوانند از تعداد مشخصی از PID ها پشتیبانی کنند که این تعداد در سیستم های 32 بیتی 32767 عدد میباشد . اگر پردازش های زامبی به تعداد بالایی در حافظه قرار گیرند ، میتوانند مشکل ساز شوند . به عنوان مثال اگر نرم افزار موجود در یک سرور به درستی برنامه نویسی نشده باشد ، میتواند باعث ایجاد پردازش های زامبی به تعداد زیاد شود . به این ترتیب کل محدودیت مربوط به تخصیص PIDها به پردازش های زامبی تعلق میگیرد . در نهایت نیز این کار باعث میشود تا از اجرای پردازش های دیگر جلوگیری به عمل آید .

البته لازم نیست زیاد نگران شوید ؛ چون وجود تعداد اندکی پردازش زامبی خطرناک نخواهد بود . گرچه این مورد نشان دهنده وجود باگ در یکی از برنامه های سیستم عامل شماست .


خلاص شدن از شر پردازش های زامبی !

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

اولین راه استفاده از دستور SIGCHLD و ارسال آن برای پردازش والد میباشد . این دستور به پردازش والد میگوید که دستور wait() را اجرا کرده تا بتواند فرزندان زامبی خود را از حافظه پاکسازی کند . البته این دستور باید با دستور Kill نیز ترکیب شود . به صورت کلی روش استفاده از این دستور به شکل زیر است :

Kill -s SIGCHLD pid

نکته : در دستور بالا باید به جای pid ، شناسه پردازش والد را قرار می دهیم .

البته اگر پردازش والد به درستی برنامه نویسی نشده باشد و دستور SIGCHLD را نادیده بگیرد ، این روش تاثیر گذار نخواهد بود . در این صورت شما باید پردازش والد را از بین برده و یا ببندید . هنگامی که پردازش دخیل در تولید زامبی ها از بین برود ، پردازش دیگری به نام init ، والد جدید پردازش های زامبی خواهد شد ( init اولین پردازشی است که در لینوکس و در فرآیند بوت شروع به کار میکند و PID آن نیز عدد یک میباشد ) . پردازش init به صورت دوره ای دستور wait() را به منظور پاکسازی زامبی های فرزند اجرا میکند . بنابراین init میتواند زامبی ها را از بین ببرد . پس از بستن پردازش های والد ، شما میتوانید آنها را مجددا راه اندازی کنید .

در صورتی که پردازش والد همچنان به تولید زامبی ادامه داد ، این باگ باید تعمیر شود . پس میتوانید این مشکل را به تیم سازنده توزیع مورد استفاده تان اطلاع دهید .

منابع 12