• ساختار فایل سیستم چگونه است. سیستم فایل. این چیه

    سیستم های فایل انواع سیستم های فایل. عملیات فایل کاتالوگ ها عملیات دایرکتوری

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

    اهداف اصلی استفاده از فایل

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

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

    سیستم فایل (FS) بخشی از سیستم عامل است، از جمله:

      مجموع تمام فایل های روی دیسک؛

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

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

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

    فایل سیستم های زیر به طور گسترده ای شناخته شده اند:

      سیستم فایل سیستم عامل ام‌اس - DOS ، که بر اساس جدول تخصیص فایل - چربی ( فایل تخصیص جدول ).

    جدول حاوی اطلاعاتی در مورد مکان همه فایل ها است (هر فایل به تقسیم می شود خوشه هابا توجه به فضای موجود دیسک، کلاسترهای یک فایل لزوماً مجاور نیستند). سیستم فایل MS-DOS دارای محدودیت ها و معایب قابل توجهی است، به عنوان مثال، زیر نام 12 بایت برای یک فایل اختصاص داده می شود، کار با یک هارد دیسک بزرگ منجر به تکه تکه شدن قابل توجه فایل می شود.

    توابع اصلی در چنین FS با هدف حل وظایف زیر است:

      نام گذاری فایل؛

      رابط نرم افزاری برای برنامه های کاربردی؛

      نمایش دادن مدل منطقیسیستم فایل به سازمان فیزیکی ذخیره سازی داده ها.

      مقاومت سیستم فایل در برابر قطع برق، خطاهای سخت افزاری و نرم افزاری.

      سیستم عامل /2 تماس گرفت HPFS ( بالا - کارایی فایل سیستم - سیستم فایل سریع).

    امکان داشتن نام فایل تا 254 کاراکتر را فراهم می کند. فایل های نوشته شده بر روی دیسک دارای حداقل تکه تکه شدن هستند. می تواند با فایل های نوشته شده در MS DOS کار کند.

    یک کار جدید به وظایف ذکر شده در بالا اضافه می شودبه اشتراک گذاری یک فایل از چندین فرآیند فایل در این مورد یک منبع مشترک است، به این معنی که سیستم فایل باید کل مجموعه مشکلات مرتبط با چنین منابعی را حل کند. به ویژه، FS باید ابزاری برای مسدود کردن فایل و قطعات آن، جلوگیری از مسابقه، حذف بن بست، هماهنگ کردن کپی ها و غیره فراهم کند.

    در سیستم های چند کاربره، وظیفه دیگری ظاهر می شود: محافظت از فایل های یک کاربر از دسترسی غیرمجاز توسط کاربر دیگر.

      سیستم فایل سیستم عامل پنجره ها 95

    این یک ساختار لایه ای دارد که به شما امکان می دهد چندین سیستم فایل را به طور همزمان پشتیبانی کنید. فایل سیستم قدیمی MS-DOS به طور مستقیم پشتیبانی می شود و سیستم های فایل غیر اصلی مایکروسافت، توسط ویژه پشتیبانی می شود ماژول ها. امکان استفاده از نام فایل های طولانی (حداکثر 254 کاراکتر) وجود دارد.

      سیستم های فایل سیستم عامل یونیکس

    آنها یک راه واحد برای دسترسی به سیستم های ورودی/خروجی فایل ارائه می کنند.

    مجوزهای فایل عملاً مجوزهای سیستم را تعیین می کند (مالک یک فایل، کاربری است که آن را ایجاد کرده است).

    انواع فایل

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

    فایل های معمولی ، یا به سادگی فایل ها، حاوی اطلاعاتی با ماهیت دلخواه هستند که کاربر در آنها وارد می کند یا در نتیجه عملکرد سیستم و برنامه های کاربر شکل می گیرد. اکثر سیستم عامل های مدرن (مانند UNIX، Windows، OS/2) محتویات و ساختار یک فایل معمولی را به هیچ وجه محدود یا کنترل نمی کنند. محتوای یک فایل معمولی توسط برنامه ای که با آن کار می کند تعیین می شود. مثلا، ویرایشگر متنفایل های متنی متشکل از رشته هایی از کاراکترهای نمایش داده شده در برخی کدها را ایجاد می کند. اینها می توانند اسناد، کدهای منبع برنامه و غیره باشند. فایل های متنی را می توان روی صفحه خواند و روی چاپگر چاپ کرد. باینری هااز کدهای کاراکتر استفاده نکنید، آنها اغلب ساختار داخلی پیچیده ای دارند، مانند کد برنامه اجرایی یا فایل بایگانی. همه سیستم عامل ها باید حداقل یک نوع فایل را تشخیص دهند - فایل های اجرایی خودشان.

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

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

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

    ساختار سلسله مراتبی سیستم فایل

    کاربران به فایل ها با نام های نمادین اشاره می کنند. با این حال، ظرفیت حافظه انسان تعداد نام اشیایی را که کاربر می تواند با نام به آنها ارجاع دهد محدود می کند. سازماندهی سلسله مراتبی فضای نام به شما امکان می دهد این مرزها را به میزان قابل توجهی گسترش دهید. به همین دلیل است که اکثر سیستم های فایل دارای ساختار سلسله مراتبی هستند که در آن سطوح با ایجاد یک فهرست بیشتر ایجاد می شوند سطح پایینممکن است در یک فهرست سطح بالاتر گنجانده شود (شکل 7.3).

    نموداری که سلسله مراتب دایرکتوری را توصیف می کند می تواند یک درخت یا یک شبکه باشد. دایرکتوری ها یک درخت را تشکیل می دهند اگر فایل مجاز باشد فقط یک دایرکتوری را وارد کند (شکل 7.3، b)، و یک شبکه - اگر فایل بتواند چندین دایرکتوری را در یک زمان وارد کند (شکل 7.3، ج). به عنوان مثال، در MS-DOS و Windows، دایرکتوری ها یک ساختار درختی را تشکیل می دهند، در حالی که در یونیکس ساختار شبکه را تشکیل می دهند. در ساختار درختی، هر فایل یک برگ است. خود کاتالوگ سطح بالاتماس گرفت دایرکتوری ریشه یا روت ( ریشه ).

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

    یک مورد خاص از یک ساختار سلسله مراتبی، یک سازمان تک سطحی است، زمانی که همه فایل ها در یک فهرست قرار می گیرند (شکل 7.3، a).

    نام فایل ها

    همه انواع فایل دارای نام های نمادین هستند. سه نوع نام فایل معمولاً در سیستم های فایل سازمان یافته به صورت سلسله مراتبی استفاده می شود: ساده، مرکب و نسبی.

    یک نام نمادین ساده یا کوتاه، فایلی را در همان دایرکتوری مشخص می کند. نام‌های ساده توسط کاربران و برنامه‌نویسان به فایل‌ها اختصاص داده می‌شود، در حالی که آنها باید محدودیت‌های سیستم عامل را هم در نام‌گذاری کاراکترها و هم در طول نام در نظر بگیرند. تا همین اواخر، این مرزها بسیار باریک بود. بنابراین، در سیستم فایل محبوب FAT، طول نام ها با طرح 8.3 محدود شد (8 کاراکتر - نام خود، 3 کاراکتر - پسوند نام)، و در سیستم فایل s5، که توسط بسیاری از نسخه های UNIX OS پشتیبانی می شود، یک نام نمادین ساده نمی تواند بیش از 14 کاراکتر داشته باشد. با این حال، کار با نام‌های طولانی برای کاربر بسیار راحت‌تر است، زیرا آنها به شما امکان می‌دهند به فایل‌ها نام‌هایی بدهید که به راحتی به خاطر می‌آیند و به وضوح می‌گویند چه چیزی در این فایل وجود دارد. بنابراین، سیستم‌های فایل مدرن، و همچنین نسخه‌های بهبودیافته سیستم‌های فایل موجود، تمایل دارند از نام فایل‌های نمادین طولانی و ساده پشتیبانی کنند. به عنوان مثال، در سیستم‌های فایل NTFS و FAT32 که با سیستم عامل ویندوز NT ارائه می‌شوند، نام فایل می‌تواند تا ۲۵۵ کاراکتر باشد.

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

    نام کامل زنجیره ای از نام های نمادین ساده همه دایرکتوری ها است که مسیر از ریشه به فایل داده شده از آن عبور می کند. بنابراین، نام کاملاً واجد شرایط یک نام مرکب است که در آن نام های سادهتوسط جداکننده پذیرفته شده در سیستم عامل از یکدیگر جدا می شوند. اغلب از فوروارد یا بک اسلش به عنوان جداکننده استفاده می شود و مرسوم است که نام دایرکتوری ریشه حذف شود. روی انجیر در شکل 7-3b، دو فایل نام ساده main.exe دارند، اما نام ترکیبی آنها /depart/main.exe و /user/anna/main.exe متفاوت است.

    در یک سیستم فایل درختی، بین یک فایل و آن نام و نام خانوادگییک مکاتبات یک به یک "یک فایل - یک نام کامل" وجود دارد. در سیستم های فایلی که دارای ساختار شبکه ای هستند، یک فایل می تواند در چندین دایرکتوری گنجانده شود و بنابراین دارای چندین نام کامل است. در اینجا مکاتبات "یک فایل - بسیاری از نام های کامل" معتبر است. در هر دو مورد، فایل منحصراً با نام کامل آن مشخص می شود.

    یک فایل را می توان با نام نسبی نیز شناسایی کرد. نام فایل نسبی از طریق مفهوم "دایرکتوری فعلی" تعریف می شود. برای هر کاربر در هر لحظه از زمان، یکی از دایرکتوری های سیستم فایل جاری است و این دایرکتوری توسط خود کاربر به دستور سیستم عامل انتخاب می شود. سیستم فایل نام دایرکتوری فعلی را تصحیح می کند تا بتوان از آن علاوه بر نام های نسبی برای تشکیل یک نام کامل فایل استفاده کرد. هنگام استفاده از نام‌های نسبی، کاربر یک فایل را با زنجیره‌ای از نام‌های دایرکتوری شناسایی می‌کند که از طریق آن مسیر از دایرکتوری فعلی به فایل داده شده عبور می‌کند. به عنوان مثال، اگر دایرکتوری فعلی /user است، نام فایل نسبی /user/anna/main.exe anna/main.exe است.

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

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

    ویژگی های فایل

    مفهوم "پرونده" نه تنها شامل داده ها و نام ذخیره شده توسط آن، بلکه ویژگی ها نیز می شود. ویژگی های اطلاعاتی است که ویژگی های یک فایل را توصیف می کند. نمونه هایی از ویژگی های فایل ممکن:

      نوع فایل (فایل معمولی، دایرکتوری، فایل ویژه و غیره)؛

      صاحب فایل؛

      سازنده فایل؛

      رمز عبور برای دسترسی به فایل؛

      اطلاعات مربوط به عملیات دسترسی مجاز به فایل؛

      زمان ایجاد، آخرین دسترسی و آخرین اصلاح.

      اندازه فایل فعلی؛

      حداکثر اندازهفایل؛

      پرچم فقط خواندنی؛

      علامت "فایل پنهان"؛

      علامت "فایل سیستم"؛

      امضای "پرونده بایگانی"؛

      علامت "باینری/شخصیت"؛

      علامت "موقت" (حذف پس از تکمیل فرآیند)؛

      نشانه مسدود شدن؛

      طول رکورد در پرونده؛

      یک اشاره گر به یک فیلد کلیدی در ورودی؛

      طول کلید

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

    کاربر می تواند با استفاده از ابزارهای ارائه شده برای این منظور توسط سیستم فایل به ویژگی ها دسترسی داشته باشد. معمولاً خواندن مقادیر هر ویژگی مجاز است، اما فقط برخی از آنها را می توان تغییر داد. به عنوان مثال، یک کاربر می تواند مجوزهای یک فایل را تغییر دهد (به شرطی که مجوزهای لازم برای انجام این کار را داشته باشد)، اما اجازه تغییر تاریخ ایجاد یا اندازه فعلی فایل را ندارد.

    مقادیر ویژگی فایل را می توان مستقیماً در فهرست ها قرار داد، همانطور که در فایل انجام می شود سیستم MS-DOS(شکل 7.6، الف). شکل ساختار یک ورودی دایرکتوری حاوی یک نام نمادین ساده و ویژگی های فایل را نشان می دهد. در اینجا، حروف ویژگی های فایل را نشان می دهد: R - فقط خواندنی، A - بایگانی شده، H - پنهان، S - سیستم.

    برنج. 7.6.ساختار دایرکتوری: a - ساختار ورودی دایرکتوری MS-DOS (32 بایت)، b - ساختار ورودی دایرکتوری سیستم عامل یونیکس

    گزینه دیگر این است که وقتی دایرکتوری ها فقط پیوندهایی به آن جداول دارند، ویژگی ها را در جداول ویژه قرار دهید. این رویکرد، به عنوان مثال، در سیستم فایل ufs یونیکس پیاده سازی شده است. در این فایل سیستم ساختار دایرکتوری بسیار ساده است. رکورد مربوط به هر فایل حاوی یک نام فایل نمادین کوتاه و یک اشاره گر به توصیفگر inode فایل است، همانطور که جدول در ufs نامیده می شود، که در آن مقادیر ویژگی های فایل متمرکز شده است (شکل 7.6، b).

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

    عملیات روی فایل ها

    اکثر سیستم‌عامل‌های مدرن یک فایل را به‌عنوان دنباله‌ای بدون ساختار از بایت‌هایی با طول متغیر در نظر می‌گیرند. در استاندارد POSIX عملیات زیر بر روی فایل تعریف شده است:

      بین المللی باز کن ( کاراکتر * fname , بین المللی پرچم ها , حالت _ تی حالت )

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

    پارامتر char * fname نام فایل را مشخص می کند. flags int یک بیت ماسک است که حالت باز بودن فایل را مشخص می کند. فایل را می توان فقط خواندنی، فقط نوشتنی و خواندنی و نوشتنی باز کرد. علاوه بر این، می توانید یک فایل موجود را باز کنید، یا می توانید سعی کنید آن را ایجاد کنید فایل جدیدطول صفر حالت پارامتر سوم اختیاری تنها زمانی استفاده می شود که فایل ایجاد می شود و ویژگی های فایل را مشخص می کند.

      خاموش _ تی lseek ( بین المللی رسیدگی , خاموش _ تی انحراف , بین المللی از کجا )

    این عملیات نشانگر خواندن/نوشتن را در فایل جابجا می کند.پارامتر offset تعداد بایت هایی را که نشانگر باید بر اساس آن جابه جا شود و پارامتر Wherece مشخص می کند که از کجا می توان آفست را شمارش کرد.فرض می شود که آفست را می توان از آن شمارش کرد. ابتدای فایل (SEEK_SET)، از انتهای آن (SEEK_END) و از موقعیت فعلی نشانگر (SEEK_CUR). این عملیات موقعیت اشاره گر را که از ابتدای فایل شمارش شده است، برمی گرداند. بنابراین، فراخوانی lseek (دسته، 0، SEEK_CUR) موقعیت فعلی اشاره گر را بدون حرکت دادن آن برمی گرداند.

      int read (int handle, char * where, size_t how_much)

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

      int write(int handle, char * what, size_t how_much)

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

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

      int ioctl (int handle، int cmd، ...) ; بین المللی fcntl ( بین المللی رسیدگی , بین المللی cmd , ...)

    عملیات اضافی روی فایل در ابتدا، ظاهراً فرض بر این بود که ioctl عملیاتی بر روی خود فایل است، و fcntl عملیاتی بر روی یک توصیفگر فایل باز است، اما پس از آن توسعه تاریخی عملکردهای این فراخوانی های سیستم را تا حدودی مخلوط کرد. استاندارد POSIXبرخی از عملیات را هم بر روی توصیفگر تعریف می کند، مانند تکرار (در نتیجه این عملیات، دو توصیفگر مرتبط با یک فایل دریافت می کنیم)، و هم در خود فایل، به عنوان مثال، عملیات کوتاه کردن - فایل را به طول مشخصی برش دهید. در اکثر نسخه ها یونیکساز عملیات کوتاه کردن نیز می توان برای برش داده ها از وسط یک فایل استفاده کرد. هنگام خواندن داده ها از چنین ناحیه ای برش، صفر خوانده می شود و خود این ناحیه فضای فیزیکی دیسک را اشغال نمی کند.

    یک عملیات مهم مسدود کردن بخش هایی از file.Standard است POSIXیک عملکرد کتابخانه ای برای این منظور ارائه می دهد، اما در سیستم های خانواده یونیکساین تابع از طریق فراخوانی fcntl پیاده سازی می شود.

    اکثر پیاده سازی های استاندارد POSIXعملیات اضافی خود را ارائه می دهد. بله در یونیکس SVR4 این عملیات می تواند ضبط همزمان یا تاخیری و غیره را تنظیم کند.

      caddr_t mmap(caddr_t addr، size_t len، int prot، int flags، int handle، off_t offset)

    نگاشت بخشی از یک فایل به فضای آدرس مجازی فرآیند پارامتر prot حقوق دسترسی به بخش نگاشت شده را مشخص می کند: خواندن، نوشتن و اجرا. نقشه برداری می تواند به یک آدرس مجازی داده شده رخ دهد، یا سیستم می تواند آدرسی را برای نمایش خود انتخاب کند.

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

    مشاهده می شود که مجموعه عملیات روی یک فایل در این استاندارد بسیار شبیه به مجموعه عملیات روی است دستگاه خارجی. هر دو به عنوان یک جریان بدون ساختار از بایت ها در نظر گرفته می شوند. برای تکمیل تصویر باید گفت که ابزار اصلی ارتباط بین فرآیندی در سیستم های خانواده است یونیکس (لوله) همچنین یک جریان داده بدون ساختار است. این ایده که اکثر انتقال داده ها را می توان به یک جریان بایت کاهش داد، بسیار قدیمی است، اما یونیکسیکی از اولین سیستم هایی بود که این ایده به نتیجه منطقی خود رسید.

    تقریباً همان مدل کار با پرونده ها در آن به کار گرفته شده است CP/ مو مجموعه فایل تماس های سیستمی ام اس داسدر واقع از تماس ها کپی شده است یونیکس v7 . در نوبتش، سیستم عامل/2 و ویندوز NTاصول کار با فایل ها را مستقیماً از ام اس داس.

    از طرفی در سیستم های بدون یونیکسدر شجره نامه، می توان از تفسیر کمی متفاوت از مفهوم فایل استفاده کرد.بیشتر اوقات، یک فایل به عنوان مجموعه ای از رکوردها در نظر گرفته می شود. به طور معمول، سیستم از هر دو رکورد با طول ثابت و با طول متغیر پشتیبانی می کند. به عنوان مثال، یک فایل متنی به عنوان یک فایل با رکوردهای با طول متغیر تفسیر می شود و هر خط متن مربوط به یک رکورد است. این مدلی است برای کار با فایل ها در VMSو در خط سیستم عامل سیستم عامل/360 -MVSتوسط IBM

    ساختارهای داده

    سیستم های فایل

    · عمومی.در تئوری علوم کامپیوتر، سه نوع اصلی ساختار داده زیر تعریف می شود - خطی، جدولی، سلسله مراتبی. کتاب مثال: دنباله ای از ورق ها - ساختار خطی. بخش ها، بخش ها، فصل ها، پاراگراف ها - سلسله مراتب. فهرست مطالب - جدول - متصل - سلسله مراتبی با خطی. داده های ساخت یافته دارای یک ویژگی جدید هستند - نشانی.

    · ساختارهای خطی (لیست ها، بردارها).لیست های منظم آدرس هر عنصر به طور منحصر به فرد با شماره آن تعیین می شود. اگر همه عناصر لیست داشته باشند طول مساوی– بردار داده

    · ساختارهای جدولی (جدول، ماتریس).تفاوت بین یک جدول و یک لیست - هر عنصر - توسط آدرس تعیین می شود که نه یک، بلکه از چندین پارامتر تشکیل شده است. رایج ترین مثال ماتریس - آدرس - دو پارامتر - شماره ردیف و شماره ستون است. جداول چند بعدی

    · ساختارهای سلسله مراتبیبرای نمایش داده های نامنظم استفاده می شود. آدرس - تعیین شده توسط مسیر - از بالای درخت. فایل سیستم یک کامپیوتر است. (مسیر می تواند بیش از - مقدار داده، دوگانگی - همیشه دو انشعاب - چپ و راست) باشد.

    · سفارش ساختارهای دادهراه اصلی این است مرتب سازی. ! هنگام اضافه کردن یک عنصر جدید به یک ساختار سفارشی، امکان تغییر آدرس عناصر موجود وجود دارد. برای ساختارهای سلسله مراتبی - نمایه سازی- هر عنصر دارای یک شماره منحصر به فرد است - که بیشتر در مرتب سازی و جستجو استفاده می شود.

    اولین قدم تاریخی در ذخیره سازی و مدیریت داده ها بود استفاده از سیستم های مدیریت فایل.

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

    دنباله ای از تعداد دلخواه بایت،

    یک نام خاص منحصر به فرد (در واقع یک آدرس).

    داده های یک نوع - نوع فایل.

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

    اول، در درک مدرن، یک سیستم فایل پیشرفته توسط IBM برای سری 360 خود (1965-1966) توسعه داده شد. اما در سیستم های فعلی عملا استفاده نمی شود. ساختارهای داده لیست استفاده شده (EC- حجم، بخش، فایل).

    اکثر شما با فایل سیستم های سیستم عامل های مدرن آشنا هستید. اینها در درجه اول MS DOS، ویندوز، و برخی با ساختن یک سیستم فایل برای انواع مختلف یونیکس هستند.

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



    · نام گذاری فایل هاهمه سیستم های فایل مدرن از نامگذاری فایل های چند سطحی با نگهداری در حافظه خارجی پشتیبانی می کنند فایل های اضافیبا ساختار خاص - دایرکتوری ها. هر دایرکتوری حاوی نام دایرکتوری ها و/یا فایل های موجود در آن دایرکتوری است. بدین ترتیب، یک نام فایل کاملا واجد شرایط شامل لیستی از نام دایرکتوری به اضافه نام فایل در دایرکتوری است، مستقیماً حاوی فایل داده شده. تفاوت بین نحوه نام گذاری فایل ها در سیستم های فایل مختلف در جایی است که زنجیره نام گذاری شروع می شود. (یونیکس، داس-ویندوز)

    · حفاظت از فایل. سیستم های مدیریت فایل باید مجوز دسترسی به فایل را ارائه دهند. که در نمای کلیرویکرد این است که با توجه به به هر کاربر ثبت نام شدهداده شده سیستم محاسباتی برای هر فایل موجوداعمالی که مجاز یا ممنوع هستند کاربر داده شده. تلاش هایی برای اجرای کامل این رویکرد صورت گرفته است. اما این امر باعث شد که هم در ذخیره سازی اطلاعات اضافی و هم در استفاده از این اطلاعات برای کنترل واجد شرایط بودن دسترسی، هزینه های زیادی وجود داشته باشد. بنابراین، در اکثر سیستم های مدرنمدیریت فایل از رویکردی برای حفاظت از فایل استفاده می کند که توسط سیستم عامل یونیکس (1974) پیشگام شد. در این سیستم، هر کاربر ثبت شده دارای یک جفت شناسه عدد صحیح است: شناسه گروهی که این کاربر به آن تعلق دارد و شناسه خود در گروه.بر این اساس، برای هر فایل، شناسه کامل کاربری که این فایل را ایجاد کرده، ذخیره می‌شود و به آن اشاره می‌شود که چه اقداماتی را می‌تواند با فایل انجام دهد، چه اقداماتی با فایل در دسترس سایر کاربران همان گروه است و چه کاربرانی. گروه های دیگر می توانند با فایل انجام دهند. این اطلاعات بسیار فشرده است. تعداد زیادی ازاقدامات، و این روش کنترل دسترسی در اکثر موارد رضایت بخش است.

    · حالت دسترسی چند کاربرهاگر سیستم عامل از حالت چند کاربره پشتیبانی کند، ممکن است دو یا چند کاربر به طور همزمان سعی کنند با یک فایل کار کنند. اگر همه این کاربران فقط فایل را بخوانند، اتفاق بدی نمی افتد. اما اگر حداقل یکی از آنها فایل را تغییر دهد، برای عملکرد صحیحاین گروه نیاز به همگام سازی متقابل دارد. از لحاظ تاریخی، فایل سیستم ها رویکرد زیر را در پیش گرفته اند. در عملیات باز کردن فایل (اولین عملیات و اجباری که باید جلسه کار با یک فایل با آن شروع شود)، علاوه بر سایر پارامترها، حالت عملکرد (خواندن یا تغییر) نیز مشخص شد. + موجود رویه های خاصهمگام سازی اقدامات کاربر قابل ضبط نیست!

    یکی از اجزای سیستم عامل سیستم فایل است - ذخیره اصلی اطلاعات سیستم و کاربر. همه سیستم عامل های مدرن با یک یا چند سیستم فایل کار می کنند، به عنوان مثال، FAT (جدول تخصیص فایل)، NTFS (سیستم فایل NT)، HPFS (سیستم فایل با کارایی بالا)، NFS (سیستم فایل شبکه)، AFS (سیستم فایل اندرو) , فایل سیستم اینترنتی.

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

    در معنای گسترده، اصطلاح "فایل سیستم" شامل موارد زیر است:

    مجموعه ای از تمام فایل های روی یک دیسک؛

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

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

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

    تعریف می کند راه های ممکنسازماندهی فایل و ساختار فایل در رسانه؛

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

    آهنگ های فضای خالیبر روی حامل

    چه زمانی برنامه کاربردیبه یک فایل اشاره می کند، هیچ ایده ای ندارد که اطلاعات چگونه در یک فایل خاص قرار دارد و همچنین نمی داند که در چه نوع رسانه فیزیکی (CD، هارد دیسک یا بلوک حافظه فلش) ضبط شده است. تنها چیزی که برنامه می داند نام، اندازه و ویژگی های فایل است. این داده ها را از درایور سیستم فایل دریافت می کند. این سیستم فایل است که تعیین می کند فایل در کجا و چگونه نوشته شود رسانه فیزیکی(به عنوان مثال هارد دیسک).

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


    3.1.5 ساختار دیسک منطقی

    برای فعال کردن رایانه برای ذخیره، خواندن و نوشتن اطلاعات سختابتدا باید دیسک علامت گذاری شود. پارتیشن ها بر روی آن با کمک برنامه های مناسب ایجاد می شوند - به این "تقسیم دیسک سخت" می گویند. بدون این نشانه گذاری، نصب سیستم عامل بر روی هارد امکان پذیر نخواهد بود (اگرچه ویندوز XP و 2000 را می توان بر روی یک درایو بدون پارتیشن نصب کرد، آنها این نشانه گذاری را خودشان در طول مراحل نصب انجام می دهند).

    HDDرا می توان به چندین بخش تقسیم کرد که هر کدام به طور مستقل مورد استفاده قرار خواهند گرفت. این برای چیست؟ یک دیسک می تواند شامل چندین سیستم عامل مختلف باشد که در پارتیشن های مختلف قرار دارند. ساختار داخلی یک پارتیشن اختصاص داده شده به یک سیستم عامل کاملاً توسط آن سیستم عامل تعیین می شود.

    علاوه بر این، دلایل دیگری برای پارتیشن بندی دیسک وجود دارد، به عنوان مثال:

    امکان استفاده از دیسک های با ظرفیت بیشتر از
    32 مگابایت;

    اگر یک دیسک آسیب دیده باشد، فقط اطلاعاتی که روی این دیسک بود از بین می رود.

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

    هر کاربر می تواند خود را داشته باشد درایو منطقی.

    عملیات آماده سازی دیسک برای کار نامیده می شود قالب بندی، یا مقداردهی اولیه. همه چیز موجود است فضای دیسکبه اضلاع، مسیرها و بخش‌ها تقسیم می‌شود، با آهنگ‌ها و اضلاع شماره‌گذاری شده از صفر، و بخش‌ها - از یک. مجموعه آهنگ ها در همان فاصلهاز محور یک دیسک یا یک بسته دیسک، استوانه نامیده می شود. بنابراین، آدرس فیزیکی بخش با مختصات زیر تعیین می شود: شماره آهنگ (سیلندر - C)، شماره سمت دیسک (سر - H)، شماره بخش - R، به عنوان مثال. CHR.

    در همان بخش اول هارد دیسک(C=0، H=0، R=1) حاوی رکورد اصلی بوت است رکورد اصلی بوت. این ورودی کل بخش را اشغال نمی کند، بلکه فقط قسمت اولیه آن را اشغال می کند. رکورد اصلی بوت یک برنامه است - یک لودر خارج از سیستم.

    در پایان اولین سختدیسک شامل جدول پارتیشن دیسک است - جدول پارتیشن. این جدول شامل چهار ردیف است که حداکثر چهار پارتیشن را توصیف می کند. هر ردیف در جدول یک بخش را توصیف می کند:

    1) بخش فعال یا نه.

    2) تعداد بخش مربوط به ابتدای بخش.

    3) تعداد بخش مربوط به انتهای بخش.

    4) اندازه پارتیشن در بخش ها.

    5) کد سیستم عامل، یعنی. این پارتیشن به چه سیستم عاملی تعلق دارد.

    اگر یک پارتیشن دارای یک برنامه بوت سیستم عامل باشد فعال نامیده می شود. اولین بایت در عنصر بخش، پرچم فعالیت بخش است (0 - غیر فعال، 128 (80H) - فعال). این برای تعیین اینکه آیا پارتیشن یک سیستم (بوتیبل) است یا خیر و برای نیاز به بوت شدن سیستم عامل از آن هنگام راه اندازی کامپیوتر استفاده می شود. فقط یک بخش می تواند فعال باشد. برنامه های کوچک، به نام مدیران بوت (Boot Manager) می توان در اولین بخش های دیسک قرار گرفت. آنها به صورت تعاملی از کاربر می پرسند که از کدام پارتیشن بوت شود و بر اساس آن پرچم های فعالیت پارتیشن را تنظیم می کنند. از آنجایی که در جدول پارتیشن چهار ردیف وجود دارد، می تواند تا چهار سیستم عامل مختلف روی دیسک وجود داشته باشد، بنابراین، دیسک می تواند شامل چندین پارتیشن اصلی متعلق به سیستم عامل های مختلف باشد.

    نمونه ای از ساختار منطقی یک هارد دیسک متشکل از سه پارتیشن که دو پارتیشن متعلق به DOS و یکی متعلق به یونیکس است، در شکل 3.2a نشان داده شده است.

    هر بخش فعال بخش خود را دارد رکورد بوت- برنامه ای که این سیستم عامل را بارگیری می کند.

    در عمل، دیسک اغلب به دو پارتیشن تقسیم می شود. اندازه‌های پارتیشن، خواه فعال اعلام شوند یا نه، توسط کاربر در طول فرآیند تنظیم می‌شوند. تمرین سختدیسک به کار این کار با استفاده از برنامه های ویژه. در DOS این برنامه FDISK نامیده می شود و در نسخه های Windows-XX به آن Diskadministrator می گویند.

    در DOS، پارتیشن اولیه − است پارتیشن اولیه، این قسمتی است که شامل لودر سیستم عامل و خود سیستم عامل است. بنابراین، پارتیشن اولیه پارتیشن فعال است که به عنوان یک درایو منطقی به نام C: استفاده می شود.

    سیستم عامل WINDOWS (یعنی WINDOWS 2000) اصطلاحات را تغییر داد: پارتیشن فعال پارتیشن سیستم نامیده می شود و پارتیشن بوت درایو منطقی است که حاوی فایل های سیستم است. فایل های WINDOWS. درایو منطقی بوت می تواند همان باشد پارتیشن سیستم، اما ممکن است روی یک پارتیشن متفاوت در یک هارد دیسک یا روی یک هارد دیسک متفاوت باشد.

    بخش توسعه یافته پارتیشن توسعه یافتهرا می توان به چندین تقسیم کرد درایوهای منطقیبا نام های D: تا Z:.

    شکل 3.2b ساختار منطقی یک هارد دیسک را نشان می دهد که فقط دو پارتیشن و چهار دیسک منطقی دارد.

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

    وظایفی که فایل سیستم باید حل کند:

    • نام گذاری فایل
    • رابط نرم افزاری برای برنامه های کاربر
    • حفاظت از داده ها در برابر قطع برق و خطاهای سخت افزاری و نرم افزاری.
    • ذخیره سازی پارامترهای فایل

    فایل سیستم های مدرن را می توان با توجه به هدفشان به چند گروه تقسیم کرد:

    • سیستم های فایل برای رسانه های دسترسی تصادفی (برای درایوهای فلش): FAT32، HPFS، ext2 و بسیاری دیگر.
    • سیستم های فایل برای رسانه های ذخیره سازی با دسترسی متوالی (نوارهای مغناطیسی): QIC و غیره.
    • سیستم های فایل برای دیسک های نوری: ISO9660، HFS، UDF و غیره
    • سیستم های فایل مجازی: AEFS و غیره
    • سیستم های فایل شبکه: NFS، SSHFS، CIFS، GmailFS و غیره.
    • سیستم های فایل منحصراً برای: YAFFS، exFAT، ExtremeFFS طراحی شده اند.

    فایل سیستم های محبوب:

    چربیفایل سیستمی است که توسط بیل گیتس و مارک مک دونالد در دهه 1970 توسعه یافت. به دلیل سادگی هنوز هم در فلش مموری ها استفاده می شود. سه نسخه از فایل سیستم FAT وجود دارد: FAT12، FAT16 و FAT32. این نسخه های سیستم فایل FAT از نظر بیتی بودن رکوردها (تعداد بیت هایی که برای ذخیره شماره خوشه رزرو شده اند) متفاوت هستند. یعنی هر چه عمق بیت بیشتر باشد، حجم دیسکی که فایل سیستم FAT می تواند با آن کار کند بیشتر می شود. بنابراین، برای FAT32، حداکثر اندازه دیسک 127 گیگابایت است.

    NTFSیک سیستم فایل نسل جدید از مایکروسافت است. این فایل سیستم برای تمامی سیستم عامل ها استفاده می شود. سیستم های مایکروسافتویندوز NT. NTFS اولین بار در سال 1993 همراه با سیستم عامل ویندوز NT 3.1 ظاهر شد. در مقایسه با FAT، فایل سیستم NTFSپیشرفت های زیادی پیدا کرد بنابراین، محدودیت در حداکثر اندازه فایل و دیسک عملا ناپدید شده است. علاوه بر این، از لینک های سخت، رمزگذاری و فشرده سازی پشتیبانی می شود.

    داخلی- یک سیستم فایل که به طور خاص برای سیستم عامل ها طراحی شده است هسته لینوکس. توسعه برای اولین بار در سال 1992 معرفی شد. اکنون چندین نسخه از این فایل سیستم وجود دارد: ext، ext2، ext3، ext3cow و ext4. فایل سیستم ext4 روشن است این لحظهجدیدترین است و نسخه فعلی ext، که نسخه ای است که توسط اکثر توزیع های مدرن لینوکس استفاده می شود.

    فایل ها و سیستم فایل

    تمام برنامه ها و داده ها در حافظه غیر فرار (خارجی) کامپیوتر به عنوان فایل ذخیره می شوند.

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

    نام فایل.نام فایل شامل دو بخش است که با یک نقطه از هم جدا می شوند: نام واقعی فایل و پسوندی که نوع آن را مشخص می کند (برنامه، داده و غیره). نام فایل واقعی توسط کاربر داده می‌شود و نوع فایل معمولاً به‌طور خودکار توسط برنامه هنگام ایجاد آن تنظیم می‌شود (جدول 4.2).

    در سیستم عامل های مختلف، وجود دارد فرمت های مختلفنام فایل ها در سیستم عامل MS-DOS، نام فایل خود نباید بیش از 8 حرف از الفبای لاتین، اعداد و برخی کاراکترهای خاص داشته باشد و پسوند شامل سه عدد است. حروف لاتینبه عنوان مثال: proba.txt

    در سیستم عامل نام ویندوزفایل می تواند حداکثر 255 کاراکتر داشته باشد و می توانید از الفبای روسی استفاده کنید، به عنوان مثال: Information units.doc


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

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

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

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

    دایرکتوری اولیه، ریشه شامل دایرکتوری های تودرتو از سطح 1 است، به نوبه خود، هر یک از دومی ها می توانند دایرکتوری های تودرتو سطح 2 و غیره را شامل شوند. لازم به ذکر است که فایل ها را می توان در دایرکتوری های تمام سطوح ذخیره کرد.

    به عنوان مثال، دایرکتوری ریشه می تواند شامل دو زیر شاخه از سطح 1 (Catalog_1، Directory_2) و یک فایل (File_1) باشد. به نوبه خود، دایرکتوری سطح 1 (Catalog_1) شامل دو زیر شاخه از سطح دوم (Catalog_1.1 و Directory_1.2) و یک فایل (File_1.1) است - شکل. 4.21.

    سیستم فایلسیستمی برای ذخیره فایل ها و سازماندهی دایرکتوری ها است.

    یک سیستم فایل سلسله مراتبی را روشن در نظر بگیرید مثال خاص. هر دیسک یک نام منطقی دارد (A:، B: - فلاپی دیسک، C:، D:، E: و غیره - دیسک سخت و لیزری).

    اجازه دهید دو دایرکتوری سطح اول (GAMES، TEXT) در دایرکتوری ریشه درایو C: و یک دایرکتوری سطح دوم (CHESS) در پوشه GAMES وجود داشته باشد. در این مورد، دایرکتوری TEXT حاوی فایل proba.txt و دایرکتوری CHESS حاوی فایل chess.exe است (شکل 4.22).

    مسیر فایل.چگونه فایل های موجود (chess.exe، proba.txt) را در یک سیستم فایل سلسله مراتبی پیدا کنیم؟ برای این کار باید مسیر فایل را مشخص کنید. مسیر فایل شامل نام منطقی درایو نوشته شده از طریق جداکننده "\" و دنباله ای از نام دایرکتوری های تودرتو است که آخرین آنها شامل فایل مورد نظر. راه هایی برای فایل های بالارا می توان به صورت زیر نوشت:

    گاهی اوقات مسیر فایل همراه با نام فایل فراخوانی می شود نام کامل فایل.

    مثال نام کامل فایل:

    C \GAMES\CHESS\chess.exe

    نمایش فایل سیستم با استفاده از یک رابط گرافیکی.سیستم فایل سلسله مراتبی MS-DOS حاوی دایرکتوری ها و فایل ها در سیستم عامل نمایش داده می شود. سیستم ویندوزبا استفاده از یک رابط گرافیکی در قالب یک سیستم سلسله مراتبی از پوشه ها و اسناد. یک پوشه در ویندوز مشابه یک پوشه MS-DOS است.

    با این حال، ساختار سلسله مراتبی این سیستم ها تا حدودی متفاوت است. در سیستم فایل سلسله مراتبی MS-DOS، بالای سلسله مراتب شی دایرکتوری ریشه دیسک است که می توان آن را با یک تنه درخت مقایسه کرد که شاخه ها (زیر دایرکتوری ها) روی آن رشد می کنند و برگ ها (فایل ها) روی شاخه ها قرار دارند.

    در ویندوز، در بالای سلسله مراتب پوشه، پوشه قرار دارد دسکتاپ. سطح بعدی با پوشه ها نشان داده می شود کامپیوتر من، سطل بازیافتو شبکه(اگر کامپیوتر به شبکه محلی) - برنج. 4.23.

    2. انتخاب یکی از آیتم های منو نمایش (نمادهای بزرگ، نمادهای کوچک، فهرست، جدول)، می توانید فرم را برای ارائه محتویات پوشه سفارشی کنید.

    پوشه شبکهشامل پوشه های تمام رایانه هایی است که در حال حاضر به شبکه محلی متصل هستند.

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

    3. برای حذف دائمی فایل ها، دستور [File-Empty Recycle Bin] را وارد کنید.

    عملیات روی فایل هادر فرآیند کار بر روی رایانه، عملیات زیر اغلب بر روی فایل ها انجام می شود:

    • کپی کردن (یک کپی از فایل در دایرکتوری دیگری قرار می گیرد).
    • در حال حرکت (فایل خود به دایرکتوری دیگری منتقل می شود).
    • حذف (رکورد مربوط به فایل از فهرست حذف می شود)؛
    • تغییر نام (نام فایل را تغییر می دهد).

    رابط گرافیکی ویندوز به شما اجازه می دهد تا با استفاده از روش Drag&Drop (کشیدن و رها کردن) روی فایل ها با استفاده از ماوس کار کنید. همچنین اپلیکیشن های تخصصی کار با فایل ها به اصطلاح وجود دارد فایل منیجرها : Norton Commander، Windows Commander، File Explorer و غیره.

    در برخی موارد، کار با رابط ضروری می شود خط فرمان. ویندوز یک حالت کار با رابط خط فرمان MS-DOS فراهم می کند.

    رابط خط فرمان

    1. دستور [Programs-MS-DOS Session] را وارد کنید. پنجره برنامه ظاهر می شود جلسه MS-DOS.

    در پاسخ به اعلان سیستم، می توانید دستورات MS-DOS را از صفحه کلید وارد کنید، از جمله:

    • دستورات کار با فایل ها (کپی، دل، تغییر نام و غیره)؛
    • دستورات کار با دایرکتوری ها (dir، mkdir، chdir و غیره)؛
    • دستورات کار با دیسک (فرمت، یکپارچه سازی و غیره).

    2. ده ها دستور MS-DOS وجود دارد و هر دستور فرمت و پارامترهای خاص خود را دارد که به خاطر سپردن آنها بسیار دشوار است. برای دریافت اطلاعات راهنمایی در مورد یک فرمان، سوئیچ /؟ را بعد از نام فرمان وارد کنید.

    به عنوان مثال، برای کمک به دستور فرمتدر پاسخ به درخواست سیستم، باید وارد کنید: С:\WINDOWS>format/?


    سوالاتی برای تأمل

    1. کدام عنصر بالای سلسله مراتب در سیستم فایل MS-DOS است؟ که در رابط کاربری گرافیکیپنجره ها؟

    وظایف عملی

    4.11. فایل ها را با استفاده از رابط خط فرمان و مدیر فایل کپی کنید.

    4.12. با اندازه دیسک های کامپیوتر خود و همچنین مقدار فضای اشغال شده و آزاد آشنا شوید.

    4.13. با فرمت دستور dir آشنا شوید. دایرکتوری ریشه درایو C را مشاهده کنید.