ماجراجویی در دنیای دیجیتال و تکنولوژی

قراره اینجا کلی تجربه کسب کنیم و چیزهای زیادی یاد بگیریم :)

برای جست‌وجو کلیک کنید

متاورس و واقعیت مجازی چیست و چه کاربردی دارد؟

علی عرب سرخی ۱۴۰۲/۰۷/۲۹،

سلام رفقا چطورین امیدوارم هرجا که هستید شاد سلامت و پر انرژی باشید.

موضوع امروز ما در رابطه با دنیای واقعیت مجازی و متاورس است، قراره راجب این موضوع اطلاعات زیادی کسب کنیم:)

پس تا آخر این مطلب با ما همراه باشید.


سخت افزار، نرم افزار چیست و چه تفاوتی باهم دارند ؟

علی عرب سرخی ۱۴۰۲/۰۷/۲۳،

سلام رفقا چطورین ، چه خبر، امیدوارم هرجا که هستیدشاد،سلامت و پرانرژی باشید.

امروز میخوایم بدونیم که سخت افزار و نرم افزار چیه و چه کاربردی داره ؟ و تفاوت بین آن ها چیه ؟ پس تا آخر این مطلب همراه ما باشید :)

مقدمه:

هر وسیله الکترونیکی خواه یک کامپیوتر باشد و یا یک تلفن همراه بواسطه همکاری مشترک سخت افزار و نرم افزار کار می‌کند. آیا ‏تفاوت میان آنها را می‌دانید؟ این مقاله به زبان ساده تفاوتهای میان سخت افزار و نرم افزار یک وسیله الکترونیکی را توضیح می‌دهد.‏

DNS یا دی ان اس چیست؟

علی عرب سرخی ۱۴۰۲/۰۷/۱۹،

سلام دوستان چه خبر چطورین ؟ امروز قراره که راجب دی ان اس یا dns صحبت کنیم و ببینیم که درواقع چی هستش پس با ما همراه باشید

مقدمه:

ما به جای به خاطر سپردن IP ها، که به صورت عددی هستند، ترجیح میدهیم که دامنه هر سایت را به خاطر بسپاریم. چراکه دامنه‌ها معنی دار هستند و به جای اعداد، از حروف برای ساخت آن‌ها استفاده می‌شود.

در این میان نیاز است که یک عامل واسطه، دامنه را به IP معادل متصل سازد و سبب برقراری ارتباط میان کامپیوترها و سرورهای میزبان سایت‌ها شود.

آی پی (ip) چیست و چه کاربردی دارد ؟

علی عرب سرخی ۱۴۰۲/۰۷/۱۸،

سلام بر شما دوستان عزیز و همراهان همیشگی،امیدوارم که هرجا که باشید شاد سلامت وپر انرژی باشید ، موضوع امروز ما در رابطه با آی پی (ip) هستش که چه چیزیه و چه کاربردی داره.. پس تا آخر این مطلب با ما همراه باشید.

آی پی چیست؟

مخفف عبارت Internet Protocol Address بوده که معادل فارسی آن “آدرس پروتکل اینترنت” است که به صورت یک سری اعداد قانون مند به هر وسیله ای (به طور مثال سرورها، کامپیوترهای شخصی، دستگاه های تلفن همراه و…) که به نتورک متصل شود، اختصاص داده می شود

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

هر دستگاهي كه در اينترنت وجود دارد يا به آن متصل است يك شماره شناسايي منحصر به فرد دارد كه به آن آدرس IP يا شماره IP گفته مي شود.

IP چيزي مانند اين است: " 127. 55. 27. 216 " تركيبي از 4.3 ميليارد آدرس IP

سیستم عامل چیست؟

علی عرب سرخی ۱۴۰۲/۰۷/۱۷،

سلام چطورین ، امیدوارم هرجا که هستید شاد سلامت و پر انرژی باشید .. مطلب امروز ما درباره سیستم عامل است که کامل آن را بشناسیم که چه چیزیه و چه کاربردی داره ....

و برای این که همه بتونن متوجه بشن حتی افرادی که اصلا با کامپیوتر کارنکردند ویا قصد خرید آن را دارند، از جاهای مختلف ما کمک گرفتیم تا بتوانیم در یک پست کامل شرح دهیم ، این پست چندین منبع دارد!

باما همراه باشید :))


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


سیستم عامل یا سامانهٔ عامل (به انگلیسی: operating system) یا به کوتاهی اُاِس (OS)، نرم‌افزار سیستمی‌ای است که مدیریت منابع رایانه را به عهده گرفته و بستری را فراهم می‌سازد که نرم‌افزار کاربردی اجرا شده و از خدمات آن استفاده کنند. سیستم‌عامل جزو ضروری‌ترین نرم‌افزارهای یک سیستم رایانه‌ای است. سیستم‌عامل خدماتی به برنامه‌های کاربردی و کاربر ارائه می‌دهد. برنامه‌های کاربردی یا از طریق واسط‌های برنامه‌نویسی کاربردی یا از طرق فراخوانی‌های سیستم به این خدمات دسترسی دارند. با فراخوانی این واسط‌ها، برنامه‌های کاربردی می‌توانند سرویسی را از سیستم‌عامل درخواست کنند، پارامترها را انتقال دهند، و پاسخ عملیات را دریافت کنند. ممکن است کاربران با بعضی انواع واسط (رابط) کاربری نرم‌افزار مثل واسط خط فرمان یک واسط گرافیکی کاربر با سیستم‌عامل تعامل کنند. برای رایانه‌های دستی و رومیزی، عموماً واسط کاربری به عنوان بخشی از سیستم‌عامل در نظر گرفته می‌شود. در سیستم‌های بزرگ و چند کاربره مثل یونیکس و سیستم‌های شبیه یونیکس، واسط کاربری معمولاً به عنوان یک برنامهٔ کاربردی که خارج از سیستم‌عامل اجرا می‌شود پیاده‌سازی می‌شود. نمونه‌هایی از محبوب‌ترین سیستم‌عامل‌های نوین شامل: اندروید، ویندوز، آی او اس، مک اواس، لینوکس، کروم اواس، ویندوز فون، بی‌اس‌دی، کیوان‌اکس، و زد/اواس می‌باشند.

انواع سیستم عامل

تک‌کاره و چندکاره

یک سیستم تک‌کاره تنها می‌تواند یک برنامه را به‌طور همزمان اجرا کند، در حالی‌که یک سیستم عامل چندمنظوره اجازه می‌دهد تا بیش از یک برنامه به‌طور همزمان اجرا شود. این با به اشتراک‌گذاری زمان حاصل می‌شود، که در آن زمان پردازندهٔ موجود بین چندین فرایند تقسیم می‌شود. این فرایندها هر یک به‌طور مکرر در برش‌های زمانی توسط یک زیر سیستم برنامه‌ریزی کار سیستم عامل قطع می‌شوند. چند وظیفه‌ای ممکن است در انواع پیشگیرانه و تعاونی مشخص شود. در چند وظیفه‌ای پیشگیرانه، سیستم عامل زمان CPU را قطع می‌کند و شکافی را به هر یک از برنامه‌ها اختصاص می‌دهد. سیستم عامل‌های یونیکس مانند، مانند Solaris, Linux و همچنین غیر Unix مانند مانند AmigaOS، از وظیفه‌های پیشگویی‌کننده پشتیبانی می‌کنند. چند وظیفهٔ تعاونی با تکیه بر هر فرایند به‌دست می‌آید تا زمان دیگری را برای سایر فرایندها به صورت تعریف‌شده فراهم کند. نسخه‌های ۱۶ بیتی مایکروسافت ویندوز از چندکاره تعاونی استفاده می‌کردند. نسخه‌های ۳۲ بیتی ویندوز NT و Win9x از وظایف پیشگیرانه استفاده می‌کنند.

