شاخه‌گاه (سیستم فایل‌بندی)

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

برخلاف ویژگی‌های تعمیم یافته، که یک ویژگی سیستم فایل‌بندی آشنا است و معمولاً اندازه (سایز) ثابت دارد، «شاخه‌گاه» ها می‌توانند سایزهای متغیری داشته باشند، که حتی می‌تواند بزرگتر از «شاخه‌گاه داده» ی اصلی فایل باشد. سایز یک فایل، مجموع سایزهای هر شاخه‌گاه می‌باشد.

«شاخه‌گاه‌های منبع» معمولاً توسط اجراپذیر‌ها استفاده می‌شوند.

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

## راه کارهای پیاده‌سازی بدون شاخه‌گاه
* فایل سیستم بدون شاخه‌گاه: باید از چندین فایل مجزا استفاده کرد، که این فایل‌ها به هم مرتبط هستند، مثلاً باید از فایل‌های متصل رفیق استفاده کرد. در اینجا برنامه ای که روی فایل‌ها کار می‌کند باید اتصال بین فایل‌ها را اداره کند و نه فایل سیستم.
* راهکار استفاده از فایل‌های بایگانی(Archive file): داده‌های اضافی در یک قالب پروندهٔ از قبل معین شده، یا فایل بایگانی، ذخیره می‌شود. در این راهکار چندین فایل و فراداده در یک فایل (در یک شاخه‌گاه منفرد) ذخیره می‌شود. در اینجا برنامه باید فایل ظرفی یا فایل بایگانی را پردازش کند، نه آنکه فایل سیستم شاخه‌گاه‌ها را اداره نماید.

### ایراد اصلی فقدان شاخه‌گاه
* برنامهٔ استفاده‌کننده از داده باید کارهای اضافی انجام دهد.

## اهمیت و هدف از ایجاد شاخه‌گاه‌ها
شاخه گاه منبع برای سه هدف در سیستم فایل‌بندی مکینتاش استفاده می‌شود:
* برای ذخیرهٔ همهٔ داده‌های گرافیکی روی دیسک، تا زمانیکه نیاز باشد، سپس بازیابی می‌شود، روی نمایشگر رسم می‌گردد، و سپس دور ریخته می‌شود. این نوع نرم‌افزاری حافظهٔ مجازی به اپل کمک کرد تا نیازمندی‌های حافظه را از ۱ مگابایت در اپل لیزا به ۱۲۸ کلیو بایت در مکینتاش کاهش دهد.
* به دلیل آنکه همهٔ تصاویر و متن‌ها به صورت مجزا در یک شاخه‌گاه منبع ذخیره‌سازی می‌شوند، یک غیر برنامه‌نویس از آن استفاده می‌کند تا برای یک بازار خارجی یک برنامه را ترجمه کند. فرایندی که بین‌المللی‌سازی و محلی‌سازی نام دارد.
* از شاخه‌گاه می‌توان برای توزیع تقریباً همهٔ اجزای یک برنامه کاربردی در یک فایل منفرد استفاده کرد، که درهم و برهمی را کاهش می‌دهد و نصب و حذف برنامه کاربردی را ساده می‌سازد.

## انواع شاخه‌گاه
* شاخه گاه منبع: برای ذخیره‌سازی داده‌های ساخت‌یافته استفاده می‌شود.
* شاخه گاه داده: برای ذخیره‌سازی داده‌های بدون ساختار استفاده می‌شود.

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

می‌شود.

یک فایل واژه پرداز می‌تواند:
* متن خود را در یک «شاخه‌گاه داده» ذخیره کند،
* در حالیکه هر تصویر جاسازی شده را در «شاخه‌گاه منبع» همان فایل ذخیره‌سازی نماید.

شاخه‌گاه‌های منبع در همهٔ سیستم‌های فایل بندی پیاده‌سازی شده‌است، و از آن برای سامانه ران‌ها روی مکینتاش (MFS, HFS، و HFS Plus) استفاده می‌شود. وجود یک شاخه‌گاه امکان ذخیرهٔ انواع مختلفی از داده‌های اضافی را ساده می‌سازد، مثلاً به سیستم امکان می‌دهد تا آیکون درست را برای یک فایل نمایش دهد، و آن را بدون نیاز به یک پسوند نام در نام یک فایل، باز کند.

## نحوه دسترسی به شاخه‌گاه‌ها
* در حالیکه دسترسی به «شاخه‌گاه داده» مشابه دسترسی به فایل در دیگر سیستم عامل‌ها عمل می‌کند؛ یک فایل را بگیرید، یک آفست بایت را بگیرید، داده را بخوانید.
* دسترسی به یک «شاخه‌گاه منبع» بیشتر شبیه استخراج کردن رکوردهای ساخت‌یافته از پایگاه داده کار می‌کند.

## پیاده‌سازی‌های شاخه‌گاه‌ها

### در اپل
شاخه گاه‌های سیستم فایل با سیستم فایل بندی سلسله مراتبی اپل (HFS) مرتبط می‌باشند. HFS اپل و سیستم فایل بندی مکینتاش اپل (MFS) اجازه می‌دهند تا یک شیی سیستم فایل بندی دارای دو نوع شاخه گاه باشند: شاخه گاه داده، و شاخه گاه منبع.
* شاخه گاه منبع برای ذخیرهٔ داده‌های کامپایل نشده که توسط رابط کاربری گرافیکی سیستم استفاده می‌شود، طراحی شده‌است، مثل:
** رشته متن‌های قابل محل دهی
** آیکون فایل که توسط یابنده استفاده می‌شود
** فهرست (منو)ها
** جعبه‌های گفتگو که با یک برنامه کاربردی مرتبط اند.

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

یکی از ویژگی‌های بسیار مبهم و گنگ اچ اف اس پلاس آن است که یک فایل می‌تواند به تعداد دلخواهی «شاخه گاه نام دار» داشته باشد، علاوه بر شاخه گاه‌های منبع و داده. این ویژگی به صورت گسترده بدون استفاده مانده‌است؛ و اپل هیچ‌گاه پشتیبانی از آن را در Mac OS 8.1-10.3.9 اضافه نکرد. با شروع ۱۰٫۴ یک پیاده‌سازی جزئی برای پشتیبانی از ویژگی‌های برخز گسترش یافته اپل انجام گردید.

تا Mac OS X v10.4 کاربرانی که امکانات خط فرمان Unix را اجرا می‌کردند (مثل tar) که در Mac OS X نیز موجود است، در خطر از دست رفتن داده بودند، زیرا امکانات برای دستکاری شاخه گاه‌های منبع فایل‌ها تا ورژن v10.4 به روز رسانی نشده بود.

### در NTFS مایکروسافت
جریان داده‌های متفاوت (Alternate data streams) امکان می‌دهد تا بیش از یک جریان داده با یک نام فایل مرتبط گردد (یک شاخه گاه) در اینجا باید از فرمت "filename:streamname" استفاده کرد (مثلاً "text.txt:extrastream").

## انواع اصلی منبع
کدهای نوع زیر، به عنوان شناسانه نوع در شاخه‌گاه‌ها، برای شناسایی مواردی غیر از خود شاخه‌گاه‌های منبع استفاده می‌شوند: مثلاً برای شناسایی خود فایل‌ها، توصیف داده در کلیپ برد، و بسیاری موارد دیگر.

در اینجا طول نوع باید ۴ بایت باشند، بنابراین برای انواعی مثل snd و STR یک فاصله خالی (0x20) در انتهای آن می‌باشد.

## منابع

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