نرمافزار سیستم به نرمافزاری در رایانه گفته میشود که به کارکرد سیستم رایانه یا کاربردهای سطح پایین (یا Low Level) رایانه مربوط باشد. این نرمافزارها به ساختار فیزیکی سختافزار رایانه وابسته هستند و در نوشتن آنها از زبانهای سطح پائین مانند زبان اسمبلی استفاده میشود. سیستمعامل و درایورها از نرمافزارهای سیستم هستند. از جمله زبان هایی که برای نگارش نرمافزارهای سیستمی استفاده میشود، زبان برنامه نویسی C میباشد. کار کردن با سی برای برنامه نویسان راحت تر است و آنان این زبان را به اسمبلی ترجیح میدهند. اگر برای نگارش نرمافزار سیستمی مشکل محدودیت فضای سختافزاری داشته باشیم بهتر است با زبان اسمبلی کار کنیم که حجم آن پایین تر است. نرمافزارهای سیستمی به سختافزار وابسته اند.
در برابر نرمافزار سیستم، نرمافزار کاربردی قرار دارد که برای کاربردهای سطح بالا و غیرسیستمی رایانه است و معمولاً به زبانهای سطح بالا نوشته میشود که از جزئیات سختافزاری سیستم مستقل است.
اسمبلی
زبان همگذاری یا اَسمبلی (به انگلیسی: Assembly) به مجموعه زبانهای برنامهنویسی سطح پایینی اطلاق میشود که در آن مستقیماً دستورالعملهای پردازندهٔ اصلی (CPU) نوشته میشود ( یعنی دستوراتی که ALU توانایی انجام آنها را دارد.)
به دلیل سطح پایین بودن این زبانها، نوشتن، اشکالزدایی و نگهداری برنامه سختتر است. برای هر خانوادۀ CPU یک زبان اسمبلی وجود دارد.
این زبان به زبان مادر کامپیوتر بسیار نزدیک میباشد بهطوری که تمامی برنامههای اولیه همچون ++C توسط زبان اسمبلی ساخته شده است و همچنین اکثر کارها در زمینۀ هک و مانند آن با این زبان انجام میشود. در زبان اسمبلی هر دستور زبان متناظر یک دستور باینری است. این زبان را با استفاده از اسمبلرها میتوان به زبان ماشین یعنی صفر و یک تبدیل کرد. نرمافزارهای اسمبلر بر روی سیستم نصب شده و با وارد کردن کدهای اسمبلی و اشکالزدایی کردن آن میتوان آنها را به زبان ماشین تبدیل کرد.
اسمبلر
اسمبلر یا همگذار نرم افزاری است که برنامه نوشته شده به زبان اسمبلی را به کد ماشین تبدیل می کند و یک فایل با پسوند obj تولید می کند. توجه شود که این فایل قابل اجرا نیست و بوسیله نرم افزار Linker این فایل به یک فایل با پسوند exe تبدیل می شود که این فایل جدید قابل اجرا است.
اسمبلر های معروف:
• مایکروسافت اسمبلر
• توربو اسمبلر
اَسِمبلی 64 بیتی 32 بیتی و 16 بیتی
در زبان اَسِمبلی با توجه به امکانات پردازنده و مقدار حافطهٔ آن از یک اسمبلر ۱۶ بیتی ۳۲ بیتی و یا ۶۴ بیتی استفاده میشود. در اَسِمبلی ۱۶ بیتی حافظه در ثباتهای AX BX CX DX AH AL BH BL CH CL DH DL IP CS DS ... قرار دارد. در اَسِمبلی ۳۲ بیتی ثباتهای EAX EBX ECX EDX EIP اضافه میشوند. و در اَسِمبلی ۶۴ بیتی نیز ثباتهای RAX RBX RCX RDX RIP اضافه میشوند. حافظهٔ قابل دسترس در حالات فوق به ترتیب 65536, 4294967296 و 18446744073709551616 بایت است.نکته نکته: زبان اسمبلی را به دو صورت می توان پیاده سازی کرد یکی از طریق برنامه doc و دیگری با برنامه emu که این برنامه تحت ویندوز می باشد و به صورت گرافیکی شما می توانید با این برنامه کار کنید
• درایور (رایانه): نرمافزاری است که اطلاعات خاصی از چگونگی کنترل و کارکرد و مدیریت قطعات سختافزاری رایانه را در اختیار سیستمعامل قرار میدهد.
سیستمعامل
سیستمعامل یا سامانهٔ عامل نرمافزاری است که مدیریت منابع رایانه را به عهده گرفته و بستری را فراهم میسازد که نرمافزار کاربردی اجرا شده و از خدمات آن استفاده کنند. سیستمعامل خدماتی به برنامههای کاربردی و کاربر ارائه میدهد. برنامههای کاربردی یا از طریق واسطهای برنامه نویسی کاربردی (Application User Interface-APIs) و یا از طرق فراخوانیهای سیستم (system call) به این خدمات دسترسی دارند. با فراخوانی این واسطها، برنامههای کاربردی میتوانند سرویسی را از سیستمعامل درخواست کنند، پارامترها را انتقال دهند، و پاسخ عملیات را دریافت کنند. ممکن است کاربران با بعضی انواع واسط کاربری نرمافزار مثل واسط خط فرمان (Command Line Interface-CLI) یا یک واسط گرافیکی کاربر (Graphical User Interface-GUI) با سیستمعامل تعامل کنند. برای کامپیوترهای دستی و رومیزی، عموما واسط کاربری به عنوان بخشی از سیستمعامل در نظر گرفته میشود. در سیستمهای بزرگ و چند کاربره مثل یونیکس و سیستمهای شبیه یونیکس، واسط کاربری معمولاً به عنوان یک برنامه کاربردی که خارج از سیستمعامل اجرا میشود پیاده سازی میشود.
دلایل ایجاد سیستمعامل
یک سیستم کامپیوتری پیشرفته از یک یا چند پردازنده، مقداری حافظه اصلی، دیسکها، چاپگرها، صفحهکلید، صفحهنمایش، واسطهای شبکهای و دیگر دستگاههای ورودی و خروجی تشکیل شدهاست. اگر سیستم یکپارچهای برای مدیریت این منابع وجود نداشته باشد، هر برنامه باید به تنهایی این کار را انجام دهد. سیستمعامل یک لایه نرمافزاری فراهم میکند که وظیفه مدیریت منابع سیستم را از دوش برنامههای کاربردی رهانیده و کار برنامهنویسی را سادهتر مینماید. که با توجه به نسخههای جدید سیستم عاملها که به دلیل بهره مندی از تکنولوژی گرافیک و امکان استفاده از ماوس، امکان استفاده ساده و آسان را برای کاربران مبتدی فراهم نمودهاست. در حقیقت سیستمعامل واسط بین سختافزار رایانه و کاربر میباشد.
وظایف سیستمعامل
سیستمعامل دو کار عمده انجام میدهد: در نگرش پایین به بالا، منابع منطقی (مانند فایلها) و منابع فیزیکی (مانند دستگاههای سختافزاری) رایانه را مدیریت و کنترل میکند.
در نگرش بالا به پایین، وظیفه سیستمعامل این است که یک ماشین توسعه یافته (Extended Machine) یا ماشین مجازی (Virtual Machine) را به کاربران ارائه کند تا آنها بتوانند آسان تر برنامه نویسی نمایند و درگیر پیچیدگیهای سختافزاری رایانه نشوند.
به طور کلی، وظایف سیستمعامل شامل موارد زیر است:
• استفاده بهینه تر از منابع و جلوگیری از به هدر رفتن آنها
• تخصیص و آزاد سازی منابع
• اداره صفها و زمان بندی استفاده از منابع
• حساب داری میزان استفاده از منابع
• ایجاد امنیت
• ایجاد، حذف و اداره فرایندها
• ایجاد مکانیسمهای ارتباط بین فرایندها و همگام سازی آنها
• مدیریت فایلها و پوشهها
• مدیریت حافظههای اصلی و جانبی
• برقراری امکان دسترسی چندتایی (Multiaccess) و اجرای هم روند (Concurrent) فرایندها
• به اشتراک گذاری منابع (Resource Sharing)
• تعیین راهکارهایی برای اداره بن بست (deadlock)ها
• جلوگیری از شرایط رقابتی (Race Condition) و تداخل یا در هم قفل شدن (Interlock) فرایندها
• جلوگیری از گرسنگی (Starvation
فرمت این مقاله به صورت Word و با قابلیت ویرایش میباشد
تعداد صفحات این مقاله 11 صفحه
پس از پرداخت ، میتوانید مقاله را به صورت انلاین دانلود کنید
دانلود مقاله نرمافزار سیستم