تحقیق در مورد این موضوع: کدام سیستم عامل امن تر است؟ سیستم عامل های قابل اعتماد و ایمن؟ امن ترین اتاق عمل

آخرین باری که تلویزیون شما به طور ناگهانی خاموش شد یا از شما خواسته شد فوراً نوعی وصله نرم افزاری را از وب دانلود کنید که یک خطای مهم را برطرف می کند، چه زمانی بود؟ در پایان، اگر یک تلویزیون نه چندان قدیمی دارید، در واقع، این همان رایانه است - با یک پردازنده مرکزی، یک مانیتور بزرگ، نوعی الکترونیک آنالوگ برای رمزگشایی سیگنال های رادیویی، چند ورودی / خروجی ویژه دستگاه های (کنترل از راه دور، درایو دیسک داخلی برای کاست یا دی وی دی) و با نرم افزار، تجویز شده در حافظه دسترسی تصادفی. این سوال لفاظی ما را به یک موضوع بد که صنعت کامپیوتر دوست ندارد در مورد آن صحبت کند، بازمی گرداند. چرا تلویزیون‌ها، پخش‌کننده‌های DVD، پخش‌کننده‌های MP3، تلفن‌های همراه و سایر دستگاه‌های الکترونیکی دارای نرم‌افزار کاملاً قابل اعتماد هستند و به خوبی محافظت می‌شوند، اما رایانه‌ها اینطور نیستند؟ البته، "توضیحات" زیادی برای این موضوع وجود دارد: رایانه ها سیستم های انعطاف پذیری هستند، کاربران می توانند نرم افزار را تغییر دهند، صنعت فناوری اطلاعات هنوز توسعه نیافته است و غیره. اما، از آنجایی که ما در عصری زندگی می کنیم که اکثریت قریب به اتفاق کاربران کامپیوتر در مسائل فنی کمی تبحر دارند، چنین "توضیحاتی" برای آنها قانع کننده به نظر نمی رسد.

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

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

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

چرا سیستم ها قابل اعتماد نیستند؟

سیستم عامل های مدرن دو ویژگی دارند که باعث می شود هم قابلیت اطمینان و هم امنیت را از دست بدهند. اولاً این سیستم عامل ها از نظر اندازه بسیار بزرگ هستند و ثانیاً ایزولاسیون خطا بسیار ضعیفی دارند. هسته لینوکس بیش از 2.5 میلیون خط کد دارد، در حالی که هسته ویندوز XP حداقل دو برابر آن است.

یک مطالعه در مورد قابلیت اطمینان نرم افزار نشان داد که برنامه ها بین 6 تا 16 باگ برای هر 1000 خط کد اجرایی دارند. بر اساس مطالعه دیگری، نرخ خطا در برنامه ها بسته به اندازه ماژول، از 2 تا 75 برای هر 1000 خط کد اجرایی متغیر است. حتی با فرض محافظه کارانه ترین تخمین (6 باگ در هر 1000 خط کد)، هسته لینوکس به نظر می رسد حاوی حدود 15000 باگ باشد. ویندوز XP - حداقل دو برابر بیشتر.

بدتر از آن، معمولاً حدود 70 درصد از سیستم عامل را درایورهای دستگاه تشکیل می دهند که سه تا هفت برابر کدهای معمولی خطا دارند، بنابراین تخمین بالا از تعداد خطاهای سیستم عامل به احتمال زیاد دست کم گرفته شده است. واضح است که یافتن و اصلاح همه این خطاها به سادگی غیرممکن است. علاوه بر این، هنگام اصلاح برخی از خطاها، اغلب موارد جدید معرفی می شوند.

با توجه به اندازه عظیم سیستم عامل های مدرن، هیچ کس به تنهایی نمی تواند آنها را به طور کامل بشناسد. در واقع، ایجاد یک سیستم خوب بسیار دشوار است اگر کسی واقعاً آن را به طور کامل تصور نکند.

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

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

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

خوشبختانه وضعیت چندان ناامیدکننده نیست. توسعه دهندگان تلاش می کنند تا سیستم عامل های قابل اعتمادتری ایجاد کنند. چهار رویکرد مختلف وجود دارد که برای قابل اعتمادتر و ایمن تر کردن سیستم عامل ها در آینده در نظر گرفته شده است. ما آنها را در مقاله خود به ترتیب صعودی، از کمتر رادیکال به رادیکال تر ارائه خواهیم کرد.

سیستم عامل های سخت شده

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

به طور خاص، همانطور که در شکل نشان داده شده است. 1، Nooks با قرار دادن هر درایور در یک لایه نرم افزار محافظت شده که یک دامنه حفاظتی سبک وزن را تشکیل می دهد، هسته را در برابر درایورهای دستگاه نادرست محافظت می کند. گاهی اوقات از این فناوری به عنوان "sandboxing" یاد می شود. بسته بندی اطراف هر درایور با دقت تمام تعاملات بین درایور و هسته را پیگیری می کند. علاوه بر این، این فناوری را می توان برای سایر برنامه های افزودنی هسته مانند سیستم عامل های قابل بوت استفاده کرد، اما برای سادگی در مورد آن فقط در رابطه با درایورها صحبت خواهیم کرد.

اهداف پروژه Nooks به شرح زیر است:

  • محافظت از هسته ها از اشکالات در درایورها؛
  • ارائه بازیابی خودکار در صورت خرابی در راننده؛
  • همه این کارها را با حداقل تغییرات در درایورهای موجود و هسته انجام دهید.

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

عایق

ابزار اصلی برای جلوگیری از تخریب ساختارهای داده هسته توسط درایورهای نادرست، نقشه صفحه حافظه مجازی است. هنگامی که یک درایور اجرا می شود، تمام صفحات خارجی آن در حالت فقط خواندنی قرار می گیرند و یک دامنه امنیتی سبک وزن جداگانه برای هر درایور ایجاد می کنند. بنابراین درایور می تواند ساختارهای داده هسته مورد نیاز خود را بخواند، اما هر تلاشی برای تغییر مستقیم ساختارهای داده هسته یک استثنا ایجاد می کند. CPU، که توسط مدیر انزوا Nooks رهگیری می شود. دسترسی به حافظه خصوصی راننده، جایی که پشته‌ها، پشته‌ها، ساختارهای داده خصوصی و کپی‌هایی از اشیاء هسته ذخیره می‌شوند، قابل خواندن و نوشتن است.

پادرمیانی

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

Nooks بسته‌بندی‌هایی را برای عملکردهای صادراتی و وارداتی فراهم می‌کند. حال، زمانی که هسته یک تابع درایور را فراخوانی می‌کند، یا درایور یک تابع هسته را فراخوانی می‌کند، تماس در واقع به wrapper هدایت می‌شود که پارامترها را تأیید می‌کند و تماس را مدیریت می‌کند. اگرچه قطعات پوسته (به صورت خطوطی در شکل 1 نشان داده شده اند که هم به داخل و هم در خارج از درایور اشاره می کنند) به طور خودکار بر اساس نمونه های اولیه عملکرد تولید می شوند، توسعه دهندگان باید بدنه پوسته را با دست بنویسند. در مجموع، گروه Nooks 455 wrapper نوشت: 329 برای توابعی که هسته صادر می کند و 126 برای توابعی که درایورهای دستگاه صادر می کنند.

هنگامی که یک درایور سعی می کند یک شی هسته را تغییر دهد، wrapper آن شی را در دامنه حفاظتی درایور، یعنی در صفحات خواندن/نوشتن خصوصی آن کپی می کند. سپس درایور کپی را تغییر می دهد. اگر درخواست موفقیت آمیز بود، مدیر جداسازی اشیاء اصلاح شده را به هسته کپی می کند. بنابراین، یک تصادف درایور یا یک خطا در حین تماس همیشه اشیاء هسته را در وضعیت صحیح قرار می دهد. عملیات کنترل برای اشیاء وارد شده برای هر شی خاص است، به همین دلیل است که تیم Nooks مجبور شد برای کنترل 43 کلاس شی که از درایورهای لینوکس استفاده می کنند، کد را به صورت دستی بنویسد.

