اجزای شبکه:
اجزا اصلی یک شبکه کامپیوتری عبارتند از :
1 - کارت شبکه : " NIC- Network Interface Card]5]" :
برای استفاده از شبکه وبرقراری ارتباط بین کامپیوتر ها از کارت شبکه ای استفاده می شود که در داخل یکی از شیارهای برد اصلی کامپیوتر های شبکه " اعم از سرویس دهنده وگیرنده " بصورت سخت افزاری وبرای کنترل ارسال ودریافت داده نصب می گردد.
2 - رسانه انتقال " Transmission Medium "]6]:
رسانه انتقال کامپیوتر ها را به یکدیگر متصل کرده وموجب برقراری ارتباط بین کامپیوتر های یک شبکه می شود . برخی از متداولترین رسانه های انتقال عبارتند از : کابل زوج سیم بهم تابیده " Twisted- Pair" ، کابل کواکسیال " Coaxial" وکابل فیبر نوری "Fiber- Optic" .
سیستم عامل شبکه " NOS- Network Operating System"]7] :
سیستم عامل شبکه برروی سرویس دهنده اجرا می شود و سرویس های مختلفی مانند: اجازه ورود به سیستم "Login" ، رمز عبور "Password" ، چاپ فایل ها " Printfiles" ، مدیریت شبکه " Net work management " را در اختیار کاربران می گذارد.

شبکه های کامپيوتری

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

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

 تقسيم بندی بر اساس نوع وظايف
کامپيوترهای موجود در شبکه را با توجه به نوع وظايف مربوطه به دو گروه عمده : سرويس دهندگان (Servers) و يا سرويس گيرندگان (Clients) تقسيم می نمايند. کامپيوترهائی در شبکه که برای ساير کامپيوترها سرويس ها و خدماتی را ارائه می نمايند ، سرويس دهنده  ناميده می گردند. کامپيوترهائی که از خدمات و سرويس های ارائه شده توسط سرويس دهندگان استفاده می کنند ، سرويس گيرنده ناميده می شوند .  در شبکه های Client-Server ، يک کامپيوتر در شبکه نمی تواند هم به عنوان سرويس دهنده و هم به عنوان سرويس گيرنده ، ايفای وظيفه نمايد.

در شبکه های Peer-To-Peer ، يک کامپيوتر می تواند هم بصورت سرويس دهنده و هم بصورت سرويس گيرنده ايفای وظيفه نمايد.

يک شبکه LAN  در ساده ترين حالت از اجزای زير تشکيل شده است :

  • دو کامپيوتر شخصی . يک شبکه می تواند شامل چند صد کامپيوتر باشد. حداقل يکی از کامپيوترها می بايست به عنوان سرويس دهنده مشخص گردد. ( در صورتی که شبکه از نوع Client-Server باشد ). سرويس دهنده، کامپيوتری است که هسته اساسی سيستم عامل  بر روی آن نصب خواهد شد.

  • يک عدد کارت شبکه (NIC) برای هر دستگاه. کارت شبکه نظير کارت هائی است که برای مودم و صدا در کامپيوتر استفاده می گردد.  کارت شبکه مسئول دريافت ، انتقال ، سازماندهی و ذخيره سازی موقت اطلاعات در طول شبکه است . به منظور انجام وظايف فوق کارت های شبکه دارای پردازنده ، حافظه و گذرگاه اختصاصی خود هستند.

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

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

- انعطاف پذيری . يکی از مزايای شبکه های LAN ، توانائی پردازش داده ها و گستردگی و توزيع گره ها در يک محيط است . بدين ترتيب توان محاسباتی سيستم و منابع موجود در اختيار تمام استفاده کنندگان قرار خواهد گرفت . در ادارات همه چيز تغيير خواهد کرد.( لوازم اداری،  اتاقها و ... ) . توپولوژی انتخابی می بايست بسادگی امکان تغيير پيکربندی در شبکه را فراهم نمايد. مثلا" ايستگاهی را از نقطه ای به نقطه ديگر انتقال و يا قادر به ايجاد يک ايستگاه جديد در شبکه باشيم .

سه نوع توپولوژی رايج در شبکه های LAN استفاده می گردد :

  • BUS

  • STAR

  • RING

توپولوژی BUS
 يکی از رايجترين توپولوژی ها برای پياده سازی شبکه های LAN است . در مدل فوق از يک کابل به عنوان ستون فقرات اصلی در شبکه استفاده شده و تمام کامپيوترهای موجود در شبکه ( سرويس دهنده ، سرويس گيرنده ) به آن متصل می گردند.

مزايای توپولوژی BUS

  •  کم بودن طول کابل . بدليل استفاده از يک خط انتقال جهت اتصال تمام کامپيوترها ، در توپولوژی فوق از کابل کمی استفاده می شود.موضوع فوق باعث پايين آمدن هزينه نصب و ايجاد تسهيلات لازم در جهت پشتيبانی شبکه خواهد بود.

  • ساختار ساده . توپولوژی BUS دارای يک ساختار ساده است . در مدل فوق صرفا" از يک کابل برای انتقال اطلاعات استفاده می شود.

  • توسعه آسان . يک کامپيوتر جديد را می توان براحتی در نقطه ای از شبکه اضافه کرد. در صورت اضافه شدن ايستگاههای بيشتر در يک سگمنت ، می توان از تقويت کننده هائی به نام Repeater استفاده کرد.

معايب توپولوژی BUS

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

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

  • ماهيت تکرارکننده ها . در موارديکه برای توسعه شبکه از تکرارکننده ها استفاده می گردد، ممکن است در ساختار شبکه تغييراتی نيز داده شود. موضوع فوق مستلزم بکارگيری کابل بيشتر و اضافه نمودن اتصالات مخصوص شبکه است .

توپولوژی STAR
 در اين نوع توپولوژی همانگونه که از نام آن مشخص است ، از مدلی شبيه "ستاره" استفاده می گردد. در اين مدل تمام کامپيوترهای موجود در شبکه معمولا" به يک دستگاه خاص  با نام " هاب " متصل خواهند شد.

مزايای توپولوژی STAR

  • سادگی سرويس شبکه . توپولوژی STAR شامل تعدادی از نقاط اتصالی در يک نقطه مرکزی است . ويژگی فوق تغيير در ساختار و سرويس  شبکه را آسان می نمايد.

  • در هر اتصال يکدستگاه . نقاط اتصالی در شبکه ذاتا" مستعد اشکال هستند. در توپولوژی STAR  اشکال در يک اتصال ، باعث خروج آن خط  از شبکه و سرويس و اشکال زدائی خط مزبور است . عمليات فوق تاثيری در عملکرد ساير کامپيوترهای موجود در شبکه نخواهد گذاشت .

  • کنترل مرکزی و عيب يابی . با توجه به اين مسئله که نقطه  مرکزی  مستقيما" به هر ايستگاه موجود در شبکه متصل است ، اشکالات و ايرادات در شبکه بسادگی تشخيص  و مهار خواهند گرديد.

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

معايب توپولوژی STAR

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

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

  • وابستگی به نقطه مرکزی . در صورتی که نقطه مرکزی ( هاب ) در شبکه با مشکل مواجه شود ، تمام شبکه غيرقابل استفاده خواهد بود.

توپولوژی RING
در اين نوع توپولوژی تمام کامپيوترها بصورت يک حلقه به يکديگر مرتبط می گردند. تمام کامپيوترهای موجود در شبکه ( سرويس دهنده ، سرويس گيرنده ) به يک کابل که بصورت يک دايره بسته است ، متصل می گردند. در مدل فوق  هر گره به دو و فقط دو همسايه مجاور خود متصل است . اطلاعات از گره مجاور دريافت و به گره بعدی ارسال می شوند. بنابراين داده ها فقط در يک جهت حرکت کرده و از ايستگاهی به ايستگاه ديگر انتقال پيدا می کنند.

مزايای توپولوژی RING

  •  کم بودن طول کابل . طول کابلی که در اين مدل بکار گرفته می شود ، قابل مقايسه به توپولوژی BUS نبوده و طول کمی را در بردارد. ويژگی فوق باعث کاهش تعداد اتصالات ( کانکتور) در شبکه شده و ضريب اعتماد به شبکه را افزايش خواهد داد.

  • نياز به فضائی خاص جهت انشعابات در کابل کشی نخواهد بود.بدليل استفاده از يک کابل جهت اتصال هر گره به گره همسايه اش ، اختصاص محل هائی خاص به منظور کابل کشی ضرورتی نخواهد داشت .

  •  مناسب جهت فيبر نوری . استفاده از فيبر نوری باعث بالا رفتن نرخ سرعت انتقال اطلاعات در شبکه است.  چون در توپولوژی فوق ترافيک داده ها در يک جهت است ، می توان از فيبر نوری به منظور محيط انتقال استفاده کرد.در صورت تمايل می توان در هر بخش ازشبکه از يک نوع کابل به عنوان محيط انتقال استفاده کرد . مثلا" در محيط های ادرای از مدل های مسی و در محيط کارخانه از فيبر نوری استفاده کرد.

