سیستم عامل

سيستم عامل

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

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

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

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

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

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

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

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

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

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

 MakeFile [1,%Name,2]

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

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

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

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

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

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

کارت گرافيک

کارت گرافيک

 کارت گرافيک در کامپيوتر شخصی دارای جايگاهی خاص است . کارت های فوق اطلاعات ديجيتال توليد شده توسط کامپيوتر را اخذ و آنها را بگونه ای تبديل می نمايند که برای انسان قابل مشاهده باشند. در اغلب کامپيوترها ، کارت های گرافيک اطلاعات ديجيتال را برای نمايش توسط نمايشگر ، به اطلاعات آنالوگ تبديل می نمايند. در کامپيوترهای Laptop اطلاعات، همچنان ديجيتال باقی خواهند ماند چون کامپيوترهای فوق اطلاعات را بصورت ديجيتال نمايش می دهند.
اگر از قاصله بسيار نزديک به صفحه نمايشگر يک کامپيوتر شخصی نگاه کنيد ، مشاهده خواهيد کرد که تمام چيزهائی که بر روی نمايشگر نشان داده می شود از "نقاط" تشکيل شده اند . نقاط فوق " پيکسل " ناميده می شوند. هر پيکسل دارای يک رنگ است . در برخی نمايشگرها ( مثلا" صفحه نمايشگر استفاده شده در کامپيوترهای اوليه مکينتاش ) هر پکسل صرفا" دارای دو رنگ بود: سفيد و سياه . امروزه در برخی از صفحات نمايشگر ، هر پيکسل می تواند دارای 256 رنگ باشد. در اغلب صفحات نمايشگر ، پيکسل ها بصورت " تمام رنگ " (True Color) بوده و دارای 16/8 ميليون حالت متفاوت می باشند. با توجه به اينکه چشم انسان قادر به تشخيص  ده ميليون رنگ متفاوت می باشد ، 16/8 ميليون رنگ بمراتب بيش از آن چيزی است که چشم انسان قادر به تشخيص آنها بوده و بنظر همان ده ميليون رنگ کفايت می کند!
هدف يک کارت گرافيک ، ايجاد مجموعه ای از سيگنالها است که نقاط فوق را بر روی صفحه نمايشگر ، نمايش دهند.

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

مبانی کارت گرافيک
به منظور شناخت اهميت و جايگاه کارت های گرافيک ، يک کارت گرافيک با ساده ترين امکانات را در نظر می گيريم . کارت مورد نظر قادر به نمايش پيکسل های سياه وسفيد بوده و از يک صفحه نمايشگر با وضوح تصوير 480 * 640 پيکسل استفاده می نمايد.  کارت گرافيک از سه بخش اساسی زير تشکيل می شود :

  • حافظه . اولين چيزی که يک کارت گرافيک به آن نياز دارد ، حافظه است . حافظه رنگ مربوط به هر پيکسل را در خود نگاهداری می نمايد. در ساده ترين حالت ( هر پيکسل سياه و سفيد باشد ) به يک بيت برای ذخيره سازی رنگ هر پيکسل نياز خواهد بود. با توجه به اينکه  هر بايت شامل هشت بيت است ، نياز به هشتاد بايت (حاصل تقسيم 640 بر 8 ) برای ذخيره سازی رنگ مربوط به پيکسل های موجود در يک سطر بر روی صفحه نمايشگر  و 38400 بايت ( حاصلضرب 480 در 80 ) حافظه به منظور نگهداری تمام پيکسل های قابل مشاهده بر روی صفحه ، خواهد بود .

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

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

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

عناصر ديگر بر روی کارت گرافيک
يک کارت گرافيک دارای عناصر متفاوتی است :

  • پردازنده گرافيک . پردازنده گرافيک بمنزله مغز يک کارت گرافيک است . پردازنده فوق می تواند يکی از سه حالت پيکربندی زير را داشته باشد :
    - Graphic Co-Processor . کارت هائی از اين نوع قادر به انجام هر نوع عمليات گرافيکی بدون کمک گرفتن از پردازنده اصلی کامپيوتر می باشند.
    - Graphics Accelerator . تراشه موجود بر روی اين نوع کارت ها ، عمليات گرافيکی را بر اساس دستورات صادره شده توسط پردازنده اصلی کامپيوتر انجام خواهند داد.
    -  FrameBuffer . تراشه فوق ، حافظه موجود بر روی کارت را کنترل و اطلاعاتی را برای " مبدل ديجيتال به آنالوگ " (DAC) ارسال خواهد کرد . عملا" پردازشی توسط تراشه فوق انجام نخواهد شد.

  • حافظه . نوع حافظه استفاده شده  بر روی کارت های گرافيک متغير است . متداولترين نوع ، از پيکربندی dual-ported استفاده می نمايد. در کارت های  فوق امکان نوشتن در يک بخش حافظه و امکان خواندن از بخش ديگر حافظه بصورت همزمان امکان پذير خواهد بود. بدين ترتيب مدت زمان لازم برای بازخوانی / بازنويسی يک تصوير کاهش خواهد يافت .

  • Graphic BIOS . کارت های گرافيک دارای يک تراشه کوچک BIOS می باشند. اطلاعات موجود در تراشه فوق به ساير عناصر کارت نحوه انجام عمليات (مرتبط به يکديگر) را تبين خواهد کرد. BIOS همچنين مسئوليت تست کارت گرافيک ( حافظه مربوطه و عمليات ورودی و خروجی ) را برعهده خواهد داشت .

  •  Digital-to-Analog Converter ) DAC) . تبديل کننده فوق را RAMDAC نيز می گويند. داده های تبديل شده به ديجيتال مستقيما" از حافظه اخذ خواهند شد. سرعت تبديل کننده فوق تاثير مستقيمی را در ارتباط با مشاهده يک تصوير بر روی صفحه نمايشگر خواهد داشت .

  • Display Connector . کارت های گرافيک از کانکتورهای استاندارد استفاده می نمايند.اغلب کارت ها از يک کانکتور پانزده پين استفاده می کنند. کانکتورهای فوق همزمان با عرضه VGA :Video Graphic Array  مطرح گرديدند.

  • Computer(Bus) Connector . اغلب گذرگاه فوق از نوع AGP است ..پورت فوق امکان دستيابی مستقيم کارت گرافيک به حافظه را فراهم می آورد.ويژگی فوق  باعث می گردد که سرعت پورت های فوق نسبت به PCI چهار مرتبه سريعتر باشد. بدين ترتيب پردازنده اصلی سيستم قادر به انجام فعاليت های خود بوده و تراشه موجود بر روی کارت گرافيک امکان دستيابی مستقيم به حافظه را خواهد داشت .

استاندارد های کارت گرافيک
اولين کارت گرافيک در سال 1981 توسط شرکت IBM عرضه گرديد. کارت فوق بصورت تک رنگ  و با نام Monochrome Display Adapters)MDAs) ارائه گرديد. صفحات تمايشگری که از کارت فوق استفاده می کردند ، متنی بودند. رنگ نوشته سفيد يا سبز و زمينه سياه بود. در ادامه کارت های چهار رنگ Hercules Graphic Catd)HGC) ارائه گرديدند. سپس کارت های هشت رنگ Color Graphic Adapter)CGA)  و کارت های شانزده رنگ Enhanced Graphic Adapter)EGA) ارائه گرديدند.  توليدکنندگانی ديگر، نظير کمودور کامپيوترهائی را معرفی کردند که دارای کارت های گرافيک از قبل تعبيه شده و ساخته شده در سيستم بودند. کارت های فوق قادر به نمايش تعداد زيادی رنگ بودند.
زمانيکه شرکت IBM در سال 1987  کارت Video Graphic Array)VGA) را معرفی کرد، استاندارد جديدی در اين راستا مطرح گرديد. نمايشگرهای VGA قادر به ارائه 256 رنگ و وضوح تصوير 400 * 720 بودند. يک سال بعد استاندارد Super Video Graphic Array)SVGA) مطرح گرديد.  استاندارد فوق قادر به ارائه 16/8 ميليون رنگ با وضوح تصوير 1024 * 1280 است .
کارت های گرافيک از استانداردهای متفاوتی پيروی می نمايند. توليدکنندگان کارت گرافيک همواره سعی در افزايش تعداد رنگ و وضوح تصوير با توجه به راهکارهای اختصاصی خود دارند. کارت های گرافيک می بايست قادر به اتصال به سيستم باشند. کارت های گرافيک قديمی اغلب از طريق  اسلات های ISA و يا PCI  به سيستم  متصل می شوند . اغلب کارت های گرافيک جديد از پورت AGP برای اتصال به کامپيوتر استفاده می نمايند.

 

 


رمضان


رمضان آمد در بگشائیدش



رمضان مبارک


حافظه Cache

حافظه Cache

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

مبانی Caching  
Caching يک تکنولوژی استفاده شده برای  زير سيستم های حافظه ، در کامپيوتر است . مهمترين هدف يک Cache افزايش سرعت و عملکرد کامپيوتر بدون تحميل هزينه های اضافی برای تهيه سيستم است . با استفاده از Cache عمليات  کاربران با سرعت بيشتری انجام خواهد شد.

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

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

با توجه به مثال فوق ، چندين نکته مهم در رابطه با Cache استنباط می گردد:

  • تکنولوژی Cache ، استفاده از حافظه های سريع  ولی کوچک ، به منظور افزايش سرعت يک حافظه کند ولی با حجم بالا است

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

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

  • اين امکان وجود خواهد داشت که از چندين لايه Cache استفاده گردد.

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

تکنولوژی Cache
يکی از سوالاتی که ممکن است در ذهن خواننده اين بخش خطور پيدا کند اين است که " چرا تمام حافظه کامپيوترها از نوع L1 Cache نمی باشند تا ديگر ضرورتی به استفاده از Cache وجود نداشته باشد؟" در پاسخ می بايست گفت که اشکالی ندارد وهمه چيز هم بخوبی کار خواهد کرد ولی قيمت کامپيوتر بطرز قابل ملاحظه ای افزايش خواهد يافت . ايده Cache ، استفاده از يک مقدار کم حافظه ولی با سرعت بالا( قيمت بالا) برای افزايش سرعت و کارآئی ميزان زيادی حافظه  ولی با سرعت پايين ( قيمت ارزان ) است .
در طراحی يک کامپيوتر هدف فراهم کردن شرايط لازم برای فعاليت پردازنده با حداکثر توان و در سريعترين زمان است . يک تراشه 500 مگاهرتزی ، در يک ثانيه پانصد ميليون مرتبه سيکل خود را خواهد داشت ( هر سيکل در دونانوثانيه ) . بدون استفاده از L1 و L2 Cache ، دستيابی به حافظه حدودا" 60 نانوثانيه طول خواهد کشيد. بهرحال استفاده از  Cache اثرات مثبت خود را بدنبال داشته و باعث بهبود کارآئی پردازنده می گردد.اگر مقدار L2 Cache  معادل 256 کيلو بايت و ظرفيت حافظه اصلی معادل 64 مگابايت باشد ،  256000 بايت مربوط به Cache با استفاده از روش های موجود  قادر به Cache نمودن 64000000 بايت حافظه اصلی خواهند بود.
 

 

حافظه RAM

حافظه RAM

 حافظه (RAM(Random Access Memory شناخته ترين نوع حافظه در دنيای  کامپيوتر است . روش دستيابی به اين نوع از حافظه ها  تصادفی است ، چون می توان به هر سلول حافظه مستقيما" دستيابی پيدا کرد . در مقابل حافظه های RAM ، حافظه های(SAM(Serial Access Memory وجود دارند. حافظه های SAM  اطلاعات را در مجموعه ای از سلول های حافظه ذخيره و صرفا" امکان دستيابی به آنها بصورت ترتيبی وجود خواهد داشت. ( نظير نوار کاست ) در صورتيکه داده مورد نظر در محل جاری نباشد هر يک از سلول های حافظه به ترتيب بررسی شده تا داده مورد نظر پيدا گردد. حافظه های  SAM در موارديکه پردازش داده ها الزاما" بصورت ترتيبی خواهد بود مفيد می باشند ( نظير حافظه موجود بر روی کارت های گرافيک ). داده های ذخيره شده در حافظه RAM با هر اولويت دلخواه قابل دستيابی خواهند بود.

مبانی حافظه های RAM
حافظه  RAM ، يک تراشه مدار مجتمع (IC)  است که از ميليون ها ترانزيستور و خازن تشکيل می گردد .در اغلب حافظه ها  با استفاده و بکارگيری يک خازن و يک ترانزيستور می توان يک سلول  را ايجاد کرد. سلول فوق قادر به نگهداری يک بيت داده می باشد. خازن اطلاعات مربوط به بيت را که يک و يا صفر است ، در خود نگهداری خواهد کرد.عملکرد ترانزيستور مشابه يک سوييچ بوده که امکان کنترل مدارات موجود  بر روی تراشه حافظه را بمنظور خواندن مقدار ذخيره شده در خازن و يا تغيير وضعيت مربوط به آن ، فراهم می نمايد.خازن مشابه يک ظرف ( سطل)  بوده که قادر به نگهداری الکترون ها است . بمنظور ذخيره سازی مقدار" يک"  در حافظه، ظرف فوق می بايست از الکترونها پر گردد. برای ذخيره سازی مقدار صفر، می بايست ظرف فوق خالی گردد.مسئله مهم در رابطه با خازن، نشت اطلاعات است ( وجود سوراخ در ظرف ) بدين ترتيب پس از گذشت چندين ميلی ثانيه يک ظرف مملو از الکترون تخليه می گردد. بنابراين بمنظور اينکه حافظه بصورت پويا اطلاعات  خود را نگهداری نمايد ، می بايست پردازنده و يا " کنترل کننده حافظه " قبل از تخليه شدن خازن، مکلف به شارژ مجدد آن بمنظور نگهداری مقدار "يک" باشند.بدين منظور کنترل کننده حافظه اطلاعات حافظه را خوانده و مجددا" اطلاعات را بازنويسی می نمايد.عمليات فوق (Refresh)، هزاران مرتبه در يک ثانيه تکرار خواهد شد.علت نامگذاری DRAM بدين دليل است که اين نوع حافظه ها مجبور به بازخوانی اطلاعات بصورت پويا خواهند بود. فرآيند تکراری " بازخوانی / بازنويسی اطلاعات" در اين نوع حافظه ها باعث می شود که زمان تلف و سرعت حافظه کند گردد.
سلول های حافظه  بر روی يک تراشه  سيليکون و بصورت آرائه ای مشتمل از ستون ها ( خطوط بيت ) و سطرها ( خطوط کلمات) تشکيل می گردند. نقطه تلاقی يک سطر و ستون بيانگر آدرس سلول حافظه است .
حافظه های DRAM با ارسال يک شارژ به ستون مورد نظر باعث فعال شدن ترانزيستور در هر بيت ستون، خواهند شد.در زمان نوشتن خطوط سطر شامل وضعيتی خواهند شد که خازن می بايست به آن وضغيت تبديل گردد. در زمان خواندن Sense-amplifier ، سطح شارژ موجود در خازن را اندازه گيری می نمايد. در صورتيکه سطح فوق بيش از پنجاه درصد باشد مقدار "يک" خوانده شده و در غيراينصورت مقدار "صفر" خوانده خواهد شد. مدت زمان انجام عمليات فوق بسيار کوتاه بوده و بر حسب نانوثانيه ( يک ميلياردم ثانيه ) اندازه گيری می گردد.  تراشه حافظه ای که دارای سرعت 70 نانوثانيه است ، 70 نانو ثانيه طول خواهد به منظور تا عمليات خواندن و بازنويسی هر سلول را انجام دهد.
سلول های حافظه در صورتيکه از روش هائی بمنظور اخذ اطلاعات موجود در  سلول ها استفاده ننمايند، بتنهائی فاقد ارزش خواهند بود. بنابراين لازم است  سلول های حافظه دارای يک زيرساخت کامل حمايتی از مدارات خاص ديگر  باشند.مدارات فوق عمليات زير را انجام خواهند داد :

  • مشخص نمودن هر سطر و ستون (انتخاب آدرس سطر و انتخاب آدرس ستون )

  • نگهداری وضعيت بازخوانی و باز نويسی داده ها ( شمارنده )

  • خواندن و برگرداندن سيگنال از يک سلول ( Sense amplifier)

  • اعلام خبر به يک سلول که می بايست شارژ گردد و يا ضرورتی به شارژ وجود ندارد ( Write enable)

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

ما ژول های حافظه
تراشه های حافظه در کامييوترهای شخصی در آغاز از يک پيکربندی مبتنی بر Pin با نام (DIP(Dual line Package استفاده می کردند. اين پيکربندی مبتنی بر پين،  می توانست لحيم کاری  درون حفره هائی برروی برداصلی کامپيوتر و يا اتصال به يک سوکت بوده  که خود  به  برد اصلی لحيم  شده است .همزمان با افزايش حافظه ، تعداد تراشه های  مورد نياز، فضای زيادی از برد اصلی را اشغال می کردند.از روش فوق تا زمانيکه ميزان حافظه  حداکثر دو مگابايت بود ،  استقاده می گرديد.
راه حل مشکل فوق، استقرار تراشه های حافظه بهمراه تمام عناصر و اجزای حمايتی در يک برد مدار چاپی مجزا (Printed circut Board) بود. برد فوق در ادامه با استفاده از يک نوع خاص از کانکنور ( بانک حافظه ) به برد اصلی متصل می گرديد. اين نوع تراشه ها اغلب از يک پيکربندی pin با نام Small Outline J-lead )  soj ) استفاده می کردند . برخی از توليدکنندگان ديگر که تعداد آنها اندک است از پيکربندی ديگری با نام Thin Small Outline Package )tsop) استفاده می نمايند. تفاوت اساسی بين اين نوع پين های جديد و پيکربندی DIP اوليه در اين است که تراشه های SOJ و TSOR بصورت surface-mounted در PCB هستند. به عبارت ديگر پين ها  مستقيما" به سطح برد لحيم خواهند شد . ( نه داخل حفره ها و يا سوکت ) .
تراشه ها ی حافظه   از طريق کارت هائی که " ماژول " ناميده می شوند قابل دستيابی و استفاده  می باشند.. شايد تاکنون با مشخصات يک سيستم که ميزان حافظه خود را بصورت 32 * 8 , يا 16 * 4  اعلام می نمايد  ، برخورده کرده باشيد.اعداد فوق تعداد تراشه ها  ضربدر ظرفيت هر يک از تراشه ها را  که بر حسب مگابيت  اندازه گيری می گردند، نشان می دهد. بمنظور محاسبه  ظرفيت ، می توان با تقسيم نمودن آن بر هشت ميزان مگابايت را بر روی هر ماژول مشخص کرد.مثلا" يک ماژول 32 *  4 ، بدين معنی است که ماژول دارای چهار تراشه 32 مگابيتی است .با ضرب 4 در 32 عدد 128 ( مگابيت) بدست می آيد . اگر عدد فوق را بر هشت تقسيم نمائيم به ظرفيت 16 مگابايت خواهيم رسيد.
نوع برد و کانکتور استفاده شده در حافظه های  RAM ، طی پنج سال اخير تفاوت کرده است . نمونه های اوليه اغلب  بصورت  اختصاصی توليد می گرديدند . توليد کنندگان متفاوت کامپيوتر بردهای حافظه را بگونه ای طراحی می کردند  که صرفا" امکان استفاده از آنان در سيستم های خاصی وجود داشت . در ادامه     (SIMM (Single in-line memory   مطرح گرديد. اين نوع از بردهای حافظه از 30 پين کانکتور استفاده کرده و طول آن حدود 3/5 اينچ و عرض آن يک اينچ بود ( يازده سانتيمتر در 2/5 سانتيمتر ) .در اغلب کامپيوترها می بايست بردهای SIMM بصورت زوج هائی که دارای ظرفيت و سرعت يکسان  باشند، استفاده گردد. علت اين  است که پهنای گذرگاه داده بيشتر از يک SIMM است . مثلا" از دو SIMM هشت مگابايتی برای داشتن 16 مگابايت حافظه بر روی سيستم استفاده می گردد. هر SIMM قادر به ارسال هشت بيت داده در هر لحظه خواهد بود با توجه به اين موضوع که گذرگاه داده شانزده بيتی است از نصف پهنای باند استفاده شده و اين امر منطقی بنظر نمی آيد.در ادامه بردهای SIMM بزرگتر شده و دارای ابعاد 25 / 4 * 1 شدند( 11 سانتيمتر در 2/5 سانتيمتر ) و از 72 پين برای افزايش پهنای باند و امکان افزايش حافظه تا ميزان 256 مگابايت بدست آمد.

بموازات افزايش سرعت و ظرفيت پهنای باند پردازنده ها، توليدکنندگان از استاندارد جديد ديگری با نام  dual in-line memory module)DIMM) استفاده کردند.اين نوع بردهای حافظه  دارای 168 پين و ابعاد 1 * 5/4 اينچ ( تقريبا" 14 سانتيمتر در 2/5 سانتيمتر ) بودند.ظرفيت بردهای فوق در هر ماژول از هشت تا 128 مگابايت را شامل و می توان آنها را بصورت تک ( زوج الزامی نيست ) استفاده کرد. اغلب ماژول های حافظه با 3/3 ولت کار می کنند. در سيستم های مکينتاش از 5 ولت استفاده می نمايند. يک استاندارد جديد ديگر با نام Rambus in-line memory module  ،  RIMM  از نظر اندازه و پين با DIMM قابل مقايسه است ولی بردهای فوق ، از يک نوع خاص گذرگاه  داده حافظه برای افزايش سرعت استفاده می نمايند.

اغلب بردهای حافظه در کامپيوترهای دستی (notebook)  از ماژول های حافظه کاملا" اختصاصی  استفاده می نمايند ولی برخی از توليدکنندگان حافظه از استاندارد small outline dual in-line memory module) SODIMM استفاده می نمايند. بردهای حافظه SODIMM دارای ابعاد 1* 2 اينچ ( 5 سانتيمنتر در 5 /2 سانتيمنتر ) بوده و از 144 پين استفاده می نمايند. ظرفيت اين نوع بردها ی حافظه در هر ماژول از 16 مگابايت تا 256 مگابايت می تواند باشد.

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

انواح حافظه RAM

  • Static random access memory)SRAM) . اين نوع حافظه ها از چندين ترانزيستور ( چهار تا شش ) برای هر سلول حافظه استفاده می نمايند. برای هر سلول از خازن استفاده نمی گردد. اين نوع حافظه در ابتدا بمنظور cache استفاده می شدند.

  • Dynamic random access memory)DRAM) . در اين نوع حافظه ها برای سلول های حافظه از يک زوج ترانزيستورو خازن استفاده می گردد .

  • Fast page mode dynamic random access memory)FPM DRAM) . شکل اوليه ای از حافظه های DRAM می باشند.در تراشه ای فوق تا زمان تکميل فرآيند استقرار يک بيت داده توسط سطر و ستون مورد نظر، می بايست منتظر  و در ادامه بيت خوانده خواهد شد.( قبل از اينکه عمليات مربوط به بيت بعدی آغاز گردد) .حداکثر سرعت ارسال داده به L2 cache معادل 176 مگابايت در هر ثانيه است .

  • Extended data-out dynamic random access memory)EDO DRAM) . اين نوع حافظه ها  در انتظار تکميل و اتمام پردازش های لازم برای اولين بيت  نشده و عمليات مورد نظر خود را در رابطه با بيت بعد بلافاصله  آغاز خواهند کرد.  پس از اينکه آدرس اولين بيت مشخص گرديد EDO DRAM  عمليات مربوط به جستجو برای بيت بعدی را آغاز خواهد کرد. سرعت عمليات فوق پنج برابر سريعتر نسبت به حافظه های FPM است . حداکثر سرعت ارسال داده به  L2 cache معادل 176 مگابايت در هر ثانيه است .

  • Synchronous dynamic random access memory)SDRM)  از ويژگی "حالت پيوسته " بمنظور افزايش و بهبود کارائی استفاده می نمايد .بدين منظور زمانيکه  سطر شامل داده مورد نظر باشد ، بسرعت در بين ستون ها حرکت و بلافاصله پس از تامين داده ،آن را خواهد خواند. SDRAM دارای سرعتی معادل پنج برابر سرعت حافظه های EDO بوده و امروزه در اکثر کامپيوترها استفاده می گردد.حداکثر سرعت ارسال  داده به L2 cache معادل 528 مگابايت در ثانيه است .

  • Rambus dynamic random access memory )RDRAM) يک رويکرد کاملا" جديد نسبت به  معماری قبلی DRAM است. اين نوع حافظه ها از Rambus in-line memory module)RIMM) استفاده کرده که از لحاظ اندازه و پيکربندی مشابه يک DIMM استاندارد است. وجه تمايز اين نوع حافظه ها استفاده  از يک گذرگاه داده با سرعت بالا با نام "کانال Rambus " است . تراشه های حافظه RDRAM بصورت موازی کار کرده تا بتوانند به سرعت 800 مگاهرتز دست پيدا نمايند.

  • Credit card memory يک نمونه کاملا" اختصاصی از توليدکنندگان خاص بوده و شامل ماژول های DRAM بوده که دريک نوع خاص اسلات ، در  کامپيوترهای noteBook استفاده می گردد .

  • PCMCIA memory card .نوع ديگر از حافظه  شامل ماژول های DRAM بوده که در notebook استفاده می شود.

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

  • VideoRam)VRAM) يک نوع خاص از حافظه های RAM بوده که برای موارد خاص نظير : آداپتورهای ويدئو و يا شتا ب دهندگان سه بعدی استفاده می شود. به اين نوع از حافظه ها multiport dynamic random access memory) MPDRAM) نيز گفته می شود.علت نامگذاری فوق بدين دليل است که  اين نوع از حافظه ها  دارای امکان دستيابی به اطلاعات،  بصورت تصادفی و سريال می باشند . VRAM بر روی کارت گرافيک قرار داشته و دارای فرمت های متفاوتی است. ميزان حافظه فوق به عوامل متفاوتی نظير : " وضوح تصوير " و " وضعيت  رنگ ها " بستگی دارد.

به چه ميزان حافظه نياز است ؟
حافظه RAM يکی از مهمترين فاکتورهای موجود در زمينه ارتقاء  کارآئی يک کامپيوتر است . افزايش حافظه بر روی يک کامپيوتر با توجه  به نوع استفاده می تواند در مقاطع زمانی متفاوتی انجام گيرد. در صورتيکه از سيستم های عامل ويندوز 95 و يا 98 استفاده  می گردد حداقل به 32 مگابايت حافظه نياز خواهد بود. ( 64 مگابايت توصيه می گردد) .اگر از سيستم عامل ويندوز 2000 استفاده می گردد حداقل به 64 مگابايت حافظه نياز خواهد بود.( 128 مگابايت توصيه می گردد) .سيستم عامل لينوکس صرفا" به 4 مگابايت حافظه نياز دارد. در صورتيکه از سيستم عامل اپل استفاده می گردد به 16 مگابايت حافظه نياز خواهد بود.( 64 مگابايت توصيه می گردد). ميزان حافظه اشاره شده برای هر يک از سيستم های فوق  بر اساس کاربردهای  معمولی ارائه شده است . دستيابی به اينترنت ، استفاده از برنامه های کاربردی خاص و سرگرم کننده ، نرم افزارهای خاص طراحی، انيميشن سه بعدی و... مستلزم استفاده از حافظه بمراتب بيشتری خواهد بود .
 

 

حافظه مجازی

حافظه مجازی

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

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

پيکربندی حافظه مجازی
ويندوز 98 دارای يک برنامه هوشمند برای مديريت حافظه مجازی است . در زمان نصب ويندوز ، پيکربندی و تنظيمات پيش فرض برای مديريت حافظه مجازی انجام خواهد شد. تنظيمات انجام شده در اغلب موارد پاسخگو بوده و نيازی به تغيير آنها وجود نخواهد داشت . در برخی موارد لازم است که  پيکربندی مديريت حافظه مجازی بصورت دستی انجام گيرد.  برای انجام اين کار در ويندوز 98 ، گزينه System را از طريق Control panel انتخاب و در ادامه گزينه Performance را فعال نمائيد. در بخش Advanced setting ، گزينه Virtual memory را انتخاب نمائيد.

با نمايش پنجره مربوط به Virtual Memory  ، گزينه "Let me specify my own virtual memory setting" را انتخاب تا زمينه مشخص نمودن مکان و طرفيت حداقل و حداکثر فايل مربوط به حافظه مجازی فراهم گردد..در فيلد Hard  disk محل ذخيره نمودن فايل و درفيلد های ديگر حداقل و حداکثر ظرفيت فايل را بر حسب مگابايت مشخص نمائيد.  برای مشخص نمودن  حداکثر فضای مورد نياز حافظه مجازی می توان هر اندازه ای را مشخص نمود . تعريف اندازه ائی به ميزان دو برابر حافظه اصلی کامپيوتر برای حداکثر ميزان حافظه مجازی توصيه می گردد.
ميزان حافظه موجود هارد ديسک که برای حافظه مجازی  در نظر گرفته خواهد شد بسيار حائر اهميت است . در صورتی که  فضای فوق بسيار ناچيز انتخاب گردد ، همواره با پيام خطائی مطابق "Out of Memory" ، مواجه خواهيم شد. پيشنهاد  می گردد نسبت حافظه مجازی به حافظه اصلی دو به يک باشد. يعنی در صورتی که  حافظه اصلی موجود 16 مگابايت باشد ، حداکثر حافظه مجازی را 32 مگابايت در نظر گرفت .
يکی از روش هائی که یه منظور بهبود کارائی حافظه مجاری پيشنهاد شده است ، ( مخصوصا" در موارديکه حجم بالائی از حافظه مجازی مورد نياز باشد ) در نظر گرفتن ظرفيت يکسان برای حداقل و حداکثر انداره حافظه مجازی است . در چنين حالتی در زمان راه اندازی کامپيوتر، سيستم عامل تمام فضای مورد نياز را اختصاص و در ادامه نيازی با افزايش آن همزمان با اجرای ساير برنامه ها نخواهد بود. در چنين حالتی کارآئی سيستم بهبود پيدا خواهد کرد .
يکی ديگر از فاکتورهای مهم در کارآئی حافظه مجازی ، محل فايل مربوط به حافظه مجازی است . در صورتی که  سيستم کامپيوتری دارای چندين هارد ديسک فيزيکی باشد ، ( منظور چندين درايو منظقی نيست ) می توان حجم عمليات مربوط به حافظه مجازی را بين هر يک از درايوهای فيزيکی موجود توزيع کرد. روش فوق در موارديکه از حافظه مجازی در مقياس بالائی استفاده می گردد ، کارآئی مطلوبی را بدنبال خواهد داشت .
 

 

بيت و بايت

بيت و بايت

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

 اعداد دهدهی
 
ساده ترين روش شناخت بيت ها مقايسه آنها با " ارقام " است . يک رقم محلی برای ذخيره نمودن مقادير عددی بين صفر تا نه  است . ارقام با يکديگر ترکيب و اعداد بزرگ را بوجود می آورند. مثلا" عدد 100618 شامل شش رقم است . در عدد فوق هر رقم دارای جايگاه اختصاصی خود است . مثلا" رقم 8 در اولين جايگاه ( رتبه يکان ) و رقم 1 در دومين جايگاه ( رتبه دهگان ) و رقم 6 در سومين جايگاه ( رتبه صدگان)  قرار دارند. نحوه محاسبه عدد فوق بصورت زير است :

 

( 1 * 100000) + ( 0 * 10000) + ( 0 * 1000) + ( 6 * 100 ) + ( 1 * 10) + ( 8 * 1 ) = 100618  

  روش ديگر برای محاسبه عدد فوق استفاده از توان های متفاوت ده است .

 

(  1 * 10^5) + ( 0 * 10^4 ) + ( 0 * 10^3) + ( 6 * 10^2) + ( 1 * 10^1) + ( 8 * 10^0) = 100618

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

 بيت
در کامپيوتر از سيستم عدد نويسی مبنای دو استفاده می شود. سيستم فوق را سيستم عدد نويسی باينری نيز می گويند. علت استفاده از مبنای دو در کامپيوتر سهولت در پياده سازی آنها توسط تکنولوژی های موجود الکترونيک است . می توان کامپيوترهائی را ساخت که از مبنای ده استفاده نمايند ولی قطعا" قيمت ساخت آنها شايد مقرون بصرفه نبوده و استفاده از مبنای دو از بعد پياده سازی مطمئنا" مقرون بصرفه تر از ساير مبناهای عدد نويسی است .در مبنای دو از ارقام باينری ( صفر و يک ) استفاده می گردد. کلمه " بيت " از کلمات Binary digIT اقتباس شده است . در سيستم عدد نويسی مبنای ده از ده رقم و در سيستم عدد نويسی مبنای دو از دو رقم بمنظور توليد اعداد استفاده می گردد.بنابراين يک عدد باينری صرفا" شامل ارقام صفر و يک است .  برای محاسبه عدد 1011 از چه روشی استفاده می گردد؟ برای محاسبه عدد فوق در مبنای دو از همان روشی استفاده می گردد که در محاسبه عدد 100618 در مبنای ده استفاده شد با اين تفاوت که از توان های متفاوت عدد دو استفاده خواهد شد.

( 1 * 2^3 ) + ( 0 * 2^2) + ( 1 * 2^1) + ( 1 * 2^0)

در مبنای دو هر بيت توان های متفاوت دو را بصورت تصاعدی در بر خواهد داشت . بنابراين بسادگی می توان يک عدد باينری را شمارش نمود. ( 1 و 2 و 4 و 8 و 16 و 32 و 64 و 128 و 256 و ... ) . مثلا" عدد 1001 شامل 1 + 8  بوده که عدد 9 را نشان خواهد داد.

بايت
هر بيت می تواند صرفا" شامل يکی از ارقام صفر و يا يک باشد. ( از لحاظ مقداردهی دارای محدوديت هستند و فقط می توان بکمک آنها دو حالت و يا مفهوم را ارائه داد ). از ترکيب هشت بيت ، يک بايت بوجود می آيد. چرا هشت بيت در يک بايت است ؟  با استفاده از هشت بيت در يک بايت ، می توان 256 مقدار ( صفر تا 255 ) را نشان داد.

 0 = 00000000  1= 00000001      2 = 00000010   ... 254 = 11111110  255 = 11111111

از بايت  برای ذخيره سازی کاراکترها در مستندات مبتنی بر متن ( Text) استفاده می گردد. در مجموعه کاراکتر اسکی (ASCII) هر يک از مقادير بين صفر تا 127 دارای يک کاراکتر خاص است . اغلب کامپيوترها جدول اسکی را توسعه تا بتوانند از 256 کاراکتر بطور کامل در يک بايت استفاده نمايند.از  128 بايت بعدی برای موارد خاصی نظير کاراکترهای موجود در يک زبان غير انگليسی استفاده می گردد. کامپيوترها مستندات متنی را در حافظه و يا ديسک بر اساس کدهای فوق ( اسکی ) ذخيره می نمايند. مثلا" از برنامه NotePad در ويندوز برای ايجاد يک فايل متنی با محتويات " Four Seven" استفاده و فايل فوق را با نام Test.txt ذخيره نمائيد. پس از ذخيره نمودن فايل و مشاهده فايل مورد نظر در برنامه های نمايش دهنده مشخصات فايل ها متوجه خواهيد شد که ظرفيت فايل فوق 27 بايت است . ( يک بايت برای هر حرف ) در صورتيکه معيار مشاهده ما به فايل فوق بر اساس ديدگاه کامپيوتر باشد ، بجای هر حرف يک عدد ( معادل کد اسکی ) را مشاهده خواهيم کرد.

F       o      u        r                s       e      v      e     n 
70    111
 117   114   32      115    101   118  101  110

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

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

نام

مخفف

اندازه

Kilo

K

2^10 = 1,024

Mega

M

2^20 = 1,048,576

Giga

G

2^30 = 1,073,741,824

Tera

T

2^40 = 1,099,511,627,776

Peta

P

2^50 = 1,125,899,906,842,624

Exa

E

2^60 = 1,152,921,504,606,846,976

Zetta

Z

2^70 = 1,180,591,620,717,411,303,424

Yotta

Y

2^80 = 1,208,925,819,614,629,174,706,176

با توجه به جدول فوق می توان چنين برداشت کرد که : کيلو تقريبا" معادل هزار ، مگا تفريبا" معادل ميليون ، گيگا تقريبا" معادل ميليارد و ... است. بنابراين زمانيکه شخصی عنوان می نمايد که دارای هارد ديسکی با ظرفيت دو گيگا بايت است  ، معنای سخن وی اينچنين خواهد بود : " هارد ديسک وی دارای توان ذخيره سازی دو گيگا بايت ، يا تقريبا" دو ميليارد بايت و يا دقيقا" 2,147,483,648 بايت است ." 
امروزه استفاده از رسانه های ذخيره سازی با ظرفيت بالا بسيار رايج بوده و ما شاهد حضور و استفاده از بانک های اطلاعاتی با طرفيت بسيار بالا ( چندين ترابايت ) در موارد متعدد هستيم .

 

فلاپی ديسک

فلاپی ديسک

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

مبانی فلاپی درايوها
فلاپی درايو در سال 1967 توسط شرکت IBM ابداع گرديد. در اولين فلاپی درايو از يک ديسک ( ديسکت )  8 اينچی استفاده شده بود. همزمان با ارائه اولين کامپيوترهای شخصی در سال 1981 توسط شرکت IBM ، از فلاپی درايوهای 5/25 اينچ استفاده بعمل آمد. اين نوع ديسک ها قادر به نگهداری 360 کيلو بايت اطلاعات بودند. در اواسط دهه 1980 ديسک های 3/5 اينج با ظرفيت 1/44 مگابايت مطرح گرديدند. در آن زمان اغلب کامپيوترها دارای دو درايو برای استفاده از دو نوع فلاپی ديسک ( 5/25 و 3/5 ) بودند ولی از اواسط دهه 1990  ديسک های 5/25  بندرت مورد استفاده قرار گرفته  و بتدريج از رده خارج گرديدند.

  • فلاپی ديسک  را " ديسکت "  نيز  می گويند. رايج ترين نوع ديسکت 3/5 اينچ است .

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

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

  • سکتور زيرمجموعه ای از يک شيار بوده و تعداد سکتور در هر شيار بستگی به نوع ديسک دارد.

اجزای يک فلاپی ديسک  درايو

  • ديسک

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

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

  •  قابليت ضبط اطلاعات را دارا می باشند.

  •  قابليت پاک کردن اطلاعات و استفاده مجدد را دارا می باشند.

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

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

  • درايو

اجزای اصلی يک فلاپی درايو شامل موارد ذيل است :

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

  • موتور درايو . يک موتور بسيار کوچک با توان چرخش  300 تا 360 دور در دقيقه

  • موتور Stepper . وظيفه موتور فوق ، استقرار هد خواندن و نوشتن در محل شيار مورد نظر است.

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

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

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

نوشتن اطلاعات بر روي يک فلاپی ديسک
مراحل زير نحوه نوشتن اطلاعات بر روی فلاپی ديسک را تشان می دهد.( عمليات خواندن مشابه است ) :

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

  • کنترل کننده فلاپی ديسک درايو " موتور" ديسکت را بحرکت درآورده تا از اين طريق فلاپی ديسک چرخش نمايد.

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

  • هد خواندن و نوشتن در شيار مورد نظر متوقف خواهد شد.

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

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

      


     

هارد ديسک

هارد ديسک

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

مبانی هارد ديسک
هارد ديسک در سال 1950 اختراع گرديد. هارد ديسک های اوليه شامل ديسک های بزرگ با قطر 20 اينچ ( 50/8 سانتيمتر) بوده و توان ذخيره سازی چندين مگابايت بيشتر را نداشتند. به اين نوع ديسک ها در ابتدا " ديسک ثابت "  می گفتند. در ادامه به منظور تمايز آنها با فلاپی ديسک ها از واژه " هارد ديسک " استفاده گرديد. هارد ديسک ها دارای يک  Platter ( صفحه ) به منظور نگهداری محيط مغناطيسی می باشند. عملکرد يک هارد ديسک مشابه يک نوار کاست بوده و از يک روش يکسان برای ضبط مغناطيسی استفاده می نمايند. هارد ديسک ونوار کاست از امکانات ذخيره سازی مغناطيسی يکسانی نيز استفاده می نمايند.در چنين مواردی می توان بسادگی اطلاعاتی را حذف و يا مجددا" بازنويسی کرد. اطلاعات ذخيره شده بر روی هر يک از رسانه های فوق ، ساليان سال باقی خواهند ماند. عليرغم وجود  شباهت های موجود ، رسانه های  فوق در مواردی نيز با يکديگر متفاوت می باشند:

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

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

  • در يک نوار کاست ، هد مربوط به خواندن / نوشتن می بايست سطح  نوار را مستقيما" لمس نمايد. در هارد ديسک هد خواندن و نوشتن در روی ديسک به پرواز در می آيد! ( هرگز آن را لمس نخواهد کرد )

  • نوار کاست  موجود در ضبط صوت در هر ثانيه 2 اينچ ( 5/08 سانتيمتر ) جابجا می گردد. گرداننده هارد ديسک می تواند هد مربوط به هارد ديسک را  در هر ثانيه 3000 اينچ  به چرخش در آورد .

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

 برای اندازه گيری کارآئی يک هارد ديسک از دو روش عمده استفاده می گردد:

  • ميزان داده (Data rate) . تعداد بايت هائی ارسالی  در هر ثانيه برای پردازنده است . اندازه فوق بين 5 تا 40 مگابايت در هر ثانيه است .

  • زمان جتسجو (Seek Time) . مدت زمان بين درخواست يک فايل توسط پردازنده  تا ارسال اولين بايت فايل مورد نظربرای پردازنده را می گويند.

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

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

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

در صورتيکه روکش مربوطه را از روی درايو برداريم با وضعيتی مشابه شکل زير برخورد خواهيم کرد.

در تصوير فوق موارد زير مشاهده می گردد:

  • Platters ( صفحات ) اين صفحات می توانند با سرعت 3600 تا 7200 دور در دقيقه چرخش نمايند.

  • بازوئی که هد  خواندن و نوشتن را نگاه داشته است . اين بازو با سرعتی معادل 50 بار در ثانيه قادر به حرکت در طول هر يک از صفحات است ( حرکت شعاعی )

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

مکانيزمی که باعث حرکت بازوها بر روی  هارد ديسک می گردد ، سرعت و دقت را تضمين می نمايد.در اين راستا از يک موتور خطی با سرعت بالا استفاده می گردد.

ذخيره سازی داده ها
اطلاعات بر روی سطح هر يک از صفحات هارد ديسک در مجموعه هائی با نام سکتور و شيار ذخيره می گردد. شيارها دوايرمتحدالمرکزی می باشند ( نواحی زرد) که بر روی هر يک از آنها تعداد محدودی سکتور(نواحی آبی ) با ظرفيت بين 256 ، 512 بايت ايجاد می گردد. سکتورهای فوق در ادامه و همزمان با آغاز فعاليت سيستم عامل در واحد های ديگر با نام " کلاستر " سازماندهی می گردند. زمانيکه يک درايو تحت عملياتی با نام Low level format قرار می گيرد، شيارها و سکتورها ايجاد می گردند. درادامه و زمانيکه درايو High level format  گرديد، با توجه به نوع سيستم عامل و سياست های راهبردی مربوطه ساختارهائی نظير :  جدول اختصاص فايل ها،   جدول آدرس دهی فايل ها و...  ايجاد، تا بستر مناسب برای استقرار فايل های اطلاعاتی فراهم گردد. 

 

 

پست الکترونيکی

پست الکترونيکی

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

يک پيام E-Mail
اولين پيام ارسال شده توسط نامه الکترونيکی در سال 1971 توسط مهندسی با نام "Ray Tomlinson" انجام شده است . قبل از تحقق رويداد فوق ، صرفا" امکان ارسال پيام برای کاربران موجود بر روی يک کامپيوتر ميسر بود. پيام ارسالی توسط Tomlinson  قابليت ارسال پيام به ساير ماشين های موجود بر روی اينترنت  با استفاده از علامت "@" به منظور مشخص نمودن ماشين دريافت کننده بود.  E-Mail ، يک پيام متنی ساده است که برای گيرنده پيام ارسال می گردد. نامه های الکنترونيکی در ابتدا و هم اينک اغلب بصورت متن های کوتاه می باشند. در برخی موارد ممکن است ، فرستندگان نامه های الکترونيکی با افزودن "ضمائم " ، حجم يک نامه الکترونيکی را افزايش دهند.

سرويس گيرندگان E-mail
به منظور مشاهده نامه های الکترونيکی دريافت شده ،  می بايست از برنامه های سرويس گيرنده نامه های الکترونيکی استفاده کرد.  برخی از کاربران  از برنامه معروف outlook و يا outlook express شرکت مايکروسافت ، Eudora و يا Pegasus بمنطور مشاهده نامه های الکترونيکی استفاده می نمايند.  افراديکه از خدمات پست الکترونيکی رايگان نظير Hotmail و يا Yahoo استفاده می نمايند ، از يک برنامه سرويس گيرنده که بصورت يک صفحه وب نمايش داده می شود ، استفاده می نمايند. برنامه های سرويس گيرنده صرفنظر از نوع خود ، دارای وظايف زير می باشند :

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

  • امکان انتخاب يک پيام از طريق عنوان آن فراهم شده ومطالعه محتويات پيام

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

  • اکثر برنامه های سرويس گيرنده پيام های الکترونيکی امکان اضافه کردن ضمائم به يک پيام را نيز فراهم می آورند. برنامه های فوق همچنين امکان ذخيره کردن ضمائم موجود در پيام های دريافت شده را نيز دارا می باشند.

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

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

  • برای هر يک از افراديکه دارای Account می باشند ، يک فايل ساده متنی در فولدر مورد نظر ذخيره می گردد.  

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

  • سرويس دهنده ممکن است اطلاعات دريافت شده را با يک فرمت مناسب به انتهای فايل متنی که برای هر فرد با نام Account وی ايجاد شده ، اضافه می نمايد.

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

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

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

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

  • در فايل متنی ذخيره شده بدنبال خطوطی باشد که با عنوان " از : " وجود دارند.  

  • برنامه سرويس گيرنده قادر به نمايش ليست تمام پيام ها بر اساس عناوين مربوطه است .

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

سيستم پست الکترونيکی واقعی
سيستم واقعی پست الکترونيکی دارای دو سرويس دهنده متفاوت بوده که بر روی يک ماشين اجراء می گردند. يکی از سرويس دهندگان ، سرويس دهنده SMTP)Simple Mail Transfer Protocol) بوده و مستوليت  پيام های ارسالی ( خروج ) نامه های الکترونيکی، را برعهده دارد. سرويس دهنده دوم ، POP3)Post office Protocol) ناميده شده و مسدوليت پيام های دريافتی ( ورود )  را برعهده دارد. شکل زير جايگاه هر يک از سرويس دهندگان اشاره شده را نشان می دهد.

سرويس دهنده SMTP به پورت 25 و سرويس دهنده POP3 به پورت 110 گوش خواهند داد.

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

کاربران به منظور ارسال نامه الکترونيکی توسط برنامه سرويس گيرنده ، می بايست تنظيمات لازم را انجام دهند. فرض کنيد آدرس پست الکترونيکی شما Ali@Test1.com  باشد ، در زمان تنظيم پارامترهای برنامه سرويس گيرنده ( بعنوان مثال: Outlook) ، نام سرويس دهنده پست الکترونيکی می بايست مشخص گردد ( فرض کنيد نام سرويس دهنده پست الکترونيکی mail.test.com باشد ) . پس از آماده نمودن نامه الکترونيکی و فشردن دکمه "ارسال"  ، عمليات زير انجام خواهد شد :

  • برنامه Outlook express ، با سرويس دهنده SMTP موجود در mail.test1.com از طريق پورت 25 ، ارتباط برقرار می نمايد. 

  • برنامه Outlook Express با سرويس دهنده SMTP مکالمه ای را برقرارو به سرويس دهنده SMTP ، آدرس های فرستنده و گيرنده و محتويات پيام را اعلان می نمايد.

  • سرويس دهنده SMTP آدرس گيرنده ( بعنوان مثال Reza@test1.com ) را به دو بخش مجزا تقسيم می نمايد :
    -  نام دريافت کننده (Reza)  
    -
    نام حوزه (test1.com)  

  • در صورتيکه  گيرنده پيام  دارای  صندوق پستی بر روی همان سرويس دهنده باشد ، سرويس دهنده SMTP پيام دريافت شده را بسادگی در اختيار سرويس دهنده POP3 قرار خواهد داد. در اين زمينه از برنامه ای با نام "Delivery agent" ( آژانس توزيع ) استفاده می گردد. در صورتيکه گيرنده پيام بر روی حوزه ای ديگر باشد ، سرويس دهنده SMTP نيازمند برقراری ارتباط با حوزه مربوطه است .

  • سرويس دهنده  SMTP ، با DNS مربوط ارتباط و از او می خواهد که آدرس IP مربوط به سرويس دهنده SMTP حوزه مربوطه را به اطلاع وی برساند. ( فرض اين است که گيرنده پيام دارای صندوق پستی بر روی همان کامپيوتر فرستنده نيست ). در ادامه DNS ، آدرس ( و يا آدرس های )  IP  مربوط به سرويس دهنده ( سرويس دهندگان ) SMTP مربوط به حوزه مربوطه را اعلام می نمايد.

  • سرويس دهنده موجود در حوزه Test1.com با سرويس دهنده موجود در حوزه Test2.com از طريق پورت 25 ، ارتباط برقرار می نمايد. سرويس دهنده  SMTP موجود در حوزه Test2.com ، پيام ارسالی را دريافت و آن را در صندوق پستی مربوط به گيرنده قرار خواهد داد.

در صورتيکه سرويس دهنده موجود در حوزه Test1.com قادر به برقراری ارتباط با سرويس دهنده SMTP موجود در حوزه Test2.com نگردد ، پيام مورد نظر در محلی خاص در نوبت قرار می گيرد. سريس دهنده  SMTP در اکثر ماشين ها از برنامه ای با نام Sendmail برای ارسال واقعی يک پيام الکترونيکی استفاده نموده و برای پيام های موجود در صف ، از صفی با نام sendmail queue استفاده می گردد. برنامه Sendmail بصورت ادواری( تکراری) سعی در ارسال مجدد پيام های موجود در صف می نمايد . مثلا" ممکن است هر 15 دقيقه يکبار تلاش مجدد خود برای ارسال را انجام دهد. پس از گذشت چهار ساعت برای ارسال کننده نامه الکترونيکی ، پيامی مبنی بر وجود اشکال در ارسال نامه ، فرستاده می شود. پس از پنج روز ، اکثر برنامه های پيکربندی Sendmail پيامی مبنی بر عدم موفقيت در توزيع پيام  را برای ارسال می دارند.
مبادله اطلاعاتی بين سرويس گيرنده پست الکترونيکی و سرويس دهنده SMTP با استفاده از يک زبان ساده متنی و خوانا، با يکديگر ارتباط برقرار می نمايند. در ابتدا برنامه سرويس گيرنده  خود را معرفی ، آدرس فرستنده و گيرنده و محتويات پيام را مشخص خواهد کرد. ( با استفاده از برنامه telnet می توان با سرويس دهنده پست الکترونيکی و از طريق پورت 25 ارتباط برقرار کرد).سرويس دهنده SMTP از دستورات ساده ای نظير HELLO,MAIL,RCPT,DATA و ... استفاده می نمايد. 

  • HELLO. معرفی برنامه سرويس گيرنده

  • EHLO . معرفی سرويس گيرنده و درخواست حالت توسه يافته

  • MAIL FROM. مشخص کردن فرستنده

  • RCPT TO . مشخص کردن گيرنده

  • DATA . محتويات پيام را مشخص می کند.

  • RESET . برای Reset نمودن استفاده می شود.

  • QUIT . ارتباط را قطع می نمايد.

  • HELP . در رابطه با دستورات توضيحات لازم را ارائه می نمايد.

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

 سرويس دهنده POP3 از مجموعه دستورات متنی ساده ای ،   استفاده می نمايد :

  • USER ID . برای ورود user id استفاده می شود.

  • PASS . برای ورود رمز عبور استفاده می شود.

  • QUIT . برای قطع ارتباط با سرويس دهنده POP3 استفاده می گردد.

  • LIST . ليست پيامها بهمراه اندازه آنها را نشان خواهد داد.

  • RETR . برای بازيابی يک پيام استفاده می شود.

  • DELE . برای حذف يک پيام استفاده می گردد.

  • TOP . برای نشان دادن X خط ابتدای پيام استفاده می شود.

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

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

 

 

چاپگر

چاپگر ليزری

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

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

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

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

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

به منظور گفتمان بين کنترل کننده و کامپيوتر ، می بايست آنها با يک زبان مشترک صحبت نمايند. در چاپگرهای اوليه ، کامپيوتر يک نوع فايل متنی خاص را بهمراه مجموعه ای از کدهای اطلاعاتی برای چاپگر ارسال می کرد. با توجه به ماهيت  چاپگرهای اوليه و محدوديت فونت های موجود ، روش  فوق بخوبی تامين کننده نيازهای اطلاعاتی چاپگر بود. امروزه از صدها نوع فونت استفاده می گردد.بدين منظور لازم است که اطلاعات مورد نياز چاپگر با استفاده از يک زبان پيشرفته در اختيار آن گذاشته شود.  متداولترين زبانهای موجود در اين زمينه  زبان PCL)Printer Command Language) مربوط به شرکت هيولت پاکارد و " پوست اسکريپت " مربوط به Adobe است . زبانهای فوق برای تشريح صفحه از يک نوع بردار استفاده می نمايند. بردار فوق مقادير رياضی از اشکال geometric می باشند. ( بصورت مجموعه ای از نقاط نخواهد بود ) چاپگر بردار را اخذ و در ادامه آن را به يک صفحه bitmap تبديل می نمايد.
برخی از چاپگرها از يک دستگاه اينترفيش گرافيکی GDI)Graphical device interface) در عوض PCL استناندارد، استفاده می نمايند. درسيستم فوق ، کامپيوتر بردار مربوط به نقاط را خود ايجاد می نمايد، بدين ترتيب کنترل کننده پردازشی در اين زمينه را انجام نداده و صرفا" دستورالعمل های نقاط را برای ليزر ارسال می نمايد. در اغلب چاپگرهای ليزری ، کنترل کننده می بايست عمليات مربوط به سازماندهی داده های دريافتی از کامپيوتر را خود انجام دهد. اطلاعات فوق شامل : دستورات مربوط به نوع عمليات ، نوع کاغذ ، نحوه برخورد با فونت ها و ... است . کنترل کننده به منظور انجام عمليات مربوطه بطرز صحيح می بايست اطلاعات فوق را با اولويت درست دريافت نمايد.
پس از سازماندهی داده ها ، کنترل کننده  عمليات آماده سازی صفحه را آغاز خواهد کرد. تنظيم حاشيه ها ی متن ، سازماندهی کلمات و استقرار تصاوير مورد نظر را انجام داده  و ماحصل عمليات فوق ايجاد برداری حاوی نقاط متفاوت است . چاپگر به منظور چاپ يک صفحه به اطلاعات فوق نياز خواهد داشت .
در اکثر چاپگرهای ليزری ، کنترل کننده قادر به ذخيره  درخواست های مربوط به چاپ در حافظه اختصاصی خود است . با استفاده از ويژگی فوق ، کنترل کننده قادر به استقرار چندين کار در حافظه می باشد ( ايجاد يک صف از کارها ) . پس از استقرار هر درخواست چاپ در حافظه اختصاصی ، امکان چاپ آنها در زمان مربوطه فراهم خواهد شد. در موارديکه از يک سند می بايست چندين نسخه چاپ گردد ، داده های مربوطه صرفا" يک بار برای چاپگر ارسال و بدين طريق در زمان صرفه جوئی خواهد شد.

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

  • يک ليزر

  • يک آيينه قابل حرکت

  • يک لنز

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

تونر
يکی از مهمترين شاخص های يک چاپگر ليزری ، تونر است . تونز يک نوع پودر الکتريکی شارژ شده بوده که  دارای دو عنصر اصلی : رنگ دانه و پلاستيک است . رنگ دانه ها تامين کننده رنگ مورد نياز می باشند ( در چاپگرهای تک رنگ ، رنگ فوق مشکی است )  .رنگ دانه ها با پلاستيک آميخته شده اند. بدين ترتيب زمانيکه تونر از بين غلتک های داغ عبور می نمايد ، گداخته خواهند گرديد.
پودر در  يک toner hopper ( يک محفظه کوچک در داخل يک روکش قابل حرکت ) ذخيره می گردد. چاپگر تونر مورد نياز خود را از طريق devloper unit ( تامين کننده دانه ) از محفظه دريافت می دارد. developer ، يک مجموعه از دانه های مغناطيسی با شارژ منفی است . دانه های فوق به يک پاک کن فلزی قابل چرخش ، متصل خواهند شد.  با حرکت ميله فوق دانه هایمغناطيسی در محفظه گفته شده قرار خواهند گرفت . با توجه به اينکه دانه های مغناطيسی دارای شارژ منفی می باسند ، تامين کننده دانه ها ، دانه های مثبت تونر را جمع آوری خواهد کرد.درادامه  پاک کن، ذرات را تميز و آنها را برای استوانه ارسال می دارد. تصاوير الکترواستاتيک دارای شارژ منفی قويتر نسبت به تامين کننده دانه ها بوده و  استوانه شامل ذرات چسبانده شده را از خود دور می نمايد. در ادامه استوانه در طول کاغذ حرکت و بموازات آن کاغذ تحت  تاثير يک ميدان قرار گرفته( يک سيم  detac corona )  و تخليه الکتريکی می گردد.در وضعيت فوق تنها عاملی که باعث نگهداری تونر بر سطح کاغذ می گردد ، نيروی جاذبه است .به منظور چسباندن تونر بر روی سطح کاغذ  ، می بايست کاغذ از طريق غلتک های داغ بحرکت درآيد. در اغلب چاپگرها  ، Toner hopper ، developer,drum assembly  در يک کارتريج قابل تعويض ( مشابه شکل زير ) قرار می گيرند.

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

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

 

 

حافظه ROM

حافظه ROM

حافظه ROM يک نوع مدار مجتمع (IC) است  که در زمان ساخت داده هائی در آن ذخيره می گردد. اين نوع حافظه ها علاوه بر استفاده در کامپيوترهای شخصی در ساير دستگاههای الکترونيکی نيز به خدمت گرفته می شوند. حافظه های ROM از لحاظ تکنولوژی استفاده شده، دارای انواع متفاوتی است :

  •  ROM

  • PROM

  • EPROM

  • EEPROM

  • Flash Memory

 هر يک از مدل های فوق دارای ويژگی های منحصربفرد خود  می باشند . حافظه های فوق در موارد زيردارای ويژگی مشابه می باشند:

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

  • داده های ذخيره شده در اين نوع از حافظه ها غير قابل تغيير بوده و يا اعمال تغييرات در آنها مستلزم انجام عمليات خاصی است.

 مبانی حافظه های  ROM
