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

تکنیک سیستم یکپارچه -

اکثر CPU ها دارای دو مد کاری هستند مد هسته که مخصوص سیستم عامل است و در آن تمامی دستورالعملها مجاز می‌باشد و دیگری مد کاربر است که مخصوص برنامه‌های کاربران بوده ودر آن دستورات I/Oو دستورالعملهای معین دیگری مجاز نمی‌باشند .
سیستم عامل DOS توسط سخت افزار زمان خود ( پردازنده 8088) محدود بوده است چرا که این پردازنده فقط در یک مد کار می‌کند و تمام دستورات در آن مجاز می‌باشد ولی پردازنده‌386 دارای مدهای مختلفی است که سیستم عامل ویندوز از آن به خوبی استفاده می‌کند .

برنامه ی کاربردی یکی از فراخوانهای سیستمی (توابع سیستم عامل) را صدا می‌زند . در این حال ماشین از مد کاربر (user mode) به مد هسته (kernel mode) تغییر حالت می‌دهد و کنترل به سیستم عامل سپرده می‌شود .سیستم عامل با توجه به پارامترهای تابع مذکور تعیین می‌کند کدام فراخوان سیستمی باید اجراء شود سپس سیستم عامل به جدولی رجوع می‌کند که در ردیف k ام آن جدول یک اشاره‌گر به رویه اجراء کننده فراخوان سیستمی وجود دارد..سپس آن روتین اجراء شده و در انتها کنترل به برنامه کاربر بر می گردد


تکنیک سیستم لایه ای -

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

اولین سیستم لایه‌ای، سیستم THE با 6 لایه بود:
لایه صفر مسائل زمانبندی (scheduling) پردازنده را انجام می‌دهد یعنی اینکه در هر لحظه CPU در اختیار کدام برنامه باشد.
لایه یک مدیریت حافظه (اصلی و جانبی) را بر عهده دارد.
لایه دو ارتباط بین هر پروسس و کنسول اپراتور را برقرار می‌سازد.
لایه سه مدیریت دستگاههای I/O و بافر کردن اطلاعات را برعهده دارد . در بالای این لایه هر پروسس به جای دستگاههای I/O حقیقی و پیچیده با دستگاههای ساده و مجازی I/O سرو کار دارد.
در لایه چهار برنامه‌های کاربران اجراء می‌شوند که هیچ نگرانی در مورد مدیریت پروسس ,حافظه, کنسول و I/Oندارند.
در لایه پنجم پروسس اپراتور سیستم قرار می‌گیرد.

مشکل اصلی در روش لایه‌لایه, تعریف مناسب لایه‌های مناسب است. از آنجا که یک لایه فقط می‌تواند لایه‌های پایین تر را به کار برد برای طراحی آن باید دقت زیادی به خرج داد. مشکل دیگر این ساختار این است که نسبت به انواع دیگربازدهی کمتری دارند. هنگامی که دستورات از لایه بالا به سمت پایین حرکت می‌کنند, در هر لایه پارامترهای دستور ممکن است، از نظر صحت بررسی شده و یا تغییر یابند .لذا هر لایه قدری سر بار (overhead) به سیستم اضافه می کند و در نتیجه فراخوانی سیستمی نسبت به سیستم غیر لایه‌ای بیشتر طول می‌کشد.
لذا در سالهای اخیر سعی شده است لایه‌های کمتری با قابلیت عمل بیشتری طراحی شود. به عنوان مثال محصول اولیه windows NT با لایه‌های زیاد, کارایی کمتری نسبت به ویندوز95داشت. درNT4.0 سعی شد لایه ها به همدیگر نزدیکتر و مجتمع تر شوند تا کارایی بیشتر گردد. سیستم MULTICS به جای لایه‌ها به صورت یکسری حلقه‌ها متحدالمرکز سازماندهی شده است بطوریکه هر حلقه داخلی از امتیازات بالاتری نسبت به حلقه خارجی خود بهره مند می‌باشد.اگر یک رویه از حلقه خارجی بخواهد یک رویه از حلقه داخلی را صدا بزند ، بایدیکی از فراخوان‌های سیستمی را اجراء کند و اعتبار پارامترهای این دستورالعمل قبل از اجراء به دقت بررسی می‌شود. مثلاً یک استاد برنامه گرفتن امتحان ونمره دادن را در حلقه n می‌نویسد و برنامه دانشجویانش در حلقه n+1 اجراء می‌شود, بدین ترتیب دانشجویان نمی‌توانند نمره خود را تغییر دهند.