معايب توپولوژی RING

  •  اشکال در يک گره باعث اشکال در تمام شبکه می گردد. در صورت بروز اشکال در يک گره ، تمام شبکه با اشکال مواجه خواهد شد. و تا زمانيکه گره معيوب از شبکه خارج نگردد ، هيچگونه ترافيک اطلاعاتی را روی شبکه نمی توان داشت .

  •  اشکال زدائی مشکل است . بروز اشکال در يک گره می تواند روی تمام گرههای ديگر تاثير گذار باشد. به منظور عيب يابی می بايست چندين گره بررسی تا گره مورد نظر پيدا گردد.

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

  • توپولوژی بر روی نوع دستيابی تاثير می گذارد. هر گره در شبکه دارای مسئوليت عبور دادن داده ای است که از گره مجاور دريافت داشته است . قبل از اينکه يک گره بتواند داده خود را ارسال نمايد ، می بايست به اين اطمينان برسد که محيط انتقال برای استفاده قابل دستيابی است .

تقسيم بندی بر اساس حوزه جغرافی تحت پوشش .
 شبکه های کامپيوتری با توجه به حوزه جغرافيائی تحت پوشش به سه گروه تقسيم می گردند :

  • شبکه های محلی ( کوچک ) LAN

  • شبکه های متوسط MAN

  • شبکه های گسترده WAN

شبکه های LAN . حوزه جغرافيائی که توسط اين نوع از شبکه ها پوشش داده می شود ، يک محيط کوچک نظير يک ساختمان اداری است . اين نوع از شبکه ها دارای ويژگی های زير می باشند :

  • توانائی ارسال اطلاعات با سرعت بالا

  • محدوديت فاصله

  • قابليت استفاده از محيط مخابراتی ارزان نظير خطوط تلفن به منظور ارسال اطلاعات

  • نرخ پايين خطاء در ارسال اطلاعات با توجه به محدود بودن فاصله

شبکه های MAN . حوزه جغرافيائی که توسط اين نوع شبکه ها پوشش داده می شود ، در حد و اندازه يک شهر و يا شهرستان است . ويژگی های اين نوع از شبکه ها بشرح زير است :

  • پيچيدگی بيشتر نسبت به شبکه های محلی

  • قابليت ارسال تصاوير  و صدا 

  • قابليت ايجاد ارتباط بين چندين شبکه

شبکه های WAN . حوزه جغرافيائی که توسط اين نوع شبکه ها پوشش داده می شود ، در حد و اندازه کشور و قاره است . ويژگی اين نوع شبکه ها بشرح زير است :

  • قابليت ارسال اطلاعات بين کشورها و قاره ها

  • قابليت ايجاد ارتباط بين شبکه های LAN

  • سرعت پايين ارسال اطلاعات نسبت به شبکه های LAN

  • نرخ خطای بالا با  توجه به گستردگی محدوده تحت پوشش

کابل در شبکه

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

کابل Unshielded Twisted pair )UTP)
متداولترين نوع کابلی که در انتقال اطلاعات استفاده می گردد ، کابل های بهم تابيده می باشند. اين نوع کابل ها دارای دو رشته سيم به هم پيچيده بوده که هر دو نسبت زمين  دارای يک امپدانش يکسان می باشند. بدين ترتيب امکان تاثير پذيری اين نوع کابل ها از کابل های مجاور و يا ساير منابع خارجی کاهش خواهد يافت . کابل های بهم تابيده دارای دو مدل متفاوت : Shielded ( روکش دار ) و Unshielded ( بدون روکش ) می باشند. کابل UTP نسبت به کابل STP بمراتب متداول تر بوده و در اکثر شبکه های محلی استفاده می گردد.کيفيت کابل های UTP متغير بوده و از کابل های معمولی استفاده شده برای تلفن تا کابل های با سرعت بالا را شامل می گردد. کابل دارای چهار زوج  سيم بوده  و درون يک روکش قرار می گيرند.  هر زوج  با تعداد مشخصی پيچ تابانده شده ( در واحد اينچ ) تا تاثير پذيری آن از ساير زوج ها و ياساير دستگاههای الکتريکی  کاهش يابد.

 کابل های UTP دارای استانداردهای متعددی بوده که در گروههای (Categories) متفاوت  زير تقسيم شده اند:

 Type

کاربرد

Cat 1فقط صوت ( کابل های تلفن )
Cat 2داده  با سرعت 4 مگابيت در ثانيه
Cat 3داده با سرعت 10 مگابيت در ثانيه
Cat 4داده با سرعت 20 مگابيت در ثانيه
Cat 5داده با سرعت 100 مگابيت در ثانيه

مزايای کابل های بهم تابيده :

  • سادگی و نصب آسان

  • انعطاف پذيری مناسب

  • دارای وزن کم بوده و براحتی بهم تابيده می گردند.

معايب کابل های بهم تابيده :

  • تضعيف فرکانس

  • بدون استفاده از تکرارکننده ها ، قادر به حمل سيگنال در مسافت های طولانی نمی باشند.

  • پايين بودن پهنای باند 

  • بدليل پذيرش پارازيت در محيط های الکتريکی سنگين بخدمت گرفته  نمی شوند.

کانکتور استاندارد برای کابل های UTP  ، از نوع  RJ-45 می باشد. کانکتور فوق شباهت زيادی به کانکتورهای تلفن (RJ-11) دارد. هر يک از پين های کانکتور فوق می بايست بدرستی پيکربندی  گردند. (RJ:Registered Jack)

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

مزايای کابل های کواکسيال :

  • قابليت اعتماد بالا

  • ظرفيت بالای انتقال ، حداکثر پهنای باند 300 مگاهرتز

  • دوام و پايداری خوب

  • پايطن بودن مخارج نگهداری

  • قابل استفاده در سيستم های آنالوگ و ديجيتال

  • هزينه پائين در زمان توسعه

  • پهنای باند نسبتا" وسيع که مورد استفاده اکثر سرويس های مخابراتی از جمله تله کنفرانس صوتی و تصويری است .

معايب کابل های کواکسيال :

  • مخارج بالای نصب

  • نصب مشکل تر نسبت به کابل های بهم تابيده

  • محدوديت فاصله

  • نياز به استفاده از عناصر خاص برای انشعابات

از کانکتورهای BNC)Bayone -Neill - Concelman) بهمراه کابل های کواکسيال استفاده می گردد.  اغلب کارت های شبکه دارای کانکتورهای  لازم در اين خصوص می باشند.

فيبر  نوری
يکی از جديدترين محيط های انتقال در شبکه های کامپيوتری ، فيبر نوری است . فيبر نوری از يک ميله استوانه ای که هسته ناميده می شود و جنس آن از سيليکات است تشکيل می گردد. شعاع استوانه بين دو تا سه ميکرون است . روی هسته ، استوانه ديگری ( از همان جنس هسته ) که غلاف ناميده می شود ، استقرار می يابد. ضريب شکست هسته را با M1 و ضريب شکست غلاف را با M2  نشان داده و همواره M1>M2 است . در اين نوع فيبرها ، نور در اثر انعکاسات کلی در فصل مشترک هسته و غلاف ، انتشار پيدا خواهد کرد. منابع نوری در اين نوع کابل ها ، ديود ليزری و يا ديودهای ساطع کننده نور می باشند.منابع فوق ، سيگنال های الکتريکی را به نور تبديل می نمايند.

مزايای فيبر نوری :

  • حجم و وزن کم

  • پهنای باند بالا

  • تلفات  سيگنال کم و در نتيجه فاصله تقويت کننده ها زياد می گردد.

  • فراوانی مواد تشکيل دهنده آنها

  • مصون بودن از اثرات القاهای الکترو معناطيسی مدارات ديگر

  • آتش زا نبودن آنها بدليل عدم وجود پالس الکتريکی در آنها

  • مصون بودن در مقابل عوامل جوی و رطوبت

  • سهولت در امر کابل کشی و نصب

  • استفاده در شبکه های  مخابراتی آنالوگ و ديجيتال

  • مصونيت در مقابل پارازيت

معايب فيبر نوری :

  • براحتی شکسته شده و می بايست دارای يک پوشش مناسب باشند. مسئله فوق با ظهور فيبر های تمام پلاستيکی و پلاستيکی / شيشه ای کاهش پيدا کرده است .

  • اتصال دو بخش از فيبر يا اتصال يک منبع نور به فيبر ، فرآيند دشواری است . در چنين حالتی می توان از فيبرهای ضخيم تر استفاده کرد اما اين مسئله باعث تلفات زياد و کم شدن پهنای باند می گردد.

  • از اتصالات T شکل در فيبر نوری نمی توان جهت گرفتن انشهاب استفاده نمود. در چنين حالتی فيبر می بايست بريده شده و يک Detector اضافه گردد. دستگاه فوفق می بايست قادر به دريافت و تکرار سيگنال را داشته باشد.

  • تقويت سيگنال نوری يکی از مشکلات اساسی در زمينه فيبر نوری است . برای تقويت سيگنال می بايست سيگنال های توری به سيگنال های الکتريکی تبديل ، تقويت و مجددا" به علائم نوری تبديل شوند.

کابل های استفاده شده در شبکه های اترنت

Specification Cable Type Maximum length
10BaseT Unshielded Twisted Pair 100 meters
10Base2 Thin Coaxial 185 meters
10Base5 Thick Coaxial 500 meters
10BaseF Fiber Optic 2000 meters
100BaseT Unshielded Twisted Pair 100 meters
100BaseTX Unshielded Twisted Pair 220 meters

 

سیستم عامل:

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

