Table of Contents

فصل سوم:  

از اتصال تا ذخیره سازی داده ها: یک فرآیند جامع

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

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

 به ما بپیوندید تا به ذخیره‌سازی داده‌ها بپردازیم، فرآیندی که برای عصر دیجیتال بسیار مهم است، و  ببینید وقتی گزینه ذخیره یک فایل را فشار می‌دهید واقعاً چه اتفاقی می‌افتد.

  • اتصال هارد دیسک
  • مقداردهی اولیه و پارتیشن بندی
  • فرمت کردن و سیستم فایل
  • فرآیند ذخیره یک فایل

اتصال استورج (هارد دیسک)

ابتدا استورج به صورت فیزیکی به کامپیوتر متصل می شود. این کار از طریق رابط های مختلف مانند SATA یا SAS برای هارد دیسک های داخلی یا USB برای هارد دیسک های خارجی انجام می شود. این اتصال به سیستم عامل (OS) اجازه می دهد تا با هارد دیسک ارتباط برقرار کند.

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

رابط های هارد

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

  1. Hard drive – IDE interface
  2. Hard drive – SATA interface
  3. Solid state drive – SATA interface
  4. Solid state drive – M.2 interface
  5. Solid state drive – U.2 interface

Hard drive – IDE interface

The Most Common Types of Hard Drive Interfaces

رابط IDE که مخفف عبارت Integrated Drive Electronics است، یک رابط الکتریکی استاندارد قدیمی اما پرکاربرد بین هارد دیسک و مادربرد کامپیوتر است. رابط IDE به شکل زیر است:

یکی از مزایای اصلی رابط IDE این است که کنترلر هارد دیسک را در محفظه هارد ادغام می کند که باعث کاهش تعداد و طول کابل های رابط، بهبود قابلیت اطمینان انتقال داده ها و ساده سازی ساخت و نصب هارد دیسک می شود.

رابط IDE از انتقال داده موازی پشتیبانی می کند و در نسخه های 40 پین و 80 پین موجود است. این اغلب به صورت مترادف با اصطلاح “رابط ATA” (که مخفف “پیوست فناوری پیشرفته” است) استفاده می شود. با این حال، به دلیل فناوری پیشرفته، SATA (Serial ATA)

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

How to Tell IDE from SATA Hard Drive

اسکازی (SCSI) چیست و چگونه کار می‌کند؟

 

intern& Externes SCSI-Kabel, Stecker und Adapter

اسکازی (به انگلیسی: Small Computer System Interface) یک استاندارد یا روش برای ارتباط بین کامپیوتر و دستگاه‌های جانبی مانند هارد دیسک‌ها، اسکنرها و پرینترها است.

نحوه کارکرد اسکازی به زبان ساده:

  1. اتصال دستگاه‌ها: چندین دستگاه می‌توانند به یک کابل مشترک اسکازی وصل شوند. هر دستگاه یک شماره مخصوص به خود دارد (شناسه اسکازی) تا کامپیوتر بتواند آن را تشخیص دهد.

  2. ارتباط بین کامپیوتر و دستگاه: کامپیوتر (که به آن مبتکر می‌گویند) به دستگاه (که به آن هدف می‌گویند) دستور می‌دهد. مثلاً: “لطفاً اطلاعات بخش ۱۰ از هارد دیسک را برایم بفرست.”

  3. ارسال دستور: کامپیوتر دستور خود را به دستگاه ارسال می‌کند تا کاری را انجام دهد.

  4. هماهنگی قبل از انتقال (Handshaking): قبل از انتقال داده‌ها، کامپیوتر و دستگاه مطمئن می‌شوند که هر دو آماده هستند. این کار برای جلوگیری از اشتباهات در انتقال داده‌ها است.

  5. انتقال داده‌ها: دستگاه دستور را اجرا می‌کند و اطلاعات خواسته‌شده را به کامپیوتر برمی‌گرداند.

  6. پایان ارتباط: پس از اتمام انتقال، ارتباط پایان می‌یابد و هر دو آماده دستورات بعدی می‌شوند.

چرا اسکازی مهم است؟

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

خلاصه:

اسکازی یک روش استاندارد برای ارتباط بین کامپیوتر و دستگاه‌های جانبی است. این استاندارد به کامپیوتر و دستگاه‌ها اجازه می‌دهد تا با ارسال دستورات و انتقال داده‌ها، به صورت مطمئن و کارآمد با یکدیگر همکاری کنند.

هارد دیسک – رابط SATA

پهنای باند ارائه شده توسط IDE برای پاسخگویی به تقاضای فزاینده برای هارد دیسک کافی نبود. بنابراین رابط SATA توسعه یافت و IDE به PATA تغییر نام داد. در سال 2013 تمامی تولیدکنندگان هارد دیسک رسما تولید هارد دیسک های PATA را متوقف کردند.

SATA مخفف Serial ATA است. چندین مزیت نسبت به PATA از جمله پشتیبانی از مبادله داغ، سرعت انتقال سریعتر و قابلیت های تصحیح خطای قوی تر دارد. این پیشرفت ها به طور قابل توجهی قابلیت اطمینان انتقال داده ها را افزایش می دهد. علاوه بر این، کابل‌های SATA نازک‌تر و ساده‌تر هستند و نصب آن‌ها را برای کاربران آسان‌تر می‌کنند. این همچنین گردش هوا را در داخل کیس کامپیوتر تسهیل می کند و پایداری کلی پلت فرم را افزایش می دهد. رابط SATA دارای ظاهر زیر است:

 رایج ترین رابط برای هارد دیسک های داخلی. SATA سرعت انتقال بالایی را ارائه می دهد و تقریباً با تمام مادربردهای مدرن سازگار است. رابط های SATA در طول سال ها تکامل یافته اند، از SATA I یک و نیم گیگابیت بر ثانیه تا SATA II سه گیگابیت بر ثانیه تا SATA III شش گیگابیت بر ثانیه که به طور قابل توجهی سرعت انتقال داده را افزایش داده است.

رابط SATA سه نسل از تغییرات را پشت سر گذاشته است که هر کدام عملکرد بهتری دارند. در زیر سرعت خواندن تئوری و پهنای باند هر نسل آورده شده است:

– SATA 1.0 دارای سرعت خواندن و نوشتن نظری 150 مگابایت بر ثانیه و پهنای باند 1.5 گیگابیت بر ثانیه است.
– SATA 2.0 دارای سرعت خواندن و نوشتن نظری 300 مگابایت بر ثانیه و پهنای باند 3 گیگابیت بر ثانیه است.
– SATA 3.0 دارای سرعت خواندن و نوشتن نظری 600 مگابایت بر ثانیه و پهنای باند 6 گیگابیت بر ثانیه است.

Solid-state drive – SATA interface

Everything you need to know about solid-state drives (SSD) | Arts Computing  Office Newsletter | University of Waterloo

درایوهای حالت جامد (SSD) به دلیل محدودیت هارد دیسک های مکانیکی اختراع شدند. SSD ها دیسک های سختی هستند که از یک سری تراشه های ذخیره سازی حالت جامد الکترونیکی استفاده می کنند. در مقایسه با هارد دیسک های سنتی (HDD)، سرعت خواندن و نوشتن سریع تر، مصرف انرژی کمتر، مقاومت در برابر ضربه بیشتر و طول عمر بیشتری دارند.

