پرونده (رایانه)
در فرهنگ رایانه، پرونده یا فایل (به انگلیسی: File) به کوچکترین واحد منطقی ذخیرهسازی بر روی دیسک گفته میشود که کاربر یا برنامهساز، قادر به مشاهده و دستکاری آن است. در یک تعریف کلی، فایل مجموعهای است دارای یک نام (و معمولاً دارای یک ساختار درونی مشخص) از نمونههای مختلف یک یا چند نوع رکورد. البته ممکن است فایل اصلاً مجموعهای از رکوردها نباشد، بلکه صرفاً دنبالهای بیساختار از نویسهها باشد که از نظر سیستم فایل، معنای خاصی هم ندارند.
انواع فایلهای کامپیوتری به اهداف گوناگون ساخته میشوند. فایل میتواند برای ذخیرهسازی متنها، عکسها، فیلمها، آهنگها و برنامههای کامپیوتری یا طیف گستردهای در دادهها استفاده شود.
ریشهشناسی
واژهٔ فایل از کلمهٔ لاتین filum گرفته شدهاست. تقریباً از سال ۱۹۵۰ که در رادیو از این کلمه برای توصیف تیوبهای جدید حافظه مورد استفاده قرار گرفت، این واژه وارد ادبیات علوم رایانه شد. در استفادههای اولی، به اطلاعات موجود روی یک سختافزار فایل گفته میشد؛ مثلاً هارددیسکهای شرکت IBM را «فایل دیسک» مینامیدند. در سال ۱۹۵۲ این واژه برای اشاره به اطلاعات موجود بر روی کارت پانچها استفاده میشد. اگرچه امروزه استفاده از مفهوم اولیهٔ فایل تا حد زیادی کاهش پیدا کردهاست.
محتویات پروندهها
در بیشتر سیستم عاملهای جدید، پروندهها در آرایههایی از بایتها ذخیره میشوند. به عبارتی دیگر، بیتها، بایتها را میسازند، بایتها در کنار یکدیگر به رشته (به انگلیسی: String) معنا میدهند. به رشتهٔ معنادار، فیلد میگویند. مجموعهٔ فیلدها، رکورد، و مجموعهٔ رکوردها، فایل یا پرونده را میسازد. به مجموعهای از پروندهها یک پایگاه داده گفته میشود.
محتویات پرونده نمایانگر نوع آن است که معمولاً با پسوند نام پرونده نشان داده میشود؛ این پسوند نحوهٔ سازماندهی بایتها را مشخص میکند تا به درستی خوانده شوند. برای مثال، بایتهای یک متن نوشتاری ساده (که در سیستم عامل ویندوز با پسوند txt. نشان داده میشود) به وسیله یوتیاف-۸ یا کد اسکی شناخته میشوند. اکثر گونههای پرونده، تعداد کمی بایت را به ذخیرهسازی فراداده (به انگلیسی: Metadata) اختصاص میدهند که به فایل این امکان را میدهد که اندک اطلاعاتی را دربارهٔ خود ذخیره کند.
اندازه پرونده
به مقدار دادهای که یک پروندهٔ کامپیوتری میتواند نگهداری کند، اندازه پرونده میگویند. این اندازه که با تغییرات کاربر میتواند تغییر کند، معمولاً بر اساس واحدهایی مثل بایت بیان میشود. در رایانههای قدیمی تر، بلوکها توسط فایلها در یک حافظهٔ فیزیکی نگهداری میشدند.
وقتی پرونده در یک سیستم فایل نوشته میشود، ممکن است فضای بیشتری از مقداری که پرونده به آن نیاز دارد، اشغال کند. بیشینه اندازهٔ یک پرونده، تنها به ظرفیت سیستم فایلها بستگی ندارد، بلکه به تعداد بیتهایی که برای حافظهٔ فایل در نظر گرفته شدند هم بستگی دارد.
کارکردها
پروندهها در یک رایانه میتوانند ایجاد شوند، تغییر داده شوند، مکانشان عوض شود یا حذف شوند. در سیستم عامل ویندوز امکان ایجاد تغییراتی مانند تغییر نام پرونده یا غیره به صورت مستقیم از طریق مدیرپروندهها میتواند صورت بگیرد. اما در سیستمهای شبهیونیکس، کرنل با پروندهها رابطه دارد و باید از طریق آن اقدام کرد.
گونههای پرونده
بهطور کلی پروندهها به دو گروه پروندههای باینری(به انگلیسی: Binary file) و پروندههای متنی(به انگلیسی: Text file) تقسیم میشوند.
اما به ازای انواع دادهها تعداد زیادی نوع فایل وجود دارد:
- پرونده نوشتاری (فایل متنی)
- TXT, CSV, HTML, HTM, JS, CSS, C, CPP, PHP, BAS, ASM, LOG, INF از انواع گونههای پروندههای متنی هستند.
- پرونده نوایی (فایل صوتی)
- فایلهای صوتی دارای گونههای مختلفی از جمله WAV, MP3, WMA, OGG, ACC و… هستند.
- پرونده نمایی (فایل تصویری)
- فایلهای تصویری دارای دو نوع شطرنجی (به انگلیسی: Raster graphics) و برداری (به انگلیسی: Vector graphics) هستند. فرمتهای JPG, BMP در دستهٔ اول و WMF, SVG, EMF در دستهٔ دوم قرار میگیرند.
- پرونده انجامپذیر (فایل اجرایی)
- پسوند exe که از عبارت Executable و به معنای اجرایی گرفته شده، نشان دهنده این است که پرونده موردنظر حاوی کدهای اجرایی بوده و یک برنامه کامپیوتری است. این نوع فایلها ساختمان پیچیدههای دارند که در حیطه کار برنامهنویسی است.
- MPEG, MPG, AVI, WMV, 3GP, ASF, DAT, DIVX, FLV, OGV, QT از انواع پروندههای ویدئویی هستند.
و …
فایل دارای پسوند معمولاً ۳ کاراکتری میباشد.
سازمان دهی پروندهها
در یک پایگاه داده تعداد زیادی داده وجود دارد. دادههای مرتبط در جدولها ذخیره میشوند. هر جدول شامل چندین رکورد است. این رکوردها به عنوان فایل در حافظه ذخیره شدهاند. معمولاً یک فایل شامل تمامی رکوردهای یک جدول میشود. (دادهها در حافظهٔ فیزیکی به شکل رکورد ذخیره شده و برای کاربر در قالب پرونده نمایش داده میشوند).
همانطور که معلوم است دسترسی به محتوای فایلها (که در حافظهٔ فیزیکی به عنوان رکورد ذخیره شدهاند)، خیلی آسان نیست. پس به روشهایی برای دستیابی به آنها نیاز داریم. برای این کار باید آنها را با یک روش معین مرتب کنیم؛ همانطور که در کتاب برای یافتن آسانتر مطالب از فهرست آن استفاده میکنیم.
مرتب کردن پروندهها با یک روش معین سازماندهی پروندهها نامیده میشود.
اهداف اصلی این سازماندهی عبارتند از:
- دسترسی هر چه سریع تر به اطلاعات
- آسانتر و سریع تر کردن عملیات اضافه کردن، حذف یا بروز کردن اطلاعات
- ذخیرهٔ بهینهٔ رکوردها؛ در نتیجه کمینه کردن هزینهٔ ذخیرهسازی
روش رایج مرتبسازی پروندهها، استفاده از یک ساختار سلسله مراتبی است. پروندهها در پوشهها (فولدر) ذخیره میشوند بهطوریکه هر پوشه میتواند شامل یک یا چند فایل یا یک یا چند پوشهٔ دیگر باشد. باز هر زیرپوشه میتواند شامل چند پرونده یا پوشهٔ دیگر باشد؛ که شبیه ساختار یک درخت میشود. استفاده از پوشهها، مرتبسازی پروندهها را آسانتر میکند.
اسمی که به هر پرونده در یک سطح نسبت داده میشود باید یکتا باشد. با این حال در بعضی از سیستم عاملها، اگر نوع این پروندهها متفاوت باشد مشکلی ایجاد نمیشود.
روشهای سازمان دهی
در گذشته (از سال ۱۹۵۰ تا اوایل ۱۹۷۰) سازمانها دادههایشان را با رویکرد فایلی (روش سنتی) سازماندهی میکردند. اما پس از آن به روش مدرن با رویکرد پایگاهی روی آوردند.
روشهای متعددی برای سازماندهی پروندهها در پایگاه داده وجود دارد، که میتوانند برای بعضی از دسترسیها کارآمد و برای بعضی دیگر ناکارآمد باشند. این به عهدهٔ برنامهنویس است که بهترین روش را برای هدف موردنظر خود انتخاب کند.
بعضی از این روشهای سازماندهیها عبارتند از:
- سازمان دهی ترتیبی(به انگلیسی: Sequential File Organization)
- سازمان دهی هرمی(به انگلیسی: Heap File Organization)
- سازمان دهی با درخت بیپلاس(به انگلیسی: B+ Tree File Organization)
- سازمان دهی خوشهای(به انگلیسی: Cluster File Organization)
- روش دسترسی ترتیبی شاخص بندی شده(به انگلیسی: Indexed Sequential Access Method)
- سازمان دهی با روش درهم سازی/مستقیم(به انگلیسی: Hash/Direct File Organization)
اکنون به شرح بعضی از این روشها میپردازیم:
سازمان دهی ترتیبی
این روش، یکی از سادهترین روشهای سازمان دهی است؛ هر فایل پشت سر فایل دیگر به صورت متوالی قرار میگیرد. این کار میتواند به دو طریق انجام شود:
- هر رکورد که اضافه میشود پشت سر دیگری قرار میگیرد (رکورد جدید به انتهای فایل اضافه میشود). در این روش برای تغییر یا حذف یک رکورد باید آن را در بلوکهای حافظه جستجو کرد.
- در این روش رکوردها به صورت مرتب شده قرار دارند. رکورد جدیدی که اضافه میشود ابتدا در انتهای پرونده قرار میگیرد و سپس مرتب شده و جای مناسب خود را پیدا میکند.
مزایای این روش:
-مقایسه با سایر روشها سادهتر است.
-چون اطلاعات در نوار مغناطیسی به صورت ترتیبی ذخیره میشود، با این روش فایلها میتوانند به سادگی در آن به صورت مرتب شده قرار بگیرند. (نوار مغناطیسی حافظهای ارزان است که ظرفیت ذخیرهسازی بالایی هم دارد اما کند است)
عیب این روش:
مرتب کردن رکوردها، زمان بر است و میتواند باعث کندی سامانه شود.
سازمان دهی هرمی
این روش سادهترین نوع سازمان دهی است. رکوردها بدون هیچ ترتیبی به انتهای پرونده اضافه میشوند. اگر بلوک فعلی پر بود، نزدیکترین بلوک خالی در حافظه پیدا شده و رکورد آنجا ذخیره میشود. این روش شبیه مدل اول ذخیره رکورد در سازماندهی ترتیبی است؛ اما اینجا بلوکهای حافظه به صورت ترتیبی پشت سر هم نیستند و ممکن است در هر جای حافظه قرار داشته باشند.
مزایای این روش:
-این روش برای فایلهای بسیار کوچک مناسب است چون دسترسی به رکوردها در آنها سریعنر است. اگر حجم پروندهها زیاد شود، زمان جستجوی خطی برای آنها بالا میرود.
-وقتی که در یک زمان حجم زیادی از دادهها میخواهند وارد پایگاه داده شوند، این روش بسیار مناسبی است.
معایب این روش:
- برای پایگاه دادههای بزرگ، زمان جستجو و تغییر در آن بالا میرود که به صرفه نیست.
-به یک مدیریت حافظه قوی و مناسب نیاز دارد تا کارایی از دست نرود. در صورت ناکارامد بودن این مدیریت، بسیاری از بلوکهای حافظه بی استفاده میمانند و حافظه به سادگی بزرگ میشود.
سازمان دهی به روش درخت بی پلاس
این روش، یکی از روشهای پیشرفته سازماندهی پرونده ازISAM است که از کلید به عنوان شاخص و ساختار درخت بی پلاس استفاده میکند. درخت بی پلاس مشابه درخت دودویی جستجو است با این تفاوت که رأسها میتوانند بیشتر از دو فرزند داشته باشند. در این ساختار همهٔ رکوردها به عنوان برگ ذخیره میشوند و رأسها به برگها اشاره گر دارند و خود محتوایی ندارند. نحوهٔ اضافه شدن رکوردها به این درخت بر اساس کلید آنها و مطابق روش اضافه کردن در درخت دودویی جستجو است. در این ساختار:
- یک راس به عنوان ریشه وجود دارد.
-راسهای میانی رکوردهای نهایی و واقعی را ذخیره نمیکنند بلکه در نهایت به برگهایی اشاره دارند که رکوردها را به صورت مرتب شده نگهداری میکند.
-راسهای سمت چپ هر راس، مقدار قبل از آن و رأسهای راست، شامل مقادیر بعد از آن میشوند.
-برگها متوازنند؛ به این معنا که فاصلهٔ همهٔ آنها از ریشه یکسان است.
-پیچیدگی زمانی جستجو در این نوع سازماندهی، خطی است.
-اگر رأسهای میانی تنها اشاره گر به سمت چپ داشته باشند، ارتفاع درخت کمتر میشود و در نتیجه بازیابی رکوردها سریع تر میشود.
مزایای این روش:
- جستجو بسیار آسان است؛ چون رکوردها تنها در برگها آن هم به صورت مرتب و متوالی ذخیره شدهاند.
- با کم و زیاد شدن تعداد رکوردها، ساختار درخت هم میتواند رشد کند یا کاهش یابد. اندازهٔ درخت هیچ محدودیتی ندارد (همانطور که در ISAM) اینگونه است.
-چون درخت متوازن است، عملیاتهای حذف، درج یا تغییر تأثیر در کارآمدی ندارد.
عیب این روش:
-برای جداول غیر پویا کارآمد نیست.
سازمان دهی خوشهای
در بقیهٔ انواع سازماندهی، هر پرونده شامل یک جدول جداگانه است و هر کدام به شیوههای متفاوتی در حافظه ذخیره شدهاند. در موقعیتهای واقعی، استخراج از یک جدول تنها، مورد نیاز نیست؛ بلکه لازم است دو یا چند جدول با هم ترکیب شوند. برای این حالت سایر سازماندهیها به اندازهٔ کافی سریع نیستند.
در سازماندهی خوشهای، دو یا چند جدول که معمولاً باید با هم استفاده شوند، در یک پرونده به نام خوشه ذخیره میشوند. این پروندهها دو یا چند جدول را در یک بلوک حافظه نگهداری میکنند و کلیدهایی که آنان را به هم مرتبط میکند تنها یک بار مرتب میشوند. این شیوه، هزینهٔ جستجو برای رکوردهای متنوع در چند پرونده را کاهش میدهد؛ همهٔ رکوردها یکجا پیدا میشوند و در نتیجه جستجو کارآمد میشود.
سازماندهی به این شیوه در دو روش شاخص بندی و درهمسازی صورت میگیرد.
خوشهای کردن جداول زمانی انجام میگیرد که:
- نیاز متناوب برای متصل کردن رکوردهای دو جدول وجود دارد؛ اگرچه رکوردهای کمی در دو جدول مرتبط باشند.
-اگر رابطهٔ یک به چندی بین جداول وجود دارد.
مزیتهای سازماندهی خوشهای:
- این روش، بهترین است برای زمانی که به ترکیب میان رکوردهای چند جدول نیاز داریم.
-وقتی که رابطه یک به چندی بین جداول وجود دارد، استفاده از این روش مناسب است.
معایب این روش:
- این روش برای جاولی که معمولاً به هم مرتبط نمیشوند یا رابط ی یک به چندی ندارند بهینه نیست.
-اگر قرار است نحوهٔ اتصال دو جدول تغییر کند ما نمیتوانیم از این سازماندهی استفاده کنیم؛ چون در این حالت پیمایش پروندهها زمان زیادی میگیرد.
- این شیوه برای پایگاه دادههای بزرگ مناسب نیست چون کارآمدی آن کم است.
روش دسترسی ترتیبی شاخص بندی شده
روش دسترسی ترتیبی شاخص بندی شده (یا به اختصار ISAM)، روش ترتیبی پیشرفتهاست. در اینجا رکوردها به عنوان کلید اولیه ذخیره میشوند. برای هر کلید یک مقدار شاخص تولید میشود و به رکورد مپ یا مرتبط میشود. این شاخص، آدرس رکورد در فایل است. در این روش برای دسترسی به داده، بر اساس مقدار شاخص، پس از دسترسی به بلوک داده، رکورد مورد نظر از پرونده پیدا میشود.
مزایای این روش:
-بخاطر اینکه هر رکورد یک بلاک معین دارد، در پایگاه دادههای بزرگ، دسترسی به رکوردها آسانتر است.
-این روش بازیابی اطلاعات را به صورت وسیع یا جزئی پشتیبانی میکند. چون که شاخص بر اساس مقدار کلید است، ما میتوانیم داده را برای یم بازهٔ گسترده نیز بازیابی کنیم.
عیب این روش:
-هزینهٔ اضافی تولید شاخص باید پرداخت شود.
حفاظت پروندهها
حفاظت پروندهها به روشهای محافظت از دادههای ارزشمند موجود در رایانه اشاره دارد. بیشتر سیستمهای فایل شیوههایی برای انتصاب مجوزها یا حق دسترسی به کاربران یا گروههای کاربران دارند. این سیستمها بر توانایی کاربران در زمینهٔ دیدن، تغییر دادن، وارد شدن، و اجرای محتوای سیستم فایل نظارت میکنند. سیستمهای شبه یونیکسی، شامل سیستمهای مبتنی بر لینوکس و تمامی نسخههای مک او اس اکس، سیستمی برای مدیریت مجوزهای فایل دارند که به آنها «مجوزهای مرسوم یونیکس» میگوییم.
سیستمهای شبه یونیکسی سه مجوز خاص را پیادهسازی میکنند که این مجوزها را به کاربران هر یک از سه دستهٔ کاربر، گروه، و دیگر میتوان اختصاص داد:
- مجوز خواندن، قابلیت خواندن فایل را به کاربران میدهد. این مجوز قابلیت دسترسی به اطلاعاتی مانند اندازه پرونده یا اطلاعات مربوط به مجوز و مالکیت پروندهها را ندارد.
- مجوز نوشتن قابلیت اصلاح و دستکاری محتویات یک فایل را به کاربر میده. این مجوز اجازهٔ اصلاح محتویات دیرکتوری را دارد.
- مجوز اجرا قابلیت اجرای فایل را به کاربران میدهد. این مجوز باید فقط برای برنامههایی از قبیل اسکریپت شل که قابل اجرا شدن هستند گذاشته شود تا سیستم عامل بتواند آنها را اجرا کند.
فرایند پشتیبانی
فرایند پشتیبانی(به انگلیسی: back up) به رونوشت برداشتن از پروندههای فیزیکی یا مجازی و پایگاه دادهها در یک سایت ثانویه برای شرایطی که سامانه از کار بیفتد، اطلاق میشود. به عبارتی دیگر، در دنیای تکنولوژی اطلاعات، پشتیبانگیری، به فرایند تهیه نسخههای کپی از دادههای اصلی گفته میشود که در زمان رخ دادن وقایعی از قبیل از دست دادن اطلاعات بتوان دادههای اصلی را بازیابی کرد. این فرایند بسیار مهم است چراکه حدود ۶۷ درصد از کاربران اینترنت، در موقعیتی اطلاعات خود را از دست میدهند.
برای اشخاص که سامانه و پایگاه دادهای که امن باشد را در دسترس ندارند، دو نوع روش متداول برای بک آپ گرفتن، خریدن هارد درایو اکسترنال یا استفاده از سرویسهای ارائه شده بر روی اینترنت است. هر کاربر میتواند یک کپی از اطلاعات خود را بر روی حافظه flash یا هارد کامپیوتر ذخیره کند.
اما زمانی که دربارهٔ یک سازمان بزرگ صحبت میکنیم به علت حجم بالای اطلاعات موجود و همچنین لزوم حفظ امنیت آن، صحیح نیست که کاربران اطلاعات شرکت و دادههای کاری را روی درایو دیسک سخت یا حافظه فلش(به انگلیسی: flash) شخصی خود نگهداری کرده و آن را همه جا همراه خود حمل و نقل نمایند. در این شرایط، تهیه پشتیبان به صورت متمرکز (به انگلیسی: Centralized) که به سادگی تمامی مشکلات را در سطح شبکههای کوچک و بزرگ حل میکند. این روش را میتوان با اختصاص یک سرور مجزا با هارد و ظرفیت بالا فقط برای پشتیبانگیری در شبکه پیاده کرد. روش دیگر استفاده از دستگاههای مخصوص این کار است با ظرفیتها، امکانات، و هزینههای مختلف قابل تعریف در شبکه بوده و نیاز به خرید یک سرور با مشخصات بالا برای پشتیبانگیری را در بسیاری از موارد جبران میکنند.
فایل سیستمها و مدیر پروندهها
مدیر پرونده، رابطی کاربری برای استفاده از پرونده هاست. برنامههای مدیریت فایل، برای ایجاد، بازکردن، ویرایش، اجرا، تغییرنام، تغییرمسیر، کپی، تغییر دسترسی و جستجوی فایلها استفاده میشوند، اما معمولاً نمیتوانند محتوای پروندهها را تغییر دهند. هر سیستم عامل یک مدیر پرونده، برای مدیریت فایلهای اولیهٔ خود دارد. علاوه بر کاربردهای سنتی، بعضی مدیرپنجرههای پیشرفتهتر، توانایی برقراری اتصالات شبکهای را هم دارند، مثلاً مدیر فایل استاندارد کیدیای، میتواند به شکل مستقیم و از طریق پروتکل افتیپی یا انافاس به سرورهای دیگر متصل باشد.
یک فایل سیستم برای کنترل نحوه ذخیره و بازیابی اطلاعات استفاده میشود. بدون یک سیستم فایل اطلاعات قرار گرفته در فضای ذخیرهسازی، یک بدنه کلی و بزرگ از اطلاعات خواهد بود که نمیتوان تشخیص داد یک تکه از اطلاعات در کجا تمام میشود و قسمت بعدی از کجا شروع میشود. انواع مختلفی از سیستم فایل وجود دارد که هر یک دارای ساختار و منطق متفاوتی میباشند.
برای مثال، جدول تخصیص فایل (FAT) فایل سیستم اولیه در سیستمعاملهای داس و ویندوز میباشد.
جستارهای وابسته
منابع
- ↑ «پروندهٔ دادهها» [رایانه و فنّاوری اطلاعات] همارزِ «data file»؛ منبع: گروه واژهگزینی. جواد میرشکاری، ویراستار. دفتر دوم. فرهنگ واژههای مصوب فرهنگستان. تهران: انتشارات فرهنگستان زبان و ادب فارسی. شابک ۹۶۴-۷۵۳۱-۳۷-۰ (ذیل سرواژهٔ پروندهٔ دادهها)
- ↑ روحانی رانکوهی، سید محمدتقی، سیستم و ساختار فایلها، انتشارات جلوه، ۱۳۸۲.
- ↑ http://www.etymonline.com/index.php?term=file
- ↑ توربان، افرایم، فناوری اطلاعات در مدیریت، انتشارات دانشگاه پیام نور.
- ↑ File Organization in DBMS
- ↑ http://parshaan.ir/article/24/backup-گیری-و-تهیه-نسخه-پشتیبان-در-شبکه