بهبود

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

این فناوری به شما امکان می دهد سیستم را بازیابی کنید، اما برنامه هایی که در زمان خرابی در حال اجرا بودند ممکن است در وضعیت نادرستی باشند. در نتیجه کار، گروه Nooks مفهوم درایورهای تکراری (درایور سایه) را اضافه کرد تا برنامه ها حتی پس از تصادف درایور به درستی اجرا شوند.

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

محدودیت های

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

ماشین های پار مجازی

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

این تکنیک اغلب برای اجازه دادن به دو یا چند سیستم عامل، مثلاً لینوکس و ویندوز، استفاده می‌شود تا همزمان روی یک دستگاه اجرا شوند، به طوری که هر سیستم‌عامل فکر می‌کند مالک کل دستگاه است. استفاده از ماشین های مجازی برای ارائه ایزوله سازی خوب خطاها شهرت خوبی دارد. به هر حال، اگر هیچ یک از ماشین‌های مجازی از وجود ماشین‌های دیگر آگاه نباشند، هیچ راهی وجود ندارد که مشکلاتی که روی یک ماشین رخ می‌دهد به دیگران سرایت کند.

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

به طور خاص، در دهه 90، گروهی از توسعه دهندگان از دانشگاه کارلسروهه میکروکرنل L4 را ایجاد کردند. آنها توانستند یک نسخه کمی تغییر یافته از لینوکس (L4Linux) را در L4 اجرا کنند که ممکن است نمای ماشین مجازی نامیده شود. توسعه دهندگان بعداً متوجه شدند که به جای اجرای تنها یک نسخه از لینوکس در L4، می توانند چندین نسخه را اجرا کنند. همانطور که در نشان داده شده است برنج. 2، این فکر به ایده استفاده از یکی از ماشین های مجازی لینوکس برای اجرای برنامه های کاربردی و دیگری یا بیشتر برای اجرای درایورهای دستگاه منجر شد.

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

از آنجایی که درایورهای دستگاه بر روی سخت افزار حالت کاربر اجرا می شوند، سوال اصلی این است که چگونه ورودی/خروجی را انجام می دهند و وقفه ها را مدیریت می کنند. ورودی/خروجی فیزیکی با افزودن تقریباً 3000 خط کد به هسته لینوکس که درایورها روی آن اجرا می‌شوند، پشتیبانی می‌شود و به درایورها اجازه می‌دهد به جای اینکه خودشان این کار را انجام دهند، از خدمات L4 برای I/O استفاده کنند. 5000 خط کد اضافی از تعامل بین سه درایور ایزوله (دیسک، شبکه و باس PCI) و ماشین مجازی که برنامه ها در آن اجرا می شوند.

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

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

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

دو رویکرد اول شامل اصلاح سیستم های قدیمی است. دو مورد بعدی به سیستم های آینده اختصاص دارد.

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

معماری چند سرور

برای درک بهتر ایده یک سیستم عامل چند سرور، اجازه دهید به یک مثال مدرن نگاه کنیم. همانطور که در نشان داده شده است برنج. 3در Minix 3، میکروکرنل وقفه‌ها را مدیریت می‌کند، مکانیسم‌های اساسی را برای مدیریت فرآیندها فراهم می‌کند، تعاملات بین فرآیندها را مدیریت می‌کند و زمان‌بندی فرآیند را انجام می‌دهد. همچنین مجموعه کوچکی از تماس‌های هسته را برای درایورها و سرورهای مجاز فراهم می‌کند، مانند خواندن بخش انتخابی از فضای آدرس یک کاربر خاص یا نوشتن در پورت‌های ورودی/خروجی مجاز. درایور ساعت از همان فضای آدرس میکروکرنل استفاده می کند، اما به عنوان یک فرآیند جداگانه برنامه ریزی شده است. هیچ درایور دیگری در حالت هسته کار نمی کند.

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

بالای لایه درایور دستگاه، لایه سرور قرار دارد. فایل سرور برنامه ای است (4.5 هزار خط کد اجرایی) که درخواست های پردازش های کاربر برای فراخوانی های سیستم Posix در مورد فایل هایی مانند خواندن، نوشتن، lseek و stat را می پذیرد و آنها را اجرا می کند. همچنین در این سطح مدیر فرآیند قرار دارد که پردازش ها و حافظه را مدیریت می کند و فراخوانی های Posix و سایر فراخوانی های سیستمی مانند fork، exec و brk را اجرا می کند.

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

سایر سرورها عبارتند از سرور شبکه، که شامل: پشته کامل TCP/IP; یک فروشگاه داده، یک سرور نام ساده که سایر سرورها از آن استفاده می کنند. سرور اطلاعاتمورد استفاده در هنگام اشکال زدایی در نهایت، در بالای لایه سرور، فرآیندهای کاربر قرار دارند. تنها تفاوت این سیستم با سایر سیستم های یونیکس این است که روال های کتابخانه برای خواندن، نوشتن و سایر تماس های سیستمی با ارسال پیام به سرورها انجام می شود. به جز این تفاوت (مخفی در کتابخانه های سیستم)، اینها فرآیندهای کاربر عادی هستند که می توانند از API POSIX استفاده کنند.

تعاملات بین فرآیندها

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

Minix 3 به زیبایی وقفه ها را با ارسال پیام ترکیب می کند. کنترل کننده های وقفه از مکانیزم اعلان برای علامت دادن به اتمام I/O استفاده می کنند. این مکانیسم به کنترل کننده اجازه می دهد تا یک بیت را در بیت مپ "وقفه معوق" تنظیم کند و سپس بدون مسدود کردن ادامه دهد. هنگامی که درایور آماده دریافت وقفه است، هسته آن را به یک پیام عادی تبدیل می کند.

ویژگی های قابلیت اطمینان

دلایل مختلفی برای قابلیت اطمینان بالای Minix 3 وجود دارد. اولاً، هسته فقط کدهایی را اجرا می کند که بزرگتر از 4k خط نباشد، بنابراین بر اساس یک تخمین متوسط ​​از 6 اشکال در هر 1000 خط، تعداد کل اشکالات موجود در هسته احتمالاً حدود 24 است. این را با 15 هزار باگ در لینوکس مقایسه کنید. بیشتر در ویندوز از آنجا که تمام درایورهای دستگاه، به جز ساعت، فرآیندهای کاربر هستند، هیچ کد اضافی هرگز در حالت هسته اجرا نمی شود. علاوه بر این، اندازه کوچک هسته این امکان را فراهم می کند که صحت آن را به صورت دستی یا با استفاده از روش های رسمی به طور موثرتری بررسی کنید.

معماری IPC در Minix 3 نیازی به صف یا بافر پیام ندارد و نیاز به مدیریت بافر در هسته را از بین می برد. علاوه بر این، از آنجا که IPC یک ساختار قدرتمند است، قابلیت های IPC هر سرور و درایور به شدت محدود است. برای هر فرآیند، IPCهای اولیه استفاده شده، مقصدهای موجود و اعلان‌های رویداد کاربر کاملاً تعریف شده‌اند. برای مثال، فرآیندهای کاربر فقط می توانند به صورت قرار ملاقات با یکدیگر ارتباط برقرار کنند یا فقط به سرورهای Posix پیام ارسال کنند.

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

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

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

در میان سایر ویژگی های خاص که قابلیت اطمینان بالاتری را فراهم می کند، خاصیت خود ترمیم شوندگی مهم ترین است. اگر درایور سعی کند داده ها را در یک اشاره گر نامعتبر ذخیره کند، یک حلقه نامحدود وارد کند یا سعی کند سایر عملیات نادرست را انجام دهد، سرور reincarnation به طور خودکار جایگزین آن درایور می شود و معمولاً سایر فرآیندهای در حال اجرا تحت تأثیر قرار نمی گیرند.

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

گزینه های عملکرد