سیستم مجازی در سیستم عامل -

سیستم عامل VM بر روی سیستمهای IBM بهترین مثال از مفهوم ماشین مجازی است . قلب سیستم که به مانیتور ماشین مجازی (Virual Machine Monitor) معروف است، بر روی سخت افزار عریانی اجراء شده و چند برنامگی را پدید می‌آورد, این مانیتور مجازی را در لایه بالاتر فراهم می‌سازد. این ماشین های مجازی برای کاربران مشابه یک نسخه ازسخت افزار عریان هستند که دارای مودهای کاربر و هسته، I/O، وقفه ها و چیزهای دیگر «ماشین حقیقی» می‌باشند. به هر کاربر ماشین مجازی خودش داده می‌شود و او می‌تواند هر یک از سیستم عامل‌ها یا بسته‌های نرم افزاری موجود را روی ماشین خودش اجراء کند. 

هر کاربر یک برنامه (Conversational Monitor System) مخصوص به خود را دارد که یک سیستم عامل تک کاربره محاوره‌ای است.
مزایای این ماشین مجازی عبارتند از:
- در این سیستم دو وظیفه اصلی چند برنامگی و ایجاد واسطه راحت (مستقل از سخت افزار ) از یکدیگر مجزا شده‌اند. مانیتور ماشین مجازی وظیفه چند برنامگی را بر عهده داردو لایه‌ بالای آن وظیفه ایجاد واسطه کاربر با سخت افزار را بر عهده دارد. لذا هریک از این بخشها ساده‌تر شده و از قابلیت انعطاف بیشتری برخوردارند.
- هر ماشین مجازی از سایر ماشین ها کاملاً جداست . بنابراین هیچ مشکل امنیتی وجود نخواهد داشت و برنامه‌های کاربران تداخلی با همدیگر ندارند.
- از آنجا که هر ماشین مجازی کاملاً مشابه سخت افزار واقعی است، هر یک از آنها می‌توانند هر سیستم عاملی را مستقلاً اجراء کند. این امر همچنین باعث می‌شود مراحل تحقیق و توسعه سیستم عاملها راحت تر صورت بگیرد،چرا که دیگر سازندگان سیستم عامل برای تست کردن سیستم عامل تولیدی جدید لازم نیست کل کامپیوتر را در اختیار داشته باشند.
ایده ماشین‌های مجازی امروزه نیز جهت رفع مشکلات عدم سازگاری گسترش زیادی یافته است. به عنوان مثال شرکتهای میکروسیستم یا شرکت DEC که کامپیوترهای غیر intel را می‌سازند مایلند که مشتریهایشان بتوانند برنامه های DOS ( تحت intel) را نیز اجراء کنند. برای این کار یک ماشین مجازی اینتل بر روی پردازنده خودپدید می‌آورند. در این حال ماشین مجازی دستورات اینتل را به دستورات پردازنده جدید تبدیل می‌کند. یا مثلاً کامپیوتر power PC شامل ماشین مجازی Motorola 6800 می‌باشد.
مثال دیگر اجراء شدنDOS تحت محیط ویندوز است,پردازنده‌های 386 به بعد دارای یک مد مجازی هستند. که می‌توانند چندین برنامه تحت DOS تحت ویندوز نیز اجراء شوند البته به شرطی که دستورالعملهای عادی را اجراء کنندو مستقیماً با پورتهای مهم سر و کار نداشته باشند. مثال دیگر از این مفهوم ماشین مجازی زبان جاوا (Java ) می‌باشد. کامپایلر زبان جاوا توسط شرکت sun طراحی شده است یک خروجی بایت کد (byte code) تولید می‌کند. این بایت کدها دستوراتی هستند که بر روی ماشین مجازی جاوا (JVM) اجراء می‌شوند. جهت اجرای برنامه‌های جاوا در یک ماشین , آن کامپیوتر می‌بایست دارای یک JVM باشد. امروزه JVM بر روی بسیاری از انواع کامپیوترها از جمله PC، مکینتاش، SUN مینی کامپیوترها و . مین فریم ها (mainframe) وجود دارد. JVM همچنین در Microsoft Explorer ویندوز پیاده سازی شده است. بدین ترتیب برنامه‌هایی که به زبان Java نوشته شده‌اند به راحتی بر روی انواع کامپیوترها اجراء می‌شوند. فقط کافی است بایت کدها را روی آن، ماشین کامپایل کرد. بدیهی است به علت نیاز به کامپایل شدن بایت کدها برنامه های جاوا سرعت کمتری نسبت به برنامه‌هایی نظیرC دارد. برنامه هایC توسط کامپایلر بومی یک کامپیوتر، برای یک بار تبدیل به زبان ماشین آن کامپیوتر می‌گردد. پس خروجی زبان ماشین کامپایلر Cاز یک نوع کامپیوتر به کامپیوتر دیگر متفاوت است ولی بایت کدهای خروجی جاوا برای همه ماشین ها یکسان است.


