تاریخچه Linux
در سال 1991، یکی از دانشجویان دانشگاه هلسینکی به نام Linus Torvalds که از سیستم عامل موجود ناراضی بود به فکر افتاد که از سیستم عامل برای کارهای خود استفاده کند.
Unix یک سیستم عامل قدرتمند محسوب می شد، ولی قیمت ان گران بود.بنابر این Torvalds به فکر نوشتن نسخه ای از Unix برای خود افتاد.این کار ساده بود.
وی پس از تنظیم قسمت های اصلی برنامه، از طریق اینترنت مجموعه ای از برنامه نویسان با استعداد تشکیل داد و افراد این مجموعه به کمک هم سیستم عامل یا هسته ای به وجود اوردند که امروزه به Linux موسوم است.
یکی از مهمترین تصمیماتی که Torvalds در شروع کار گرفت، توزیع و اشتراک گذاری رایگان کد هسته لینوکس برای افرادی بود که مایل بودند در توسعه این سیستم عامل سهیم باشند.امروزه نیز لینوکس به صورت رایگان و عمدتا از طریق اینترنت توزیع می شود.
کدهای منبع ازاد (open source) برای عموم ساخته می شوند و هر فردی می تواند در ساخت و توسعه ان، بدون زیر پا گذاشتن قانون و تملک انحصاری ان شرکت داشته باشد.هر فردی می تواند کد منبع را مطابق میل خود، حتی برای سرگرمی ،تغییر داده و نسخه ای از ان را منتشر سازد.
ولی انچه که افراد نمی توانند تغییر دهند، جلوگیری از هر شخص دیگر برای استفاده، تغییر و توزیع ان نسخه از نرم افزار است که شما ان را تغییر داده اید.
اعمال این محدودیت که نمی تواند به طور انحصاری به شخص یا شرکتی تعلق داشته باشد باعث پیشرفت های حیرت انگیزی در این صنعت گردید.
در اوایل بهار 1994، اولین نسخه واقعی لینوکس (نسخه 1.0) برای استفاده عموم عرضه گردید.حتی در ان زمان، این سیستم عامل، یک سیستم عامل خوب محسوب می شد و از ویژگی های رایگانی که در سیستم عامل های دیگر به قیمت صدها دلار به فروش می رسید برخوردار بود.
چرا 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 می گویند.
علت تنوع توزیع ها چیست؟
هر یک از توزیع های لینوکس دارای ویژگی های خاصی است که آن را از توزیع دیگر متمایز می کند.
مثلا ممکن است نصب آنها با هم تفاوت داشته باشند (االبته اصول نصب همه لینوکس ها یکسان است) و یا ابزارهای مدیریت گرافیکی تهیه شده با هم متفاوت باشند و یا نسخه برنامه هایی که با یک توزیع خاص ارائه می شوند جدیدتر یا قدیمی تر باشند، محل فایل های پیکربندی آنها متفاوت باشد و یا ممکن است توزیع هایی برای امور خاصی مانند سرویس دهنده، ایستگاههای کاری، کامپیوترهای قدیمی، مدیریت شبکه طراحی شده باشند.
بنابراین هر فرد یا گروه خلاقی می تواند توزیع مخصوص خود را ارائه نماید.
مثلا برخی از توزیع ها برای نصب و پیکربندی آسان بهینه سازی شده اند.
توزیع ها به دو صورت تجاری و رایگان ارائه می شوند.
یعنی در ازای دریافت برخی از آنها باید پول پرداخت شود و برخی از آنها رایگان هستند.
البته به هر حال شما در اکثر موارد قادرید تا یک توزیع لینوکس را چه رایگان و چه تجاری به تعداد نامحدود کپی و توزیع نمایید.
اکثر توزیع های غیر تجاری و برخی از توزیع های تجاری بصورت رایگان از سایت های مربوطه قابل دانلود هستند.
در صورتی که لینوکس را یاد بگیرید، مهم نیست از چه توزیعی استفاده کنید.
چون همه آنها ذاتا شبیه هم هستند و تمام اموری که در یک توزیع انجام می دهید، در توزیع دیگر نیز قابل انجام خواهد بود (شاید به نحو دیگر).
برخی از توزیع ها به دلیل تغییرات و بهینه سازی در توزیع های دیگر ایجاد شده اند که آنها توزیع های مبتنی بر یک توزیع می نامند.
مثلا توزیع لیبرانت یک توزیع مبتنی بر دبیان است.
یا مثلا توزیع فارسی شبدیکس یک توزیع مبتنی بر کناپیکس است که در آن امکانات فارسی اضافه شده است.
توزیع (distribution) گفتنی ها در باره لینوکس بسیار است.در این قسمت به مفهوم انواع توزیع ((distribution های لینوکس خواهیم پرداخت.
یکی از سوالات مطرح برای کاربرانی که قصد کار باسیستم عامل لینوکس را دارند، انتخاب توزیع است و اینکه چرا انواع مختلفی از لینوکس وجود دارد و کدامیک مناسب تر است؟
توزیع چیست؟
سیستم عامل لینوکس به خودی خود یک سیستم عامل آزاد و رایگان است.
درصد کمی از مردم این امکان و توانایی را دارند.
علت تنوع توزیع ها چیست؟
هر یک از توزیع های لینوکس دارای ویژگی های خاصی است که آن را از توزیع دیگر متمایز می کند.
مثلا برخی از توزیع ها برای نصب و پیکربندی آسان بهینه سازی شده اند.
کدام توزیع؟
همانطوری که در بالا اشاره کردیم، هر یک از توزیع ها دارای ویژگی های خاص خود هستند.
به عنوان مثال مراحل نصب یک توزیع بسیار راحت است و توزیع دیگر از نظر پایداری و امنیت مطرح می باشد.
انتخاب توزیع بستگی به شرایط زیر دارد: سطح علمی کاربر مورد استفاده از لینوکس ویژگی های توزیع بازار الف: سطح علمی کاربر: کاربرانی که دارای آشنایی کمتری با لینوکس هستند، جذب توزیع هایی می شوند که دارای ابزارهای پیکربندی گرافیکی است که آنها قادر می سازد راحت تر سیستم شان را اداره و نصب نمایند.
همچنین دارای نرم افزارهای جدیدی باشد که به آنها حداکثر قابلیت ها را ارائه نماید.
از توزیع هایی که برای کاربران تازه کار بسیار مناسب هستند، می توان فدورا، زوزه (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 اجرا می شوند و نیازی به نصب آنها روی هارد دیسک سیستم نمی باشد.
این دیسک ها برای مصارف آموزشی، عیب زدایی و نمایشی مناسب می باشند.
یک مقایسه اجمالی قبل از بحث در باره مفاهیم کلی لینوکس گفتم شاید بد نباشه لینوکس رو با یکی دو تا سیستم عامل دیگر مقایسه کنیم، این جوری شاید بهتر بشه در مورد لینوکس قضاوت کرد!
متن زیر مقایسه بین لینوکس ،ویندوز 2000 و سیستم عامل Open Source دیگری به نام FreeBSD است که البته به نظر میاد نویسندش از طرفدارای سرسخت لینوکس باشه!
مقایسه اجمالی سیستم عاملهای ویندوز 2000، لینوکس و FreeBSD : قابلیت اطمینان Windows 2000: تمام کاربران این نرم افزار با صفحه آبی رنگ مرگ!
در هنگام قفل کردن سیستم آشنا می باشند.
قابلیت اطمینان ضعیف یکی از عمده ترین معایب ویندوز است.
برخی از این ایرادات در ویندوز 2000 رفع گردیده اند.
اما افزایش حجم کدها مشکلات بیشتری از نظر قابلیت اطمینان را به وجود آورده است.
ویندوز 2000 از منابع سیستمی زیادی استفاده می کند و با توجه به معیوب شدن تدریجی حافظه و خراب شدن فایل های سیستمی، استفاده از سیستم برای بیش از چند ماه کار بسیار مشکلی است.
Linux: قابلیت اطمینان Linux مشهور است، سرور ها غالبا برای سال ها فعال می مانند.
اگرچه ورودی/خروجی دیسک در حالت پیش فرض ناهمگام می باشد که قابلیت اطمینان کمتری برای عملیات مبتنی بر تعاملات دارد و ممکن است فایل سیستم را بعد از بروز اشکال در سیستم و یا قطع برق معیوب کند.
اما در کل برای استفاده کنندگان Linux یک سیستم عامل قابل اطمینان محسوب می شود.
FreeBSD: FreeBSD بسیار قدرتمند است(سرور های فعال با دوره های عمر چند ساله دلیل این ادعا است).
سیستم فایلی جدید Soft Updates ورودی و خروجی های دیسک را برای بهترین عملکرد بهینه می کند و در عین حال قابلیت اطمینان را برای کاربردهایی از قبیل پایگاه های داده که بر اساس تعاملات (Transactions) می باشند تضمین می کند.
کارایی Windows 2000: ویندوز برای نرم افزارهای متداول و Desktop ها مناسب است اما قابلیت تحمل بارهای سنگین شبکه را ندارد.
تعداد محدودی از سازمان ها تلاش می کنند تا از آن به عنوان یک سرور اینترنت استفاده کنند.
به عنوان مثال Barnesandnobel.Com که از ویندوز NT استفاده می کند را می توان با پیغامهای خطایی که سرور آنها معمولا تولید می کند شناخت.
حتی سایت Hotmail که متعلق به خود Microsoft (تولید کننده ویندوز) می باشد مدتها از FreeBSD به عنوان سیستم عامل خود استفاده نمود.
Linux: Linux برای بسیاری از کابران به خوبی کار می کند اما با این وجود قابلیت اجرایی تحت بار سنگین شبکه بهینه نیست.
قابلیت اجرایی شبکه تحت هسته لینوکس 2.3 پایین تر از ظرفیت FreeBSD با سخت افزار مشابه می باشد.
با عرضه شدن هسته لینوکس 2.4 که یک حافظه مجازی جدید مشابه FreeBSD می باشد، وضعیت بهبود یافته است.
از آنجاییکه هر دوی این سیستم ها Open Source می باشند، صرفه اقتصادی بالایی دارند به همین دلیل کارکرد Linux وFreeBSD به سرعت در حال همگرایی می باشد.
FreeBSD: FreeBSD انتخاب برتر سیستم برای قابلیت اجرایی بالای کاربردهای شبکه می باشد.FreeBSD از سایر سیستم هایی که روی سخت افزار یکسانی کار می کنند، بهتر و بیشتر کارایی دارد.
یکی از بزرگترین و شلوغ ترین سرورهای اینترنتی به آدرس ftp://ftp.cdrom.com (ftp://ftp.cdrom.com/) از FreeBSD برای خدمات رسانی به بیش از 1.2 تریلیون بایت Download در روز استفاده می کند.
بسیاری از سرورها از FreeBSD به دلیل توانایی آن در پشتیبانی از ترافیک سنگین شبکه با قابلیت اطمینان و اجرای بالا به عنوان OS اصلی خود استفاده می کنند.
امنیت Windows 2000: Microsoft ادعا می کند که محصولاتش ایمن است اما هیچ تضمینی در این مورد ارائه نمی کند.
نرم افزار های آنها قابل بازنگری و بررسی توسط بقیه نمی باشد و از آنجاییکه ویندوز Close source می باشد هیچ راهی برای کاربران به منظور تشخیص و تغییر هیچ یک از مخاطرات امنیتی که معمولا درباره سیستم های ویندوز منتشر می شوند وجود ندارد.
Linux: طبیعت Open source لینوکس به هرکس این اجازه رامی دهد که امنیت کد را مورد بررسی قرار داده و آن را تغییر دهد، اما واقعیت این است که پایگاه کد لینوکس توسط برنامه نویسانی بی تجربه و در مدت زمانی کم تعریف شده است.
هیچ سیاست بازنگری رسمی برای کد وجود ندارد و به همین علت لینوکس هر سال در لیست پیشنهادات CERT برای Unix قرار دارد.
این مسئله با این واقعیت همراه است که شرکت هایی چون Redhat به ارایه خدماتی که به ناامنی مشهور می باشند، گرایش دارند.
با این وجود لینوکس نیز از سیستم دیوار آتش قدرتمند و ابزارهای تشخیص نفوذ فراوانی پشتیبانی می کند.
FreeBSD: FreeBSD برای چندین سال تحت تست مداوم بوده است.
تمامی اجزای سیستم مورد چک و بازبینی مجدد قرار گرفته اند تا اشکالات مرتبط با امنیت کشف شوند.
از آنجاییکه کل سیستم Open source می باشد، امنیت سیستم توسط دیگران قابل بررسی بوده است و این بررسی نیز به طور کامل انجام شده است.
نصب اولیه FreeBSD هنوز از پیشنهاد امنیتی CERT در سال 2000 تبعیت می کند.
FreeBSD همچنین سطوح امنیتی را در سطح هسته (Kernel) سیستم عامل پیاده سازی می کند که بسیار قدرتمند تر از پیاده سازی در سطح اجرا می باشد.
FreeBSD شامل یک سیستم دیوار امنیتی (Firewall) بسیار قدرتمند و ابزارهای متعددی برای جستجوی نفوذها می باشد.
سیستم فایلی Windows 2000: فایل سیستم FAT و NTFS متعلق به Microsoft هردو برای بیش از 15 سال به دلیل عدم سازگاری با سیستم های فایلی 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 اجرا می شود در دسترس می باشد.
دسترسی به این پایگاه توسط یک گروه بزرگ(200 نفر) از برنامه نویسان خبره و ارشد نوشته شد و برای هماهنگی عرضه و پخش بازبینی گردید.
FreeBSD بیشتر برای یافتن جوابهای عالی در اهداف کلی طراحی گردیده تا برای تغییرات سریع به منظور اضافه کردن عملکردی جدید.
پشتیبانی Windows 2000: اگرچه پشتیبانی برای windows 2000 وجود دارد، اما باید خود را برای یک انتظار یک ساعته آماده کنید در حالیکه تضمینی برای یافتن پاسخ وجود ندارد.
به علت طبیعت کد بسته ویندوز هیچ پشتیبانی رایگان غیر رسمی برای آن وجود ندارد و باگها طبق زمانبندی و برنامه ریزی Microsoft تصحیح می شود نه طبق زمانبندی شما.
از آنجاییکه ویندوز 2000 به طور متناوب به روزرسانی نمی شود، شما ممکن است سالها برای تصحیح باگ هایتان منتظر بمانید.
Linux: بسیاری از سازمان ها، پشتیبانی های حرفه ای برای لینوکس ارائه می دهند.
تمامی تامین کنندگان عمده Linux بسته به گستردگی کاری، سطحی از پشتیبانی را ارائه می دهند و بعضی خدمات را به طور کامل ارایه می دهند.
تعداد بسیاری از محل های بحث و گفتگو برای لینوکس وجود دارند که سوالات شما را مجانی پاسخ می دهند.
از گروههای خبری و آدرسهای پستی زیادی نیز به عنوان آخرین پایگاه برای بر طرف کردن مشکلاتتان استفاده کنید.
FreeBSD: موسسات متعددی از جمله BSDi پشتیبانی های گسترده ای از FreeBSD ارائه می دهند.
علاوه بر پشتیبانی حرفه ای، میزان بسیار زیادی از پشتیبانی های غیر رسمی از طریق گروههای خبری Usenet و آدرسهای پستی مانند Question@FreeBsd.org (Question@FreeBsd.org) قابل دسترسی می باشد.
وقتی یک مشکل پیدا می شود معمولا پاسخ دقیق آن ظرف چند ساعت پیدا می شود.
هزینه ها و قیمت های مالکیت Windows 2000: قیمت نسخه سرور ویندوز 2000 تقریبا 700 دلار می باشد.
برنامه های جانبی هزینه ای جداگانه و اضافه دارند.
کاربران معمولا هزاران دلار برای برنامه هایی می پردازند که برروی لینوکس و FreeBSD به طور رایگان در دسترس می باشند.
مستند سازی گران بوده و مستندات بسیار کمی به صورت جاری (Online) در دسترس می باشد.
برای هر کامپیوتر در شبکه مجوزی جداگانه لازم است که به معنای تاخیر در گسترش شبکه و صرف هزینه های اضافه است.
هزینه ابتدایی آموزش برای کارهای مقدماتی سازمانی نسبت Unix کمتر است.
همچنین به کار بیشتری برای ادامه کارآیی سیستم با هر میزان بار کاری نیاز دارد.
Linux: لینوکس رایگان بوده و بسیاری از شرکتها بسته های نرم افزاری تجاری خود را هزینه بسیار پایینی بر روی آن ارائه می دهند.
برنامه ها و مستندات آنها با هزینه ای کم و یا رایگان در دسترس می باشد.
هیچ گونه محدودیتی از نظر اجازه نامه وجود ندارد، بنابراین لینوکس می تواند روی هر تعداد سیستمی که شما می خواهید بدون هرگونه هزینه اضافی نصب گردد.
هزینه کل مالکیت لینوکس بسیار اندک است.
FreeBSD: FreeBSD را می توان به صورت مجانی از Internet گرفت یا می توان آن را به صورت یک مجموعه 4 CD به همراه چندین گیگا بایت نرم افزار کاربردی به ازای 40 دلار خریداری نمود که تمامی اسناد ضروری را نیز در بر می گیرد.
پشتیبانی از FreeBSD به صورت مجانی و یا با قیمت بسیار اندک در دست می باشد.
هیچ گونه گواهینامه و شماره سریالی برای کاربران لازم نیست به همین خاطر می توانید به سرعت کامپیوتر های اضافه ای را به شبکه بیفزایید.
اینها همه با هزینه بسیار پایین مالکیت نرم افزار در دسترس می باشد.
ساختار فایل بسیاری از کاربران به علت عدم اگاهی در مورد نوع اطلاعات و محل ذخیره سازی انها در لینوکس دچار مشکل می شوند.ما سعی خواهیم کرد که شیوه ساز ماندهی فایل ها را در سیستم فایلی این سیستم عامل روشن کنیم.
همچنین مهمترین فایل ها و دایرکتوری ها را ذکر کرده و روش های متفاوت مشاهده محتوای فایل ها ،چگونگی ایجاد، جابه جایی و پاک کردن فایل ها و دایرکتوری ها را شرح خواهیم داد.
مروری کلی بر سیستم فایل در لینوکس: فایلها یک توصیف ساده از سیستم یونیکس که برای لینوکس نیز به کار می رود عبارت است از: "در سیستم یونیکس همه چیز فایل است و اگر فایل نباشد یک فرایند خواهد بود" عبارت فوق صحیح است زیرا تعدادی فایل خاص وجود دارد که تنها فایل محسوب نمی شوند (برای مثال pipes یا sockets ) اما برای سادگی گفته می شود که همه چیز فایل است.سیستم لینوکس نیز درست همانند یونیکس، هیچ تفاوتی بین فایل و دایرکتوری قائل نمی شود، زیرا دایرکتوری همان فایل است که شامل اسامی سایر فایل هاست.برنامه ها، خدمات، متن ها، عکس ها همگی فایل هستند.دستگاه های ورودی و خروجی و سایر دستگاه های دیگر نیز با توجه به سیستم، فایل در نظر گرفته می شوند.
برای مدیریت تمام این فایل ها به شیوه ای منظم، ترجیح می دهیم که به انها همانند درختی مرتب نگاه کنیم.( به عنوان مثال همانند ساختار هارد دیسک در MS_DOS ) شاخه های بزرگتر شاخه های بیشتری دارندو شاخه های انتهایی شامل برگ های درخت یا فایل های معمولی هستند.از حالا از این تصویر درختی استفاده خواهیم کرد، اما در اینده خواهیم دید که این تصویر کاملا صحیح نمی باشد.
مرتب سازی فایل ها اغلب فایل ها تنها فایل هستند که به انها فایل های عادی(Regular files) گفته می شود.این فایل ها شامل داده های معمولی هستند مانند فایل های متنی، فایل ها یا برنامه های اجرایی، ورودی یا خروجی برنامه ها و ....
در سیستم لینوکس به طور معمول فرض می شود که با هر چه که مواجه می شوید فایل است اما موارد استثنایی نیز وجود دارد.
دایرکتوریها: فایل ها و لیست سایر فایل ها.
فایل های خاص: مکانیزمی که برای ورودی و خروجی به کار می رود.اکثر فایل های خاص در /dev قرار دارند.در اینده دراین باره بیشتر بحث خواهیم کرد.
پیوندها: سیستمی است که سبب می شود فایل یا دایرکتوری در چندین قسمت از درخت فایل سیستم قابل مشاهده باشد.در این باره جزئیات بیشتر را خواهیم گفت.
(دامنه) sockets :یکی از انواع فایل های خاص که شبیه socket های TCP/IP است و به وسیله کنترل دسترسی به سیستم فایل، امنیت فرایند های داخلی شبکه را تامین می کند.
Named pipes: کمابیش عملکردی شبیه socket ها دارد و راهی برای ارتباط فرایند ها با یکدیگر بدون استفاده از معنای socket شبکه را شکل می دهد.
نماد مفهوم - فایل عادی d دایرکتوری L پیوند c فایل های خاص s socket p Named paipe برای اینکه همیشه مجبور نباشیم برای یافتن نوع فایل در یک لیست طولانی جستجو کنیم، بیشتر سیستم ها به دنبال نام فایل، پسوندی را شامل یکی از کارکتر های “/=*|@” اضافه می کنند که نشاندهنده نوع فایل می باشد.
شما به عنوان یک کاربر تنها با فایل های ساده، فایل های اجرایی،دایرکتوری ها و پیوندها سر و کار خواهید داشت.فایل های خاص برای ایجاد سیستم به نوع دلخواه است و تنها مدیران سیستم و برنامه نویسان با انها سر و کار خواهند داشت.