What is udev concept in Linux

  • اتصالات به سیستم از نوع دیوایس یعنی انواع دیسک ها و فلش ها و سی دی رام ها و … که در درون دایرکتوری dev/ نمایش داده می شوند.
  • همان طور که قبلا گفته شد این اتصالات به صورت فایل در درون دایرکتوری dev/ قرار میگیرد اما نه فایل های معمولی که بر روی دیسک ذخیره می شوند.
  • در واقع با بوت شدن سیستم و بالا آمدن سیستم این فایل ها و دایرکتوری ها ایجاد می شوند.
  • قبلا دایرکتوری proc/ معرفی شد. با توجه به دایرکتوری proc/ می توان گفت که دایرکتوری dev/ جهت نظم و راحتی کار بهتر ایجاد شده است چرا که تمام اتصالات از نوع دیوایس را در یکجا جمع کرده است.
  • حال با استفاده از udev می توان قوانین و مقرراتی برای اتصالات سیستمی که در dev/ قرار میگیرند تعریف کرد.
  • به عنوان مثال تعریف کرد که اگر فلان هارد دیسک به سیستم متصل شد فلان عمل روی آن انجام شود.

  • با معرفی شدن Linux Kernel 2.6 یک مفهوم جدید به مدیریت سخت افزارها اضافه شد و آن udev بود ، چیزی که شما در سیستم عامل لینوکس در قالب دایرکتوری به نام dev// می شناسید.
  • حتما دقت کرده اید که زمانیکه برخی device ها در سیستم را مشاهده می کنید به شکل dev//sda// یا dev//video// یا dev//sdb// . … نمایش داده می شوند.
  • این دقیقا همان مفهومی است که به هسته سیستم عامل لینوکس در نسخه 2.6 اضافه شد ، اما نکته در اینجاست که udev از کجا متوجه می شود که چه چیزی را باید در دایرکتوری dev قرار بدهد ؟ در واقع udev اطلاعاتی که قرار است در دایرکتوری dev// قرار بدهد را از دایرکتوری sys// دریافت می کند

  • دقت کرده اید که نحوه نمایش تجهیزات در دایرکتوری dev// به نسبت چقدر ساده و قابل فهم است ؟
  • این واضح بودن به این دلیل است که اطلاعات این دایرکتوری از یک ساختار استاندارد و ساده ای به نام sysfs دریافت شده است و ساده تر قابل فهم است.
  • حتما اگر یک مقدار با لینوکس کار کرده باشید اینجا به این نتیجه می رسید که شما اشتباه می کنید ، دایرکتوری dev// سالها قبل از ارائه linux Kernel 2.6 وجود داشته است و چیز جدیدی نیست.
  • حق کاملا با شما است اما نکته در اینجاست که قبلا udev ای در کار نبود ، تمامی محتویات dev// قبل از معرفی udev فقط یک سری لینک static سخت افزار بود و برای هر بار بروز رسانی آن یکبار بایستی سیستم عامل restart می شد.
  • مهمترین کاری که udev انجام داد dynamic کردن لینک های device ها بود که اضافه و حذف کردن آنها را به سادگی میسر کرد.

  • همان طور که قبلا نیز گفته شد، udev مجموعه ای قوانین و مقررات است لذا انتظار می رود این قوانین و مقررات در جایی قرار گرفته باشند.
ls /etc/udev/

  • Traditionally(به طور سنتی), Linux has created device nodes as conventional(مرسوم) files in the /dev directory tree.
  • The existence(وجود داشتن) of hotplug devices and various(مختلف) other issues, however, have motivated(با انگیزه) the creation of udev : a virtual filesystem, mounted at /dev , which creates dynamic device files as drivers are loaded and unloaded.
  • You can configure udev through files in /etc/udev , but the standard configuration is usually sufficient(کافی) for common hardware.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *