View Full Version : گفتگو: Deep Freeze چطوری کار می کنه؟
محسن شامحمدی
شنبه 09 آذر 1392, 20:33 عصر
سلام دوستان
احتمالا اسم نرم افزار Deep Freeze رو شنیدید.
کار این نرم افزار به این صورت هست که کل سیستم را فریز میکند و مثلا اگر شما بعد از نصب برنامه تغییری در ویندوز خود به وجود آورید بعد از ریستارت ویندوز تمامی تغییرات پاک می شوند و ویندوز به حالت عادی باز میگردد. به همین خاطر در مدارس و یا ... این برنامه نصب می شود تا از تغییراتی که کاربران روی سیستم اعمال می کنند جلوگیری شود
حالا سوال اینه چطوری؟
من یگم این مطلبو گوگل کردم ولی ظاهرا چیز خاصی منتشر نشده در مورد کارکردش
توی stack یکم بحث شده بود
(http://stackoverflow.com/questions/6801899/how-does-deep-freeze-works)
که یکی از جواب ها این بود که:
1) این نرم افزار میاد disk IO driver رو با یدونه جعلی ش عوض می کنه.
که این یعنی اینکه هر تغییری که در سطح پارتیشن می دی اعمال نشه! (که می شه)
2) یا اینکه فایل هایی که تغییر می کنن در یک مکان بک آپ گرفته بشن(که با تست کردن و نگاه به حجم فایل ها به سادگی مشخص می شه که اینطور نیست.)
3) یا اینکه تمام تغییرات اعمال بشن واقعا(روی Partition Table) ولی این برنامه از Partition Table دست نحورده Backup گرفته باشه و به محض خاموش شدن سیستم یا بالا اومدن مجدد اون بیاد Partition Table رو برگردونه(فک نمی کنم چون اینطوری اگر روی یک بخش خیلی Overwrite کنیم دیگه اون بخش بر نمی گرده)
خوشحال می شم نظرات و ایده های شما رو هم بدونم.بحث جالبی می شه
afsharm
یک شنبه 10 آذر 1392, 13:52 عصر
جالبه من شنیده بودم بعضیها با کمک Virtual Machineها چنین مکانیزمی را عملی میکنند. یعنی به جای خاموش و روشن کردن کامپیوتر، Virtual Machine را دوباره از image اصلی بالا میآوردند.
shervin_agh67
یک شنبه 10 آذر 1392, 17:18 عصر
پارسال یکم روش کار کردم و این چیزی بود که فهمیدم. بوت لودر سیستم رو دستکاری می کنه و سکتور 0 هارد به اونجایی که خودش می خواد هدایت می کنه . که اون محل یک پارتیشن مخفی هست که IMAGE از قبل تهیه شده سیستم توی اون بازگذاری شده . شما با مراجعه به جدول پارتیشن ها می تونید ببینیدش . حالا اینکه چجوری تمام تغییرات انجام گرفته روی همه پارتیشن ها رو با سرعت بالا برمی گردونه واسه منم سوال بود. کلا مکانیزم بسیار جالبی داره و من هر کاری کردم نتونستم از کار بندازمش .
SlowCode
یک شنبه 10 آذر 1392, 17:40 عصر
کلا مکانیزم بسیار جالبی داره و من هر کاری کردم نتونستم از کار بندازمش .
کافیه از تو پروسس برنامه رو End task کنی! بعد با خیال راحت برنامه رو حذف کن!
من بارها اینکارو کردم.
shervin_agh67
یک شنبه 10 آذر 1392, 17:42 عصر
تو نسخه جدیدش نمیشه . من همه این روشارو تست کردم.
محسن شامحمدی
دوشنبه 11 آذر 1392, 19:16 عصر
کافیه از تو پروسس برنامه رو End task کنی! بعد با خیال راحت برنامه رو حذف کن
نه عزیز من.مگه به این سادگیه؟! :لبخندساده:
بوت لودر سیستم رو دستکاری می کنه و سکتور 0 هارد به اونجایی که خودش می خواد هدایت می کنه . که اون محل یک پارتیشن مخفی هست که IMAGE از قبل تهیه شده سیستم توی اون بازگذاری شده
ایده بسیار جالبیه
شاید هم طرز کارش همین باشه
فقط یه نکته:
باهاش می شه کل پارتیشن ها رو Freeze کنی و بعد بیای همه فایل های توشو پاک کنی.
فایل ها بر می گرده.
خب این چطوری می شه؟
shervin_agh67
دوشنبه 11 آذر 1392, 19:21 عصر
شما از قبل بهش میگی که کجاها رو می خوای image بگیزی . واسه همین یه نسخه ازش برمیداره و توی همون درایو مخفی میزاره و موقعی که شما فایلها رو پاک می کنید با این روش برشون می گردونه که البته این کار بسیاز زمان بره و همون طور که می دونید deepfreez تو سرعت بوت سیستم هیچ تاثیری نمی ذاره. این کل چیزیه که از deepfreez یادمه . ولی کلا مشتاق شدم دوباره برم سراغش.:چشمک:
Mask
دوشنبه 11 آذر 1392, 23:48 عصر
البته این تاپیک برای بحث در مورد روش کارکردن این برنامست . اما باید عرض کنم که از کار انداختنش زیاد سخت نیست .
اما در مورد روشش : هر روشی که هست دقیقا بلافاصله بعد از ریست . من سیستم رو با ویندوز لایو بالا آوردم و دیدم که سیستم بدون تغییر بوده. یعنی فریز بوده.
این نشون میده هر حالتی هست حین بالا اومدن نیست. همون حین ری استارت یا خاموش شدنه.
البته یه نکته جالب : من فکر نمیکنم اصلا کاری با بوت سکتور و اینچیزا داشته باشه . چون با برنامه پروسه منیجر وقتی پروسه ها رو در سیستمی که دیپ فریز نصبه میبینم، پروسه ها حالت قفل دارند ، اما وقتی فریز رو باز میکنیم با همون برنامه که بررسی میکنیم پروسه ها از حالت قفل خارج شدند.
من احساس میکنم این برنامه در لایه اپلیکشن و در بالاترین سطح داره کار میکنه. و هر کاری میکنه با پروسه هاست.
eshpilen
سه شنبه 12 آذر 1392, 07:54 صبح
Deep Freeze is a kernel (http://en.wikipedia.org/wiki/Kernel_%28computing%29)-level driver (http://en.wikipedia.org/wiki/Device_driver) that protects hard drive (http://en.wikipedia.org/wiki/Hard_disk_drive) integrity by redirecting information being written to the hard drive or partition (http://en.wikipedia.org/wiki/Disk_partitioning), leaving the original data intact. This redirected information is no longer referenced once the computer is restarted, thus restoring the system to its original state at the disk sector (http://en.wikipedia.org/wiki/Disk_sector) level.
ترجمه: « Deep Freeze یک درایور سطح کرنل (هستهء سیستم عامل) است که دست نخوردگی درایو دیسک سخت را با تغییر مسیر دادن اطلاعاتی که درحال نوشته شدن به درایو یا پارتیشن هارد دیسک هستند محافظت میکند و بنابراین دیتای اولیه را دست نخورده باقی میگذارد. این اطلاعات تغییر مسیر داده شده وقتی رایانه یک بار ریستارت شد دیگر مورد ارجاع قرار نمیگیرند، و بدین صورت سیستم به حالت اولیهء خود در سطح سکتور دیسک باز میگردد.»
منبع: http://en.wikipedia.org/wiki/Deep_Freeze_%28software%29#Operation
eshpilen
سه شنبه 12 آذر 1392, 08:00 صبح
خب حالا این سوال پیش میاد که این اطلاعات موقتی کجا ذخیره میشن؟
نمیدونم.
شاید توی یک RAM disk.
یعنی یک دیسک مجازی که در حافظهء RAM شبیه سازی میشه.
مثلا موقعی که نسخه های Live گنو/لینوکس بالا میان یک RAM disk درست میکنن و سیستم فایل و فایلهای لینوکس رو اونجا ذخیره میکنن، و موقعی که شما با سیستم فایل اون لینوکس کار میکنید بنظر میاد که دارید با یک دیسک واقعی کار میکنید، اما بعد از ریستارت شدن هیچ اثری از هیچ اطلاعاتی روی رایانهء شما باقی نمیمونه (مگر اینکه موقع کار با لینوکس فایلی رو روی درایوهای هارد خودتون ذخیره کرده باشید و نه مثلا روی دسکتاپ و بقیهء دایرکتوری های محیط لینوکس).
اما شاید هم اصلا RAM disk در کار نباشه و درواقع از بخشهایی خالی از هارددیسک خودتون برای ذخیرهء این اطلاعات موقتی استفاده میکنه.
این گزینه هم خیلی محتمل هست، چون اینطوری محدودیت حجم کمتری برای ذخیره سازی داره و RAM ارزشمند سیستم رو هم که برای کاربردهای دیگر استفاده میشه هدر نمیده.
eshpilen
سه شنبه 12 آذر 1392, 08:45 صبح
یه نمونه از طرز کار احتمالی این برنامه رو میگم:
یه RAM disk درست میکنه.
تمام دستورات write روی هارد، چه توسط اپلیکیشن ها و چه توسط خود سیستم عامل صادر شده باشن، در نهایت قبل از ارسال به هارد به Deep Freeze که بعنوان یک درایور در کرنل نصب شده میرسن، و اینجاست که Deep Freeze بجای اینکه این اطلاعات رو به هارد دیسک بفرسته، در RAM disk ذخیره میکنه و بعد هم این رو بخاطر میسپاره که برای این عملیات، دقیقا کدام سکتورها روی هارد دیسک نوشته شدند (البته اطلاعات که عملا روی هارد دیسک نوشته نمیشن، ولی اگر نوشته میشدن در اون سکتورها نوشته میشدن). بعدا اگر درخواست read ای به Deep Freeze برسه که اون سکتورهای تغییر یافته درش باشن، دیتای بروز رو از RAM disk میخونه و تحویل میده، وگرنه اجازه میده که عملیات read طبق معمول از طریق هارد انجام بشه.
میبینید که به این شکل هیچ نیازی نیست که از کل اطلاعات هارد یک نسخهء پشتیبان گرفته بشه. بلکه فقط موقع نوشته شدن اطلاعات در هارد، دیتای مورد نظر بجای اینکه در هارد نوشته بشه، به RAM disk هدایت میشه. موقع خوندن اطلاعات از هارد هم چک میکنه اگر با بخشی از هارد سروکار داره که نسخهء تغییر یافتهء اون قبلا در RAM disk ذخیره شده، از RAM disk میخونه و تحویل میده، وگرنه اجازه میده عملیات طبق حالت عادی و استاندارد خودش پیش بره و بقیهء کار رو هارد دیسک و سیستم عامل انجام بدن مطابق رویهء همیشگی.
طبیعی هست که با ریستارت شدن سیستم، RAM disk از بین میره و انگار نه انگار که هیچ فایلی در سیستم تغییر کرده بوده.
mehdiomnia
سه شنبه 12 آذر 1392, 08:52 صبح
به تایپیک ربطی نداره زیاد ولی بهتر از دیپ فریز خیلی وقته هست مشکلت دیپ فریزم مثل مشکل در پاک کردن رو نداره اونم wondwer share time freez هست یکبار پیشنهاد میکنم تستش کنید
محسن شامحمدی
سه شنبه 12 آذر 1392, 10:08 صبح
واقعا اطلاعات خوبی ردوبدل شد
مرسی دوستان
فکر می کنم با پست اشپیلن دیگه حرفی باقی نموند
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.