تک‌کاربره و چندکاربره

سیستم عامل‌های یک‌کاربره امکان تمایز کاربران را ندارند، اما ممکن است چندین برنامه را به صورت همزمان اجرا کنند. یک سیستم عامل چند کاربره مفهوم اصلی کار چند منظوره را با امکاناتی فراهم می‌کند که فرایندها و منابع را شناسایی می‌کنند، از جمله فضای دیسک، متعلق به چندین کاربر، و سیستم به چندین کاربر اجازه می‌دهد تا همزمان با سیستم ارتباط برقرار کنند. برنامه‌های زمانبندی سیستم عامل برای استفاده کارآمد از سیستم برنامه‌ریزی کرده و ممکن است شامل نرم‌افزار حسابداری برای اختصاص هزینهٔ زمان پردازنده، ذخیرهٔ انبوه، چاپ و سایر منابع برای چندین کاربر نیز باشد. در سیستم عامل‌های شبه‌یونیکس یک حالت تک‌کاربره در هستهٔ پشتیبان وجود دارد که برای وقتی است که دیگر هسته‌ها با مشکل مواجه می‌شوند و نیاز به تعمیر دارند یا رمز کاربر ریشه را بدون دانستن آن بخواهیم تغییر دهیم.[نیازمند منبع]

سیستم عامل توزیع شده

سیستم عامل توزیع شده گروهی از رایانه‌های مجزا و شبکه‌ای را مدیریت می‌کند و باعث می‌شود که آن‌ها یک کامپیوتر واحد باشند، زیرا همهٔ محاسبات توزیع می‌شوند (بین رایانه‌های سازنده تقسیم می‌شوند).

قالب

در زمینهٔ محاسبات توزیع شده و ابری یک سیستم عامل، قالب‌بندی به ایجاد یک تصویر واحد مجازی به عنوان یک سیستم عامل مهمان اشاره دارد و سپس آن را به عنوان ابزاری برای چندین ماشین مجازی در حال اجرا ذخیره می‌کند. این روش هم در مجازی‌سازی و هم در مدیریت محاسبات ابری مورد استفاده قرار می‌گیرد و در انبارهای بزرگ سرور رایج است.

جاسازی شده

سیستم عامل‌های جاسازی‌شده برای استفاده در سیستم‌های رایانه‌ای جاسازی‌شده طراحی شده‌اند. آن‌ها به گونه‌ای طراحی شده‌اند که در دستگاه‌های کوچک با استقلال کمتری کار کنند (به عنوان مثال PDA). آن‌ها از نظر طراحی بسیار جمع و جور و بسیار کارآمد هستند و قادر به استفاده از منابع محدود هستند. Windows CE و Minix 3 نمونه‌هایی از سیستم عامل‌های تعبیه‌شده هستند.

سیستم‌های با درنگ

سیستم‌های بی‌درنگ یا سیستم عامل در زمان واقعی یک سیستم عامل است که پردازش رویدادها یا داده‌ها توسط یک لحظهٔ خاص در زمان را تضمین می‌کند. یک سیستم عامل در زمان واقعی ممکن است تک‌کاره یا چندکاره باشد، اما هنگام کار چند وظیفه‌ای، از الگوریتم‌های برنامه‌ریزی تخصصی استفاده می‌کند تا ماهیت قطعی رفتار حاصل شود. چنین سیستمی محور براساس اولویت‌ها یا رویدادهای خارجی بین وظایف تغییر می‌کند، در حالی که سیستم‌های عامل مشترک با زمان وظایف را بر اساس وقفه ساعت تغییر می‌دهند.

کتابخانه

هر سیستم عامل کتابخانه‌ای دارد که در آن رویه‌های سیستم عامل برای فراخوانی توسط برنامه‌های دیگر وجود دارند. برای مثال، برای نوشتن فایلی بر دیسک نیاز به فراخوانی رویهٔ خاصی در سیستم عامل است. یا در سیستم عامل‌های شبه‌یونیکس از رویهٔ سیستمی Fork برای ساختن فرآیندهای جدید استفاده می‌شود. معمولاً کتابخانهٔ سیستم عامل‌های شبه‌یونیکس با زبان برنامه‌نویسی سی نوشته شده‌اند.

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

رایانه‌های اولیه مانند ماشین حساب برای انجام یک سری از کارهای تکی ساخته شدند. ویژگی‌های اولیه سیستم عامل در دههٔ ۵۰ رشد یافت، مانند ویژگی ناظر مقیم که می تواند به‌طور خودکار برنامه‌های مختلف را به صورت متوالی اجرا کنند تا پردازش را سرعت دهد. سیستم‌های عامل تا اوایل دههٔ ۱۹۶۰ به شکل‌های مدرن و پیچیده‌تر وجود نداشتند. ویژگی‌های سخت‌افزاری اضافه شده‌است که امکان استفاده از کتابخانه‌های زمان اجرا، وقفه‌ها و پردازش موازی را فراهم می‌آورد. هنگامی که رایانه‌های شخصی در دههٔ ۱۹۸۰ رایج شدند، سیستم‌های عامل برای آن‌ها شبیه به رایانه‌های بزرگ‌تر مورد استفاده قرار گرفت.

در دههٔ ۱۹۴۰، نخستین سیستم‌های دیجیتال الکترونیکی هیچ سیستم عاملی نداشتند. سیستم‌های الکترونیکی آن زمان در ردیف‌های سوئیچ‌های مکانیکی یا توسط سیم‌های بلوز روی پلاگین‌ها برنامه‌ریزی می‌شدند. این‌ها سیستم‌های ویژه‌ای بود که به عنوان مثال جدول‌های بالستیک را برای ارتش ایجاد می‌کردند یا چاپ چک‌های حقوق و دستمزد از داده‌های روی کارت‌های کاغذ سوراخ‌دار را کنترل می‌کردند. پس از اختراع رایانه‌های قابل برنامه‌ریزی عمومی، زبان‌های دستگاه (متشکل از رشته‌های ارقام باینری ۰ و ۱ روی نوار کاغذ سوراخ‌دار) معرفی شدند که روند برنامه‌نویسی را سرعت می‌بخشد (استرن، ۱۹۸۱).

در اوایل دههٔ ۵۰، یک رایانه می‌توانست همزمان فقط یک برنامه را اجرا کند. هر کاربر تنها برای مدت محدودی از رایانه استفاده می‌کرد و با برنامه و داده‌های خود در کارت‌های کاغذ سوراخ‌دار یا نوار پانچ‌شده در یک زمان مشخص قرار می‌گرفت. برنامه وارد دستگاه می‌شود و دستگاه تا زمان تکمیل یا خراب شدن برنامه کار می‌کند. به‌طور کلی برنامه‌ها می‌توانند از طریق پنل جلویی با استفاده از کلیدهای جابجایی و چراغ‌های پانل اشکال‌زدایی شوند. گفته می‌شود که آلن تورینگ در اوایل ماشین منچستر مارک ۱ استاد این کار بوده‌است و او پیش‌تر برداشت اولیهٔ یک سیستم عامل را از اصول دستگاه جهانی تورینگ به‌دست می‌آورد.

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