سیستم مشتری - خدمتگزار ( client/ server )

سیستم عامل VM با جابجا کردن بخش زیادی از کد سیستم عامل به لایه بالاتر یعنی CMS باعث ساده شدن هسته اصلی یعنی مانیتور ماشین مجازیشد. با این همه هنوز هم VM یک برنامه پیچیده می‌باشد. روند طراحی سیستم عامل های جدید همواره با این ایده همراه بوده که تا جایی که ممکن است کدها به عامل را در سطح کاربر و مشابه پردازشهای کاربران پیاده سازی می‌کنند.
مثلاً برای خواندن یک بلوک از فایل پروسس کاربر (پروسس مشتری (client یک در خواست به پروسس خدمتگزار (server)ارسال می‌کند و از آن می‌خواهد که کارش را انجام داده و جواب برگرداند. در این مدل تنها کاری که هسته انجام می‌دهد این است که ارتباط بین مشتری ها و خدمتگزارها را از طریق پیام ها بر قرار می‌سازد.


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


مطالب مشابه :


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

در این حال ماشین از مد کاربر (user mode) به مد هسته (kernel mode) تغییر حالت می‌دهد ... قلب سیستم که به مانیتور ماشین مجازی (Virual Machine Monitor) معروف است،




گالری ماشینهای شارژی 2014 و 2015

فروشگاه ماشین شارژی و لوازم کودک - گالری ماشینهای شارژی 2014 و 2015 ... ماشین شارژی طرح آئودی برقی مدل : 988 ... مانیتور لمسی صوتی و تصویری با رم میکرو.




دستورات زبان ماشین برای صفحه کلید

mahdie tahmasbi - دستورات زبان ماشین برای صفحه کلید - تنهایی برایم غم تازه ای نیست ... سرویس H07: خواندن یک حرف ازصفحه کلید بدون نمایش آن روی مانیتور.




راهكارها وتجربيات ماشين شويي

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




گالري عكس

مکانیک - گالري عكس - مطالب اموزنده از دنیای خودرو. ... نمای این خودرو به نام Fun-Vii به مانند یک مانیتور عمل می کند. اتومبیلی که مانیتور می شود ! + عکس www.taknaz.ir.




انواع سیستم عامل از نظر ساختار

مانيتور ماشين مجازي وظيفه چند برنامگي را بر عهده داردو لايه‌ بالاي آن وظيفه ايجاد واسطه کاربر با سخت افزار را بر عهده دارد. لذا هريک از اين بخشها ساده‌تر شده و از قابليت




مانیتور سامسونگ ال ای دی اس 19 آر 315 ان پلاس

سایز صفحه نمایش: 18.5 اینچ کنتراست : Mega ∞ DCR (استاتیک 1000:1) زمان پاسخگویی به تصویر: 5 میلی ثانیه وضوح تصویر : 768 × 1366 قابلیات کاهش




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

DVD فابریک پژو 206/207 با GPS - آموزش نصب مانیتور فابریک پژو 206 مدل اتومکس ( فیلم ... اولین فروشگاه اینترنتی لوازم جانبی خودرو دارای نماد اطمینان در ایران.




عکس گرفتن از هر جای از صفحه مانیتور

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




آینه عقب دیجیتالی خودرو با GPS

اینکه آینه ی عقب ماشین به جای یک آینه ی مقعر معمولی یک مانیتور LCD باشد که تصاویر را از طریق یک دوربین نشان میدهد به اندازه ی کافی جالب هست. اما وقتی که به




برچسب :