اس‌ای‌اس (SAS) چیست و چگونه کار می‌کند؟

Do SAS hard drives really cost more to recover than SATA hard drives?

SAS ( Serial Attached SCSI) یک فناوری انتقال داده است که نسخه پیشرفته‌تری از اسکازی محسوب می‌شود. در حالی که اسکازی سنتی از ارتباط موازی استفاده می‌کرد، اس‌ای‌اس از ارتباط سریال بهره می‌برد، که باعث افزایش سرعت و کارایی می‌شود.

نحوه کارکرد SAS به زبان ساده:

  1. ارتباط سریال: اس‌ای‌اس از ارتباط سریال برای انتقال داده‌ها استفاده می‌کند. این به معنی ارسال داده‌ها به صورت پشت سر هم (یکی پس از دیگری) است، که سرعت انتقال را افزایش می‌دهد و تداخل سیگنال‌ها را کاهش می‌دهد.

  2. اتصال نقطه به نقطه: در SAS، هر دستگاه به طور مستقیم به کنترلر یا میزبان متصل می‌شود. این نوع اتصال “نقطه به نقطه” نامیده می‌شود و باعث بهبود قابلیت اطمینان و کاهش تأخیر می‌شود.

  3. قابلیت اتصال چندین دستگاه: با استفاده از اکسپندرهای SAS، می‌توان تعداد زیادی دستگاه را به یک کنترلر متصل کرد، که این امر مقیاس‌پذیری سیستم را افزایش می‌دهد.

  4. سازگاری با ساتا (SATA): یکی از ویژگی‌های مهم SAS این است که می‌تواند با دستگاه‌های ساتا نیز کار کند. این به کاربران اجازه می‌دهد تا از ترکیبی از هارد دیسک‌های اس‌ای‌اس و ساتا در یک سیستم استفاده کنند.

  5. انتقال داده با سرعت بالا: SAS سرعت انتقال داده بالاتری نسبت به اسکازی سنتی ارائه می‌دهد. این باعث بهبود عملکرد در کاربردهایی می‌شود که نیاز به سرعت بالا دارند، مانند سرورها و مراکز داده.

چرا SAS مهم است؟

  • کارایی و سرعت بالا: به دلیل استفاده از ارتباط سریال و تکنولوژی‌های پیشرفته، اس‌ای‌اس سرعت و کارایی بهتری ارائه می‌دهد.
  • قابلیت اطمینان بالا: اتصال نقطه به نقطه و کاهش تداخل سیگنال‌ها باعث افزایش اعتمادپذیری سیستم می‌شود.
  • انعطاف‌پذیری: سازگاری با دستگاه‌های ساتا امکان استفاده ترکیبی از تجهیزات مختلف را فراهم می‌کند.
  • مقیاس‌پذیری: امکان اتصال تعداد زیادی دستگاه بدون کاهش کارایی وجود دارد.

SAS یک فناوری پیشرفته برای اتصال کامپیوتر به دستگاه‌های ذخیره‌سازی مانند هارد دیسک‌ها است. با استفاده از ارتباط سریال، اس‌ای‌اس سرعت بالاتر، قابلیت اطمینان بیشتر و انعطاف‌پذیری بهتری نسبت به اسکازی سنتی ارائه می‌دهد. این ویژگی‌ها اس‌ای‌اس را به یک انتخاب ایده‌آل برای کاربردهای حرفه‌ای، مانند سرورها و سیستم‌های ذخیره‌سازی بزرگ، تبدیل کرده است.

تفاوت‌های اصلی بین SAS و SATA:

SAS vs. SATA Hard Drives: Unpacking the Differences and Applications

  1. سرعت و عملکرد:

    • SAS: سرعت انتقال داده تا ۱۲ گیگابیت بر ثانیه (و در نسخه‌های جدیدتر حتی بیشتر) را پشتیبانی می‌کند.
    • SATA: سرعت انتقال داده تا ۶ گیگابیت بر ثانیه را پشتیبانی می‌کند.
  2. ارتباط فول دوپلکس و هالف دوپلکس:

    • SAS: از ارتباط فول دوپلکس پشتیبانی می‌کند، به این معنی که می‌تواند به‌صورت همزمان داده‌ها را ارسال و دریافت کند.
    • SATA: از ارتباط هالف دوپلکس پشتیبانی می‌کند، به این معنی که در هر لحظه فقط می‌تواند داده‌ها را یا ارسال یا دریافت کند، نه هر دو به‌صورت همزمان.
  3. قابلیت اطمینان و دوام:

    • SAS: برای محیط‌های سازمانی با نیاز به قابلیت اطمینان بالا طراحی شده است و دارای ویژگی‌های پیشرفته‌ای مانند تشخیص و تصحیح خطا است.
    • SATA: برای کاربردهای خانگی و اداری مناسب است و هزینه کمتری دارد، اما ممکن است دوام و قابلیت اطمینان کمتری نسبت به SAS داشته باشد.
  4. قابلیت اتصال و مقیاس‌پذیری:

    • SAS: امکان اتصال تعداد زیادی دستگاه را از طریق اکسپندرهای SAS فراهم می‌کند، که برای سرورها و مراکز داده مهم است.
    • SATA: محدودیت بیشتری در تعداد دستگاه‌های قابل اتصال دارد و معمولاً برای سیستم‌های ساده‌تر مناسب است.
  5. سازگاری:

    • کنترلرهای SAS می‌توانند با دستگاه‌های SATA کار کنند، اما کنترلرهای SATA نمی‌توانند با دستگاه‌های SAS کار کنند. این به انعطاف‌پذیری بیشتر SAS کمک می‌کند.
  6. طول کابل و فواصل:

    • SAS: طول کابل‌های بلندتری را پشتیبانی می‌کند، که برای رک‌ها و مراکز داده بزرگ مفید است.
    • SATA: طول کابل‌های کوتاه‌تری دارد، که برای استفاده در داخل کیس‌های کامپیوتر مناسب است.

Here is another visual comparison of the two drive ports - SAS on the top; SATA on the bottom.   Note the spacing between the power and data connections on the SATA drive.


ارتباط فول دوپلکس در SAS:

  • فول دوپلکس به این معنی است که دستگاه می‌تواند به‌صورت همزمان داده‌ها را ارسال و دریافت کند. این ویژگی باعث افزایش کارایی و کاهش تأخیر در انتقال داده‌ها می‌شود، که برای کاربردهای حیاتی و سروری مهم است.

ارتباط هالف دوپلکس در SATA:

  • هالف دوپلکس به این معنی است که دستگاه در هر لحظه فقط می‌تواند یا ارسال یا دریافت داده‌ها را انجام دهد. این ممکن است در کاربردهای با ترافیک بالا باعث کاهش کارایی شود.

Solid-State Drive – NVMe

NVMe SSDs für Industrie PCs

یک رابط جدیدتر و سریعتر که به طور خاص برای SSDها (درایوهای حالت جامد) طراحی شده است. NVMe از گذرگاه PCIe کامپیوتر (Peripheral Component Interconnect Express) استفاده می کند تا سرعت انتقال بالاتری را در مقایسه با SATA فراهم کند. NVMe به ویژه برای برنامه هایی که نیاز به عملکرد بالا و دسترسی سریع به حجم زیادی از داده دارند مفید است.

