سیستم عامل و برنامه نویسی و اخبار

سیستم عامل و برنامه نویسی خلاصه از شیر مرغ تا جون ادمی زاد

سیستم عامل و برنامه نویسی و اخبار

سیستم عامل و برنامه نویسی خلاصه از شیر مرغ تا جون ادمی زاد

Windows یا Linux

سیستم عامل، یک نرم افزار سیستمی بسیار پیچیده است که  بین کاربر و سخت افزار، ارتباط برقرار میکند .به طور قطع هیچ کامپیوتری  بدون سیستم عامل قادر به انجام کار نیست .در واقع مجموعه دستورات سیستم عامل، در ابتدای راه اندازی کامپیوتر، در حافظه بارگذاری شده و به نحوی مدیریت سیستم را در اختیار میگیرد .از ابتدای ظهور کامپیوتر، سیستم عامل نقش موثری در بهبود عملیات کار با سخت افزار ایفا کرده است .امروزه با وجود سیستم عاملهایی مانندWindows , Mac OS , OS/2 , Unix ،  BE OS و از این قبیل، انتخاب بهترین سیستم برای کاربران و مدیران سیستم دشوار شده  است .زیرا هر سیستم عامل بر روی یک ماشین مختص خود اجرا شده، فواید و همچنین مزایای خاص خود را دارد .از دستاوردهای مهم سیستمهای جدید ، سیستمهای مبتنی بر  Multi Task و Multi User و همچنین (Symmetric Multi Processing(SMPاست .در سیستم عاملهای قدیمی مانندDOS ، پردازشها به صورت تک کاره و همچنین تککاربره بود و امکاناتی برای ایجاد برنامههای چند کاره از طرف سیستم عامل تدارک دیده نشده بود و با استفاده از وقفهها نیز،  این کار به صورت دشوار و وقتگیر قابل انجام بود که همین محدودیتها از محبوبیت این سیستم عامل بسیار کاسته است .اما در سیستم عاملهای بزرگتر و پیچیده تر،  کاربر در هر زمان می تواند چندین برنامه را فعال کرده و از آنها به طور همزمان استفاده کند .در این  نوع سیستم عاملها  از منابع و زمانCPU ، به بهترین شکل استفاده خواهد شد.

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

سیستم عامل Unix جد ( Linux) از سالهای گذشته تا امروز، جزء محبوبترین OS ها در جهان بوده و علت آن نیز مشخص است، زیرا در یک محیط توزیع شده با قدرت بالا، به کاربران سرویس مناسبی ارایه می کند .این سیستم عامل توسط کنتامپسون (ken Tompson) ایجاد شد و اولین بار در سال 1970 در شرکت  AT&Tبرای استفاده در محیط چند وظیفه ای، روی کامپیوترهای کوچک  (Mini Computer) و بزرگ  (MainFrame) نصب و راه اندازی شد .سیستم عاملLinux ، نسخه رایگانی از  Unix است که توسط لینوس توروالدز (linus Torvalds) در دانشگاه هلسینکی در کشور فنلاند و با کمک جمعی از برنامه نویسان  Unix طراحی و ساخته شد و به منظور قدردانی از زحمات وی، هسته این سیستم عامل  Linux نامیده شد.

لینوس توروالدز در 28 دسامبر سال 1969 به دنیا آمد و پروژه این سیستم عامل را به عنوان پروژه دکترای خود آغاز کرد .او تنها، اقدام به ایجاد کرنل لینوکس کرد و کاری فراتر از این انجام نداد .در حقیقت به این سیستم عامل  GNU/Linuxگفته میشود، زیرا اساس آن  GNUاست و فقط هسته آن  Linux است GNU .نام پروژهای است که ریچارد استالمن(richard stalman) در سال 1984 شروع به ایجاد آن کرد .در اصل او نیز مانند توروالدز  به فکر تبدیل  Unix به یک سیستم عامل با منبع رایگان  (Free Source) بود .استالمن  حدود 6 سال بر روی این پروژه کار کرد و در سال 1991 کل بدنه یک سیستم عامل ایده آل را ایجاد کرد .ولی او هیچ گاه نتوانست کرنل  این سیستم عامل را بنویسد، زیرا هسته، در سیستم عامل بسیار حائز اهمیت بوده و طراحی آن دشوار است .ادغام بدنه سیستم عامل  استالمن  و هسته توروالدز، محصولی به نام GNU/Linux شد که به  Linuxمعروف است .اولین نسخه کرنل این سیستم عامل که 0.01 بود، جالب نبود و بیشتر جنبه آزمایشی داشت و همچنین حاوی باگهای بسیار زیادی نیز بود .از این رو این نسخه را اولین نسخه نمی نامند .اولین نسخه  Linuxکه کرنل آن 0.02 بود، در 5 اکتبر سال 1991 ارایه شد .در آن زمان نسخه های  Shell این سیستم عامل  Bshell و  Cshellبودند که البته هنوز هم در نسخه های جدیدتر و کاملتری مورد استفاده قرار میگیرند و قابل تعویض هستند .

برای محاسبه شماره نسخه هسته لینوکس، فرض کنید  n.x.y هر کدام عددی هستند که نشاندهنده نسخه کرنل  مربوطه است .اگر  xعددی فرد باشد، نشاندهنده بتا بودن نسخه هسته و اگر  عددی زوج باشد، نشاندهنده آلفا بودن هسته است و  yنیز درجه کیفیت آن نسخه را اعلام میکند .در صورتی که تغییرات باعث متحول شدن هسته شود، n افزایش خواهد یافت .به عنوان مثال نسخه 2.4.2 نشاندهنده آلفا بودن نسخه با درجه کیفیت 2 است .نسخه جدیدتر Bshell که امروزه در خط فرمان  Linux مورد استفاده قرار میگیرد (Bourne Again Shell)  Bash نامیده میشود که دارای بیش از 70صفحه سند است Shell .برنامه ای است که دستورات را از خط فرمان گرفته و اجرا میکند .در حقیقت پوسته یا رابط محیط متنی  (Text) در Linux است که امکان مدیریت وظایف ها و پردازشها و همچنین مدیریت ورودیها و خروجیها را میدهد .بدین ترتیب یک محیط محاورهای برای کاربر است که با سیستم عامل ارتباط دارد .در این سیستم عامل حتی میتوان ازShell Scriptهایی استفاده کرد که مانند فایلهای دستهای (Batch files) در محیط  Dos عمل میکنند .همانطور که اشاره شد در  Linuxمیتوان به دلخواه از انواعShell ها استفاده کرد و تفاوت آنها، فقط از جهت دستورات، مورد استفاده است .برای مثال دستوراتCshell ، شبیه دستورات زبان برنامه نویسی  C است .به همین جهت  اکثر برنامهنویسان این زبان برای راحتی کار، از این پوسته استفاده میکنند .در  Linux اغلب برنامهها با C و C++ نوشته میشوند که کامپایلر این زبان (gcc) وظیفه کامپایل آنها را برعهده دارد .البته کامپایلر زبانهای برنامه نویسی دیگری مانندSmallTalk :، ADA ،Scheme،Lisp ،Pascal ،Java ،Fortran ،Perl ، Modula و  Objectiveنیز در این سیستم عامل وجود دارد .سیستم عامل  Linux یک نرم افزار سیستمی رایگان است و برای مصارف تجاری ، آموزشی، شبکهای و همچنین مصارف شخصی مورد استفاده قرار میگیرد و میتواند روی تمام ماشینها به خصوص PC هایی که از پردازنده سری 80386 و بالاتر از آن استفاده میکنند، نصب و اجرا شود .همچنین تمام قابلیتهای  Unix را در اختیار کاربرانی که با این سیستم عامل آشنایی دارند، قرار میدهد Unix .بر روی ماشینهای بزرگتر و قویتر از PC ها نصب میشد و اکثرا به عنوان کارگزار به کار میرفت .کد  Linux به همراه نرم افزار  آن، کاربر را قادر میسازد تا در عملکرد برنامه ها و همچنین کرنل آن تغییراتی دهد .البته این کار برای  کاربران حرفهای تر که به برنامهنویسی در Linux تسلط کامل دارند، امکانپذیر است .طراحان  Linux مسیر مناسبی را برای رشد این سیستم عامل انتخاب کردهاند، زیرا هر شخصی در هر نقطه از جهان، میتواند  کد منبع Linux را دستکاری کرده و آن را به شکل دلخواه دربیاورد .گاهی بعضی از باگهای کرنل، توسط افراد مختلفی در جهان، تصحیح میشود و این OS با تایید توروالدز  از طریق شرکتهای ارایه کننده،  در نسخه جدیدی به جهانیان ارایه می شود .فایل سیستم لینوکس  EXT2نام دارد و سیستم عاملهای  Xenix و  Unix نیز از این فایل سیستم، پشتیبانی میکنند .البته نسخههای جدیدتر  EXT نیز وجود دارند که با کارایی بهتر درLinux های جدیدتر، مورد استفاده قرار میگیرند .در محیطهای شبکهای، سیستم نقش مهمی ایفا میکند، فایل سیستم  (Network file system)NFS که مختص سیستم عاملهای شبکه ای است، به شما اجازه میدهد در یک محیط شبکه ای، فایلها را به صورت اشتراکی مورد استفاده قرار دهید.

نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد