برگشتن به کامپیوتر

دانلود پایان نامه : مفاهیم شبکه در سيستم عامل UNIX

۵,۵۰۰ تومان

Continue Shopping

توضیحات محصول

دانلود پایان نامه : مفاهیم شبکه در سيستم عامل  UNIX

102ص

 

 

 

 1-3- تاريخچه توسعه و تكامل يونيكس

 

 

 

تاريخچه طولاني يونيكس كه مي توان گفت بخشي از آن خوب و بخشي از آن بد مي باشد , مطالعه اي است در پشتكار و استقامت, تغييرات ناگهاني در جهت توسعه  نرم افزار, و جشن پيروزي تكنولوژي خوب بر روش برخورد هرج و مرج طلبانه اي كه بعضي اوقات صنعت كامپيوتر با محصولات خوب پيش مي گيرد .

به دهه 1960 برمي گرديم , هنگامي كه پيشرفت و توسعه كامپيوتر حوزه كاري تعداد اندكي شركتهاي پيشگام در صنعت و دانشگاههاي پيشرو بود . در  اين دوران اغلب تحقيقات  در آزمايشگاههاي  بل , ام آي تي , و جنرال الكتريك  (  توليدكننده  پيشروي  كامپيوتر  در  آن  زمان) صورت  مي گرفت  . اين  سه  كانون  تحقيقاتي  بر روي سيستم عاملي به   نام

( Multiplexed Information and Computing System) MULTICS براي كامپيوتر بزرگ GE 645 تشريك مساعي كرده بودند . MULTICS پيروزي كاملي نبود, و بنابراين با شايستگي كنار گذاشته شد ( به همين ترتيب تلاشهايي كه بر روي كامپيوترهاي GE صورت گرفت) .

در 1969, كن تامپسون محققي در آزمايشگاههاي بل و يكي از طراحان MULTICS , بازي Space Travel را براي MULTICS نوشته بود . در روزهاي اشتراك زماني, كاربران بايد براي زماني كه بر روي كامپيوتر بزرگ صرف مي كردند, هزينه مي پرداختند . احتمالا Space Travel بازي خوبي بوده است, اما بر روي كامپيوتر بزرگ GE به خوبي اجرا نمي شد و براي بازي 75 دلار هزينه در بر داشت . حتي براي يك آزمايشگاه تحقيقاتي نيز اين مقدار اسراف وحشتناكي محسوب مي شد, بنابراين كن تامپسون و همكارش دنيس ريچي بازي را باز نويسي كردند تا بر روي كامپيوتر DEC PDP-7 كه آن موقع در آزمايشگاههاي بل بدون استفاده بود, اجرا شد . اما به منظور بردن Space Travel به DEC , تامپسون بايد سيستم عامل جديدي براي آن مي نوشت و در همين نقطه بود كه يونيكس امروزي ريشه گرفت .برايان كرنيگان ديگر محقق آزمايشگاههاي بل به اين سيستم عامل, لقب (Uuniplexed Information and computing System) UNICS  را داد . سيستم عامل فوق در اين راه به عنوان يونيكس شناخته شد و به كامپيوترهاي قدرتمند تري منتقل گرديد . در سال 1972, يونيكس به طرز دقيق بر روي 10 كامپيوتر در حال اجرا بود, و در سال بعد تامپسون و ريچي, يونيكس را با زبان برنامه نويسي C بازنويسي كردند . زبان برنامه نويسي C  قابل حمل تر بود و كمك كرد كه يونيكس به سيستم عاملي تبديل شود كه مي توانست بر روي انواع متفاوتي از كامپيوترها اجرا گردد .يونيكس به عنوان يك محصول توسط سرپرست حقوقيش AT&T دچار مشكل شد, چون دولت از معرفي محصولات كامپيوتري به صورت تجاري جلوگيري مي كرد؛ اين موضوع تا پيش از تجزيه AT&T ساير بازيگران را از صحنه بازار كامپيوتر خارج سازد. به دليل تقاضا, AT&T اصلا يونيكس را به دانشگاهها, دولت و بعضي از شركتها بخشيد ( با مطالبه قيمتي اسمي به منظور پرداختن هزينه مواد اوليه ) .

يونيكس در بين سالهاي 1974 تا 1979 در واقع يك محصول تحقيقاتي بود كه در دانشگاهها به منظور مقاصد آموزشي محبوبيت يافته بود . يونيكس 2974 شباهت چنداني به يونيكس 1979 نداشت؛ در طي اين سالها برنامه هاي كمكي و ابزارهاي بسياري به يونيكس افزوده شدند و در همان زمان نيز صنعت كامپيوتر به سرعت توسعه يافت و با اين توسعه, بازار بالقوه يونيكس رشد پيدا مي كرد .