سیستم‌عامل‌ها انواع مختلفی داشته و توسط شرکت‌های مختلفی تولید می‌شوند که در میان کاربران نهایی ۳ نوع سیستم‌عامل ویندوز، لینوکس و مک طرفداران بیشتری نسبت به دیگر رقباء دارند که هریک از انواع سیستم‌عامل به نسخه‌ها و توزیع‌های متفاوتی تقسیم می‌شوند.

سیستم عامل ها می توان از نوع کاربری به دو دسته تک کاربره و چند کاربرMulti User تقسیم نمود. که در بخش مولتی یوزر به سیستم عامل لینوکس را نام برد.

تاریخچه سیستم عامل مایکروسافت:

1) MS-DOS

2)3.1 microsoft Windows

3) windows 95

4) 4.0 windows NT

5) Windows 98

6)Windows 2000

7) Windows Millennium Edition (Me)

8) Windows XP

10) winVISTA

11) win 7

و احتمالا Win8 می باشد.

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

سیستم عامل لینوکس به نحوی طراحی شده است که از قانون کپی رایت استفاده نمی کندو مانند ویکی پدیا با سورس آزاد می باشد و هر کسی در دنیا می تواند آنرا ارتقاع بدهد . به همین منظور نسخه های زیادی از این سیستم در دنیا وجود دارد که اکثر آنها به صورت کاملا رایگان و در بعضی موارد حتی با پست رایگان برای شما ارسال می شود. بعضی از نسخه های این سیستم عامل می توان: لینوکس - لینوکس فدروا - لینوکس اوبنتو - لینوکس سوزه - لینوکس شریف (فارسی زبان) - می باشد.
بسیاری از سیستم عامل های ابر کامپیوتر های امروزی لینوکس می باشد. باید بدانید که پایه لینوکس بر اساس بیس یونیکس (که خود نوعی سیستم عاملمی باشد) می باشد.
بقیه سیستم عامل ها: یونیکس UNIX
مک ( سیستم عاملی بر اساس کامپیوتر های مکینتاش) MAC OS
بی اس دی BSD ( بر اساس Unix) همانند لینوکس می باشد. سه نوع FreeBSD - Open BSD - NET BSD
Plan9
گوگل کروم Google Chrome OS ( بر اساس لینوکس )
همچنین سیستم عامل قدیمی تر وجود دارند. هم چنین امروزه موبایل ها ، آی پد دارای سیستم عامل هایی مجزا می باشند.
سیستم عامل و برنامه های اجرایی برنامه و نرم افزارهای که در دنیا تولید می شود . باید دارای استانداردهایی باشد که سیستم عامل با آن سازگار باشد. یه طور مثال نرم افزاری که برای مکینتاش طراحی شده است در ویندوز اجرا نمی شود. برای راحتر کردن تشخیص افراد این نرم افزار داری پسوند خاص خود می باشد.
پسوند های استاندارد:

ویندوز : EXE -COM -BAT

لینوکس: tar - rpm - tar.gz - dep و... می باشد. به علت سورس آزاد قوانین می تواند گسترش پیداکند.(با استفاده از کانورتور های جدید برخی از فایلهای exe هم اجرا می شود. که نوعی شبیه ساز می باشد. )

مک: INIT

سیستم عامل و سخت افزار استاندار IBM

Windows - Linux

استاندار Apple

Mac - Windows - Linux

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

Linux


اهداف سیستم عامل ۱ ) مخفی کردن سخت افزار از دیدگاه کاربر ۲ )استفاده از منابع سیستم ۳ ) کنترل اجرای برنامه ها

تعریف 

سیستم عامل مهم ترین نرم افزار سیستمی است که رابطه بین سخت افزار و برنامه های کاربردی است .

وظایف سیستم عامل 

۱ )اشتراک گذاشتن داده ها
۲ )اشتراک گذاشتن سخت افزار
۳ )اجرای برنامه ها
۴ )فراهم کردن امکانات ورودی خروجی
۵ )سازماندهی بر نامه ها
۶ )ترمیم خطا


انواع پردازش 

۱ )سریال : در این نوع پردازش تمامی کارها توسط برنامه نویس مدیریت می شد .مانند کامپیوتر های نسل اول و دوم
۲ ) دسته ای : در این پردازش برنامه نویس برنامه خود را برروی کارتهایی به نام کارت پانچ منتقل می نمود ٬سپس یک دسته از کارتها به اپراتور داده می شد و فقط اپراتور مخصوص کامپیوتر این کارت ها را اجرا می نمود . این روش در کامپیوتر های نسل دوم کاربرد داش ت. یکی از اشکالات سیستم هایی با پردازش دسته ای این است که وقتی یک کاربر برای تبدیل عملیات ورودی خروجی منتظر می باشد ٬پردازنده در این مدت بیکار می ماند .
۳ ) چند برنامه ای : در این نوع پردازش حافظه به چند بخش تقسیم می شود و هربخش به یک برنامه اختصاص می یابد . هنگامی که یک برنامه منتظر عملیات ورودی خروجی می باشد پردازنده به اجرای برنامه دیگری می پردازد .

 
Buffering :

روشی جهت هماهنگ سازی عملیات و رودی خروجی با عملیات محاسباتی می باشد .

 
Spooling :

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


 ; (Real time) 
اشتراک زمانی یاسیستم های بلادرنگ :

به منظور پشتیبانی از چند کاربر به طور همزمان به کار گرفته می شود .دراین روش کاربران همزمان دستوراتی را وارد کرده وپاسخ آن را سریعاً دریافت می کنند .دراین سیستم ها پردازنده مکانیز برنامه های م ختلف راانتخاب می کند و هرکاربر تصور می کند کامپیوتر در اختیار اوست . در این روش هدف راحتی کاربر و بالاترین کاربرد سیستم می باشد . هدف اصلی این سیستم ها پاسخ دهی سریع به رویدادهااس ت.
در این سیستم ها زمان پاسخگویی باید سریع و تضمین شده باشد .از کاربردهای آن می توان به سیستم های نظامی ٬پزشکی و هسته ای اشاره نمود .

( Distributed System) سیستم های توزیع شده 

سیستم های توزیع شده معمولاً دریک محیط شبکه اجرا می شوند .در این سیستم ها برنامه های کاربر همزمان در چند کامپیوتر اجرا می شود.

سيستم عامل

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

سيستم عامل با ساده ترين تحليل و بررسی دو عمليات اساسی را در کامپيوتر انجام می دهد :

  • مديريت منابع نرم افزاری و سخت افزاری يک سِستم کامپيوتری را برعهده دارد. پردازنده ، حافظه، فضای ذخيره سازی  نمونه هائی از منابع اشاره شده می باشند .

  • روشی پايدار و يکسان برای دستيابی و استفاده  از سخت افزار را بدو ن نياز از جزئيات عملکرد هر يک از سخت افزارهای موجود را برای برنامه های کامپيوتری فراهم می نمايد 

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

وظيفه دوم يک سيستم عامل ارائه يک رابط ( اينترفيس ) يکسان برای ساير برنامه های کامپيوتری است . در اين حالت زمينه استفاده بيش از يک نوع کامپيوتر از سيستم عامل فراهم شده و در صورت بروز تغييرات در سخت افزار سيستم های کامپيوتری نگرانی خاصی از جهت اجرای برنامه وجود نخواهد داشت، چراکه سيستم عامل بعنوان ميانجی بين برنامه های کامپيوتری و سخت افزار ايفای وظيفه کرده و مسئوليت مديريت منابع سخت افزاری به وی سپرده شده است .برنامه نويسان کامپيوتر نيز با استفاده از نقش سيستم عامل بعنوان يک ميانجی براحتی برنامه های خود را طراحی و پياده سازی کرده و در رابطه با اجرای برنامه های نوشته شده بر روی ساير کامپيوترهای مشابه  نگرانی نخواهند داشت . ( حتی اگر ميزان حافظه موجود در دو کامپيوتر مشابه نباشد ) . در صورتی که سخت افزار يک کامپيوتر بهبود و ارتقاء يابد، سيستم عامل اين تضمين را ايجاد خواهد کرد که برنامه ها، در ادامه بدون بروز اشکال قادر به ادامه حيات وسرويس دهی خود باشند. مسئوليت مديريت منابع سخت افزاری برعهده سيتم عامل خواهد بود نه برنامه های کامپيوتری، بنابراين در زمان ارتقای سخت افزار يک کامپيوتر مسئوليت سيتستم عامل در اين راستا اولويت خواهد داشت . ويندوز 98 يکی از بهترين نمونه ها در اين زمينه است . سيستم عامل فوق بر روی سخت افزارهای متعدد توليد شده توسط توليدکنندگان متفاوت اجراء می گردد.  ويندوز 98 قادر به مديريت و استفاده از هزاران نوع چاپگر ديسک و ساير تجهيزات جانبی است .