برای دهه‌ها، توسعه‌دهندگان معماری‌های چند سرور مبتنی بر میکروکرنل‌ها را به دلیل عملکرد پایین‌ترشان نسبت به معماری‌های یکپارچه مورد انتقاد قرار داده‌اند. با این حال، پروژه های مختلف تایید می کنند که یک معماری مدولار در واقع می تواند عملکرد قابل مقایسه ای را ارائه دهد. با وجود این واقعیت که Minix 3 برای عملکرد بهینه نشده است، سیستم بسیار سریع است. کاهش عملکرد ناشی از درایورهای حالت کاربر در مقایسه با درایورهای حالت هسته کمتر از 10٪ است و سیستم می تواند شامل هسته، درایورهای رایج و همه سرورها (112 کامپایل و 11 پیوند) در کمتر از 6 ثانیه در دستگاهی با پردازنده Athlon/2.2 گیگاهرتز.

این واقعیت که معماری‌های چند سرور می‌توانند یک محیط نسبتاً قوی شبیه یونیکس را با سربار عملکرد بسیار کمی پشتیبانی کنند، این رویکرد را عملاً قابل قبول می‌کند. Minix 3 for Pentium را می توان به صورت رایگان تحت مجوز Berkeley از وب سایت دانلود کرد www.minix3.org. نسخه هایی برای سایر معماری ها و سیستم های تعبیه شده در حال حاضر در حال توسعه هستند.

حفاظت مبتنی بر زبان

رادیکال ترین رویکرد، که کاملا غیرمنتظره است، توسط تحقیقات مایکروسافت پیشنهاد شد و سیستم عامل را به عنوان یک برنامه واحد که در حالت هسته اجرا می شود و مجموعه خاصی از فرآیندهای کاربر در حالت کاربر اجرا می شود، کنار گذاشت. در عوض، سیستمی را ارائه می‌کند که به زبان‌های کاملاً جدید و کاملاً ایمن نوشته شده است که عاری از همه مشکلات اشاره‌گر و سایر اشکالات مرتبط با C و C++ هستند. مانند دو رویکرد قبلی، این رویکرد نیز چندین دهه پیش ارائه شد و در کامپیوتر B5000 Burroughs پیاده سازی شد. سپس فقط زبان Algol وجود داشت و حفاظت نه با کمک MMU (که اصلاً در ماشین وجود نداشت) حفظ شد، بلکه به دلیل این واقعیت بود که کامپایلر Algol به سادگی کد "خطرناک" تولید نمی کرد. رویکرد ارائه شده توسط تحقیقات مایکروسافت این ایده را با شرایط قرن 21 تطبیق می دهد.

توضیحات کلی

این سیستم که Singularity نام دارد تقریباً به طور کامل به زبان Sing# نوشته شده است که یک زبان جدید از نظر نوع امن است. این زبان بر پایه سی شارپ است، اما با پیام‌های اولیه ارسال می‌شود که معنای آن توسط قراردادهای رسمی توصیف شده توسط زبان تعیین می‌شود. از آنجایی که زبان به شدت فرآیندهای سیستم و کاربر را محدود می کند، همه فرآیندها می توانند با هم در یک فضای آدرس مجازی واحد اجرا شوند. این امر هم امنیت را افزایش می‌دهد (زیرا کامپایلر اجازه نمی‌دهد یک فرآیند داده‌های فرآیند دیگر را تغییر دهد) و هم کارایی (زیرا تله‌های هسته و سوئیچ‌های زمینه را حذف می‌کند.

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

اصل اصلی معماری Singularity این است که پسوندهای فرآیند پویا را غیرمجاز کند. همچنین، این معماری از ماژول‌های قابل بارگیری مانند درایورهای دستگاه و افزونه‌های مرورگر پشتیبانی نمی‌کند، زیرا می‌توانند کدهای اضافی و تأیید نشده را معرفی کنند که می‌تواند به فرآیند والد آسیب برساند. در عوض، چنین برنامه‌های افزودنی باید به‌عنوان فرآیندهای مجزا، کاملاً ایزوله و در تعامل با آنها اجرا شوند مکانیزم استاندارد IPC.

میکرو هسته

سیستم عامل Singularity شامل یک فرآیند میکروکرنل و مجموعه ای از فرآیندهای کاربر است که معمولاً در یک فضای آدرس مجازی مشترک اجرا می شوند. میکروکرنل دسترسی به سخت‌افزار را کنترل می‌کند، حافظه را ذخیره و آزاد می‌کند، زنجیره‌ها را ایجاد، می‌بندد و زمان‌بندی می‌کند، همگام‌سازی زنجیره‌ای را با استفاده از سمافورها حفظ می‌کند، همگام‌سازی بین فرآیندها را با استفاده از لوله‌ها حفظ می‌کند و I/O را کنترل می‌کند. هر درایور دستگاه به عنوان یک فرآیند جداگانه اجرا می شود.

اگرچه اکثر میکروکرنل ها با Sing# نوشته شده اند، اما اجزای جداگانه با C#، C++ یا اسمبلر نوشته شده اند و باید قابل اعتماد باشند، زیرا هیچ راهی برای تأیید صحت آنها وجود ندارد. کد قابل اعتماد شامل لایه انتزاعی سخت افزار و جمع کننده زباله است. لایه انتزاعی سخت‌افزاری، سخت‌افزار سطح پایین را با کپسوله‌سازی مفاهیمی مانند پورت‌های ورودی/خروجی، خطوط درخواست وقفه، کانال‌های دسترسی مستقیم به حافظه و تایمرها از سیستم پنهان می‌کند تا انتزاع‌های قابل همکاری را برای بقیه سیستم‌عامل فراهم کند.

ارتباط بین فرآیندها

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