سرپرست اطلس پیشرفت خوبی داشت. با معرفی اطلس منچستر در سال ۱۹۶۲، از نظر بسیاری نخستین سیستم عامل مدرن قابل تشخیص است. برینچ هانسن آن را «مهم‌ترین پیشرفت در تاریخ سیستم‌های عامل» توصیف کرد.

مین فریم‌ها

در دههٔ ۱۹۵۰، بسیاری از ویژگی‌های اصلی در زمینهٔ سیستم عامل‌های رایانه‌های اصلی از جمله پردازش دسته‌ای، قطع ورودی و خروجی، بافر، چند کاره، غلط‌گیری، کتابخانه‌های زمان اجرا، لینک بارگذاری و برنامه‌هایی برای مرتب‌سازی پیشینه‌ها در پرونده‌ها پیشگام شدند. این ویژگی‌ها به جای یک سیستم عامل جداگانه که توسط همهٔ برنامه‌ها استفاده می‌شود، در گزینهٔ برنامه‌نویسان برنامه گنجانده شده یا شامل نشده‌اند. در سال ۱۹۵۹، سیستم عامل SHARE به‌عنوان ابزاری یکپارچه برای IBM 704 و بعداً در میان اصلی‌های ۷۰۹ و ۷۰۹۰ منتشر شد، اگرچه به سرعت توسط IBSYS / IBJOB در ۷۰۹، ۷۰۹۰ و ۷۰۹۴ ارسال شد.

در دههٔ ۱۹۶۰، سیستم عامل IBM / OS IBM مفهوم سیستم عامل منفرد را دربرداشت که تمام خط تولید را شامل می‌شد، که برای موفقیت دستگاه‌های System / 360 بسیار مهم بود. سیستم‌های عامل اصلی کنونی IBM از فرزندان دور این سیستم اصلی هستند و ماشین‌های مدرن با برنامه‌های نوشته‌شده برای OS / 360 سازگار با عقب هستند.

میکرو کامپیوترها

ریز کامپیوترها برای نخستین بار از ظرفیت یا نیاز به سیستم عامل‌های پیچیده‌ای که برای اصلی‌ها و مینی‌ها ساخته شده بودند، نداشتند. سیستم عامل‌های حداقلی توسعه یافته بودند، که اغلب از ROM بارگذاری می‌شوند و به عنوان مانیتور معروف هستند. یکی از سیستم عامل‌های قابل توجه درایو اولیه، CP / M بود که در بسیاری از میکرو کامپیوترهای اولیه پشتیبانی شد و از نزدیک توسط MS-DOS مایکروسافت تقلید شد، که به عنوان سیستم عامل انتخاب شده برای IBM PC محبوبیت زیادی پیدا کرد (نسخهٔ IBM از آن با نام IBM DOS نامگذاری شد). یا DOS PC). در دههٔ ۱۹۸۰، شرکت اپل کامپیوتر (اکنون شرکت اپل) از سری محبوب میکرو رایانه‌های اپل II خود رها شد تا رایانه اپل مکینتاش را با یک رابط کاربری گرافیکی نوآورانه (GUI) به سیستم عامل مک معرفی کند.

معرفی تراشهٔ CPU Intel 80386 CPU در اکتبر ۱۹۸۵، با قابلیت معماری ۳۲ بیتی و قابلیت صفحه‌بندی، امکان رایانه‌های شخصی را برای اجرای سیستم عامل‌های چند وظیفه‌ای مانند رایانه‌های مینی‌رایانه و مجهز به سیستم‌های پیشین فراهم کرد. مایکروسافت با استخدام دیو کاتلر، که سیستم عامل VMS را برای شرکت تجهیزات دیجیتال توسعه داده بود، به این پیشرفت پاسخ داد. او توسعهٔ سیستم عامل Windows NT را هدایت می‌کند، که همچنان به عنوان پایه‌ای برای خط سیستم عامل مایکروسافت عمل می‌کند. استیو جابز، یکی از بنیانگذاران شرکت اپل، NeXT Computer Inc را راه‌اندازی کرد که سیستم عامل NEXTSTEP را توسعه داد. NEXTSTEP بعداً توسط Apple Inc. به‌دست می‌آید و همراه با کد FreeBSD به عنوان هستهٔ Mac OS X (macOS پس از آخرین تغییر نام) استفاده می‌شود.

پروژهٔ GNU توسط ریچارد استالمن فعال و برنامه‌نویس با هدف ایجاد جایگزینی کامل نرم‌افزار رایگان در سیستم عامل اختصاصی UNIX آغاز شد. در حالی‌که این پروژه در کپی کردن قابلیت‌های بخش‌های مختلف UNIX بسیار موفق بود، توسعهٔ هستهٔ GNU Hurd بی‌ثمر بود. در سال ۱۹۹۱، لینوس توروالدز، دانشجوی علوم کامپیوتر رایانه، با همکاری داوطلبانی که از طریق اینترنت همکاری می‌کنند، نخستین نسخه از هستهٔ لینوکس را منتشر کرد. به زودی با مؤلفه‌های فضای کاربر کاربر و نرم‌افزار سیستم ادغام شد تا یک سیستم عامل کامل ایجاد شود. از آن زمان به بعد، ترکیب دو مؤلفهٔ اصلی معمولاً توسط صنعت نرم‌افزار به سادگی به «لینوکس» گفته می‌شود، یک کنوانسیون نامگذاری که استالمن و بنیاد نرم‌افزار آزاد با آن مخالف هستند و ترجیح می‌دهند نام GNU / Linux را ترجیح دهند. هستهٔ سیستم عامل توزیع نرم‌افزار برکلی، معروف به BSD، مشتق‌شده از هستهٔ سیستم عامل UNIX، که از دههٔ ۱۹۷۰ توسط دانشگاه کالیفرنیا، برکلی توزیع شده‌است. آخرین نسخهٔ آن BSD ۴٫۴ در سال ۱۹۹۵ بود که بعد از آن دیگر نسخه‌ای نداد و بنابرین این یک پروژه متوقف شده می اشد. اما توزیع‌هایی مانند FreeBSD, OpenBSD, NetBSD همچنان پایدار هستند.

اجزاء

اجزای سیستم عامل همه به منظور ایجاد بخش‌های مختلف یک کامپیوتر در کنار هم وجود دارند. تمام نرم‌افزارهای کاربر برای استفاده از هر کدام از سخت‌افزارها، چه از طریق ماوس و کیبورد و چه به عنوان یک کامپوننت اینترنت، باید از طریق سیستم عامل عبور کنند.

هسته (Kernel)

مراحل خاموش شدن سیستم از طریق سیستم عامل در سیستم عامل‌های شبه‌یونیکس