سيستم های عامل را از بعد نوع کامپيوترهائی که قادر به کنترل آنها بوده و نوع برنامه های کاربردی که قادر به حمايت از آنها می باشند به چهار گروه عمده تقسيم می نمايند.

  • سيستم عامل بلادرنگ (RTOS). از اين نوع سيستم های عامل برای کنترل  ماشين آلات صنعتی ، تجهيزات علمی و سيستم های صنعتی استفاده می گردد. يک سيستم عامل بلادرنگ دارای امکانات محدود در رابطه با بخش رابط کاربر و برنامه های کاربردی مختص کاربران می باشند.  يکی از بخش های مهم اين نوع سيستم های عامل ، مديريت منابع موجود کامپيوتری بگونه ای است که يک عمليات خاص در زمانی که می بايست ، اجراء خواهند شد. 

  • تک کاربره - تک کاره . همانگونه که از عنوان اين نوع سيستم های عامل مشخص است، آنها بگونه ای طراحی شده اند که قادر به مديريت کامپيوتر بصورتی باشند که يک کاربر در هر لحظه قادر به انجام يک کار باشد. سيستم عامل Palm OS برای کامپيوترهای PDA نمونه ای مناسب از يک سيستم عامل مدرن تک کاربره و تک کاره است . 

  • تک کاربره - چندکاره . اکثر سيستم های عامل استفاده شده در کامپيوترهای شخصی از اين نوع می باشند. ويندوز 98 و MacOS  نمونه هائی در اين زمينه بوده که امکان اجرای چندين برنامه بطور همزمان را برای يک کاربر فراهم می نمايند. مثلا" يک کاربر ويندوز 98 قادر به تايپ يک نامه با استفاده از يک واژه پرداز بوده و در همان زمان اقدام به دريافت يک فايل از اينترنت نموده و در همان وضعيت محتويات نامه الکترونيکی خود را برای چاپ بر روی چاپگر ارسال کرده باشد.

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

در اينجا لازم است که به تفاوت های موجود  سيستم های عامل " چند کاربر " و " تک کاربر"  در رابطه با امکانات شبکه ای اشاره گردد.  ويندوز 2000 و ناول قادر به حمايت از صدها و هزاران کاربر شبکه می باشند اين نوع سيستم های عامل بعنوان سيستم عامل چند کاربره واقعی در نظر گرفته  نمی شوند.

در ادامه با توجه به شناخت مناسب بوجود آمده در دررابطه با انواع سيستم های عامل به عمليات و وظايف سيستم عامل اشاره می گردد.

وظايف سيستم عامل
پس از روشن نمودن کامپيوتر، لولين برنامه ای که اجراء می گردد ، مجموعه دستوراتی می باشند که در حافظه ROM ذخيره و مسئول بررسی صحت عملکرد امکانات سخت افزاری موجود می باشند. برنامه فوق (POST) ، پردازنده ، حافظه و ساير عناصر سخت افزاری را بررسی خواهد کرد . پس از بررسی موفقيت آميز برنامه POST ، در ادامه درايوهای ( هارد ، فلاپی ) سيستم فعال خواهند شد. در اکثر کامپيوترها  ، پس از فعال شدن هارد ديسک ، اولين بخش سيستم عامل با نام Bootstrap Loader فعال خواهد شد. برنامه فوق صرفا" دارای يک وظيفه اساسی است : انتقال ( استقرار ) سيستم عامل در حافظه اصلی و امکان اجرای آن . برنامه فوق عمليات متفاوتی را یه منظور استفرار سيستم عامل در حافظه انجام خواهد داد.

سيستم عامل دارای وظايف زير است :

  • مديريت پردازنده

  • مديريت حافظه

  • مديريت دستگاهها ( ورودی و خروجی )

  • مديريت حافظه جانبی

  • اينترفيس برنامه های کاربردی

  • رابط کاربر

وظايف شش گانه فوق ، هسته عمليات در اکثر سيستم های عامل است . در ادامه به تشريح  وظايف فوق اشاره می گردد :

 مديريت پردازنده
مديريت پردازنده دو وظيفه مهم اوليه زير را دارد :

  • ايجاد اطمينان که هر پردازه و يا برنامه به ميزان مورد نياز پردازنده را برای تحقق عمليات خود ، اختيار خواهد کرد.

  • استفاده از بيشترين سيکل های پردازنده برای انجام عمليات

ساده ترين واحد نرم افزاری  که سيستم عامل یه منظور زمانبندی پردازنده با آن درگير خواهد شد ، يک پردازه و يا يک Thread خواهد بود. موقتا" می توان يک پردازه را مشابه يک برنامه در نظر گرفت ، در چنين حالتی مفهوم فوق ( پردازه ) ، بيانگر يک تصوير واقعی از نحوه پردازش های مرتبط با سيستم عامل و سخت افزار نخواهد بود. برنامه های کامپيوتری ( نظير واژه پردازها ، بازيهای کامپيوتری و ...) در حقيقت خود يک پردازه می باشند ، ولی برنامه های فوق ممکن است از خدمات چندين پردازه ديگر استفاده نمايند. مثلا" ممکن است يک برنامه از پردازه ای یه منظور برقراری ارتباط با ساير دستگاههای موجود در کامپيوتر استفاده نمايد. پردازه های فراوان ديگری نيز وجود دارد که با توجه به ماهيت عمليات مربوطه ، بدون نياز به محرک خارجی ( نظير يک برنامه ) فعاليت های خود را انجام می دهند. يک پردازه ، نرم افزاری است که عمليات خاص و کنترل شده ای را انجام می دهد. کنترل يک پردازه ممکن است توسط کاربر ، ساير برنامه های کاربردی و يا سيستم عامل صورت پذيرد.

سيستم عامل با کنترل و زمانبندی مناسب پردازه ها زمينه استفاده از پردازنده را برای آنان ، فراهم  می نمايد. در سيستم های " تک - کاره " ، سيستم زمانبندی بسيار روشن و مشخص است . در چنين مواردی،  سيستم عامل امکان اجرای برنامه را فراهم و صرفا" در زمانيکه کاربر اطلاعاتی را وارد و يا سيستم با وقفه ای برخورد نمايد ، روند اجراء متوقف خواهد شد. وقفه ، سيگنال های خاص ارسالی توسط نرم افزار و يا سخت افزار برای  پردازنده می باشند. در چنين مواردی منابع صادر کننده وقفه درخواست برقراری يک ارتباط زنده با پردازنده برای اخذ سرويس و يا ساير مسائل بوجود آمده ، را می نمايند. در برخی حالات سيستم عامل پردازه ها  را با يک اولويت خاص زمانبندی می نمايد . در چنين حالتی هر يک از پردازه ها با توجه به اولويت نسبت داده شده به آنان ، قادر به استفاده از زمان پردازنده خواهند بود. در اينچنين موارد ، در صورت بروز وقفه ، پردازنده آنها را ناديده گرفته و تا زمان عدم تکميل عمليات مورد نظر توسط پردازنده ، فرصت پرداختن به وقفه ها وجود نخواهد داشت . بديهی است با توجه به نحوه برخورد پردازنده ( عدم توجه به وقفه ها ) ، در سريعترين زمان ممکن عمليات و فعاليت جاری پردازنده به اتمام خواهد رسيد. برخی از وقفه ها با توجه به اهميت خود ( نظير بروز اشکال در حافظه و يا ساير موارد مشابه ) ، قابل اغماص توسط پردازنده نبوده و می بايست صرفنظر از نوع و اهميت فعاليت جاری ،  سريعا" به وقفه ارسالی پاسخ مناسب را ارائه گردد.

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

در سيستم های عامل " تک - کاره " ، وجود وقفه ها و نحوه مديريت آنها در روند اجرای پردازه ها تاثير و پيچيدگی های خاص خود را از بعد مديريتی بدنبال خواهد داشت . در سيستم های عامل |"چند - کاره " عمليات بمراتب پيچيده تر خواهد بود. در چنين مواردی می بايست اين اعتقاد بوجود آيد که چندين فعاليت بطور همزمان در حال انجام است . عملا" پردازنده در هر لحظه قادر به انجام يک فعاليت است و بديهی است رسيدن به مرز اعتقادی فوق ( چندين فعاليت بطور همزمان ) مستلزم يک مديريت قوی و طی مراحل پيچيده ای خواهد بود.  در چنين حالتی لازم است که پردازنده در مدت زمان يک ثانيه هزاران مرتبه از يک پردازه به پردازه ه ديگر سوئيچ  تا امکان استفاده چندين پردازه از پردازنده را فراهم نمايد . در ادامه نحوه انجام عمليات فوق ، تشريح می گردد :

  • يک پردازه بخشی از حافظه RAM را اشغال خواهد کرد

  • پس از استفرار بيش از يک پردازه در حافظه ، پردازنده بر اساس يک زمانبندی خاص ، فرصت اجراء را به يکی از پردازه ها خواهد داد. 

  • پردازنده ، بر اساس تعداد سيکل های خاصی پردازه را اجراء خواهد کرد .

  • پس ازاتمام تعداد سيکل های مربوطه ، پردازنده وضعيت پردازه ( مقاير ريجسترها و ...) را ذخيره و به پردازه اتمام زمان مربوطه را اعلام می نمايد.

  • پردازنده در ادامه اطلاعات ذخيره شده در رابطه با پردازه ديگر را فعال ( ريجسترها و ...) و زمينه اجرای پردازه دوم فراهم می گردد.

  • پس ازاتمام تعداد سيکل های مربوطه ، پردازنده وضعيت پردازه ( مقاير ريجسترها و ...) را ذخيره و به پردازه اتمام زمان مربوطه را اعلام و مجددا" پردازه اول جهت اجراء فعال خواهد گرديد.