در اين زمان توسعه يونيكس به آزمايشگاههاي بل و AT&T محدود نمي شد . در سال 1974 دانشگاه بركلي كاليفرنيا كار خود را بر روي يونيكس آغاز كرد و Berkeley Software Distribution  را توليد نمود . BSD, شامل بسياري از برنامه هاي كمكي متداول مانند ويرايشگر متن vi و پوسته C بود كه مي توانيم آنها را در يونيكس امروزي پيدا كنيم . تحقيق بر روي BSD تا امروز ادامه دارد .

اما يكي از معماران BSD به نام بيل جوي, سان ميكروسيستمز را پريشان و هيجان زده نمود و در آنجا كار تحقيقات و توسعه خود را بر روي يونيكس پيشرفت داد . امروزه سان يكي از رهبران بازار ايستگاه كاري يونيكس است ( مجموعه SPARCstation اين شركت براي اغلب مردم مترادف ايستگاه كاري يونيكس مي باشد ), و SunOs تقريبا نگارش بسط يافته BSD است .

چندين شركت ديگر نيز از سان سرمشق گرفتند و نگارشهاي مخصوص به خودشان از يونيكس را توسعه دادند . AIX از آي بي ام, Ultrix از  DEC , و HP-UX از هيوات پاكارد, همگي مثالهايي از يونيكس نيمه اختصاصي مي باشند . بعضي از نگارشها, مانند Coherent از Mark Williams Company , واقعا يونيكس نيستند, بلكه اين نگارش فقط نرم افزاري است كه مانند يونيكس واقعي به فرمانهاي يونيكس پاسخ مي دهد .

در سال 1980 هنگامي كه مايكروسافت نگارش كاهش يافته اي از يونيكس به نام زنيكس را منتشر ساخت, يونيكس در دسترس كاربران ريزكامپوترها نيز قرار گرفت . شايد ميكرسافت به دليل شكل دادن اتحادي با آي بي ام مشهورتر باشد . اين اتحاد, ( Disk Operating System ) DOC ميكرسافت را به معروفترين سيستم عامل ريز كامپيوتر تبديل ساخت . مسئوايت توسعه زنيكس به عهده شركت سانتا كروز ( شركتي كه بخشي از آن در مالكيت ميكروسافت است ), گذاشته است و هم اكنون SCO UNIX  محصول مهمي در دنياي يونيكس مي باشد .

پيش از سال 1983, يونيكس وضعيت مطلوبي نداشت زيرا به طور رسمي پشتيباني نمي شد ؛ AT&T هيچ تضميني درباره آينده يونيكس نمي داد . اين وضع در سال 1983 تغيير كرد, AT&T در اين سال نگارش Unix system V Release 1 را منتشر ساخت و قول داد نرم افزاري كه براي اين نگارش ايجاد مي شود با تمام نگارششهاي آينده يونيكس از AT&T سازگار خواهد بود .

اما ساير نگارشهاي يونيكس چه شدند ؟ در فرآيند توسعه يونيكس تعدادي ناسازگاري در نگارشهاي گوناگون به وجود آمده بود كه همين امر طراحي و توسعه يكنواخت نرم افزار را تا حدي مشكل مي ساخت و مي دانيم كه هر چقدر هم سيستم عامل خوب باشد, اگر برنامه هاي كاربردي سودمندي وجود نداشته باشند, هيچ كس تصميم به خريداري و استفاده از سيستم عامل را نخواهد گرفت .

AT&T به همين دليل, اتحاد بزرگ, يعني UNIX System V Release 4 را معرفي نمود. اين جديدترين نگارش يونيكس, محبوب ترين و پراستفاده ترين فرمانهاي SunOs, BSD, UNIX System V Release 3.2 و Xenix را تركيب مي كند .

هم اكنون يونيكس در مالكيت ناول است كه يونيكس را به عنوان بخشي از خريد UNIX System Labs به دست آورد . از آنجايي كه صنعت يونيكس به منظور تعيين استانداردها پيش مي رود, يونيكس فراتر از كنترل يك شركت است . حتي ناول نيز شعبه يونيكس را به گروه صنعتي X/Open واگذار نموده است .

