یارا فایل

مرجع دانلود انواع فایل

یارا فایل

مرجع دانلود انواع فایل

تحقیق/مقاله لینوکس با فرمت ورد(word)

اختصاصی از یارا فایل تحقیق/مقاله لینوکس با فرمت ورد(word) دانلود با لینک مستقیم و پرسرعت .

تحقیق/مقاله لینوکس با فرمت ورد(word)


تحقیق/مقاله لینوکس با فرمت ورد(word)


دانلود با لینک مستقیم

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

اختصاصی از یارا فایل پایان نامه مفاهیم شبکه در سیستم عامل لینوکس unix دانلود با لینک مستقیم و پرسرعت .

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


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

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

صد صفحه

   با فرمت ورد  word  ( دانلود متن کامل پایان نامه  )

 

 

 

 

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

به دهه 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 .

 

متن کامل را می توانید دانلود کنید چون فقط تکه هایی از متن این پایان نامه در این صفحه درج شده است (به طور نمونه)

ولی در فایل دانلودی متن کامل پایان نامه

همراه با تمام ضمائم با فرمت ورد word که قابل ویرایش و کپی کردن می باشند

موجود است


دانلود با لینک مستقیم

پایان نامه کارشناسی کامپیوتر نرم افزار دیوار آتش (فایروال) لینوکس

اختصاصی از یارا فایل پایان نامه کارشناسی کامپیوتر نرم افزار دیوار آتش (فایروال) لینوکس دانلود با لینک مستقیم و پرسرعت .

پایان نامه کارشناسی کامپیوتر نرم افزار دیوار آتش (فایروال) لینوکس


پایان نامه کارشناسی کامپیوتر نرم افزار دیوار آتش (فایروال) لینوکس

  ** دانلود متن کامل با فرمت ورد  word **

پروژه پایان نامه دوره کارشناسی مهندسی کامپیوتر نرم افزار دیوار آتش (فایروال) لینوکس

پروژه پایان نامه دوره کارشناسی

مهندسی کامپیوتر نرم افزار

موضوع:

دیوار آتش مبتنی بر سیستم عامل لینوکس

 

 

 

پیشگفتار:

این قابلیت که بتوان یک کامپیوتر را در هر کجا به کامپیوتری دیگر در جایی دیگر متصل کرد، به منزله یک سکه دو رو است؛ برای اشخاصی که در منزل هستند گردش در اینترنت بسیار لذت بخش است در حالی که برای مدیران امنیت در سازمان ها، یک کابوس وحشتناک به حساب می‎آید.

«دیوار آتش» پیاده سازی مدرنی از روش قدیمی حصارهای امنیتی است: خندقی عمیق دور تا دور قلعه حفر می کردند. این الگو همه را مجبور می‌کند تا برای ورود یا خروج از قلعه، از یک پل متحرک و واحد بگذرند و بتوان همه را توسط پلیس حراست بازرسی کرد. در دنیای شبکه های کامپیوتری، همین راهکار ممکن خواهد بود: یک سازمان می‎تواند هر تعداد شبکه محلی داشته باشد که به صورت دلخواه به هم متصل شده اند، اما تمام ترافیک ورودی یا خروجی سازمان صرفاً از طریق یک پل متحرک (همان دیوار آتش) میسر است.

مطالب این پایان نامه در دو فصل تنظیم شده است. فصل اول به معرفی دیوارهای آتش می پردازد. در این فصل، مطالبی از قبیل اثرات مثبت و منفی دیوار آتش، تواناییها و ناتواناییهای آن، نحوه عملکرد دیوارهای آتش، انواع دیوار آتش، معماری های دیوار آتش و نحوه انتخاب، پیاده سازی و آزمایش یک دیوار آتش بررسی می‎شوند. این فصل،‌ یک دید جامع در مورد نحوه انتخاب دیوار آتش منطبق با سیاست امنیتی سازمان می‎دهد. فصل دوم به پیاده سازی نرم افزاری یک دیوار آتش فیلتر کننده بسته با استفاده از ابزار ارائه شده در سیستم عامل لینوکس، یعنی iptables می پردازد. در این فصل، مطالبی از قبیل نحوه پیکربندی سیستم مبتنی بر لینوکس به عنوان یک مسیریاب، جداول و زنجیرها، قوانین و تطبیق ها و اهداف، پیکربندی iptables، مشخصات فیلترسازی، تعمیم ها، مشخصات هدف، ترکیب NAT با فیلترسازی بسته و نحوه ذخیره و بازیابی دستورات iptables بررسی می‎شوند. این فصل، نحوه نوشتن قوانین دیوار آتش فیلتر کننده بسته را به منظور کنترل مناسب ترافیک ورودی یا خروجی توضیح می‎دهد.

 

 

 

فهرست مطالب

فهرست مطالب…………………………………………………………………………………………. 3

فهرست شکل ها………………………………………………………………………………………. 9

فهرست جدول ها……………………………………………………………………………………… 11

چکیده (فارسی)………………………………………………………………………………………… 12

فصل اول: دیوارهای آتش شبکه………………………………………………. 13

1-1 : مقدمه……………………………………………………………………………………. 14

1-2 : یک دیوار آتش چیست؟…………………………………………………………… 15