تمام اطلاعات مورد نياز یه منظور مديريت يک پردازه در  ساختمان داده ای خاص با نام PCB)Process Control Block) ، نگهداری می گردد. پردازنده در زمان سوئيچ بين پردازه ها ، از آخرين وضعيت هر پردازه  با استفاده از اطلاعات ذخيره شده در PCB آگاهی پيدا کرده و در ادامه زمينه اجرای پردازه مورد نظر بر اساس تعداد سيکل های در نظر گرفته شده فراهم خواهد شد. برای هر پردازه يک PCB ايجاد و اطلاعات زير در آن ذخيره خواهد گرديد :

  • يک مشخصه عددی (ID) که نمايانگر پردازه خواهد بود .

  • اشاره گری که نشاندهنده آخرين محل اجرای پردازه است

  • محتويات ريجستر ها

  • وضعيت سوئيچ ها و متغيرهای مربوطه

  • اشاره گره هائی که حد بالا و پايين حافظه مورد نياز پردازه را مشخص خواهد کرد.

  • اولويت پردازه

  • وضعيت دستگاههای ورودی و خروجی مورد نياز پردازه

هر زمان که اطلاعات مربوط به پردازه ای تغيير يابد ، ( پردازه از حالت "آماده " تبديل به حالت "اجراء " و يا از حالت " اجراء " به حالت "انتظار" و يا "آماده " سوئيچ نمايد ) اطلاعات ذخيره شده در PCB استفاده و بهنگام خواهند شد.

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

يکی از روش هائی که طراحان سيستم عامل از آن استفاده تا امکان ( شانس) تحقق Thrashing را کاهش  دهند ، کاهش نياز به پردازه های جديد برای انجام فعاليت های متفاوت است . برخی از سيستم های عامل ازيک  " پردازه -lite " با نام Thread استفاده می نمايند.  Thread از لحاظ کارآئی همانند يک پردازه معمولی رفتار نموده ولی نيازمند عمليات متفاوت ورودی و خروجی و يا ايجاد ساختمان داده PCB مشابه يک پردازه عادی نخواهد بود. يک پردازه ممکن است باعث اجرای چندين Threads و يا ساير پردازه های ديگر گردد. يک Thread نمی تواند باعث اجرای يک پردازه گردد.

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

مديريت حافظه و فضای ذخيره سازی
سيستم عامل در رابطه با مديريت حافظه دو عمليات اساسی را انجام خواهد داد :

  • هر پردازه یه منظور اجراء می بايست دارای حافظه مورد نياز و اختصاصی خود باشد .

  • از انواع متفاوتی حافظه در سيستم استفاده تا هر پردازه قادر به اجراء با بالاترين سطح کارآئی باشد.

سيسم های عامل در ابتدا می بايست محدوده های حافظه مورد نياز هر نوع نرم افزار و برنامه های خاص را فراهم نمايند. مثلا" فرض کنيد سيستمی دارای يک مگابايت حافظه اصلی باشد . سيستم عامل کامپيوتر فرضی ، نيازمند 300 کيلو بايت حافظه است . سيستم عامل در بخش انتهائی حافظه مستقر و بهمراه خود درايورهای مورد نياز یه منظور کنترل سخت افزار را نيز مستقر خواهد کرد. درايورهای مورد نظر به 200 کيلو بايت حافظه نياز خواهند داشت . بنابراين پس از استقرار سيستم عامل بطور کامل در حافظه ، 500 کيلو بايت حافظه باقيمانده و از آن برای پردازش برنامه های کاربردی استفاده خواهد شد. زمانيکه برنامه های کاربردی در حافظه مستقر می گردند ، سازماندهی آنها در حافظ بر اساس بلاک هائی خواهد بود که اندازه آنها توسط سيستم عامل مشخص خواهد شد. در صورتی که اندازه هر بلاک 2 کيلوبايت باشد ، هر يک از برنامه های کاربردی که در حافظه مستقر می گردنند ، تعداد زيادی  از بلاک های فوق را (مضربی از دو خواهد بود) ، بخود اختصاص خواهند داد. برنامه ها در بلاک هائی با طول ثابت مستقر می گردند. هر بلاک دارای محدوده های خاص خود بوده که  توسط کلمات چهار و يا هشت بايت ايجاد خواهند شد. بلاک ها و محدو ده های فوق اين اطمينان را بوجود خواهند آورد که برنامه ها در محدوده های متداخل مستقر نخواهند شد.  پس از پر شدن فضای 500 کيلوبايت اختصاصی برای برنامه های کاربردی ، وضعيت سيستم به چه صورت تبديل خواهد گرديد؟

در اغلب کامپيوترها ، می توان ظرفيت حافظه را ارتقاء و افزايش داد. مثلا" می توان ميزان حافظه RAM موجود را از يک مگابايت به دو مگابايت ارتقاء داد. روش فوق يک راهکار فيزيکی برای افزايش حافظه بوده که در برخی موارد دارای چالش های خاص خود می باشد. در اين زمينه می بايست راهکارهای ديگر نيز مورد بررسی قرار گيرند. اغلب اطلاعات ذخيره شده توسط برنامه ها در حافظه ، در تمام لحظات مورد نياز نخواهد نبود. پردازنده در هر لحظه قادر به دستيابی به يک محل خاص از حافظه است . بنابراين اکثر حجم حافظه در اغلب اوقات  غير فابل استفاده است . از طرف ديگر با توجه به اينکه فضای ذخيره سازی حافظه ها ی جانبی نظير ديسک ها بمراتب ارزانتر نسبت به حافظه اصلی است ، می توان با استفاده از مکانيزمهائی اطلاعات موجود در حافظه اصلی را  خارج و آنها را موقتا"  بر روی هارد ديسک  ذخيره نمود.  بدين ترتيب فضای حافظه اصلی آزاد و در زمانيکه به اطلاعات ذخيره شده بر روی هارد ديسک نياز باشد ، مجددا" آنها را  در حافظه مستقر کرد. روش فوق " مديريت حافظه مجازی " ناميده می شود. 

حافطه های  ذخيره سازی ديسکی ، يکی از انواع متفاوت حافظه موجود بوده که می بايست توسط سيستم عامل مديريت گردد. حافطه های با سرعت بالای Cache ، حافظه اصلی و حافظه های جانبی نمونه های ديگر از حافظه  بوده که  توسط سيستم عامل مديريت گردند.

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

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

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

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

مديريت تمام منابع موجود در يک سيستم کامپيوتری ، يکی از مهمترين و گسترده ترين وظايف يک سيستم عامل است .

ارتباط سيستم با دنيای خارج

اينترفيس برنامه ها
سيستم عامل در رابطه با اجرای برنامه های کامپيوتری خدمات فراوانی را ارائه می نمايد. برنامه نويسان و پياده کنندگان نرم افزار می توانند از امکانات فراهم شده توسط سيستم های عامل استفاده و بدون اينکه نگران و يا درگير جزئيات عمليات در سيستم باشند ، از خدمات مربوطه استفاده نمايند. برنامه نويسان با استفاده از  API)Application program interface) ، قادر به استفاده از خدمات ارائه شده توسط سيستم های عامل در رابطه با طراحی و پياده سازی نرم افزار می باشند. در ادامه یه منظور بررسی جايگاه API به بررسی مثالی پرداخته خواهد شد که هدف ايجاد يک فايل بر روی هارد ديسک برای ذخيره سازی اطلاعات است .

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

 MakeFile [1,%Name,2]

 دستورالعمل فوق به سيستم عامل خواهد گفت که فايلی را ايجاد که شيوه دستيابی به داده های آن بصورت تصادفی ( عدد يک بعنوان اولين پارامتر ) ، دارای نام مشخص شده توسط کاربر (Name%) و دارای طولی متغير است . ( عدد 2 ، بعنوان سومين پارامتر) سيستم عامل دستور فوق را بصورت زير انجام خواهد داد :

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

  • با توجه به اطلاعات ارسالی ، سيستم عامل يک entry در سيستم فايل مربوطه ايجاد و ابتدا و انتهای فايل ، نام فايل ، نوع فايل ، تاريخ و زمان ايجاد فايل و ساير اطلاعات ضروری  را ذخيره خواهد کرد.

  • سيستم عامل اطلاعاتی را در ابتدای فايل یه منظور مشخص کردن فايل ، تنظيمات مربوط به شيوه دستيابی به فايل و ساير اطلاعات مورد نياز را خواهد نوشت .

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

اينترفيس کاربر
API يک روش يکسان برای برنامه های کامپيوتری یه منظور استفاده از منابع موجود در يک سيستم کامپيوتری را فراهم می نمايد. بخش رابط کاربر (UI) ، يک ساختار مناسب ارتباطی بين کاربر و کامپيوتر را فراهم می آورد.  اکثر سيستم های عامل از رابط های گرافيکی در اين زمينه استفاده می نمايند. بخش رابط کاربر هر سيستم عامل شامل يک و يا مجموعه ای از برنامه های کامپيوتری است که بصورت يک لايه در بالاترين سطح يک سيستم عامل و در ارتباط با کاربر مستقر می گردند. برخی از سيستم های عامل از رابط های گرافيکی ( نظير ويندوز ) و برخی ديگر از رابط های مبتنی بر متن ( نظير سيستم عامل DOS ) استفاده می نمايند.

 

 

مهندسی نرم‌افزار

مهندسی نرم‌افزار پیشه‌ای است که به یاری دانش رایانه و دیگر فناوری‌ها و روش‌ها به آفریدن و نگاهداری نرم‌افزار رایانه‌ای می‌پردازد.

مسائل اصلی مهندسی نرم‌افزار تولید نرم‌افزار بر اساس موارد زیر است:

  • الزام های تعیین شده
  • در زمان تعیین شده
  • در محدودهٔ بودجه پیش‌بینی شده

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

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