هنوز هم نگارشهاي متفاوتي از يونيكس در سرتاسر بازار شناور هستند . سولاريس از سان را داريم كه براي ايستگاههاي كاري سان و كامپيوترهاي شخصي مبتني بر اينتل در دسترس است . Unixware از ناول را داريم ؛ و بسياري از كاربران نيز در حال كشف قدرت يونيكس با لينوكس هستند, نگارشي با كاري مشابه يونيكس كه به صورت مجاني در دسترس قرار دارد و براي كامپيوترهاي شخصي نوشته شده است .

به عنوان يك كاربر, مدير سيستم يا طراح نرم افزار, نبايد درباره اين نگارشهاي گوناگون و اين كه آيا مشكلاتي براي شما ايجاد خواهند كرد, نگران باشيد . اين نگارشهاي مختلف در يك مورد اشتراك دارند و آن يك مورد پيروي از استانداردها مي باشد . در واقع, امروزه نمي توانيد سيستم عامل, محدودتري پيدا كنيد كه آينده اش در دست تعدادي خاص باشد .

چرا استانداردها اهميت دارند ؟ زيرا استانداردها تضمين مي كنند برنامه اي كاربردي كه براي بك نوع كامپيوتر طراحي مي شود و از استانداردها پيروي مي كند بر روي كامپيوتري از نوع ديگر نيز اجرا خواهد شد . گروههاي مختلفي در شكل دهي استانداردهاي يونيكس شركت دارند : ANSI, UNIX System Labs ( موسسه استانداردهاي ملي آمريكايي كه استانداردهاي POSIX را توسط موسسه مهندسين برق و الكترونيك, IEEE , سرپرستي مي كند ) و X/Open .

 

 

 

 

 

 

2-3- چرا يونيكس ؟

يونيكس به دلايل گوناگوني به سيستم عامل بسيار محبوبي تبديل شده است :

يونيكس قابل حمل است . چون يونيكس به زبان برنامه نويسي C  نوشته مي شود و مقيد به هيچ سخت افزار خاصي نمي باشد, تقريبا به هر نوع كامپيوتري برده شده است . كامپيوترهاي شخصي, آميگاها, مكينتاشها, ايستگاههاي كاري, كامپيوترهاي كوچك, كامپيوترهاي بزرگ, و سوپر كامپيوتر ها از هر نوعي, سيستم عامل يونيكس را اجرا مي كنند .

اين موضوع يعني نرم افزاري كه بر روي كامپيوتري نوشته مي شود , به كامپيوتر ديگري قابل انتقال است . شركتها ديگر به توليد كننده واحدي وابسته نمي باشند . آيا تا كنون عبارت فني سيستمهاي باز را شنيده ايد ؟ از ديدگاههاي مختلفي اين عبارت مترادف يونيكس مي باشد . در خريد سخت افزار و نرم افزاري كه بايستي بتواند در طرح محاسباتي شما مجتمع گردد, آزاد هستيد. بله, هميشه در هنگام آميختن انواع و معماريهاي سخت افزاري متفاوت مشكلاتي وجود خواهد داشت , اما حداقل لزومي ندارد كه تمام تجهيزات خود را از توليدكننده يا فروشنده واحدي خريداري كنيد . چنين توليدكننده اي مي تواند با سخت افزار و نرم افزار اختصاصي, شما را در موقعيت سختي قرار دهد . نمي خرد . در عوض, سيستم عاملي را انتخاب مي كنيد كه قادر به اجراي برنامه هاي كاربردي دلخواهتان باشد . يونيكس برنامه هاي كاربردي قدرتمندي را در تقريبا هر نوع نرم افزار از نشر الكترونيكي تا خوكارسازي اداري را دارا مي باشد .

  • يونيكس سيستم عاملي چندكاره مي باشد . به طور همزمان بيش از يك كاربر مي توانند از سيستم يونيكس استفاده كنند . منابع سخت افزاري با ارزش مانند چاپگرها و سرويس دهنده هاي بزرگ توسط افراد بسياري قابل استفاده مي باشند.
  • يونيكس سيستم عاملي چند وظيفه اي مي باشد . مي توانيد دو وظيفه را به طور همزمان انجام دهيد : به عنوان مثال مي توانيد در هنگامي كه پست الكترونيكي خود را مي خوانيد, در پس زمينه پرونده اي متني را قالب بندي كنيد . در حين آنكه مفهوم چند وظيفه اي احتمالا آن قدري كه براي نظريه دانان كامپيوتر اهميت دارد, براي اغلب كاربران حائز اهميت نيست, اما بعضي از اوقات عملي است كه در اختيارداشتن آن مفيد مي باشد .
    • شبكه سازي در يونيكس تعبيه شده است . امروزه يكي از بزرگترين چالشها, متصل ساختن انواع متفاوتي از كامپيوترها در سرتاسر نواحي كوچك و بزرگ مي باشد . در يونيكس, شبكه سازي در برنامه ها و برنامه هاي كمكي گوناگوني تعبيه مي شود .

 