1-3 : دیوارهای آتش چه کاری انجام می دهند؟…………………………………. 16

1-3-1 : اثرات مثبت……………………………………………………………….. 16

1-3-2 : اثرات منفی……………………………………………………………….. 17

1-4 : دیوارهای آتش، چه کارهایی را نمی توانند انجام دهند؟………………. 18

1-5 : چگونه دیوارهای آتش عمل می‌کنند؟………………………………………… 20

1-6 : انواع دیوارهای آتش………………………………………………………………. 21

1-6-1 : فیلتر کردن بسته……………………………………………………….. 22

1-6-1-1 : نقاط قوت…………………………………………………….. 24

1-6-1-2 : نقاط ضعف………………………………………………….. 25

1-6-2 : بازرسی هوشمند بسته……………………………………………….. 28

1-6-2-1 : نقاط قوت…………………………………………………….. 31

1-6-2-2 : نقاط ضعف………………………………………………….. 32

1-6-3 : دروازه برنامه های کاربردی و پراکسیها……………………… 32

1-6-3-1 : نقاط قوت…………………………………………………….. 35

1-6-3-2 : نقاط ضعف………………………………………………….. 36

1-6-4 : پراکسیهای قابل تطبیق……………………………………………….. 38

1-6-5 : دروازه سطح مداری………………………………………………….. 39

1-6-6 : وانمود کننده ها…………………………………………………………. 40

1-6-6-1 : ترجمه آدرس شبکه………………………………………. 40

1-6-6-2 : دیوارهای آتش شخصی…………………………………. 42

1-7 : جنبه های مهم دیوارهای آتش کارآمد………………………………………. 42

1-8 : معماری دیوار آتش………………………………………………………………… 43

1-8-1 : مسیریاب فیلترکننده بسته……………………………………………. 43

1-8-2 : میزبان غربال شده یا میزبان سنگر……………………………… 44

1-8-3 : دروازه دو خانه ای……………………………………………………. 45

1-8-4 : زیر شبکه غربال شده یا منطقه غیرنظامی…………………….. 46

1-8-5 : دستگاه دیوار آتش…………………………………………………….. 46

1-9 : انتخاب و پیاده سازی یک راه حل دیوار آتش…………………………….. 48

1-9-1 : آیا شما نیاز به یک دیوار آتش دارید؟………………………….. 48

1-9-2 : دیوار آتش، چه چیزی را باید کنترل یا محافظت کند؟…….. 49

1-9-3 : یک دیوار آتش، چه تأثیری روی سازمان، شبکه و کاربران

خواهد گذاشت؟…………………………………………………………… 50

1-10 : سیاست امنیتی ……………………………………………………………………. 51

1-10-1 : موضوعات اجرایی…………………………………………………… 52

1-10-2 : موضوعات فنی……………………………………………………….. 53

1-11 : نیازهای پیاده سازی…………………………………………………………….. 54

1-11-1 : نیازهای فنی……………………………………………………………. 54

1-11-2 : معماری………………………………………………………………….. 54

1-12 : تصمیم گیری……………………………………………………………………….. 55

1-13 : پیاده سازی و آزمایش…………………………………………………………. 56

1-13-1 : آزمایش، آزمایش، آزمایش!………………………………………. 57

1-14 : خلاصه ………………………………………………………………………………. 58

فصل دوم: پیاده سازی دیوار آتش با استفاده از iptables………………. 60

2-1 : مقدمه……………………………………………………………………………………. 61

2-2 : واژگان علمی مربوط به فیلترسازی بسته………………………………….. 62

2-3 : انتخاب یک ماشین برای دیوار آتش مبتنی بر لینوکس…………………. 65

2-4 : به کار بردن IP Forwarding و Masquerading……………………………. 65

2-5 : حسابداری بسته…………………………………………………………………….. 70

2-6 : جداول و زنجیرها در یک دیوار آتش مبتنی بر لینوکس……………….. 70

2-7 : قوانین…………………………………………………………………………………… 74

2-8 : تطبیق ها……………………………………………………………………………….. 75

2-9 : اهداف…………………………………………………………………………………… 75

2-10 : پیکربندی iptables…………………………………………………………………. 76

2-11 : استفاده از iptables……………………………………………………………….. 77

2-11-1 : مشخصات فیلترسازی……………………………………………… 78

2-11-1-1 : تعیین نمودن آدرس IP مبدأ و مقصد…………….. 78

2-11-1-2 : تعیین نمودن معکوس………………………………….. 79

2-11-1-3 : تعیین نمودن پروتکل……………………………………. 79

2-11-1-4 : تعیین نمودن یک رابط…………………………………. 79

2-11-1-5 : تعیین نمودن قطعه ها………………………………….. 80

2-11-2 : تعمیم هایی برای iptables (تطبیق های جدید)………………. 82

2-11-2-1 : تعمیم های TCP………………………………………….. 82

2-11-2-2 : تعمیم های UDP…………………………………………. 86

2-11-2-3 : تعمیم های ICMP……………………………………….. 86

2-11-2-4 : تعمیم های تطبیق دیگر…………………………………. 87

2-11-3 : مشخصات هدف……………………………………………………… 92

2-11-3-1 : زنجیرهای تعریف شده توسط کاربر…………….. 92

