دانلود مقاله تاریخچه Linux

word قابل ویرایش
60 صفحه
12700 تومان
127,000 ریال – خرید و دانلود

تاریخچه Linux

مقدمه

تاریخچه Linux
در سال ۱۹۹۱، یکی از دانشجویان دانشگاه هلسینکی به نام Linus Torvalds که از سیستم عامل موجود ناراضی بود به فکر افتاد که از سیستم عامل برای کارهای خود استفاده کند. Unix یک سیستم عامل قدرتمند محسوب می شد، ولی قیمت ان گران بود.بنابر این Torvalds به فکر نوشتن نسخه ای از Unix برای خود افتاد.این کار ساده بود. وی پس از تنظیم قسمت های اصلی برنامه، از طریق اینترنت مجموعه ای از برنامه نویسان با استعداد تشکیل داد و افراد این مجموعه به کمک هم سیستم عامل یا هسته ای به وجود اوردند که امروزه به Linux موسوم است.

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

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

در اوایل بهار ۱۹۹۴، اولین نسخه واقعی لینوکس (نسخه ۱٫۰) برای استفاده عموم عرضه گردید.حتی در ان زمان، این سیستم عامل، یک سیستم عامل خوب محسوب می شد و از ویژگی های رایگانی که در سیستم عامل های دیگر به قیمت صدها دلار به فروش می رسید برخوردار بود.

چرا Linux ؟
لینوکس یک نرم افزار رایگان قابل دسترس می باشد. کد منبع لینوکس که قلب و روح سیستم عامل محسوب می شود نیز در دسترس عموم می باشد.سازمان (Free Software Foundation (FSF در ساخت و تهیه بیشتر نرم افزار های کمکی جهت سهولت بخشیدن به کار و استفاده با لینوکس همکاری می کند.

شرکت .Red Hat, Inc سیستم عامل پایه لینوکس را با نرم افزار های دیگر (که ساخته شرکتهای دیگر و یا خود Red Hat می باشند) ادغام می کند و یک بسته نرم افزاری ارایه می دهد که گاهی اوقات ارزش ان بیش از کلیه نسخه های ارائه شده است. این مجموعه را distribution یا flavor لینوکس می نامند. لینوکس به خودی خود رایگان بوده و هست. کاری که شرکت هایی مثل ردهت انجام می دهند، کامپایل کردن بخش ها و نرم افزارهای مختلف و ارائه آن بصورت یک فرمت قابل توزیع همانند سایر سیستم عاملها است، تا مردم عادی نیز بتوانند از آن استفاده کنند. همچنین با رابطهای گرافیکی کاربر مانند GNOME، توزیع های لینوکس در بین مردم بسیار گسترش یافته است.

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

کاربرد های Linux
از Red Hat Linux می توان به عنوان یک ابزار میز کار، یک سرور شبکه و دروازه اینترنت، یک دیواره اتشین (Firewall)، پایگاه یک سیستم از پیش تعبیه شده (مانند یک VCR هوشمند یا یک ربات) و یا حتی به صورت یک سوپر کامپیوتر چند پردازنده ای استفاده کرد.
ابزار های پر مصرف میز کار : در Red Hat نرم افزار های دیگر مانند مجموعه برنامه های OpenOffice برای سهولت کار کاربران قرار داده شده است. مجموعه برنامه های OpenOffice شامل یک واژه پرداز کامل، صفحه های گسترده، برنامه نمایش محتویات، یک برنامه رسم گرافیک و ابزارهای ساخت صفحات وب می باشد. با نصب Red Hat Linux، مجموعه OpenOffice نصب شده و نشانه های مربوط به برنامه های ان برای سهولت دستیابی به انها در نوار منو قرار داده می شوند.

مطالب مربوط به چند رسانه ای ها: Red Hat Linux برای استفاده شما ابزار های متعدد چند رسانه ای را در یک بسته قرار داده است. به کمک این بسته می توان موسیقی پخش کرده و به منابع چند رسانه ای مانند ایستگاه های رادیو یی در اینترنت گوش داد.در لینوکس میتوان عکس و دیگر اقلام را از دوربین و دستگاه پخش MP3 به کامپیوتر منتقل کرد.
خدمات شبکه ای: Red Hat Linux به عنوان سرور مبتنی بر شبکه نیز به کار می رود.محبوبیت اولیه Linux مدیون ارائه خدمات وب و اشتراک گذاری پرونده ها و چاپگر به طور کامل است.

استفاده از ابزارها و خدمات شبکه ای
سرور وب Apache: بیشتر سرورهای وب در اینترنت، توسط سرور وب Open Source Apache اداره
می شوند. شما می توانید یک سرور وب ساده را با نصب نرم افزار Apache دایر کنید.

OpenSSH : نسخه منبع ازاد secure Shell امکان برقراری یک ارتباط امن در اینترنت را فراهم می سازد. secure Shell به مراتب امن تر از telnet می باشد. تحت OpenSSH می توانید بدون اینکه فرد دیگری قادر به شنیدن مکالمات شما باشد با دیگران ارتباط برقرار کنید.

VPN (Virtual Private Network) : VPN ارتباطات در یک شبکه نا امن، مثل اینترنت را در ساخت شبکه های شخصی، رمز نویسی می کند. وجود بسته های نرم افزار Red Hat Linux و ابزار های ان برای برقراری یک ارتباط امن بین دو کامپیوتر یا شبکه های خصوصی در اینترنت لازم می باشد.
دیواره های اتشین (Firewalls): برای دور نگه داشتن نفوذ گران، Red Hat Linux با ارائه ابزار های حفاظتی به شما امکان می هد تا بتوانید یک دیواره اتشین برای سیستم خود بسازید.از لحاظ اعمال این دیواره اتشین، Red Hat Linux از انعطاف پذیری کاملی بر خوردار است.
موارد فوق نمونه ای از کارهایی است که می توانید تحت Red Hat Linux انجام دهید.
توزیع (distribution)

گفتنی ها در باره لینوکس بسیار است.در این قسمت به مفهوم انواع توزیع ((distribution های لینوکس خواهیم پرداخت.
یکی از سوالات مطرح برای کاربرانی که قصد کار باسیستم عامل لینوکس را دارند، انتخاب توزیع است و اینکه چرا انواع مختلفی از لینوکس وجود دارد و کدامیک مناسب تر است؟

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

درصد کمی از مردم این امکان و توانایی را دارند. بنابراین افراد و شرکت های محدودی علاوه بر جمع آوری این قطعات مجزا، برای مجموعه گردآوری شده توسط خود برنامه هایی نصب و مدیریت نموده تا کاربران کار نصب و مدیریت سیستم عامل به آسانی انجام دهند. به این مجموعه ها که توسط افراد و شرکت های مختلف گردآوری شده است، توزیع یا Distribution لینوکس می گویند. به زبان ساده تر لینوکس یک نسخه‌ی اصل بیشتر ندارد: GNU/Linux. این نسخه‌ی اصلی یا همان kernel است.تعدادی شرکت یا دانشگاه یا هر گروه دیگری یک سری امکانات به این هسته اضافه می‌کنند. مثل محیط گرافیکی و …. به هر کدام از اینها یک Distrbution از لینوکس یا اصطلاحا یک Distro می گویند.
علت تنوع توزیع ها چیست؟

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

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

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

بازار
الف: سطح علمی کاربر: کاربرانی که دارای آشنایی کمتری با لینوکس هستند، جذب توزیع هایی می شوند که دارای ابزارهای پیکربندی گرافیکی است که آنها قادر می سازد راحت تر سیستم شان را اداره و نصب نمایند. همچنین دارای نرم افزارهای جدیدی باشد که به آنها حداکثر قابلیت ها را ارائه نماید. از توزیع هایی که برای کاربران تازه کار بسیار مناسب هستند، می توان فدورا، زوزه (SuSE)، ردهت (RedHat)، مندریک (Mandrake)، لیندوز (Lindows)، لیکوریس (Lycoris)، مپیس (Mepis) و XandarOS را نام برد. کاربرانی که پیشرفته تر هستند و ابزارهای پیکربندی گرافیکی برایشان مهم نبوده، کیفیت و سرعت سیستم برایشان مهم تر است جذب توزیع های حرفه ای مانند دبیان (Debian)، جنتو (Gentoo) و اسلاکور

(Slackware) می شوند. دبیان به سخت نصب شدن معروف بوده و اسلاکور هم هیچ ابزار پیکربندی گرافیکی ندارد. ولی در عوض هر دو این توزیع ها بسیار با کیفیت و پایدار هستند.
ب: مورد استفاده از لینوکس: برخی از توزیع ها مخصوص نیازهای خاصی طراحی شده اند. امروزه از اصلی ترین نیازها می توان به سرویس دهنده ها و ایستگاه های کاری اشاره نمود.البته برخی از توزیع ها مانند ردهت و دبیان این امکان را به شما می دهند که هنگام نصب، نوع مصرف آنها را تعیین کنید و با توجه به انتخاب شما، نرم افزارهای مربوط به آن نصب خواهند شد. برخی از توزیع تنها مخصوص یک نیاز طراحی شده اند و دارای ابزارهای مربوط به آن نیاز می باشند. مثلا لینوکس کناپیکس (Knoppix) که یک توزیع روی میزی است، تنها

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

بالاخره کدام را انتخاب کنیم؟
خوب، در بازار ایران در مورد انتخاب توزیع محدودیت های فراوانی وجود دارد. با توجه به توزیع های موجود در بازار، برای مصارف گفته شده توزیع های مقابل آن توصیه می شوند:
مصرف میزکار (Desktop)، ایستگاه کاری، کاربران تازه کار: زوزه (SuSE)، ردهت (Redhat)، لیبرانت (Libranet) ، فدورا (Fedora )
مصرف میزکار(Desktop)، ایستگاه کاری، کاربران حرفه ای: دبیان (Debian)، اسلاکور (Slackware)، لیبرانت (Libranet) ، فدورا (Fedora )
مصرف سرویس دهنده: دبیان (Debian)، ردهت (Redhat)

دیسک های زنده: کناپیکس (knoppix)، شبدیکس (Shabdix)
توضیح اینکه دیسک های زنده، لینوکس هایی هستند که کاملا از روی CD اجرا می شوند و نیازی به نصب آنها روی هارد دیسک سیستم نمی باشد. این دیسک ها برای مصارف آموزشی، عیب زدایی و نمایشی مناسب می باشند.

یک مقایسه اجمالی
قبل از بحث در باره مفاهیم کلی لینوکس گفتم شاید بد نباشه لینوکس رو با یکی دو تا سیستم عامل دیگر مقایسه کنیم، این جوری شاید بهتر بشه در مورد لینوکس قضاوت کرد!
متن زیر مقایسه بین لینوکس ،ویندوز ۲۰۰۰ و سیستم عامل Open Source دیگری به نام FreeBSD است که البته به نظر میاد نویسندش از طرفدارای سرسخت لینوکس باشه!
مقایسه اجمالی سیستم عاملهای ویندوز ۲۰۰۰، لینوکس و FreeBSD :

قابلیت اطمینان
Windows 2000: تمام کاربران این نرم افزار با صفحه آبی رنگ مرگ! در هنگام قفل کردن سیستم آشنا می باشند. قابلیت اطمینان ضعیف یکی از عمده ترین معایب ویندوز است. برخی از این ایرادات در ویندوز ۲۰۰۰ رفع گردیده اند. اما افزایش حجم کدها مشکلات بیشتری از نظر قابلیت اطمینان را به وجود آورده است. ویندوز ۲۰۰۰ از منابع سیستمی زیادی استفاده می کند و با توجه به معیوب شدن تدریجی حافظه و خراب شدن فایل های سیستمی، استفاده از سیستم برای بیش از چند ماه کار بسیار مشکلی است.
Linux: قابلیت اطمینان Linux مشهور است، سرور ها غالبا برای سال ها فعال می مانند. اگرچه ورودی/خروجی دیسک در حالت پیش فرض ناهمگام می باشد که قابلیت اطمینان کمتری برای عملیات مبتنی بر تعاملات دارد و ممکن است فایل سیستم را بعد از بروز اشکال در سیستم و یا قطع برق معیوب کند. اما در کل برای استفاده کنندگان Linux یک سیستم عامل قابل اطمینان محسوب می شود.

FreeBSD: FreeBSD بسیار قدرتمند است(سرور های فعال با دوره های عمر چند ساله دلیل این ادعا است). سیستم فایلی جدید Soft Updates ورودی و خروجی های دیسک را برای بهترین عملکرد بهینه می کند و در عین حال قابلیت اطمینان را برای کاربردهایی از قبیل پایگاه های داده که بر اساس تعاملات (Transactions) می باشند تضمین می کند.

کارایی
Windows 2000: ویندوز برای نرم افزارهای متداول و Desktop ها مناسب است اما قابلیت تحمل بارهای سنگین شبکه را ندارد. تعداد محدودی از سازمان ها تلاش می کنند تا از آن به عنوان یک سرور اینترنت استفاده کنند. به عنوان مثال Barnesandnobel.Com که از ویندوز NT استفاده می کند را می توان با پیغامهای خطایی که سرور آنها معمولا تولید می کند شناخت. حتی سایت Hotmail که متعلق به خود Microsoft (تولید کننده ویندوز) می باشد مدتها از FreeBSD به عنوان سیستم عامل خود استفاده نمود.

Linux: Linux برای بسیاری از کابران به خوبی کار می کند اما با این وجود قابلیت اجرایی تحت بار سنگین شبکه بهینه نیست. قابلیت اجرایی شبکه تحت هسته لینوکس ۲٫۳ پایین تر از ظرفیت FreeBSD با سخت افزار مشابه می باشد. با عرضه شدن هسته لینوکس ۲٫۴ که یک حافظه مجازی جدید مشابه FreeBSD می باشد، وضعیت بهبود یافته است. از آنجاییکه هر دوی این سیستم ها Open Source می باشند، صرفه اقتصادی بالایی دارند به همین دلیل کارکرد Linux وFreeBSD به سرعت در حال همگرایی می باشد.

FreeBSD: FreeBSD انتخاب برتر سیستم برای قابلیت اجرایی بالای کاربردهای شبکه می باشد.FreeBSD از سایر سیستم هایی که روی سخت افزار یکسانی کار می کنند، بهتر و بیشتر کارایی دارد. یکی از بزرگترین و شلوغ ترین سرورهای اینترنتی به آدرس ftp://ftp.cdrom.com (ftp://ftp.cdrom.com/) از FreeBSD برای خدمات رسانی به بیش از ۱٫۲ تریلیون بایت Download در روز استفاده می کند. بسیاری از سرورها از FreeBSD به دلیل توانایی آن در پشتیبانی از ترافیک سنگین شبکه با قابلیت اطمینان و اجرای بالا به عنوان OS اصلی خود استفاده می کنند.

امنیت

Windows 2000: Microsoft ادعا می کند که محصولاتش ایمن است اما هیچ تضمینی در این مورد ارائه نمی کند. نرم افزار های آنها قابل بازنگری و بررسی توسط بقیه نمی باشد و از آنجاییکه ویندوز Close source می باشد هیچ راهی برای کاربران به منظور تشخیص و تغییر هیچ یک از مخاطرات امنیتی که معمولا درباره سیستم های ویندوز منتشر می شوند وجود ندارد.
Linux: طبیعت Open source لینوکس به هرکس این اجازه رامی دهد که امنیت کد را مورد بررسی قرار داده و آن را تغییر دهد، اما واقعیت این است که پایگاه کد لینوکس توسط برنامه نویسانی بی تجربه و در مدت زمانی کم تعریف شده است. هیچ سیاست بازنگری رسمی برای کد وجود ندارد و به همین علت لینوکس هر سال در لیست پیشنهادات CERT برای Unix قرار دارد. این مسئله با این واقعیت همراه است که شرکت هایی چون Redhat به ارایه خدماتی که به ناامنی مشهور می باشند، گرایش دارند. با این وجود لینوکس نیز از سیستم دیوار آتش قدرتمند و ابزارهای تشخیص نفوذ فراوانی پشتیبانی می کند.

FreeBSD: FreeBSD برای چندین سال تحت تست مداوم بوده است. تمامی اجزای سیستم مورد چک و بازبینی مجدد قرار گرفته اند تا اشکالات مرتبط با امنیت کشف شوند. از آنجاییکه کل سیستم Open source می باشد، امنیت سیستم توسط دیگران قابل بررسی بوده است و این بررسی نیز به طور کامل انجام شده است. نصب اولیه FreeBSD هنوز از پیشنهاد امنیتی CERT در سال ۲۰۰۰ تبعیت می کند. FreeBSD همچنین سطوح امنیتی را در سطح هسته (Kernel) سیستم عامل پیاده سازی می کند که بسیار قدرتمند تر از پیاده سازی در سطح اجرا می باشد. FreeBSD شامل یک سیستم دیوار امنیتی (Firewall) بسیار قدرتمند و ابزارهای متعددی برای جستجوی نفوذها می باشد.

سیستم فایلی
Windows 2000: فایل سیستم FAT و NTFS متعلق به Microsoft هردو برای بیش از ۱۵ سال به دلیل عدم سازگاری با سیستم های فایلی PC-Based قدیمی تر دچار مشکل بوده اند. این سیستم های فایلی برای باگ های زیاد و کاربردهای مخرب سرورهای امروزی طراحی نشده وحتی اعتقادی به طراحی شدن با سیستم عامل چند کاربره و یا شبکه ای نداشتند.

Linux: سیستم فایلیی که در لینوکس به کار می رود،کار خود را با یک روش الحاق سازی غیر همزمان خطرناک انجام می دهد که غالبا یک خرابی بزرگ در سیستم (crash)، سیستم را به طور دائمی تخریب می کند در حالی که در Solaris یا FreeBSD اشکال با میزان کمی از دست دادن اطلاعات تصحیح شده و سیستم قابل بازیابی می باشد.البته چندین نسخه جدید فایل سیستم برای لینوکس وجود دارد که قسمت های زیادی از این اشکالات را حل کرده اند.(مانند Ext3)

FreeBSD: FreeBSD از سیستم فایلی یونیکس (UFS) استفاده می کند که اندکی پیچیده تر از سیستم فایلی Ext2 لینوکس می باشد. این فایل سیستم (UFS) با گزینه Sofupdate، راهی بهتر برای اطمینان از بی نقص بودن و اطلاعات سیستم فایلی ارایه می دهد. این گزینه ورودی/خروجی همزمان را کاهش و ورودی/خروجی غیرهمزمان را افزایش می دهد. چرا که تغییرات برروی یک UFS بسته به ساختار سیستم فایلی و نه به صورت Sector basis (بخش گرا) هماهنگ می شود. این موضوع، هماهنگی همیشگی سیستم فایلی در فاصله دو به روز رسانی را تضمین می کند. سیستم فایلی FreeBSD همچنین نشانه های (Flags) فایلی که باعث محدودیت متجاوزان (شامل نفوذگرها یا کاربران ناخواسته یا …) در تراکنشها می شود را پشتیبانی می کند. تعداد زیادی از این نشانه ها وجود دارند که می توان آنها را به یک فایل اضافه نمود.به عنوان مثال نشانه “غیر قابل تغییر” که هیچ گونه اجازه تغییر یا حذفی در فایل یا دایرکتوری را اجازه نمی دهد.نشانه های متداول دیگر عبارتند از “فقط افزودنی”، “غیر قابل حذف” و “آرشیو”. با تلفیق این امکانات با سطوح امنیتی سطح هسته (Kernel) یک سیستم غیر قابل نفوذ به دست می آید.

 

گردانندگان دستگاه جانبی
Windows 2000 :Microsoft ارتباط بسیار خوبی با تولید کنندگان درایور دارد.غالبا هنگام استفاده از یک درایور بین نسخه های مختلف ویندوز مشکلاتی پیش می آید اما به طور کلی کاربران Windows دسترسی بسیار عالی و سریع به درایور های دستگاه ها دارند.

Linux: جامعه لینوکس عمدا برای تشویق تولید کنندگان به تولید درایور های Open source انتشار درایور های باینری جدا را بر روی این سیستم عامل مشکل می کند.متاسفانه اکثر تهیه کنندگان علاقه ای به انتشار درایور خود به صورت Open source را ندارند و به همین خاطر برای کاربران لینوکس هرگونه استفاده از درایورهای عرضه شده توسط تهیه کننده بسیار مشکل است.

FreeBSD: راه انداز(Bootloader) FreeBSD ، می تواند داریورهای باینری را در زمان راه اندازی بالا بیاورد. این به دیگر تولیدکنندگان درایور اجازه توزیع ماژولهای درایور باینری جدا که قابلیت بارگذاری روی سیستم شامل FreeBSD را دارند، را می دهد. براساس طبیعت متن باز FreeBSD ، ارتقاء درایور دستگاه برای سخت افزار جدید بسیار آسان است. اکثر تولید کنندگان فقط فایل های باینری سازگار با سیستم عامل ویندوز را منتشر می کنند. این بدان معنی است که از زمانیکه دستگاه به بازار می رسد تا زمانی که درایور آن رویFreeBSD در دسترس خواهد بود، ممکن است چند ماه طول بکشد.

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

FreeBSD: تعداد نرم افزارهای تجاری روی FreeBSD به سرعت روبه گسترش است،اما هنوز بسیار پایین تر از آن چیزی است که در مورد ویندوز شاهد آن هستیم. علاوه بر نرم افزارهای موجود،FreeBSD قابلیت اجرای نرم افزارهای موجود روی لینوکس، SCOUnix و BSD/OS را نیز دارد.

نرم افزار های رایگان
Windows 2000: میزان نرم افزارهای رایگان ویندوز بسیار کمتر از آن چیزی است که برای Unix داریم. بسیاری از برنامه های کاربردی ویندوز به عنوان نرم افزار اشتراکی (shareware) بدون کد اصلی برنامه وجود دارند که به هیچ عنوان توسط کاربران قابل شخصی کردن(Customize) ، بهبود، توسعه و اصلاح نیستند.
Linux: تعداد بسیار زیادی از برنامه های رایگان برای لینوکس در دسترس می باشد. تمامی نرم افزارهای GNU روی FreeBSD و Linux قابل اجراست. برخی از برنامه های رایگان بسته به نوع آنها تغییراتی نسبت به نمونه های مشابه دارند چون لینوکس استاندارد مشخص پخش نرم افزاری ندارد.
FreeBSD: نرم افزارهای رایگان بسیار بسیار زیادی برای FreeBSD در دسترس می باشد. FreeBSD شامل هزاران بسته نرم افزاری و مجموعه پخش شده وسیعی می باشد که تمامی آنها همراه با کد اصلی برنامه (Source code) به طور کامل می باشند. بسیاری از مردم FreeBSD را در دسترس ترین و آسانترین کتابخانه قابل استفاده برای بسته های نرم افزاری رایگان می دانند.

 

محیط تولید برنامه
Windows 2000: Windows ابزارهای توسعه کمی داشته و بسیاری از مجموعه ابزار بسیار قدرتمند آن باید به صورت جداگانه خریداری شود و به ندرت قابل سازگاری با دیگر ابزارها می باشند. با این وجود اکثر تولیدکنندگان محیط های توسعه و تولید نرم افزار محصولات خود را برای ویندوز به طور جداگانه و کامل عرضه می کنند.
Linux: لینوکس تمامی ابزارهای تولید FreeBSD را به همراه تفسیرکنندگان ها زبان برنامه نویسی متداولی و تمامی برنامه های GNU از قبیل C/C++ قدرتمند GNU، ویرایشگر Emacs و دیباگر GDB در بر می گیرد. متاسفانه به علت طبیعت بسیار خرد شده (Splinted) لینوکس، برنامه هایی که روی یک سیستم (مثلا Redhat 7.2) می سازید امکان کارکردن روی سیستم دیگری از لینوکس (مثلا Slack ware) را ندارند.

FreeBSD: FreeBSD مجموعه بزرگی از ابزارهای تولید و توسعه برنامه را در بر دارد. سیستم توسعه کاملی از C/C++ (شامل ویرایشگر، و ابزارهای توسعه یونیکس برایJava، HTTP، Perl، Python، Tel/TK، Awk، Sed و …)را به طور رایگان دریافت می کنید که براساس FreeBSD نصب می شوند و تمامی اینها شامل کدهای امنیتی می باشند.

زیر ساخت محیط تولید نرم افزار
Windows 2000: نرم افزار ویندوز یک سیستم عامل Close source است که پاسخی به نیاز بازار بوده تا راه حل یک مسئله تکنیکی. تکنولوژیهای جدید در مقیاس زیاد به درون این سیستم عامل ریخته می شوند بدون اینکه طراحی آنها مناسب یا حتی کامل شده باشند. درباره زیرساخت توسعه نرم افزار چیز زیادی در دست نیست جز همان صفحه آبی رنگ مرگ! که پیام خودش را می دهد.

Linux: لینوکس یک هسته (Kernel) شبیه یونیکس است که باید با GNU ترکیب شود تا یک سیستم عامل کامل را بسازد. لینوکس هیچ سیستم کنترل نسخه ای را مورد استفاده قرار نمی دهد و به همین خاطر تمامی تصحیح خطاها (Bug-Fixes) و توسعه ها باید از طریق پست الکترونیکی و تماس با لیست پستی و در پایان با ارسال به فردی که مجاز به ارائه کد به برنامه اصلی می باشد، انجام پذیرد. بر اساس میزان زیادی کدی که نوشته می شود، امکان کنترل کیفیت تغییرات مربوط برای یک نفر وجود ندارد. به همین دلیل کد بسیار زیادی برای لینوکس وجود دارد که با عجله نوشته شده و هیچ وقت برای یک سیستم عملیاتی امن تر قابل قبول نمی باشد.

FreeBSD: FreeBSD یک سیستم عامل پیشرفته بر اساس یونیکس می باشد. کد منبع کل سیستم در یک پایگاه داده که تحت CVS اجرا می شود در دسترس می باشد. دسترسی به این پایگاه توسط یک گروه بزرگ(۲۰۰ نفر) از برنامه نویسان خبره و ارشد نوشته شد و برای هماهنگی عرضه و پخش بازبینی گردید. FreeBSD بیشتر برای یافتن جوابهای عالی در اهداف کلی طراحی گردیده تا برای تغییرات سریع به منظور اضافه کردن عملکردی جدید.

پشتیبانی
Windows 2000: اگرچه پشتیبانی برای windows 2000 وجود دارد، اما باید خود را برای یک انتظار یک ساعته آماده کنید در حالیکه تضمینی برای یافتن پاسخ وجود ندارد. به علت طبیعت کد بسته ویندوز هیچ پشتیبانی رایگان غیر رسمی برای آن وجود ندارد و باگها طبق زمانبندی و برنامه ریزی Microsoft تصحیح می شود نه طبق زمانبندی شما. از آنجاییکه ویندوز ۲۰۰۰ به طور متناوب به روزرسانی نمی شود، شما ممکن است سالها برای تصحیح باگ هایتان منتظر بمانید.
Linux: بسیاری از سازمان ها، پشتیبانی های حرفه ای برای لینوکس ارائه می دهند. تمامی تامین کنندگان عمده Linux بسته به گستردگی کاری، سطحی از پشتیبانی را ارائه می دهند و بعضی خدمات را به طور کامل ارایه می دهند. تعداد بسیاری از محل های بحث و گفتگو برای لینوکس وجود دارند که سوالات شما را مجانی پاسخ می دهند. از گروههای خبری و آدرسهای پستی زیادی نیز به عنوان آخرین پایگاه برای بر طرف کردن مشکلاتتان استفاده کنید.
FreeBSD: موسسات متعددی از جمله BSDi پشتیبانی های گسترده ای از FreeBSD ارائه می دهند. علاوه بر پشتیبانی حرفه ای، میزان بسیار زیادی از پشتیبانی های غیر رسمی از طریق گروههای خبری Usenet و آدرسهای پستی مانند Question@FreeBsd.org (Question@FreeBsd.org) قابل دسترسی می باشد. وقتی یک مشکل پیدا می شود معمولا پاسخ دقیق آن ظرف چند ساعت پیدا می شود.

هزینه ها و قیمت های مالکیت
Windows 2000: قیمت نسخه سرور ویندوز ۲۰۰۰ تقریبا ۷۰۰ دلار می باشد. برنامه های جانبی هزینه ای جداگانه و اضافه دارند. کاربران معمولا هزاران دلار برای برنامه هایی می پردازند که برروی لینوکس و FreeBSD به طور رایگان در دسترس می باشند. مستند سازی گران بوده و مستندات بسیار کمی به صورت جاری (Online) در دسترس می باشد. برای هر کامپیوتر در شبکه مجوزی جداگانه لازم است که به معنای تاخیر در گسترش شبکه و صرف هزینه های اضافه است. هزینه ابتدایی آموزش برای کارهای مقدماتی سازمانی نسبت Unix کمتر است. همچنین به کار بیشتری برای ادامه کارآیی سیستم با هر میزان بار کاری نیاز دارد.

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

FreeBSD: FreeBSD را می توان به صورت مجانی از Internet گرفت یا می توان آن را به صورت یک مجموعه
۴ CD به همراه چندین گیگا بایت نرم افزار کاربردی به ازای ۴۰ دلار خریداری نمود که تمامی اسناد ضروری را نیز در بر می گیرد. پشتیبانی از FreeBSD به صورت مجانی و یا با قیمت بسیار اندک در دست می باشد. هیچ گونه گواهینامه و شماره سریالی برای کاربران لازم نیست به همین خاطر می توانید به سرعت کامپیوتر های اضافه ای را به شبکه بیفزایید. اینها همه با هزینه بسیار پایین مالکیت نرم افزار در دسترس می باشد.

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

فایلها
یک توصیف ساده از سیستم یونیکس که برای لینوکس نیز به کار می رود عبارت است از: “در سیستم یونیکس همه چیز فایل است و اگر فایل نباشد یک فرایند خواهد بود”
عبارت فوق صحیح است زیرا تعدادی فایل خاص وجود دارد که تنها فایل محسوب نمی شوند (برای مثال pipes یا sockets ) اما برای سادگی گفته می شود که همه چیز فایل است.سیستم لینوکس نیز درست همانند یونیکس، هیچ تفاوتی بین فایل و دایرکتوری قائل نمی شود، زیرا دایرکتوری همان فایل است که شامل اسامی سایر فایل هاست.برنامه ها، خدمات، متن ها، عکس ها همگی فایل هستند.دستگاه های ورودی و خروجی و سایر دستگاه های دیگر نیز با توجه به سیستم، فایل در نظر گرفته می شوند.

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

اغلب فایل ها تنها فایل هستند که به انها فایل های عادی(Regular files) گفته می شود.این فایل ها شامل داده های معمولی هستند مانند فایل های متنی، فایل ها یا برنامه های اجرایی، ورودی یا خروجی برنامه ها و ….
در سیستم لینوکس به طور معمول فرض می شود که با هر چه که مواجه می شوید فایل است اما موارد استثنایی نیز وجود دارد.
دایرکتوریها: فایل ها و لیست سایر فایل ها.
فایل های خاص: مکانیزمی که برای ورودی و خروجی به کار می رود.اکثر فایل های خاص در /dev قرار دارند.در اینده دراین باره بیشتر بحث خواهیم کرد.
پیوندها: سیستمی است که سبب می شود فایل یا دایرکتوری در چندین قسمت از درخت فایل سیستم قابل مشاهده باشد.در این باره جزئیات بیشتر را خواهیم گفت.
(دامنه) sockets :یکی از انواع فایل های خاص که شبیه socket های TCP/IP است و به وسیله کنترل دسترسی به سیستم فایل، امنیت فرایند های داخلی شبکه را تامین می کند.
Named pipes: کمابیش عملکردی شبیه socket ها دارد و راهی برای ارتباط فرایند ها با یکدیگر بدون استفاده از معنای socket شبکه را شکل می دهد.
نماد مفهوم

– فایل عادی
d دایرکتوری
L پیوند
c فایل های خاص
s socket

p Named paipe
برای اینکه همیشه مجبور نباشیم برای یافتن نوع فایل در یک لیست طولانی جستجو کنیم، بیشتر سیستم ها به دنبال نام فایل، پسوندی را شامل یکی از کارکتر های “/=*|@” اضافه می کنند که نشاندهنده نوع فایل می باشد.
شما به عنوان یک کاربر تنها با فایل های ساده، فایل های اجرایی،دایرکتوری ها و پیوندها سر و کار خواهید داشت.فایل های خاص برای ایجاد سیستم به نوع دلخواه است و تنها مدیران سیستم و برنامه نویسان با انها سر و کار خواهند داشت.

انواع وطرحبندی پارتیشن
۲ پارتیشن عمده در سیستم لینوکس وجود دارد:
پارتیشن داده: داده های نرمال سیستم لینوکس، شامل پارتیشن ریشه(root) که حاوی کلیه داده ها برای شروع و اجرای سیستم است.
پارتیشن swap :توسعه حافظه فیزیکی کامپیوتر ، حافظه یدکی روی هارد دیسک.(حافظه مجازی)

اغلب سیستم ها شامل پارتیشن ریشه،۱ یا چند پارتیشن داده و یک یا چند پارتیشن swap می باشند.
سیستم های محیط های ترکیبی ممکن است حاوی پارتیشن هایی برای سایر داده های سیستم باشند، به عنوان مثال پارتیشنی با سیستم فایل FAT یاVFAT برای داده MS Windows .
اکثر سیستم های لینوکس هنگام نصب برای تنظیم نوع پارتیشن از fdisk استفاده می کنند.معمولا این کار به صورت خودکار انجام می شود.گرچه بعضی اوقات ممکن است این قدر خوش شانس نباشید.در این موارد شما نیاز دارید که خودتان نوع پارتیشن ها را تعیین کنید و حتی عمل پارتیشن بندی را نیز خودتان انجام دهید.ابزار fdisk در این مورد به شما کمک خواهد کرد.

جدا از این ها، لینوکس از انواع مختلفی از سیستم های فایلی دیگر نیز حمایت می کند.همانند JFS،NFS،fatXX و بسیاری از سیستم های فایلی که در دیگر سیستم عامل ها در به کار می روند.
پارتیشن استاندارد ریشه(که با یک سلش مجزا نشان داده می شود،/) حدودا ۱۰۰ تا ۵۰۰ مگا بایت فضا اشغال می کند و شامل فایل های پیکر بندی سیستم، اصلی ترین دستورات و برنامه های سرویس دهنده، کتابخانه های سیستم، برخی فضاهای موقتی و دایرکتوری خانه ی(home) کاربر اصلی
یا همان مدیر(administrative) می باشد.یک نصب استاندارد نیازمند حدودا ۲۵۰ مگا بایت فضا برای پارتیشن ریشه است.
فضای swap تنها برای خود سیستم قابل دسترس است، و در حین عملیات عادی سیستم از دید ما پنهان است.swap سیستمی است که همانند سیستم های نرمال یونیکس به شما اطمینان می دهد که هر اتفاقی که بیفتد شما می توانید به کار خود ادامه دهید.به علت این فضای کمکی شما هیچ گاه در لینوکس با پیغام های خطایی مثل حافظه بیش از حد مجاز و یا ابتدا برخی از کارها را متوقف کرده و مجدد امتحان کتید، مواجه نخواهید شد. Swap یا حافظه مجازی مدت زیادی است که مورد قبول سیستم های عامل خارج از دنیای یونیکس واقع شده است.

به طور طبیعی استفاده از حافظه روی هارد کند تر از استفاده از تراشه های واقعی حافظه کامپیوتر است اما داشتن چنین حافظه ای بسیار راحت است.
لینوکس معمولا اندازه swap را ۲ برابر مقدار حافظه فیزیکی حساب می کند.هنگام نصب سیستم باید بدانید که چگونه عمل کنید.مثالی از سیستمی با ۵۱۲ مگا بایت RAM:
اولین امکان: ۱ پارتیشن swap با ۱ گیگ فضا.

دومین امکان: ۲ پارتیشن swap با ۵۱۲ مگا بایت فضا.
سومین امکان: ( با ۲ هارد دیسک) ۱ پارتیشن با ۵۱۲ مگا بایت روی هر دیسک.
انتخاب اخر زمانی که دستگاه های I/O زیادی وجود داشته باشند بهترین نتیجه را می دهد.

برای راهنمایی بیشتر مستندات نرم افزار را مطالعه کنید. برخی کاربرد ها همچون پایگاه داده
(DB:Data Base) ، احتمالا به فضای swap بیشتری احتیاج دارند. برخی دیگر ممکن است از هیچ swap استفاده نکنند.فضای swap همچنین به نگارش هسته تان بستگی دارد.
هسته در بسیاری از توزیع های لینوکس در پارتیشن مجزایی قرار دارد.زیرا مهمترین فایل سیستم محسوب می شود.در این حالت یک پارتیشن /boot نیز وجود دارد که هسته(ها) را شامل می شود.

بقیه فضای هارد دیسک معمولا بین پارتیشن های داده تقسیم می شود، با وجودیکه ممکن است کلیه داده های غیر بحرانی سیستم در یک پارتیشن قرار بگیرند. برای مثال زمانی که نصب استاندارد ایستگاه کاری (workstation) را اجرا می کنید.زمانی که داده های غیر بحرانی در پارتیشن های متفاوت قرار می گیرند، معمولا الگوی زیر اتفاق می افتد:
یک پارتیشن برای برنامه های کاربر (/user)

یک پارتیشن شامل داده های شخصی کاربر (/home)
یک پارتیشن برای ذخیره داده های موقتی مثل چاپ_و mail_ صف ها(/var)
یک پارتیشن برای سومین بخش و نرم افزار اضافی(/opt)

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

نصب ایستگاه کاری یا مشتری(client) اساسا برای استفاده یک شخص است.نرم افزار انتخابی برای نصب این موضوع را منعکس می کند و تاکید اصلی بر روی بسته های عمومی کاربر، مانند زمینه دسکتاپ زیبا، ابزارهای توسعه، برنامه های مشتری برای E_mail، نرم افزار چند رسانه ای، وب و دیگر خدمات است.
همه چیز با هم در یک پارتیشن بزرگ قرار می گیرد، فضای swap با دو برابر ظرفیت RAM نیز اضافه می گردد و ایستگاه کاری شما به طور کلی کامل شده و بیشترین فضای ممکن دیسک را برای استفاده شخصی فراهم می کند.
در سرویس دهنده، داده های سیستم تمایل دارند که از

 

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

ه
یک یا چند پارتیشن شامل داده های سرویس دهنده مانند جداول پایگاه داده،mail های کاربران،ارشیو ftpو غیره.
یک پارتیشن با درخواست ها و برنامه های کاربران
یک یا چند پارتیشن برای فایل های خاص کاربران(دایرکتوری های کاربران)

یک یا چند پارتیشن swap (حافظه مجازی)
خدمات دهنده ها معمولا حافظه بیشتر و در نتیجه فضای swap بیشتری دارند.مطمئنا فرایندهای خدمات دهنده (server) مانند پایگاه داده،به فضای swap بیش از حد معمول احتیاج دارد.برای اجرای بهتر، swap معمولا به پارتیشن های swap متفاوتی تقسیم می شود.
فرمان dfدر یک سیستم در حال اجرا، اطلاعات در مورد پارتیشن ها می تواند با استفاده از دستور
df

(disk full or disk free) نشان داده شود.درلینوکس df نگارش GNU است و –h یا گزینه human readable
را که قابلیت خوانایی را بسیار تقویت می کند، حمایت می کند.توجه داشته باشید که سیستم های یونیکس تجاری معمولا نگارش df و دیگر دستورات خاص خودشان را دارند.رفتار انها معمولا مشابه است، گرچه ابزار عمومی با نگارش GNU ، خصوصیات بهتر و بیشتری دارند.

دستور df تنها اطلاعات پارتیشن های فعال و غیر swap را نمایش می دهد که می تواند شامل پارتیشن های سایر سیستم های شبکه باشد.
درخت سیستم فایل از /(سلش) اغاز می شود.این دایرکتوری تمام زیر دایرکتوری ها و فایل ها را شامل می شود و دایرکتوری ریشه یا به اختصار ریشه سیستم فایل نامیده می شود.
معمولا قبل از دایرکتوری هایی که تنها یک سطح پایین تر از ریشه اند، یک سلش قرار میگیرد تا مکانشان مشخص شود و مانع اشتباه گرفته شدن انها با سایر دایرکتوری ها با اسامی مشابه گردد. همیشه خوب است زمان شروع با یک سیستم جدید، نگاهی به دایرکتوری ریشه بیندازیم:
زیر دایرکتوری های ریشه را در زیر مشاهده می کنید.

/binبرنامه های عمومی که توسط سیستم توزیع شده اند،مدیر سیستم و کاربران.
/bootفایل های راه اندازی و هسته،vmlinuz.و همچنین داده هایGRUB

(GR and Unified Boot Loader).GRUB تلاشی است برای رهایی از راه انداز_بارکننده هایی که امروزه میشناسیم.
/devشامل مراجعاتی به کلیه سخت افزار های فرعی CPU،که به صورت فایل هایی با خصوصیات ویژه ارائه می شوند.
/etcمهمترین فایل های پیکربندی سیستم در این دایرکتوری قرار دارند.داده های این دایرکتوری مشابه با داده های موجود در control panel ویندوز می باشد.
/homeدایرکتوری های home کاربران معمولی.
/initrd(در برخی توزیع ها)اطلاعات برای راه اندازی.این دایرکتوری را پاک نکنید!
/libفایل های کتابخانه ای، شامل فایل های کلیه برنامه هایی که مورد نیاز کاربران و سیستم است.

/lost+foundهمه پارتیشن ها lost_found را در دایرکتوری بالاتر خود دارند.فایل هایی که در حین خرابی ذخیره می شوند، در این محل هستند.
/miscبرای اهداف متفرقه.(miscellaneous)

/mntنقطه اتصال استاندارد (mount point) فایل های خارجی سیستم.برای مثال CD_ROM یا دوربین دیجیتال.
/netبرای قرارگرفتن کلیه فایلهایی که روی سایر کامپیوتر ها در شبکه قرار دارند.
/optنوعا شامل نرم افزار های شخص ثالث (منظور نرم افزارهای تولید شده توسط سایر شرکتهاست.) می باشد.
/procیک سیستم فایل مجازی است که شامل اطلاعاتی راجع به منابع سیستم می باشد.اطلاعات بیشتر راجع به مفهوم فایل ها درproc با وارد کردن دستور man proc به دست می اید.فایل proc.txt سیستم فایل مجازی را با جزئیات بیشتر مطرح می کند.
/rootدایرکتوریhome کاربر مدیر.به تفاوت بین /،دایرکتوری ریشه و /root ، دایرکتوری خانه کاربر ریشه توجه داشته باشید.
/sbinبرنامه های مورد استفاده سیستم و مدیر سیستم.

/tmpفضایی موقت برای استفاده توسط سیستم که پس از راه اندازی مجدد پاک می شود پس از ان برای ذخیره هیچ کاری استفاده نکنید.
/usrبرنامه ها،کتابخانه ها،مستندات و غیره.برای تمامی برنامه های مربوط به کاربران.
/varمخزنی برای تمامی فایل های متغیر و موقت ایجاد شده توسط کاربر.مانند فایل هایی که از اینترنت download شده اند و یا برای نگهداری image از یک CD قبل از رایت شدن ان.
چگونه متوجه می شوید که یک دایرکتوری به کدام پارتیشن تعلق دارد؟
استفاده از دستور df با نقطه (.) به عنوان انتخاب نشان می دهد که دایرکتوری جاری به کدام پارتیشن متعق است و در مورد مقدار فضایی که پارتیشن استفاده می کند اطلاع می دهد.
Sandra:/lib> df –h .
Filesystem size Used Avail Use% Mounted on
/dev/hda7 980M 163M 767M 18% /
به عنوان یک اصل کلی،هر دایرکتوری در زیر دایرکتوری ریشه، در پارتیشن ریشه قرار دارد،مگر اینکه در یک لیست کامل df یک ورودی مجزا داشته باشد.
اصل سیستم فایل
برای بسیاری از کاربران و برای بسیاری از اعمال مدیریت سیستم،کافیست بپذیرند که فایل ها و دایرکتوری ها در یک ساختار درخت مانند مرتب شده اند.اگرچه کامپیوتر چیزی در مورد درخت ها و یا ساختار های درختی نمی داند.
هر پارتیشن، سیستم فایل خاص خودش را دارد.با در نظر گرفتن کلیه سیستم های فایل با هم،می توانیم نظریه ساختار درختی کل سیستم را شکل دهیم، اما کار به همین سادگی هم نیست.در سیستم فایل هر فایل با یک inode نشان داده می شود، که نوعی شماره سریال است که شامل اطلاعاتی راجع به داده های واقعیی است که فایل را ایجاد کرده اند:فایل به چه کسی متعلق است، و در کجای هارد دیسک قرار دارد.
هر پارتیشن مجموعه inode های خودش را دارد.در سیستمی با پارتیشن های متعدد،فایل هایی با شماره inode های یکسان وجود دارند.
هر inode یک ساختار داده را بر روی هارد دیسک شرح می دهد،که ویژگی های فایل را ذخیره کرده،و شامل محل فیزیکی داده های فایل می باشد.زمانی که هارد دیسک برای پذیرفتن منبع داده ها مقدار دهی اولیه می شود،معمولا در حین فرایند نصب سیستم اولیه یا هنگام افزودن دیسک های اضافی به سیستم موجود،تعداد ثابتی از enode ها در پارتیشن ایجاد می شوند.این تعداد بیشترین مقدار فایل ها از هر نوعی(از جمله دایرکتوری ها،فایل های خاص،پیوند ها و…) که می توانند در یک زمان روی پارتیشن باشند، خواهد بود.ما نوعا روی داشتن ۱ inode در فضایی بین ۲ تا ۸ کیلوبایت فضا حساب می کنیم.
زمانی که فایل جدیدی ایجاد شد،یک inode ازاد را اختیار می کند.در این inode اطلاعات زیر موجود
می باشد:
صاحب (owner)و گروه دارنده فایل.
نوع فایل(نرمال،دایرکتوری و…).
اجازه دسترسی به فایل.
تاریخ و ساعت ایجاد،اخرین خواندن و تغییر.
تاریخ و ساعتی که این اطلاعات در inode تغییر کرده اند.
تعداد پیوند ها به این فایل.
اندازه فایل.
آدرسی که محل واقعی داده های فایل را تعریف می کند.
تنها اطلاعاتی که inode شامل ان نمی شود،نام فایل و دایرکتوری می باشد.این اطلاعات در داخل دایرکتوری های خاص فایل ذخیره می شوند.با مقایسه اسامی فایل ها و شماره های inode ها،سیستم قادر به ایجاد ساختار درختی است که کاربر آن را درک می کند.کاربران می توانند شماره inode ها را با استفاده از گزینه –i در دستور ls نمایش دهند.inode ها فضای مجزای مختص خودشان را بر روی دیسک دارند.

این فقط قسمتی از متن مقاله است . جهت دریافت کل متن مقاله ، لطفا آن را خریداری نمایید
word قابل ویرایش - قیمت 12700 تومان در 60 صفحه
127,000 ریال – خرید و دانلود
سایر مقالات موجود در این موضوع
دیدگاه خود را مطرح فرمایید . وظیفه ماست که به سوالات شما پاسخ دهیم

پاسخ دیدگاه شما ایمیل خواهد شد