ایران سرفراز- نرم افزار وپروژهای دانشجویی


نرم افزار وپروژهای دانشجویی

فصل دوم وسوم ویژگیهای سیستم عامل دستورالعمل هایPOP,PUSH دراسمبلی

<!-- /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-parent:""; margin:0cm; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman";} @page Section1 {size:612.0pt 792.0pt; margin:72.0pt 90.0pt 72.0pt 90.0pt; mso-header-margin:35.4pt; mso-footer-margin:35.4pt; mso-paper-source:0;} div.Section1 {page:Section1;} -->

Mo-mah.persianblog.ir

Mohsen_mahyar@yahoo.com

 

فصل دوم

ویژگیهای سیستم عامل

سیستم عامل دسترسی کلی ومستقل از دستگاه به منابع یک کامپیوتر برای دستگاهای نظیر صفحه

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

است که مجبور نیستید که دستگاها را به طور مشخص آدرس دهی کنید زیرا سیستم می تواند

را در سطح دستگاه ، بدون نیاز به برنامه ای که این عمل را درخواست کرده است Ilo عملیات

که در این کتاب مورد نظر می باشند می توان موارد زیر را نام DOS ،مدیریت کند. از بین توابع

برد.

فهرستها وفایل ها را روی دیسک های سیستم نگاه داری می کند .برنامه های Dos: مدیریت فایل

فایلها را ایجاد کرده وتغییر می دهند ولی سیستم مسئولیت مدیریت مکان آنها را در روی دیسک به

عهد دارد .

ورودی /خروجی :برنامه ها داده های ورودی را از سیستم درخواست نموده ویا چنین داده های را

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

بار کردن برنامه :وقتی که یک کار بر یا یک برنامه، درخواست اجرای یک برنامه را می کند بار

کننده برنامه مراحلی را که شامل دسترسی به برنامه از دیسک ، قرار دادن آن در حافظه و مقدار

دهی اولیه آن برای اجرا می با شند ، مدیریت می کند .

مدیریت حافظه: وقتی که بار کننده برنامه را از دیسک جهت اجرا به داخل حافظه بار می کند ، یک

فضای بسیار بزرگ در داخل حافظه به برنامه مورد نظر وداده های آن اختصاص می دهد.برنامه ها

می توانند داده های موجود در ناحیه حافظه خود را پردازش کرده حافظه ای را که نیاز ندارند آزاد

کرده در صورت نیاز حافظه اضافی در خواست کنند .

مدیریت وقفه: سیستم اجازه نصب وراه اندازی برنامه های مقیم ی را به کار بران می دهد که برای

انجام عملیات ویژه ای خود را به سیستم وقفه ضمیمه می کنند .

ساختار سیستم عامل:

CO.MMAND.Com,MSDOS.SysIO.sys: سه جزء اصلی سیستم عامل عبارتند از

عملیات مقدار دهی اولیه را در زمان راه اندازی سیستم انجام می دهد وهمچنین شامل : IO.sys

توابع ورودی / خروجی مهم و دستگاه کردانهای است که پشتیبانی ورودی / خروجی را در بایوس

سیستم را تکمیل می کنند. این قسمت در روی دیسک به صورت یک فایل سیستم مخفی ذخیره

معروف است. IBMBIO.COM به نام pc-Dos شده ودر

به عنوان هسته مرکزی سیستم عامل کرده و با مدیریت فایل ، مدیریت حافظه و : MSDOS.sys

ورودی / خروجی در ارتباط است . این قسمت در روی دیسک به صورت فایل سیستم مخفی

معروف است . IBMDOS.COM به نام pc-Dos ذخیره شده ودر

پردازشگر فرمان یا پوسته ای است که به عنوان رابط بین کار بر و سیستم : COMMAND.COM

عامل عمل می کند . این قسمت اعلان کار بر را نمایش داده ، صفحه کلید را کنترل کرده و

فرمانهای کار بر نظیر حذف یک فایل یا باز کردن یک برنامه برای اجرا را پردازش می کند.

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

می شود. پردازنده یک وضعیت (Cold boot) روشن کردن کامپیوتر موجب یک راه اندازی سرد

را CS آغازین شده ، تمام مکانهای حافظه را پاک کرده ، کنترل توازن حافظه را انجام داده وثبات

را برابر با افست صفر قرار می دهد. بنابراین اولین IP وثبات FFFF[o] H برابر آدرس سگمنت

که همان نقطه FFFFoH بوده برابر CS:IP دستورالعمل اجرایی در آدرسی که متشکل از زوج

می باشد قرار دارد. ROM ورود به بایوس در حافظه

شروع می شود ، پورت های گوناگون را برای شناسای و FFFFOH روتین بایوس که از مکان

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

١.یک جدول بردار وقفه که در ناحیه پایین حافظه از مکان صفر شروع شد و حاوی آدرس های

وقفه هایی است که روی می دهند.

40 بوده و بیشتر با دستگاههای متصل به [o] ٢.یک ناحیه داده های بایوس که ابتدای آن در مکان

کامپیوتر در ارتباط است .

بایوس پس از آن کنترل می کند که آیا دیسک حاوی فایل های سیستم قابل دستیابی است ویا نه که

از دیسک (boot start loader) در صورت آماده بودن آن ، به بار کننده برنامه راه اندازی سیستم

را از دیسک به داخل حافظه MSDOS,To.sys دستیابی می کند این برنامه فایل های سیستم یعنی

که حاوی کد دستگاه گردان ها و سخت افزارهای To.sys بار کرده وکنترل را به نقطه ورودی

در حافظه جای گرفته وسپس کنترل را به To.sys. مخصوص دیگر می باشد منتقل می کند

درداخل جدول DOS و بخش DOS انتقال می دهد. این ماژول جداول داخلی MSDOS.sys

را خوانده وفرامین داخل آن ConFIG.sys بردار وقفه ها را مقدار دهی اولیه می کند.همچنین فایل

منتقل می کند که COMMAND.COM کنترل را به MSDOS.sys ، را اجرا می کند . در نهایت

را پردازش کرده، اعلان آن را نشان داده وصفحه کلید را برای ورود AUTOEXE.BAT فایل

اطلاعات کنترل می کند.

640 بایت به صورت نشان داده شده در شکل دیده می شود تحت k در اینجا، حافظه متعارف تا

مدیریت حافظه، بخس سیستم ممکن است در داخل حافظه فوقانی جای گیرد.

رابطه ورودی- خروجی

برای ارائه پشتیبانی از دستگاههای مختلف ROM بایوس دارای مجموعه ای از روتین ها در حافظه

می باشد ، بایوس دستگاههای متصل را امتحان کرده و آنها را مقدار دهی اولیه کرده سرویس های

را ارائه می کند که برای خواندن از دستگاهها و نوشتن به آنها به کار می روند . یکی از وظایف

برقراری ارتباط با پایاس در زمانی است که می خوا هد از امکانات آن استفاده کند . Dos

از سیستم عامل در خواست می کند این درخواست را به Llo وقتی که برنامه ای یک سرویس

بایوس منتقل می کند که در نتیجه به دستگاه مورد نظر دستیابی می کند . اما برخی مواقع ، یک

برنامه از بایوس به طور مستقیم درخواست می کند به ویژه برای سرویس ها مربوط به صفحه

و هم از Dos نمایش وصفحه کلید. درمواقعی دیگر- هر چند بندرت- یک برنامه می تواند هم از

بایوس برای دستیابی مستقیم به یک دستگاه استفاده کند .

بار کننده برنامه سیستم

تنها از یک COM می باشد . یک برنامه EXE,COM دو نوع از برنامه های قابل اجرا، برنامه های

به عنوان یک برنامه سود COM سگمنت تشکیل می شود که شامل کد ،داده ها وپشته . یک برنامه

مند کوچک و یا یک برنامه مقیم در حافظه (برنامه ای که در حافظه نصف شده است و در موقع

از شگفتیهای کد ، داده ها EXE اجرای سایز برنامه ها قابل دسترس است)، می باشد.یک برنامه

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

را جهت اجرا از دیسک به داخل حافظه بار کند، بار کننده EXE سیستم می خواهید که یک برنامه

مراحل زیر را انجام می دهد:

روی دیسک دستیابی می کند . EXE ١.به برنامه

266 بایتی را روی مرز پاراگراف یعنی مضروب صحیحی از (PSP) ٢. یک پیشوند سگمنت برنامه

١۶ درحافظه داخلی ایجاد می کند .

در حافظه ذخیره می کند . PSP ٣.برنامه مزبور را بلا فاصله پس از

بار می کند . ES,DS را در ثبات های PSP ۴.آدرس

را برابر افست اولین دستورالعمل (معمولا LP بار کرده وثبات CS ۵.آدرس سگمنت کد را در ثبات

صفر) موجود در هر سگمنت کد قرار می دهد.

قرار می دهد . SP بار کرده و اندازه پشته را در ثبات SS ۶.آدرس پشته را در ثبات

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

کد شروع می شود.

را به درستی مقدار دهی می کند، اما توجه کنید SS:SP,CS:LP در نتیجه بار کننده برنامه ثباتهای

ذخیره می کند،هر چند که ES وهم درثبات DS را هم در ثبات PSP که بار کننده برنامه آدرس

برنامه شما به طور طبعیی به آدرس سگمنت داده ها ، مقدار دهی می کند .

به یک ناحیه به نام پشته در برنامه ها نیاز دارد.مقصود از پشته EXE,COM پشته تمام برنامه های

فراهم کردن فضای برای ذخیره موقت آدرس ها و اقلام اطلاعاتی می باشد .

تعریف می کند، در حالیکه شما COM بار کننده برنامه بطور اتوماتیک ، پشته را برای یک برنامه

پشته ای را تعریف کنید.طول هر قلم داده در پشته یک EXE بایدبه طور صریح برای یک برنامه

همانطور که توسط بار کننده مقدار دهی شده است ، حاوی SS کلمه( دو بایت) می باشد. ثبات

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

از انتهای پشته اشاره می کند ، می باشد. پشته در روش ذخیره سازی داده ها با سگمنت های دیگر

تفاوت دارد: ذخیره داده ها را از بالاترین مکان سگمنت شروع کرده وداده ها را در حافظه به سمت

پایین ذخیره می کند.

POP,PUSH دستورالعمل های

6 را تغییر داده و برای ذخیره داده ها در روی P دو تا از دستورالعمل های هستند که محتوی ثبات

را دو واحد کاهش داده و آنرا به SP اندازه PUSH پشته و بازیابی آنها بکار می روند .دستورالعمل

مقداری را از POP کلمه پایین تر بعدی حافظه اشاره داده ویک مقداری را در آن ذخیره می کند

را دو واحد افزایش می دهد تا به کلمه بالایی بعدی حافظه اشاره SP پشته باز یابی کرده و مقدار

کند .

همیشه باید اطمینان حاصل کنید که برنامه شما اضافه کردن اطلاعات بر روی پشته و بر داشتن آنها

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

خطا می تواند موجب اختلال در عملکرد یک برنامه شود همچنین پشته ای که برای یک برنامه

تعریف می کنید باید به قدر کافی بزرگ باشد تا بتواند تمام مقادیری را که روی آن قرار می EXE

دهید درخود جای دهد .

دستور العملهای مرتبط دیگر که مقدارهایی را به روی پشته اضافه کرده اطلاعات را از روی آن بر

popA,pushA. وضعیت فلگ ها را ذخیره وباز یابی می کنند : popF و PushF می دارد عبارتند از

(برای پردازنده ٨٠٢٨۶ وسپس از آن) محتوی تمام ثبات های همه منظوره را ذخیره و بازیابی می

کنند.

آدرس دهی دستورالعملها و داده ها

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

استفاده می کند.برای اجرای برنامه سیستم فقط کد ماشین را به داخل حافظه بار می کند.هر

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

نظر،یک دستورالعمل ممکن است دارای یک یا چند عملوند نیز باشد که به داده هایی که

دستورالعمل مزبور پردازش می کند اطلاق می شود.

حاوی DS حاوی آدرس شروع سگمنت کد برنامه بوده وثبات cs ثبات ، EXE برای یک برنامه

آدرس شروع سگمنت داده ها می باشد،سگمنت کد حاوی دستورالعملهای است که اجرا می شوند،

IP درحالیکه سگمنت داده ها ، حاوی داده های است که دستورالعملها به آنها مراجعه می کنند.ثبات

آدرس افست دستورالعمل جاری در سگمنت کد را که اجرا می شود ، نشان می دهد.عملوند یک

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

عملوندهای دستورالعمل

یکی از ویژگیهای عملوندهای دستورالعملهای برای روشنی وگویایی برنامه استفاده از نام های

را به صورت Wordx,DW عادی،نام های داخل کروش ها واعداد می باشد در مثال زیر دستور

Wordx DW o . یک کلمه ( ٢بایت) تعریف می کند

MOV CX , Wordx منتقل می کند CX را به Wordx محتوی

MOV CX, انتقال میدهد 25 CX مقدار ٢۵ را به

MOV CX , DX منتقل می کند CX را به DX محتوی

MOV CX, [DX] منتقل می کند CX را به DX محتوی مکان آدرس دهی شدن توسط ثبات

اول ، داده را بین حافظه و یک ثبات انتقال می دهد. MOV - دستورالعمل

دوم، داده بلاواسطه را به یک ثبات منتقل می کند. MOV - دستورالعمل

سوم ،داده را بین ثبات منتقل می کند. MOV - دستورالعمل

چهارم یک عملگرا نویس تعریف می کند که به این صورت MOV - کروش های دستورالعمل

DS:DX بصورت DS که با آدرس سگمنت واقع در ) DX می باشد: از آدرس افست داخل

CX ترکیب می شود ) برای پیدا کردن کلمه ای در حافظه استفاده می کرده و محتوی آنرا به

منتقل می کند

Mo-mah.persianblog.ir

Mohsen_mahyar@yahoo.com

 

   + MOHSEN GHASEMI - ۱٠:٠۳ ‎ق.ظ ; ۱۳۸٩/٦/٩