مفاهیم پایه ای در گنو/لینوکس

مفاهیم پایه ای در گنو/لینوکس

پروژه ای در سال 1984 به نام گنو (GNU) آغاز گردید که یک جنبش نرم افزاری محسوب می شد. این پروژه شامل همکاری برنامه نویسان برای ساخت نرم افزارهای رایگان بود که تنها چیزی که نیاز داشت، یک سیستم عامل رایگان بود.
«لینوس بندیک توروالدز» دانشجوی فنلاندی، کسی بود که به این رویا تحقق بخشید. وی در 25 اوت سال 1991 ساعت 20 و 57 دقیقه موجودیت سیستم عامل لینوکس را اعلام کرد. پنگوئن تاکس نشان دهنده ی خوش شانسی لینوکس است که توروالدز مالک این نهاد است. این سیستم عامل با شعارهایی مانند «Live free or die!» کار خود را آغاز کرد و به دلیل متن باز بودن (یعنی کدهای آن در اختیار همگان قرار می گیرد) توزیع های مختلفی از آن تاکنون منتشر شده است. شش توزیع پارسی از این سیستم عامل به نام های پارسیکس، شبدیکس، سرآمد، کارآمد، لینوکس شریف و فارلیس نیز در میان توزیع ها به چشم می خورد.

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

 

هسته لینوکس
هسته لینوکس بخش مرکزی تشکیل دهنده سیستم عامل گنو/ لینوکس است. بخشی که به طور مستقیم باس خت افزار سیستم شما در ارتباط بوده و از امکان استفاده از قابلیت های سخت افزار را برای کاربر فراهم می کند. هسته لینوکس نخستیم بار توسط لینوس توروالدز دانشجوی فنلاندی در سال 1991 منتشر شد و سپس کاربران شروع به استفاده و توسعه آن کردند و با ترکیب آن به همراه ابزارهای پروژه گنو, سیستم عامل گنو/ لینوکس متولد شد.
ابزارهای پروژه گنو
ابزارهای ایجاد شده توسط پروژه گنو هستند که با ترکیب هسته لینوکس تشکیل یک سیستم عامل کامل موسوم به گنو/ لینوکس را می دهند. برخی از این ابزارها عبارتند از کتابخانه زبانC ، مجموعه کامپایلرهایGCC ، ویرایشگر متن، پوسته فرمان یا مفسر خط فرمان و … این ابزارها توسط پروژه گنو که در سال 1984 توسط ریچارد استالمن آغاز شد، توسعه پیدا می کنند.


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


محیط X
محیطx یا window x ایجاد کننده زیرساختارهای لازم برای برنامه های با رابط کاربری گرافیکی و میز کارهای مختلف است. مثلاً این x است که نحوه کشیدن پنجره ها بر روی صفحه نمایش و یا عملیات ماوس و صفحه کلید را بر روی پنجره ها در سطوح پایین کنترل می کند. با استفاده از این امکانات است که میز کارهای مختلف مانند GNOME و KDE می توانند کار کنند. X برای نخستین بار در سال 1984 در دانشگاه MIT ایجاد شد. توزیع های جدید گنو/ لینوکس از سیستم X.Org که نواده سیستم X اولیه است استفاده می کنند.


میز کارهای گرافیکی
همانطور که در بالا اشاره شد، میز کارهای گرافیکی رابط کاربری هستند که از آن برای تعامل با سیستم استفاده می شود. تعداد زیادی میز کار گرافیکی برای گنو/ لینوکس و سیستم عامل های سازگار با یونکس وجود دارد که مهمترین آنها عبارتند از: KDE, GNOME, Xfce, Ice WM.