2-11-3-2 : هدف های تعمیمی ………………………………………. 92

2-11-4 : عملیات روی یک زنجیر کامل……………………………………. 94

2-11-4-1 : ایجاد یک زنجیر جدید………………………………….. 94

2-11-4-2 : حذف یک زنجیر …………………………………………. 94

2-11-4-3 : خالی کردن یک زنجیر ………………………………… 95

2-11-4-4 : فهرست گیری از یک زنجیر ………………………… 95

2-11-4-5 : صفر کردن شمارنده ها………………………………. 95

2-11-4-6 : تنظیم نمودن سیاست…………………………………… 95

2-11-4-7 : تغییر دادن نام یک زنجیر…………………………….. 96

2-12 : ترکیب NAT با فیلترسازی بسته……………………………………………. 96

2-12-1 : ترجمه آدرس شبکه…………………………………………………. 96

2-12-2 : NAT مبدأ و Masquerading………………………………………. 98

2-12-3 : NAT مقصد……………………………………………………………. 99

2-13 : ذخیره نمودن و برگرداندن قوانین…………………………………………. 101

2-14 : خلاصه……………………………………………………………………………….. 102

نتیجه گیری……………………………………………………………………………………………… 105

پیشنهادات……………………………………………………………………………………………….. 105

 

فهرست شکل ها

فصل اول

شکل 1-1 : نمایش دیوار آتش شبکه………………………………………………….. 15

شکل 1-2 : مدل OSI……………………………………………………………………….. 22

شکل 1-3 : دیوار آتش از نوع فیلترکننده بسته……………………………………. 23

شکل 1-4 : لایه های OSI در فیلتر کردن بسته…………………………………… 23

شکل 1-5 : لایه های OSI در بازرسی هوشمند بسته………………………….. 28

شکل 1-6 : دیوار آتش از نوع بازرسی هوشمند بسته…………………………. 30

شکل 1-7 : لایه مدل OSI در دروازه برنامه کاربردی…………………………. 33

شکل 1-8 : دیوار آتش از نوع دروازه برنامه کاربردی……………………….. 34

شکل 1-9 : مسیریاب فیلتر کننده بسته……………………………………………….. 44

شکل 1-10 : دیوار آتش میزبان غربال شده یا میزبان سنگر………………… 45

شکل 1-11 : دروازه دو خانه ای………………………………………………………. 46

شکل 1-12 : زیر شبکه غربال شده یا منطقه غیرنظامی……………………….. 46

شکل 1-13 : دستگاه دیوار آتش……………………………………………………….. 47

فصل دوم

شکل 2-1 : یک سیستم مبتنی بر لینوکس که به عنوان یک مسیریاب به

جلو برنده پیکربندی شده است…………………………………………………… 67

شکل 2-2 : تغییر شکل شبکه 10.1.2.0 به عنوان آدرس 66.1.5.1   IP……. 69

شکل 2-3 : مسیر حرکت بسته شبکه برای filtering…………………………….. 72

شکل 2-4 : مسیر حرکت بسته شبکه برای Nat…………………………………… 73

شکل 2-5 : مسیر حرکت بسته شبکه برای mangling…………………………… 73

 

فهرست جدول ها

فصل اول

فصل دوم

جدول 2-1 : جداول و زنجیرهای پیش فرض……………………………………… 71

جدول 2-2 : توصیف زنجیرهای پیش فرض………………………………………. 71

جدول 2-3 : هدف های پیش فرض……………………………………………………. 76

جدول 2-4 : حالت های ردیابی ارتباط……………………………………………….. 91

جدول 2-5 : سطوح ثبت وقایع………………………………………………………….. 93

جدول 2-6 : ماجول های کمکی NAT………………………………………………… 97

 

چکیده:

تأمین امنیت شبکه، بخش حساسی از وظایف هر مدیر شبکه محسوب می‎شود. از آنجاییکه ممکن است محافظت های متفاوتی موردنیاز باشد، لذا مکانیزم های گوناگونی هم برای تأمین امنیت در شبکه وجود دارد. یکی از این مکانیزم ها استفاده از دیوار آتش می‎باشد. مدیر شبکه باید درک بالایی از انواع دیوار آتش، نقاط قوت و ضعف هر نوع، حملات تهدید کننده هر نوع، معماری های دیوار آتش، تأثیرات آن بر شبکه و کاربران، سیاست امنیتی سازمان و همچنین نیازهای فنی پیاده سازی داشته باشد تا بتواند راه حل مناسب را انتخاب و به درستی پیاده سازی نماید و سپس آنرا مورد آزمایش قرار دهد. در همین راستا، سیستم عامل «Linux» برای پیاده سازی نرم افزاری دیوار آتش فیلتر کننده بسته، ابزاری را به نام «iptables» در اختیار کاربر قرار می‎دهد تا با استفاده از دستورات این ابزار بتواند قوانین و فیلترهای موردنیاز را برای کنترل مطلوب دسترسی، خواه از داخل شبکه به خارج و خواه بالعکس، پیکربندی نماید.

 

متن کامل را می توانید دانلود نمائید چون فقط تکه هایی از متن پایان نامه در این صفحه درج شده (به طور نمونه)

ولی در فایل دانلودی متن کامل پایان نامه

همراه با تمام ضمائم (پیوست ها) با فرمت ورد word که قابل ویرایش و کپی کردن می باشند

موجود است

 

دانلود با لینک مستقیم

دانلود پایان نامه کارشناسی رشته کامپیوتر با موضوع لینوکس

اختصاصی از یارا فایل دانلود پایان نامه کارشناسی رشته کامپیوتر با موضوع لینوکس دانلود با لینک مستقیم و پرسرعت .

دانلود پایان نامه کارشناسی رشته کامپیوتر با موضوع لینوکس


دانلود پایان نامه کارشناسی رشته کامپیوتر با موضوع لینوکس

تعداد صفحات پایان نامه: 200 صفحه

در این پست می توانید متن کامل این پایان نامه را  با فرمت ورد word دانلود نمائید:

 

 

 

 

 مفاهیم پایه ای

تاریخچه لینوکس

آغاز داستان

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

و این چیزی نبود جز فقدانی عمیق در حیطه سیستم های عامل.

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

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

بنظر میرسید این راه حل به صورت سیستم عامل MINIX ارائه شد. این سیستم عامل، که از ابتدا توسط اندرو اس. تاننباوم (Andrew S. Tanenbaum) پروفسور هلندی، نوشته شده بود به منظور تدریس عملیات داخلی یک سیستم عامل واقعی بود. این سیستم عامل برای اجرا روی پردازنده های 8086 اینتل طراحی شده بود و بزودی بازار را اشباع کرد.

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

و یکی از آنها لینوس توروالدز (Linus Torvalds) نام داشت.

 کودک جدید در افق

در سال 1991، لینوس بندیکت توروالدز (Linus Benedict Torvalds) دانشجوی سال دوم علوم کامپیوتر دانشگاه هلسینکی فنلاند و یک هکر خود آموخته بود. این فنلاندی 21 ساله، عاشق وصله پینه کردن محدودیت هایی بود که سیستم را تحت فشار قرار میدادند. ولی مهمترین چیزی که وجود نداشت یک سیستم عامل بود که بتواند نیازهای حرفه ای ها را براورده نماید. MINIX خوب بود ولی فقط یک سیستم عامل مخصوص دانش آموزان بود و بیشتر به عنوان یک ابزار آموزشی بود تا ابزاری قدرتمند برای بکار گیری در امور جدی.

در این زمان برنامه نویسان سرتاسر دنیا توسط پروژه گنو (GNU) که توسط ریچارد استالمن (Richard Stallman) آغاز شده بود، تحریک شده بودند. هدف این پروزه ایجاد حرکتی برای فراهم نمودن نرم افزارهای رایگان و در عین حال با کیفیت بود. استالمن خط مشی خود را از آزمایشگاه معروف هوش مصنوعی دانشگاه MIT با ایجاد برنامه ویرایشگر emacs در اواسط و اواخر دهه 70 آغاز نمود. تا اوایل دهه 80، بیشتر برنامه نویسان نخبه آزمایشگاههای هوش مصنوعی MIT جذب شرکتهای نرم افزاری تجاری شده بودند و با آنها قرارداد های حفظ اسرار امضا شده بود. ولی استالمن دیدگاه متفاوتی داشت. وی عقیده داشت برخلاف سایر تولیدات، نرم افزار باید از محدودیت های کپی و ایجاد تغییرات در آن آزاد باشد تا بتوان روز به روز نرم افزارهای بهتر و کارآمد تری تولید نمود.

با اعلامیه معروف خود در سال 1983، پروژه GNU را آغاز کرد. وی حرکتی را آغاز کرد تا با فلسفه خودش به تولید و ارائه نرم افزار بپردازد. نام GNU مخفف GNU is Not Unix است. ولی برای رسیدن به رویای خود برای ایجاد یک سیستم عامل رایگان، وی ابتدا نیاز داشت تا ابزارهای لازم برای این کار را ایجاد نماید. بنابراین در سال 1984 وی شروع به نوشتن و ایجاد کامپایلر زبان C گنو موسوم به GCC نمود. ابزاری مبهوت کننده برای برنامه نویسان مستقل. وی با جادوگری افسانه ای خود به تنهایی ابزاری را ایجاد نمود که برتر از تمام ابزارهایی که تمام گروههای برنامه نویسان تجاری ایجاد کرده بودند قرار گرفت. GCC یکی از کارآمد ترین و قویترین کامپایلرهایی است که تا کنون ایجاد شده اند.

تا سال 1991 پروزه GNU تعداد زیادی ابزار ایجاد کرده بود ولی هنوز سیستم عامل رایگانی وجود نداشت. حتی MINIX هم لایسنس شده بود. کار بر روی هسته سیستم عامل گنو موسوم به HURD ادامه داشت ولی به نظر نمی رسید که تا چند سال آینده قابل استفاده باشد.

این زمان برای توروالدز بیش از حد طولانی بود…

 لینوکس در جهان سوم

