دوشنبه, ۱۷ اردیبهشت, ۱۴۰۳ / 6 May, 2024
مجله ویستا
نرمافزار
کامپیوتر از نظر نوع گرایش به دو بخش سختافزار و نرمافزار تقسیم میشود.
سختافزار ”مجموعهای از امکانات وسایل الکترونیکی و الکترومکانیک که کامپیوتر و سایر دستگاههای جانبی آن را مانند صفحهٔ کلید و... تشکیل میدهند، سختافزار نامیده میشود.“ بدیهی است که برای استفاده از کامپیوتر، مجموعهٔ ذکر شده به تنهائی کافی نیست. آنچه کامپیوتر را بهعنوان ابزاری پرقدرت، سریع و سودمند قابل استفاده میسازد، بخش مهمتر کامپیوتر، یعنی نرمافزار میباشد. یک کامپیوتر هر قدر هم از لحاظ امکانات سختافزاری غنی و کامل باشد، باز هم بدون نرمافزار چیزی جز یک جعبهٔ الکترونیک بیمصرف نخواهد بود و حتی شاید نتوان از نظر ظاهر بین آن و یک تلویزیون! تفاوتی قائل شد. بهطور مثال میتوان گفت که کامپیوتر بدون نرمافزار، مانند یک ماشین سواری نو و مدل بالا اما بدون راننده میباشد. همانطور که ماشین، بدون راننده حرکت نمیکند و در نتیجه استفاده از آن در جهت حمل و نقل ممکن نیست، کامپیوتر ـ و بهطور کلی سختافزار بدون نرمافزار ـ نیز قادر به انجام سادهترین کار مانند جمع دو عدد یک رقمی نیست.
حال که اهمیت و جایگاه نرمافزا تا حدودی روشن شد، این سئوال پیش میآید: نقش نرمافزار در استفاده از کامپیوتر چیست که بدون آن بهکارگیری کامپیوتر در جهت رفع نیازهای انسان غیرممکن تلقی میشود؟ برای پاسخ به این سئوال به ذکر مثال زیر میپردازیم:
فرض کنید مثلاً بخواهیم میانگین اعداد بین ۰ و ۶ را به کمک کامپیوتر بهدست آوریم. برای اینکار اعمال زیر به ترتیب باید انجام شود:
۱) ابتدا باید برنامهای نوشت شود که وظیفهاش دریافت پنج عدد از ۰ تا ۶ و جمع کردن آنها با هم، تقسیم حاصل جمع بر عدد ۵ و نگهداری عدد محاسبه شده (میانگین) در متغیری مانند X میباشد. توجه دارید که این برنامه از قبل در کامپیوتر موجود نبوده است.
۲) برنامهٔ فوق باید از طریق دستگاه ورودی ـ مثلاً صفحهٔ کلید ـ به منظور نگهداری در حافظه وارد آن گردد. در این مرحله بهصورتی باید روشن شود که برنامهٔ ذکر شده در چه ناحیهای از حافظه ذخیره میشود، بهعبارت سادهتر آدرس ناحیهای از حافظه که برنامه در آنجا قرار میگیرد باید معلوم شود. اینکار از عهدهٔ واحد حافظه به تنهائی و یا واحد پردازش مرکزی که هر دو اجزائی سختافزاری هستند، بر نمیآید بنابراین برنامهٔ دیگری خاص این هدف باید در دست باشد.
۳) همانطور که در بخش سختافزار نیز به آن اشاره گردید، اطلاعات ورودی که در این مثال شامل برنامه، اعداد بین ۱ تا ۶، فرمان عملیات جمع و تقسیم و متغیری به نام X میشود، باید از طریق دستگاه ورودی وارد و پس از انجام عملیات لازم نتیجهٔ آن برای مشاهدهٔ کار بر روی دستگاه خروجی، مثلاً صفحهٔ نمایش، نشان داده شود. اینگونه کارها نیز توسط سختافزار به تنهائی عملی نمیباشد و برنامههای ویژهای را میطلبد.
با توجه به موارد ذکر شده میتوان نتیجه گرفت که اجزاء سختافزاری بدون برنامههای مورد نیاز که به مجموعهٔ آنها اصطلاحاً ”نرمافزار“ میگوئیم، نمیتوانند کاری انجام دهند. به همین دلیل امروزه میبینیم که سازندگان کامپیوتر در اقصی نقاط جهان، تولیدات خود را همراه تعدادی نرمافزارهای لازم و مفید عرضه میکنند. بنابراین بهعنوان یک تعریف کلی از نرمافزار میتوان گفت: ”کلیهٔ برنامههائی را که برای به راه انداختن، فعالکردن و در نتیجه بهکار گرفتن اجزای سختافزاری کامپیوتر، بهکار بسته میشوند نرمافزار مینامیم.“
● تقسیمبندی نرمافزارها
قبل از دستهبندی نرمافزارها باید با مفهوم دقیق برنامه بهخوبی آشنا شویم. منظور از برنامه تعدادی دستورالعمل اجرائی مشخص است که برای رسیدن به هدف خاصی نوشته میشود و توسط کامپیوتر به اجرا در میآید. بهطوریکه در پایان اجرای این دستورالعملها، نتیجه لازم و مورد انتظار برنامهنوس و یا کاربر بهدست میآید. مثالی بزنیم: فرض کنید میخواهیم برنامهٔ مربوط به محاسبهٔ میانگین اعداد ۰ تا ۶ را بنویسیم.
بیتردید با اندکی توجه میتوانید اولاً مرز وظایف نرمافزار و سختافزار را ببینید، ثانیاً به اهمیت و ارزشهای برنامه و یا نرمافزار پی ببرید. بهطور مثال وقتی میگوئیم، مقدار صفر را در A قرار بده (سعی کنید تا علت صفرکردن متغیر A را در ابتدای برنامه پیدا کنید.) اصولاً اینکار باید توسط واحد سختافزاری ”محاسبه و منطق، ALU“ انجام بگیرد، اما چگونه، مگر نه این است که فرمان صفرکردن A باید توسط برنامه صادر شود. مگر نه این است که آدرس خانهای از حافظه به نام A باید معلوم گردد. حتماً توجه دارید که متغیر A از نظر ما حرف A میباشد، اما از نظر کامپیوتر یکی از خانههای خالی حافظه است که آدرسش باید بهطور دقیق روشن شده باشد تا در مراحل دیگر و زمان نیاز بتوان به آن مراجعه کرد. اینگونه اقدامات برعهدهٔ برنامههای ویژهای میباشد. حال به نظر شما چه مواقعی ممکن است مجدداً به این خانه از حافظه (A) برگردیم؟ کمی فکر کنید تا شاید پاسخ را بهدست آورید. به هر حال پاسخ این است: بعد از صفر شدن A اولین عدد یعنی یک در A قرار میگیرد، سپس عدد دو با محتوای قبلی که یک است جمع شده و حاصل که عدد سه میباشد، مجدداً در A قرار میگیرد. آنگاه سومین عدد (یعنی ۳) با محتوای قبلی A که عدد سه میباشد، جمع و حاصل باز هم در A قرار میگیرد. تا اینکه بالاخره به آخر برنامه و عدد پنج برسیم. پس مشاهده میکنید که در طول اجرای برنامه بارها به متغیر A که خانهای از حافظه است، مراجعه میکنیم و حتماً باید آدرس دقیق آن در حافظه برای واحد پردازش مرکزی (CPU) معلوم شده باشد. اینکار از عهدهٔ سختافزارهای مربوطه خارج بوده و به کمک برنامههای ویژهای انجام میگیرد. بهنظر شما در طول اجرای این برنامه چند بار در خانهٔ A مراجعه خواهیم داشت؟
بهنظر میآید با این توضیحات جایگاه و نقش باارزش برنامهها ـ که مجموعهٔ آنها را نرمافزار مینامیم ـ روشن شده باشد.
نرمافزارها بهطور کلی به پنج گروه عمدهٔ زیر تقسیم میشوند:
▪ سیستمهای عامل (Operating systems)
▪ برنامههای عمومی و یا خدماتی (Utility or Service Programs)
▪ برنامههای مترجم (Compilers)
▪ برنامههای کاربردی و یا بستههای نرمافزاری کاربردی (Application Packages)
▪ برنامههای خاص استفادهکنندگان (User,s Programs) ـ [۲۶]
۲۶ـ فرهنگ علم ـ ترجمه دکتر ابوالقاسم قلمسیاه و دیگران
سختافزار ”مجموعهای از امکانات وسایل الکترونیکی و الکترومکانیک که کامپیوتر و سایر دستگاههای جانبی آن را مانند صفحهٔ کلید و... تشکیل میدهند، سختافزار نامیده میشود.“ بدیهی است که برای استفاده از کامپیوتر، مجموعهٔ ذکر شده به تنهائی کافی نیست. آنچه کامپیوتر را بهعنوان ابزاری پرقدرت، سریع و سودمند قابل استفاده میسازد، بخش مهمتر کامپیوتر، یعنی نرمافزار میباشد. یک کامپیوتر هر قدر هم از لحاظ امکانات سختافزاری غنی و کامل باشد، باز هم بدون نرمافزار چیزی جز یک جعبهٔ الکترونیک بیمصرف نخواهد بود و حتی شاید نتوان از نظر ظاهر بین آن و یک تلویزیون! تفاوتی قائل شد. بهطور مثال میتوان گفت که کامپیوتر بدون نرمافزار، مانند یک ماشین سواری نو و مدل بالا اما بدون راننده میباشد. همانطور که ماشین، بدون راننده حرکت نمیکند و در نتیجه استفاده از آن در جهت حمل و نقل ممکن نیست، کامپیوتر ـ و بهطور کلی سختافزار بدون نرمافزار ـ نیز قادر به انجام سادهترین کار مانند جمع دو عدد یک رقمی نیست.
حال که اهمیت و جایگاه نرمافزا تا حدودی روشن شد، این سئوال پیش میآید: نقش نرمافزار در استفاده از کامپیوتر چیست که بدون آن بهکارگیری کامپیوتر در جهت رفع نیازهای انسان غیرممکن تلقی میشود؟ برای پاسخ به این سئوال به ذکر مثال زیر میپردازیم:
فرض کنید مثلاً بخواهیم میانگین اعداد بین ۰ و ۶ را به کمک کامپیوتر بهدست آوریم. برای اینکار اعمال زیر به ترتیب باید انجام شود:
۱) ابتدا باید برنامهای نوشت شود که وظیفهاش دریافت پنج عدد از ۰ تا ۶ و جمع کردن آنها با هم، تقسیم حاصل جمع بر عدد ۵ و نگهداری عدد محاسبه شده (میانگین) در متغیری مانند X میباشد. توجه دارید که این برنامه از قبل در کامپیوتر موجود نبوده است.
۲) برنامهٔ فوق باید از طریق دستگاه ورودی ـ مثلاً صفحهٔ کلید ـ به منظور نگهداری در حافظه وارد آن گردد. در این مرحله بهصورتی باید روشن شود که برنامهٔ ذکر شده در چه ناحیهای از حافظه ذخیره میشود، بهعبارت سادهتر آدرس ناحیهای از حافظه که برنامه در آنجا قرار میگیرد باید معلوم شود. اینکار از عهدهٔ واحد حافظه به تنهائی و یا واحد پردازش مرکزی که هر دو اجزائی سختافزاری هستند، بر نمیآید بنابراین برنامهٔ دیگری خاص این هدف باید در دست باشد.
۳) همانطور که در بخش سختافزار نیز به آن اشاره گردید، اطلاعات ورودی که در این مثال شامل برنامه، اعداد بین ۱ تا ۶، فرمان عملیات جمع و تقسیم و متغیری به نام X میشود، باید از طریق دستگاه ورودی وارد و پس از انجام عملیات لازم نتیجهٔ آن برای مشاهدهٔ کار بر روی دستگاه خروجی، مثلاً صفحهٔ نمایش، نشان داده شود. اینگونه کارها نیز توسط سختافزار به تنهائی عملی نمیباشد و برنامههای ویژهای را میطلبد.
با توجه به موارد ذکر شده میتوان نتیجه گرفت که اجزاء سختافزاری بدون برنامههای مورد نیاز که به مجموعهٔ آنها اصطلاحاً ”نرمافزار“ میگوئیم، نمیتوانند کاری انجام دهند. به همین دلیل امروزه میبینیم که سازندگان کامپیوتر در اقصی نقاط جهان، تولیدات خود را همراه تعدادی نرمافزارهای لازم و مفید عرضه میکنند. بنابراین بهعنوان یک تعریف کلی از نرمافزار میتوان گفت: ”کلیهٔ برنامههائی را که برای به راه انداختن، فعالکردن و در نتیجه بهکار گرفتن اجزای سختافزاری کامپیوتر، بهکار بسته میشوند نرمافزار مینامیم.“
● تقسیمبندی نرمافزارها
قبل از دستهبندی نرمافزارها باید با مفهوم دقیق برنامه بهخوبی آشنا شویم. منظور از برنامه تعدادی دستورالعمل اجرائی مشخص است که برای رسیدن به هدف خاصی نوشته میشود و توسط کامپیوتر به اجرا در میآید. بهطوریکه در پایان اجرای این دستورالعملها، نتیجه لازم و مورد انتظار برنامهنوس و یا کاربر بهدست میآید. مثالی بزنیم: فرض کنید میخواهیم برنامهٔ مربوط به محاسبهٔ میانگین اعداد ۰ تا ۶ را بنویسیم.
بیتردید با اندکی توجه میتوانید اولاً مرز وظایف نرمافزار و سختافزار را ببینید، ثانیاً به اهمیت و ارزشهای برنامه و یا نرمافزار پی ببرید. بهطور مثال وقتی میگوئیم، مقدار صفر را در A قرار بده (سعی کنید تا علت صفرکردن متغیر A را در ابتدای برنامه پیدا کنید.) اصولاً اینکار باید توسط واحد سختافزاری ”محاسبه و منطق، ALU“ انجام بگیرد، اما چگونه، مگر نه این است که فرمان صفرکردن A باید توسط برنامه صادر شود. مگر نه این است که آدرس خانهای از حافظه به نام A باید معلوم گردد. حتماً توجه دارید که متغیر A از نظر ما حرف A میباشد، اما از نظر کامپیوتر یکی از خانههای خالی حافظه است که آدرسش باید بهطور دقیق روشن شده باشد تا در مراحل دیگر و زمان نیاز بتوان به آن مراجعه کرد. اینگونه اقدامات برعهدهٔ برنامههای ویژهای میباشد. حال به نظر شما چه مواقعی ممکن است مجدداً به این خانه از حافظه (A) برگردیم؟ کمی فکر کنید تا شاید پاسخ را بهدست آورید. به هر حال پاسخ این است: بعد از صفر شدن A اولین عدد یعنی یک در A قرار میگیرد، سپس عدد دو با محتوای قبلی که یک است جمع شده و حاصل که عدد سه میباشد، مجدداً در A قرار میگیرد. آنگاه سومین عدد (یعنی ۳) با محتوای قبلی A که عدد سه میباشد، جمع و حاصل باز هم در A قرار میگیرد. تا اینکه بالاخره به آخر برنامه و عدد پنج برسیم. پس مشاهده میکنید که در طول اجرای برنامه بارها به متغیر A که خانهای از حافظه است، مراجعه میکنیم و حتماً باید آدرس دقیق آن در حافظه برای واحد پردازش مرکزی (CPU) معلوم شده باشد. اینکار از عهدهٔ سختافزارهای مربوطه خارج بوده و به کمک برنامههای ویژهای انجام میگیرد. بهنظر شما در طول اجرای این برنامه چند بار در خانهٔ A مراجعه خواهیم داشت؟
بهنظر میآید با این توضیحات جایگاه و نقش باارزش برنامهها ـ که مجموعهٔ آنها را نرمافزار مینامیم ـ روشن شده باشد.
نرمافزارها بهطور کلی به پنج گروه عمدهٔ زیر تقسیم میشوند:
▪ سیستمهای عامل (Operating systems)
▪ برنامههای عمومی و یا خدماتی (Utility or Service Programs)
▪ برنامههای مترجم (Compilers)
▪ برنامههای کاربردی و یا بستههای نرمافزاری کاربردی (Application Packages)
▪ برنامههای خاص استفادهکنندگان (User,s Programs) ـ [۲۶]
۲۶ـ فرهنگ علم ـ ترجمه دکتر ابوالقاسم قلمسیاه و دیگران
منبع : مطالب ارسال شده
نمایندگی زیمنس ایران فروش PLC S71200/300/400/1500 | درایو …
دریافت خدمات پرستاری در منزل
pameranian.com
پیچ و مهره پارس سهند
تعمیر جک پارکینگ
خرید بلیط هواپیما
ایران غزه آمریکا شورای نگهبان مجلس شورای اسلامی انتخابات دولت حسین امیرعبداللهیان حجاب جنگ دولت سیزدهم حسن روحانی
فضای مجازی هواشناسی قتل شهرداری تهران تهران شورای شهر تهران سیلاب سامانه بارشی سلامت سازمان هواشناسی آموزش و پرورش باران
خودرو بانک مرکزی بنزین قیمت دلار بازار خودرو قیمت طلا قیمت خودرو دلار یارانه مسکن ایران خودرو حقوق بازنشستگان
مهاجرت تلویزیون نمایشگاه کتاب سینمای ایران صدا و سیما دفاع مقدس مسعود اسکویی موسیقی سریال مهران غفوریان
معماری
اسرائیل رژیم صهیونیستی حماس فلسطین جنگ غزه روسیه اوکراین امیرعبداللهیان طوفان الاقصی ایالات متحده آمریکا نوار غزه جنگ اوکراین
فوتبال پرسپولیس لیگ برتر انگلیس لیگ برتر جواد نکونام رئال مادرید سپاهان بارسلونا بازی باشگاه استقلال باشگاه پرسپولیس مهدی طارمی
باتری اپل گوگل اینستاگرام آیفون مایکروسافت ناسا عکاسی سامسونگ
ویتامین چای کاهش وزن توت فرنگی سیگار فشار خون کبد چرب