هسته در اصل مغز سیستم عامل است. هسته وظیفهٔ مدیریت سخت‌افزار و نرم‌افزار را دارد. در واقع هسته یک سیستم عامل باید پروسه‌ها را ترتیب‌دهی کند، به هر پروسه شناسه‌ای دهد و اجرا کند و تا اتمام پروسه آن را مدیریت کند (منابع و حافظه‌اش)، توابعی برای فراخوانی برای دسترسی با حالت هسته داشته باشد و به‌طور کلی باید مانند مغز سیستم عامل عمل کند. هسته باید میزان استفاده از واحد پردازندهٔ مرکزی یا CPU برای هر پروسه را کنترل کند، هر پروسه‌ای که اولویت بیشتری داشته باشد، میزان استفاده از پردازنده را بر آن پروسه بالا می‌برد، همین‌طور وظیفهٔ نوشتن یا خواندن فایل‌ها را دارد و وظیفهٔ اجرای دستورها را دارد. در اکثر سیستم عامل‌های شبه‌یونیکس، کرنل در بوت لودر با یک سری پارامترها اجرا می‌شود و پروسهٔ init را اجرا می‌کند. کرنل باید تمامی ورودی‌ها و خروجی‌ها را بخواند. بخش مهمی از کرنل در بخش محافظت‌شده از رم لود می‌شود. به‌طور کلی‌تر هسته وظیفهٔ مدیریت سخت‌افزار و نرم‌افزار را دارد.

مراحل اجرای محیط کاربری در سیستم عامل‌های شبه‌یونیکس

اجرای برنامه

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

وقفه‌ها

وقفه‌ها برای سیستم عامل‌ها از اهمیت ویژه‌ای برخوردار است، زیرا آن‌ها یک روش کارآمد برای سیستم عامل برای تعامل و واکنش به محیط آن فراهم می‌کنند. گزینهٔ جایگزین، داشتن سیستم عامل منابع مختلف ورودی برای رویدادها (نظرسنجی) که نیاز به اقدام دارند را «تماشا می‌کند» را می‌توان در سیستم‌های قدیمی با پشته‌های بسیار کوچک (۵۰ یا ۶۰ بایت) یافت اما در سیستم‌های مدرن با پشته‌های بزرگ غیرمعمول است. برنامه‌نویسی مبتنی بر قطع به‌طور مستقیم توسط اکثر CPUهای مدرن پشتیبانی می‌شود. وقفه‌ها راهی را برای صرفه‌جویی در خودکار ثبت زمینه‌های ثبت محلی و اجرای کد ویژه در پاسخ به وقایع، به رایانه می‌دهد. حتی رایانه‌های بسیار اساسی از قطع سخت‌افزار پشتیبانی می‌کنند و به برنامه‌نویس اجازه می‌دهند کدی را که ممکن است هنگام وقوع آن اجرا شود، مشخص کند.

هنگامی که یک وقفه دریافت شد، سخت‌افزار رایانه به‌طور خودکار هر برنامه‌ای را که در حال اجراست، به حالت تعلیق درمی‌آورد، وضعیت خود را ذخیره می‌کند، و کد رایانه‌ای را که پیش‌تر با وقفه در ارتباط بود اجرا می‌کند. این مشابه با قرار دادن یک نشانک در یک کتاب در پاسخ به تماس تلفنی است. در سیستم عامل‌های مدرن، وقفه‌ها توسط هستهٔ سیستم عامل انجام می‌شود. وقفه‌ها ممکن است از سخت‌افزار رایانه یا برنامه در حال اجرا باشد.

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

یک برنامه همچنین ممکن است باعث ایجاد وقفه در سیستم عامل شود. برای مثال اگر یک برنامه بخواهد به سخت‌افزار دسترسی داشته باشد، ممکن است هستهٔ سیستم عامل را قطع کند و این باعث می‌شود کنترل به هسته منتقل شود. سپس هسته درخواست را پردازش می‌کند. اگر برنامه‌ای بخواهد منابع اضافی (یا مایل به ریختن منابع) مانند حافظه باشد، باعث جلب توجه هسته می‌شود.

حالت فقط-خواندنی (Read-Only)

در این حالت کاربر کنونی تنها اجازهٔ خواندن فایل(ها) را دارد. معمولاً در سیستم‌های نجات از اطلاعات از سامانهٔ فایل‌بندی فقط خواندنی استفاده می‌شود.

کاربر ریشه (Root)

کاربر ریشه یا ابرکاربر، کاربری‌ست که بدون محدودیت دسترسی به تمامی فایل‌های سیستم عامل را دارد، در این حالت امنیت داخلی سیستم عامل به حداقل می‌رسد زیرا دیگر هیچ چیزی جلودار کاربر ریشه نیست و ممکن است بدافزاری، آسیب جدی‌ای وارد کند، یا اینکه ممکن است به اشتباه یک فایل مهم سیستمی پاک شود. شناسه کاربری کاربر ریشه در سیستم عامل‌های شبه‌یونیکس معمولاً ۰ است.

مدیریت پروسه‌ها و حافظه (مموری)