ورود لینوکس به کشورهای جهان سوم تحولی ایجاد نموده است. قبل از وجود لینوکس کشورهای جهان سومی در زمینه کامپیوتر در سطح بسیار پایین تری قرار داشتند. هزینه سخت افزارها بسیار پایین آمده بود ولی هزینه نرم افزار برای این گونه کشورها همچنان کمر شکن بود. این امر باعث شد تا در بسیاری از این کشورها کپی غیر مجاز نرم افزارها گسترش پیدا کند که باعث میلیاردها دلار خسارت سالیانه میشود. یکی از عمده ترین دلایل این کار پایین بودن درآمد سرانه در این کشورهاست. هنگامی که مجموع درآمد سرانه سالیانه بیش از 200 تا 300 دلار نیست، هیچگاه امکان خرید یک سیستم عامل 100 دلاری وجود نخواهد داشت.

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

امروزه در کشورهای آسیایی، آفریقایی و آمریکای لاتین استفاده از لینوکس و نرم افزارهای بازمتن گسترش فراوانی یافته و با استفاده از خصلت ذاتی تغییر پذیری لینوکس، برای استفاده از زبانهای ملی این کشورها سفارشی شده است. امروزه مستندات لینوکس به اکثر زبانهای زنده جهان ترجمه شده اند.

از میزکار تا ابرکامپیوترها

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

 داستان ادامه دارد

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

 توکس پنگوئن : نشان عزیز لینوکس

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

 راهنمای کامل خط فرمان لینوکس

ظاهر پوسته فرمان

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

[alan@memphis home]$

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

تایپ دستورات در محیط پوسته فرمان بسیار آسان میباشد. برای اینکه با محیط پوسته فرمان آشنا شوید، سعی کنید با دستوراتی که در زیر بررسی میشوند، تمرین کنید.

 نکته: در صورتی که هنگام راه اندازی سیستم، بجای پوسته فرمان محیط گرافیکی لینوکس اجرا میشود، برای تایپ فرامین پوسته باید از Terminal یا Konsole استفاده کنید. میتوانید در منوی run، فرمان xterm را نیز تایپ کنید.

 در مثالهای زیر علامتهای $ و # نشان دهنده اعلان فرمان میباشند. پس تایپ هر فرمان باید کلید Ebter را فشار دهید و خروجی آن فرمان در خطوط پس از آن نمایش داده خواهد شد.

 بررسی نشست ورود به سیستم

هنگامی که وارد سیستم لینوکس میشوید، برای سیستم دارای یک هویت خاص هستید. این هویت شامل نام کاربری شما، نام گروه شما، شماره کاربری شما و شماره گروه شماست. همچنین لینوکس اطلاعات زمان ورود به سیستم، مدت حضور، مدت بیکاری و محل ورود شما به سیستم را نگهداری میکند. (حواستان را جمع کنید!)

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

$ id

uid=500(Alan) gid=500(Alan) groups=500(Alan)

 خروجی فرمان نشان میدهد که نام کاربر Alan بوده که عضو گروه Alan است و شماره های کاربری و گروه آن ۵۰۰ میباشد.

با استفاده از فرمان who میتوانید اطلاعاتی در مورد نشست جاری بدست آورید. در زیر این فرمان به همراه خروجی آن نشان داده شده است:

$ who

Alan :0 Apr 23 08:46

 همچنان که می بینید، در خروجی نام کاربر جاری، زمان و تاریخ ورود به سیستم نمایش داده شده است.

 بررسی دایرکتوری ها و مجوزهای فایلها

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

 $ pwd

/usr/bin

 در مثال بالا مسیر جاری usr/bin است. برای یافتن مسیر دایرکتوری خانگی خود، فرمان زیر را تایپ کنید:

$ echo $HOME

/home/Alan

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

$ cd

 این فرمان، شما را به دایرکتوری خانگی تان باز می گرداند. خوب بد نیست ببینیم که چه چیزهایی در دایرکتوری خانگی وجود دارد. برای نمایش محتویات یک دایرکتوری، باید از فرمان ls استفاده نمایید. در صورتی که در دایرکتوری خانگی خود قرار ندارید میتوانید مسیر کامل آنرا تایپ کنید. در صورتی که فرمان ls را بدون هرگونه دایرکتوری تایپ کنید، محتویات مسیر جاری نمایش داده خواهد شد. گزینه a تمام فایلهای مخفی را نمایش میدهد و گزینه l برای نمایش جزئیات کامل فایلها بکار میرود. هنگام تایپ یک فرمان میتوانید گزینه های متعدد آنرا کنار هم تایپ کنید.در زیر این دستور به همراه یک خروجی مثال نشان داده شده است:

$ ls -la /home/Alan

total 46740

drwx—— 47 Alan Alan 4096 Apr 23 11:09 .

drwxr-xr-x 8 root root 4096 Mar 12 17:51 ..

-rw——- 1 Alan Alan 616581 Apr 18 23:29 779-red_hat_linux_9.tar.gz

drwxr-xr-x 2 Alan Alan 4096 Mar 20 11:15 .acrobat

drwx—— 2 Alan Alan 4096 Mar 20 11:15 .adobe

drwx—— 2 Alan Alan 4096 Mar 12 17:04 .adonthell

drwxr-xr-x 2 Alan Alan 4096 Feb 14 13:19 .anjuta

-rw——- 1 Alan Alan 18325 Apr 23 00:36 .bash_history

-rw-r–r– 1 Alan Alan 24 Aug 24 2002 .bash_logout

-rw-r–r– 1 Alan Alan 191 Aug 24 2002 .bash_profile

هنگامی که از سوئیچ l برای نمایش جزئیات بیشتر استفاده میکنید، چیزی بیش از سایز فایلها و دایرکتوری ها نمایش داده میشود. دایرکتوری جاری (.) و دایرکتوری والد (..) در بالای لیست قرار می گیرند. یعنی در حقیقت نقطه نشان دهنده دایرکتوری home/Alan و دونقطه نشاندهنده دایرکتوری home/ است. بخش ابتدایی لیست نشاندهنده مجوزهای هر فایل است. سایر اطلاعات نمایش داده شده عبارتند از اندازه فایل به بایت و تاریخ و ساعتی که فایل برای آخرین بار تغییر کرده است.

 بررسی فعالیت سیستم

لینوکس علاوه بر چندکاربره بودن، سیستم عاملی است چند وظیفه (multitasking) . چند وظیفه بودن به این معنی است که برنامه های زیادی میتوانند در یک زمان اجرا شوند. هر برنامه در حال اجرا یک پروسه نامیده میشود.لینوکس فرامینی برای نمایش پروسه های در حال اجرا، نمایش استفاده از منابع سیستمی و متوقف کردن پروسه های در مواقع لزوم دارد.

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

$ ps au

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

Alan 1152 0.0 0.5 4476 1348 pts/0 S 17:39 0:00 bash

Alan 1831 0.0 0.2 2580 664 pts/0 R 18:14 0:00 ps au

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

در مثال بالا، چیز خاصی اتفاق نیافتاده است. خروجی نشان میدهد که کاربری به نام Alan ، از برنامه های bash و ps در حال استفاده است. ستون TTY یا ترمینال، نشان دهنده ترمینای است که کاربر با آن به سیستم وارد شده است و ستون STAT نشاندهنده وضعیت پروسه است. R نشاندهنده پروسه در حال اجرا و S نشاندهنده پروسه در حال خواب میباشد.

ستون USER نام کاربری که پروسـه را شروع کرده نمایش میدهد. هر پروسه توسط یک عدد یکتا به نام شماره پروسه (Process ID) مشخص میشود. از این شماره هنگام از میان بردن یا اصطلاحا kill کردن پروسه استفاده میشود. ستونهای %CPU و %MEM نشاندهنده مقدار پردازنده و حافظه ای هستند که پروسه ها استفاده کرده اند. ستون VSZ یا Virtual Set Size نشاندهنده سایز پروسه image به کیلوبایت و RSS یا Resident Set Size نشاندهنده سایز پروسه در حافظه است. ستون START نشاندهنده زمان آغاز پروسه و ستون TIME نشاندهنده زمان سیستم استفاده شده برای پروسه است.

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

$ ps aux | less

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

 

(ممکن است هنگام انتقال از فایل ورد به داخل سایت بعضی متون به هم بریزد یا بعضی نمادها و اشکال درج نشود ولی در فایل دانلودی همه چیز مرتب و کامل است)

متن کامل را می توانید دانلود نمائید

چون فقط تکه هایی از متن پایان نامه در این صفحه درج شده (به طور نمونه)

ولی در فایل دانلودی متن کامل پایان نامه

همراه با تمام ضمائم (پیوست ها) با فرمت ورد word که قابل ویرایش و کپی کردن می باشند

موجود است

 


دانلود با لینک مستقیم

دانلود پایان نامه رشته کامپیوتر درباره شبکه لینوکس با ویندوز

اختصاصی از یارا فایل دانلود پایان نامه رشته کامپیوتر درباره شبکه لینوکس با ویندوز دانلود با لینک مستقیم و پرسرعت .

دانلود پایان نامه رشته کامپیوتر درباره شبکه لینوکس با ویندوز


دانلود پایان نامه رشته کامپیوتر درباره شبکه لینوکس با ویندوز

در این پست می توانید متن کامل این پایان نامه را  با فرمت ورد word دانلود نمائید:

 

 

 

 

 

 مقدمه

چه بخواهیم چه نخواهیم، کامپیوتر جزیی از زندگی روزمره ما شده است. حتماً‌ شما تا به حال کلیپی را با کامپیوتر تماشا کرده‌اید، از آهنگی با کیفیت دیجیتال لذت برده‌اید، متنی را تایپ کرده‌اید یا شبی را به گشت و گذار در دنیای اینترنت یا چت رومها به صبح رسانده‌اید! بستر اجرایی همه این برنامه‌ها، برنامه‌ای مادر، به نام سیستم عامل است. به احتمال زیاد شما یکی از نسخه‌های ویندوز مایکروسافت مانند ویندوز 98 یا XP را استفاده می‌کنید. آیا تا به حال برایتان پیش نیامده که کامپیوترتان خود به خود Rest شود یا یک روز صبح که کامپیوتر اداره‌تان را روشن می‌کنید. ویندوز بالا نمی‌آید.

آیا تا به حال به فکر امتحان کردن سیستم عامل دیگری افتاده‌اید؟‌ یک سیستم عامل با کارایی بیشتر:‌ یک سیستم عامل امن، چند منظوره، قابل اعتماد و کاربردی به معنای واقعی کلمه، البته مقصود تولیدات شرکت انحصار طلب مایکروسافت یا سیستم عامل صنعتی یونیکس (UNIX)‌ و یا سیستم گرانقیمت اپل مکینتاش (Apple Macintosh) نیست. ما می‌خواهیم از سیستم عامل دیگری صحبت کنیم:‌

