بهبود کارایی لینوکس با I/O scheduler جدید کرنل 4.12

یکی از وظایف اصلی هسته سیستم عامل، مدیریت دستگاه‌های ورودی و خروجی سیستم یا به اصطلاح I/O می‌باشد. برنامه‌های مختلفی که نیاز به دسترسی به دستگاه‌ها ورودی و خروجی دارند درخواست‌های خود را به هسته سیستم عامل ارسال می‌کنند و هسته سیستم عامل با توجه به تعداد درخواست‌هایی که برای دستگاه‌های مختلف وجود دارد، این درخواست‌ها را در صف قرار داده و برای انجام زمانبندی می‌کند. شیوه زمانبندی این درخواست‌ها تاثیر به سزایی در سرعت و پاسخگویی سیستم دارد. معمولا به دلیل کند بودن بعضی از دستگاه‌های ذخیره‌سازی همانند دیسک‌های سخت نسبت به سایر بخش‌های اصلی سیستم همچون CPU و RAM، عملیات I/O به عنوان یکی از دلایل اصلی کند بودن سیستم و پاسخگو (Responsive) نبودن برنامه‌ها می‌باشد.

روش‌ها و الگوریتم‌های مختلفی برای زمانبندی I/O وجود دارد. روش‌هایی که تاکنون در هسته لینوکس برای زمانبندی I/O استفاده می‌شد شامل CFQ، NOOP و Deadline بود. با ظهور دستگاه‌های ذخیره‌سازی جدید که قادر به انجام صدها و هزاران درخواست I/O در ثانیه می‌باشند، نیاز به روش‌های زمانبندی جدید که قادر به استفاده از این پتانسیل عظیم باشد بیش از پیش حس می‌شد. یکی از بهبودهایی که از کرنل نسخه 3.13 وارد هسته لینوکس شد multiqueue block layer بود که منجر به افزایش کارایی سیستم در استفاده از دستگاه‌های ذخیره سازی با کارایی بالا می‌شود. منتها این مکانیزم به خودی خود بدون وجود الگوریتم‌های زمانبندی که از این مکانیزم استفاده کنند فایده چندانی نداشت. ولی سرانجام در کرنل نسخه 4.12 دو زمانبند جدید که از این مکانیزم استفاده می‌کنند وارد هسته لینوکس شد. این الگوریتم‌ها به ترتیب BFQ و Kyber می‌باشند. زمانبند BFQ مکانیزمی است که بیشتر برای استفاده در دیسک‌های سخت HDD استفاده می‌شود که منجر به بهبود زمان تاخیر برنامه‌های تعاملی و بهبود کارایی سیستم می‌شود. الگوریتم Kyber هم بدلیل پیچیدگی کمتر نسبت به BFQ برای دیسک‌های SSD و سریعتر استفاده ‌می‌شود.

به تازگی کرنل 4.12 وارد مخازن آرچ شد و کاربران آرچ امکان استفاده از این مکانیزم‌های جدید رو پیدا کردند. این زمانبند‌ها در حالت عادی فعال نیستند و برای فعال شدن آنها باید کارهای زیر را انجام بدید. توصیه می‌کنم که اگر سیستم شما از HDD استفاده می‌کند از BFQ استفاده کنید و برای SSD ترجیحا از Kyber و یا از روش‌های فعلی موجود استفاده کنید.

ادامه مطلب

تغییر رنگ خروجی اسکریپت (bash)

شاید موقع نوشتن اسکریپت,نیاز داشته باشین بخشی از خروجی اسکریپتتون رو با یه رنگ دیگه نمایش بدین.(مثلا ارور ها یا وارنینگ ها)

برای این کار شما میتونین از برنامه tput استفاده کنین.به این صورت:

 tput setaf [0-7]

(بعد از setaf  با توجه به رنگ مورد نظرتون یه عدد بین  ۰ تا ۷ قرار بدین)

  • مشکی=۰
  • قرمز=۱
  • سبز=۲
  • زرد=۳
  • آبی=۴
  • ارغوانی=۵
  • آبی متمایل به سبز!!(cyan)=۶
  • سفید=۷

به دو روش میتونین ازش استفاده کنین.اول اینکه این دستور رو قبل از دستور echo بزارین  و روش دوم هم اینکه توی یه متغیر ذخیرش کنین و توی دستور echo  فراخوانیش کنین.

با دستور tput sgr0 هم رنگ ترمینال به رنگ پیشفرضش برمیگرده.

امیدوارم به دردتون بخوره:)

اسکریپتی برای تبدیل فایلهای flv به mp4

یکی از دوستان درخواست اسکریپتی برای ffmpeg داشت که بتونه فایل های flv رو به صورت گروهی به mp4 تبدیل بکنه.ما این اسکریپت رو براش نوشتیم و خوشبختانه به دردشون خورد.

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

موفق باشید :)

ادامه مطلب

دستورات پر کاربرد vim

میشه گفت اینها پرکاربرد ترین دستورات ویم هستن.

امیدوارم به دردتون بخوره :)

آموزش نصب دسکتاپ Deepin روی آرچ

توجه: این مطلب قدیمی است و صرفا جهت آرشیو حفظ شده است. ممکن است امروزه برخی موارد یکسان نباشند.

DDE یکی از زیبا ترین دسکتاپ های گنو/لینوکسیه.این دسکتاپ ,دسکتاپ پیشفرض توزیع دیپین هست.

تو این مطلب میخوام روش نصب این دسکتاپ روی آرچ لینوکس رو توضیح بدم.

***این کد هارو کپی پیست نکنید.ویکی آرچ رو بخونید و دقیقا درک کنید که چیکار دارید میکنید :)

ادامه مطلب

پارسیکس به تاریخ می‌پیوندد

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

مدتها پیش نوشته بودم که کاش کاربران اوبونتوی ایران توجه بیشتری به پارسیکس داشته باشند. چون واقعا اون زمان ها چیزی از اوبونتو کم نداشت و حتی پایدارتر هم بود. و کاملا هم با سیستم های آن روزهای ایران (مودم های دایل آپ و ...) سازگاری داشت.

به نظر میرسه پارسیکس بخاطر بی مهری جامعه کاربری اش دست به خودکشی میزنه! چرا که یک فروم بسیار قدیمی و کهنه داره که مدتها است دیگه کسی چیزی توش نمینویسه.

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

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




حاصل سر و کله زدن های من با لینوکس