Warning: Declaration of tie_mega_menu_walker::start_el(&$output, $item, $depth, $args, $id = 0) should be compatible with Walker_Nav_Menu::start_el(&$output, $item, $depth = 0, $args = Array, $id = 0) in /home3/afgsaane/public_html/wp-content/themes/jarida/functions/theme-functions.php on line 1904
آشنایی با سیستم فایل لینوکس | سایت تخصصی کامپیوتر afgsaa
خانه » اخبار » تکنولوژی » آشنایی با سیستم فایل لینوکس

آشنایی با سیستم فایل لینوکس

600x200xext.png.pagespeed.ic.djde5kBlii

در مقاله پیشین سیستم فایل را تعریف کردیم و انواع سیستم فایل های ویندوز و ویژگی های آنها را بررسی نمودیم.
در این مقاله به بررسی سیستم فایل لینوکس میپردازیم.
سیستم فایل در لینوکس تفاوت های زیادی با ویندوز دارد. برخلاف ویندوز که از (NTFS(New Technology File System استفاده میکند,لینوکس از سیستم فایل معروف و قدرتمند(EXT(Extended File System استفاده میکند.

تاریخچه :
لینوس توروالدز در طراحی سیستم‌عامل آزمایشی خود در سال 1991 از سیستم فایل Minix استفاده كرد. سیستم فایل Minix جوابگوی نیازهای توروالدز بود و به خوبی در سیستم‌عامل جدید جا افتاد. با به‌وجود آمدن یك جنبش اینترنتی برای توسعه این سیستم‌عامل جدید و تبدیل آن به یك سیستم‌عامل اپن‌سورسِ قابل استفاده برای عامه مردم، نارسایی و مشكلات سیستم فایل Minix ظهور كرد و نیاز به طراحی یك سیستم فایل جدید توسط مشتاقان لینوكس حِس شد. دو مشكل عمده Minix  در سیستم فایل عبارت بودند از كوچك بودن نام فایل‌ها (حداكثر 14 كاراكتر) و فضای حافظه بسیار محدود (بلوك آدرس‌دهی فقط 16 بیتی بود).طراحی Virtual File System) VFS)  توسط كریس پروون زنو, راه را برای خلق یك سیستم فایل جدید با توانایی و كارایی بهتر از Minix هموار ساخت.VFS یا همان لایه مجازی سیستم‌ فایل توسط خود آقای توروالدز توسعه داده شد و به كرنل لینوكس اضافه گردید. بلافاصله در آوریل 1992 سیستم‌ فایل جدید، Extended File system،  به‌جای سیستم فایل Minix استفاده شد.
ویژگی مهم Extحافظه دو گیگا بایتی برای سیستم فایل و نامگذاری 255 كاراكتری فایل‌ها بود اما مشكلاتی داشت كه می‌بایست برطرف می‌شدند. مانند عدم كارایی مناسبInodeها وLink Listها و عدم امكان استفاده از Time stamps ( ثبت زمان های مربوط به هر فایل) .

در سال 1993 نسل دوم سیستم فایل تحت عنوان Ext2 توسط Remy card معرفی شد و بعنوان سیستم فایل پیشفرض لینوکس مورد استفاده قرار گرفت. Ext2 هنوز هم در حافظه های فلش و USB ها استفاده میشود (بدلیل نداشتن خاصیت Journaling که باعث زیاد شدن تعداد دفعات عمل Write میشود.) همچنین از خاصیت فشرده سازی بهره میبرد.

محدودیت های فایل و فضا در Ext2 بدین صورت است :
حداکثر اندازه فایل : 2 Terabytes
حداکثر اندازه سیستم فایل : 32 Terabytes

توسعه Ext2 در سال 1998 توسط Stephen Tweedie منجر به معرفی سومین نوع از فایل سیستم های Ext یعنی Ext3 شد که در سال 2001 درنسخه 2.4.15 کرنل لینوکس استفاده شد.
Ext3 با Ext2 سازگاری كامل دارد و تبدیل و ارتقاء به آسانی و با چند خط فرمان‌نویسی صورت می‌پذیرد. و این كار بدون هیچ‌گونه نیاز به فرمت كردن یا پارتیشن‌بندی یا اختلال در بلوك‌های داده‌های سیستم فایل صورت می‌پذیرد.همچنین از خاصیت فشرده سازی مانند نسخه قبلی پشتیبانی میشود.

محدودیت های سایز در Ext3 :
حداکثر اندازه فایل : 2 Terabytes
حداکثر اندازه سیستم فایل : 32 Terabytes

پررنگ ترین ویژگی Ext3 استفاده از فناوری Journaling است که امنیت داده‌ها و سازگاری و انسجام اطلاعات را در هنگام وقوع خطاهای سخت‌افزاری تضمین می‌كند.
Journaling از روشی در ذخیره و نگهداری داده‌ها بر روی دیسك استفاده می‌كند كه دیگر نیازی به سازمان‌دهی اطلاعات بلوك‌های سیستم فایل و تنظیم كردن آدرس‌های منطقی نیست و هیچ زمانی در فرایند بوت برای شناخت داده‌ها و انسجام آن‌ها با سیستم فایل صرف نمی‌شود. در ضمن امنیت داده‌ها هم تأمین می‌شود. در زمان وقوع یك خطای سخت‌افزاری، ژورنالینگ از اطلاعات داده‌ها پشتیبانی می‌كند و باعث می‌شود هیچ‌گونه اطلاعات جدیدی بر روی داده‌ها نوشته نشود.
درواقع دراین روش داده ها قبل از نوشته شدن مستقیم برروی حافظه در قسمتی از دیسک بنام ژورنال ذخیره می شوند و بعد از حصول اطمینان از عدم وقوع اتفاقات غیرمنتظره مثل قطع ناگهانی برق و …,داده ها به حافظه اصلی منتقل می شوند.

در 25 دسامبر 2008 نسخه بهبود یافته Ext3 با نام Ext4 بر روی ورژن 2.6.28 کرنل لینوکس قرار گرفت.Ext4 از سیستم آدرس دهی 48 بیتی استفاده میکند که محدودیت های فضا را بطور کامل از بین می برد بطوریکه حداکثر اندازه یک فایل در این سیستم فایل تا 16 Terabyte و حداکثر اندازه سیستم فایل تا 1 Exabyte افزایش یافته است.

(GB = Gigabyte (1024 MB
(TB = Terabyte (1024 GB
(PB = Petabyte (1024 TB
(EB = Exabyte (1024 PB

نکته دیگر این است که Device های با سیستم فایل Ext3 را حتی بدون نیاز به بروزرسانی کردن آن , به راحتی میتوان تحت عنوان Ext4 در سیستم عامل Mount کرد .

 

Screenshot (9)

ساختار سیستم فایل های Ext در لینوکس :

سيستم فايل سيستم عاملهاي مبتني بر يونيكس و لينوكس به صورت يك درخت وارونه پياده سازي شـده است. در يونيكس و لينوكس ديگر شما چيزي به نام درايوهاي C,D و… نداريد.
وقتی در محیط GUI به داخل دایرکتوری های هارد می‌رویم در‌واقع در حال گشت زنی در این ساختار درختی هستیم. تمام دایرکتوری های هارد ما و پارتیشن های اضافی ما زیر مجموعه‌ای از این ساختار درختی میباشد، که توسط یک ریشه Root قابل دسترسی میباشد. در‌واقع ما در کرنل لینوکس فقط ۱پارتیشن که به پارتیشن root معروف بوده و با نماد / نشان داده میشود داریم و هر پارتیشن، هارد و به طور کل دیوایس اضافی که به سیستم اضافه کنیم زیر مجموعه‌ای از این ساختار درختی میشود.در سیستم عامل ویندوز به ازای هر پارتیشن ۱ساختار درختی داریم. در ساختار درختی حرکت در بین دایرکتوری ها از سرعت زیادی برخوردار است و همچنین در مباحث File Locating باعث سهولت در انجام کار میشود.

Linux FileSystem

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

البته علاوه بر پارتیشن / میتوان از پارتیشن های دیگری برای برخی از دایرکتوری های موجود در سطح اول ساختار درختی (که این امکان در هنگام نصب فراهم هست ) استفاده کرد که این عمل فواید زیر را در پیش دارد:
1.ماژولار بودن سیستم
2.استفاده دوباره و بدون نیاز به نصب از نرم افزارهای نصب شده بر روی سیستم بعد از نصب دوباره ی لینوکس

بخش های درخت سیستم فایل :

اكنون به بررسي تك تك شاخه هاي سيستم فايل ميپردازيم. توجه داشته باشيد كه دسترسي به اكثـر ايـن شاخه ها فقط توسط كاربر ريشه امكان پذير است.

8ab2836242fb44c68cf75bf09666b777

شاخه  bin : در اين شاخه، دستورات سيستم عامل كه براي تمام كاربران قابل دستيابي هستند و برخي دستورات مديريتي سيستم قرار ميگيرند.
شاخه  sbin : دستورات و برنامه هاي مديريتي سيستم در اين شاخه قرار ميگيرند و مخصوص كاربر root است.

شاخه etc : در اين شاخه فايلهاي پيكربندي برنامه هاي سرويس دهنده و برخي فايلهاي سيـستمي ديگـر قـرارميگيرند. مثلاً فايل پيكربندي سرويس دهنده وب آپاچي در سيستمهاي دبيان در etc/apache/http.conf قرار دارد و به همين ترتيب.

شاخه dev : محل قرارگيري نقطه دسترسيهاي ابزارهاي سخت افزاري است. مثلاً تمام پورتها، پارتيشنها و … در اينجا داراي يك فايل هستند، براي مثال فايل dev/fdo  نشان دهنده فلاپي درايـو سيـستم اسـت و بـه همـين ترتيب. بسياري از برنامه هاي كاربردي از اين فايلهاي دسترسي براي خواندن و نوشتن داده ها بـر روي ابـزار مـورد نظرشان استفاده ميكنند. مثلاً يك برنامه كاربردي فايل dev/fdo را بـاز كـرده و در آن مـينويـسد، در حقيقـت اطلاعات روي درايو فلاپي و ديسكي كه در آن قرار دارد، نوشته خواهد شد.

شاخه proc : اين شاخه يك سيستم فايل مجازي است كه برخي اطلاعات مربوط به سيستم و هسته از آن قابل دستيابي ميباشد. مثلاً فايل versionدر اين شاخه حاوي اطلاعات هسته سيستم عامـل ماننـد نـسخه آن و … ميباشد.

شاخه var : اين شاخه كه معمولاً در كامپيوترهاي سرويس دهنـده در يـك پارتيـشن جداگانـه قـرار مـيگيـرد، مخصوص برنامه هاي سرويس دهنده اي مانند وب و FTP و بانكهاي اطلاعاتي است. مثلاً فايلهاي مربوط بـه يـك وب سايت ميتوانند در var/www قرار گيرند. به دليل اين كه در برخي از حملات DOS ديسك سخت سيـستم با فايلهاي آشغال پر ميشود، اين شاخه را در يك پارتيشن جداگانه قرار ميدهند كه در صورت قرارگيـري تحـت حمله و پرشدن احتمالي ديسك سخت، كل سيستم عامل دچار وقفه نگردد و آسيب به همان قسمت محدود شود. تمامي شاخه هايي كه در بالا توضيح داده شد، ميتوانند در پارتيشنهاي جداگانه قرار داده شوند. ولي ضرورتي ندارد.

شاخه tmp : محل قرارگيري برخي فايلهاي موقتي برنامه هاي كاربردي است.

شاخه usr : بسياري از برنامه هاي كاربردي در اين شاخه نصب ميشوند. همچنين برخي دستورات و برنامه هاي مديريتي نيز در مسيرهاي usr/binو usr/sbin قرار ميگيرند.

شاخه home : در اين شاخه دايركتوري هاي خانگي كاربران سيستم و اطلاعات آنها قرار ميگيرد. بهتر است اين شاخه در يك پارتيشن جداگانه قرار گرفته و متصل شود. اين كار حفاظت از داده هاي كاربران را بالاتر خواهـد بـرد ضمناً در صورت نياز به فرمت و نصب مجدد سيستم، اطلاعات كاربران دست نخورده بـاقي مانـده و پـس از نـصب مجدد، كليه تنظيمات شخصي و اطلاعات آنها بدون تغيير باقي خواهند ماند.

شاخه boot : اين شاخه كه ميتواند در يك پارتيشن جداگانه بوده و به پوشه boot متصل شـده باشـد، حـاوي برنامه راه انداز بوت سيستم عامل ميباشد، مانند Grub و  Lilo.

شاخه lib : اين شاخه همانطور كه از نام آن پيداست، محل قرارگيري فايلهاي كتابخانه برنامـه هـا اسـت. ايـن كتابخانه ها توسط برنامه هاي كاربردي و ابزارهاي برنامه نويسي به كار گرفته ميشوند.
شاخه mnt : اين شاخه معمولاً داراي زير شاخه هـايي ماننـد floppyو Cdrom بـوده و محـل اتـصال سـنتي درايوهاي فلاپي و CD-ROM در شاخه هاي floppy و Cdrom كه در زير ريشه قرار دارند، متصل ميشوند. اشتراكات شبكه را نيز ميتوانيد در ايـن شـاخه متصل نماييد.

درباره م.رضائی

دیدگاهتان را ثبت کنید

آدرس ایمیل شما منتشر نخواهد شدعلامتدارها لازمند *

*

theme
رفتن به بالا

Warning: Parameter 1 to W3_Plugin_TotalCache::ob_callback() expected to be a reference, value given in /home3/afgsaane/public_html/wp-includes/functions.php on line 3510