مقدمه مفهومی درباره واژه گرداننده ها (Drivers) از اساسی ترین اجزای هر سیستم کامپیوتری هستند که به عنوان مترجم بین سخت افزار و سیستم عامل عمل می کنند. بدون این قطعات نرم افزاری، سیستم های عامل قادر به ارتباط با سخت افزارهای مختلف نخواهند بود. کاربرد واژه در برنامه نویسی یا زیرشاخه های فناوری اطلاعات در توسعه سیستم های عامل، گرداننده ها نقش حیاتی دارند. در مهندسی سخت افزار، این نرم افزارها امکان استفاده از قابلیت های پیشرفته قطعات را فراهم می کنند. در مجازی سازی، گرداننده های مجازی امکان شبیه سازی سخت افزار را ایجاد می کنند. مثال های واقعی و کاربردی در زندگی یا پروژه های IT گرداننده کارت گرافیک که امکان نمایش تصاویر با کیفیت بالا را فراهم می کند. گرداننده چاپگر که ارتباط بین کامپیوتر و دستگاه چاپ را مدیریت می کند. گرداننده های شبکه که کنترل کارت شبکه را بر عهده دارند. نقش واژه در توسعه نرم افزار یا معماری سیستم ها در معماری سیستم های عامل مدرن، گرداننده ها معمولاً در فضای هسته اجرا می شوند. در سیستم های نهفته، گرداننده های سفارشی برای سخت افزارهای خاص توسعه می یابند. در محاسبات ابری، گرداننده های مجازی امکان مدیریت منابع فیزیکی را فراهم می کنند. شروع استفاده از این واژه در تاریخچه فناوری و تکامل آن در سال های مختلف مفهوم گرداننده به دهه 1950 و سیستم های اولیه کامپیوتری بازمی گردد. در دهه 1980 با ظهور سیستم های عامل مدرن، استانداردهای گرداننده توسعه یافتند. امروزه با معماری هایی مانند WDM و UEFI، گرداننده ها پیشرفته تر شده اند. تفکیک آن از واژگان مشابه گرداننده نباید با میان افزار (Firmware) اشتباه گرفته شود. گرداننده نرم افزاری است که روی سیستم عامل اجرا می شود، در حالی که میان افزار روی خود سخت افزار ذخیره می شود. شیوه پیاده سازی واژه در زبان های برنامه نویسی مختلف در ویندوز با استفاده از WDK و زبان C توسعه می یابند. در لینوکس با ماژول های هسته که معمولاً به C نوشته می شوند. در سیستم های نهفته ممکن است با ترکیبی از C و اسمبلی پیاده سازی شوند. چالش ها یا سوءبرداشت های رایج در مورد آن یک باور غلط این است که گرداننده ها فقط برای سخت افزارهای خارجی هستند، در حالی که برای قطعات داخلی هم ضروری اند. چالش اصلی توسعه گرداننده ها، تضمین پایداری و امنیت آن هاست. نتیجه گیری کاربردی برای استفاده در متون تخصصی و آموزشی گرداننده ها پل ارتباطی حیاتی بین سخت افزار و نرم افزار هستند. درک عمیق آن ها برای توسعه دهندگان سیستم های عامل و مهندسان سخت افزار ضروری است.