پارتیشن‌ها و فایل‌سیستم‌ها

تصویر شاخص پارتیشن‌ها و فایل‌سیستم‌ها

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

باز هم طبق معمول، توصیه می‌کنم که مطالب رو به‌ترتیب و با حوصله بخونید، چون که مطالب به‌ترتیب و با حوصله نوشته شدند

دیسک دائمی چیست (Permanent Disk)

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

از جمله مزیت‌های دیسک‌های سخت این هست که برای نگه‌داری دیتا نیازی به جریان برق ندارند، برخلاف RAM که نیاز به وجود برق برای نگه‌داری دیتا داره، دیسک‌های دائمی نیازی به وجود جریان الکتریکی برای نگه‌داری از دیتا ندارند، یا به‌عبارت ساده‌تر، اگر برق یک دیسک دائمی رو قطع کنیم، دیتای داخل اون از بین نمیره و هیچ‌گونه آسیبی نمی‌بینه، و این نکته تمایز بین Temporary Storage ها با Permanent Storage ها هست

دیسک‌های دائمی ما امروزه به دو نوع HDD و SSD تقسیم‌بندی می‌شن، که نوع اول مخفف Hard Disk Drive و نوع دوم مخفف Solid State Drive هستند

ذخیره‌سازی اطلاعات ما که به‌صورت وجود یا عدم وجود برق در ترانزیستورها هست، به‌صورت باینری یا همون 0 و 1 داخل دیسک‌های دائمی اتفاق می‌افته، به‌عبارت ساده‌تر، داده‌هایی که در کامپیوتر به‌صورت On و Off داریم رو به‌صورت 0 و 1 روی دیسک‌های دائمی می‌تونیم ذخیره کنیم و بعد دوباره همون دیتا رو به‌صورت 0 و 1 از دیسک بخونیم و دوباره بر اساس اون، ترانزیستور ها رو On و Off کنیم

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

پارتیشن چیست (Partition)

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

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

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

فایل‌سیستم چیست (File Systems)

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

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

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

از فایل‌سیستم‌های رایج در دنیا می‌تونیم به NTFS و FAT32 و EXT4 اشاره کنیم که البته لیست کامل رو می‌تونید از این لینک مطالعه کنید

ساختار پارتیشنی ویندوز (Windows Partitioning)

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

در سیستم‌عامل ویندوز، هر پارتیشن، یک واحد مستقل از سایر پارتیشن‌ها هست و نحوه Mount شدن پارتیشن‌ها معمولا به‌صورتی هست که نمی‌تونیم به‌صورت Relative یا همون نسبی، از پارتیشنی به پارتیشن دیگه‌ای آدرس‌دهی کنیم

ویندوز معمولا از حروف انگلیسی برای Label زدن به پارتیشن‌ها استفاده می‌کنه، برای مثال پارتیشنی که خود سیستم‌عامل روی اون نصب می‌شه C نام داره و سپس به‌ترتیب پارتیشن‌ها می‌تونند D و E و F و ... نام‌گذاری بشن

ویندوز معمولا برای عملکرد، نیازمند به یک پارتیشن اصلی برای نصب OS و یک پارتیشن مجزا برای نصب فایل‌های مورد نیاز برای بوت‌لودر هست

ساختار پارتیشنی گنو/لینوکس (Linux Partitioning)

سیستم‌عامل‌های گنو/لینوکسی، معمولا از فایل‌سیستم EXT4 برای پارتیشن‌های اصلی خود استفاده می‌کنند و پارتیشن‌ها را به‌صورت نسبی و درختی آدرس‌دهی می‌کنند

در سیستم‌عامل‌های گنو/لینوکسی، نقطه شروع درخت حیات، اسلش (/) یا همان روت (Root) می‌باشد و کل حیات سیستم‌عامل از این نقطه شروع می‌شه و پارتیشنی که در آن سیستم‌عامل نصب می‌شه رو پارتیشن / یا Root در نظر می‌گیریم

برخلاف ویندوز، در گنو/لینوکس تمامی پارتیشن‌ها و دستگاه‌ها و ... به‌عنوان یک زیرشاخه از روت Mount می‌شن و نمی‌تونند مثل ویندوز به‌صورت مستقل C یا D یا ... ماونت بشن، به هر طریقی هم که Mount بشن باید زیرشاخه‌ای از Root باشند و با این تفسیر می‌تونیم از هر نقطه‌ای در سیستم که باشیم به‌صورت نسبی یا همان Relative اقدام به آدرس‌دهی کنیم

سیستم‌عامل گنو/لینوکس طبیعتا از سایر فایل‌سیستم‌ها مانند NTFS و FAT و ... هم پشتیبانی می‌کنه اما توصیه می‌شه که پارتیشن روت از نوع EXT4 باشد

نکته‌ای که در گنو/لینوکس حائز اهمیت هست، اینه که ما می‌تونیم به‌راحتی هر آدرسی رو به یک پارتیشن مستقل Mount کنیم و به همین ترتیب می‌تونیم برای دایرکتوری‌های home و boot و etc و ... یک پارتیشن مجزا در نظر بگیریم و از پارتیشن روت مستقل کنیم

پارتیشن‌های گنو/لینوکس (Linux Partitions)

در گنو/لینوکس معمولا نیازمند به یک پارتیشن Root هستیم که باید از نوع EXT4 باشه و در اون سیستم‌عامل نصب می‌شه، سایر پارتیشن‌ها اجباری نیستند و به‌دلخواه می‌تونیم اون‌ها رو ایجاد کنیم یا نکنیم

دایرکتوری Home معمولا مسیری هست که برخی از کاربران در گنو/لینوکس اقدام به ایجاد پارتیشن مستقل برای اون می‌کنند که کاربردش برای ذخیره‌سازی فایل‌ها و رسانه‌ها و ... مربوط به کاربران در گنو/لینوکس هست، می‌تونیم یک پارتیشن از نوع EXT4 یا NTFS یا ... ایجاد کنیم و به مسیر /home ماونت کنیم

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

فایل Swap معمولا فایلی هست که اندازه مشخصی داره و از اون برای ذخیره‌سازی داده‌های RAM در دیسک هنگامی که RAM پر می‌شه و نیاز به فضا داره، استفاده می‌شه، می‌تونیم فایل Swap رو به یک پارتیشن مستقل آدرس‌دهی کنیم

و البته هرگونه دایرکتوری دیگه‌ای که در گنو/لینوکس وجود داره رو هم می‌تونیم به یک پارتیشن مستقل تبدیل کنیم و سپس با Mount کردن در نقطه دلخواه به اون دسترسی داشته باشیم

نتیجه‌گیری

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

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