ساختار فایل سیستم
سیستم فایل هر کامپیوتر، امکان ذخیره سازی فایل ها و اطلاعات را روی آن فراهم می سازد. هنگامی که از داخل برنامه واژه پرداز خود سندی را ذخیره می کنید، این سیستم فایل است که تعیین می کند سند چگونه و کجا ذخیره شود.
ابزارهای ذخیره سازی مانند فلاپی دیسک ها، دیسک های سخت، درایوهای CD-ROM، درایوهای Zip و … تا قبل از اینکه سیستم عامل سیستم فایل را روی آنها تشکیل دهد، قابل استفاده نیستند.
سیستم فایل های گوناگونی برای سیستم عامل های مبتنی بر یونیسک و گنو/ لینوکس ارائه شده اند که برخی از آنها عبارتند از: ext3, ext2, reiserfs, xfs و غیره. این سیستم فایل ها در جزئیات فنی دارای تفاوت هایی با هم هستند ولی از نظر ساختاری که ایجاد می کنند مشابه بوده و تفاوت چندانی با هم ندارند. دردنیای یونیکس و گنو/ لینوکس، سیستم فایل همانند یک درخت دارای شاخه های گوناگون است. مفهوم درایوهایی مانند C, D که در سیستم عامل هایی مانند داس و ویندوز با آنها برخورد داشته اید، اینجا بی معنی هستند. تمامی پارتیشن ها و دیسک ران ها در محل هایی در زیر شاخه هایی در این درخت متصل می شوند. در بالاترین بخش این درخت ریشه یا/ قرار دادرد و شاخه های بعدی در زیر/ ایجادشده اند. مثلاً bin محل قرار گیری فایل های اجرایی دستورات و برنامه های کاربردی، شاخه etc محل قرار گیری فایل های پیکربندی است، شاخه root پوشه خانگی کاربر ریشه و به همین ترتیب.


پارتیشن
در سیستم فایل سیستم عامل های مبتنی بر گنو/ لینوکس و یونیکس، دیسک های سخت می توانند پارتیشن های متعددی داشته باشند. در این صورت هر پارتیشن دارای یک نقطه اتصال یا mount point می باشد که در آن نقطه به درخت سیستم فایل متصل می شود. مثلاً می توانید اطلاعات کاربران سیستم رادر یک پارتیشن جداگانه ذخیره نموده و نقطه اتصال آن را home تعیین کنید که محل قرارگیری اطلاعات کاربران است و به همین ترتیب.


پارتیشن SWAP
هنگام نصب گنو/ لینوکس، پارتیشنی به نام swap می سازید. کاربرد این پارتیشن چیست؟ این پارتیشن که تحت ساختار سیتسم فایل جایی متصل نمی شود، محل قراگیری حافظه مجازی روی دیسک سخت است، می باشد. بهتر است حجم آنرابرابر یا دو برابر حافظه سیستم خود تعیین نمایید. هنگامی که گنو/ لینوکس با کمبود حافظه مواجه شود و نیاز به تخصیص حافظه بیشتر برای برنامه های کاربردی وجود داشته باشد، از فضای swap می تواند بعنوان حافظه مجازی استفاده کند.


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


فایل های پیکربندی چه هستند؟
یکی از مزیت های سیستم عامل گنو/ لینوکس و سیستم عامل های خانواده یونیکس در این است که تنظیمات برنامه های کاربردی و سرویس دهنده های مختلف در فایل های متنی ساده ذخیره می شوند. به این فایل های متنی ساده فایل های پیکربندی (Configuration Files) اطلاق می گردد. بنابراین در هر شرایطی با یک ویرایشگر متنی ساده نیز می توان اشکالات ایجاد شده در تنظیمات را برطرف کرد و یا تنظیمات جدید را به سرعت و سادگی اضافه نمود. برای کاربرن ماهر انجام برخی از تنظیمات بر روی فایل های پیکربندی ساده تر و سریعتر از استفاده از ابزارهای مدیریتی گرافیکی است.


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

 

دانستن تمام آیتم‌های یاد شده نه‌تنها ضروری بلکه واجب است.

 

۰ ۰ دیدگاه

دیدگاه‌ها

هیچ نظری هنوز ثبت نشده است.
ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی