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

تفاوت Simulator و Emulator در چیست؟

اگر از نرم افزارهای Simulator یا شبیه ساز استفاده کرده باشید و یا با ابزارهای Emulator یا تقلید کننده آشنایی داشته باشید. شاید برای شما هم جالب باشد تفاوت بین این دو واژه را بیشتر بدانید. در وهله اول شما باید بدانید که این دو مفهوم با همدیگر تفاوت های اساسی دارند و نباید واژه های Emulator و Simulator به جای هم استفاده شود. دقت کنید زمانیکه صحبت از Simulator یا شبیه ساز می شود ما در خصوص یک سیستم صحبت می کنیم که هم می تواند نرم افزار و هم می تواند سخت افزاری باشد و این سیستم رفتارهایی بسیار نزدیک و شبیه به سیستم واقعی را دارد و در زمان استفاده از این Simulator شما تصور می کنید که در حال استفاده از سیستم اصلی هستید.

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

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

Simulator چیست

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

اما این محیط های شبیه سازی شده کاملا از محیط واقعی جدا هستند و هیچ ارتباطی با محیط واقعی ندارند ، شما در یک نرم افزار شبیه ساز پرواز می توانید یک Airbus A380 را بصورت کاملا سر و ته پرواز بدهید اما آیا واقعا در محیط واقعی هم می توانید اینکار را انجام دهید ؟ شما در نرم افزارهایی مثل Packet Tracer یا NetSim روترها و سویچ های شبکه را شبیه سازی می کنید و بر روی آنها دستورات خود را وارد می کنید و در یک محیط شبیه سازی شده تست ارتباطی هم می گیرید ، اما آیا می توانید درجه گرمایی که CPU روترها و سویچ های شما بعد از هر پیکربندی دارند را احساس کنید ؟

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

Emulator چیست

زمانیکه صحبت از Emulator یا مقلد می شود در خصوص یک سیستم کاملا مشابه با آنچه در محیط واقعی است صحبت می کنیم. این سیستم تقلید کننده دقیقا همان قوانینی را دارد که در سیستم واقعی وجود دارد و می توان از آن Copy و Paste سیستم اصلی یاد کرد. نرم افزارهای Emulator حتی سورس کد مشابه و در اصطلاح Clone سیستم اصلی هستند ، شما هر کاری که در محیط واقعی با نرم افزار می توانید انجام بدهید در محیط Emulator هم می توانید عینا انجام دهید.

حتی ورودی و خروجی نرم افزار و روش پردازش آن نیز کاملا شبیه به محیط اصلی نرم افزار است ، تنها تفاوت در محیط کاری است که بر روی آن نرم افزار اجرا می شود که طبیعتا محیطی به غیر از محیط اصلی اجرای نرم افزار اصلی خواهد بود. قوانین سیستم اصلی و سیستم emulator کاملا شبیه به هم هستند و غیرقابل تغییر هستند. برای مثال شما زمانیکه می خواهید نرم افزاری برای سیستم عامل اندروید بنویسید می توانید از Emulator ای به نام BlueStacks استفاده کنید. BlueStacks یک نرم افزار شبیه ساز نیست زیرا عینا برای شما سیستم عامل اندروید را روی ویندوز نمایش می دهد و تمامی قوانین اندروید را بر روی آن قرار می دهد.

شما نرم افزارهای اندرویدی خود را برای تست می توانید در این محیط نصب کنید و اجرا کنید. Emulator های بازی هم به همین شکل عمل می کنند ، ممکن است شما بازی های PlayStation یا Xbox را بتوانید بصورت کامل در سیستم شخصی خودتان با استفاده از یک Emulator اجرا کنید. در واقع در اینجا شما یک کپی اصلی از بازی اصلی گرفته اید و این Emulator یا مقلد است که امکان اجرای آن بر روی سیستم اصلی را می دهد.حتی Bug ها و مشکلات و Crash هایی که ممکن است در سیستم اصلی به وجود بیاید عینا در سیستم Emulate شدن نیز به وجود می آید زیرا سورس یا هسته نرم افزار به هیچ عنوان تغییر نکرده است.

بصورت کلی زمانیکه صحبت از Emulator می شود در خصوص یک کپی از سیستم اصلی صحبت می شود که عین دستگاه و سیستم واقعی کار می کند. اما زمانیکه صحبت از Simulator یا شبیه ساز می شود در واقع در خصوص یک سیستم مدل سازی یا Modeling از نرم افزار یا سیستم اصلی صحبت می کنیم . توجه کنید که همیشه قرار نیست یک سیستم Simulator چیزی شبیه به یک سیستم Emulator شود. اگر بخواهیم مثال شبکه ای بزنیم که شما بیشتر برایتان این موضوع جا بیوفتند می توانیم بگوییم نرم افزار مثل Packet Tracer یک نرم افزار شبیه ساز یا Simulator است اما نرم افزاری مثل GNS3 یک نرم افزار Emulator است زیرا در GNS3 شما سیستم عامل اصلی روترها و سویچ ها را بر روی نرم افزار Emulator نصب می کنید و آن را اجرا می کنید. از نظر سرعت ، سرعت Emulator ها به مراتب کند تر از Simulator ها است. توسینسو باشید


محمد نصیری
محمد نصیری

بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

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

نظرات