3-3- سيستم عاملهاي سازگار با يونيكس

برخي از سيستم هاي عامل سازگار با يونيكس در زير معرفي شده اند :

Solaria محصول شركت Sun Microsystems

IRIX  محصول شركت Silicon Graphics

AIX  محصول شركت IBM

HP-UX  محصول شركت Hewlen Packard

SCO-UNIX محصول شركت Santa Cruz Operation.Inc

FreeBSD نسخه رايگان يونيكس محصول دانشگاه بركلي آمريكا

OpenBSD محصول دانشگاه بركلي به همراه كدهاي برنامه آن . اين سيستم عامل با شعار » تلاش براي خلق امن ترين سيستم دنيا « ارائه شده است .

  • Linux سيستم عاملي است به همراه كدهاي رايگان كه ابتدا توسط يك دانشجوي فنلاندي به نام لينوس توروالدز نوشته شد و بعدا توسط شركتهاي مختلفي ( با قيمت ناچيز) توسعه يافت . اسامي شركتهايي كه نسخه هاي لينوكس را توليد و عرضه كرده اند, عبارتند از :

 

ReadhatCaldera
CorelDebian
SlackwareStorm
SuSEYellowDog
Turbo LinuxMandarke

 

  • SunOS نسخه قديمي تر يونيكس كه قبل از سولاريس توسط شركت Sun Microsystem تهيه شده بود و هنوز در برخي از محيطها استفاده مي شود .

تمام اين نسخه هاي متعدد, عظيم و جهاني از تفكر افرادي نشات گرفته اند كه سي يال پيش در شركت AT&T  و در سكوت و بدون حمايتهاي جهاني اقدام به پياده سازي يونيكس كردند . بسياري از آنها امروزه در دوران كهولت هستند و آن گذشته روشن را به دست فراموشي سپرده اند و برخي نيز در نقش پيش كسوتان و پدران معنوي هنوز در پالايش و رشد آن مي كوشند .

سيستم مديريت فايل, فراخواني روالهاي سيستمي, فرامين و برخي از گزينه هاي پيكر بندي در نسخه هاي گوناگون يونيكس به روشهاي متفاوتي پياده سازي شده اند كه اين  تفاوتها ناشي از نياز تكنولوژيك روز بوده است ؛ ولي در مجموع خطوط اصلي اين سيستم عامل توسط دو موسسه تعيين مي شود :

  • گروه توسعه يونيكس در شركت AT&T
  • گروه توسعه يونيكس BSD  در دانشگاه بركلي

سولاريس, HP-UX از خطوط تعيين شده توسط AT&T تبعيت مي كنند در حالي كه FreeBSD , OpenBSD و لينوكس به گروه توسعه BSD گرايش دارند . سيستمهاي عامل AIX و IRIX تلفيقي از نكات برجسته خط مشي هردو گرئه هستند لذا اندكي پيچيده تر به نظر  مي رسند .

 

4-3- معماري يونيكس

يونيكس مانند MS-DOS و OS/2 يك سيستم عامل است : نرم افزاري كه كامپيوتر فيزيكي را كنترل و فرامين ما را تفسير مي كند .

سيستم عامل اعمال بسياري انجام مي دهد :

  • عملا برنامه را اجرا مي كند . هنگامي كه نام پرونده را در خط فرمان وارد مي كنيد, سيستم عامل با بارگذاري برنامه در حافظه كامپيوتر و اجراي آن كنترل را به دست مي گيرد . تنظيمها در سيستم عامل مي توانند در كارآيي واقعي برنامه ها اثر بگذارند .
  • تمام ورودي و خروجي را در كامپيوتر كنترل مي كند . هنگامي كه پرئنده اي را حذف مي كنيد سيستم عامل به كار خود ادامه مي دهد و ركوردي از اين پرونده را حذف مي نمايد . هنگامي كه پرونده اي را ذخيره مي كنيد, سيستم عامل تضمين مي كند كه پرونده فوق بر روي پرونده موجودي نوشته نمي شود . سيستم عامل آنچه را كه بر روي نمايشگر ( يا نمايشگرها ) نمايش مي يابد, كنترل مي كند و امكان مي دهد كه فرامين را توسط صفحه كليد يا ماوس وارد كنيد .

يونيكس اين اعمال را از طريق سه بخش مجزا اما بسيار يكپارچه انجام مي دهد : پوسته و. هسته .