قرارداد C1 (

در پیام Request(int x) x > 0 نیاز دارد.

ارسال پیام پاسخ (int y);

پیام خروج خطا();

درخواست؟ -> در انتظار

ایالت در انتظار: یک (

پاسخ! -> شروع؛

خطا! -> متوقف شد.

حالت متوقف شده: ;

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

در حالت شروع، مشتری یک پیام درخواست ارسال می کند و کانال را در حالت انتظار قرار می دهد. سرور ممکن است با یک پیام پاسخ یا یک پیام خطا پاسخ دهد. پیام Reply کانال را به حالت Start برمی‌گرداند که در آن تعامل می‌تواند ادامه یابد. پیغام خطاکانال را روی حالت Stop قرار می دهد و به تعامل در کانال پایان می دهد.

پشته

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

به عنوان مثالی از نحوه عملکرد heap، I/O را در نظر بگیرید. وقتی یک درایور دیسک بلوکی از داده ها را می خواند، آن بلوک را روی پشته قرار می دهد. سپس سیستم یک دسته را به آن بلوک به کاربر ارسال می کند که داده ها را درخواست می کند، با رعایت اصل "مالک واحد"، اما اجازه می دهد تا داده ها از دیسک به کاربر بدون ایجاد کپی های اضافی منتقل شوند.

سیستم فایل

Singularity یک فضای نام سلسله مراتبی واحد را برای همه سرویس ها حفظ می کند. سرور نام ریشه از بالای درخت استفاده می کند، اما سرورهای نام دیگر می توانند بر روی گره های خود سوار شوند. به خصوص، سیستم فایل، که فقط یک فرآیند است، روی /fs نصب شده است، به عنوان مثال /fs/users/linda/foo می تواند یک فایل کاربر باشد. فایل ها به صورت B-trees با شماره های بلوک به عنوان کلید پیاده سازی می شوند. هنگامی که یک پردازش کاربر یک فایل را درخواست می کند، سیستم فایل به درایور دیسک دستور می دهد تا بلوک های درخواستی را روی پشته قرار دهد. سپس مالکیت همانطور که در بالا توضیح داده شد منتقل می شود.

معاینه

هر جزء سیستم دارای ابرداده هایی است که وابستگی ها، صادرات، منابع و رفتار آن را توصیف می کند. این ابرداده برای اعتبار سنجی استفاده می شود. تصویر سیستم شامل میکروکرنل، درایورها و برنامه های کاربردی مورد نیاز برای اجرای سیستم و ابرداده آنها می باشد. ماژول‌های تأیید خارجی (تأییدکننده‌ها) می‌توانند قبل از استفاده سیستم از تصویر سیستم، بررسی‌های زیادی را انجام دهند، به ویژه برای اطمینان از عدم تضاد درایورها در منابع. تایید شامل سه مرحله است:

  • کامپایلر ایمنی نوع، مالکیت شی، پروتکل های لوله و غیره را بررسی می کند.
  • کامپایلر Microsoft Intermediate Language را تولید می کند، یک بایت کد قابل حمل شبیه JVM که می تواند توسط یک تایید کننده بررسی شود.
  • MSIL به کد x86 برای کامپیوتر میزبان کامپایل شده است، که می تواند بررسی های زمان اجرا را به کد اضافه کند (اما کامپایلر فعلی این کار را نمی کند).

برای دستیابی به قابلیت اطمینان بالاتر، می توانید از ابزارهایی استفاده کنید که به شما امکان می دهد خطاها را در خود تأیید کننده ها تشخیص دهید.

هدف هر یک از چهار تلاش مختلف برای بهبود قابلیت اطمینان سیستم عامل جلوگیری است درایورهای نادرستدستگاه ها باعث از کار افتادن سیستم شدند.

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

دو رویکرد دیگر جایگزین سیستم عامل های قدیمی با سیستم عامل های قابل اطمینان تر و ایمن تر می شوند. رویکرد چند سرور هر درایور و جزء سیستم عامل را در یک فرآیند کاربر جداگانه اجرا می کند و به آنها اجازه می دهد با استفاده از مکانیسم IPC میکروکرنل ارتباط برقرار کنند. در نهایت، Singularity، رادیکال ترین رویکرد، از یک زبان ایمن نوع، یک فضای آدرس واحد، و قراردادهای رسمی استفاده می کند که به شدت آنچه را که هر ماژول می تواند انجام دهد محدود می کند.

سه پروژه از چهار پروژه تحقیقاتی - مجازی سازی مبتنی بر L4، Minix 3 و Singularity - از میکروکرنل ها استفاده می کنند. هنوز مشخص نیست که کدام یک از این رویکردها در آینده گسترده خواهد شد (مگر اینکه راه حل دیگری باشد). با این حال، جالب است بدانید که میکروکرنل ها، برای مدت طولانیبه دلیل عملکرد پایین‌تر در مقایسه با هسته‌های یکپارچه غیرقابل قبول در نظر گرفته می‌شوند، ممکن است به دلیل قابلیت اطمینان بالقوه بالاتر آن‌ها که از نظر بسیاری مهم‌تر از عملکرد است، دوباره به سیستم عامل بازگردند. چرخ تاریخ چرخیده است.

اندرو تاننبام ( [ایمیل محافظت شده]) - استاد انفورماتیک در Vrije Universiteit (آمستردام، هلند). جوریت هردر ( [ایمیل محافظت شده]) دانشجوی کارشناسی ارشد گروه سیستم های کامپیوتری دانشکده انفورماتیک در دانشگاه Vrije است. هربر بوس ( [ایمیل محافظت شده]) - دانشیار گروه سیستم های کامپیوتری دانشکده انفورماتیک دانشگاه Vrije.

ادبیات
  1. V. Basili، B. Perricone، خطاها و پیچیدگی نرم افزار: یک تحقیق تجربی، Comm. ACM، ژانویه 1984.
  2. T. Ostrand, E. Weyuker, The Distribution of Faults in a Large Industrial Software System, Proc. بین المللی علامت. تست و تحلیل نرم افزار، ACM Press، 2002.
  3. A. Chou et al., An Empirical Study of Operating System Errors, Proc. هجدهمین علامت ACM. اصول سیستم عامل، ACM Press، 2001.
  4. M. Swift, B. Bershad, H. Levy, Improving the Reliability of Commodity Operating Systems, ACM Trans. سیستم های کامپیوتری، جلد. 23، 2005.
  5. M. Swift et al., Recovering Device Drivers, Proc. علامت ششم طراحی و پیاده سازی سیستم عامل، ACM Press، 2003.
  6. R. Goldberg, Architecture of Virtual Machines, Proc. کارگاه سیستم های کامپیوتر مجازی، چاپ ACM، 1973.
  7. J. LeVasseur et al., Unmodified Device Driver Reuse and Improved System Dependability via Virtual Machines, Proc. علامت ششم طراحی و پیاده سازی سیستم عامل، 2004.
  8. J. Liedtke, On Microkernel Construction, Proc. پانزدهمین علامت ACM. اصول سیستم عامل، ACM Press، 1995.
  9. H. Hartig و همکاران، The Performance of Microkernel-Based Systems, Proc. علامت شانزدهم ACM. اصول سیستم عامل، ACM Press، 1997.
  10. J.N. هردر و همکاران، برنامه نویسی سیستم مدولار در MINIX 3، Usenix. www.usenix.org/publications/login/2006-04/openpdfs/herder.pdf.

Andrew Tanenbaum، Jorrit Herder، Herbert Bos، آیا می‌توانیم سیستم‌های عامل را قابل اعتماد و ایمن کنیم؟، IEEE Computer، می، 2006. IEEE Computer Society، 2006، تمامی حقوق محفوظ است. تجدید چاپ با اجازه.

آیا به دنبال امن ترین توزیع لینوکس هستید که سیستم عامل شما را ایمن و ایمن نگه دارد؟

در اینجا 15 ایمن ترین توزیع لینوکس برای کاربران مرتبط با حریم خصوصی و امنیت آورده شده است.

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

15 ایمن ترین توزیع لینوکس

تعداد کاربران لینوکس هر روز در حال افزایش است. ویژگی آنها این است که نسبت به سایر سیستم عامل ها کمتر رایج هستند. و با این حال آنها در حال کار بر روی فنی تر شدن در روزهای آینده هستند.

در اینجا لیستی از امن ترین توزیع های لینوکس که "به ویژه بر امنیت لینوکس متمرکز شده اند" آورده شده است. این بدان معنی است که این مقاله به طور خاص برای تمرکز بر امنیت شارپ نوشته شده است که بیشتر برای کاربر لینوکس نگران کننده است.

1. Cubes OS | لینوکس Qubes

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

فرض کنید نرم افزار مخرب را بدون اینکه فوراً متوجه شوید چه نوع نرم افزاری است دانلود کرده اید؟ یا نمی دانید که ایمن است یا نه. نگران نباشید، اینجاست که سیستم عامل Qubes وارد عمل می شود. Cubes سایر فایل های شخصی شما را از بدافزار جدا می کند بدون اینکه به خطر بیفتد. باحال است، اینطور نیست؟ لطفا توجه داشته باشید: این سیستم عامل برای کاربران پیشرفته مناسب است. بنابراین، اگر مبتدی هستید، مدیریت این سیستم برای شما دشوار خواهد بود.

2. دم لینوکس

Tails یکی از بهترین و امن ترین توزیع های لینوکس پس از Parrot Security OS است. Tails اولین بار در سال 2009 منتشر شد. این سیستم عامل به طور خاص برای رایانه های شخصی طراحی شده است. اگر به دنبال سیستم‌عاملی هستید که هنگام مرور اینترنت از شما محافظت کند، Tails انتخاب شماره یک است.

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

سیستم عامل Tails از فضای هارد دیسک استفاده نمی کند، فقط از فضای مورد نیاز شما در رم استفاده می کند، اما با خاموش شدن سیستم به طور خودکار حذف می شود. می توان از آن به عنوان DVD زنده یا USB زنده استفاده کرد. راه اندازی از درایو فلش راحت تر خواهد بود و نه از DVD. با این حال، برخی از مشکلات با این سیستم عامل وجود دارد. اخیراً اکثر کاربران ادعا می کنند که Tails برای نصب به 2 عدد USB نیاز دارد که خسته کننده است.

3. Parrot Security OS

Parrot Security OS توسط FrozenBox توسعه یافته و در سال 2013 منتشر شده است. این نرم افزار زمانی که صحبت از امنیت و حریم خصوصی سیستم عامل کامپیوتر شما می شود، یک تغییر بازی است. Parrot Security OS به طور خاص برای آزمایش یک حمله شبیه سازی شده مجاز به سیستم رایانه شما طراحی شده است که به شما کمک می کند آسیب پذیری های سیستم خود را ارزیابی کنید، خواه به اندازه کافی قوی باشد یا نه.

این دستگاه دارای یک آزمایشگاه کاملاً قابل حمل است که سیستم شما را از هرگونه بیماری ناخواسته در هنگام وب گردی، مرور، بازی کردن و غیره ایمن نگه می دارد. باز هم اگر متخصص پزشکی قانونی هستید، پس این سیستم عامل بهترین ...

4. کالی لینوکس

کالی لینوکس یک توزیع لینوکس مبتنی بر دبیان از پیش نصب شده است که به طور ویژه برای تست قلم و کارشناسان قانونی طراحی شده است. Kali با بسته‌ای از ابزارها مانند -Aircrack-ng، Ettercap، Foremost، Wireshark Kismet، Maltigo و بسیاری دیگر ارائه می‌شود که از بسیاری جهات مانند استفاده از شبکه یا برنامه قربانی، کشف شبکه یا تعیین آدرس IP هدف به شما کمک می‌کنند. نشانی.

Kali نه تنها شامل Armitage، یک ابزار گرافیکی حمله سایبری است که به شما امکان می‌دهد غذا بخورید و بهره‌برداری کنید، توصیه‌های بهره‌برداری را دریافت کنید و قابلیت‌های پیشرفته مقابله با Metasploit Framework. Kali Linux یکی از امن ترین توزیع های لینوکس برای توسعه دهندگان در نظر گرفته می شود.

مانند Tails، این سیستم‌عامل نیز می‌تواند به‌عنوان یک DVD زنده یا USB راه‌اندازی شود و استفاده از آن نسبت به سایر سیستم‌عامل‌های موجود آسان‌تر است. چه از 32 یا 62 سیستم عامل استفاده کنید، لینوکس کالی را می توان در هر دو استفاده کرد. این سیستم عامل به حداقل 512 مگابایت رم و 10 گیگابایت فضای هارد دیسک نیاز دارد.

5. Wanyx | لینوکس Whonix

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

این سیستم عامل توسط دو برنامه اصلی توسعه یافته است. یک ایستگاه کاری و دیگری Gateway است. دروازه در اینجا به عنوان یک واسطه عمل می کند و تمام اتصالات را مجبور می کند از طریق شبکه Tor عبور کنند. بنابراین امکان لو رفتن آدرس IP وجود ندارد و سیستم عامل Whonix به این ترتیب از شما محافظت می کند.

6. گسسته | لینوکس گسسته

شاید شما سعی می کنید داده های خود را ایمن نگه دارید و همچنان پیدا کنید بهترین توزیعامنیت اتاق عمل شما سیستم های لینوکس. بگذار ترس هایت از بین بروند در اینجا شما سیستم عامل Linux Discreete را دارید که گفته می شود یکی از امن ترین توزیع های لینوکس برای محافظت از داده های ارزشمند شما است.

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

7. Linux Kodachi | کوداچی

آیا دوست دارید هنگام گشت و گذار در اینترنت کاملاً ناشناس بمانید؟پس کوداچی لینوکس یکی از بهترین و امن ترین توزیع های لینوکس است که دوست دارید داشته باشید. بسیاری از کاربران می گویند که این امن ترین توزیع لینوکس است که تا به حال داشته اند. من شخصاً هرگز تست نکرده ام. این سیستم عامل با Tor، VPN و DNSCrypt ارائه می شود و به راحتی می توان آن را از DVD یا USB استیک بوت کرد.

هنگام آنلاین شدن می توانید کشور خروجی مسیر را انتخاب کنید. این سیستم عامل شامل بسیاری از برنامه های کاربردی مفید دیگر مانند Pidgin Internet Messenger Transmission VirtualBox Geany، FileZilla و بسیاری دیگر می باشد. در نهایت باید بگویم که این سیستم عامل همه چیزهایی را که برای محافظت از کاربر نیاز دارید به همراه دارد.

8. BlackArch Linux

BlackArck Linux یک توزیع امنیتی جدید لینوکس است که مخصوص تست قلم و امنیت طراحی شده است. این تعداد زیادی ابزار، دو برابر کالی لینوکس، ارائه می دهد.

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

9. Heads OS

Heads یک توزیع امنیتی رایگان مبتنی بر لینوکس گنو است. این سیستم عامل به طور قابل توجهی کوچکتر از سایرین است و مدیریت آن آسان تر است. مدیران فقط از نرم افزار رایگان استفاده می کنند، به این معنی که این سیستم عامل برای آزادی کاربر و جامعه ارزش بیشتری قائل است.

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

10. زیرگراف | سیستم عامل زیرگراف

مانند Tails، Subgraph Operating System نیز یک سیستم عامل مبتنی بر دبیان است که از مشاهده و تداخل دشمنان پیچیده اینترنت جلوگیری می کند. این سیستم عامل برای همه است. محیط دسکتاپ مبتنی بر GNOME آن فوق العاده کاربرپسند است.

صحبت از امنیت و حریم خصوصی، این توزیع امنیتی با کنترل دسترسی هوشمند از حمله جلوگیری می کند. جلوگیری از سوء استفاده های خراب حافظه با پچ پک (پچست grsecurity و Pax). مجموعه پچ Grsecurity بسته امنیتی مانند حفاظت از فضای آدرس، ممیزی پیشرفته و کنترل فرآیند را ارائه می دهد

11.IprediaOS

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

برخلاف سایر توزیع‌ها، IprediaOS از TORRENTS پشتیبانی می‌کند. این سیستم‌عامل سریع‌تر از Tor رقابت می‌کند، حتی اگر می‌خواهید از آن در رایانه قدیمی خود استفاده کنید، این سیستم‌عامل روی این سیستم نیز به خوبی کار می‌کند.

12. سیستم عامل خالص

اگر به دنبال یک توزیع امنیتی کاربر پسند هستید که به شما امکان می دهد آزادانه آن را تغییر دهید. سپس PureOS است. PureOS نرم افزار رایگانی است که مجموعه ای امنیتی شامل موتور جستجوی Duck Duck Go را ارائه می دهد.

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

13. Openwall GNU/*/Linux

Openwall یک سیستم عامل لینوکس مبتنی بر توزیع امن است که به طور خاص برای سرورها و برنامه ها طراحی شده است. Openwall امنیت را با کاهش ایرادات در اجزای نرم افزار خود با وصله Openwall (که بیشتر به عنوان (وصله پشته نه exec stack شناخته می شود) فراهم می کند. این یک پلت فرم سرور رایگان است که برای انجام این کار طراحی شده است.

14 آلپاین لینوکس

آلپاین لینوکس امن ترین است توزیع لینوکسبر اساس mus libc و BusyBox. همانطور که فکر می کنید سبک است. سایزش کن سیستم پایهحدود 5 مگابایت است که کمتر از سایر سیستم های موجود است. و به همین دلیل است که این توزیع لینوکس بسیار محبوب است.

یکی دیگر از کامپوننت های BusyBox شامل ابزارهای زیادی است و تعداد کمی از آنها bunzip2، bzip2، less، lzma، unlzma، vi، wget هستند. این ابزارها در تصویر پایه Alpine هستند که در تصویر پایه دبیان وجود ندارد. این مدیر برنامه APK بسیار سریعتر از سایرین است و استفاده از آن بسیار آسان است.

15. ظرف | Container Linux (CoreOS سابق)

اگر دوست دارید بین ماشین‌ها کار کنید و ماشین‌ها را بدون خرابی به‌روزرسانی کنید، Container Linux (CoreOS سابق) توزیع لینوکس شما خواهد بود. Container Linux یک توزیع سبک وزن لینوکس است که برای خوشه ها و سرورها طراحی شده است. این توزیع امنیتی این روزها محبوب شده است زیرا استقرار، مدیریت و اجرای کانتینرها آسان است. قبلاً CoreOS فقط از پلتفرم Dockers پشتیبانی می کرد، اما اخیراً از rkt (راکت) به عنوان جایگزینی برای Docker پشتیبانی می کند. این نرم افزار در صورت نیاز به آپدیت به صورت خودکار به روز می شود که امنیت را افزایش می دهد.

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

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

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

یک توزیع مبتنی بر اوبونتو که برای تست نفوذ طراحی شده است. به دلیل استفاده از XFCE به عنوان یک مدیر پنجره استاندارد، بسیار سریع کار می کند.

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

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

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

کالی

احتمالاً محبوب ترین توزیع تست نفوذ مبتنی بر Debian Wheezy است. توسعه یافته توسط Offensive Security Ltd و ادامه پروژه قبلی BackTrack Linux است.

Kali به صورت تصاویر ISO 32 و 64 بیتی موجود است که می توان آنها را روی یک USB یا CD رایت کرد یا حتی روی هارد دیسک یا درایو حالت جامد نصب کرد. این پروژه همچنین از معماری ARM پشتیبانی می کند و حتی می تواند بر روی یک کامپیوتر تک برد Raspberry Pi اجرا شود و همچنین شامل تعداد زیادی ابزار تجزیه و تحلیل و تست است. دسکتاپ اصلی Gnome است، اما Kali به شما امکان می دهد یک تصویر ISO سفارشی با محیط دسکتاپ متفاوت ایجاد کنید. این توزیع بسیار قابل تنظیم حتی به کاربران اجازه می دهد تا هسته لینوکس را مطابق با نیازهای خاص خود تغییر داده و بازسازی کنند.

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

در دسترس برای ماشین های 32 بیتی و 64 بیتی، این یک توزیع تست نفوذ مبتنی بر لینوکس جنتو است. کاربران جنتو می توانند به صورت اختیاری پنتو را نصب کنند که در بالای سیستم اصلی نصب می شود. توزیع مبتنی بر XFCE است و از ذخیره تغییرات پشتیبانی می کند، بنابراین وقتی درایو USB قطع شود، همه تغییرات اعمال شده برای جلسات بعدی ذخیره می شوند.

ابزارهای داخلی به 15 دسته مختلف مانند Exploit، Fingerprint، Cracker، Database، Scanner و غیره تقسیم می شوند. بر اساس جنتو، توزیع مجموعه ای از ویژگی های امنیتی را از جنتو به ارث برده است که به شما امکان می دهد تنظیمات امنیتی اضافی و کنترل دقیق تری روی توزیع انجام دهید. می‌توانید از ابزار Application Finder برای کشف سریع برنامه‌های واقع در دسته‌های مختلف استفاده کنید.

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

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

با این حال، این پروژه شامل تعداد زیادی ابزار تهاجمی است که در سایر توزیع‌های تست نفوذ یافت می‌شود، و همچنین ابزارهای نظارت بر شبکه مانند ابزار شناسایی بسته Wireshark و ابزار تشخیص نفوذ Suricata.

Security Onion بر اساس XFCE ساخته شده است و شامل تمام برنامه های ضروری موجود در Xubuntu است. Security Onion برای آماتورها در نظر گرفته نشده است، بلکه برای متخصصان با تجربه ای که سطح معینی از دانش در زمینه نظارت بر شبکه و جلوگیری از نفوذ دارند در نظر گرفته شده است. خوشبختانه پروژه به طور مداوم همراه است راهنمای دقیقو آموزش های ویدئویی برای کمک به نرم افزارهای تعبیه شده پیچیده.

کین

حساب پیش فرض: root:blackarch. BlackArch بیش از 4 گیگابایت حجم دارد و دارای چندین مدیر پنجره مختلف از جمله Fluxbox، Openbox، Awesome است.

برخلاف سایر توزیع‌های تست نفوذ، BlackArch می‌تواند به عنوان یک ابزار حفظ حریم خصوصی پیشرفته نیز استفاده شود. علاوه بر ابزارهای مختلف تجزیه و تحلیل، نظارت و آزمایش، توزیع همچنین شامل ابزارهای ضد ردیابی، به ویژه sswap و ropeadope برای پاک کردن ایمن محتویات فایل swap و گزارش های سیستم، و بسیاری دیگر از برنامه های حفظ حریم خصوصی است.

توسعه یافته توسط شبکه برنامه نویسی و امنیت فناوری اطلاعات ایتالیا Frozenbox، مبتنی بر دبیان، می تواند برای تست نفوذ و حفظ حریم خصوصی استفاده شود. مانند BlackArch، Parrot Security OS یک توزیع انتشاری است. ورود پیش فرض برای یک جلسه Live root:toor است.

تصویر زنده ای که نصب می کنید چندین گزینه بوت را ارائه می دهد، مانند حالت مداوم یا حالت مداوم با رمزگذاری داده ها. علاوه بر ابزارهای تحلیلی، این توزیع شامل چندین برنامه برای ناشناس ماندن و حتی نرم افزارهای رمزنگاری می شود.

محیط دسکتاپ قابل تنظیم Mate یک رابط جذاب ارائه می دهد و سیستم عامل امنیتی Parrot حتی بر روی ماشین هایی با رم 2 گیگابایتی بسیار سریع اجرا می شود. چندین ابزار طاقچه در سیستم تعبیه شده است، به عنوان مثال، apktool ابزاری برای اصلاح فایل های APK است.

برای کاربرانی که به حفظ حریم خصوصی اهمیت می دهند، توزیع دسته خاصی از برنامه ها را ارائه می دهد که کاربران می توانند آن را فعال کنند حالت ناشناسگشت و گذار در اینترنت (استفاده می شود شبکه های Tor) با یک کلیک.

JonDo

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

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

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

پنج سیستم عامل ایمن:

بنابراین انتخاب شما برای سیستم عامل امن، قطعا باید به سمت لینوکس ساخته شود، به چند دلیل:

  1. اولا: ویندوز هرگز برای چنین مقاصدی طراحی نشده بود، همیشه از چشمان بیرونی بسته بود (همه کد ویندوزرمزگذاری شده است، ما نمی توانیم بفهمیم داخل آن چیست). در تئوری، ویندوز می تواند برای استفاده ایمن، اما هنوز کسی این کار را انجام نداده است و حتی اگر این کار را انجام دهید، زمان زیادی را صرف آن خواهید کرد. و لینوکس، به دلیل باز بودن، به شما اجازه می دهد هر کاری که می خواهید با آن انجام دهید. علاوه بر این، چنین افرادی قبلاً پیدا شده اند و نسخه های ویژه ای از سیستم عامل لینوکس را ساخته اند، که کاملاً ایمن هستند و شما را ناشناس می کنند، فقط یک "کیت جاسوسی".
  2. ثانیا: فناوری سی دی زنده - لینوکس می تواند خیلی سریع بدون نصب آن روی هارد دیسک راه اندازی و اجرا شود. شما می توانید از چنین سیستم عامل امنی استفاده کنید دیسک نورییا درایو USB (درایو فلش) و آن را در جیب خود حمل کنید. "در یک چشم به هم زدن" می توانید بدون توجه به سیستم عامل اصلی نصب شده روی رایانه که باید از آن استفاده کنید، یک سیستم عامل با دسکتاپ آماده و برنامه های کاربردی مرتبط برای کار در اینترنت دریافت کنید.

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

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

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

رتبه دهم - ویندوز 10

علیرغم این واقعیت که در این رتبه بندی ما از تعداد زیادی نسخه از ویندوز شناخته شده انتزاعی می کنیم، نمی توان یکی از موفق ترین و سریع ترین نسخه ها - ویندوز 10 را جدا کرد. تعجب نکنید که ما ویندوز را در جایگاه دهم قرار دادیم. . بله، این محبوب ترین است، اما دقیقا به همین دلیل است که یکی از هک شده ترین ها است و همیشه امن نیست. و همچنین هزینه دارد، مگر اینکه، البته، کیت توزیع آن را از سایت های دزدی دانلود کرده باشید.

استفاده از این سیستم بسیار آسان است و هم برای دوستداران رابط مترو و هم برای کسانی که به منوی شروع معمول عادت دارند جذاب خواهد بود. مونتاژ رسمی همه برنامه های لازم برای شروع را دارد، از جمله مرورگر سریع جدید MS Edge.

مزایای ویندوز 10:
  • کلید "START" را برگرداند. در نسخه هشتم سیستم عامل، توسعه دهندگان به یک رابط کاشی شده تکیه کردند که کاربران را خوشحال نکرد. اکنون صاحب رایانه شخصی می تواند به طور مستقل انتخاب کند که چگونه کار کردن با صفحه اولیه برای او راحت تر است.
  • ویندوز 10 آخرین توسعه مایکروسافت است. این بدان معنی است که تمام نیروهای شرکت دقیقاً در جهت بهبود و حفظ عملکرد سیستم عامل هستند. بسته های خدماتی برای خدمات امنیتی تقریباً هر هفته منتشر می شوند. مایکروسافت در از بین بردن سریع ویروس ها نیز خود را به خوبی نشان می دهد. صاحبان رایانه های دارای مجوز ده بارها خاطرنشان کرده اند که به لطف به روز رسانی سریع توسعه دهندگان موفق به جلوگیری از توزیع انبوه بدافزار شده اند.
  • دسترسی دستیار صوتیکورتانا با سرویس تشخیص گفتار داخلی، کار با جستجو حتی ساده تر خواهد بود.
  • فایروال قابل اعتماد با استفاده از Microsoft Defender داخلی، نیازی به نصب اضافی وجود ندارد برنامه های آنتی ویروس. فایروال کار بسیار خوبی در شناسایی تهدیدات انجام می دهد، به سرعت اجرای کدهای مخرب را مسدود می کند و به شما امکان می دهد سیستم را اسکن کنید.
  • شروع سریع. سیستم عامل بدون توجه به عملکرد رایانه شخصی شما در کمتر از 15 ثانیه راه اندازی می شود.
  • راه اندازی چند دسکتاپ کاربران می توانند تعداد نامحدودی صفحه اصلی اضافه کنند و با استفاده از کلیدهای میانبر به راحتی بین آنها جابجا شوند.

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

معایب ویندوز 10:
  • ردیابی کاربر مایکروسافت این را پنهان نمی کند ویندوز جدید 10 قادر به ردیابی اقدامات کاربران است. این سیستم مرتباً رایانه شخصی را برای استفاده از محصولات نرم افزاری غیرقانونی مایکروسافت اسکن می کند. اکنون هک شده به سادگی از رایانه شخصی حذف می شود. این راز نیست که سیستم عامل اطلاعات مربوط به منابع بازدید شده و عکس های دسکتاپ را برای توسعه دهنده ارسال می کند. در صورت تمایل، تمام این گزینه ها و مجوزها را می توان در تنظیمات غیرفعال کرد.
  • سیاست استفاده حتی پس از مدت ها از انتشار، توسعه دهندگان هنوز در مورد سیاست توزیع تصمیم نگرفته اند. در سال اول، دارندگان مجوز ویندوز 7/8 می توانستند به صورت رایگان به 10 ارتقا دهند. امروز هزینه دارد (بسته به مونتاژ از 8000 تا 14000 روبل). در همان زمان، حفره‌ای پیدا شده است که از طریق آن می‌توانید با استفاده از ابزار Accessibility داخلی، آن را به‌صورت رایگان ارتقا دهید.

مقام نهم - ROSA

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

ROSA OS یک سیستم کاملا رایگان است. هیچ خریدی در خود سیستم عامل نیز وجود ندارد. در دسترس بودن کیت توزیع به گسترش سیستم نه تنها در بین آنها کمک کرد کاربران عادیبلکه در بین شرکت های بزرگ. همانطور که می دانید، ROSA هم در بخش های وزارت دفاع فدراسیون روسیه و هم در بسیاری از شرکت های خصوصی در سراسر کشور استفاده می شود.

مزایای ROSA OS:
  • همه چیز برای کار آماده است. پس از نصب سیستم، نیازی به نصب درایور و برنامه های اضافی. هر چیزی که نیاز دارید از قبل در سیستم موجود است. در صورت تمایل می توانید نرم افزار را از هر سایت تخصصی دانلود کنید. همانطور که می دانید، لینوکس تقریباً صفر درصد برنامه های ویروسی دارد، بنابراین نصب از منابع شخص ثالث هیچ خطری ایجاد نمی کند.
  • حالت آزمون. برای کسانی که هنوز تصمیم نگرفته اند به طور کامل به سیستم عامل ROSA OS تغییر کنند، توسعه دهندگان یک حالت مهمان ارائه کرده اند. می توانید یک درایو فلش USB نصب معمولی ایجاد کنید و از آن بوت کنید. سیستم عامل نصب نمی شود و کاربر می تواند با رابط کاربری و عملکرد آن آشنا شود.
  • رابط کاربری راحت چیدمان همه عناصر بسیار متفکرانه است. حتی یک مبتدی با توسعه یک سیستم جدید در 10-15 دقیقه کنار می آید. همه برنامه ها به راحتی به تب ها در دسکتاپ تقسیم می شوند. می توانید برنامه هایی را که اغلب استفاده می کنید به جعبه ابزار پین کنید. صفحه اصلیشبیه عملکرد ویندوز است.
  • محافظت در برابر ویروس. خطر دانلود بدافزار بسیار کم است، بنابراین می توانید به راحتی هر سایتی را برای نصب برنامه ها و بازی ها مرور کنید. اگر ویروسی در آنها "جاسازی" شده باشد، فقط در ویندوز یا سایر سیستم عامل های رایج تر کار می کند.

از کاستی های سیستم عامل ROSA، تعداد کمی از برنامه ها را می توان تشخیص داد. همه نرم افزارهای ویندوز دارای آنالوگ برای هسته لینوکس نیستند.

مقام هشتم - FreeBSD

FreeBSD یک سیستم عامل است که برای کار با سرورها و در حال حاضر رایانه های شخصی رومیزی معمولی بهبود یافته است. بیش از 30 سال از آغاز اولین توسعه این سیستم می گذرد. امروزه FreeBSD یک سیستم عامل ساده، قابل اعتماد و راحت است که جایگزین خوبی برای ویندوز آشنا خواهد بود.

مزایای FreeBSD:
  • مجوز رایگان و دانلود از شبکه؛
  • منبع باز به شما امکان می دهد سیستم را تغییر دهید.
  • در حال گسترش. FreeBSD توسط بسیاری از سایت های محبوب در جهان برای حفظ سمت سرور استفاده می شود - Webmoney، Aliexpress، ASOS و دیگران.
  • حفاظت و قابلیت اطمینان. شایان ذکر است که منطق خوب فکر شده سیستم عامل، مصرف منطقی منابع رایانه شخصی. FreeBSD حتی در ماشین های ارزان قیمت سریع است.
  • انتخاب بزرگ نرم افزار. بیش از 4000 توسعه‌دهنده از سراسر جهان در توسعه نسخه‌های برنامه‌های FreeBSD مشارکت دارند. در نتیجه، نسخه های فعلیاز همه برنامه های محبوب به سرعت در دامنه عمومی ظاهر می شود.
معایب FreeBSD:
  • سختی تنظیم. این دلیل اصلی عدم محبوبیت FreeBSD در بین کاربران عادی است. پس از پرداختن به اولین تنظیمات سیستم عامل، سیستمی دریافت خواهید کرد که بسیار سریعتر از ویندوز کار می کند.
  • مشکل در به دست آوردن اسناد. اگر می خواهید مدیریت سایت خود را در FreeBSD تنظیم کنید، باید برای جستجوی اسناد مدیریت وقت بگذارید.

برای اطمینان از امنیت، FreeBSD از تمام سطوح حفاظتی لازم استفاده می کند: مکانیسم های رمزگذاری، کنترل احراز هویت، بررسی ترافیک ورودی و خروجی، نظارت منظم بر سیستم برای کدهای مخرب.

مکان هفتم - فدورا

فدورا یک سیستم عامل لینوکس مانند است که دارای نرم افزار رایگان است. لازم به ذکر است که درایورهای مورد استفاده ممکن است منبع بسته باشند و برخی از انواع نرم افزارها ممکن است دارای مجوز محدود باشند (مثلا کدک های پخش رسانه).

مزایای فدورا:
  • استفاده از محیط Gnome توسعه Gnome برای فدورا یکی از موفق ترین پیاده سازی های دسکتاپ در سیستم عامل ها در نظر گرفته می شود.
  • آسان برای استفاده. توسعه دهندگان یک طراحی ساده و زیبا برای دسکتاپ، تب های برنامه ایجاد کرده اند. پیمایش سریع بین برنامه های باز و پوشه ها به لطف نوار ابزار کناری امکان پذیر است.
  • برنامه های از پیش نصب شده پس از نصب، به بسته نرم افزاری برای شروع کامل کار با فدورا (مرورگر وب، اکسپلورر، نمایشگر تصویر، نرم افزار مدیریت ماشین مجازی و غیره) دسترسی خواهید داشت.
  • نصب سریع برنامه های جدید. این نرم افزار از طریق "Application Center" به همان روشی که در یک تلفن هوشمند معمولی نصب می شود.
  • امکان به روز رسانی "از طریق هوا". می توانید با استفاده از ابزار نرم افزار Gnome نرم افزار جدید سیستم عامل را دانلود و نصب کنید.
معایب فدورا:
  • در میان توسعه دهندگان، فدورا یک "محل آزمایش رایگان" برای تست نرم افزار در نظر گرفته می شود. همه برنامه ها سریعتر ظاهر می شوند، اما احتمال ناتمام و ناپایدار شدن نرم افزار زیاد است.

مکان ششم - سیستم عامل ابتدایی

Elementary OS جایگزینی سریع و در عین حال کاربردی برای ویندوز آشنا است. توسعه دهندگان سیستم را به عنوان یک محیط ساده برای کار قرار می دهند که به طور منطقی از نام سیستم عامل پیروی می کند.

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

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

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

اگر تو داری کامپیوتر ضعیفیا می‌خواهید یک سیستم‌عامل «سبک» اضافی نصب کنید، راحت باشید که سیستم عامل ابتدایی را انتخاب کنید.

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

سیستم عامل کروم سیستم عامل منبع باز گوگل است. ویژگی اصلی سیستم استفاده از هسته ترکیبی (هسته لینوکس در ترکیب با سرویس های گوگل) است.

این سیستم عامل کاملاً رایگان توزیع می شود و محبوبیت آن در بین کاربران به دلیل آن است کار سریعو طراحی زیبا

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

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

از جمله معایب سیستم عامل کروم، نیاز به اتصال مداوم به اینترنت است. استفاده از آن توصیه می شود شبکه وای فاییا اتصال اترنت در غیر این صورت، نمی توانید با خدمات وب کار کنید.

مقام چهارم - OpenSuse

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

کاربر OpenSuse می تواند سیستم را به تنهایی شخصی سازی کند. برای انجام این کار به مهارت های برنامه نویسی نیاز ندارید. تغییر رابط برای انتخاب محیط دسکتاپ مورد علاقه شما است. در حالی که اکثر بیلدهای لینوکس فقط با یک محیط دسکتاپ کار می کنند، OpenSuse از چندین ابزار استایلینگ به طور همزمان پشتیبانی می کند. محبوب ترین آنها KDE و XFCE هستند.

مزایای OpenSuse:
  • راه اندازی آسان. شما می توانید سیستم عامل را با یک برنامه YaST کنترل کنید. این ابزار به شما امکان می دهد تنظیمات مربوط به نحوه عملکرد OpenSuse را تنظیم کنید. کاربران می توانند به طور مستقل مخازن را اضافه کنند، گزینه های بوت، پارتیشن های سیستم عامل، تنظیمات اتصال شبکه و سایر پارامترها را مدیریت کنند.
  • توزیع رایگان نرم افزار OpenSuse تمام برنامه های مورد نیاز شما را اجرا می کند. سیستم به طور خودکار نرم افزار را برای رایانه شما تطبیق می دهد.
  • نصب آسان نرم افزار. برخلاف اکثر بیلدهای لینوکس، دیگر نیازی به نصب مخازن، اضافه کردن کلیدهای دسترسی و انجام تنظیمات پیچیده ندارید. کافی است برنامه های لازم را از منبع رسمی https://software.opensuse.org/ دانلود کرده و با یک کلیک نصب را کامل کنید.
معایب OpenSuse:
  • مونتاژ استاندارد فاقد کدک و نرم افزار درایور است که اولین راه اندازی سیستم عامل را پیچیده می کند.
  • کاربران به عملکرد ناپایدار مشتری تورنت استاندارد MonSoon توجه می کنند.

مقام سوم - اوبونتو

اوبونتو یک سیستم عامل جهانی است که بر روی موتور دبیان گنو/لینوکس اجرا می شود. این سیستم روی سرورها، رایانه های شخصی و لپ تاپ ها عالی کار می کند. ساخت استاندارد با یک محیط دسکتاپ که Unity را اجرا می کند ارائه می شود.

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

اوبونتو به صورت رایگان توزیع می شود. در مورد کاستی های سیستم، می توان کمبود را مشخص کرد وسایل سادهمهاجرت از سیستم عامل ویندوز همچنین، اوبونتو فاقد ابزارهای مؤثر کنترل والدین است، بنابراین نصب یک توزیع برای استفاده خانوادگی توصیه نمی شود.

مکان دوم - macOS

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

کیت توزیع سیستم به صورت رایگان توزیع می شود.

مزایای macOS:
  • قابلیت استفاده و پوسته گرافیکی. این سیستم عامل شناخته شده است بهترین سیستمبرای کاربران همه گزینه ها و تنظیمات بر روی توسعه سریع متمرکز شده اند. رابط کاربری چند زبانه، بصری و راحت است.
  • درجه حفاظت بالا. سیستم عامل مک در بین تمام سیستم عامل های مدرن ایمن ترین است. تعداد ویروس ها تقریباً صفر است و آنتی ویروس داخلی با تمام "آفات" مقابله می کند.
  • نصب و حذف آسان برنامه ها فقط کافی است میانبر را به سطل زباله منتقل کنید تا برنامه کاملا حذف شود. سیستم عامل مک همه کارها را برای کاربر انجام می دهد. شما نیازی به پاکسازی دستی هارد دیسک خود مانند ویندوز یا لینوکس ندارید.
  • کار پایدار به دلیل سازگاری بالای قطعات، کاربران با باگ، فریز یا خرابی در سیستم عامل مواجه نمی شوند.
معایب macOS:
  • سازگاری. اگر یک رایانه شخصی معمولی دارید و نه مکینتاش، فقط در صورتی می توانید یک سیستم عامل را نصب کنید که با اجزای سخت افزاری سازگار باشد. MacOS روی تعداد محدودی پردازنده اجرا می شود (عمدتا اینتل Coreو زئون)؛
  • برنامه های کمتری نسبت به همان ویندوز.

مقام اول - لینوکس مینت

لینوکس مینت به عنوان بهترین ساخت برای نصب بر روی رایانه های شخصی کاربر شناخته می شود. تمام نیازهای کاربر معمولی را برآورده می کند - به صورت رایگان توزیع می شود، با هر سخت افزاری سازگار است، منابع رایانه شخصی را به طور منطقی مصرف می کند و دارای یک رابط کاربر پسند است.

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

نتیجه

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

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