مزایای NVMe

تکنولوژی NVMe (Non-Volatile Memory Express) ذخیره‌سازی برتر، سرعت بالاتر و سازگاری بیشتری را ارائه می‌دهد. با استفاده از سوکت‌های PCIe، NVMe می‌تواند تا ۲۵ برابر بیشتر از SATA داده‌ها را انتقال دهد. دستورات NVMe نیز دو برابر سریع‌تر از درایورهای AHCI هستند. علاوه بر این، عملیات ورودی/خروجی در ثانیه (IOPS) در NVMe بیش از یک میلیون است و تا ۹۰۰٪ سریع‌تر از درایوهای AHCI عمل می‌کند.

NVMe با ارتباط مستقیم با CPU سیستم، سرعت‌های فوق‌العاده‌ای را به دست می‌آورد و با همه سیستم‌عامل‌های اصلی، صرف‌نظر از فرم فاکتور، سازگار است. این تکنولوژی به‌طور خاص برای SSDها طراحی شده و از پهنای باند بالای PCIe بهره می‌برد تا عملکرد و کارایی را افزایش داده و سیستم‌های مختلف سازمانی و کاربری را به هم متصل کند.

پروتکل NVMe از مسیرهای داده موازی و با تأخیر کم به رسانه‌های زیرین استفاده می‌کند، مشابه معماری‌های پردازنده با عملکرد بالا. این امر عملکردی به مراتب بالاتر و تأخیر کمتری نسبت به پروتکل‌های SAS و SATA ارائه می‌دهد. NVMe می‌تواند از چندین صف ورودی/خروجی پشتیبانی کند، تا ۶۴ هزار صف با هر صف شامل ۶۴ هزار ورودی، که به انتقال داده‌های بیشتر با سرعت بالاتر نسبت به مدل‌های ذخیره‌سازی قدیمی با درایورهای قدیمی مانند AHCI کمک می‌کند.

content nvme general data buses graph en 1

گذرگاه‌های داده وظیفه انتقال داده‌ها در سیستم را بر عهده دارند. با معرفی SSDهای مبتنی بر NAND، صنعت به این نتیجه رسید که نیاز به یک گذرگاه و پروتکل جدید وجود دارد.

  • SSDهای اولیه نسبتاً کند بودند، بنابراین استفاده از زیرساخت ذخیره‌سازی SATA موجود منطقی به نظر می‌رسید. با اینکه گذرگاه SATA تا سرعت 6Gbps (SATA III) توسعه یافته است، اما این سرعت برای SSDهای مدرن کافی نیست.

  • PCIe 3.0 پهنای باند کلی تا 16GB/s را ارائه می‌دهد، در حالی که PCIe 4.0 این پهنای باند را به 32GB/s دو برابر می‌کند. این استاندارد تا 16 لاین را پشتیبانی می‌کند و می‌تواند داده‌ها را با سرعتی بسیار بالاتر از SATA III که حداکثر سرعت آن 600MB/s است، منتقل کند.

تصمیم به استفاده از تکنولوژی گذرگاه با پهنای باند بالاتر، باعث جایگزینی پروتکل‌های SATA با تکنولوژی PCIe شد. هرچند ذخیره‌سازی مبتنی بر PCIe چند سال قبل از NVMe معرفی شد، اما به دلیل محدودیت‌های پروتکل‌های انتقال داده قدیمی مانند SATA و AHCI، نتوانست از تمام پتانسیل خود بهره‌برداری کند. NVMe به عنوان راه‌حلی برای این تنگناها معرفی شد و با ارائه دستورات با تأخیر کم و پشتیبانی از 64 هزار صف، این محدودیت‌ها را برطرف کرد. وجود صف‌های متعدد امکان انتقال سریع‌تر داده‌ها را فراهم می‌کند، زیرا داده‌ها به صورت پراکنده بر روی SSDها نوشته می‌شوند، با استفاده از چیپ‌ها و بلوک‌ها، نه به صورت متوالی بر روی دیسک‌های چرخان مانند هارد دیسک‌ها.

 

فاکتورهای شکل NVMe SSD

content nvme general ssd form factors graph en 3

 

SSDهای NVMe در انواع مختلف فرم فاکتور عرضه می‌شوند، و بسته به مورد استفاده یا کاربرد، نسخه‌های خاصی مورد نیاز است.

  • محصولات شخصی/کاربری از فرم فاکتورهای BGA و M.2 استفاده می‌کنند.
  • برنامه‌ها و سرورهای مرکز داده از فرم فاکتورهای M.2، U.2، U.3 و EDSFF بهره می‌برند.

Delock Produkte 62984 Delock M.2 Key M zu U.2 SFF-8639 NVMe Adapter mit 50  cm Kabel

  • EDSFF (فرم فاکتور SSD سازمانی و مرکز داده) در حال توسعه است تا محدوده‌ای پویا از فرم فاکتورها و استانداردها را ارائه دهد که همگی از پروتکل یکسان NVMe و رابط PCIe استفاده می‌کنند. این فرم فاکتورها دارای کانکتور لبه‌ای مخصوص خود (SFF-TA-1002)، پین‌آوت و عملکردهای ویژه (SFF-TA-1009) هستند.

با اشتراک‌گذاری پروتکل و رابط یکسان، EDSFF امکان سازگاری و عملکرد بهینه را در محیط‌های سازمانی و مراکز داده فراهم می‌کند. انتخاب فرم فاکتور مناسب برای SSDهای NVMe بر اساس نیازهای خاص هر کاربرد، از اهمیت بالایی برخوردار است.

نصب فیزیکی هارد

نصب فیزیکی هارد بسته به نوع (HDD یا SSD) و فاکتور فرم متفاوت است. هارد دیسک های داخلی باید در کیس کامپیوتر نصب شده و با کابل های برق و داده متصل شوند. هارد های اکسترنال معمولاً از طریق USB متصل می شوند و اغلب نیازی به منبع تغذیه اضافی ندارند زیرا از طریق اتصال USB تغذیه می کنند.

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

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

    1. پارتیشن بندی / Initialization & Partitioning

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

مقداردهی اولیه و پارتیشن بندی

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

دو نوع اصلی جداول پارتیشن مورد استفاده در سیستم های کامپیوتری مدرن وجود دارد: MBR  و GPT.