فناوری‌ها و خدمات مهندسی نرم‌افزار به کاربران برای بهبود بهره‌وری و کیفیت یاری میرساند. نمونه‌هایی از زمینه‌های بهبود: پایگاه داده‌ها، زبان‌ها، کتابخانه‌ها، الگوها، فرآیندها و ابزا



 

  LAN يا شبكه محلي

 

LAN  مخفف عبارت LOCAL AREA NETWORK يا شبكه كامپيوتري محلي است. LAN  يك سيستم ارتباطي سرعت بالاست كه براي اتصال كامپيوتر ها و ديگر تجهيزات ( مانند پرينتر، اسكنر، دستگاه كپي و ...) به يكديگر طراحي شده است. البته LAN  براي يك ناحيه كوچك مانند يك ساختمان يا يك شركت و مانند آن طراحي شده است. با اتصال چند شبكه محلي يا LAN  به يكديگر مي توانيد يك شبكه بزرگتر به نام WAN يا WIDE AREA NETWORK بسازيد. يك شبكه كامپيوتري به شما اجازه مي دهد تا از قطعات و تجهيزات كامپيوتري به طور مشترك استفاده كنيد.مثلاً مي توانيد در خريد تعداد زيادي تجهيزات گرانقيمت از قبيل پرينتر، DVD-WRITER و ... و برنامه هاي كاربردي صرفه جويي كنيد. چون مي توانيد آنها را بين چند كامپيوتر به اشتراك بگذاريد. برتري ديگر شبكه سهولت استفاده گروهي از اطلاعات است. به طوريكه از يك كامپيوتر مي توان اطلاعات مورد نظر به همه كامپيوتر ها انتقال داد. شبكه هاي محلي كه گاه به آنها شبكه هاي خانگي هم گفته مي شود تكنولوژي دستيابي اشتراكي را اجرا مي كنند. در همه اين شبكه ها مسير انتقال اطلاعات معمولاً كابل كوكسيال، كابل دو سيمه يا كابل فيبر نوري است وجود دارد. ارتباط فيزيكي با شبكه از طريق يك كارت شبكه يا يك كارت رابط شبكه يا NIC كه مخفف عبارات NETWORK INTERFACE CARD است انجام مي پذيرد. كارت شبكه كه يك قطعه سخت افزاري در داخل كامپيوتر است  امروزه به شكلهاي مختلف در بازار يافت مي شود. كابل شبكه در نهايت به كارت شبكه متصل است. بعد از اتصال سخت افزاري نرم افزار شبكه  ارتباط بين كامپيوتر ها و ديگر تجهيزات را كه هر كدام را يك ايستگاه مي ناميم مديريت مي كند. براي ارسال يك پيغام از يك كامپيوتر يا دريافت آن نرم افزار شبكه پيغام مزبور را به بسته هاي اطلاعاتي تقسيم مي كند. ( البته در صورتيكه پيغام براي قرار گرفتن در يك بسته اطلاعاتي بزرگ باشد.) هر بسته اطلاعاتي غير از اينكه حامل اطلاعات ماست داراي يك سر برگ و يك دنباله است. كه حامل اطلاعاتي خاص آن بسته و مقصد آن است. كه بوسيله اين اطلاعات مشخص مي شود كه بسته ها بايد كجا بروند و چگونه در مقصد به يكديگر متصل شوند.

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

هر LAN  يا شبكه محلي توپولوژي يا چيدمان هندسي خود را دارد. سه توپولوژي پايه وجود دارد: باس (گذرگاه) ، رينگ (حلقوي)، استار(ستاره). بيشتر شبكه هاي محلي تركيبي از اين سه چيدمان هستند.

در توپولوژي باس همه دستگاهها به كابل مركزي يا همان باس متصل مي شوند.

by http://www.yadbegir.com/

در توپولوژي رينگ دستگاهها به يك حلقه بسته متصل شده اند. به طوريكه هر دستگاه به دستگاه بعدي متصل مي شود. اين يك توپولوژي قوي است به طوريكه در صورت بروز اشكال در يك دستگاه به احتمال زياد كل شبكه دچار مشكل نمي شود.

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

بسته به توپولوژي و تجهيزات و فورمت ارسال اطلاعات يك شبكه محلي كامپيوتري مي تواند تا سرعت 100Mbps به انتقال اطلاعات بپردازد.

 

 

 

 

 

 

img/daneshnameh_up/4/49/compu.jpg

مقدمه


شاید درمیان رشته های فنی و حرفه ای بسیاری از دانش آموزان بیشتراز دبیران خود با کامپیوتر و عملکرد آن آشنا باشند رشته کامپیوتر از وسیع ترین رشته هایی است که تعدد قابلیت ها و علومی که به صورت شگفت انگیزی به رایانه وابسته است هر روز افق های جدیدی را در اختیار کاربران و فعالین این رشته در سراسر جهان قرار می دهد.
از صنعت سینما تا آموزش از راه دور (آموزش الکترونیک) و خیلی چیزهای دیگر بوسیله رایانه صورت می گیرد.
افراد به حسب تخصصشان به دسته های متفاوتی تقسیم شده اند.
برنامه نویسان، گرافیست ها، برنامه سازان، تعمیرکاران سیستم های رایانه ای و دیگران هر یک به نوعی با رایانه کار می کنند.
این رشته با ورود اینترنت جان تازه گرفته و شما در کنار تحصیل می توانید با مبانی کامپیوتر، مبانی برنامه سازی، نرم افزارهای کاربران متداول مانند (Word,Exel,Toolkit)، زبان های برنامه سازی تحت ویندوز مانند ویژوال بیسیک، پاسکال، بیسیک) بانک های اطلاعاتی و برنامه سازی تجاری با استفاده از نرم افزارAccess، تجزیه و تحلیل و طراحی سیستم های کامپیوتری، زبان تخصصی با آشنایی با اصطلاحات تخصص رایانه، طراحی مدارات منطقی پایه سخت افزار و تکنولوژی رایانه، شبکه های کامپیوتری آشنا شوید.

درسهای رشته

سال دوم
ردیف نام درس نظری عملی
1 آمادگی دفاعی 2 0
2 ادبیات فارسی (2) 2 0
3 برنامه سازی پاسگال (1) 2 1
4 تربیت بدنی (2) 0 1
5 تعلیمات دینی و قرآن (2) 3 0
6 جغرافیای عمومی و استان 3 0
7 ریاضی (2) 4 0
8 زبان خارجه (2) 2 0
9 زبان فارسی (2) 2 0
10 سیستم عامل 1 1 1
11 عربی (1/2) 1 0
12 فیزیک و آزمایشگاه 2 1
13 مبانی برنامه سازی 2 1
14 مبانی کامپیوتر 2 1
15 کارگاه بسته های نرم افزاری (1) 0 1
16 کارگاه بسته های نرم افزاری (1) 0 1

سال سوم
ردیف نام درس نظری عملی
1 آشنایی با شبکه 2 0
2 برنامه سازی پاسگال (2) 1 2
3 بسته های نرم افزاری (2) 0 2
4 برنامه سازی تجاری 2 1
5 تاریخ معاصر ایران 2 0
6 تجزیه و تحلیل و طراحی سیستم های کامپیوتری (1) 0 0
7 تربیت بدنی (3) 0 1
8 تعلیمات دینی و قرآن (3) 3 0
9 تکنولوژی و کارگاه سخت افزار (1) 2 1
10 ریاضی (3) 1 1
11 زبان تخصصی 2 0
12 عربی (2/2) 1 0
13 ویژوال بیسیک 2 1
14 کارآموزی 0 2


صنعت و بازار

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


چطور اینترنت کار می‌کند؟

چطور اینترنت کار می‌کند؟
فضای سایبر > مفاهیم سایبر  - همشهری آنلاین- جواد نصرتی:
اینترنت پدیده‌ای است که زندگی بدون آن برای بسیاری از انسان‌ها، دیگر غیرقابل تحمل و حتی غیرممکن است.

همه ما بااینترنت سر و کار داریم. اما اینترنت چگونه کار می‌کند؟ چه اجزایی دارد و مهم‌تر این که به چه کسی تعلق دارد؟ به سروری که از طریق آن وارد دنیای مجازی وب می‌شویم؟ به ما  که کاربران آن هستیم؟

در واقع هیچکدام. چون اینترنت نه به ما که به هیچ کس دیگری تعلق ندارد.

اینترنت مجموعه‌ای جهانی از شبکه‌های بزرگ و کوچک است که به هم پیوسته‌اند و نام اینترنت (شبکه‌های در هم تنیده) از همین مجموعه گرفته شده است.

اینترنت کارش را سال 1969 با چهار هسته یا سیستم کامپیوتری میزبان شروع کرد اما امروز میلیون‌ها مورد از آنها در سراسر جهان وجود دارند.

دسن

پرونده‌ها:

more  اینترنت: یک نمای درشتآنارشی و اینترنتاینترنت خوب یا بد / اینترنت و تغییر فرهنگیآیا اینترنت جای مناسبی برای تضارب آراء است؟اینترنت و تاثیرات آن بر اقتصاد جهانیعملیات اینترنت؛ گذشته، حال و آیندهاینترنت در خدمت اطلاع رسانیاینترنت ابزاری جهان‌گرایانه، دین محتوایی جهان‌گرایانهحیات دینی و اینترنتاینترنت، ارتباطات و فرهنگ - 1 / اینترنت، ارتباطات و فرهنگ - 2  / نا امنی‌های اینترنتی / ایران و نقشه جهانی اینترنت / اینترنت به میانسالی رسید / تغییر تعریف کاربر اینترنت در ایران / اعتیاد اینترنتی، افسردگی می‌آورد / اینترنت در سال 2010 / اینترنت؛ زباله‌دان یا گنجینه اطلاعات؟ / اینترنت جدیدی در راه است / دردسرهای جدید برای غول اینترنت / نیمه‌تاریک اینترنت / صدا، تصویر، اینترنت! / آینده اینترنت و بیطرفی شبکه‌ای / آیا شرکت‌های کوچک‌ اینترنتی از بین می‌روند؟ / اینترنت عامل تغییر ارتباطات رسانه‌ای / آیا خود را در اینترنت جستجو کرده‌اید؟ / اینترنت؛ منبعی جدید برای محققان / موتورهای جستجوی اخلاقی بر روی اینترنت / اینترنت شما را شاد می‌کند / اینترنت، سه‌بعدی می‌شود / اعتیاد اینترنتی نشانه‌ها و علائم / مواظب غریبه‌ها در اینترنت باشید / قربانیان تهدید اینترنتی به افسردگی مبتلا می‌شوند /

more   آشنایی با مزایا و معایب اینترنت برای کودکان / آشنایی با بزرگ‌ترین فریب‌های اینترنتی / چطور مرورگر اینترنت کار می‌کند؟ / آشنایی با جرایم اینترنتی /

دسن

البته این که گفته می‌شود اینترنت صاحب ندارد بدان معنا نیست که هیچ کس بر آن نظارت ندارد. یک موسسه غیرانتفاعی به نام انجمن اینترنت (Internet Society) که در سال 1992 تشکیل شده است مسئول نظارت بر  آن است و مراقب است که پروتکل‌ها و قوانینی که در مورد اینترنت تصویب شده‌اند، در سراسر جهان اجرا شوند.[آشنایی با آیکان]

تسلسل شبکه‌ها

هر کامپیوتری که به اینترنت وصل است - از جمله کامپیوتری که با آن این گزارش را می‌خوانید- بخشی از یک شبکه است. شما که در خانه با یک مودم به یک موسسه ارائه دهنده سرویس‌های اینترنتی (ISP) وصل می‌شوید؛ در محل کار  بخشی از یک شبکه محلی هستید و بیشتر مواقع باز هم از طریق مودم به یک ISP  و از آن به اینترنت وصل می‌شوید و یا اینکه ...

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

معمولا این شرکت‌ها در هر منطقه یک نقطه حضور (POP) دارند. POP جایی است که کاربران محلی با استفاده از مودم و تلفن یا خطوط ارتباطی مشخصی به شبکه شرکت وصل می‌شوند. نکته جالب این است که در هیچ شبکه‌‌ای مرجع کنترل کننده‌ای وجود ندارد و به جای آن چند شبکه سطح بالا وجود دارند که از طریق نقاط دسترسی شبکه (NAP) به هم متصل می‌شوند.

نمونه شبکه‌ای

برای درک این پروسه به این مثال توجه کنید:
شرکت A یک ISP بزرگ است. این شرکت در هر شهر بزرگی یک نقطه حضور (POP) دارد. این POP ها قفسه‌های پر از مودم‌ هستند که مشتریان ISP با تلفن به آنها متصل می‌شوند. شرکت A خطوطی از  جنس فیبر نوری  را از شرکت مخابرات اجاره کرده است تا به وسیله آنها نقاط حضورش را به هم متصل کند.

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

نقشه نقاط اتصال مرکز داده uunet در امریکا

در این ساختار تمام مشتریان شرکت A می‌توانند با هم ارتباط داشته باشند و تمام مشتریان شرکت B با هم در ارتباط هستند. اما هیچ کدام از مشتریان شرکت A نمی‌تواند با مشتریان شرکت B ارتباط داشته باشد.

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

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

 

مشخص کردن این مسیرها به عهده روتر‌ها است. روتر‌ها (راهبان‌ها یا مسیریاب‌ها) مشخص می‌کنند که اطلاعات از کدام مسیر از یک کامپیوتر به کامپیوتر دیگر بروند.

آنها در واقع کامپیوتر‌های حرفه‌ای و قدرتمندی هستند که پیغام‌های ما را می‌فرستند  و از طریق هزاران مسیری که تعریف شده است انتقال پیغام را سرعت می‌بخشند.

یک روتر (راهبان) دو وظیفه مجزا اما مرتبط با هم دارد:
    - تضمین می‌کند که اطلاعات به جایی که نباید بروند، نروند.
    - تضمین می‌کند که اطلاعات به مقصد مورد نظر برسد.

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

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

بک‌بُن‌ها
اولین بک‌بُن دنیا در سال 1987 توسط بنیاد ملی علم آمریکا  (NFS) درست شد. این بک‌بُن که NSFNET نام داشت یک خط T1 بودکه 170 شبکه کوچک‌تر را به هم متصل می‌کرد و با سرعت انتقال 554/1 مگا بایت در ثانیه کار می‌کرد. یک سال بعد NSF با همکاری IBM و MCI بک‌بُن T3 (45 مگا بایت بر ثانیه) ایجاد کرد.

بک‌بُن‌ها معمولا شاهراه‌هایی از جنس فیبر نوری هستند. این شاهراه‌ها از چندین فیبر نوری در هم تنیده تشکیل شده‌اند تا ظرفیت انتقال داده‌هایشان بیشتر شود.
 این کابل‌ها با  علامت OC مشخص می‌شوند مانند: OC-3 ،OC-12 یا OC-48 . یک OC-3 توانایی انتقال 155 میلیون بایت را در ثانیه دارد در حالی که یک OC-48 می‌تواند 2488 میلیون بایت(488/2 گیگا بایت) را درثانیه انتقال دهد.

برای این که به سرعت بالای بک‌بُن‌های مدرن پی ببریم کافی است آنرا با مودم‌های معمولی 56K مقایسه کنیم که 56000 هزار بایت را در ثانیه منتقل می‌کنند.

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

اینترنت موافقت‌نامه‌ای تو در تو و بسیار عظیم بین شرکت‌ها است تا به صورت مجانی با هم ارتباط برقرار کنند.

پروتکل اینترنتی: نشانی‌های IP
هر کامپیوتری در اینترنت یک شماره اختصاصی دارد که به آن نشانی IP می‌گویند.

IP علامت اختصاری پروتکل اینترنتی ‌است؛ زبانی که کامپیوترها به ‌وسیله آن با هم ارتباط برقرار می‌کنند. یک پروتکل، راه از پیش تعریف شده‌ای است که هرگاه کسی می‌خواهد از یک سرویس استفاده کند، از طریق آن وارد عمل می‌شود.

این «استفاده کننده» (کاربر) در این جا می‌تواند یک شخص حقیقی‌ و یا یک برنامه  مثل نرم افزارهای  استفاده کننده از اینترنت باشد.
یک IP معمولا بدین شکل است:

38.113.162.42

ما انسان‌ها برای اینکه این نشانی‌ها را راحت حفظ کنیم، آنها را به صورت بالا می نویسی (که البته این هم راحت نیست) اما کامپیوترها به صورت باینری یا با هم ارتباط برقرار می‌کنند‌ و نشانی IP بالا به زبان باینری بدین شکل است:

100110.111001.10100010.101010

به عدد چهار بخشی موجود در IP اوکتتز(اوکتتز از ریشه عدد هشت یونانی گرفته شده است) گفته می‌شود چون هر کدام از آنها در صورت تبدیل به فرم باینری (دو دوئی) هشت موقعیت دارند. اگر این موقعیت‌ها را به هم اضافه کنیم می‌شود 32 و دلیل این که به نشانی‌های IP اعداد 32 بایتی می‌گویند همین است.[چطور بیت و بایت کار می‌کند؟]

از آن جا که هر کدام از این موقعیت‌ها در سیستم باینری می‌توانند دو حالت داشته باشند  (صفر یا یک)، تعداد نهایی حالات ترکیب آنها در اوکتتز، 232  یا  4,249,967,296تعداد منحصر به فرد است.

در ازای تقریبا 4.3 میلیارد ترکیب محتمل، اعداد خاصی به عنوان نشانی‌های  ‌IP مشخص انتخاب شده‌اند.

برای نمونه، نشانی 0.0.0.0 برای شبکه‌های پیش‌فرض در نظر گرفته شده است و نشانی 255.255.255.255 برای broadcastها.

اوکتتز‌ها به جز جدا کردن اعداد کار دیگری هم دارند. از آنها برای ساخت کلاس‌هایی از IP ها استفاده می‌شود که می‌توانند در موارد خاص تجاری، دولتی و ... استفاده شوند.

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

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

در آن زمان برای این که ارتباط بین دو کامپیوتر برقرار شود کاربران باید IP  کامپیوتری را که می‌خواستند با آن ارتباط برقرار کنند تهیه می‌کردند. برای نمونه نشانی IP یک کامپیوتر 216.27.22.162 بود و کاربر برای برقراری ارتباط با آن باید آن را تهیه می‌کرد. در اوایل این کار چندان سخت نبود اما با گسترش استفاده‌کنندگان اینترنت، تهیه IP دیگران دیگر غیر ممکن شد.