هسته, مسئول تمام اعمال اوليه سيستم عامل مي باشد . هسته در اوليه ترين سطح خود, وظيفه اداره حافظه كامپيوتر و چگونگي تخصيص دستورالعملهاي نرم افزاري به اين حافظه, اجراي تمام فرامين, سرپرستي سيستم پرونده, رسيدگي به خطاها و غيره را به عهده دارد . هنگامي كه كامپيوتر روشن مي شود, هسته شروع به كار مي كند و بدون توجه به نرم افزار يا يا پوسته اي كه اجرا مي كنيد, در حافظه باقي مي ماند . به عنوان يك كاربر, نيازي نيست كه درباره هسته فكر كنيد ؛ تنها بايد بدانيد كه هسته كار مي كند . سيستم پرونده به پيگيري پرونده ها و محل قرارگيري آنها مي پردازد . هر چيزي در يونيكس, خواه پرونده اي كه در يك پردازشگر متن ايجاد مي شود يا راه اندازي كه براي فرستادن دستورالعملها به چاپگر استفاده مي گردد, در پرونده اي شامل مي شود . اگر زمينه داس يا مكينتاش را داشته باشيد, متوجه شباهتهاي زيادي بين زيرفهرستها ي داس و زير فهرستهاي يونيكس خواهيد شد .

پوسته يا مفسر خط فرمان, بخشي از يونيكس است كه عملا در اغلب موارد در حال استفاده از آن خواهيد بود . در اصل پوسته ها دستورالعملها را مي گيرند و آنها را به دستوراتي قابل فهم توسط هسته تبديل مي كنند . هنگامي كه برنامه را اجرا مي كنيد, به پوسته مي گوييد كه برنامه اي از هسته را اجرا نمايد .

 

 

 

 

 

1-4-3- هسته سيستم عامل و پروسه ها

يونيكس از ساختار پيمانه اي ( ماجولار) استفاده كرده است به گونه اي كه در پائين ترين سطح يك هسته با بستر سخت افزار درگير است و تمام برنامه ها به صورت هويتي مستقل حول هسته شكل مي گيرند . در يونيكس هسته خودش يك برنامه اجرايي است كه قبل از هر برنامه ديگر اجرا مي شودو كنترل كل سخت افزار را به دست مي گيرد و دسترسي پروسه ها به سخت افزار فقط از طريق هسته ممكن است . اين هسته در سيستم عامل يونيكس Kernel ناميده شده است . هسته، قلب ( و مغز) سيستم عامل محسوب مي شود و هيچ برنامه اي بدون آن نخواهد توانست از مؤلفه هاي سخت افزاري سيستم استفاده نمايد .

براي شروع اجراي يك برنامه در محيط يونيكس، هسته يك پروسه ايجاد مي نمايد . پروسه برنامه اي در حال اجراست كه دو قسمت زير را در بر مي گيرد :

  • كدهاي اجرايي برنامه
  • حافظه اختصاص داده شده به آن برنامه به عنوان فضاي كاري ( Workspace ) ( تفاوت مفهوم برنامه – program – با پروسه – procces –  از همين نكته ناشي مي شود .)

برنامه – program  – در حال اجرا مثل سرويس دهنده وب و پست الكترونيكي كه فضا و منابع لازم را در اختيار دارند پروسه ناميده مي شوند . پروسه ها را به صورت حبابهايي (يا بادكنك) فرض كنيد كه بر روي هسته سيستم عامل تشكيل مي شوند و تمام هستي و بضاعت خود را از هسته دارند و هر گونه اختلال در هسته آنها را نابود خواهد كرد . هسته با ايجاد پروسه ها اين حبابها را خلق مي كند و بر عملكرد آنها نظارت دارد : CPU را در اختيار آنها قرار مي دهد به سادگي آنها را نابود مي كند .

محيط يونيكس محيطي چند وظيفه اي يا Multitask است و بالطبع در هر لحظه فقط يكي از پروسه ها، CPU را در اختيار دارد . پروسه هاي مختلف به صورت اشتراك زماني ( Time Sharing ) از CPU استفاده مي كنند و هسته به كمك سخت افزار، زمان در اختيار گرفتن CPU توسط يك پروسه را تنظيم و كنترل مي نمايد .

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

دیدگاهها

هیچ دیدگاهی برای این محصول نوشته نشده است.

اولین نفری باشید که دیدگاهی را ارسال می کنید برای “دانلود پایان نامه : مفاهیم شبکه در سيستم عامل UNIX”

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *