فرمت :WORD تعداد صفحه :43
مقدمه:
فایلها یکی از بنیادی ترین مفاهیم سیستم عامل هستند. هر سیستم عاملی برای ساختن یک فایل، نگهداری اطلاعات آن، دسترسی و بازیابی فایل،تغییر خصوصیات فایل و عملیات و مفاهیم مرتبط با فایل از ساختاری بهره Ms-Dos سیستم فایل معروف FAT 16 ) یاد می شود. File Systemمی بردکه از آن به سیستم فایل (
هر کدام OSL2 وBSD در ویندوز استفاده می شوند. و یونیکس، سولاریس، NTFS وFAT 32 است.
هم سیستم فایل انحصاری سیستم عامل این سورس Ext سیستم فایل مرتبط با ساختار کرنل خود را دارند. گنو/ لینوکس است که همزمان با توسعه این سیستم عامل خلق شد. گنو/ لینوکس بخشی از پایداری و قدرتمندی خود را همراه ویژگی های منحصر به فردی مانند دادن مجوزها و مالکیت ها به هر فایل را مدیون سیستم فایل
خود است. در نوشتار زیر نگاهی اجمالی به این سیستم فایل داریم.
تاریخچه:
لینوکس توروالدز در طراحی سیستمعامل آزمایشی خود در سال 1991 از سیستم فایلMinix استفاده کرد. سیستم فایلMinix جوابگوی نیازهای توروالدز بود و به خوبی در سیستمعامل جدید جا افتاد. با بهوجود آمدن یک جنبش اینترنتی برای توسعه این سیستمعامل جدید و تبدیل آن به یک سیستمعامل اپنسورسِ قابل استفاده برای عامه مردم، نارسایی و مشکلات سیستم فایلMinix ظهور کرد و نیاز به طراحی یک سیستم فایل
جدید توسط مشتاقان لینوکس حِس شد. دو مشکل عمده Minix در سیستم فایل عبارت بودند از کوچک بودن نام فایلها (حداکثر 14 کاراکتر) و فضای حافظه بسیار محدود (بلوک آدرسدهی فقط 16 بیتی بود یعنی 216=46مگابایت)
طراحی Virtual File System )VFS ) توسط <کریس پروون زنو> راه را برای خلق یک سیستم فایل جدید با توانایی و کارایی بهتر ازMinix هموار ساخت. VFS یا همان لایه مجازی سیستم فایل توسط خود آقای توروالدز توسعه داده شد و به کرنل لینوکس اضافه گردید. بلافاصله در آوریل 1992 سیستم فایل جدید،Extended File system، در نسخه 96/0 لینوکس بهجای سیستم فایلMinix استفاده شد. در واقع بنیانگذارانEXT fs عبارتند از Remy Card از آزمایشگاه ماساچوست، "Theodor Ts o" از انجمن تکنولوژی ماسوچوست و Stephan Tweedie از دانشگاه رادینبرگ.
|
Minix |
Ext Fs |
Ext2 Fs |
Xia Fs |
Max FS Size |
64 MB |
2 GB |
2 GB |
2 GB |
Max File Size |
64 MB |
2 GB |
2 GB |
64 MB |
Max File Name |
16/30 c |
255 c |
255 c |
248 c |
3 time Support |
no |
no |
yes |
yes |
Extensible |
no |
no |
yes |
no |
var. block size |
no |
no |
yes |
no |
Maintained |
yes |
no |
yes |
? |
ویژگی مهم EXT fs حافظه دو گیگا بایتی برای سیستم فایل و نامگذاری 255 کاراکتری فایلها است. همراه سایر بخشهای لینوکس که روح توسعه در آنها جریان داشت، در ژانویه 1993،EXT fs به Second Extended File system ارتقاء داده شد. EXT مشکلاتی داشت که میبایست برطرف میشدند. مانند عدم کارایی مناسب Inode ها وLink List ها و عدم امکان استفاده از Time stamps (ثبت زمانهای مربوط به هر فایل) EXT2 fs نسبت به نگارش قبلی خود بسیار بهتر و مطمئنتر بود و مشکلات و باگهای موجود برطرف شده بودند. ولی از پایداری لازم برخوردار نبود. همزمان باEXT2 fs ، سیستم فایلی هم براساس ساختارMinix به نام Xia طراحی شد که یک سیستم فایل مطمئن و پایدار بود. در نسخههای بعدیEXT2 fs ، پایداری آن هم به حد مناسب رسید و به عنوان سیستم فایل مخصوص لینوکس معرفی و عرضه شد. پس از مدت زیادی که از زمان عرضه و استفاده EXT3 fs گذشت، نسل جدیدEXT به نام EXT3 fs طراحی شد. پررنگترین ویژگی 3EXT استفاده از فناوری journaling است. Journaling روشی برای ثبت وقایع هر فایل است تا انسجام و سازگاری دادهها با سیستم برای همیشه تضمین شود.Vfs این توانایی را هم ایجاد کرده است که لینوکس بتواند با دیگر سیستم فایلهای موجود نیز در تعامل باشدوسیستمفایلهای دیگری هم برای عملیاتخودتعریف کند.
همانطور که در تاریخچه گفته شد، اولین نسخههای لینوکس همراه با سیستم فایلMinix عرضه شدند که یک سیستم فایل مناسب و کارا مینمود ولی پیشرفت پروژه گنو و طراحی یک سیستمعامل اپنسورس فراگیر، نیازمند سیستم فایل جدیدتری بود. کلید سیستم فایلext به وسیله طراحی ساختارVFS رقم خورد. برای شناخت بیشتر این سیستم فایل، ابتدا لایه مجازی سیستم فایل استفاده شده در لینوکس را بررسی میکنیم.
Virtual File system) VFS (
لینوکس از یک لایه مجازیVFS برای سیستم فایل خود
استفاده میکند. این لایه مجازی میان سیستم فایل در کرنل
و لایه فراخوانی فرایندهای کاربران لینوکس واقع شده است
(شکل 1).همانطور که شکل نشان میدهد،VFS بر روی
سیستم فایل قرار گرفته و با گرفتن توابع فراخوانی پروسسهای
شکل (1)
کاربران، اطلاعات تجزیه و تحلیل شده را به سمت یک بلوک سیستم فایل هدایت میکند. هر پروسس در وضعیت کاری کاربر با این لایه سیستم فایل در ارتباط است نه بهصورت مستقیم با رویههای سیستم فایل. هسته سیستمعامل با بهکارگیری VFS این توانایی را به کرنل میدهد که بدون هیچ نگرانی از فرمتهای گوناگون پشتیبانی کند، مانند فرمت فایل یونیکس و ویندوز. همچنینVFS باعث تسریع در عملیاتهای سیستم فایل شده و در هر فراخوانی فقط نیاز به دسترسی به یک بلوک است.
فرمت :WORD تعداد صفحه :21
لینوکس چیست؟
لینوکس یک سیستم عامل رایگان سریع پایدار قابل اطمینان و انعطاف پذیر است که بر روی طیف وسیعی از کامپیوتر ها ی شخصی و ایستگاه ها ی کاری سرویس دهنده ها و مسیریاب ها استفاده می شود.
به طور کلی لینوکس یک سیستم عامل چند کاربره است که به دلیل چند کاربره و چند منظوره بودن کاربران متعددی می توانند بطور همزمان به ان متصل شوند. بطور معمول انواع مختلف لینوکس سرویس های متنوعی برای سرویس های وب پست الکترونیک سرویس نام دامنه و... ارائه می دهند که از قدرت کارایی سرعت و پایداری مناسبی برخوردارند.
1-2 تاریخچه ی لینوکس
توروالدز دانشجویی در دانشگاه هلسینکی فنلاند بود که پرو زه ی لینوکس را آغاز کرد .
آن زمان دانشجویان از برنامه ای به نام مینیکس استفاده می کردند . توروالدز سعی کرد سیستم عاملی را ایجاد کند تا قابلیت های بیشتری نسبت به مینیکس ارائه دهد.
یکی از خصوصیات جالب لینوکس در دسترس بودن source code های آن است بدین ترتیب برنامه نویسان از سراسر جهان می توانند برنامه های کاربردی و حتی هسته سیستم عامل را بررسی نموده و آن را ارتقا دهند.
سیستم عامل لینوکس بیشتر قابلیت های سیستم عامل های Windows NT,Unix,Makintash,… را داردو قابلیت های دیگری همانند کارایی دقت سرعت و مقیاس پذیری را ارائه می دهد. لینوکس قابلیت های دیگری در رابطه یا شبکه را داراست و امکان ارتباط شبکه ای با Windiws,Apple را دارد.
اگرچه این سیستم عامل در محیط باز و اینترنت توسعه یافته ولی در آن استاندارد های رسمی یونیکس رعایت شده است. در دهه ی قبل به دلیل ازدیاد نسخه های یونیکس موسسه ی مهندسین الکتریک و الکترونیک استاندارد مستقلی برای یونیکس ارائه نمود . این استاندارد جدید (ANSI) واسط قابل حمل سیستم عامل برای محیط های کامپیوتری یا Posix نام گرفت. این استاندارد عملکرد یک سیستم عامل شبه یونیکس و جزئیاتی همانند فراخوانی های سیستم و واسط ها را تعیین می کند.
Posix یک استاندارد جهانی را تعریف میکند که تمامی نسخه های یونیکس باید آن را رعایت نمایند. البته لینوکس استاندارد دیگری به نام استاندارد سلسله مراتب سیستم فایل یا FHSرا رعایت می نماید . این استاندارد مکان فایل ها و دایرکتور ها را در ساختار فایل لینوکس مشخص می کند.
1-3 نسخه ی تجاری لینوکس
یکی از نسخه های تجاری لینوکس Red Hat است که توسط شرکت Red Hat توزیع شده است که به دلیل نصب آسان و نیز امکانات مدیریتی سیستم مورد توجه قرار گرفته است.آخرین نسخه ی ارائه شده توسط این شرکت نسخه ی Red Hat Linux7 است.
اسامی تعدادی از شرکت هایی نسخه ی تجاری لینوکس را منتشر می کنند عبارتند
از:Caldera,Corel,Slockware,Debian,Mandarke,Turbolinux,Easylinux
بسیاری از شرکت های سخت افزاری نظیر IBM محصولاتی مرتبط با لینوکس را منتشر می کنند.این شرکت اعلام کرده که تمامی محصولاتش را با لینوکس سازگار می کند.همجنین شرکت INTEL اعلام کرده که سرور های اینترنتی مبتنی برسخت افزار INTEL را با سیستم عامل لینوکس عرضه می کند.در حال حاضر بسیاری از شرکت های کامپیوتری دست به فروش کامپیوتر هایی زده اندکه لینوکس را به عنوان سیستم عامل اولیه خود دارند.
از جمله پیشتازان جدید سیستم عامل لینوکس می توان به شرکت هایی چونSUN,ORACLE اشاره کرد. شرکت Borland نیز در تلاش برای ارائه ی محصول کاربردی Interbase روی سیستم عامل لینوکس است.
فرمت :WORD تعداد صفحه :15
ping چیست ؟
ping دستوری است که مشخص میکند که آیا یک کامپیوتر خاص که ما ip یا domain آن را میدانیم، روشن و فعال (Active) هست یا نه. و اینکه اگر فعال باشد مدت زمان رسیدن بستههای tcp/ip از آن کامپیوتر به کامپیوتر ما چقدر است. کاربرد این دستور به صورت زیر است:
ping ip-or-domain که به جای ip-or-domain باید شماره ip و یا domain آن(اگر داشته باشد) را میگذاریم.
مثلا ping sazin.com را در command prompt تایپ کردم و به نتایج زیر رسیدم :
Pinging sazin.com [63.148.227.65] with 32 bytes of data: Reply from 63.148.227.65: bytes=32 time=1402ms TTL=105Reply from 63.148.227.65: bytes=32 time=941ms TTL=105Reply from 63.148.227.65: bytes=32 time=981ms TTL=105Reply from 63.148.227.65: bytes=32 time=851ms TTL=105 Ping statistics for 63.148.227.65: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),Approximate round trip times in milli-seconds: Minimum = 851ms, Maximum = 1402ms, Average = 1043ms
این نتایج نشان میدهد که sazin.com فعال است.
حالا به کامپیوتری با ip شماره 63.148.227.65 (که همان sazin.com است)، ping میکنم. نتایج همان است فقط با تغییراتی در سطر اول. (البته time که معنای مدت زمان رسیدن پکت را میدهد، با توجه به ترافیک شبکه، کم و زیاد خواهد شد). برای ping کردن به این ip ، دستور 63.148.227.65 ping را صادر میکنم :
Pinging 63.148.227.65 with 32 bytes of data: Reply from 63.148.227.65: bytes=32 time=861ms TTL=105Reply from 63.148.227.65: bytes=32 time=852ms TTL=105Reply from 63.148.227.65: bytes=32 time=851ms TTL=105Reply from 63.148.227.65: bytes=32 time=881ms TTL=105 Ping statistics for 63.148.227.65: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),Approximate round trip times in milli-seconds: Minimum = 851ms, Maximum = 881ms, Average = 861ms
فرض کنید که به یک ip که فعال نیست، ping کنیم:
Pinging 217.66.196.1 with 32 bytes of data: Request timed out.Request timed out.Request timed out.Request timed out. Ping statistics for 217.66.196.1: Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms
که نشان میدهد که آن ip در آن لحظه فعال نیست.
البته تمام مطالبی که در بالا ذکر شد، در حالتی است که مستقیما به اینترنت وصل شدهاید و یا اگر از طریق شبکه محلی به اینترنت وصل هستید، شبکه شما به درستی پیکربندی شده باشد. اصولا ping یکی از بهترین دستورات برای پیدا کردن ایراد در شبکه است.