فایل چیست؟
فایل یا پرونده (File) یک مجموعهای از دادهها یا اطلاعات دیجیتالی است که به صورت مستندات مختلف مستقل میتوانند در یک فضای ذخیرهسازی مشخص نگهداری شوند. این مستندات ممکن است شامل متن، تصاویر، صدا، ویدئوها و دیگر فرمتهای دادهای باشند. فایلها اطلاعات را برای استفادهی بعدی نگهداری و ذخیره میکنند و میتوانند به صورت پایدار یا موقتی باشند.
فایلها میتوانند برای ذخیرهی اطلاعات و دادهها به کار روند. این مستندات میتوانند حاوی اطلاعات متنی مثل مقالات، نامهها و کتابها باشند. فایلها همچنین میتوانند تصاویر مختلفی شامل نقاشیها، عکسها و نمودارها را نگهداری کنند. اطلاعات صوتی نیز میتواند در فایلها ضبط و نگهداری شود؛ مانند فایلهای صوتی، موسیقی و پادکستها.
فایلها ممکن است حاوی فیلمها و ویدئوهای مختلفی باشند که تصاویر متحرک را نمایش میدهند. انواع دیگری از فایلها نیز وجود دارند که برای نگهداری دادههای خاصی مانند پایگاههای داده، برنامهها و آرشیوها ایجاد میشوند.
مدیریت فایل در سیستم عامل
هر فایل معمولاً شامل اطلاعات مرتبط و یک محتوا یا اطلاعات خاصی است که با یک نام و پسوند مشخص شناخته میشود. مشخصات یک فایل عبارتند از:
- نام فایل: نامی که برای شناسایی فایل استفاده میشود.
- پسوند فایل: قسمتی از نام فایل که نوع فایل را مشخص میکند. برای مثال، فایلهای متنی اغلب دارای پسوند “.txt” هستند.
- محتوا: اطلاعات و دادههای موجود در فایل که از جنس مختلفی میتوانند باشند، مانند متن، تصویر، ویدئو، صوت و غیره.
- حجم: اندازه فایل به بایت یا کیلوبایت که نشاندهنده حجم اطلاعات موجود در فایل است.
- مسیر: محل ذخیرهسازی فایل در سیستم فایل که نشاندهنده مسیر دسترسی به فایل است.
- تاریخ ایجاد: زمان و تاریخ ایجاد فایل.
- تاریخ ویرایش: زمان و تاریخ آخرین ویرایش یا تغییرات اعمال شده در فایل.
- دسترسیها: مجوزها و دسترسیهای تعیینشده برای فایل که تعیینکننده حق دسترسی کاربران به آن میباشد.
- نوع محتوا: نوع اطلاعات موجود در فایل که میتواند متن، عکس، ویدئو و… باشد.
- توضیحات: توضیحات مرتبط با فایل که کمک به شناخت بهتر محتوای آن میکند.
اعمال فایل
در مدیریت فایل در سیستم عامل، اعمالی وجود دارند که میتوان روی فایلها انجام داد. این اعمال عبارتند از:
- ایجاد فایل: در این عملیات، یک فایل جدید ایجاد میشود که میتواند حاوی اطلاعات و دادههای مختلفی باشد. این فایل با یک نام و پسوند مشخص شناسایی میشود.
- نوشتن در فایل: در این عملیات، اطلاعات و محتوای جدیدی به داخل یک فایل نوشته میشود. این اطلاعات میتوانند متنی، عددی، تصویر و یا هر نوع دادهای باشند.
- خواندن فایل: در این عملیات، محتوای موجود در یک فایل خوانده شده و اطلاعات مربوطه به صورت مفهوم به کاربر نمایش داده میشود.
- جابهجایی در فایل: در بعضی فایلها ممکن است دادهها به صورت غیر متوالی در حافظه ذخیره شوند و از نشانگرها برای اشاره به مکانهای دقیق دادهها استفاده میشود. جابهجایی در فایل به معنای حرکت دادن نشانگرها به مکانهای مختلف در داخل فایل است.
- حذف فایل: در این عملیات، یک فایل موجود حذف میشود و از فضای ذخیرهسازی آزاد میشود.
- تغییر نام فایل: در این عملیات، نام یک فایل تغییر داده میشود و به یک نام دیگر در داخل دایرکتوری نسبت داده میشود.
این عملیاتها اجازه میدهند تا اطلاعات درون فایلها مدیریت و تغییر داده شوند و کاربران بتوانند به راحتی با فایلها در سیستم عامل و برنامههای مختلف تعامل داشته باشند. در رابطه با این موضوع میتوان به فایل آماده موجود در مجموعه پی استور که مناسب برای ارائه کلاسی شما عزیزان میباشد اشاره کرد که برای دسترسی به این فایل میتوانید به لینک زیر مراجعه کنید.
ساختار دایرکتوری
اعمالی که میتوان بر روی یک دایرکتوری انجام داد ۶ مورد هستند که عبارتند از:
- جستجو برای یک فایل: در این عملیات، میتوان برای پیدا کردن یک فایل خاص درون دایرکتوری و زیردایرکتوریها جستجو کرد. این عملیات به کاربر امکان میدهد تا با وارد کردن نام فایل یا الگوی مشخص، فایلها را بر اساس نام یا خصوصیات دیگر پیدا کند.
- ایجاد یک فایل: در این عملیات، میتوان یک فایل جدید را در داخل دایرکتوری ایجاد کرد. این فایل میتواند حاوی اطلاعات و دادههای مختلفی باشد که توسط کاربر تعیین میشود.
- حذف فایل: در این عملیات، یک فایل موجود در دایرکتوری حذف میشود و از فضای ذخیرهسازی آزاد میشود.
- لیست گیری: این عملیات شامل نمایش فهرستی از تمام فایلها و زیردایرکتوریهای موجود در دایرکتوری است. این لیست برای کاربران مشخص میکند که فایلها و دایرکتوریها به چه ترتیب و با چه نامهایی موجود هستند.
- تغییر نام یک فایل: در این عملیات، نام یک فایل تغییر داده میشود و به یک نام دیگر در داخل دایرکتوری نسبت داده میشود.
- حرکت بر روی فایل سیستم: این عملیات به کاربر اجازه میدهد تا درون ساختار فایل سیستم حرکت کند و بین دایرکتوریها و فایلها جابهجا شود. این عملیات به صورت ناوبری در ساختار درختی فایلها انجام میشود و کاربر میتواند به دایرکتوریها و زیردایرکتوریها دسترسی پیدا کند. در ادامه مبحث مدیریت فایل در سیستم عامل به ۳ ساختار معروف دایرکتوری میپردازیم. جهت مطالعه بیشتر پیشنهاد میکنیم مقاله زیر را مطالعه کنید.
ساختار دایرکتوری تک سطحی
روش سادهتر این است که یک لیست بزرگ از همه فایلها در دیسک وجود داشته باشد. کل سیستم فقط یک دایرکتوری دارد که باید تمام فایلهای موجود در سیستم فایل را نشان دهد. این دایرکتوری شامل یک ورودی برای هر فایل موجود در سیستم فایل است. در این حالت، یک دایرکتوری تنها برای همه کاربران حفظ میشود.
- مشکل نامگذاری: کاربران نمیتوانند دو فایل با نام یکسان داشته باشند.
- مشکل گروهبندی: کاربران نمیتوانند فایلها را بر اساس نیازهای خود گروهبندی کنند.
ساختار دایرکتوری دو سطحی
در سیستمهای دوسطحی از دایرکتوریها، میتوانیم برای هر کاربر یک دایرکتوری جداگانه ایجاد کنیم. در مدیریت فایل در سیستم عامل، یک دایرکتوری اصلی وجود دارد که شامل دایرکتوریهای مجزا مخصوص هر کاربر است. برای هر کاربر، در سطح دوم یک دایرکتوری متفاوت وجود دارد که حاوی گروهی از فایلهای کاربر است. سیستم به هر کاربر اجازه نمیدهد به دایرکتوری دیگر کاربران بدون اجازه وارد شود.
ویژگیهای سیستم دوسطحی دایرکتوری عبارتند از:
- هر فایل دارای نام مسیری است به صورت /نام-کاربری/نام-دایرکتوری/
- کاربران مختلف میتوانند نام یکسانی برای فایلها داشته باشند.
- جستجوی فایلها باعث افزایش کارآیی میشود زیرا فقط لیست یک کاربر برای جستجو نیاز است.
- انواع مشابه فایلها نمیتوانند در یک دایرکتوری مشترک برای یک کاربر خاص گروهبندی شوند.
- هر سیستم عامل متغیری با نام PWD را حفظ میکند که شامل نام فعلی دایرکتوری (نام کاربر حال حاضر) است تا جستجو به درستی انجام شود.
در این حالت، دایرکتوریهای مجزا برای هر کاربر نگهداری میشوند
- نام مسیر: به دلیل دو سطح، برای هر فایل نام مسیری وجود دارد تا مکان فایل مورد نظر را مشخص کند.
- حالا میتوانیم برای کاربران مختلف نام یکسانی برای فایلها داشته باشیم.
- جستجو در این روش کارآمد است.
ساختار دایرکتوری درختی
در سیستم دایرکتوری با ساختار درختی، هر مدخل دایرکتوری میتواند یک فایل یا زیردایرکتوری باشد. سیستم دایرکتوری با ساختار درختی نقاط ضعف سیستم دوسطحی دایرکتوری را برطرف میکند. اکنون میتوانیم فایلهای مشابه را در یک دایرکتوری گروهبندی کنیم. هر کاربر دارای دایرکتوری خود است و قادر به ورود به دایرکتوری کاربران دیگر نیست. با این حال، کاربر اجازه دسترسی به دادههای ریشه را دارد اما نمیتواند آنها را تغییر یا ویرایش کند. فقط مدیر سیستم دسترسی کامل به دایرکتوری ریشه را دارد.
جستجو در این ساختار دایرکتوری کارآمدتر است. در مدیریت فایل در سیستم عامل، یک فایل میتواند با دو نوع مسیر، مسیر نسبی یا مسیر مطلق، دسترسی داشته باشد. مسیر مطلق مسیر فایل نسبت به دایرکتوری ریشه سیستم است، در حالی که مسیر نسبی مسیر فایل نسبت به دایرکتوری کاری فعلی سیستم است. در سیستم دایرکتوری با ساختار درختی، به کاربر اجازه داده میشود تا فایلها و دایرکتوریها را ایجاد کند.
در سیستم دایرکتوری با ساختار درختی، اجازهها بر روی فایلها و دایرکتوریها اعمال میشوند. این سطوح اجازهها شامل خواندن (R)، نوشتن (W) و اجرا (X) برای فایلها و دایرکتوریها هستند. اجازهها به سه نوع کاربر، یعنی مالک (owner)، گروه (group) و دیگران (others) اختصاص داده میشوند.
برای تمایز بین دایرکتوری و فایل، یک بیت شناسایی وجود دارد. برای دایرکتوری علامت “d” و برای فایل نقطه (.) استفاده میشود.
نمونه زیر نشاندهنده اجازههای اختصاص داده شده به یک فایل در یک سیستم مبتنی بر لینوکس است. بیت اول (d) نشان میدهد که این یک دایرکتوری است:
drwxr-xr-x
در این مثال:
- “d” نشاندهنده این است که این یک دایرکتوری است.
- “rwx” نشاندهنده اجازههای مالک فایل است که خواندن، نوشتن و اجرا فایل را دارد.
- “r-x” نشاندهنده اجازههای گروه است که فقط خواندن و اجرای فایل را دارد.
- “r-x” نشاندهنده اجازههای دیگران است که فقط خواندن و اجرای فایل را دارند.
روش های تخصیص فایل
روشهای تخصیص فضای دیسک یا فایل هنگام مدیریت فایل در سیستم عامل، نحوه ذخیره فایلها در بلوکهای دیسک را تعیین میکنند. سه روش اصلی تخصیص فضا یا فایل در اینجا شرح داده شدهاند:
- تخصیص پیوسته (Contiguous Allocation)
- تخصیص پیوندی (Linked Allocation)
- تخصیص شاخصی (Indexed Allocation)
ایدههای اصلی پشت این روشها عبارتند از:
- استفاده کارآمد فضای دیسک.
- دسترسی سریع به بلوکهای فایل.
تخصیص پیوسته (Contiguous Allocation)
در این روش، هر فایل یک مجموعه پیوسته از بلوکها روی دیسک را اشغال میکند. به عنوان مثال، اگر یک فایل نیاز به n بلوک داشته باشد و به عنوان مکان شروع بلوک b را دریافت کند، بلوکهای اختصاص داده شده به فایل به شرح زیر خواهد بود: b، b+1، b+2، …، b+n-1. این بدان معناست که با داشتن آدرس بلوک شروع و طول فایل (به صورت بلوکهای مورد نیاز)، میتوانیم بلوکهایی که توسط فایل اشغال شدهاند را تعیین کنیم.
ورودی دایرکتوری برای فایل با تخصیص پیوسته شامل موارد زیر است:
- آدرس بلوک شروع
- طول بخش اختصاصیافته
فایل ‘mail’ در شکل بالا از بلوک ۱۹ با طول ۶ بلوک شروع میشود. بنابراین، این فایل بلوکهای ۱۹، ۲۰، ۲۱، ۲۲، ۲۳، ۲۴ را اشغال میکند.
مزایا:
- این روش هم ساپورت دسترسی ترتیبی و هم دسترسی مستقیم را فراهم میکند. برای دسترسی مستقیم، میتوان به سادگی آدرس بلوک k ام از فایلی که از بلوک b شروع میشود را به صورت (b+k) دریافت کرد.
- این روش بسیار سریع است زیرا تعداد جستجوها به دلیل تخصیص پیوسته بلوکهای فایل کمترین حد ممکن است.
معایب:
- این روش با همزنگانی داخلی و همزنگانی خارجی مواجه است که این امر باعث ناکارآمدی آن از نظر استفاده از حافظه میشود.
- افزایش اندازه فایل مشکل است زیرا به وجود آمدن حافظههای پیوسته در یک زمان معین وابسته است.
تخصیص پیوندی (Linked Allocation)
یکی دیگر از روش های تخصیص فایل در مدیریت فایل در سیستم عامل، تخصیص پیوندی است. در این روش، هر فایل یک لیست پیوندی از بلوکهای دیسک است که نیازی به ادامه ندارند. بلوکهای دیسک میتوانند در هر جایی از دیسک پراکنده شوند. ورودی دایرکتوری شامل اشارهگر به بلوک شروع و پایان فایل است. هر بلوک شامل اشارهگر به بلوک بعدی که توسط فایل اشغال میشود، میباشد.
فایل ‘jeep’ در تصویر زیر نشان میدهد که بلوکها به صورت تصادفی پخش شدهاند. آخرین بلوک (۲۵) دارای عدد -۱ است که به معنای یک اشارهگر تهی و به هیچ بلوک دیگری اشاره نمیکند.
مزایا:
- این روش از نظر اندازه فایل بسیار انعطافپذیر است. اندازه فایل به راحتی قابل افزایش است چرا که سیستم نیازی به یافتن یک تکه پیوسته از حافظه ندارد.
- این روش از همزنگانی خارجی رنج نمیبرد. این باعث میشود که از نظر بهرهوری حافظه نسبتاً بهتر عمل کند.
معایب:
- به دلیل پخش تصادفی بلوکهای فایل در دیسک، برای دسترسی به هر بلوک به صورت جداگانه تعداد زیادی جستجو مورد نیاز است. این باعث میشود تخصیص پیوندی کندتر باشد.
- این روش از دسترسی تصادفی یا مستقیم پشتیبانی نمیکند. ما نمیتوانیم به صورت مستقیم به بلوکهای یک فایل دسترسی داشته باشیم. بلوک k از یک فایل میتوان با طی کردن به صورت ترتیبی k بلوک (دسترسی ترتیبی) از بلوک شروعی فایل توسط اشارهگرهای بلوک دسترسی داده شود.
- اشارهگرهای مورد نیاز در تخصیص پیوندی هزینه اضافی دارند.
تخصیص شاخصی (Indexed Allocation)
در این روش، یک بلوک ویژه به نام بلوک نشانگر (Index block) شامل اشارهگرها به تمام بلوکهایی که توسط یک فایل اشغال میشود، وجود دارد. هر فایل دارای بلوک نشانگر خود است. ورودی شماره i در بلوک نشانگر، آدرس دیسک بلوک شماره i ام فایل را شامل میشود. ورودیهای بلوک نشانگر در دایرکتوری آدرس بلوک نشانگر را نشان میدهند که در ادامه مطلب مدیریت فایل در سیستم عامل، در تصویر زیر نشان داده شده است.
مزایا:
- این روش دسترسی مستقیم به بلوکهایی که توسط فایل اشغال میشوند را پشتیبانی میکند و بنابراین دسترسی سریع به بلوکهای فایل را فراهم میآورد.
- این روش مشکل همزنگانی خارجی را رفع میکند.
معایب:
- هزینه اضافی پوینترها در تخصیص نشانگر بیشتر از تخصیص پیوندی است.
- برای فایلهای بسیار کوچک، مانند فایلهایی که فقط به ۲-۳ بلوک افزایش مییابند، تخصیص نشانگر که یک بلوک کامل را به عنوان بلوک نشانگر نگهداری میکند (بلوک مرجع) در اصطلاح بهرهوری حافظه ناکارآمد است. با این حال، در تخصیص پیوندی، تنها یک پوینتر در هر بلوک از دست میرود.
برای فایلهای بسیار بزرگ، بلوک نشانگر یکپارچه ممکن است قادر به نگهداری تمام پوینترها نباشد. برای حل این مشکلات میتوان از مکانیسمهای زیر استفاده کرد:
روش پیوندی
در این روش، دو یا چند بلوک نشانگر به یکدیگر متصل میشوند تا پوینترها را نگهداری کنند. هر بلوک نشانگر سپس شامل یک پوینتر یا آدرس بلوک نشانگر بعدی میشود.
نشانگر چندسطحی
در این روش، از یک بلوک نشانگر سطح اول برای اشاره به بلوکهای نشانگر سطح دوم استفاده میشود که به دنباله بلوکهای دیسک اشغالشده توسط فایل اشاره میکنند. این روش میتواند به ۳ یا بیشتر از ۳ سطح گسترش یابد.
روش ترکیبی
در این روش، بلوک ویژهای به نام اینود (Inode: information Node) حاوی تمام اطلاعات مربوط به فایل مانند نام، اندازه، مجوز و غیره استفاده میشود و بقیه فضای اینود برای ذخیره آدرسهای بلوکهای دیسکی استفاده میشود که دادههای فایل را حاوی میشوند. اولین چندین پوینتر اینود به بلوکهای مستقیم اشاره دارند، به عبارت دیگر پوینترها آدرس بلوکهای دیسکی را که دادههای فایل را حاوی میکنند را نگهداری میکنند.
پوینترهای بعدی به بلوکهای میانی اشاره میکنند. بلوکهای میانی میتوانند مجرد یا مجرد مکرر یا مجرد سهگانه باشند. بلوک مجرد، بلوک دیسکیای است که دادههای فایل را حاوی نمیکند، بلکه آدرس بلوکهای دیسکی را که آدرس بلوکهای حاوی دادههای فایل را دارند اشاره میکند. به طور مشابه، بلوکهای مکرر مکرر میشوند و به بلوکهای دیسکی که آدرس بلوکهای دیسکی که آدرس بلوکهای دادههای فایل را دارند اشاره میکنند.
فروش فایلهای اینترنتی یکی از راههای کسب درآمد در خانه میباشد که میتوانید با گذاشتن وقت کافی و طراحی فایل به فروش اینترنتی و کسب درآمد برسید برای آشنایی و یادگیری شما با ساخت فایلهای اینترنتی پیشنهاد میکنیم مقاله زیر را مطالعه کنید.
سخن آخر درمورد مدیریت فایل در سیستم عامل
همانطور که در ابتدا اشاره کردیم، دایرکتوری در سیستم عامل، یک ساختار سلسله مراتبی است که برای سازماندهی و مدیریت فایلها و دیگر دایرکتوریها در فضای ذخیرهسازی سیستم عامل استفاده میشود. دایرکتوریها امکان ایجاد ساختاری منظم از فایلها و زیردایرکتوریها را فراهم میکنند که کاربران را قادر میسازد به سادگی مرتبهبندی و دسترسی به اطلاعات مرتبط.
در مدیریت فایل و دایرکتوری، سیستم عامل از روشهای مختلفی برای تخصیص فضای ذخیرهسازی به فایلها استفاده میکند. انتخاب مناسبترین روش تخصیص فضا بستگی به نیازها و محدودیتهای سیستم دارد.
یک پاسخ
توضیحات خیلی ساده و روان بود مرسی ازتون