Table of Contents

فصل سوم:

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

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

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

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

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

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

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

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

رابط های هارد

Hard drive – IDE interface

IDE (Integrated Drive Electronics) که با نام PATA (Parallel ATA) نیز شناخته می‌شود، یک رابط قدیمی برای اتصال هارد دیسک و درایوهای نوری به مادربرد است. این رابط از یک کابل ریبون 40 یا 80 پین استفاده می‌کند و از دو دستگاه در هر کانال پشتیبانی می‌کند (Master/Slave).

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

SCSI (Small Computer System Interface) یک رابط پیشرفته‌تر است که امکان اتصال چندین دستگاه (تا 7 یا 15 دستگاه) را از طریق یک کانال فراهم می‌کند. SCSI برای سرورها و workstationها طراحی شده و سرعت و قابلیت اطمینان بالاتری نسبت به IDE دارد.

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

SATA (Serial ATA) رابط استاندارد امروزی برای اتصال هارد دیسک و SSD به مادربرد است. این رابط جایگزین IDE/PATA شده و مزایای زیادی دارد: کابل‌های نازک‌تر، سرعت بالاتر، و قابلیت Hot Swap.

Solid-state drive – SATA interface

SSDهای SATA از همان رابط SATA استفاده می‌کنند اما به دلیل استفاده از حافظه فلش به جای دیسک چرخان، سرعت بسیار بالاتری دارند. SSDهای SATA معمولاً به حداکثر سرعت 550MB/s می‌رسند (محدودیت پهنای باند SATA III).

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

SAS (Serial Attached SCSI) نسل جدید SCSI است که از ارتباط سریال به جای موازی استفاده می‌کند. SAS سرعت بالاتر (تا 12Gbps)، قابلیت اطمینان بیشتر، و سازگاری با کانکتورهای SATA را ارائه می‌دهد.

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

Solid-State Drive – NVMe

NVMe (Non-Volatile Memory Express) یک پروتکل مدرن است که به طور خاص برای SSDها طراحی شده و از طریق PCIe به سیستم متصل می‌شود. NVMe سرعت بسیار بالاتری نسبت به SATA ارائه می‌دهد (تا 7000MB/s).

مزایای NVMe

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

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

برای نصب فیزیکی هارد دیسک در کامپیوتر، مراحل زیر را دنبال کنید:

  1. کامپیوتر را خاموش و از برق جدا کنید
  2. کیس را باز کنید
  3. هارد را در bay مخصوص قرار دهید و با پیچ محکم کنید
  4. کابل SATA را به هارد و مادربرد وصل کنید
  5. کابل برق SATA را از پاور به هارد وصل کنید
  6. کیس را ببندید و کامپیوتر را روشن کنید

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

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

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

(MBR (Master Boot Record

MBR استاندارد قدیمی‌تر است که از دیسک‌های تا 2TB پشتیبانی می‌کند و حداکثر 4 پارتیشن Primary دارد.

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

GPT استاندارد مدرن‌تر است که از دیسک‌های بزرگتر از 2TB پشتیبانی می‌کند و تا 128 پارتیشن را امکان‌پذیر می‌سازد.

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

فرمت کردن / Formatting

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

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

فایل سیستم تعیین می‌کند که داده‌ها چگونه روی دیسک سازماندهی و ذخیره شوند. فایل سیستم‌های رایج شامل NTFS (Windows)، ext4 (Linux)، APFS (macOS)، و FAT32/exFAT (سازگار با همه سیستم‌ها) هستند.

بلوکها (Blocks)

فایل سیستم‌ها فضای دیسک را به واحدهای کوچکی به نام بلوک (Block) تقسیم می‌کنند. اندازه بلوک معمولاً 4KB است. هر فایل از یک یا چند بلوک تشکیل شده است.

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

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

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

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

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

ساده‌ترین فرمت فایل که فقط شامل کاراکترهای متنی است. هر کاراکتر با یک کد ASCII یا Unicode ذخیره می‌شود.

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

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

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

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

متاداده (Metadata)

متاداده (Metadata) به معنای "داده‌ای درباره داده" است. متاداده اطلاعاتی درباره یک فایل ارائه می‌دهد، مانند:

  • نام فایل
  • اندازه فایل
  • تاریخ ایجاد و آخرین تغییر
  • نوع فایل (فرمت)
  • مالک و مجوزهای دسترسی

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

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

فضای ذخیره‌سازی به بخش‌های کوچکی به نام سکتور (Sector) تقسیم می‌شود. هر سکتور معمولاً 512 بایت یا 4KB است. فایل سیستم این سکتورها را مدیریت می‌کند.

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

فایل سیستم مانند یک کتابخانه عمل می‌کند: مکان دقیق هر فایل را روی دیسک ثبت می‌کند و امکان دسترسی سریع به آن را فراهم می‌سازد.

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

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

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

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

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

بلاکها (Blocks)

همانطور که قبلاً اشاره شد، فایل سیستم فضای دیسک را به بلوک‌های هم‌اندازه تقسیم می‌کند. هر فایل از یک یا چند بلوک تشکیل شده است.

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

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

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

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

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

فرض کنید یک فایل 10KB داریم و اندازه بلوک 4KB است. این فایل به 3 بلوک نیاز دارد (دو بلوک کامل و یک بلوک نیمه‌پر). فایل سیستم این بلوک‌ها را به فایل اختصاص می‌دهد و آدرس آن‌ها را در metadata فایل ثبت می‌کند.

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

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

سیستم‌عامل مجوزهای دسترسی به فایل‌ها را مدیریت می‌کند. در Linux/Unix، مجوزها شامل Read (r)، Write (w)، و Execute (x) برای سه سطح مالک (Owner)، گروه (Group)، و دیگران (Others) است.

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

Fragmentation باعث می‌شود هد هارد دیسک برای خواندن یک فایل مجبور به حرکت به نقاط مختلف دیسک شود که این کار زمان دسترسی را افزایش می‌دهد. SSDها Fragmentation ندارند چون زمان دسترسی به همه بلوک‌ها یکسان است.

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

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

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

در فشرده‌سازی بدون اتلاف، داده‌ها دقیقاً به حالت اولیه بازگردانده می‌شوند. مثال: ZIP، PNG، FLAC.

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

در فشرده‌سازی با اتلاف، برخی از داده‌ها برای کاهش حجم فایل حذف می‌شوند. مثال: JPEG، MP3، MP4.

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

فایل / File

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

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

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

مسیر / Path

مسیر (Path) آدرس یک فایل یا دایرکتوری در ساختار فایل سیستم است. مسیر می‌تواند مطلق (Absolute) یا نسبی (Relative) باشد.

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

دایرکتوری ریشه بالاترین سطح در ساختار فایل سیستم است. در Windows با C:\ و در Linux/Unix با / نشان داده می‌شود.