هر برنامه در حال اجرا یک پروسه است، چه در پیش‌زمینه چه در پس‌زمینه، هستهٔ سیستم عامل وظیفهٔ مدیریت پروسه‌ها را دارد. هستهٔ سیستم عامل به هر پروسه یک شناسهٔ پروسه یا PID می‌دهد، منابع و حافظهٔ پروسه را کنترل می‌کند و آن‌ها را به ترتیب خاصی اجرا می‌کند تا زمانی که پروسه به پایان برسد و پروسهٔ والد (پروسه‌ای که پروسهٔ کنونی از آن نشأت گرفته (دارای یک PPID هست هر پروسهٔ والد) به پایان رسیدن آن را تأیید کند یا مطلع شود. هر پروسه یک برنامه است، هر برنامه به مقداری حافظه و منابعی نیاز دارد، هسته وظیفهٔ این را دارد تا همهٔ این‌ها را تهیه کند، و در انتهای پروسه حافظه و منابع گرفته یا اشغال شده را خالی یا آزاد کند. در سیستم عامل‌های شبه‌یونیکس پروسهٔ مادر یا init که در هنگام راه‌اندازی سیستم عامل اجرا می‌شود نیز مادر همهٔ پروسه‌هاست؛ یعنی اگر پروسهٔ مادر از بین برود همهٔ پروسه‌های دیگر نیز از بین می‌روند.

رویهٔ یک پروسه

حافظهٔ مجازی

هستهٔ سیستم عامل با قابلیت حافظهٔ مجازی وظیفهٔ تأمین امنیت پروسه‌های اشغال‌شده در مموری را دارد، یعنی باید از دسترسی برنامه‌ها یا پروسه‌ها به منابع و حافظهٔ اشغال‌شده توسط پروسه‌های دیگر جلوگیری کند. به‌طور کلی اگر سیستم عامل قابلیت حافظهٔ مجازی داشته باشد، فضایی برای آدرس‌های پروسه‌ها و برنامه‌های در حال اجرا که آدرس مجازی نامیده می‌شود تا برنامهٔ دیگری نتواند به آن بخش از حافظه دسترسی یابد. هستهٔ سیستم عامل وظیفهٔ مدیریت و گرفتن آدرس‌های مجازی را دارد.

چند وظیفه‌ای

دسترسی به دیسک

هستهٔ سیستم عامل از هرگونه دسترسی به نوشتن یا خواندن در دیسک جلوگیری می‌کند، بنابرین برای نوشتن فایلی (یا خواندن) تنها راه موجود استفاده از فراخوانی سیستم یا فراخوانی توابع سیستم هست، این به این معنی است تنها با فراخواندن توابعی که در هستهٔ سیستم عامل تعریف شده‌اند می‌توان روی دیسک نوشت یا فایلی را خواند. هرگونه خواندن یا نوشتن فایلی در حلقهٔ ۳ یا فضای کاربری توسط هستهٔ سیستم عامل جلوگیری می‌شود، دسترسی به دیسک تنها در حالت کرنل یا هسته ممکن است.

سامانهٔ فایل‌بندی

هر سیستم عامل سامانه (های) فایل‌بندی پیش‌فرضی دارد، مثلاً ویندوز از سامانهٔ فایل‌بندی NTFS و لینوکس از EXT4 به‌طور پیش‌فرض استفاده می‌کنند.

راه‌انداز سیستم (init)

در سیستم عامل‌های شبه‌یونیکس init یا اولیه‌ساز، پروسه‌ها و سرویس‌هایی که سیستم عامل برای راه‌اندازی به آن‌ها نیاز دارد را اجرا می‌کند مثلاً در لینوکس، برای بالا آمدن دسکتاپ گنوم نیازمند اجرای سرویس gdm است، بنابرین در انتها سرویس gdm را اجرا می‌کند. این پروسه به عنوان پروسهٔ مادر یا مادر همهٔ پروسه‌های سیستم نیز شناخته می‌شود که معمولاً شناسهٔ پروسهٔ ۱ را به همراه دارد. همچنین این پروسه تا خاموش‌شدن سیستم همچنان فعال است. در سیستم عامل‌های لینوکس معمولاً از سیستم راه‌انداز SystemD استفاده می‌شود.

شبکه

امنیت

هستهٔ سیستم عامل وظیفهٔ جلوگیری از دسترسی هرگونه برنامه‌ای به سخت‌افزار را دارد. برای همین اصطلاحاً می‌گویند هستهٔ سیستم عامل در حلقهٔ ۰ وجود دارد، این امنیت سیستم را تا جایی فراهم می‌کند که برنامهٔ مخربی نتواند به سخت‌افزار صدمه‌ای بزند. تنها راه استفاده از برخی دسترسی‌ها به سخت‌افزار نظیر نوشتن فایل بر هارد دیسک، نیازمند فراخوانی سیستمی یا فراخوانی توابع سیستمی است.

رابط کاربری

رابط کاربری یک سیستم عامل می‌تواند به دو صورت رابط کاربری گرافیکی (به انگلیسی: Graphical User Interface) یا رابط خط فرمان (به انگلیسی: Command-line interface) باشد. سیستم عامل‌های مدرن از قابلیت رابط کاربری گرافیکی در کنار رابط خط فرمانی پشتیبانی می‌کنند، مانند ویندوز لینوکس، مک او.اس. سیستم عامل‌هایی با پشتیبانی GUI یا رابط کاربری گرافیکی یک دسکتاپ یا میزکار دارند، اما سیستم عامل‌هایی که تنها رابط خط فرمانی یا CLI دارند، در یک ترمینال با یک پوسته اجرا می‌شوند. رابط کاربری در واقع شیوهٔ ارتباط فضای کاربری با سیستم عامل است. در سیستم عامل‌هایی که تنها CLI دارند، شیوهٔ ارتباط با سیستم، تنها به صورت دستورهایی خاص به صورت متنی (تنها راه ورودی کیبورد هست) است و در سیستم عامل‌هایی با قابلیت GUI به صورت گرافیکی و راحت‌تر است.

وظایف سیستم عامل

سیستم‌عامل دو کار عمده انجام می‌دهد:

  1. در نگرش پایین به بالا، منابع منطقی (مانند فایل‌ها) و منابع فیزیکی (مانند دستگاه‌های سخت‌افزاری) رایانه را مدیریت و کنترل می‌کند.
  2. در نگرش بالا به پایین، وظیفهٔ سیستم‌عامل این است که یک ماشین توسعه‌یافته[یادداشت ۲] یا ماشین مجازی را به کاربران ارائه کند تا آن‌ها بتوانند آسان‌تر برنامه‌نویسی نمایند و درگیر پیچیدگی‌های سخت‌افزاری رایانه نشوند.[نیازمند منبع]

به‌طور کلی، وظایف سیستم‌عامل شامل موارد زیر است:

  • استفادهٔ بهینه‌تر از منابع و جلوگیری از به هدر رفتن آن‌ها
  • تخصیص و آزادسازی منابع
  • ادارهٔ صف‌ها و زمان‌بندی استفاده از منابع
  • حسابداری میزان استفاده از منابع
  • ایجاد امنیت
  • ایجاد، حذف و ادارهٔ فرایندها
  • ایجاد مکانیسم‌های ارتباط بین فرایندها و همگام‌سازی آن‌ها
  • مدیریت فایل‌ها و پوشه‌ها
  • مدیریت حافظه‌های اصلی و جانبی
  • برقراری امکان دسترسی چندتاییو اجرای هم روند[یادداشت ۴] فرایندها
  • به اشتراک‌گذاری منابع
  • تعیین راهکارهایی برای ادارهٔ بن‌بست
  • جلوگیری از وضعیت رقابتی و تداخل یا در هم قفل شدن[یادداشت ۸] فرایندها
  • جلوگیری از تداخل

آمار موجود که مربوط به فوریهٔ ۲۰۲۰ می‌باشد به شرح زیر است:

تعداد افراد حاضر در جهان که درحال استفاده از سیستم عامل های مختلف اند:

  • ویندوز ۱۰: ۱۸٫۳۹٪
  • اندروید ۹: ۱۴٫۲۰٪
  • ویندوز ۷: ۱۳٫۷۷٪
  • آی او اس ۱۳: ۸٫۳۰٪
  • اندروید ۸: ۷٫۷۶٪
  • اندروید ۶: ۴٫۸۴٪
  • اندروید ۷: ۴٫۵۶٪
  • اندروید ۵: ۴٫۳۵٪
  • مک اواس: ۴٫۳۱٪
  • لینوکس: ۳٫۳۴٪

از سیستم‌عامل‌های مشهور رایانه‌های شخصی می‌توان به اسامی زیر اشاره کرد:

  • مک او اس
  • ویندوز
  • لینوکس

سیستم عامل‌های شرکت مایکروسافت

  • مایکروسافت داس
  • ویندوز ۱
  • ویندوز ۲
  • ویندوز ۳
  • ویندوز NT 4
  • ویندوز ۹۵
  • ویندوز ۹۸
  • ویندوز ملنیوم
  • ویندوز ۲۰۰۰
  • ویندوز XP
  • ویندوز ویستا
  • ویندوز ۷
  • ویندوز ۸
  • ویندوز ۱۰
  • ویندوز ۱۱

سیستم عامل‌های شرکت اپل

  • اپل ProDOS
  • مک او اس (MacOS)
  • مک او اس ایکس (MacOS X/OS X)

توزیع‌های لینوکس

  • Debian
    • Debian
    • Ubuntu
    • Kali
    • Knoppix
  • Slackware
    • Slackware
    • SuSE
  • Red hat
    • Fedora Core
    • CentOS
    • RHEL(red hat enterprise linux)
  • Enoch
    • Gentoo
    • Ututo
  • Arch
    • Arch
    • Manjaro
  • Tiny Core
  • Android

توزیع‌های بی.اس. دی

  • FuryBSD
  • FreeBSD
  • OpenBSD
  • FreeNAS
  • BSDRP

مینیکس

  • مینیکس ۳

دیگر

  • پلن ۹ از آزمایشگاه‌های بل
  • هایکو
  • سولاریس
  • z/OS
  • AmigaOS

همچنین از سیستم‌عامل‌های موجود روی گوشی‌های تلفن همراه نسل جدید می‌توان به نام‌های زیر اشاره کرد:

  • انری
  • اندروید
  • iOS
  • ویندوز موبایل
  • ویندوز فون
  • سیمبین
  • یوآی‌کیو
  • بادا
  • بلک بری
  • می‌گو
  • پالم
  • تایزن
  • هارمونی اواس

    برای مرور و تمرین افراد مبتدی و پیشرفته :

  • سیستم‌عامل (OS) چیست؟

    سیستم‌عامل (software that manages computer hardware resources ) یا operating system مجموعه نرم‌افزارهایی که منابع یک سیستم را مدیریت می‌کنند تعریف می شود که یک بستر نرم‌افزاری و عملیاتی است و اجرای برنامه‌های جانبی در محیط سخت‌افزاری، به وجود آن وابسته است. به همین دلیل نرم‌افزارها، اپلیکیشن‌ها و برنامه‌های اجرایی بر اساس سیستم عامل خاصی نوشته می‌شوند و در صورت نصب در محیط همان سیستم عامل، به درستی اجرا خواهند شد. این کار، نوشتن برنامه‌های کاربردی را که تنوع بسیار زیادی دارند، آسان می‌سازد. تنوع سیستم عامل‌ها بسیار کمتر بوده و از یک سیستم عامل، می‌توان برای اجرای هزاران نرم‌افزار استفاده کرد. در ادامه این مقاله، به تقسیم‌بندی انواع سیستم عامل‌ها، انواع آن‌ها برای سخت‌افزارهای مرسوم و توضیح مختصری در مورد هر یک، خواهیم پرداخت.

    انواع سیستم عامل

    سیستم عامل‌ها از نظر سخت‌افزار مورد استفاده به چهار دسته کلی تقسیم‌بندی می‌شوند:

    سیستم‌عامل کامپیوتر

    این دسته از سیستم عامل ها، برای اجرای نرم‌افزارها و برنامه‌های مخصوص کامپیوتر طراحی شده‌اند و خود به انواع مختلفی تقسیم‌بندی می‌شوند. شرکت‌های معروفی نظیر مایکروسافت و اپل اقدام به توسعه و ارائه این سیستم عامل ها کرده‌اند که گاهاً اجرای نرم‌افزارها و حتی سخت‌افزارهای لازم برای این OS ها، انحصاری است و تنها برای همان سیستم عامل خاص طراحی شده‌اند.

    سیستم‌عامل موبایل

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

    انواع سیستم عامل

    سیستم‌عامل سختافزارهای شبکه

    برخی از سخت‌افزارهای مخصوص شبکه نظیر روترها، میکسرها، سوئیچ‌ها و غیره، سیستم‌عامل مختص خود را دارند؛ یعنی برای عملکرد صحیح این سخت‌افزارها، می‌بایست سیستم عامل مختص همان سخت‌افزار بر روی آن نصب گردد. برخی از شرکت‌های سازنده سخت‌افزار شبکه نظیر سیسکو و میکروتیک، سیستم‌های عامل مختص خود را نیز ارائه داده‌اند.

    سیستم عامل صنعتی

    این دسته از سیستم عامل ها به نوع بی‌درنگ یا فوری نیز معروف هستند و در مصارف صنعتی برای کنترل‌کننده‌های هوشمند و مدارهای فرمان خودکار استفاده می‌شوند. تجهیزات صنعتی نظیر کنترل‌کننده، PLC ها، PLR ها و غیره، همگی برای برنامه‌ریزی و اجرای دستورات نیاز به سیستم عامل دارند که اغلب به صورت اختصاصی توسط خود شرکت‌های سازنده برای آن‌ها ارائه می‌شود.

    سیستم‌ عامل‌های مخصوص کامپیوتر نیز از دیدگاه تعداد پردازنده‌های مورد استفاده برای اجرای سیستم عامل، به دو دسته کلی تقسیم‌بندی می‌شوند:

    سیستم عامل های تک پردازنده

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

    سیستم عامل های توزیع شده یا چند پردازنده

    در این مدل که بیشتر در شبکه‌بندی کامپیوترها مورد استفاده قرار می‌گیرد، سیستم‌عامل (OS) روی چندین پردازنده در کامپیوترهای مختلف نصب می‌گردد و یک کامپیوتر مرکزی نیز وظیفه نمایش نتایج پردازش را بر عهده دارد.

    وظایف سیستم‌عامل

    سیستم عامل بسته به نوع کاربرد و سخت‌افزار مورد استفاده ممکن است وظایف مختلفی از جمله مدیریت حافظه، مدیریت فایل‌ها، پردازش اطلاعات، مدیریت سیستم و تجهیزات ورودی و خروجی، امنیت سخت‌افزار و غیره را بر عهده داشته باشد؛ اما به طور معمول یک سیستم عامل وظایف زیر را بر عهده دارد:

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

    برخی از ویژگیهای مهم سیستم عامل

    برخی از ویژگی‌های مهم سیستم‌عامل (OS)عبارت‌اند از:

  • دارای مود حفاظت شده و نظارتی
  • امکان دسترسی به دیسک و درایوهای دستگاه
  • اجرای برنامه‌های کاربردی
  • مدیریت حافظه اصلی و حافظه مجازی
  • مدیریت عملکرد سخت‌افزارهای ورودی و خروجی
  • مدیریت سیستم فایل‌ها
  • تشخیص خطا و مدیریت آن
  • تخصیص منابع
  • حفاظت از منابع و اطلاعات
  • مزایا و معایب سیستم‌عامل چیست؟

    مزایای سیستم عامل را می‌توان به صورت زیر خلاصه کرد:

  • امکان دسترسی به جزئیات سخت‌افزارها
  • استفاده آسان با GUI
  • ایجاد محیطی برای اجرای برنامه‌ها و اپلیکیشن‌ها توسط کاربر
  • ایجاد ارتباط به عنوان یک واسطه میان اپلیکیشن‌ها و مؤلفه‌های سخت‌افزاری
  • ارائه منابع سیستم کامپیوتری با استفاده آسان
  • ایجاد ارتباط میان سخت‌افزارها و نرم‌افزارهای سازگار با سیستم عامل
  • معایب سیستم عامل را نیز می‌توان به صورت زیر بیان کرد:

  • اگر مشکلی برای سیستم عامل رخ دهد، ممکن است همه محتوا و فایل‌های مهم که در سیستم ذخیره شده است، از بین برود.
  • نرم‌افزارهای OS اختصاصی برای سازمان‌های کوچک کمی گران‌قیمت هستند و می‌بایست بودجه مجزایی را برای تهیه و به‌روزرسانی سیستم‌های عامل در نظر بگیرند.
  • هرگز نمی‌توان گفت که یک سیستم عامل کاملاً ایمن است.
  • اجزای تشکیل‌دهنده سیستم‌عامل

    هر سیستم عامل صرف‌نظر از نوع کاربرد، می‌بایست از دو بخش اصلی تشکیل شده باشد: هسته یا کرنل و پوسته.

    پوسته سیستم عامل

    پوسته لایه بیرونی یک سیستم عامل است که وظیفه ایجاد ارتباط بین کاربران، دریافت درخواست از سوی کاربر، مدیریت سیستم‌های ورودی و خروجی و ایجاد ارتباط در یک شبکه را بر عهده دارد.

    هسته یا کرنل سیستم عامل

    هسته یا کرنل، اصلی‌ترین بخش در یک سیستم عامل است. وظیفه اصلی کرنل، مدیریت ارتباط بین نرم‌افزار و سخت‌افزار است. ویژگی‌های کرنل عبارت‌اند از:

  • برنامه‌ریزی سطح پایین فرآیندها
  • ارتباطات بین فرآیندی
  • همگام‌سازی فرآیند
  • تغییر برنامه زمینه
  • انواع هسته سیستم‌عامل

    انواع مختلفی از کرنل یا هسته برای سیستم‌های عامل ارائه شده‌اند اما دو نوع معروف آن‌ها عبارت‌اند از:

    Monolithic

    کرنل monolithic یک کد یا بلوک واحد از برنامه است که تمام سرویس‌های مورد نیاز OS را ارائه می‌دهد. طراحی این کرنل ساده است و از یک لایه ارتباطی متمایز بین سخت‌افزار و نرم‌افزار تشکیل شده است.

    Microkernels

    کرنل Microkernel تمام منابع سیستم را مدیریت می‌کند. در این نوع هسته، سرویس‌ها در فضای آدرس‌های مختلف پیاده‌سازی می‌شوند. خدمات کاربر در این مدل کرنل، در فضای آدرس کاربر ذخیره شده و خدمات و سرویس‌های هسته کرنل نیز در فضای آدرس کرنل ذخیره‌سازی می‌گردند؛ بنابراین این ساختار به کاهش اندازه هسته و سیستم عامل کمک می‌کند.

    تفاوت Firmware و OS چیست؟

    Operating System و Firmware هر دو در لغت به معنی سیستم‌عامل (OS) هستند؛ اما دارای تفاوت‌هایی از سه جنبه هستند که در اینجا به آن‌ها اشاره می‌کنیم:

  • Firmware برنامه‌ای است که توسط شرکت سازنده روی چیپ و IC ها تعبیه می‌شود و نسبت به نوع قطعات، قابل تغییر یا غیر قابل تغییر است؛ در حالی که OS برنامه‌ای است که توسط کاربر بر روی سخت‌افزار قابل‌نصب بوده و قابل‌‍تغییر است.
  • Firmware نوعی برنامه است که روی چیپ‌ها پیاده‌سازی می‌شود و بخش مشخصی از سیستم‌ها را مدیریت می‌کند؛ در حالی که OS وظیفه‌ای فراتر از Firmware دارد؛ به عبارت دیگر، OS یک محیط برنامه‌ریزی شده برای اجرای وظایف مختلفی است که یکی از آن‌ها، کنترل سخت‌افزار و نرم‌افزار است.
  • Firmware روی حافظه ROM ذخیره می‌شود در حالی که OS روی هارد درایو ذخیره می‌گردد.
  • انواع سیستم‌عامل کامپیوتر

    انواع سیستم‌عامل کامپیوتر

    در دسته‌بندی سیستم عامل ها، یکی از گسترده‌ترین و پرکاربردترین طبقه از سیستم عامل ها، OS های مخصوص کامپیوتر است که به سیستم عامل دسکتاپ نیز معروف هستند و به انواع مختلفی تقسیم می‌شوند. در این بخش به بررسی انواع سیستم عامل های مخصوص کامپیوتر پرداخته و توضیح مختصری در مورد هر یک بیان می‌کنیم:

  • ویندوز Windows

  • ویندوز (Windows) متداول‌ترین و شناخته‌شده‌ترین سیستم‌عامل جهان است. از زمان ارائه ویندوز 95 تا کنون که ویندوز 11 ارائه شده است، ویژگی‌های مختلفی در این سیستم‌عامل اضافه شده که استفاده از آن را برای کاربران با اهداف اجرای برنامه، وب‌گردی، کاربردهای شخصی، بازی و غیره، بسیار ساده کرده است.

    محیط ویندوز کاربرپسند بوده و یادگیری آن نیز سریع انجام می‌شود. امنیت این سیستم عامل با ارائه نسخه‌های جدید، افزایش یافته است. برخی از ویژگی‌های سیستم عامل ویندوز عبارتند از:

  • رابط کاربری قوی که استفاده و هدایت کاربر را آسان می‌سازد.
  • ویژگی‌های مربوط به منوی وظیفه (taskbar) که امکان سوئیچ بین چندین محیط کاربری و نمایش همه پنجره‌ها را به صورت هم‌زمان فراهم می‌کند.
  • دو رابط کاربری مختلف به نام ماوس و کیبورد و همچنین مود تبلت که برای سخت‌افزارهای تاچ اسکرین نظیر لپ‌تاپ‌های دارای نمایشگر تاچ ارائه شده است.
  • مکانیزم احراز هویت چندعاملی برای امنیت بیشتر نظیر شناسایی از طریق BIN، PIN، اثرانگشت و غیره.
  • سیستم خودکار فشرده‌سازی فایل برای کاهش فضای اشغال شده
  • Mac OS

  • سیستم عامل macOS که سیستم عامل کامپیوترهای شرکت اَپِل نامیده می‌شود با گذشت زمان، ویژگی‌های جدیدی را در این سیستم عامل می‌بینیم. در سال‌های اخیر نیز نصب مک‌اواس (operating system for Apple computers) و ارتقای آن به نسخه‌های جدیدتر کاملاً رایگان شده است. برخی از ویژگی‌های این سیستم‌عامل عبارتند از:

  • دسکتاپ با مود تیره (dark mode)
  • محیط دسکتاپ دینامیکی برای مدیریت فایل‌ها
  • سازگاری با آیفون و استفاده از دوربین گوشی آیفون برای اسکن و عکس‌برداری
  • محیط برنامه‌های جامع به نام app store
  • ویژگی‌های جدید در iTunes برای جستجوی آهنگ
  • امنیت در مقابل نفوذ هکرها
  • یونیکس (Unix)

  • لینوکس (Linux)

  • سیستم عامل لینوکس نیز یک سیستم عامل شبیه یونیکس است که برای کامپیوترهای PC طراحی شده و یک گزینه رایگان برای کاربران کامپیوتر است. لینوکس از نظر کارآمدی و سرعت بالا در میان سیستم‌های عامل دسکتاپ شهرت دارد.

  • Ubuntu

  • سیستم عامل Ubuntu یک سیستم‌عامل مبتنی بر لینوکس است که برای سازمان‌ها، مدارس و کاربران خانگی مناسب است. دانلود، اشتراک‌گذاری و استفاده از این سیستم عامل کاملاً رایگان است.

  • Fedora

  • سیستم عامل Fedora نیز یک سیستم عامل مبتنی بر لینوکس است که ویژگی متن‌باز بودن را به Ubuntu اضافه کرده است. قابلیت اطمینان بالا، کاربرپسند بودن و قابلیت اجرا روی همه لپ‌تاپ‌ها و کامپیوترها، از ویژگی‌های این OS است.

  • Solaris

  • Solaris یک سیستم عامل مبتنی بر یونیکس است که در سال 2010 به Oracle Solaris تغییر نام داد. این سیستم عامل به خاطر مقیاس‌پذیری و ویژگی‌هایی نظیر Dtrace، ZFS و Time Slider شناخته شده است.

  • FreeBSD

  • FreeBSD همان‌طور که از نامش پیداست، یک سیستم‌عامل متن‌باز رایگان مبتنی بر یونیکس است. عمدتاً ویژگی‌هایی نظیر سرعت و ثبات بالا در این OS شناخته شده هستند.

  • Debian

  • Debian یک سیستم عامل متن‌باز و رایگان مبتنی بر کرنل لینوکس است. نصب این OS بسیار آسان بوده و رابط کاربری بسیار جذابی دارد. از بسیاری از سیستم عامل های دیگر سبک‌تر بوده و به همین دلیل از سرعت بیشتری نیز برخوردار است. ویژگی‌های امنیتی و شبکه‌سازی در این سیستم عامل شناخته شده است.

  • Deepin

  • Deepin یک سیستم عامل متن‌باز مبتنی بر Debian است. زیبایی ظاهری و جذابیت سیستم عامل رایانه ای دیپین (Linux distribution)، فاکتور مهمی در شناخته شدن آن است. ویژگی‌های امنیتی پیشرفته، پروسه نصب آسان و استفاده از برنامه‌های مدیریت فایل سفارشی نظیر اسکرین شات، اسکرین رکوردر، نمایش عکس، نمایش ویدئو و غیره از ویژگی‌های اختصاصی این سیستم عامل است.

    انواع سیستم عامل موبایل

    انواع سیستم عامل موبایل

    دسته دوم سیستم‌های عامل که شناخته شده و پرکاربرد هستند، سیستم عامل های مخصوص موبایل هستند که برای اجرای اپلیکیشن‌ها و مدیریت فایل در گوشی‌های تلفن همراه به کار می‌روند. در این بخش، معروف‌ترین OS های موبایل را معرفی می‌کنیم:

  • اندروید

  • سیستم‌عامل اندروید محبوب‌ترین سیستم عامل امروزی برای موبایل‌هاست. این سیستم عامل تلفن همراه مبتنی بر هسته لینوکس بوده و متن‌باز است. سیستم عامل اندروید توسط گوگل توسعه یافته، همچنین اولین دستگاه اندروید نیز در سال 2008 عرضه شد. اندروید ویژگی‌های متعددی را برای سخت‌افزارهایی که از این OS استفاده می‌کنند، ارائه کرده است که مهم‌ترین آن‌ها عبارتند از:

  • رابط کاربری: رابط کاربری در اندروید بر اساس ویژگی direct manipulation پیاده شده است، به این معنی که با تاچ صفحه‌نمایش، اقدام نرم‌افزاری بدون درنگ انجام می‌شود.
  • نوار وضعیت: نوار وضعیت یا status bar ویژگی دیگری از محیط اندروید است که امکان نمایش اپ‌ها و دسترسی سریع به کنترل سیستم نظیر روشنایی صفحه، تنظیمات ارتباطی نظیر WiFi و غیره را فراهم می‌کند.
  • اعلانها: اعلان یا Notification یک ویژگی جالب در اندروید است که برای آگاهی کاربر به صورت پیام‌های کوتاه روی اسکرین نمایش داده می‌شود. ویژگی‌های دیگری نظیر دکمه‌های هدایت (Navigation)، صفحه‌نمایش تقسیم شده، قابلیت شارژ در حالت خاموش و غیره نیز از دیگر ویژگی‌های اندروید است.
  • سیستم عامل iOS

  • سیستم عامل iOS توسط شرکت اپل برای استفاده در دستگاه‌های توسعه یافته در این شرکت ارائه شده است. این سیستم عامل از نظر امنیت بسیار پیشرفته است و بر روی هیچ سخت‌افزار دیگری غیر از دستگاه‌های ارائه شده شرکت اپل، قابل‌استفاده نیست. همچنین هیچ سیستم عامل دیگری بر روی این دستگاه‌های اختصاصی قابل‌نصب نیست.

  • Bada (Samsung Electronics)

  • Bada سیستم عامل اختصاصی موبایل‌های سامسونگ بود که در سال 2010 ارائه شد. برند سامسونگ اولین برندی بود که از سیستم عامل Bada استفاده کرد. این سیستم عامل، بسیاری از ویژگی‌های موبایل نظیر گرافیک سه بعدی، نصب برنامه و ویژگی‌های تاچ چندنقطه‌ای را دارا است.

  • BlackBerry

  • سیستم عامل BlackBerry یک سیستم عامل تلفن همراه است که توسط شرکت Research In Motion (RIM) ارائه شد. این OS به صورت اختصاصی برای دستگاه‌های بلک بری طراحی شده است. ویژگی‌های چند کاربری و امکانات استفاده از Microsoft Exchang، ایمیل Novell GroupWise و نرم‌افزارهای تجاری، بر روی سرور اختصاصی بلک بری، در این OS در نظر گرفته شده است.

  • Symbian

  • سیستم عامل Symbian یک سیستم‌عامل تلفن همراه است که سطح بالایی از یکپارچگی را برای کاربر فراهم می‌کند. این OS بر اساس زبان جاوا نوشته شده و اولین بار در سال 1998 توسعه یافته و توسط شرکت نوکیا برای اولین بار بر روی گوشی‌های تلفن همراه نصب گردید.

  • ویندوز موبایل

  • سیستم عامل ویندوز موبایل توسط شرکت مایکروسافت ارائه گردید. این سیستم عامل برای کامپیوترهای جیبی و گوشی‌های موبایل هوشمند ارائه شد.

  • Harmony

  • سیستم عامل Harmony آخرین سیستم عامل موبایل است که توسط شرکت Huawei و برای استفاده در دستگاه‌های ساخت این شرکت ارائه شده است. این سیستم عامل ابتدا برای تجهیزات مورد استفاده در فناوری اینترنت اشیا یا IoT توسعه یافته بود.

  • ویندوز فون

  • این سیستم‌عامل نیز در شرکت مایکروسافت توسعه یافته است و به عنوان جایگزینی برای سیستم عامل ویندوز موبایل شناخته می‌شود.

  • Palm

  • سیستم عامل Palm یک OS مخصوص موبایل است که توسط شرکت Palm برای دستگاه‌های دیجیتال شخصی ارائه شده است. این سیستم عامل ابتدا در سال 1996 ارائه گردید و با نام Garnet نیز شناخته می‌شود.

  • WebOS

  • WebOS یک سیستم عامل موبایل است که توسط شرکت Palm ارائه شده بوده و مبتنی بر هسته لینوکس است. این سیستم عامل با عنوان Palm/HP شناخته می‌شود و شرکت HP از این سیستم عامل برای موبایل‌ها و دستگاه‌های صفحه لمسی خود استفاده می‌کند.

    یونیکس (family of computer operating systems that derive from the original AT&T Unix) یک سیستم‌عامل (OS) چندمنظوره است که برای ویژگی‌هایی نظیر انعطاف‌پذیری و تطبیق‌پذیری، شناخته شده است. این سیستم عامل یکی از اولین سیستم عامل هایی است که ارائه شده و به زمان C نوشته شده است.


منبع : ویکی پدیا و آذر آنلاین..

𝕒𝕕𝕧𝕖𝕟𝕥𝕦𝕣𝕖 𝕕𝕚𝕘𝕚𝕥𝕒𝕝 𝕥𝕖𝕔𝕙𝕟𝕠𝕝𝕠𝕘𝕪

آموزش تنها زمانی مؤثر است که با سرگرمی همراه شود و زمانی که گروهی از افراد با هم تلاش کنند، می‌توانند دنیایی از تغییرات مثبت را برای مردم به ارمغان بیاورند

قالب وبلاگ

بیوگرافی
در اینجا قراره اطلاعات زیادی درباره کامپیوتر و دنیای تکنولوژی و دیجیتال ، تجربه کسب کنیم و چیز های زیادی یاد بگیریم:)
آخرین نوشته‌ها