سیستم عامل آزاد لینوکس linux

اگرچه لینوکس خالق مشخصی ندارد، ولی این لینوس توروالدز (linus Torvalds) دانشجوی فنلاندی بود که در 215 آگوست 1991، این راه را آغاز کرد. او از همان ابتدا رویای ایجاد یک سیستم عامل open source یا متن باز با کارایی بالا، ضریب اطمینان فوق‌العاده و امنیت باور نکردنی را در سر می‌پروراند، صحبت از من باز با کارایی بالا، ضریب اطمینان فوق‌العاده و امنیت باور نکردنی را در سر می‌پروراند. صحبت از متن باز بودن لینوکس به میان آمد؛ کسانی که تا اندازه‌ای با زبانهای برنامه‌نویسی آشنایی دارند می‌دانند که سیستم عاملهایی مانند ویندوز مایکروسافت که خود را در دسترس همگان قرار نمی‌دهند و آنچه که کاربران خریداری می‌کنند، تنها برنامه قابل اجرایی است که هیچ اطلاعاتی از جزئیات درونی کارکرد سیستم عامل را نمی‌توان از آن فهمید. اما در مورد لینوکس وضع به گونه دیگری است؛ به این صورت که sorce یا کد لینوکس برای کلیه علاقه‌مندان و برنامه‌نویسان باز و قابل تغییر و بهینه‌سازی است.

 لینوس توروالدز هسته لینوکس موسوم به کرنل را تحت امتیاز Gpl: GNU General public license منتشر کرد، طبق این امتیاز که در برابر امتیاز انحصارطلبانه کپی‌رایت (copy right)‌ کپی لفت (copy left) نامیده می‌شود،‌ کاربران و برنامه‌نویسان اجازه هر گونه دخل و تصرف در کد برنامه‌ها، استفاده مجدد از کل یا بخشی از برنامه‌ها در برنامه‌ای دیگر و فرش یا پخش مجدد برنامه‌ها را دارند؛ به شرط اینکه ماهیت باز متن برنامه‌ها تحدید نشود و تمام حقوق کپی لفت به خریدار نیز منتقل شود.

 لینوکس در ایران

حدود دو سال است که دولت جمهوری اسلامی ایران پروژه‌ای را برای فارسی‌سازی لینوکس و نهایتاً تولید سیستم عامل ملی تدوین کرده است. تصویب این طرح به پیشنهاد مرکز فناوری اطلاعات و ارتباطات پیشرفته شریف (AICTC) و با مدیریت این مرکز انجام شد. این پروژه از پنج پروژه زیر تشکیل شده است:

1ـ توسعه نرم‌افزارهای منبع آزاد

2ـ تدوین استراتژی استفاده از نرم‌افزارهای منبع آزاد

3ـ پروژه لینوکس فارسی

4ـ توسعه کاربردیهای لینوکس

5ـ تشکیل انجمن open source ایران

 طبق برنامه زمان‌بندی شده نیمه سال 2006 میلادی باید شاهد اتمام این پروژه باشیم!

لینوکس: یکی از زیباترین دستاوردهای بشری

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

با یک دیدگاه جدید وارد دنیای لینوکس شود، چون لینوکس در جهانی با فرهنگ متفاوت زندگی می‌کند.

 فصل اول

تاریخچه لینوکس

تاریخچه لینوکس

شروع داستان لینوکس

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

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

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

بنظر می‌رسید این راه حل به صورت سیستم عامل MINIX ارائه شد. این سیستم عامل، که از ابتدا توسط اندرو اس. تانناوم (Andrew S. Tanenbaum) پروفسور هلندی، نوشته شده بود به منظور تدریس عملیات داخلی یک سیستم عامل واقعی بود. این سیستم عامل برای اجرا روی پردازنده‌های 8086 اینتل طراحی شده بود و بزودی بازار را اشباع کرد.

بعنوان یک سیستم عامل، MINIX خیلی خوب نبود. ولی مزیت اصلی آن، در دسترس بودن کد منبع آن بود. هر کس که کتاب سیستم عامل تاننباوم را تهیه می‌کرد، به 12000 خط کد نوشته شده به زبان C و اسمبلی نیز دسترسی پیدا می‌کرد. برای نخستین بار، یک برنامه‌نویس یا هکر مشتاق می‌توانست کد منبع سیستم عامل را مطالعه کند. چیزی که سازندگان نرم‌افزارها آنرا محدود کرده بودند. یک نویسنده بسیار خوب، یعنی تاننباوم، باعث فعالیت مغزهای متفکر علوم کامپیوتری در زمینه بحث گفتگو برای ایجاد سیستم عامل شد. دانشجویان کامپیوتر در سرتاسر دنیا با خواندن کتاب و کدهای منبع، سیستمی را که در کامپیوترشان در حال اجرا بود، درک کردند و یکی از آنها بینوس توروالدز نام داشت.

 

تولد سیستم عامل جدید:

در سال 1991 لینوس بندیکت توروالدز (Linus Benedict Torvalds) دانشجوی سال دوم علوم کامپیوتر دانشگاه هلسینکی فنلاند و یک هکر خود آموخته بود. این فنلاندی 21 ساله عاشق وصله پینه کردن محدودیتهایی که سیستم را تحت فشار قرار می‌دادند. ولی مهمترین چیزی که وجود نداشت یک سیستم عامل بود که بتواند نیازهای حرفه‌ای‌ها را برآورده نماید. MINIX خوب بود ولی فقط یک سیستم عامل مخصوص دانش‌آموزان بود و بیشتر به عنوان یک ابزار آموزشی بود تا ابزاری قدرتمند برای به کارگیری در امور جدی.

در این زمان برنامه‌نویسان سرتاسر دنیا توسط پروژه گنو (GNU) که توسط ریچارد استالمن (Richard Stallman) آغاز شده بود، تحریک شده بودند. هدف این پروژه ایجاد حرکتی برای فراهم نمودن نرم‌افزارهای رایگان و در عین حال با کیفیت بود. استالمن خط مشی خود را از آزمایشگاه معروف هوش مصنوعی دانشگاه MIT با ایجاد برنامه ویرایشگر emacs در اواسط و اواخر دهه 70 آغاز نمود. تا اوایل دهه 80، بیشتر برنامه‌نویسان نخبه آزمایشگاههای هوش مصنوعی MIT جذب شرکتهای نرم‌افزاری تجاری شده بودند و با آنها قراردادهای حفظ اسرار امضا شده بود. ولی استالمن دیدگاه متفاوتی داشت. وی عقیده داشت بر خلاف سایر تولیدات، نرم‌افزار باید از محدودیتهای کپی و ایجاد تغییرات در آن آزاد باشد تا بتوان روز به روز نرم‌افزار‌های بهتر و کارآمدتری تولید نمود.

با اعلامیه معروف خود در سال 1983 پروژه GNU را آغاز کرد. وی حرکتی را آغاز کرد تا با فلسفه خودش به تولید و ارائه نرم‌افزار بپردازد. نام GNU مخفف GNU is Not Unix است. ولی برای رسیدن به رویای خود برای ایجاد یک سیستم عامل رایگان، وی ابتدا نیاز داشت تا ابزارهای لازم برای این کار را ایجاد نماید. بنابراین در سال 1984 وی شروع به نوشتن و ایجاد کامپایلر زبان C گنو موسوم به GCC نمود. ابزاری مبهوت‌کننده برای برنامه‌نویسان مستقل. وی با جادوگری افسانه‌ای خود به تنهایی ابزاری را ایجاد نمود که برتر از تمام ابزارهایی که تمام گروههای برنامه‌نویسان تجاری ایجاد کرده بودند قرار گرفت. GCC یکی از کارآمدترین و قویترین کامپایلرهایی است که تاکنون ایجاد شده است.

تا سال 1991 پروژه GNU تعداد زیادی ابزار ایجاد کرده بود ولی هنوز سیستم عامل رایگانی وجود نداشت. حتی MINIX هم لایسنس شده بود. کار بر روی هسته سیستم عامل گنو موسوم به HURD ادامه داشت ولی به نظر نمی‌رسید که تا چند سال آینده قابل استفاده باشد.

 این زمان برای توروالدز بیش از حد طولانی بود …

در 25 آگوست 1991، این نامه تاریخی به گروه خبری MINIX از طرف توروالدز ارسال شد:

از: ‌لینوس بندیکت توروالدز

به : گروه خبری MINIX

موضع: بیشتر چه چیزی را می‌خواهد در MINIX ببینید؟

خلاصه: نظرخواهی کوچک در مورد سیستم عامل جدید من

با سلام به تمام استفاده‌کنندگان از MINIX من در حال تهیه یک سیستم عامل رایگان فقط به عنوان سرگرمی و نه به بزرگی و حرفه‌ای GNU برای دستگاههای 386 و 486 هستم. این کار از آوریل شروع شده و در حال آماده شدن است. من مایلم تا نظرات کاربران را در مورد چیزهایی که در MINIX دوست دارند یا ندارند، جمع‌آوری کنم. زیرا سیستم عامل من حدوداً‌ شبیه آن است. مانند ساختار سیستم فایل مشابه و چیزهای دیگر … من اکنون bash نسخه 1.08 و GCC نسخه 1.40 را به آن منتقل کرده‌ام و به نظر می‌رسد که کار می‌کند. من در عرض چند ماه چیزی آزمایشی درست کرده‌ام و مایلم بدانم که کاربران بیشتر به چه قابلیتهایی نیاز دارند؟ من از هر پیشنهادی استقبال می‌کنم. ولی قول نمی‌دهم همه آنها را اجرا کنم.         

 

(ممکن است هنگام انتقال از فایل ورد به داخل سایت بعضی متون به هم بریزد یا بعضی نمادها و اشکال درج نشود ولی در فایل دانلودی همه چیز مرتب و کامل است)

متن کامل را می توانید دانلود نمائید

چون فقط تکه هایی از متن پایان نامه در این صفحه درج شده (به طور نمونه)

ولی در فایل دانلودی متن کامل پایان نامه

همراه با تمام ضمائم (پیوست ها) با فرمت ورد word که قابل ویرایش و کپی کردن می باشند

موجود است


دانلود با لینک مستقیم