<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های Amir Mohammad Safavi</title>
        <link>https://virgool.io/feed/@amirsafavi</link>
        <description></description>
        <language>fa</language>
        <pubDate>2026-06-10 14:06:22</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/1692798/avatar/wheXRe.jpeg?height=120&amp;width=120</url>
            <title>Amir Mohammad Safavi</title>
            <link>https://virgool.io/@amirsafavi</link>
        </image>

                    <item>
                <title>System Software  ( نرم افزار سیستمی )</title>
                <link>https://virgool.io/@amirsafavi/system-software-%D9%86%D8%B1%D9%85-%D8%A7%D9%81%D8%B2%D8%A7%D8%B1-%D8%B3%DB%8C%D8%B3%D8%AA%D9%85%DB%8C-yfxbhnpbhqsu</link>
                <description>نرم‌افزار سیستم (System Software) به نرم‌افزاری در کامپیوتر گفته می‌شود که به کارکرد سیستم رایانه یا کاربردهای سطح پایین (Low Level) رایانه مربوط باشد. این نرم‌افزارها به ساختار فیزیکی سخت‌افزار کامپیوتر وابسته هستند و در نوشتن آن‌ها از زبان‌های سطح پائین مانند زبان اسمبلی استفاده می‌شود.سیستم‌عامل، پوسته ها، درایور ها، میان‌ افزار ها، سیستم های پنجره بندی، موتورهای بازی سازی و نرم افزارهای سودمند از نرم‌افزارهای سیستم هستند. از جمله زبان‌هایی که برای نگارش نرم‌افزارهای سیستمی استفاده می‌شود، زبان برنامه‌نویسی C می‌باشد. کار کردن با سی برای برنامه نویسان راحت‌تر است و آنان این زبان را به اسمبلی ترجیح می‌دهند. اگر برای نگارش نرم‌افزار سیستمی مشکل محدودیت فضای سخت‌افزاری داشته باشیم بهتر است با زبان اسمبلی کار کنیم که حجم آن پایین‌تر است. نرم‌افزارهای سیستمی به سخت‌افزار وابسته‌اند.در برابر نرم‌افزار سیستم، نرم‌افزار کاربردی قرار دارد که برای کاربردهای سطح بالا و غیرسیستمی رایانه است و معمولاً به زبان‌های سطح بالا نوشته می‌شود که از جزئیات سخت‌افزاری سیستم مستقل است.در حالت کلی، نرم افزارها به دو گروه اصلی تقسیم می شوند. این دو گروه عبارتند از :نرم افزار های سیستمی (System Software).نرم افزار های کاربردی(Application Software).نرم افزارهای سیستمینرم افزارهای سیستمی با سیستم سخت افزاری کامپیوتر (بخش هایی مثل واحدهای ورودی، خروجی و پردازنده مرکزی) ارتباط مستقیم دارند و عملیات مربوطه از طریق این نرم افزار ها هدایت و کنترل می شوند.نرم افزارهای سیستمی به چند گروه تقسیم می شوند که عبارتند از:برنامه های راه انداز (Startup Software).سیستم عامل ها (Operating System).مترجم های زبان برنامه نویسی (Compiler).برنامه های کمکی (Utilities).برنامه های راه انداز (Startup Software)وقتی سیستم کتمپیوتری روشن می شود و کارش را شروع می کند، برنامه های اولیه ای روی سخت افزار آن اجرا می شود تا کامپیوتر را برای اجرای عملیات آماده کند. یکی از این برنامه ها، به برنامه ی عیب یابی معروف است که قسمت های اصلی کامپیوتر از قبیل حافظه، پردازنده ی مرکزی و قسمت های دیگر را آزمایش می کند. اگر اشکالی در بخش های اصلی کامپیوتر باشد، توسط این برنامه اطلاع دادع می شود که به این مرحله POST (مخفف Power On Self Test) هم می گویند.پس از این مرحله، برنامه ای به نام BIOS بایوس (مخفف Basic Input/Output System) به حافظه ی اصلی کپی می شود. فراهم کردن امکان انجام عملیات اصلی ورودی و خروجی به عهده ی این برنامه است.  در آخرین مرحله، بخش های اصلی سیستم عامل از حافظه ی جانبی به حافطه ی اصلی آورده می شود. این بخش کنترل کتمپیوتر را به دست می گیرد و تا زمانی که کتمپیوتر روشن است در حافظه ی اصلی باقی می ماند. قسمت های دیگر سیستم عامل، در صورت نیاز توسط این بخش به حافظه ی اصلی منتقل می شود.سیستم عامل ها (Operating System)سیستم عامل (Operating System) تمام فعالیت های نرم افزار ی و سخت افزاری کامپیوتر را هدایت می کند. مدیریت منابع (Resource Management) سیستم، یکی از وظیفه های سیستم عامل هاست که بر اساس آن، واحد پردازنده ی مرکزی (CPU) حافظه ها و واحد های ورودی و خروجی کنترل می شوند. زمان بندی وقت CPU و تقسیم زمان آن بین چند برنامه هم از وظایف سیستم عامل است. برای این که کاربر به راحتی بتواند برنامه ها را اجرا کند، محیطی به نام رابط  کاربری UI (مخفف User Interface)  در سیستم عامل ها تعبیه می شود. امروزه، رابط های گرافیکی GUI (مخفف Graphical User Interface) محبوبیت زیادی دارند. در این محیط ها، کاربر می تواندبا شی های گرافیکی ای مثل تصویر ها و منو ها و استفاده از ماوس، برنامه ها را به راحتی اجرا کند.مترجم های زبان برنامه نویسی (Compiler)مترجم زبان، نرم افزاری است که برنامه ی نوشته شده با یک زبان خاص برنامه نویسی را به زبان قابل فهم برای ماشین تبدیل می کند.زبان های برنامه نویسی به سه گروه کلی تقسیم شوند.زبان های سطح پایین (Low-Level Language)زبان های سطح میانیزبان های سطح بالا (High-Level Language)برنامه های کمکی (Utilities)برنامه های کمکی، نرم افزارهایی هستند که عملیات مربوط به استفاده از کامپیوتر را ساده تر می کنند و در مدیریت بهتر سیستم به کاربران کمک می کنند. برخی از این برنامه های کمکی تحت عنوان بسته های نرم افزاری در بازار عرضه می شوند. نرم افزارهای ویروس یابی، فشرده سازی و مدیریت حافظه و دیسک، نمونه هایی از برنامه های کمکی هستند.نرم افزارهای کاربردی برای انجام امور خاصی، طراحی و تولید شده اند. برخی از این نرم افزارها برای انجام کارهای گرافیکی، تولید صفحات وب، اموزش و مدیریت پروژه ها استفاده می شوند و بعضی هم مثل واژه پرداز ها، صفحات گسترده، بانک اطلاعاتی و برنامه های ارائه ی گرافیکی، کاربرد های بسیار گسترده ای دارند.دسته ای دیگر از برنامه های کاربردی برای انجام امور مالی، انبارداری، حسابداری، تعمیرات، تولید و سایر امور دیگر طراحی و تهیه شده اند. این نرم افزارهای کاربردی به وسیله ی سازمان تهیه می شوند و یا به صورت آماده از شرکت های کامپیوتری تامین شده و منطبق با نیاز های سازمان تهیه می گردند.نرم افزارهای گرافیکیبرای تولید جلوه های گرافیکی، ایجاد تصاویر و انجام تغییرات در آنها، رنگ آمیزی تصاویر و موارد بسیار دیگر که در ارتباط با تصاویر هستند، از نرم افزارهای گرافیکی استفاده می شود. Adobe Photoshop  و CorelDraw از معروفترین برنامه های گرافیکی هستند.نرم افزارهای تولید صفحات وبگسترش روزافزون اینترنت و تمایل سازمان ها، موسسه ها و اشخاص به ایجاد صفحات وب، باعث شده که نرم افزارهای بسیاری برای این منظور تولید شوند. برخی از صفحات تولید شده با این نرم افزار ایستا (Static) هستند و فقط اطلاع رسانی را انجام می دهند، در حالی که صفحات وب پیشرفته، پویا (Dynamic) هستند و امکان تبادل اطلاعات بین کاربر و سیستم را فراهم می کنند.امروزه صفحات وب با نرم افزار هایی مانند ورد پرس، FrontPage و… تولید می شوند.مدیریت پروژهمدیران موسسات با استفاده از از نرم افزارهای مدیریت پروژه می توانند کلیه ی امور مربوط به زمان بندی و مدیریت پروژه ها را انجام بدهند و بر اساس آن، شاخص های مهمی مانند زمن شروع، منابع انسانی، هزینه ها، طول زمان و زمان پایان پروژه را بررسی کنند. نرم افزار Microsoft Project نمنه ای از نرم افزاری های مدیریت پروژه است.نرم افزارهای واژه پردازبه کمک نرم افزارهای واژه چرداز (Word Processor) می توان نامه ها و گزارش های متنوعی تولید کرد. اصلاح متن، صفحه آرایی، سطربندی، پاراگراف بندی، استفاده از قلم های متنوع، رنگ آمیزی نوشته ها و شکل ها، کنترل صحت املایی، درج تصاویر و قابلیت های دیگری در این نرم افزار وجود دارندکه با استفاده از آنها، به راحتی می توان عملیات مقدماتیمربوط به نشر را انجام داد. Microsoft Word یکی از واژه پردازهایی است که اکثر کاربران سیستم عامل ویندوز از آن استفاده می کنند.صفحه گستردهدر محیط نرم افزارهای صفحه گستره می توان انواع عملیات آماری را روی داده ها انجام داد. در این محیط ها، داده ها را می توان ابتدا در یک جدول وارد کرد و سپس انواع عمل های ریاضی و آماری را روی سطر ها، ستون ها و یا بخشی از جدول داده ها انجام داد.ارائه ی خروجی به صورت منحنیهای آماری هم از قابلیت های این نرم افزارهاست. یکی از پرکاربردترین نرم افزارهای صفحه گسترده، Microsoft Excel است.گردآورنده :امیرمحمد صفویاستاد :دکتر مریم حاجی اسمعیلی - دکترای علوم کامپیوتر از دانشگاه کینگستون لندنDr. Maryam HajiesmaeiliPHD of Computer Science From Kingston University of Londonwww.en.wikipedia.org/wiki/Application_software</description>
                <category>Amir Mohammad Safavi</category>
                <author>Amir Mohammad Safavi</author>
                <pubDate>Sat, 25 Jun 2022 21:56:33 +0430</pubDate>
            </item>
                    <item>
                <title>Open Source (متن‌باز)</title>
                <link>https://virgool.io/@amirsafavi/open-source-%D9%85%D8%AA%D9%86-%D8%A8%D8%A7%D8%B2-p11kfcy3y1ia</link>
                <description>متن‌ باز یا منبع‌باز (Open Source) یک کد منبع است که برای اصلاح و توزیع مجدد احتمالی آزادانه در دسترس قرار می‌گیرد. محصولات شامل اجازه استفاده از کد منبع، اسناد طراحی، یا محتوای محصول است. این معمولاً به مدل متن باز اشاره دارد که در آن نرم‌افزار منبع باز یا سایر محصولات تحت مجوز منبع باز به عنوان بخشی از جنبش نرم‌افزار منبع باز منتشر می‌شوند. استفاده از این اصطلاح با نرم‌افزار سرچشمه گرفته‌است، اما فراتر از بخش نرم‌افزار گسترش یافته‌است تا سایر مطالب باز و اشکال همکاری باز را پوشش دهد.تا پیش از ترویج گستردهٔ این اصطلاح، توسعه‌دهندگان و تولیدکنندگان از انواع عبارات برای توصیف این مفهوم استفاده می‌کردند؛ اما اصطلاح متن‌باز (open source) با ظهور سامانهٔ عمومی، جهانی، و شبکه‌ایِ اینترنت، و نیاز ملازم برای باز تجهیز کد مبدا ، جا افتاد. بازکردن کد مبدا ، باعث خود بهبودیِ تنوع در مدل‌های تولید، مسیرهای ارتباط، و جوامع تعاملی شد. متعاقب آن، عبارت «نرم‌افزار متن‌باز» برای توصیف محیطی که در آن مسائل جدید کپی‌رایت، پروانه، دامنه، و مصرف‌کننده مطرح شد، به‌وجود آمد. مدل متن‌باز شامل مفهوم دستورکارهای همزمان ولی متفاوت، و رویکردهای متنوع در تولید است که با مدل‌های متمرکزتر توسعه چون آن‌هایی که معمولاً در شرکت‌های نرم‌افزاری تجاری به کار می‌رود، در تضاد است. اصل و عمل عمده در توسعهٔ نرم‌افزار متن‌باز، شبه‌تولید بوسیلهٔ دادوستد و همکاری، با محصول نهایی               (و مادهٔ منبع) است که بدون هیچ هزینه‌ای در دسترس عموم است. اصطلاح «منبع باز»، همان‌طور که برای توصیف نرم‌افزار به کار می‌رفت، اولین بار توسط گروهی از افراد در جنبش نرم‌افزار آزاد مطرح شد که منتقد برنامه سیاسی و فلسفه اخلاقی بودند که در اصطلاح «نرم‌افزار آزاد» آمده‌است و می‌کوشید گفتمان را دوباره تنظیم کند به منعکس کردن موقعیت تجاری تر علاوه بر این، ابهام اصطلاح «نرم‌افزار آزاد» به عنوان دلسردکننده پذیرش تجارت شناخته می‌شد. این گروه شامل کریستین پیترسون، تاد اندرسون، لری آگوستین، جون هال، سام اوکمن، مایکل تایمن و اریک اس ریموند بود. پترسون در نشستی که در پالو آلتو، کالیفرنیا برگزار شد، در واکنش به اعلامیه نت اسکیپ در ژانویه ۱۹۹۸ مبنی بر انتشار کد منبع برای ناوبر، «منبع آزاد» را پیشنهاد داد. روز بعد لینوس توروالدز از او حمایت کرد و فیل هیوز از این اصطلاح در مجله لینوکس حمایت کرد. در ابتدا به نظر می‌رسید که ریچارد استالمن، بنیانگذار جنبش نرم‌افزار آزاد، این اصطلاح را به کار برد، اما بعداً نظر خود را تغییر داد. Netscape کد منبع خود را تحت مجوز عمومی Netscape و بعداً تحت مجوز عمومی Mozilla منتشر کرد.انواع نرم افزارهای متن باز چیست؟از جمله معروف ترین لیست نرم افزارهای open source عبارت است از:لینوکسسیستم عامل لینوکس برای کامپیوتر و لپ تاپ مورد استفاده قرار می‌گیرد و از جمله سیستم عامل متن باز محسوب می‌شود. این نرم افزار امنیت بالایی داشته و ویروس کمی برای آن طراحی شده است. لینوکس قدمت بالایی داشته و بسیار کاربردی است و توسط شرکت بزرگ پشتیبانی می‌گردد.اندرویداندروید نیز همان طور که می‌دانید از جمله سیستم عامل‌های متن باز بوده و براساس لینوکس طراحی شده است. این سیستم از امنیت بسیار بالایی برخوردار بوده و در حال حاضر یکی از بهترین و معتبرترین نرم افزارهای کاربردی به شمار می‌رود. این نرم افزار در عصر کنونی طرفداران بسیاری را به خود جذب کرده است.وردپرساگر در حوزه کسب و کارهای اینترنتی در حال فعالیت هستید احتمالا با وردپرس بسیار سر و کار داشته اید. این نرم افزارها قدرتمندترین اپن سورس در جهان بوده و بسیاری از وبسایت‌ها با استفاده از این قابلیت طراحی شده است. وردپرس نسخه‌ای بسیار کاربردی برای مدیریت سرورها محسوب می‌شود و استفاده از آن بسیار آسان است.تلگرامتلگرام یکی از محبوب‌ترین پیام رسان‌ها بوده که قابلیت‌های زیادی را دارای است. این پیام رسان امکانات بسیاری داشته و شما می‌توانید نرم افزارهای غیر اصل آن را به وفور در بازارهای اینترنتی مشاهده کنید.مزایا و معایب متن باز چیست؟متن بازها نیز مانند هر امکاناتی دارای نقاط ضعف و قدرتی است که در ادامه به آن می‌پردازیم. از جمله مزایای متن باز عبارت است از:دسترسی رایگان متن بازاز جمله اصلی ترین ویژگی‌های متن بازها که باعث محبوبیت آن ها شده، رایگان بودن این نرم افزارها می باشد. همچنین با استفاده از این نرم افزارها و کدهای آن می توان نرم افزارهای جدیدی را نیز طراحی کرده و  معمولا آن ها نیز به صورت رایگان در اختیار عموم قرار می‌گیرد.پلاگین‌های جدید و پیشرفته در سیستم‌های متن باز چیست؟پلاگین‌ها افزونه‌هایی هستند که قابلیت‌های جدیدی را وارد نرم افزار می‌کنند و یا عیب و ایرادی را در نرم افزار از بین می‌برند. به عنوان مثال نرم افزار طراحی شده فاقد این قابلیت است که محتوا را به صورت مستقیم دانلود کند و افزودن پلاگین این ایراد را برطرف کرده و شما می‌توانید به صورت مستقیم محتوای دلخواه خود را دانلود کنید.رفع آسان تر و بهتر باگ‌هاباگ‌ها در واقع یکی از مشکلات‌های کدهای برنامه نویسی است و وجود این مشکل می‌تواند باعث اختلال در عملکرد نرم افزار شود به همین دلیل شرکت‌های برنامه نویسی پس از ارائه رسمی نرم افزار آن را در اختیار برنامه نویسان قرار می‌دهند تا بررسی شده و ایرادهای آن برطرف شود. این مشکل حتی در بهترین زبان های برنامه نویسی بچشم می آید.کیفیتاین نرم افزارها توسط برنامه نویسان در کل جهان بررسی شده و هر کدام از این افراد سعی می‌کنند تا با استفاده از تخصص خود به شکلی اصولی این نرم افزارها را بروز رسانی کرده و مشکلات آن را برطرف کنند و قابلیت‌های جدیدی را به آن ها اضافه نمایند. به همین دلیل متن بازها به مرور بهبود یافته و قابلیت‌های جدیدی به آن افزوده می‌شود.معایب سیستم‌ های متن باز چیست؟معایت سیستم اپن سورس چیست؟عدم وجود پشتیبان فنینرم افزارهای متن باز معمولا فاقد پشتیبان هستند زیرا این نرم افزارها به صورت مداوم توسط برنامه نویسان در حال تغییر و بروز رسانی است و از آن جا که شرکت سازنده نمی‌تواند به صورت مداوم این نرم افزارها را بررسی کند، پشتیبانی از این نرم افزارها کار سخت و زمان‌بری است.پایین بودن امنیتنرم افزارهای متن باز با کمی بی‌اخلاقی می‌تواند مورد سوء استفاده قرار گیرد. به عنوان مثال برنامه تلگرام دارای مشابهات بسیاری است و نسخه‌های غیر اصل آن مثل موبوگرام و تلگرام طلایی، امنیت کافی را نداشته و امکان دارد که از اطلاعات کاربران سوء استفاده گردد.گردآورنده : امیرمحمد صفویاستاد : دکتر مریم حاجی اسمعیلی - دکترای علوم کامپیوتر از دانشگاه کینگستون لندنDr. Maryam HajiesmaeiliPHD of Computer Science From Kingston University of Londonwww.opensource.comwww.en.wikipedia.org/wiki/Open_sourcewww.redhat.com</description>
                <category>Amir Mohammad Safavi</category>
                <author>Amir Mohammad Safavi</author>
                <pubDate>Sat, 25 Jun 2022 20:54:39 +0430</pubDate>
            </item>
            </channel>
</rss>