(MBR (Master Boot Record

استاندارد قدیمی: MBR استاندارد قدیمی تری است که در دهه 1980 معرفی شد.

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

سازگاری: MBR تقریباً توسط همه سیستم عامل ها پشتیبانی می شود و آن را به یک انتخاب مطمئن برای سیستم های قدیمی تبدیل می کند.

GPT (جدول پارتیشن GUID)

استاندارد جدید: GPT استاندارد مدرن تری است که بخشی از UEFI (رابط میانافزار توسعه پذیر یکپارچه)، جانشین BIOS است.

ویژگی های پیشرفته: GPT از هارد دیسک های بزرگتر از 2 ترابایت پشتیبانی می کند و به لحاظ نظری تعداد نامحدودی از پارتیشن ها (عملاً توسط سیستم عامل محدود شده) را امکان پذیر می کند.

یکپارچگی داده بهبود یافته: GPT چندین نسخه از جدول پارتیشن را در کل هارد دیسک ذخیره می کند و از CRC32 (بررسی چرخه ای افزونگی) برای تأیید یکپارچگی جدول پارتیشن استفاده می کند.

سازگاری: GPT توسط آخرین نسخه های اکثر سیستم عامل ها از جمله Windows، MacOS، Linux و سایرین پشتیبانی می شود.

انتخاب بین MBR و GPT به عوامل مختلفی بستگی دارد، از جمله اندازه هارد دیسک، الزامات سیستم عامل و سازگاری با رابط سیستم عامل کامپیوتر (BIOS یا UEFI). به دلیل ویژگی های پیشرفته و یکپارچگی بهتر داده ها، به ویژه در تاسیسات جدید و سیستم های مدرن، GPT به طور فزاینده ای ترجیح داده می شود.

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

فرمت کردن و سیستم فایل / Formatting & file system

پس از پارتیشن‌بندی، هر پارتیشن نیاز به فرمت کردن دارد. فرمت کردن، پارتیشن را با ایجاد یک سیستم فایل بر روی آن برای ذخیره‌سازی داده‌ها آماده می‌کند. سیستم فایل اساساً روشی برای سازمان‌دهی و مدیریت داده‌ها بر روی هارد دیسک است. سیستم فایل‌ها انواع مختلفی دارند که هر کدام از نظر کارایی، حداکثر حجم فایل و حداکثر ظرفیت پارتیشن، مزایا و معایب خاص خود را دارند.

فرمت کردن معمولاً تمامی داده‌های موجود در پارتیشن را حذف می‌کند و ساختار فایل جدیدی ایجاد می‌کند که شامل دایرکتوری‌ها (پوشه‌ها) و فایل‌ها می‌شود. فرمت کردن و انتخاب یک سیستم فایل مراحل بسیار مهمی هستند که پس از نصب فیزیکی و پارتیشن‌بندی هارد دیسک رخ می‌دهند. این فرآیندها هارد دیسک را برای ذخیره ایمن و کارآمد داده‌ها آماده می‌کنند. در این بخش به مفاهیم فرمت کردن و سیستم‌های فایل مختلف خواهیم پرداخت.

فرمت کردن / Formatting

فرمت کردن و انتخاب یک سیستم فایل مراحل حیاتی هستند که پس از نصب فیزیکی و پارتیشن‌بندی هارد دیسک برای آماده‌سازی آن برای ذخیره‌سازی داده‌ها انجام می‌شوند. این فرآیندها نه تنها هارد دیسک را برای دریافت داده‌ها آماده می‌کنند، بلکه نحوه سازمان‌دهی، مدیریت و دسترسی به داده‌ها را نیز تعیین می‌کنند. بلوک‌ها در اینجا نقش اصلی را ایفا می‌کنند، زیرا آن‌ها واحدهای اساسی ذخیره‌سازی داده را در سیستم فایل انتخابی نشان می‌دهند. در این بخش به مفاهیم فرمت کردن، سیستم‌های فایل و نقش بلوک‌ها عمیق‌تر خواهیم پرداخت.

فرمت کردن فرآیندی است که طی آن یک هارد دیسک یا پارتیشن برای استفاده با راه‌اندازی یک سیستم فایل بر روی آن آماده می‌شود. این فرآیند اساساً شامل دو مرحله است:

فرمت کردن سطح پایین (Low-Level Formatting)

این سطح از فرمت کردن، ساختار فیزیکی هارد دیسک را با تقسیم سطح به تراک‌ها و بخش‌ها (سکتورها) تعیین می‌کند. این فرآیند معمولاً توسط سازنده هارد دیسک انجام می‌شود و برای کاربران نهایی قابل دسترسی یا ضروری نیست.

فرمت کردن سطح بالا (High-Level Formatting)

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

.

سیستم های فایل / File Systems 

سیستم فایل روشی برای سازمان‌دهی و مدیریت داده‌ها بر روی هارد دیسک است. این سیستم تعیین می‌کند که فایل‌ها و دایرکتوری‌ها چگونه ساختار یافته‌اند و چگونه به این داده‌ها دسترسی پیدا می‌کنند. انتخاب سیستم فایل تأثیر مستقیمی بر عملکرد، امنیت و سازگاری ذخیره‌سازی داده‌ها دارد. سیستم فایل‌های رایج عبارتند از NTFS، FAT32، exFAT و ext4.

هر سیستم فایل ویژگی‌ها و مزایای خاص خود را دارد. در ادامه برخی از رایج‌ترین آن‌ها را معرفی می‌کنیم:

    • NTFS (سیستم فایل فناوری جدید):

NTFS یک فایل سیستم است که توسط مایکروسافت برای سیستم عامل های ویندوز توسعه یافته است. این فایل از حجم و فایل های بزرگ، ویژگی های امنیتی پیشرفته پشتیبانی می کند و سیستم فایل ترجیحی برای ویندوز است.

Tutorial/Parsing the MFT | Handmade Network

جدول فایل اصلی (Master File Table – MFT)

NTFS File System Overview

در سیستم فایل NTFS، ساختاری به نام جدول فایل اصلی (MFT) وجود دارد که اطلاعات مربوط به هر فایل و دایرکتوری را ذخیره می‌کند. MFT شامل رکوردهایی است که هر کدام نمایانگر یک فایل یا دایرکتوری هستند و حاوی متاداده‌هایی مانند:

  • نام فایل
  • مجوزهای دسترسی
  • تاریخ و زمان ایجاد و تغییر
  • اشاره‌گرهایی به مکان ذخیره‌سازی واقعی داده‌های فایل در دیسک

MFT به سیستم عامل اجازه می‌دهد تا به سرعت فایل‌ها را پیدا کرده و به آن‌ها دسترسی پیدا کند، زیرا تمامی اطلاعات مهم در یک ساختار سازمان‌یافته ذخیره شده‌اند. این ساختار همچنین به NTFS امکان می‌دهد تا با حجم‌های بزرگ و تعداد زیادی فایل به صورت کارآمد عمل کند.

    • FAT32 (جدول تخصیص فایل 32): FAT32

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

    • exFAT (جدول تخصیص فایل توسعه یافته):

exFAT سیستم فایل مدرن تری است که برای غلبه بر محدودیت های FAT32، به ویژه از نظر حجم فایل و حجم، طراحی شده است. این به ویژه برای درایوهای فلش و کارت های SD مفید است.

    • ext4 (چهارمین فایل سیستم توسعه یافته):

ext4 سیستم فایل پیش فرض برای بسیاری از توزیع های لینوکس است. از حجم زیاد، اندازه فایل پشتیبانی می کند و قابلیت های بهبود یافته بازیابی اطلاعات را ارائه می دهد.

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

    • (Resilient File System (ReFS

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

از آنجایی که این فایل سیستم تنها در نسخه های سرور ویندوز موجود است، اکثر کاربران از امکانات آن بهره ای نخواهند برد.

بلوک‌ها (Blocks)

 

در یک سیستم فایل، داده‌ها در بلوک‌ها ذخیره می‌شوند. بلوک کوچک‌ترین واحد فضای ذخیره‌سازی است که برای ذخیره داده‌ها استفاده می‌شود. اندازه یک بلوک می‌تواند متفاوت باشد (برای مثال 512 بایت، 1 کیلوبایت، 4 کیلوبایت) و تأثیر قابل توجهی بر کارایی ذخیره‌سازی داده‌ها دارد.

  • بلوک‌های کوچک‌تر: می‌توانند از فضای ذخیره‌سازی کارآمدتری برای فایل‌های کوچک استفاده کنند، اما منجر به افزایش بار مدیریتی می‌شوند.
  • بلوک‌های بزرگ‌تر: هزینه‌های مدیریتی را کاهش می‌دهند، اما می‌توانند باعث هدر رفتن فضای ذخیره‌سازی (فضای پَس‌مانده یا slack space) در هنگام ذخیره‌سازی بسیاری از فایل‌های کوچک شوند.

انتخاب اندازه بلوک مناسب بستگی به نوع فایل‌ها و کاربرد سیستم دارد.

فرمت کردن و انتخاب سیستم فایل، مراحل حیاتی در آماده‌سازی هارد دیسک برای ذخیره‌سازی داده‌ها هستند. این فرآیندها بر عملکرد، امنیت و سازگاری دسترسی به داده‌ها تأثیر می‌گذارند. درک صحیح این مفاهیم برای اطمینان از مدیریت بهینه داده‌ها و امنیت بسیار مهم است.

با توجه به نیازها و سیستم‌عامل مورد استفاده، انتخاب سیستم فایل مناسب می‌تواند به بهبود عملکرد سیستم و افزایش امنیت داده‌ها کمک کند. همچنین، درک نقش بلوک‌ها و ساختارهای مدیریتی مانند MFT می‌تواند به فهم عمیق‌تر از نحوه ذخیره‌سازی و دسترسی به داده‌ها منجر شود.

واژه‌نامه:

  • فرمت کردن (Formatting): فرآیندی برای آماده‌سازی یک پارتیشن یا درایو برای ذخیره‌سازی داده‌ها با ایجاد یک سیستم فایل.
  • سیستم فایل (File System): روشی برای سازمان‌دهی و مدیریت فایل‌ها و دایرکتوری‌ها بر روی یک دستگاه ذخیره‌سازی.
  • بلوک (Block): کوچک‌ترین واحد ذخیره‌سازی داده در یک سیستم فایل.
  • MFT (Master File Table): ساختاری در NTFS که اطلاعات مربوط به فایل‌ها و دایرکتوری‌ها را ذخیره می‌کند.
  • ReFS (Resilient File System): سیستم فایل پیشرفته مایکروسافت با قابلیت‌های بهبود یافته در تشخیص و ترمیم خرابی‌ها.

 

سیستم فایل‌ها: مدیریت داده‌ها در کامپیوتر

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

در این فصل، به بررسی ساختار فایل‌ها، فرمت‌های مختلف آن‌ها، مفهوم متاداده (Metadata) و نحوه کار سیستم فایل‌ها می‌پردازیم. همچنین با مفاهیمی مانند فرگمنتیشن (Fragmentation) و دیفرگمنتیشن (Defragmentation) آشنا خواهیم شد.

فایل‌ها و فرمت‌های آن‌ها

تعریف فایل

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

فرمت فایل

هر فایل دارای یک فرمت است که نحوه سازمان‌دهی و تفسیر داده‌های درون آن را مشخص می‌کند. فرمت فایل تعیین می‌کند که چگونه باید داده‌ها را خواند و به چه شکلی نمایش داد. استفاده از فرمت‌های استاندارد، مانند JPEG برای تصاویر و MP3 برای صدا، امکان تبادل و استفاده آسان‌تر از فایل‌ها را فراهم می‌کند.

مثال‌هایی از فرمت‌های فایل

فایل‌های متنی (TXT)

فایل‌های متنی (TXT) ساده‌ترین نوع فایل‌ها هستند که حاوی متن ساده بدون فرمت خاصی می‌باشند. این فایل‌ها از کدگذاری‌های استانداردی مانند ASCII یا UTF-8 برای نمایش کاراکترها استفاده می‌کنند.

نحوه ذخیره‌سازی:

  • هر کاراکتر در متن، به یک کد عددی مطابق با جدول کدگذاری (مثلاً ASCII) تبدیل می‌شود.
  • این کدهای عددی به صورت باینری (دودویی) در فایل ذخیره می‌شوند.

مثال:

فرض کنید متن زیر را داریم:

Hello

جدول تبدیل کاراکترها به کد ASCII:

باینری (Binary)دسیمال (Decimal)کاراکتر (Character)
0100100072H
01100101101e
01101100108l
01101100108l
01101111111o

در فایل متنی، این کدهای باینری به ترتیب ذخیره می‌شوند.

فایل‌های صوتی (WAV)

فایل‌های WAV یکی از فرمت‌های استاندارد برای ذخیره صدا هستند. این فایل‌ها شامل دو بخش اصلی هستند:

  • Header (سرآیند): حاوی متاداده فایل، مانند نرخ نمونه‌برداری (Sample Rate)، عمق بیت (Bit Depth)، تعداد کانال‌ها (مونو یا استریو) و اندازه داده‌ها.
  • Data (داده): شامل نمونه‌های صوتی دیجیتال.

نحوه ذخیره‌سازی صدا:

  • صدا به صورت موج آنالوگ است که باید به دیجیتال تبدیل شود.
  • با نمونه‌برداری (Sampling) از موج صوتی در فواصل زمانی منظم، نمونه‌های صوتی به دست می‌آیند.
  • هر نمونه یک مقدار عددی است که نشان‌دهنده دامنه (Amplitude) موج در آن لحظه است.
  • این مقادیر عددی به صورت باینری ذخیره می‌شوند.

مثال:

فرض کنید صدای کلمه “Hello” را ضبط کرده‌ایم. نمودار موج صوتی آن به صورت زیر است:

این نمونه‌ها به ترتیب در بخش داده‌های فایل WAV ذخیره می‌شوند.

3. فایل‌های تصویری (BMP)

فایل‌های BMP یا Bitmap برای ذخیره تصاویر دیجیتال استفاده می‌شوند. این فرمت تصاویر را به صورت نقشه بیتی ذخیره می‌کند، به این معنا که تصویر از مجموعه‌ای از پیکسل‌ها تشکیل شده است که هر یک دارای رنگ مشخصی هستند.

ساختار فایل BMP:

  • Header (سرآیند): شامل متاداده تصویر، مانند:
    • عرض (Width): تعداد پیکسل‌های افقی تصویر.
    • ارتفاع (Height): تعداد پیکسل‌های عمودی تصویر.
    • عمق رنگ (Color Depth): تعداد بیت‌های استفاده‌شده برای نمایش رنگ هر پیکسل (مثلاً 24 بیت).
  • Data (داده): اطلاعات رنگ هر پیکسل.

پیکسل چیست؟

Illustration of What LCD TV Pixels Look Like

  • پیکسل (Pixel) کوچک‌ترین واحد قابل نمایش در یک تصویر دیجیتال است.
  • هر پیکسل می‌تواند رنگی مستقل داشته باشد.
  • رنگ هر پیکسل معمولاً با ترکیبی از سه رنگ اصلی قرمز (Red)، سبز (Green) و آبی (Blue) مشخص می‌شود. این مدل رنگی به RGB معروف است.
  • عمق رنگ 24 بیت به این معناست که برای هر پیکسل، 8 بیت برای هر یک از رنگ‌های قرمز، سبز و آبی اختصاص داده می‌شود.

نحوه ذخیره‌سازی تصویر در BMP:

  • تصویر به صورت ماتریسی از پیکسل‌ها ذخیره می‌شود.
  • برای هر پیکسل، سه مقدار عددی (بین 0 تا 255) برای رنگ‌های RGB ذخیره می‌شود.
  • ترتیب ذخیره‌سازی پیکسل‌ها معمولاً از پایین به بالا و از چپ به راست است.

مثال:

فرض کنید یک تصویر کوچک 4×4 پیکسل با عمق رنگ 24 بیت داریم.

متاداده فایل:

  • عرض: 4 پیکسل
  • ارتفاع: 4 پیکسل
  • عمق رنگ: 24 بیت (8 بیت برای هر رنگ)

داده‌های تصویر:

ردیفستونRedGreenBlueرنگ نهایی
11255255255سفید (White)
122552550زرد (Yellow)
13000سیاه (Black)
142552550زرد (Yellow)
212552550زرد (Yellow)
222552550زرد (Yellow)
23000سیاه (Black)
242552550زرد (Yellow)
312552550زرد (Yellow)
32000سیاه (Black)
33000سیاه (Black)
34000سیاه (Black)
41255255255سفید (White)
42255255255سفید (White)
43255255255سفید (White)
44255255255سفید (White)

توضیح:

  • پیکسل (1,1): مقادیر RGB آن (255,255,255) است که به رنگ سفید منجر می‌شود.
  • پیکسل (1,2): مقادیر RGB آن (255,255,0) است که ترکیب قرمز و سبز با حداکثر شدت و آبی صفر است، که رنگ زرد را ایجاد می‌کند.
  • سایر پیکسل‌ها به همین ترتیب.

تصویر نهایی:

یک شکل ساده که شبیه به کاراکتر Pac-Man است.

با ذخیره‌سازی این مقادیر در فایل BMP، نرم‌افزارهای نمایش تصویر می‌توانند با خواندن متاداده و داده‌های پیکسل‌ها، تصویر را بازسازی و نمایش دهند.

متاداده (Metadata)

متاداده به اطلاعاتی گفته می‌شود که داده‌های دیگر را توصیف می‌کنند. در فایل‌ها، متاداده شامل اطلاعاتی مانند:

  • نوع فایل
  • اندازه فایل
  • تاریخ ایجاد و ویرایش
  • مالک فایل
  • مجوزهای دسترسی
  • مشخصات فنی: مانند نرخ نمونه‌برداری در فایل‌های صوتی یا ابعاد در فایل‌های تصویری.

متاداده معمولاً در ابتدای فایل‌ها (در بخش Header) ذخیره می‌شود و به برنامه‌ها کمک می‌کند تا داده‌های درون فایل را به درستی تفسیر کنند.

سیستم فایل‌ها و نحوه ذخیره‌سازی فایل‌ها

فضای ذخیره‌سازی

کامپیوترها از دستگاه‌های مختلفی برای ذخیره‌سازی داده‌ها استفاده می‌کنند، مانند هارد دیسک، نوار مغناطیسی و حافظه‌های حالت جامد (SSD). این دستگاه‌ها داده‌ها را به صورت باینری ذخیره می‌کنند و از دید سخت‌افزار، فقط یک سری از بیت‌ها هستند.

فایل سیستم (File System)

سیستم فایل بخشی از سیستم عامل است که مدیریت و سازمان‌دهی فایل‌ها را بر عهده دارد. این سیستم تعیین می‌کند که فایل‌ها چگونه روی دیسک ذخیره شوند، چگونه نام‌گذاری شوند و چگونه به آن‌ها دسترسی پیدا کنیم.

سیستم فایل تخت (Flat File System)

در سیستم فایل تخت، تمامی فایل‌ها در یک سطح و بدون ساختار پوشه‌بندی ذخیره می‌شوند. این روش در سیستم‌های ابتدایی با تعداد کم فایل‌ها مناسب بود، اما با افزایش حجم داده‌ها، مدیریت فایل‌ها دشوار شد.

سیستم فایل سلسله‌مراتبی (Hierarchical File System)

در این سیستم فایل، فایل‌ها در پوشه‌ها (Folders) و زیرپوشه‌ها سازمان‌دهی می‌شوند. این ساختار مانند یک درخت است که از دایرکتوری ریشه (Root Directory) شروع می‌شود و به پوشه‌ها و فایل‌های زیرین شاخه می‌شود.

مثال ساختار پوشه‌ها:

Technical Foundations of Informatics

در این ساختار، می‌توانیم فایل‌ها را به راحتی مدیریت، جابه‌جا و سازمان‌دهی کنیم.

مدیریت فضای ذخیره‌سازی

بلاک‌ها (Blocks)

  • بلاک واحدی از فضای دیسک با اندازه ثابت (مثلاً 4 کیلوبایت) است.
  • فایل‌ها در یک یا چند بلاک ذخیره می‌شوند.
  • استفاده از بلاک‌ها مدیریت فضای دیسک را ساده‌تر می‌کند.

فرگمنتیشن (Fragmentation)

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

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

دلایل فرگمنتیشن:

    • حذف و اضافه کردن مکرر فایل‌ها.
    • افزایش اندازه فایل‌ها که نیاز به بلاک‌های اضافی دارد.

تأثیرات فرگمنتیشن:

  • کاهش سرعت دسترسی به فایل‌ها.
  • افزایش زمان لازم برای خواندن یا نوشتن فایل‌ها.

دیفرگمنتیشن (Defragmentation)

  • دیفرگمنتیشن فرآیندی است که بلاک‌های مربوط به یک فایل را مجدداً مرتب می‌کند تا در کنار هم و به صورت متوالی ذخیره شوند.مزایا:
    • افزایش سرعت دسترسی به فایل‌ها.
    • بهبود عملکرد کلی سیستم.

مثال عملی: ذخیره و مدیریت فایل‌ها

فرض کنید می‌خواهیم فایل “todo.txt” را ذخیره کنیم. سیستم فایل به صورت زیر عمل می‌کند:

  1. اختصاص بلاک: سیستم فایل یک یا چند بلاک خالی را برای ذخیره فایل اختصاص می‌دهد.
  2. ذخیره متاداده: اطلاعات مربوط به فایل، مانند نام، اندازه و محل ذخیره‌سازی، در دایرکتوری مربوطه ذخیره می‌شود.
  3. به‌روزرسانی دایرکتوری: اگر فایل تغییر کند (مثلاً محتوای آن افزایش یابد)، سیستم فایل بلاک‌های جدیدی را اختصاص داده و متاداده را به‌روزرسانی می‌کند.

نکته: در صورت حذف فایل، داده‌های آن بلافاصله از دیسک پاک نمی‌شوند، بلکه فقط اشاره‌گرهای مربوطه حذف می‌شوند. به همین دلیل، امکان بازیابی داده‌های حذف شده تا قبل از بازنویسی آن‌ها وجود دارد.

دسترسی به فایل‌ها و مدیریت آن‌ها

کاربران می‌توانند فایل‌ها را ایجاد، ویرایش، حذف و جابه‌جا کنند. سیستم فایل این عملیات را مدیریت می‌کند و اطمینان می‌دهد که دسترسی‌ها مطابق با مجوزهای تعیین شده است.

مجوزهای دسترسی

سیستم فایل می‌تواند مجوزهای مختلفی را برای فایل‌ها تعیین کند، مانند:

  • Read (خواندن): امکان مشاهده محتویات فایل.
  • Write (نوشتن): امکان تغییر محتویات فایل.
  • Execute (اجرا): امکان اجرای فایل (برای فایل‌های اجرایی).

سیستم فایل‌ها نقش حیاتی در مدیریت داده‌ها در کامپیوترها دارند. آن‌ها با سازمان‌دهی فایل‌ها، مدیریت فضای ذخیره‌سازی و ارائه امکاناتی برای دسترسی و مدیریت فایل‌ها، تجربه کاربری را بهبود می‌بخشند و امکان استفاده مؤثر از منابع ذخیره‌سازی را فراهم می‌کنند.

درک عمیق‌تر از سیستم فایل‌ها به ما کمک می‌کند تا بهینه‌تر از سیستم‌های کامپیوتری استفاده کنیم و مشکلات مربوط به ذخیره‌سازی و مدیریت داده‌ها را بهتر درک و حل کنیم.

واژه‌نامه:

  • File (فایل): مجموعه‌ای از داده‌های مرتبط ذخیره شده در یک مکان.
  • File Format (فرمت فایل): ساختار و نحوه سازمان‌دهی داده‌های درون یک فایل.
  • Metadata (متاداده): داده‌هایی که اطلاعاتی درباره داده‌های دیگر ارائه می‌دهند.
  • File System (سیستم فایل): بخشی از سیستم عامل که مدیریت و سازمان‌دهی فایل‌ها را بر عهده دارد.
  • Fragmentation (فرگمنتیشن): پراکندگی بخش‌های مختلف یک فایل در بلاک‌های غیرمتوالی.
  • Defragmentation (دیفرگمنتیشن): فرآیند مرتب‌سازی مجدد بلاک‌های یک فایل برای ذخیره‌سازی متوالی.

تکه تکه شدن و کارایی ذخیره سازی / Fragmentation and storage efficiency

فشرده‌سازی داده ها / Data Compression

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

فشرده سازی بدون اتلاف / Lossless Compression

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

نمونه هایی از فشرده سازی بدون تلفات:

ZIP: فرمت فایل و روش فشرده سازی پرکاربرد است که می تواند از الگوریتم های مختلفی مانند Deflate استفاده کند. فایل‌های ZIP می‌توانند چندین فایل و پوشه را در یک ظرف ذخیره کنند و داده‌ها را فشرده کنند تا فضای ذخیره‌سازی ذخیره شود.

(PNG (Portable Network Graphics: فرمت تصویری که به دلیل فشرده سازی بدون تلفات شناخته شده است. این برای ذخیره تصاویر با لبه های واضح و شفاف، مانند آرم یا گرافیک ایده آل است.

(FLAC (Free Lossless Audio Codec: یک فرمت صوتی که برای فشرده سازی بدون تلفات فایل های موسیقی استفاده می شود. حجم فایل را بدون کاهش کیفیت صدا کاهش می دهد و در بین علاقه مندان به صدا محبوب می شود.

فشرده سازی از دست رفته / Lossy Compression

فشرده سازی با از دست دادن حجم فایل را با حذف اطلاعات کمتر مهم کاهش می دهد و در نتیجه داده های اصلی را از دست می دهد. این نوع فشرده‌سازی اغلب در فایل‌های چندرسانه‌ای مانند عکس، فیلم و موسیقی استفاده می‌شود، جایی که بازسازی کامل داده‌های اصلی برای دستیابی به کیفیت قابل قبول ضروری نیست.

نمونه هایی از فشرده سازی با اتلاف:

JPEG (گروه مشترک متخصصان عکاسی): فرمت تصویری پرکاربرد برای عکس های دیجیتال. JPEG از فشرده سازی با اتلاف برای کاهش اندازه فایل استفاده می کند، که می تواند منجر به کاهش کیفیت تصویر، به خصوص در نرخ فشرده سازی بالا شود.

(MP3 (MPEG Audio Layer III: یک فرمت صوتی محبوب که از فشرده سازی با اتلاف برای کاهش حجم فایل های موسیقی استفاده می کند. MP3 با حذف بخش‌هایی از صدا که کمتر برای گوش انسان قابل توجه است، امکان کاهش قابل توجهی در اندازه فایل را فراهم می‌کند و در عین حال کیفیت صدای قابل قبولی را حفظ می‌کند.

(MPEG-4 (Moving Picture Experts Group Phase 4: استانداردی برای فشرده سازی فایل های صوتی و تصویری. MPEG-4 به ویژه در کاهش اندازه فایل های ویدئویی با استفاده از تکنیک هایی مانند پیش بینی محتوای تصویر بین فریم ها، که می تواند منجر به کاهش کیفیت شود، کارآمد است.

Various Compression Techniques | Download Scientific Diagram

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

درک مفاهیم اساسی

Picture

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

فایل / File

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

پوشه یا دایرکتوری / Directory

پوشه یا دایرکتوری نوع خاصی از فایل است که برای سازماندهی سایر فایل ها و پوشه ها استفاده می شود. استفاده از پوشه ها به کاربران اجازه می دهد تا فایل های خود را در یک ساختار سلسله مراتبی سازماندهی کنند و یافتن، مدیریت و ذخیره داده ها را آسان تر می کند. یک پوشه می تواند حاوی هر تعداد فایل یا زیر پوشه باشد.

مسیر / Path

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

اصطلاح “مسیر” را می توان گسترش داد تا مفاهیم UNC (کنوانسیون نامگذاری جهانی) و URL (یونیفرم منبع یاب) را در بر گیرد، که هر دو نشان دهنده انواع خاصی از مسیرهای مورد استفاده در محیط های شبکه و اینترنت هستند.

Universal Naming Convention (UNC)

UNC یک نماد مسیر است که برای نشان دادن مکان منابع در یک شبکه مانند فایل ها یا چاپگرها استفاده می شود. یک مسیر UNC هم سرور موجود در شبکه و هم منبع موجود در آن سرور را شناسایی می کند. نحو کلی برای یک مسیر UNC به شکل زیر است:

    • ServerName نام سرور یا آدرس IP که منبع بر روی آن میزبانی می شود را مشخص می کند.
    • ShareName نام منبع مشترک روی سرور است.
    • Path مسیری است به فایل یا دایرکتوری خاص در اشتراک گذاری.
    • filename نام فایلی است که باید به آن دسترسی داشت.

مسیرهای UNC معمولاً در محیط‌های شبکه ویندوز برای دسترسی به اشتراک‌های شبکه بدون نیاز به نگاشت حروف درایو استفاده می‌شوند.

Uniform Resource Locator (URL)

URL شکل خاصی از مسیر است که برای شناسایی و دسترسی به منابع در اینترنت یا اینترانت استفاده می شود. URL نه تنها مکان منبع، بلکه پروتکل مورد استفاده برای دسترسی به آن را نیز مشخص می کند. شکل کلی URL به شکل زیر است:

    • پروتکل پروتکل ارتباطی مانند http، https، ftp و غیره را نشان می دهد.
    • نام دامنه سروری را که در اینترنت در آن منبع میزبانی می شود، شناسایی می کند. همچنین می توان از آدرس IP استفاده کرد.
    • پورت (اختیاری) شماره پورتی روی سرور است که از طریق آن به منبع دسترسی پیدا می شود. اگر پورتی مشخص نشده باشد، از یک پورت پیش‌فرض استفاده می‌شود (مثلاً 80 برای http).
    • Path مکان خاصی از منبع را در سرور نشان می دهد.
    • پرس و جو (اختیاری) حاوی پارامترهای اضافی است که به منبع ارسال می شود.
    • Anchor (اختیاری) یک مرجع داخلی به بخش خاصی از منبع است.

URL ها برای پیمایش و دسترسی به محتوا در شبکه جهانی وب بسیار مهم هستند و در بسیاری از محیط های شبکه دیگر نیز استفاده می شوند.

درک UNC و URL به کاربران و توسعه دهندگان این امکان را می دهد که به طور موثرتری به منابع در سراسر شبکه ها و اینترنت دسترسی داشته باشند و با آنها تعامل داشته باشند. این مفاهیم، ​​مفهوم سنتی مسیرها را گسترش می‌دهند تا ابعاد منابع شبکه و منابع وب را در بر گیرند.

دایرکتوری ریشه / Root Directory

Picture

دایرکتوری ریشه، دایرکتوری بالای یک سیستم فایل است که تمام فایل‌ها و پوشه‌های دیگر از آن ساخته شده‌اند. به عنوان نقطه شروعی برای سازماندهی و دسترسی به فایل ها در سیستم فایل عمل می کند. در سیستم های مبتنی بر یونیکس، دایرکتوری ریشه به صورت “/” نمایش داده می شود، در حالی که در سیستم های مبتنی بر ویندوز اغلب با یک حرف درایو مانند “C:\\” نشان داده می شود.

پوشه کش / Cache Folder  

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

پوشه کش چیست؟

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

چرا از پوشه کش استفاده می شود؟

سرعت: دسترسی به داده ها از کش معمولاً بسیار سریعتر از بازیابی یا تولید داده است. این منجر به عملکرد سریعتر برنامه و بهبود تجربه کاربر می شود.

کارایی: با کاهش نیاز به بازیابی چندین بار داده ها از اینترنت یا ذخیره سازی کندتر داده ها، استفاده از پهنای باند کاهش می یابد و بار روی سرورها کاهش می یابد.

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

پوشه کش را از کجا پیدا می کنید؟

محل پوشه کش ممکن است بسته به سیستم عامل، برنامه یا مرورگر متفاوت باشد. در اینجا چند مکان کلی وجود دارد:

    • مرورگرهای وب: مرورگرهایی مانند کروم، فایرفاکس یا سافاری داده‌های وب‌سایت را در یک پوشه کش مخصوص در فهرست خود در نمایه کاربری سیستم عامل ذخیره می‌کنند. این پوشه اغلب حاوی تصاویر، شیوه نامه های CSS و فایل های جاوا اسکریپت از وب سایت های بازدید شده است.
    • سیستم عامل: سیستم عامل ها همچنین از پوشه های کش برای ذخیره فایل ها و داده های موقت استفاده می کنند. اینها را می توان در دایرکتوری های مختلف بر اساس سیستم عامل قرار داد. در ویندوز اغلب در C:\\Windows\\Temp قرار دارند، در حالی که در macOS می‌توانند در پوشه /var/یا ~/Library/Caches قرار گیرند.
    • دستگاه های تلفن همراه: برای دستگاه های iOS و Android، برنامه ها در فهرست برنامه های مربوطه خود ذخیره می شوند. دسترسی به این پوشه ها ممکن است بدون دسترسی ریشه (اندروید) یا جیلبریک (iOS) محدود شود.

اهمیت مدیریت کش

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

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

مدیریت حافظه در سیستم‌های کامپیوتری با استفاده از صفحه‌بندی (Paging)

صفحه‌بندی (Paging) چیست؟

Paging in Operating Systems: What it Is & How it Works

صفحه‌بندی یک روش در مدیریت حافظه سیستم‌های کامپیوتری است که حافظه اصلی (RAM) و حافظه ثانویه (مانند هارد دیسک‌ها یا SSDها) را به گونه‌ای مدیریت می‌کند که استفاده از منابع حافظه بهینه‌تر شود. در این روش، حافظه فیزیکی به بلوک‌های کوچکی با اندازه ثابت تقسیم می‌شود که به آن‌ها “صفحه” (page) گفته می‌شود.

نحوه کار صفحه‌بندی:

Paging with a page hit

  1. تقسیم‌بندی حافظه: هم حافظه فیزیکی و هم آدرس‌های منطقی فرآیندها به صفحات با اندازه مساوی تقسیم می‌شوند.
  2. جدول صفحات: هر فرآیند یک جدول صفحه دریافت می‌کند که وظیفه نگاشت بین آدرس‌های منطقی فرآیند و آدرس‌های فیزیکی در حافظه را دارد.
  3. حافظه مجازی: زمانی که RAM برای نگهداری تمام صفحات مورد نیاز فرآیند کافی نیست، برخی از صفحات می‌توانند به حافظه ثانویه انتقال داده شوند. این قابلیت به سیستم اجازه می‌دهد حافظه بیشتری نسبت به حافظه فیزیکی موجود شبیه‌سازی کند.
  4. جابجایی صفحات (Swapping): در صورت نیاز، صفحات بین RAM و حافظه ثانویه جابجا می‌شوند. اگر یک فرآیند به صفحه‌ای که به حافظه ثانویه منتقل شده است نیاز داشته باشد، آن صفحه به RAM بازگردانده می‌شود و ممکن است یک صفحه دیگر به حافظه ثانویه منتقل شود تا فضا فراهم شود.

Page fault in paging

ارتباط صفحه‌بندی با حافظه و ذخیره‌سازی:

  • حافظه (RAM): حافظه سریعی است که برای نگهداری داده‌ها و برنامه‌های در حال اجرا استفاده می‌شود، اما محدود است.
  • حافظه ذخیره‌سازی (Secondary Storage): حافظه‌ای با سرعت کمتر اما ظرفیت بیشتر مانند هارد دیسک‌ها یا SSDها که برای ذخیره‌سازی دائمی داده‌ها به کار می‌رود.

    What is Paging and how does it work? - Learn Steps - sacas.ac.in

صفحه‌بندی این دو نوع حافظه را به هم پیوند می‌دهد، به گونه‌ای که حافظه ثانویه به عنوان گسترش‌دهنده‌ای برای حافظه اصلی عمل می‌کند. این امر به سیستم اجازه می‌دهد که از RAM موجود به شکل بهینه‌تری استفاده کند و توانایی آن برای اجرای فرآیندهای بزرگتر یا چندین فرآیند همزمان را افزایش دهد.

مزایای صفحه‌بندی:

  • استفاده بهینه از حافظه: صفحه‌بندی باعث می‌شود که فقط صفحات مورد نیاز در حافظه سریع (RAM) نگهداری شوند، در نتیجه حافظه به طور کارآمدتری مصرف می‌شود.
  • پایداری و امنیت: هر فرآیند در فضای آدرس‌دهی مجازی خود کار می‌کند که مانع از دسترسی غیرمجاز به فرآیندهای دیگر می‌شود.
  • انعطاف‌پذیری: این روش به سیستم اجازه می‌دهد که فرآیندهایی که بزرگتر از حافظه اصلی هستند نیز اجرا شوند.

خلاصه:

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