اولین راه‌حل یک تکست فایل ساده بود که توسط مرکز اطلاعات شبکه‌ها تهیه شد و نام‌ها را به نشانی‌های IP هدایت می‌کرد. به زودی این فایل به قدری کند و ناکارآمد شد که نمی‌شد آن را مدیریت کرد. در سال 1983، دانشگاه وییسکانسین سیستم نام‌ دامنه (DNS) را ابداع کرد که نام‌های تکست را به صورت خود‌کار به نشانی‌های IP  هدایت می‌کرد.

در این روش شما به جای این که IP یک سایت،‌ مثلا hamshahrionline.ir  را حفظ کنید تنها hamshahrinline.ir  را حفظ می‌کنید.

URL ؛ مکان‌نمای یکسان منبع (نشانی سایت)

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

برای نمونه نشانی www.hamshahrionline.ir نام دامنه hamshahrionline.ir را در بر دارد. همین نام دامنه در example@hamshahrionline.ir هم وجود دارد. هر بار که ما از یک نام دامنه استفاده می‌کنیم، از سرورهای نام‌های دامنه (DNS) استفاده می‌کنیم که نام‌های دامنه قابل خواندن برای انسان را به IPهای قابل فهم برای ماشین تبدیل می‌کند.

نام‌های دامنه سطح بالا که به آنها دامنه‌‌های سطح اول هم گفته می‌شود این‌ها هستند: .COM، .ORG ، .IR،  .NET ، .EDU و .GOV.

چند سایت معروف که از دامنه .COM استفاده می‌کنند این‌ها هستند:

• Google
• Yahoo
• Microsoft

هر نامی در دامنه سطح بالای COM. باید منحصر به فرد باشد. کلمه همیشگی سمت چپ مثل WWW ، نام میزبان است که نام یک ماشین خاص (با یک IP خاص) را در یک دامنه مشخص می‌کند.
یک دامنه داده شده می‌تواند به صورت بالقوه نام میلیون‌ها هاست(میزبان) را تا زمانی که در آن منحصر به فرد هستند در بر بگیرد.

سرور نام‌ ‌ای دامنه (DNS)،  درخواست‌ها را از برنامه‌ها و دیگر سرورهای نام‌ دریافت می‌کنند تا نام‌های دامنه را به نشانی‌های IP تبدیل کنند.

وقتی که یک درخواست به سرور نام‌دامنه وارد می‌شود، سرور یکی از چهار کار زیر را بر روی آن انجام می‌دهد:

1- با یک نشانی IP به آن جواب می‌دهد چون نشانی IP دامنه درخواست شده را می‌داند.
2- با دیگر سرور‌های سیسم نام‌ دامنه تماس می‌گیرد و سعی می‌کند نشانی IP نام درخواست شده را پیدا کند. البته سرور شاید چندین بار این کار را انجام دهد.
3- امکان دارد بگوید: من نشانی IP دامنه‌ای که شما خواسته‌اید ندارم اما نشانیIP سرور دیگری را به شما می‌دهم که نشانی‌های بیشتری از من می‌داند.
4- یک پیغام ارور(Error) می‌فرستد، چون دامنه درخواست شده یا وجود ندارد یا دیگر اعتبار ندارد.

برای درک این پروسه بهتر است به این نمونه توجه کنید:

فرض کنید شما نشانی Hamshahrionline.ir را در مرورگر خود تایپ می‌کنید. مرورگر برای یافتن نشانی IP به یک سرور نام‌ دامنه(DNS) مراجعه می‌کند. این سرور هم جستجو را با تماس با یکی از روت سرور‌ها(سرورهای اصلی)  آغاز می‌کند.

روت سروها نشانی‌های IP تمام DNS سرورها را که با دامنه‌‌های سطح بالا (.COM  ،.NET ،.IR  و... ) کار می‌کنند دارند. سرور DNS شما از روت‌ سرور  www.hamshahrionline.ir را می‌خواهد. اگر روت سرور این IP را نداشته باشد می‌گوید:

«من IP درخواست شما (www.hamshahrionline.ir) را ندارم اما IP سرور دامنه‌‌های .IR را به شما می‌دهم».

آن وقت سرور نام دامنه شما، یک درخواست به سرور  دی‌ان‌اس‌ .IR می‌فرستد و از آن می‌پرسد که آیا نشانی IP برای www.hamshahrionline.ir  می‌شناسد یا نه. سرور DNS دامنه‌های IR، نشانی‌های IP سرور نامی را که با دامنه www.hamshahrionline.ir در ارتباط‌ هستند می‌شناسند، به همین خاطر درخواست شما را به آنها ارجاع می‌دهد.

سرور نام شما سپس به سرور دی‌ان‌اس www,hamshahrionline.ir   مراجعه می‌کند و می‌پرسد که آیا این سرور DNS ، نشانی IP www.hamshahrionline.ir را می‌شناسد یا نه.

این سرور قطعا نشانی IP مورد درخواست ما را دارد بنابر این آن‌را به سرور DNS ما می‌‌دهد. این سرور هم آن را به مرورگر ما می‌دهد و مرورگر برای دریافت یک صفحه وب از www.hamshahrionline.ir به سرور مراجعه می‌کند.

یکی از کلیدهای موفقیت در  انجام چنین کاری افزونگی تکرار و فراوانی است. در هر سطح چندین سرور DNS وجود دارد و هر گاه یک درخواست به جواب نرسد چندین سرور دیگر برای رسیدن به جواب وجود دارد. کلید دیگر  cashing است.

وقتی که یک سرور DNS یک درخواست را به جواب می‌رساند، نشانی IP دریافت شده را ذخیره می‌کند. و وقتی که یک درخواست دامنه .IR  را به یک روت سرور ارجاع می‌دهد، نشانی IP سروری را که IP دامنه‌های .IR را دارد ذخیره می‌کند تا دفعه بعد که دوباره درخواستی برای نشانیIP دامنه .IR دریافت کرد بدون واسطه روت سرور به همین سرور DNS مراجعه کند.

سرور DNS این کار را می‌تواند برای هر درخواست انجام دهد و cashing به آن این اجازه را می‌دهد که از جستجو‌های بی‌مورد دست بردارد.
سرورهای DNS روزانه به میلیاردها درخواست پاسخ می‌دهند و وجود آنها برای عملکرد روان اینترنت بسیار ضروری است.

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

کلاینت‌ها و سرورها
سرورها دسترسی یه اینترنت را برای ما میسر می‌کنند. تمام ماشین‌های موجود در اینترنت یا سرور هستند یا کلاینت. سرورها دستگاه هایی هستند که به دیگر ماشین‌ها سرویس ارائه می‌دهند و ماشین‌هایی که از آنها برای برقراری ارتباط با سرورها استفاده می‌شود کلاینت هستند.

در فضای اینترنت، این سرور‌های وب،‌ سرورهای ایمیل، سرورهای FTP و دیگر سرورها هستند که نیازهای ما برای ایجاد ارتباط  را برطرف می‌کند.
وقتی که شما می‌خواهید به www.hamshahrionline.ir متصل می‌شوید تا یک صفحه را بخوانید، از یک کلاینت (کامپیوتری که پشت آن نشسته‌اید) استفاده می ‌کنید.

در واقع ابتدا به سرور وب www.hamshahri.ir دسترسی پیدا می‌کنید؛ ماشین سرور صفحه‌ای را که شما درخواست کرده‌اید پیدا می‌کند و برایتان می‌فرستد. کلاینت‌هایی هم که به یک ماشین سرور متصل می‌شوند همین کار را با یک منظور مشخص انجام می‌هند؛ یعنی درخواست‌هایشان را به یک نرم افزار مشخص سرور که در یک ماشین سرور فعال است هدایت می‌کنند.

هر سرور یک نشانی IP ثابت دارد که به ندرت تغییر پیدا می‌کند. در مقابل یک کامپیوتر خانگی که از طریق مودم شماره‌گیری می‌کند هر بار که به ISP متصل می‌شود یک نشانی IP دریافت می‌کند.
این IP تا هنگامی که شما به اینترنت وصل هستید منحصراً در  اختیار شماست اما هر بار که به یک ISP متصل شوید، یک IP  جدید دریافت خواهید کرد. بدین ترتیب ISP  به جای این که هر مشتری را با یک IP بشناسد، هر مودم را با یک IP می‌شناسد.

پورت‌ها
وقتی‌ که یک کلاینت به وسیله یک پورت به یک سرویس متصل می‌شود، از یک پروتکل مشخص استفاده می‌کند. پروتکل‌ها معمولاً به صورت تکست هستند و به سادگی تعریف می‌کنند که چگونه کلاینت‌ها و سرورها با هم ارتباط برقرار می‌کنند. هر وب سرور در اینترنت پروتکل انتقال تکست‌های هایپر (HTTP) را می‌شناسد.

اجزایی که طرز کارشان در این گزارش معرفی شدند (شبکه‌ها، روتر‌ها [راهبان‌ها]، نقاط دسترسی شبکه[NAP]، سیستم نام‌‌های دامنه[DNS] و سرورهای پرقدرت)، جیزهایی هستند که ما برای دسترسی به اینترنت به آنها نیاز داریم.

نکته جالب در مورد آنها این است که این سیستم‌های عریض و طویل دسترسی ما به اینترنت را تنها در چند میلیونیوم ثانیه امکان‌پذیر می‌کنند.
این اجزا در دنیای مدرن بسیار مهم هستند چرا که بدون آنها دسترسی به اینترنت ممکن نیست و دنیای بدون اینترنت هم برای بسیاری از ما معنایی ندارد