حافظه ROM از تراشه هائی شامل شبکه ای از سطر و ستون تشکيل شده است ( نظير حافظه RAM) . هر سطر و ستون در يک نقظه يکديگر را قطع می نمايند. تراشه های ROM دارای تفاوت  اساسی با تراشه های  RAM می باشند. حافظه RAM از " ترانزيستور " به منظور فعال و يا غيرفعال نمودن دستيابی به يک " خازن " در نقاط  برخورد سطر و ستون ، استفاده می نمايند.در صورتيکه تراشه های  ROM از يک " ديود" (Diode) استفاده می نمايد. در صورتيکه خطوط مربوطه "يک"  باشند برای اتصال از ديود استفاده شده و اگر مقدار "صفر"  باشد خطوط به يکديگر متصل نخواهند شد. ديود، صرفا"  امکان حرکت " جريان " را در يک جهت ايجاد کرده و دارای يک نفطه آستانه خاص است . اين نقطه اصطلاحا" (Forward breakover) ناميده می شود. نقطه فوق ميزان جريان مورد نياز برای عبور توسط ديود را مشخص می کند. در تراشه ای مبتنی بر سيليکون نظير پردازنده ها و حافظه ، ولتاژ Forward breakover تقريبا" معادل  شش دهم ولت است .با بهره گيری از ويژگی منحصر بفرد ديود،  يک تراشه ROM قادر به ارسال يک شارژ بالاتر از Forward breakover  و پايين تر از ستون متناسب با سطر انتخابی  ground شده  در يک سلول خاص است .در صورتيکه  ديود در سلول مورد نظر ارائه گردد،  شارژ هدايت  شده (از طريق Ground ) و با توجه به سيستم باينری ( صفر و يک )، سلول يک خوانده می شود ( مقدار آن 1 خواهد بود) در صورتيکه مقدار سلول صفر باشد در محل برخورد سطر و ستون ديودی وجود نداشته و شارژ در ستون ، به سطر مورد نظر منتقل نخواهد شد.
همانطور که اشاره گرديد،  تراشه ROM ، مستلزم برنامه نويسی وذخيره داده در زمان ساخت است . يک تراشه استاندارد ROM را نمی توان برنامه ريزی مجدد  و اطلاعات جديدی را در آن نوشت . در صورتيکه داده ها درست نبوده و يا مستلزم تغيير و يا ويرايش باشند، می بايست تراشه را دور انداخت و مجددا" از ابتدا عمليات برنامه ريزی يک تراشه جديد را انجام داد.فرآيند  ايجاد تمپليت اوليه برای تراشه های ROM  دشوار است .اما مزيت حافظه  ROM بر برخی معايب آن غلبه می نمايد. زمانيکه تمپليت تکميل گرديد تراشه آماده شده، می تواند بصورت انبوه و با قيمت ارزان به فروش رسد.اين نوع از حافظه ها از برق ناچيزی استفاده کرده  ، قابل اعتماد بوده  و در رابطه با اغلب دستگاههای الکترونيکی کوچک، شامل تمامی دستورالعمل های لازم به منظور کنترل دستگاه مورد نظر خواهند بود.استفاده از اين نوع تراشه ها در برخی از اسباب بازيها برای نواختن موسيقی، آواز و ... متداول است .

حافظه PROM
توليد تراشه های ROM مستلزم صرف وقت و هزينه بالائی است .بدين منظور اغلب توليد کنندگان ، نوع خاصی از اين نوع حافظه ها را که PROM )Programmable Read-Only Memory) ناميده می شوند ، توليد می کنند.اين نوع از تراشه ها با محتويات خالی با قيمت مناسب عرضه شده و می تواند توسط هر شخص با استفاده از دستگاههای خاصی که Programmer ناميده می شوند ، برنامه ريزی گردند. ساختار اين نوع از تراشه ها مشابه ROM بوده با اين تفاوت که در محل برخورد هر سطر و ستون از يک فيوز( برای اتصال  به يکديگر) استفاده می گردد. يک شارژ که از طريق يک ستون ارسال می گردد از طريق فيوز به يک سلول پاس داده شده و بدين ترتيب به يک سطر Grounded که نماينگر مقدار "يک" است ، ارسال خواهد شد. با توجه به اينکه تمام سلول ها دارای يک فيوز می باشند، درحالت اوليه ( خالی )، يک تراشه PROM دارای مقدار اوليه " يک" است . به منظور تغيير مقدار يک سلول به صفر، از يک Programmer برای ارسال يک جريان خاص به سلول مورد نظر، استفاده می گردد.ولتاژ بالا، باعث قطع  اتصال بين سطر و ستون (سوختن فيوز) خواهد کرد. فرآيند فوق را " Burning the PROM " می گويند. حافظه های PROM صرفا" يک بار قابل برنامه ريزی هستند. حافظه های فوق نسبت به RAM شکننده تر بوده  و يک جريان حاصل  از الکتريسيته ساکن، می تواند باعث سوخته شدن فيور در تراشه شده و مقدار يک را به صفر تغيير نمايد. از طرف ديگر ( مزايا ) حافظه ای PROM دارای قيمت مناسب بوده و برای نمونه سازی داده برای يک ROM ، قبل از برنامه ريزی نهائی کارآئی  مطلوبی دارند.

حافظه EPROM
 استفاده کاربردی از  حافظه های ROM و PROM با توجه به نياز به اعمال تغييرات در آنها قابل تامل است ( ضرورت اعمال تغييرات و اصلاحات در اين نوع حافظه ها می تواند به صرف هزينه بالائی منجر گردد)حافظه هایEPROM)Erasable programmable read-only memory) پاسخی مناسب به نياز های مطح شده است ( نياز به اعمال تغييرات )  تراشه های EPROM را می توان چندين مرتبه باز نويسی کرد. پاک نمودن محتويات يک تراشه EPROM مشتلزم استفاده از دستگاه خاصی است که باعث ساطع کردن  يک فرکانس خاص ماوراء بنفش  باشد.. پيکربندی اين نوع از حافظه ها مستلزم استفاده  از يک Programmer  از نوع EPROM است که يک ولتاژ را در يک سطح خاص ارائه نمايند ( با توجه به نوع EPROM استفاده شده ) اين نوع حافظه ها ، نيز دارای شبکه ای مشتمل از سطر و ستون می باشند. در يک EPROM سلول موجود در نقظه برخورد  سطر و ستون دارای دو ترانزيستور است .ترانزيستورهای فوق توسط يک لايه نازک اکسيد از يکديگر جدا شده اند. يکی از ترانزيستورها Floating Gate و ديگری Control Gate ناميده می شود. Floating gate صرفا" از طريق Control gate به سطر مرتبط است. ماداميکه لينک برقرارباشد سلول دارای مقدار يک خواهد بود. به منظور تغيير مقدار فوق به صفر به فرآيندی با نام Fowler-Nordheim tunneling نياز خواهد بود .Tunneling به منظور تغيير محل الکترون های Floating gate استفاده می گردد.يک شارژ الکتريکی  بين 10 تا 13 ولت به floating gate داده  می شود.شارژ از ستون شروع و پس از ورود به floating gate در ground تخليه خواهد گرديد. شارژ فوق باعث می گردد که ترانزيستور floating gate مشابه يک "پخش کننده الکترون  " رفتار نمايد . الکترون های مازاد فشرده شده و در سمت ديگر لايه اکسيد به دام افتاد  و يک شارژ منفی را باعث می گردند. الکترون های شارژ شده منفی ، بعنوان يک صفحه عايق  بين control gate و floating gate  رفتار می نمايند.دستگاه خاصی با نام Cell sensor سطح شارژ پاس داده شده به floating gate را مونيتور خواهد کرد. در صورتيکه جريان گيت بيشتر از 50 درصد شارژ باشد  در اينصورت مقدار "يک" را دارا خواهد بود.زمانيکه شارژ پاس داده شده از 50 درصد آستانه عدول نموده مقدار به "صفر" تغيير پيدا خواهد کرد.يک تراشه EPROM دارای گيت هائی است که تمام آنها باز بوده و هر سلول آن مقدار يک را دارا است.
به منظور باز نويسی يک EPROM می بايست در ابتدا محتويات آن پاک گردد. برای پاک نمودن می بايست يک سطح از انرژی زياد را به منظور شکستن الکترون های منفی Floating gate استفاده کرد.در يک EPROM استاندارد ،عمليات فوق از طريق اشعه ماوراء بنفش با فرکانس 253/7 انحام می گردد.فرآيند حذف در EPROM انتخابی نبوده و تمام محتويات آن حذف خواهد شد. برای حذف يک EPROM می بايست آن را از محلی که نصب شده است جدا کرده و به مدت چند دقيقه زير  اشعه ماوراء بنفش دستگاه پاک کننده EPROM قرار داد.

حافظه های EEPROM و Flash Memory
با اينکه حافظه ای EPROM  يک موفقيت مناسب نسبت به حافظه های PROM از بعد استفاده مجدد می باشند ولی کماکن نيازمند بکارگيری تجهيزات خاص و دنبال نمودن فرآيندهای خسته کننده به منظور حذف و نصب مجدد آنان در هر زمانی است که به يک شارژ نياز باشد. در ضمن، فرآيند اعمال تغييرات در يک حافظه EPROM نمی تواند همزمان با نياز و بصورت تصاعدی صورت پذيرد و در ابتدا می بايست تمام محتويات را پاک نمود.حافظه های Electrically Erasable Programmable Read Only Memory)EEOPROM)  پاسخی مناسب به نيازهای موجود است . در حافظه های EEPROM تسهيلات زير ارائه می گردد:

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

  • برای تغيير بخشی از تراشه نياز به پاک نمودن تمام محتويات نخواهد بود.

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

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

 

 

 

حافظه

حافظه

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

استفاده از حافظه صرفا" محدود به کامپيوترهای شخصی نبوده و در دستگاههای متفاوتی نظير : تلفن های سلولی، PDA ، راديوهای اتومبيل ، VCR ، تلويزيون و ... نيز در ابعاد وسيعی استفاده می گردد .هر يک از دستگاه های فوق مدل های خاصی از حافظه را استفاده می نمايند.

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

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

نياز به سرعت دليلی بر وجود حافظه های متنوع
چرا حافظه در کامپيوتر تا بدين ميزان متنوع و متفاوت است ؟ در پاسخ می توان به موارد ذيل اشاره نمود:

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

  • حافظه RAM سطح دستيابی بعدی در ساختار سلسله مراتبی حافظه است . اندازه بيت يک پردازنده نشاندهنده تعداد بايت هائی از حافظه است که در يک لحظه می توان به آنها دستيابی داشت. مثلا" يک پردازنده  شانزده بيتی ، قادر به پردازش دو بايت در هر لحظه است . مگاهرتز واحد سنجش سرعت پردازش  در پردازنده ها است  و معادل "ميليون در هر ثانيه" است . مثلا" يک کامپيوتر 32 بيتی  پنتيوم iii  با سرعت 800-MHz ، قادر به پردازش چهار بايت بصورت همزمان و 800 ميليون بار در ثانيه است . حافظه RAM  بتنهائی دارای سرعت مناسب برای همسنگ شدن با سرعت پردازنده نيست .  بهمين دليل است که از حافظه های Cache استفاده می گردد. بديهی است هر اندازه که سرعت حافظه RAM بالا باشد مطلوب تر خواهد بود.اغلب تراشه های مربوطه امروزه دارای سرعتی بين 50 تا 70 Nanoseconds می باشند. سرعت خواندن و يا نوشتن در حافظه  ارتباط مستقيم با نوع حافظه استفاده شده دارد .در اين راستا ممکن است از حافظه های DRAM,SDRAM,RAMBUS استفاده گردد. سرعت RAM توسط پهنا و سرعت  Bus ، کنترل می گردد. پهنای  Bus ، تعداد بايتی که می تواند بطور همزمان برای پردازنده ارسال گردد را مشخص   و سرعت BUS به تعداد دفعاتی که می توان يک گروه از بيت ها را در هر ثانيه ارسال کرد اطلاق می گردد.  سيکل منظم حرکت  داده ها از حافظه بسمت پردازنده را Bus Cycle  می گويند مثلا" يک Bus با وضعيت : 100MHz و 32 بيت، بصورت تئوری قادر به ارسال چهار بايت  به پردازنده و  يکصد ميليون مرتبه در هر ثانيه است . در حاليکه يک BUS شانرده بيتی 66MHZ بصورت تئوری قادر به ارسال دو بايت و 66 ميليون مرتبه در هر ثانيه است . با توجه به مثال فوق مشاهده می گردد که با تغيير پهنای  BUS از شانزده به سي و دو و سرعت از 66MHz به 100MHz سرعت ارسال داده برای پردازنده سه برابر گرديد.

ريجستر و Cache
با توجه به سرعت بسيار بالای پردازنده حتی در صورت استفاده از Bus عريض وسريع همچنان مدت زمانی طول خواهد کشيد تا داده ها از حافظه RAM برای پردازنده ارسال گردند. Cache با اين هدف  طراحی شده است که داده های مورد نياز پردازنده را که احتمال استفاده از آنان  بيشتر است ، در دسترس تر  قرار دهد . عمليات فوق از طريق بکارگيری مقدار اندکی از حافظه   Cache  که Primary و يا Level 1 ناميده می شود صورت می پذيرد. ظرفيت حافظه های فوق بسيار اندک بوده و از دو کيلو بايت تا شصت و چهار کيلو بايت را
، شامل می گردد.  نوع دوم Cache  که Secodray و يا level 2 ناميده می شود بر روی يک کارت حافظه و در مجاورت پردازنده قرار می گيرد. اين نوع Cache دارای يک ارتباط مستقيم با پردازنده است. يک مدار کنترل کننده  اختصاصی بر روی برد اصلی که " کنترل کننده L2 " ناميده می شود مسئوليت عمليات مربوطه  را برعهده خواهد گرفت . با توجه به نوع پردازنده ، اندازه حافظه فوق متغير بوده و دارای  دامنه ای بين 256Kb تا 2MB است. برخی از پردازنده های با کارائی بالا اخيرا" اين نوع Cache را بعنوان جزئی جداناپذير در کنار خود دارند. ( بخشی از تراشه  پردازنده ) در اين نوع پردازنده ها با توجه به اينکه  Cache  بخشی از پردازنده محسوب می گردد، اندازه آن متغير بوده و بعنوان يکی از مهمترين شاخص ها در کارائی پردازنده مطرح است.
نوع  ديگری از RAM با نام SRAM ( حافظ های با دستيابی تصادفی ايستا ) نيز وجود داشته که  در آغاز برای Cache استفاده می گرديد. اين نوع حافظه ها از چندين ترانزيستور ( معمولا" چهار تا شش ) برای هر يک از سلول های حافظه خود استفاده می نمايند. حافظه های فوق دارای مجموعه ای از فليپ فلاپ ها با دو وضعيت خواهند بود. بنابراين حافظه های فوق  قادر به بازخوانی اطلاعات  بصورت پيوسته نظير حافظه های DRAM نخواهند بود. هر يک از سلول های حافظه ماداميکه  منبع تامين انرژی آنها فعال (On) باشد داده های خود را ذخيره نگاه خواهند داشت . در اين حالت ضرورتی به بازخوانی اطلاعات  بصورت پريوديک نخواهد بود . سرعت حافظه های فوق بسيار بالا است ، ولی بدليل قيمت بالا ، در حال حاضر بعنوان جايگزينی استاندارد برای حافظه های RAM مطرح نمی باشند.

انواع حافظه
حافظه ها را می توان بر اساس شاخص های متفاوتی تقسيم بندی کرد .  Volatile و Nonvolatile نمونه ای از اين تقسيم بندی ها است .  حافظه های volatile بلافاصله پس از خاموش شدن سيستم اطلاعات خود را از دست می دهند. و همواره برای نگهداری اطلاعات خود به منبع تامين انرژی نياز خواهند داشت . اغلب حافظه های RAM در اين گروه قرار می گيرند. حافظه های Nonvolatile داده های خود را همچنان پس از خاموش شدن سيستم حفظ خواهند کرد. حافظه ROM نمونه ای از اين نوع حافظه ها است .

 

 

ريزپردازنده

ريزپردازنده

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

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

اولين ريزپردازنده ای که بر روی يک کامپيوتر خانگی نصب  گرديد
، 8080 بود. پردازنده فوق هشت بيتی و بر روی يک تراشه قرار داشت . اين ريزپردازنده در سال 1974 به بازار عرضه گرديد.اولين پردازنده ای که باعث تحولات اساسی در دنيای کامپيوتر شد ، 8088 بود. ريزپردازنده فوق در سال 1979 توسط شرکت IBM طراحی و اولين نمونه آن در سال 1982 عرضه گرديد. وضعيت توليد ريزپردازنده توسط شرکت های توليد کننده بسرعت رشد و از مدل  8088 به 80286 ، 80386  ، 80486 ، پنتيوم ، پنتيوم II ، پنتيوم III و پنتيوم 4  رسيده است . تمام پردازنده های فوق توسط شرکت اينتل و ساير شرکت های  ذيربط طراحی و عرضه شده است . پردازنده های پنتيوم 4 در مقايسه با پردازنده 8088 عمليات مربوطه را با سرعتی به ميزان 5000 بار سريعتر انجام می دهد! جدول زير ويژگی هر يک از پردازنده های فوق بهمراه تفاوت های موجود  را نشان می دهد.

 

Name

Date

Transistors

Microns

Clock speed

Data width

MIPS

8080

1974

6,000

6

2 MHz

8 bits

0.64

8088

1979

29,000

3

5 MHz

16 bits
8-bit bus

0.33

80286

1982

134,000

1.5

6 MHz

16 bits

1

80386

1985

275,000

1.5

16 MHz

32 bits

5

80486

1989

1,200,000

1

25 MHz

32 bits

20

Pentium

1993

3,100,000

0.8

60 MHz

32 bits
64-bit bus

100

Pentium II

1997

7,500,000

0.35

233 MHz

32 bits
64-bit bus

~300

Pentium III

1999

9,500,000

0.25

450 MHz

32 bits
64-bit bus

~510

Pentium 4

2000

42,000,000

0.18

1.5 GHz

32 bits
64-bit bus

~1,700

 توضيحات  

  • ستون Date نشاندهنده سال عرضه پردازنده است.

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

  • ستون Micron ضخامت کوچکترين رشته  بر روی تراشه را بر حسب ميکرون مشخص می کند. ( ضخامت موی انسان 100 ميکرون است ).

  • ستون Clock Speed حداکثر سرعت Clock تراشه را مشخص می نمايد.

  • ستون Data Width پهنای باند واحد منطق و محاسبات (ALU) را نشان می دهد. يک واحد منطق و حساب هشت بيتی قادر به انجام عمليات محاسباتی نظير: جمع ، تفريق ، ضرب و ... برای اعداد هشت بيتی است. در صورتيکه يک واحد منطق و حساب 32 بيتی قادر به انجام عمليات بر روی اعداد  32 بيتی  است . يک واحد منطق و حساب 8 بيتی به منظور جمع دو عدد 32 بيتی می بايست چهار دستورالعمل را انجام داده در صورتيکه يک واحد منطق وحساب 32 بيتی عمليات فوق را صرفا" با اجرای يک دستورالعمل انجام خواهد داد.در اغلب موارد گذرگاه خارجی داده ها مشابه ALU است . وضعيت فوق در تمام موارد صادق نخواهد بود مثلا" پردازنده 8088 دارای واحد منطق وحساب 16 بيتی بوده در حاليکه گذرگاه داده ئی آن هشت بيتی است . در اغلب پردازنده های پنتيوم جديد گذرگاه داده 64 بيتی و واحد منطق وحساب 32 بيتی است . ستون MIPS  مخفف کلمات Millions of instruction per Second  ( ميليون دستورالعمل در هر ثانيه ) بوده و واحدی برای سنجش کارآئی يک پردازنده است.

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

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

  •  يک ريزپردازنده قادر به انتقال داده از يک محل حافظه به محل ديگر است .

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

شکل زير يک پردازنده ساده  را نشان می دهد.

پردازنده فوق دارای :

  • يک گذرگاه آدرس (Address Bus)  است که قادر به ارسال يک آدرس به حافظه است ( گذرگاه فوق می تواند 8 ، 16 و يا 32 بيتی باشد)

  • يک گذرگاه داده (Data Bus) است که قادر به ارسال داده به حافظه و يا دريافت داده از حافظه است (گذرگاه فوق می تواند 8 ، 16 و يا 32 بيتی باشد)

  • يک خط برای خواندن (RD) و يک خط برای  نوشتن (WR) است که  آدرسی دهی  حافظه را انجام می دهند. آيا قصد نوشتن در يک آدرس خاص وجود داشته و يا مقصود، خواندن اطلاعات از يک آدرس خاص حافظه است؟

  • يک خط Clock که ضربان پردازنده را تنظيم خواهد کرد. 

  • يک خط Reset که مقدار " شمارنده برنامه " را صفر نموده و يا باعث اجرای مجدد يک فرآيند می گردد.

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

  • ريجسترهای A,B,C  نگاهدارنده هائی بوده که از فليپ فلاپ ها ساخته شده اند.

  • Address Latch  مشابه ريجسترهای A,B,C است .

  • شمارنده برنامه (Program Counter)  نوع خاصی از يک نگهدارنده اطلاعات است  که قابليت افزايش بميزان يک و يا پذيرش مقدار صفر را دارا است

  • واحد منطق و حساب (ALU) می تواند يک مدار ساده جمع کننده هشت بيتی بوده و يا مداری است که قابليت انجام عمليات جمع ، تفريق ، ضرب و تقسيم را دارا است .

  • ريجستر Test يک نوع خاص نگاهدارنده بوده که قادر به نگهداری نتايج  حاصل از انجام مقايسه ها توسط ALU است .ALU قادر به مقايسه دو عدد وتشخيص مساوی و يا نامساوی بودن آنها است . ريجستر Test همچنين قادر به نگهداری يک Carry bit ( ماحصل آخرين مرحله عمليات جمع)  است . ريجستر فوق مقادير مورد نظر را در فليپ فلاپ ها ذخيره و در ادامه Instruction Decoder "تشخيص دهنده دستورالعمل ها " با استفاده از مقادير فوق قادر به اتخاذ تصميمات لازم خواهد بود.

  • همانگونه که در شکل فوق ، مشاهده می گردد از شش " 3-State" استفاده شده که به آنها "tri-State buffers" می گويند. بافرهای فوق قادر به پاس دادن مقادير صفر و يا يک و يا قطع خروجی مربوطه می باشند.. اين نوع بافرها امکان ارتباط چندين خروجی را از طريق يک Wire فراهم می نمايند. در چنين حالتی فقط يکی از آنها قادر به انتقال ( حرکت ) صفر و يا يک بر روی خط خواهد بود.

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

  • به ريجستر A اعلام نمايد که مقدار موجود بر روی گذرگاه داده را در خود نگاهدارد.(Latch)

  • به ريجستر B اعلام نمايد که مقدار موجود بر روی گذرگاه داده را در خود نگاهدارد.(Latch)

  • به ريجستر C اعلام نمايد که مقدار موجود بر روی گذرگاه داده را در خود نگاهدارد.(Latch)

  • به " شمارنده برنامه " اعلام نمايد که مقدار موجود بر روی گذرگاه داده را در خود نگاهدارد.(Latch)

  • به ريجستر Address اعلام نمايد که مقدار موجود بر روی گذرگاه داده را در خود نگاهدارد.(Latch

  • به ريجستر Instruction اعلام نمايد که مقدار موجود بر روی گذرگاه داده را در خود نگاهدارد.(Latch

  • به " شمارنده برنامه " اعلام نمايد که مقدار خود را افزايش دهد.

  • به " شمارنده برنامه " اعلام نمايد که مقدار خود را صفر (Reset) نمايد.

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

  • به ريجستر Test اعلام نمايد که بيت های ماحصل عمليات ALU را در خود نگاهدارد.

  • فعال نمودن خط  RD ( خواندن )

  • فعال نمودن خط WR ( نوشتن )

حافظه های RAM و ROM
در بخش قبل گذرگاه های آدرس و داده نظيرخطوط RD,WR بررسی گرديدند. گذرگاه های فوق به حافظه های RAM ،ROM و يا هر دو متصل خواهند بود. در ريزپردازنده ساده فرضی فوق، از گذرگاه های آدرس و داده هشت بيتی استفاده می گردد. بدين ترتيب پردازنده قادر به آدرس دهی 256 بايت حافظه و خواندن و يا نوشتن هشت بيت از حافظه در هر لحظه خواهد بود. فرض کنيد پردازنده فوق دارای 128 بايت حافظه ROM بوده که از آدرس صفر شروع شده و 128 بايت حافظه RAM که از آدرس 128 آغاز می گردد ، است . حافظه ROM تراشه ای است که اطلاعاتی را از قبل و بصورت دائم در خود نگهداری می نمايد. گذرگاه های آدرس به  تراشه ROM اعلام خواهند کرد که کدام بايت را خواسته و آن را بر روی گذرگاه قرار خواهد داد. زمانيکه وضعيت خط RD تغيير نمايد تراشه ROM بايت مورد نظر و انتخابی را بر روی گذرگاه داده قرار خواهد داد. RAM شامل بايت هائی از اطلاعات است . ريزپردازنده قادر به خواندن و نوشتن در حافظه فوق بر اساس سيگنال های دريافتی از خطوط RD و RW است . در رابطه با حافظه RAM می بايست به اين نکته نيز اشاره گردد که اين نوع از حافظه ها با از دست منبع انرژی ( برق ) اطلاعات خود را از دست خواهند داد.
تمامی کامپيوترها دارای حافظه ROM به ميزان مشخص می باشند. ( برخی از کامپيوترها ممکن است دارای حافظه RAM نبوده نظير ميکرو کنترل ها ، ولی وجود و ضرورت حافظه ROM را در هيچ کامپيوتری نمی توان انکار نمود).بر روی کامپيوترهای شخصی حافظه ROM را BIOS نيز می نامند. زمانيکه ريزپردازنده فعاليت خود را آغاز می نمايد ، در ابتدا دستورالعمل هائی را اجراء خواهد کرد که در BIOS می باشند. دستورالعمل های موجود در BIOS عمليانی نظير تست سخت افزار و سيستم را انجام و در ادامه فرآيندی آغاز خواهد شد که نتيجه آن استقرار سيستم عامل در حافظه خواهد بود. (Booting) . در آغاز فرآيند فوق ، بوت سکتور هارد ديسک ( می تواند آغاز عمليات فوق از هارد شروع نشده و از فلاپی ديسک انجام گردد ، اتخاذ تصميم در رابطه با وضعيت فوق بر اساس پارامترهای ذخيره شده در حافظه CMOS خواهند بود ) را بررسی خواهد کرد . بوت سکتور فوق حاوی برنامه ای کوچک است که در ادامه BIOS آن را خوانده و در حافظه RAM مستقر خواهد کرد. ريزپردازنده در ادامه دستورالعمل های مربوط به برنامه بوت سکتور را که در حافظه RAM مستقر شده اند ،اجراء خواهد کرد. برنامه فوق به ريزپردازنده اعلام خواهد کرد که اطلاعات ديگری را از هارد ديسک به درون حافظه RAM انتقال و آنها را اجراء نمايد. با ادامه وتکميل  فرآيند فوق سيستم عامل در حافظه مستقر ومديريت  خود را آغاز می نمايد.

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

 

Instruction

Meaning

LOADA mem لود نمودن ريجستر A از آدرس حافظه
LOADB mem لود نمودن ريجستر B از آدرس حافظه
CONB con لود نمودن يک مقدار ثابت در ريجستر B
SAVEB mem ذخيره نمودن مقدار موجود در ريجستر B در يک آدرس حافظه
SAVEC mem ذخيره نمودن مقدار موجود در ريجستر C در يک آدرس حافظه
ADD جمع  A و B و ذخيره کردن حاصل در C
SUB تفريق A و B و ذخيره کردن حاصل در C
MUL ضرب  A و B و ذخيره کردن حاصل در C
DIV تقسيم  A و B و ذخيره کردن حاصل در C
COM مقا يسه  A و B و ذخيره کردن حاصل در Test
JUMP addr پرش به يک آدرس مشخص
JEQ addr پرش شرطی ( اگر مساوی است ) به يک آدرس مشخص
JNEQ addr پرش شرطی ( اگر نا مساوی است ) به يک آدرس مشخص
JG addr پرش شرطی ( اگر بزرگتر است ) به يک آدرس مشخص
JGE addr پرش شرطی ( اگر بزرگتر و يا مساوی است ) به يک آدرس مشخص
JL addr پرش شرطی ( اگر کوچکتر است ) به يک آدرس مشخص
JLE addr پرش شرطی ( اگر کوچکتر و يا مساوی است ) به يک آدرس مشخص
STOP توقف اجراء


 مثال : فرض کنيد برنامه محاسبه فاکتوريل عدد پنج (5!=5*4*3*2*1 ) با يکی از زبانهای سطح بالا نظير C نوشته گردد . کمپايلر ( مترجم ) زبان C برنامه مورد نظر را به زبان اسمبلی ترجمه خواهد کرد. ( فرض کنيد که آدرس شروع RAM در پردازنده فرضی 128 و آدرس شروع حافظه ROM صفر باشد.) جدول زير برنامه نوشته شده به زبان C را بهمراه کد ترجمه شده اسمبلی  معادل آن، نشان می دهد.

C Program

 Assembly Language

a=1;
f=1;
while (a <= 5)
{
    f = f * a;
    a = a + 1;
}
// Assume a is at address 128
// Assume F is at address 129
0   CONB 1      // a=1;
1   SAVEB 128
2   CONB 1      // f=1;
3   SAVEB 129
4   LOADA 128   // if a > 5 the jump to 17
5   CONB 5
6   COM
7   JG 17
8   LOADA 129   // f=f*a;
9   LOADB 128
10  MUL
11  SAVEC 129
12  LOADA 128   // a=a+1;
13  CONB 1
14  ADD
15  SAVEC 128
16  JUMP 4       // loop back to if
17  STOP

در ادامه می بايست کدهای ترجمه شده به زبان اسمبلی به زبان ماشين ( الگوهای بيتی ) ترجمه گردند. بدين منظور لازم است که هر يک از دستورات اسمبلی دارای کد معادل (OpCode) باشند. فرض کنيد دستورات اسمبلی در پردازنده فرضی دارای Opcode ( کدهای عملياتی) زير باشند.

Assembly Instruction

Opcode

LOADA mem 1
LOADB mem 2
CONB con 3
SAVEB mem 4
SAVEC mem 5
ADD 6
SUB 7
MUL 8
DIV 9
COM 10
JUMP addr 11
JEQ addr 12
JNEQ addr 13
JG addr 14
JGE addr 15
JL addr 16
JLE addr 17
STOP 18

در نهايت برنامه ترجمه شده  به زبان اسمبلی به زبان ماشين ( الگوهای بيتی )  ترجمه خواهد شد.

 

Assembly Language

Bit Patterns

// Assume a is at address 128
// Assume F is at address 129
0   CONB 1      // a=1;
1   SAVEB 128
2   CONB 1      // f=1;
3   SAVEB 129
4   LOADA 128   // if a > 5 the jump to 17
5   CONB 5
6   COM
7   JG 17
8   LOADA 129   // f=f*a;
9   LOADB 128
10  MUL
11  SAVEC 129
12  LOADA 128   // a=a+1;
13  CONB 1
14  ADD
15  SAVEC 128
16  JUMP 4       // loop back to if
17  STOP
    // Assume a is at address 128
    // Assume F is at address 129
    Addr opcode/value
    0    3             // CONB 1
    1    1
    2    4             // SAVEB 128
    3    128
    4    3             // CONB 1
    5    1
    6    4             // SAVEB 129
    7    129
    8    1             // LOADA 128
    9    128
    10   3             // CONB 5
    11   5
    12   10            // COM
    13   14            // JG 17
    14   31
    15   1             // LOADA 129
    16   129
    17   2             // LOADB 128
    18   128
    19   8             // MUL
    20   5             // SAVEC 129
    21   129
    22   1             // LOADA 128
    23   128
    24   3             // CONB 1
    25   1
    26   6             // ADD
    27   5             // SAVEC 128
    28   128
    29   11            // JUMP 4
    30   8
    31   18            // STOP

 

همانگونه که مشاهده می نمائيد برنامه نوشته شده به زبان C  به 17 دستورالعمل معادل اسمبلی و 31 دستورالعمل زبان ماشين تبديل گرديد.

 Instruction Decoder ( تشخيص دهنده نوع دستورالعمل ها ) با انجام  عملياتی خاص، نوع دستورالعمل را تشخيص خواهد داد. فرض کنيد دستور العمل ADD را داشته باشيم و بخواهيم  نحوه تشخيص دستورالعمل را دنبال نمائيم :

  • در زمان اولين Clock ، دستورالعمل Load می گردد. ( فعال کردن بافر tri-state برای " شمارنده برنامه "  ، فعال شدن خط RD ، فعال کردن Data-in در بافر tri-state )

  • در زمان دومين  Clock ، دستورالعمل ADD تشخيص داده خواهد شد.( تنظيم عمليات جمع برای ALU ، ذخيره نمودن ماحصل عمليات ALU در ريجستر C )

  • در زمان سومين Clock،  " شمارنده برنامه " افزايش خواهد يافت ( در تئوری اين مرحله می تواند در زمان دومين Clock نيز صورت پذيرد)

همانگونه که ملاحظه گرديد ،  هر دستورالعمل اسمبلی دارای چندين Clock Cycle است . برخی از دستورات نظير ADD دارای دو و يا سه Clock و برخی ديگر از دستورات دارای پنج ويا شش Clock خواهند بود.

 

 

صفحه کليد


 صفحه کليد، متداولترين وسيله ورود اطلاعات در کامپيوتر است .عملکرد صفحه کليد مشابه يک کامپيوتر است!

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

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

  • صفحه کليد پيشرفته با  101 کليد

  • صفحه کليد ويندوزبا  104 کليد

  • صفحه کليد استاندارد اپل با 82 کليد

  • صفحه کليد پيشرفته اپل با 108 کليد

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

  • کليدهای مربوط به تايپ

  • کليدهای مربوط به بخش اعداد (Numeric keypad)

  • کليدهای مربوط به توابع ( عمليات ) خاص

  • کليدهای کنترلی

کليدهای تايپ بخشی از صفحه کليد را شامل می گردنند که بکمک آنها می توان حروف الفبائی را تايپ نمود. آرايش کليدهای فوق بر روی صفحه کليد مشابه دستگاههای تايپ است . همزمان با گسترش استفاده از کامپيوتر در بخش های تجاری ضرورت وجود کليدهای خاص عددی برای بهبود سرعت ورود اطلاعات نيز احساس گرديد، بدين منظوور Numeric keypad در صفحه کليدها مورد استفاده قرار گرفت . با توجه به اينکه حجم بالائی از اطلاعات بصورت عدد می باشند ، يک مجموعه با 17 کليد به صفحه کليد اضافه گرديد. آرايش کليدهای فوق بر روی صفحه کليد مشابه اغلب ماشين های حساب است . در سال 1986 شرکت IBM صفحه کليد اوليه خود را تغيير و کليدهای عملياتی و کنترلی را به آن اضافه کرد. کليدهای عملياتی بصورت يک سطر و در بالاترين قسمت صفحه کليد قرار می گيرند.  با استفاده از نرم افزارهای کاربردی و يا سيستم عامل می توان به هر يک از کليدهای عملياتی مسئوليتی را واگذار نمود. کليدهای کنترلی باعث کنترل مکان نما (Cursor) و صفحه نمايشگر می باشند. در اين راستا از چهار کليد ( با فرمت معکوس حرف T ) بين بخش مربوط به کليدهای مختص تايپ و بخش عددی صفحه کليد استفاده شده است. با استفاده از کليدهای فوق کاربران قادر به حرکت مکان نما بر روی صفحه نمايشگر خواهند بود. در اغلب نرم افزارها با استفاده از کليدهای کنترلی کاربران قادر به پرش هائی با گام های بلند نيز خواهند بود. اين کليدها شامل موارد زير می باشد :

  • Home
  • End
  • Insert
  • Delete
  • Page Up
  • Page Down
  • Control (Ctrl)
  • Alternate (Alt)
  • Escape (Esc)

صفحه کليد ويندوز، کليدهای اضافه ای را معرفی نمود. کليدهای Windows يا Start و يک کليد Application نمونه هائی در اين زمينه می باشند.  صفحه کليدهای " اپل " اختصاص به سيستم های مکينتاش دارد. شکل زير يک نمونه از صفحه کليدهای فوق را نشان می دهد:



 

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

  • آگاهی از موقعيت کليد در ماتريس کليد ها ( مدار ماتريسی )

  • ميزان جهش ( Bounce ) کليد و نحوه فيلتر نمودن آن

  • سرعتی که اطلاعات برای typematics ارسال می گردند.

 مدارماتريسی کليد ها ، يک شبکه ازمدارات بوده و در زيرکليد ها قرار دارد.در تمام صفحه کليدها، هر مدار در نقطه مربوط به يک کليد خاص، شکسته می گردد.با فشردن يک کليد فاصله موجود بين مدار حذف و امکان ايجاد يک جريان ضعيف بوجود می آيد. پردازنده وضعيت هر يک از کليدها را از بعد پيوستگی در نقطه تماس مدار مربوطه،  بررسی می کند. زمانيکه تشخيص داده شد که يک مدار بسته شده ( اتصال برقرار است ) است، مقايسه بين محل کليد مورد نظر با " طرح کاراکترهای" (bitmap)  موجود در حافظه ROM انجام می گيرد. طرح کاراکترها، يک چارت مقايسه ای برای پردازنده بوده تا به وی اعلام گردد، کدام کليد در مختصات X,Y  در مدارماتريسی کليد ها ، قرار دارد.در صورتيکه بيش از يک کليد  بصورت همزمان فعال شده باشد پردازنده بررسی خواهد کرد که آيا ترکيب کليدهای فشرده شده دارای يک طرح کاراکتر است . مثلا" در صورت فشردن  کليد a ، حرف a برای کامپيوتر ارسال می شود.در صورتيکه کليد shift را نگاهداشته و کليد a را فعال نمائيم پردازنده ترکيب فوق را با طرح  کاراکترها  مقايسه و حرف A را توليد خواهد کرد.
شکل زير ريزپردازنده و کنترل کننده صفحه کليد را نشان می دهد.

شکل زير مدار ماتريسی کليد ها  را نشان می دهد.

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

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

  • Rubber dome mechanical
  • Capacitive non-mechanical
  • Metal contact mechanical
  • Membrane mechanical
  • Foam element mechanical

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

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

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

  • کانکتور پنج پين DIN)Deustche industrie Norm)

  • کانکتور شش پين PS/2

  • کانکتور چهار پين USB

  • کانکتور داخلی ( برای کامپيوترهای Laptops ).

شکل زير يک کانکنور PS/2 را نشان می دهد.

کانکتورهای پنج پين از رايج ترين کانکتورهای صفحه کليد می باشند . برخی از کامپيوترها از کانکتور PS/2 استفاده می نمايند. امروزه در سيستم های جديد کانکتورهای PS/2 جای خود را به کانکتورهای USB داده  است . نوع کانکتوراستفاده شده دارای اهميت زيادی نبوده  و در اين راستا لازم است که به دو نکته اساسی دقت گردد . اولين موضوع برق مورد نياز صفحه کليد است . صفحه کليدها به ميزان اندکی برق ( حدودا" پنج ولت ) نياز دارند. کابل حمل کننده داده از صفحه کليد بسمت کامپيوتر قرار می گيرد.قسمت ديگر کابل صفحه کليد به پورتی متصل می گردد که مديريت آن توسط کنترل کننده صفحه کليد انجام می گيرد.کنترل کننده فوق يک مدار مجتمع بوده که مسئوليت آن پردازش تمام داده های ارسالی توسط صفحه کليد و هدايت آنها بسمت سيستم عامل است .زمانيکه سيستم عامل از وجود داده ارسالی توسط صفحه کليد آگاه  گردديد ، عمليات متفاوتی توسط سيستم عامل انجام خواهد شد.

  •  آيا داده صفحه کليد يک دستور در سطح سيستم است؟ .( مثلا" فعال کردن کليدهای Ctrl-Alt-Delete).

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

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

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

 

 

کامپيوترهای شخصی

کامپيوترهای شخصی

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

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

  • پردازشگر مرکزی (CPU)
    ريزپردازنده بمنزله " مغز"  کامپيوتربوده  و مسئوليت انجام تمامی عمليات ( مستفيم يا غير مستقيم ) را برعهده دارد. هر چيزی را که کامپيوتر انجام می دهد با توجه به وجود " ريز پردازنده " است .

  • حافظه
     اين نوع از حافظه ها با سرعت بالا، امکان ذخيره سازی اطلاعات را فراهم می نمايند. سرعت حافظه های فوق می بايست بالا باشد چراکه آنها مستقيما" با ريزپردازنده مرتبط می باشند. در کامپيوتر از چندين نوع حافظه استفاده می گردد:
     ●
    ( Random-Access Memory(RAM از اين نوع حافظه ، به منظور ذخيره سازی موقت اطلاعاتی که کامپيوتر در حال کار با آنان است، استفاده می گردد.

     ● (
    Read Only Memory (ROM  يک حافظه دائم که از آن برای ذخيره سازی اطلاعات مهم  در کامپيوتر استفاده می گردد.  
     ● (Basic Input/Output System (
    BIOS
      يک نوع حافظه ROM ، که از اطلاعات آن در هر بار راه اندازی سيستم استفاده می گردد.
     ● Caching  حافظه ای سريع که از آن برای ذخيره سازی اطلاعاتی که فرکانس بازيابی آنان بالا باشد،  استفاده می گردد.  
     ●
    Virtual Memory فضای موجود بر روی هارد ديسک که از آن برای ذخيره سازی موقت اطلاعات استفاده و در زمان نياز عمليات جايگزينی در حافظه RAM انجام خواهد شد .

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

  • منبع تغذيه (Power Supply) يک دستگاه الکتريکی که مسئول تامين و نتظيم جريان الکتريکی مورد نياز در کامپيوتر است .

  • هارد ديسک (Hard Disk) يک حافظه با ظرفيت بالا و دائم که از آن برای نگهداری اطلاعات و برنامه ها استفاده می گردد.

  • کنترل کننده (Integrated Drive Electronics(IDE . اينترفيس اوليه برای هارد ، CD-ROM و فلاپی ديسک است .

  •  گذرگاه Peripheral Component Interconnect)PCI)  . رايج ترين روش اتصال يک عنصر سخت افزاری اضافه به کامپيوتر است .PCI از مجموعه ای اسلات که بر روی برد اصلی سيستم موجود می باشد،  استفاده و کارت های PCI از طريق اسلات های  فوق به برد اصلی متصل خواهند شد.

  • اينترفيس Small Computer System Interface)SCSI) روشی برای اضافه کردن دستگاه های اضافه در سيستم نظير : هارد و اسکنر است .

  • پورت Accelerated Graphics Port)AGP) يک اتصال با سرعت بسيار بالا به منظور ارتباط کارت های گرافيک با کامپيوتر است .

  • کارت صدا (Sound Card) مسئول ضبط و پخش صوت از طريق تبديل سيگنال های آنالوگ صوتی به اطلاعات ديجيتال و بر عکس  است

  • کارت گرافيک (Graphic Cards) مسئول تبديل اطلاعات موجود در کامپيوتر بگونه ای که قابليت نمايش بر روی مانيتور را داشته باشند.

دستگاه های ورودی و خروجی

  • مانيتور (Monitor) . رايج ترين دستگاه نمايش اطلاعات در کامپيوتر است .

  • صفحه کليد (KeyBoard)  رايج ترين دستگاه برای ورود اطلاعات است .

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

  • رسانه های ذخيره سازی قابل حمل (Removable storage) . با استفاده از اين نوع رسانه ها می توان بسادگی اطلاعاتی را به کامپيوتر خود اضافه و يا اطلاعات مورد نياز خود را بر روی آنها ذخيره و در محل ديگر استفاده کرد.

  •  فلاپی ديسک (Floppy Disk) . رايج ترين رسانه ذخيره سازی قابل حمل است .  

  • CD-ROM . ديسک های فشرده رايج ترين رسانه ذخيره سازی برای انتقال وجابجائی نرم افزار ها و ... می باشند.

  •  Flash Memory يک نوع خاص از حافظه Rom است(EEPROM). اين نوع رسانه ها امکان ذخيره سازی سريع و دائم را بوجود می آورند. کارت های PCMCIA نمونه ای از اين رسانه ها می باشند.

  • Digital Versatile Disc,Read Only Disk) DVD-ROM ) اين نوع رسانه ذخيره سازی مشابه CD-ROM بوده با اين تفاوت مهم که  ميزان ذخيره سازی آنان بسيار بالا است .

پورت ها

  • موازی (Parallel) . از اين نوع پورت ها اغلب برای اتصال چاپگر استفاده می گردد.

  • سريال (Serial) . از اين نوع پورت ها اغلب برای اتصال دستگاههائی نظير يک مودم خارجی، استفاده می گردد.

  • پورت ( Uuniversal Serial Bus(USB . از پورت ها ی فوق به منظور اتصال دستگاههای جانبی نظير اسکنر و يا دوربين های وب استفاده  می گردد.

اتصالات شبکه و اينترنت

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

  • کارت شبکه (Lan Card) . يک نوع برد سخت افزاری که از آن به منظور بر پاسازی شبکه بين چندين دستگاه کامپيوتر در يک سازمان استفاده می شود.

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

  • مودم های  DSL)Digital Subscriber Line)  . يک خط ارتباطی با سرعت بالا که از طريق خطوط تلفن کار می کند.

  • مودم های VDSL)Very high bit-rate DSL)  .يک رويکرد جديد از DSL بوده که لازم است خطوط تلفن از زير ساخت مناسب ، فيبر نوری استفاده نمايند.

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

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

مرحله دو : نرم افزار موجود در BIOS  موسوم به POST)Power-on self-test)  عمليات خود را آغاز می نمايد. دراغلب سيستم ها، BIOS اطلاعاتی را بر روی صفحه نمايش نشان داده که نشاندهنده عمليات جاری است. (مثلا" ميزان حافظه موجود ،  نوع هارد ديسک)  در زمان  راه اندازی سيستم ، BIOS مجموعه ای از عمليات را به منظور آماده سازی کامپيوتر انجام می دهد.

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

  •  بررسی نوع " راه اندازی سيستم " توسط BIOS انجام خواهد شد. ( راه اندازی مجدد و يا راه اندازی اوليه ) . BIOS برای تشخيص مورد فوق از مقدار موجود در آدرس 0000:0472 استفاده می نمايد. در صورتيکه مقدار فوق معادل 1234h باشد، نشاندهنده "راه اندازی مجدد" است . در اين حالت برنامه BIOS ، عمليات مربوط به POST را صرفنظر و اجراء نخواهد کرد. در صورتيکه در آدرس فوق هر مقدار ديگری وجود داشته باشد ،  بمنزله "راه اندازی اوليه " است .

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

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

  • هر نوع درايور خاص نظير آداپتورهای SCSI از طريق آداپتور مربوطه فعال و BIOS اطلاعات مربوطه را نمايش خواهد داد.

  • در ادامه BIOS درايو مورد نظر برای راه اندازی ( Booting) را مشخص می نمايد. بدين منظور از اطلاعات ذخيره شده در CMOS استفاده می گردد. واژه Boot بمنزله استقرار سيستم عامل در حافظه است .

مرحله سوم : پس از اتمام اوليه عمليات  BIOS ، و واگذاری ادامه عمليات راه اندازی به برنامه  Bootstarp loader ، عملا" مرحله استقرار سيستم عامل به درون حافظه آغاز می گردد .

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

مرحله پنجم : پس از استقرار سيستم عامل ، می توان برنامه های مورد نظر خود را اجراء نمود. سيستم عامل محيط لازم برای اجرای برنامه ها را ايجاد خواهد کرد. پس از اتمام عمليات استفاده از برنامه ها می توان هر يک از آنها را غيرفعال (Close) نمود.

مرحله ششم : در صورت تصميم به خاموش نمودن سيستم ، سيستم عامل تنظيمات جاری خود را در يک فايل خاص نوشته تا در زمان راه اندازی مجدد( آينده ) از آنان استفاده نمايد.

مرحله هفتم  : پس از خاموش نمودن سيستم (Shut down)،  سيستم عامل بطور کامل سيستم را خاموش می نمايد.

 

 

فیبر نوری

[فيبر نوري و سيستم مخابرات فيبر نوري]

 

فيبر نوري چيست؟

فيبر نوري، رشته‌اي از تارهاي بسيار نازك شيشه‌اي بوده‌ كه قطر هر يك از تارها نزديك به قطر يك تار موي انسان است. تارهاي فوق در كلاف‌هايي قرار مي‌گيرند و كابل‌هاي نوري را به‌وجود مي آورند.

كابل فيبر نوري به‌عنوان يك هدايت‌كننده نور عمل مي‌كند كه نور را از يك سر‌به‌سر ديگر منتقل‌ مي‌كند. يك دريافت‌كننده كه به نور حساس است در مقصد وجود داردكه پالس‌هاي دريافتي منبع را تبديل به سيگنال‌هاي ديجيتالي مي‌كند.

از فيبر نوري به‌منظور ارسال سيگنال‌هاي نوري در مسافت‌هاي طولاني استفاده مي‌شودو مهمترين هدف در استفاده از فيبر نوري داشتن نرخ انتقال بيتي بالا است.

 

  اجزاي تشكيل‌دهنده فيبر نوري

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

1- هسته(Core) هسته نازك شيشه‌اي در مركز فيبر كه سيگنال‌هاي نوري در آن حركت مي‌نمايند. در داخل هسته از ديودها و يا ليزرهاي انعكاسي استفاده مي‌شود تا مانع از خروج پرتوهاي نور از كابل شود.

 2- روكش(Cladding) بخش خارجي فيبر بوده كه دورتا دور هسته را احاطه كرده و باعث برگشت نور منعكس‌شده به هسته مي‌گردد. پوشش هسته به منحرف نشدن پرتوها كمك مي‌كند. ضريب انعكاس روكش از هسته كمتر بوده و موجب شكست كامل نور تابيده شده به ديواره هسته مي‌شود.

3- بافر رويه(Buffer Coatiny) روكش پلاستيكي كه باعث حفاظت فيبر در مقابل رطوبت و ساير موارد آسيب‌پذير است .

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

 

مزاياي فيبر نوري چيست؟

فيبر نوري در مقايسه با سيم‌هاي مسي داراي مزاياي زير است:

1- قيمت ارزانتر: هزينه فيبر نوري نسبت به سيمهاي مسي در مقياس‌هاي بالا كمتر است.

2- اندازه نازك‌تر: قطر فيبرهاي نوري به مراتب كمتر از سيم‌هاي مسي است.

3- ظرفيت بالا: پهناي باند فيبر نوري به منظور ارسال اطلاعات به مراتب بيشتر از سيم مسي است. لذا فيبر نوري توانايي انتقال داده‌هاي بيشتري را دارد.

4- تضعيف ناچيز: تضعيف سيگنال در فيبر نوري به مراتب كمتر از سيم مسي است.

5- عدم تداخل: برخلاف سيگنال‌هاي الكتريكي در يك سيم مسي، عبور سيگنال‌هاي نوري در يك فيبر تأثيري بر فيبر ديگر نخواهد داشت و تداخل الكترو مغناطيسي نخواهيم داشت.

6- مصرف برق پايين: با توجه به اين كه سيگنال‌ها در فيبر نوري كمتر تضعيف مي‌گردند، بنابراين مي‌توان از فرستنده‌هايي با ميزان برق مصرفي پائين نسبت به فرستنده‌هاي الكتريكي(كه از ولتاژ بالايي استفاده مي‌نمايند)، استفاده كرد.

7- اشتغال‌زا نبودن: با توجه به عدم وجود الكتريسته در فيبر نوري، امكان بروز آتش‌سوزي در اين خصوص وجود نخواهد داشت.

8- وزن سبك: وزن يك كابل فيبر نوري به مراتب كمتر از كابل مسي هم‌رده‌آن است و اين عامل در كاركردن، نصب و نگهداري فيبر بسيار مهم است.

9- انعطاف‌پذير بودن: با توجه به انعطاف‌پذيري فيبر نوري و قابليت ارسال و دريافت نور از آنان، در موارد متفاوت نظير دوربين‌هاي ديجيتال با موارد كاربردي خاص مانند عكس‌برداري پزشكي و لوله‌كشي و... استفاده مي‌گردد.

10- فاصله: از فيبر نوري مي‌توان در ارتباط شبكه‌هايي كه فاصله زيادي از هم دارند استفاده كرد(اتصال شبكه‌هاي محلي(LAN) به يكديگر). شايان ذكر است كه قبل از استفاده از كابل‌هاي فيبر نوري ارتباط بين LAN ها از طريق تلفن يا امواج راديويي برقرار مي‌شد و كابل‌هاي فلزي توانايي برقراري اين ارتباط را نداشتند.

11- پايداري: در كابل‌هاي فيبر نوري امكان نفوذ و ايجاد اختلال در انتقال داده‌ها كمتر است و از تأثيرگذاري انواع نويزهاي الكترومغناطيسي شامل نويزهاي راديويي و يا نويزهاي حاصل از نزديكي كابل‌ها بر روي داده‌هاي در حال انتقال جلوگيري مي‌كند.

بطوركلي تارهاي نوري از تداخل و ترويج با ساير كانالهاي ارتباطي، خواه نوري و خواه الكتريكي، به خوبي محافظت شده‌ مي‌باشد. يعني نسبت به تداخل فركانسهاي راديويي(RFI) و تداخل الكترومغناطيسي(EMI) عدم پذيرش عالي دارند.

12- سرعت: فيبر نوري توانايي در انتقال اطلاعات به مقدار زياد چه به شكل ديجيتالي‌و‌چه به شكل آنالوگ دارند.

13- ترويج نوري نياز به زمين مشترك بين فرستنده تاري وگيرنده را منتفي مي كند.

14-امكان تعمير فيبر (تار) نوري در حاليكه سيستم روشن است ،بدون آنكه احتمال اتصال كوتاه شدن مدارهاي الكتريكي در فرستنده ويا در گيرنده باشد، وجود دارد.

15- فيبرهاي نوري درجه‌اي از امنيت وپنهاني بودن را عرضه مي كند. چون تار ها انرژي تشعشع نمي‌كنند. براي

يك مزاحم، آشكار سازي سيگنال ارسالي مشكل است.

 

نحوه دسته‌بندي كابل‌هاي فيبر نوري چگونه است؟

كابل‌ها براساس پارامترهاي زير دسته‌بندي مي‌شوند؟

1- براساسNEC ،UL ،Flame Retardancy

2- براساس نوع كابل

3-براساس‌نوع فيبر(1- تك‌حالته( Single Mode)، 2- چند حالته(Multi Mode )، 3- مختلط(Hybrid)

 4- براساس تركيب سيم و فيبر(Composite Cable‌)

5- براساس استفاده داخلي(Indoor‌) يا خارجي(‌Outdoor)

 

چگونگي عملكرد سيستم مخابرات فيبر نوري

فيبر نوري يكي از محيط‌هاي انتقال داده با سرعت بالا است. امروزه از فيبر نوري در موارد متفاوتي نظير شبكه‌هاي تلفن شهري و بين‌شهري، شبكه‌هاي رايانه‌اي و اينترنت و براي انتقال اطلاعات در مسافت‌هاي طولاني استفاده مي‌شود.

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

 

مجموعه رله فيبر نوري از عناصر زير تشكيل شده ‌است:

1- فرستنده(Transmiter‌): مسئول توليد و رمزنگاري پيام‌هاي نوري است. فرستنده پيام‌هاي نوري را دريافت و دستگاه نوري را به منظور روشن و خاموش‌شدن در يك دنباله مناسب هدايت مي‌نمايد. فرستنده، از لحاظ فيزيكي در مجاورت فيبر نوري قرار داشته و ممكن است داراي يك لنز به منظور تمركز نور در فيبر باشد. ليزرها داراي توان به مراتب بيشتري نسبت به ديودهاي نوراني مي‌باشند. متداولترين طول موج پيام‌هاي نوري، 850 نانومتر، 1300نانومترو 1550 نانومتر است.

2- فيبر نوري(Optical Fiber‌): پيام‌هاي نور را در طول مسير هدايت مي‌كند.

3- تقويت‌كننده نوري( Optical Regenerator): پيام‌هاي نوري را در مسافت‌هاي طولاني تقويت مي‌كند. برخي از پيام‌ها در مواردي كه مسافت ارسال اطلاعات طولاني بوده و يا به هر دليلي، خلوص شيشه كم باشد، ضعيف شده و حتي از بين خواهند رفت. در چنين مواردي به منظور تقويت پيام‌هاي نوري ضعيف شده از يك يا چندين تقويت‌كننده نوري استفاده مي‌گردد. تقويت‌كننده نوري از فيبرهاي نوري متعدد به همراه يك روكش خاص( Doping) تشكيل مي‌گردد. بخش دوپينگ با استفاده از يك ليزر پمپ( تلمبه) مي‌گردد. زماني كه پيام تضعيف شده به روكش دوپينگي مي‌رسد، انرژي ماحصل از ليزر باعث مي‌گردد كه ملكول‌هاي دوپينگ‌ شده، به ليزر تبديل گردند. ملكول‌هاي دوپينگ‌ شده در ادامه باعث انعكاس يك پيام نوري جديد و قويتر با همان خصوصيات پيام ورودي تضعيف شده، خواهند بود.

4- دريافت‌كننده نوري(Optical Receiver): پيام‌هاي نوري را دريافت و رمزگشايي مي‌نمايد و سپس پيام‌هاي الكتريكي را براي ساير استفاده‌كنندگان(رايانه، تلفن و ...) ارسال مي‌نمايد.

دريافت‌كننده به منظور تشخيص نور از يك فتوسل(Photocell ) يا فتوديود(Photodiode) استفاده مي‌كند.

 

منابع:

1- مناجاتي، محسن.(1383). «  فيبر نوري بستر اصلي شبكه‌هاي پر سرعت» : ماهنامه شبكه- اسفند ماه - ص 120و 121.

2- قاضي تبريزي، سيد مجتبي(1383). «  فيبر نوري چيست» : ماهنامه دانشمند- مردادماه – از صفحه 32 تا صفحه 35.

3-س. پالي، جوزف(1374). «  مخابرات  فيبر نوري »  ترجمه مولوي، محمد و محدث، مجتبي. آستان قدس دانشگاه امام رضا.

4- عبدي، جواد و فاميل خليلي، اعظم (1383). «  بررسي ساختار و قابليت‌هاي فيبر نوري» . ماهنامه استاندارد. دي ماه. از صفحه 25 تا صفحه 31.