Какая операционная система для компьютера является многозадачной
Здравствуйте, Хабралюди!
Не многие знают и не многие помнят, с чего началась история компьютерного софта — операционные системы. Именно эту тему и выбрал школьник для своей МАН-овской работы (МАН — малая академия наук). Звучит оно так — эволюция операционных систем. Сразу скажу, что более 90% из Тырнета, но откопано далеко не в первых 2-х страницах поиска в Гугле.
Вступление
Компьютерные технологии в последнее время сделали значительный скачок вперед, и скоро невозможно будет представить наши жизни без помощи компьютера. Но без операционной системы компьютер — лишь набор микросхем. Именно на базе операционной системы работают все программы, которые мы используем, именно от ОС в первую очередь будет зависеть скорость и производительность нашего труда на компьютере.
Современный компьютер состоит из одного или нескольких процессоров, оперативной памяти, дисков, принтера, клавиатуры, мыши, монитора, сетевых интерфейсов и других различных устройств ввода-вывода. В итоге получается довольно сложная система. Если каждому программисту, который создает приложение, нужно будет разбираться во всех тонкостях работы всех этих устройств, то он не напишет ни строки кода. Более того, управление всеми этими компонентами и их оптимальное использование представляет собой очень непростую задачу. По этой причине компьютеры оснащены специальным уровнем программного обеспечения, который называется операционной системой, в задачу которого входит управление пользовательскими программами, а также управление всеми ресурсами железа.
Первая ОС
GM-НАА была первой операционной системой для компьютеров. Она была создана в 1955 году Робертом Патриком с General Motors и Оуэном Моком с North American Aviation. Она была основана на системном мониторе и работала на больших машинах. Основная функция GM-НАА — автоматическое выполнение новой программы, когда старая программа завершилась.
Возникновение Плато
В 1972 году была разработана система PLATO, которая имела ряд инноваций, таких как оранжевая плазменная панель. Она включала в себя память и функции растровой графики. Плазменный дисплей PLATO поддерживал возможность быстрой отрисовки векторных линий.Многие инноваций, ввела ОС PLATO, стали в дальнейшем фундаментом для разработки других компьютерных систем. Например, некоторые технологии были заимствованы и усовершенствованные компанией Apple.
Возникновение UNIX
Первая система UNIX была разработана в 1969 году в подразделении Bell Labs компании AT & T. С тех пор было создано большое количество различных UNIX-систем.Некоторые отличительные признаки UNIX-систем включают в себя:
1) Использование текстовых файлов для настройки и управления системой;
2) Широкое применение утилит, запускаемых в командной строке;
3) Взаимодействие с пользователем посредством виртуального устройства — терминала;
4) Представление физических и виртуальных устройств как файлов.
Идеи, заложенные в основу UNIX, оказали огромное влияние на развитие компьютерных операционных систем. В настоящее время UNIX-системы признаны одними из самых исторически важных ОС. Эта операционная система популяризирует идею иерархической файловой системы с произвольной глубиной вложенности.
Linux
Linux была создана в 1991 году Линусом Торвальдсом, финским студентом. Тот факт, что Линус сразу после создания ОС выложил исходный код своей ОС в Интернет, был решающим в дальнейшей судьбе Linux. Хотя в 1991 году Интернет еще не был так широко распространен, как в наши дни, зато пользовались им в основном люди, которые имеют достаточную техническую подготовку. И уже с самого начала Торвальдс получил несколько заинтересованных отзывов с предложением помочь в разработке, на что Линус ответил согласием, и уже через полгода к разработке присоединились сотни, потом сотни тысяч добровольных помощников.В силу того, что исходные коды Linux распространяются свободно и общедоступно, к развитию системы с самого начала подключилось большое число независимых разработчиков.
MS-DOS
MS-DOS — коммерческая операционная система фирмы Microsoft для IBM PC-совместимых персональных компьютеров. MS-DOS работает в режиме реального времени процессора x86. Обеспечивается единовременное выполнение только одной программы. MS-DOS была спроектирована так, чтобы пользователи могли легко заменить встроенный интерпретатор посторонними интерпретаторами командной строки, например 4DOS.
Windows, куда ж без нее
В 1985 году появляется первая версия Windows, которая не была оценена пользователями и ее проигнорировали. Возможно потому, что она всего лишь дополняла возможности DOS, будучи фактически графической оболочкой и надстройкой над комплектом MS-DOS.
Со временем, система Windows все более совершенствовалась, появилась полноценная графика, лишила пользователей от видения системных файлов, был преодолен барьер многозадачности, что позволяет запустить 2-3 программы.В 1992 году с момента возникновения Windows 3.1, по мнению многих пользователей и профессионалов, новые возможности ОС были оценены по достоинству. С версии Windos3.1 ОС получила начало 32-разрядная доступность к жесткому диску.
В 1998 году, 25 июня, новая OC Windows 98 вышла на рынок потребителей. Преимуществом, по сравнению с предыдущими образцами, были: полная интеграция с Интернетом, более совершенное управление интерфейсом, новый процессор Pentium II, графический портал AGP, шина USB.
Параллельно с предыдущими, началась разработка системы Windows XP, где окончательно решено отказаться от 16-разрядности в ядре системы, и перейти на 32-разрядную, с новой архитектурой и строением. Из преимуществ новой системы необходимо отметить следующее: это первая из систем с полностью настраиваемым интерфейсом, внедрением интеллектуального меню «Пуск». Также оптимально переработана панель — управляющая ПК.
Появление после Widows XP новой системы Windows Vista считают самым неудачным вариантом после всех предыдущих выпусков ОС. Ее представляют, как «генеральную репетицию» перед Windows 7. Казалось бы, неплохие качества новой системы должны были заинтересовать пользователей. Такие новшевства как встроенный поиск, трехмерность интерфейса Aero с красивыми заставками, хорошую защиту — ничего не помогло, все выполнено крайне неудачно, по мнению пользователей.
Windows 7 мало чем кроме нового интерфейса отменялась от Vista. Вариантов Windows 7 выпущено 5: Starter Edition, домашняя базовая, домашняя расширенная, профессиональная, максимальная.
Windows 8 в отличие от своих предшественников — Windows 7 и Windows XP использует новый интерфейс под названием Modern(Metro). Также в системе присутствует и рабочий стол, но уже в виде отдельного приложения.
Мобильные ОС
Сейчас все больший интерес пользователей привлекают смартфоны на различных операционных системах: Windows Phone, Boda, IOS. Самыми популярными из них являются IOS и AndroidOS.
IOS — мобильная операционная система, созданная на ядре Linux и разрабатываемой и выпускаемой американской компанией Apple. Была выпущена в 2007 году изначально — для iPhone и iPod Touch. Сейчас же она установлена на всех устройствах Apple. Такие нововведения как мобильный браузер Safari, визуальная голосовая почта, виртуальная клавиатура сделали IOS одной из наиболее популярных систем для смартфонов.
Андроид
Андроид — система, которая наиболее динамично развивается, разработанна для смартфонов(изначально для коммунникаторов(Айфон и его тачскрин изменили мнение Гугла)). Она является упрощенным вариантом аналогичных систем Windows и Linux, используемых на стационарных ПК и ноутбуках, ориентированной для тачскрина. Платформа Андроид состоит из операционной системы, интерфейса, связывающего ПО и мощных приложений.
Google Chrome OS (облачная ОС)
Chrome OS позиционируется как операционная система для различных устройств — от маленьких нетбуков до полноразмерных настольных систем и поддерживает x86-и ARM-архитектуры процессоров.
Новая ОС Google Chrome имеет открытый исходный код, основанный на оптимизированном Linux-ядре и управляется браузером Chrome.Главной особенностью будет доминирование веб-приложений над обычными функциями ОС. Ключевая роль при этом отводится браузеру.
Стратегия создания нового продукта подразумевает архитектуру, нетребовательную к аппаратным ресурсам персонального компьютера, используемого для выхода в сеть Интернет.
Все приложения, которые запускает система — веб-сервисы. Фактически, все действия, проходящих в на компьютере, выполняются в Интернете — нет необходимости устанавливать никаких офлайновых приложений. В связи с этим работа в Chrome OS не требует наличия у компьютера мощных ресурсов, ведь все процессы запускаются не на самом компьютере, а на серверах соответствующих служб.
Предсказания ворожеи
Операционная система пользователя становится чем-то похожим на веб-браузер, установленной на голое железо. Современный классический интерфейс (разработанный в Xerox PARC и впервые внедрен Apple почти 30 лет назад) отойдет в прошлое. Многие современные составных частей ОС станут просто не нужны, другие уйдут от пользователя и превратятся в сервисы API для программистов. Основным задачей ОС станет предоставление возможности запуска клиентской части облачных сервисов. И преимущества, которыми Microsoft в современном мире ОС, будет значительно уменьшены. Им придется придумывать новые способы привязки к себе пользователей и программистов в новом среде, более конкурентной, в сравнению с нынешней.
Многое зависит от решений, успехов и неудач крупных софтверных компаний, таких как Microsoft, Google. В отличие от той эволюции софта, которую мы наблюдали в девяностых и двухтысячных, новая эволюция все меньше зависет от производителей железа, и все больше — от производителей конечного ПО для пользователей.
За криворукость не ругать, если что — поправлять, автора не матюкать.
Многозадачная операционная система-это любой тип системы, которая будет способна одновременно запускать более одной программы.Большинство современных операционных систем настроены работать с несколькими программами одновременно, за исключением некоторых частных развитых систем, которые предназначены для использования в определенных деловых ситуациях.Многозадачная операционная система, управляет двумя или более задачами,и как правило,участвует для переключения ресурсов система взад и вперед между двумя запущенными процессами.
Многозадачная операционная система будет выполнять задачи,замораживать программу на несколько секунд, а затем выполнять задачи программы.Хотя этот подход и не создаёт короткое время задержки для оператора,это отставание,как правило,не более нескольких секунд,и всё-таки значительно более эффективны,чем одинокие старые задачи операционной системы.
Со временем,были разработаны популярные воплощения многозадачной операционной системы,в которых используется другой подход к распределению ресурсов для каждой активной программы.Создавалась ситуация,при которой практически не происходило никаких задержек на всех задачах,при условии,что драйверы оборудования имели адекватные ресурсы.Для конечного пользователя это означало,способность выполнять несколько задач одновременно,без каких-либо ожиданий системы для освобождения или перенаправления ресурсов,так как каждая задача должна быть выполнена в свою очередь.
Типичные операционные системы требуют больше ресурсов,чем простая операционная система,которые были общими для настольных компьютеров, в конце 1970-х и начале 1980-х годов.Новые операционные системы требуют платформы с большим количеством оперативной памяти (RAM), а также других типов виртуальной памяти.Если ресурсы не доступны для работы различных приложений,которые являются открытыми и ведутся,система может замедлится,или,возможно, даже завершить работу приложения,то есть если система настроена таким образом, чтобы предотвратить перегрузку.
Сегодня,большинство настольных компьютеров,ноутбуков и нетбуков имеют операционные системы работающие с каким то типом многозадачной операционной системы.Даже оборудование такое как банкоматы или терминалы,по-прежнему используют некоторые типы многозадачной операционной системы,используя серию программ для проверки баланса и для выполнения запроса,сделанного пользователями.Существуют также примеры,например билет в кино — система заглушки,способная выполнять несколько задач одновременно, включая размещение чеков за купленные билеты,и эта система даже создаёт и распределяет купленные билеты.
[share-locker locker_id=»ea68c52ad614b8635″ theme=»blue» message=»Если Вам понравилась эта статья,нажмите на одну из кнопок ниже.СПАСИБО!» facebook=»true» likeurl=»CURRENT» vk=»true» vkurl=»CURRENT» google=»true» googleurl=»CURRENT» tweet=»true» tweettext=»» tweeturl=»CURRENT» follow=»true» linkedin=»true» linkedinurl=»CURRENT» ][/share-locker]
Сегодня ЭВМ стали настолько повсеместными и привычными, настолько быстрыми и удобными, зачастую не требующими особых знаний для использования, что многие даже не задумываются, какой огромный путь прошла вычислительная техника за короткий период времени. Несмотря на то, что сегодня информатика является школьным предметом, работа вычислительной машины для многих остается немного таинственной.
Между тем, здесь нет никаких тайн. Просто интересующихся, для которых вычислительная техника не является профильной, останавливает уровень сложности современных систем. Но ведь и о сложном можно рассказывать довольно простым языком.
Сегодня поговорим о том, как ЭВМ могут заниматься одновременно таким большим количеством дел. О том, как ЭВМ выполняют одновременно сразу несколько задач. Даже в том случае, когда процессор всего один.
Я предполагаю, что читатель все таки знает информатику, хотя бы в небольшом объеме. Достаточно даже простого знакомства с школьным курсом информатики. При этом, мы будем рассматривать достаточно сложные вопросы и процессы. Но само рассмотрение сложным не будет.
Вопросы защиты и распределения памяти сегодня рассматриваться не будут.
Обратите внимание, что в статье рассматривается абстрактный процессор и абстрактная ОС! Не стоит проецировать это на одну из конкретных архитектур. Описывается принцип построения машины и ОС, а не одна из конкретных реализаций!
Однозадачная ОС
Когда то давно, когда ЭВМ были большими, дорогими, но умели немногое, ОС еще не существовало. Но в эти, почти былинные, времена мы погружаться не будем. Первые ОС были скорее "программами-мониторами", которые возможно еще помнят те, кто в 80-90-е годы прошлого века пользовался первыми бытовыми ЭВМ. А возможно и сам собирал такие.
Весь функционал таких ОС сводился к загрузке программы пользователя и передаче ей управления. И предоставлении пользовательской программе минимального сервиса, например, подпрограмм работы с внешними накопителями (диски/ленты/перфокарты) и устройствами взаимодействия с оператором.
Получив управление программа пользователя получала полный контроль над машиной и могла делать все, что угодно. Постепенно функционал ОС расширялся. Появились компиляторы и компоновщики, которые облегчили процесс разработки программ. Появились первые простые файловые системы, которые позволили работать с внешней памятью на логическом уровне, а не физическом.
Появились и средства управления и распределения памяти, которые ограничивали самоуправство прикладных программ. Уровень, на котором программа пользователя взаимодействовала с машиной, становился все более высоким. Теперь это была уже не физическая, а логическая машина, совокупность аппаратных средств и ОС.
ЭВМ были дорогими. Дорогим было и машинное время. Для запуска программ пользователям приходилось стоять в очереди к машине. При этом обнаружилось, что ЭВМ используются весьма неэффективно.
Быстродействующий процессор простаивал во время медленного ввода-вывода. Причем не только при ожидании окончания работы медленного считывателя перфокарт, но и дисковых накопителей. Диски гораздо быстрее перфокарт, но все равно крайне медленные, по сравнению с процессором.
И с этим нужно было что то делать. И первым получившим распространение способом повышения эффективности использования ЭВМ стало разделение задач на фоновые и переднего плана.
4. FreeDOS
Большинство современных операционных систем построены вокруг концепции многозадачности. FreeDOS - это DOS-совместимая ОС настолько отличается от Windows, насколько это возможно - FreeDOS основана на предшественнике Windows, MS-DOS.
FreeDOS - бесплатная операционная система с поддержкой старых игр и приложений, которую можно легко подключить к вашей сети. Кроме того, могут быть установлены различные программные пакеты, для улучшения классического опыта DOS до приложений и эмуляторов.
FreeDOS полезен как для повышения производительности, так и для восстановления старых данных.
Неважно, если у вас есть современный рабочий стол, старая установка или вы работаете на виртуальной машине. FreeDOS - отличный вариант, если вы ищете более традиционный опыт, напоминающий ПК 80-х/90-х годов.
Что такое задача
Большинство обычных пользователей считают, что ЭВМ выполняет программы. Однако, это не совсем так (даже совсем не так). Да, процессор выполняет программный код, причем ему совершенно без разницы, код чего именно он выполняет.
Логическое, смысловое, деление программного кода на ОС и процессы пользователя важно для человека - пользователя и программиста, но не для процессора.
Логическую и функциональную совокупность программного кода и данных, которые этот код обрабатывает, которую можно рассматривать как единое целое, с точки зрения ОС, мы и будем называть задачей.
Задача может являться логическим объединением нескольких исполняемых файлов, если говорить об обычных ОС, которые в совокупности будут единым управляемым ОС объектом. Задача может быть одной из многих частей единого программного файла, прошивки, если говорить о встраиваемых системах и микроконтроллерах.
6. ReactOS
Если разговоры об альтернативах Linux и UNIX вас не впечатляют, рассмотрите ReactOS в качестве альтернативы Windows.
Первоначально запущенный в 1996 году как проект клонирования Windows 95, официальный сайт заявляет, что «конечная цель ReactOS - дать вам возможность удалить Windows и установить ReactOS без уведомления конечного пользователя».
Короче говоря, цель состоит в том, чтобы вы могли продолжать использовать свой компьютер, как и раньше. ReactOS содержит более 9 миллионов строк кода и является ОС с открытым исходным кодом.
Тем не менее, ReactOS находится в стадии альфа уже довольно давно. Однако он легкий и требует всего 500 МБ места на жестком диске и 96 МБ оперативной памяти.
9. AROS
AROS - это бесплатная операционная система, похожая на MorphOS, но разработанная для систем x86. Это означает, что он должен быть в состоянии работать на вашем компьютере. В некотором смысле ваш компьютер или ноутбук превращается в современный компьютер Amiga, способный работать со старым и новым программным обеспечением.
Однако обратите внимание, что вы не сможете читать старые диски Amiga на современном ПК, даже с 3,5-дюймовым дисководом. Таким образом, у вас будет ограниченный ПЗУ.
3. FreeBSD
Многие думают, что FreeBSD - это просто еще один дистрибутив Linux. Распространяя Unix-подобные корни Linux, FreeBSD является современной версией дистрибутива программного обеспечения Berkeley (BSD) с открытым исходным кодом.
FreeBSD можно считать родственником Linux, и его код можно найти во многих устройствах. К ним относятся MacOS от Apple и операционная система Sony PlayStation 4 .
В целом, FreeBSD является надежной операционной системой для серверов и настольных компьютеров. Хотя по умолчанию он не поставляется в среде рабочего стола, есть поддержка рабочих столов GNOME, KDE и Xfce.
FreeBSD представляет интерес для тех, кто занимается вопросами безопасности и конфиденциальности, предлагая усовершенствования, разработанные проектом TrustedBSD. Это McAfee, DARPA, Google, компьютерная лаборатория Кембриджского университета, Apple и многие другие.
Сохранение состояния
У нас раздельные области памяти двух задач. При штатном их выполнении ни одна из задач не может изменить область памяти другой задачи. Но процессор то у нас один. И состояние процессора просто необходимо сохранять при переключении задач. И восстанавливать при возобновлении выполнения прерванной задачи.
Ни одна из выполняющихся задач не должна зависеть от того, происходило ли переключение задач. Они просто не должны знать об этом. А значит, состояние процессора, всех его регистров, всех его служебных таблиц, нужно и сохранять, и восстанавливать.
Что и когда нужно сохранять и восстанавливать? Во первых, задача переднего плана осознанно обращается к ОС за выполнением ввода-вывода. И в документации на ОС описано, какие регистры и таблицы процессора, и как именно, при этом изменяются. Регистры, через которые передается информация для запрашиваемой операции, как и регистры, в которых информация о выполненной операции возвращается, сохранять и восстанавливать не требуется. Остальные регистры, скорее всего, будут сохранены ОС при получении запроса и восстановлены перед возвратом в задачу переднего плана.
А вот возобновление фоновой задачи требует полного сохранения состояния процессора в момент передачи управления от ОС к задаче и восстановление состояния процессора, которое было в момент приостановки ее выполнения.
То есть, нам требуется сохранять и восстанавливать состояние процессора только для фоновой задачи. Причем это сохранение/восстановление является дополнительным, непроизводительным, расходованием машинного времени, которого не было бы при отсутствии переключения задач. Это накладные расходы.
Обратите внимание, что сохранением и восстановлением состоянием процессора занимается операционная система, а не пользовательский задачи. Это важный момент.
Сохранение и восстановление состояния несколько снижает эффективность использования ЭВМ. И тем сильнее, что чаще выполняется переключение задач. Но в целом эффективность использования ЭВМ существенно возрастает, так как снижаются простои процессора. Причем не только во время выполнения задачи переднего плана, но и между окончанием одной задачи и запуском следующей.
При этом задача переднего плана и фоновая задача независимы между собой информационно. И, как мы скоро увидим, это существенный момент.
Однако, такой способ повышения эффективности использования ЭВМ обладает и недостатками. В частности, задачи должны быть действительно существенно разными по характеру выполняемых операций. Если задача переднего плана тоже будет вычислительной, эффективность использования ЭВМ будет высокой, но фоновая задача выполняться не будет.
Поэтому следующий шагом в развитии ОС стал совершенно естественным
10. MenuetOS
MenuetOS, доступная для 32-разрядного и 64-разрядного оборудования, представляет собой операционную систему, которую можно установить с одной дискеты. Просто чтобы уточнить, это одна дискета объемом 1,4 МБ.
Невероятно, но он включает в себя полный рабочий стол с графическим интерфейсом, предустановленный браузер, медиаплеер и электронную таблицу. Созданный на ассемблере, MenuetOS также поддерживает веб-камеры USB и поддерживает разрешение до 1920 × 1080 (16 миллионов цветов).
8. MorphOS
MorphOS - это подобная Amiga операционная система, основанная на домашнем компьютере 80-х / 90-х годов и доступная для PowerPC подобных устройств. В то время как вероятность того, что на старом ПК с Windows установлен процессор PowerPC, невелика, старые Mac будут работать под управлением MorphOS.
Однако, если ваш опыт Mac закончился с принятием Apple процессоров x86, данная альтернатива Windows может оказаться полезной.
ОС с возможностью выполнения фоновых задач
Задачи, выполняемые ЭВМ, могут быть очень разными. Например, одна задача может обрабатывать большой объем внешних данных. Такая задача занимается большим объемом вводы-вывода, но мало загружает процессор. Другая задача может заниматься сложными математическими расчетами, которые нагружают процессор, но мало использовать ввод-вывод.
Это и легло в основу разделения задач (программ) на задачи переднего плана, которые активно занимаются вводом-выводом или взаимодействуют с оператором, и фоновые задачи, которые больше занимаются вычислениями.
ОС в первую очередь выполняет именно задачу переднего плана. Но когда процессор простаивает, например, в ожидании завершения ввода-вывода, управление получает фоновая задача. Таким образом, фоновая задача выполняется по остаточному принципу. Можно сказать, что фоновая задача имеет меньший приоритет.
Теперь в ОЗУ одновременно размещаются две задачи. И это приводит к появлению первой проблемы. Дело в том, что большинство задач рассчитаны на то, что они располагаются в памяти начиная с определенного адреса. Мы не можем загрузить задачу в другую область памяти, она просто перестанет работать.
Это привело к разработке позиционно-независимого программного кода, но уже немного позже. Да и компиляторы, и компоновщики, которые могли генерировать такой код из исходного текста программ, были сложнее обычных.
Поэтому на первых порах поступили просто - разделили всю доступную для программ пользователей память на две области
Разделение области прикладных программ на две независимые части - область задач переднего плана и область фоновых задач. Иллюстрация моя
Разделение области прикладных программ на две независимые части - область задач переднего плана и область фоновых задач. Иллюстрация моя
При компиляции и компоновке указывалось, в какую область будет загружаться сформированный код.
Может показаться, что такое разделение области памяти прикладных программ вносит дополнительные ограничения на размер задач. Для фоновых задач это действительно так. Фоновая задача не может использовать памяти задач переднего плана.
А вот задача переднего плана может использовать всю область памяти задач пользователя, включая область памяти фоновой задачи. Естественно, при этом загрузка и выполнение фоновой задачи будет невозможно.
Возникает вопрос, как ОС узнает, что нужно передать управление фоновой задаче? Это возможно только в том случае, если задача переднего плана сама отдаст, на время, управление. И этого добиться довольно просто.
Достаточно запретить задачам напрямую заниматься вводом-выводом. Весь ввод-вывод должен выполняться только операционной системой. Задача пользователя просто должна запрашивать у ОС и чтение данных из внешней памяти, и запись. И у ОС появляется возможность передавать управление фоновой задаче на время ожидания завершения ввода-вывода для задачи переднего плана.
Фоновая задача выполняется во время пауз выполнения задачи переднего плана при ожидании завершения ввода-вывода. Иллюстрация моя
Фоновая задача выполняется во время пауз выполнения задачи переднего плана при ожидании завершения ввода-вывода. Иллюстрация моя
Теперь понятно, почему задачей переднего плана считается именно задача с большим объемом ввода-вывода. Именно такая задача будет давать возможность выполняться фоновой задаче. Если задача переднего плана займется вычислениями и не будет запрашивать ввод-вывод, фоновая задача просто не получит шансов на выполнение.
На иллюстрации показано, что задача переднего плана обращается к ОС. ОС подготавливает все необходимое и запускает ввод-вывод. После чего передает управление фоновой задаче. По завершении ввода-вывода возникает прерывание, в результате чего управление снова получает ОС. Она передает данные в память задачи переднего плана и возобновляет ее выполнение.
На иллюстрации показано два таких запроса, причем второй занял большее время. Возможно, пришлось подождать, пока оператор не загрузит в считыватель перфокарт требуемые карты.
Однако, такое переключение выполняющихся задач порождает еще одну проблему. И эту проблему нужно рассмотреть подробнее.
11. Android
Преимущества использования Android в качестве бесплатной альтернативы Windows очевидны. После Windows это самая используемая операционная система. Приложения для Android есть везде, и вы, вероятно, уже используете хотя бы одно.
Android предлагает поддержку стандартных приложений для ПК, таких как обработка текста и электронная почта / Интернет, а также хорошие инструменты для редактирования мультимедиа.
Android также можно использовать для потоковой передачи мультимедиа и имеет обширную библиотеку игр. Короче говоря, Android может стать лучшей альтернативой Windows. Это действительно зависит от того, что вы ищете в операционной системе.
Различные версии Android доступны для настольных компьютеров и ноутбуков. Phoenix OS предоставляет игровую платформу Android на ПК; Вы также должны рассмотреть PrimeOS для рабочего стола Android.
Если статья была для вас полезной, просим поставить лайк и подписаться на наш канал . Также посетите наш сайт и наш YouTube канал , чтобы увидеть больше подобного контента.
В последнее время наблюдается большой приток пользователей Linux. Как правило это люди уже имеющие вполне приличный опыт в общении с компьютером, но этот опыт в большинстве случаев ограничен одной системой. Естественно, что этой системой является самая распространенная на сегодня на дескотопах операционная система компании Microsoft MS Windows. Большое число пользователей Windows также ставят Linux, или запускают его с "Live CD" "на посмотреть".
И тут возникает сразу несколько проблем, связанных с тем, что новые пользователи Linux ожидают увидеть перед собой "еще один Windows". А Linux — это совсем не клон Windows, это совсем другая система, с другой основой, другими традициями, другими возможностями и другими требованиями к пользователю.
По моему убеждению именно это непонимание и является одним из источником такого количества так называемых "священных войн". Возможно данная статья позволит если не уменьшить количество таких войн, то хотя бы даст большее понимание позиций противников и снизит накал в войнах.
Очень глубоко лезть в устройство этих двух операционных систем нам, я думаю, ни к чему, будем рассматривать их в основном с точки зрения пользователя.
Экскурс в историю (очень краткий)
Для сравнения, думаю невредно освежить в памяти краткую историю сравниваемых операционных систем.
История Unix
Операционная система UNIX была создана еще до эры коммерческого софта. Она писалась инженерами, как система "для себя". Поэтому в нее были заложены передовые на то время концепции. В дальнейшем своем развитии при добавлении новых черт, обычно считалось, что делать нужно "правильно". Т.е. например если нужно было выбирать из двух решений, одно из которых было с инженерной точки зрения "неправильным", например повышало производительность сегодня, но могло принести затруднения в дальнейшем, как правило, такое решение отвергалось и выбиралось "правильное" решение, пусть и с определенной потерей производительности.
Первые версии UNIX были написаны на Ассеблере, затем система была переписана на СИ. Это дало системе уникальную переносимость. На PC UNIX был портирован, а точнее заново написан (Linux) сразу, как только развитие PC, а точнее выпуск PC на процессоре i386, позволило это сделать.
В 1985 году стартовал проект POSIX. Это стандарт на интерфейсы UNIX-подобных ОС. Во многом благодаря наличию такого стандарта, так быстро смог появится на свет и достигнуть зрелости Linux — свободная воплощение UNIX.
Развитие интернета с самого начала и до нашего времени неразрывно связано с серверами под управлением ОС UNIX. Сначала с коммерческими, а теперь все больше и больше со свободными.
С точки зрения коммерциализации развитие UNIX можно разделить на три этапа.
- Некоммерческое распространение в университетах.
- Распространение коммерческих UNIX систем.
- Появление свободных реализаций (Linux, FreeBSD) и вытеснение коммерческих систем (настоящий момент).
До появления системы X Window System UNIX была системой с текстовым интерфейсом, затем добавился графический, но традиционно текстовый интерфейс сохраняет важное значение.
Очень важно то, что UNIX с самого начала был многозадачной и многопользовательской системой. Т.е. на одной машине могут работать сразу несколько пользователей, и выполняться несколько программ одновременно.
Фирменной чертой всех UNIX-подобных ОС была и остается надежность.
Год | Событие | Комментарий | Разр | Многопольз. | Многозадачн. |
1971 | Первая версия UNIX | На ассемблере | 32 | Есть | Есть |
1973 | Третья версия UNIX | На Си | 32 | Есть | Есть |
1983 | TCP/IP | - | 32 | Есть | Есть |
1983 | Проект GNU стартовал | Подготовил свободную обвязку для UNIX- подобных ОС | 32 | Есть | Есть |
1984 | X Window System | Оконная система | 32 | Есть | Есть |
1985 | Стартовал проект POSIX | Стандарты интерфейсов UNIX-подобных систем | 32 | Есть | Есть |
1991 | Появление Linux | Первая свободная реализация ядра UNIX для PC, 32 разрядная, сеть | 32 | Есть | Есть |
1993 | Появление FreeBSD | Еще одна свободная реализация ядра UNIX для PC, 32 разрядная, сеть | 32 | Есть | Есть |
История Windows
Истоки зарождения операционной системы Windows следует искать в предшествующей ей операционной системе той же самой фирмы — DOS. Все операционные системы компании Microsoft, это прежде всего коммерческие проекты. Об этом нужно помнить всегда, особенно, когда стараешься понять истоки тех или других решений, как коммерческого плана, так и технического.
Первой ОС из этого семейства была DOS. Может показаться, что DOS собственно имеет косвенное отношение к обсуждаемому предмету. Но, многие традиции, база пользователей и разработчиков, их привычки, идут именно оттуда.
DOS была однозадачной однопользовательской операционной системой с текстовым интерфейсом. Первая версия Windows представляла собой нечто, негодное для работы и распространения не получила. Работать стало в Windows стало возможно, начиная с версии 3. В версии Windows For Workgroups 3.1 появилась возможность работы с сетью. Winodws серии 3 представляли собой запускаемую поверх DOS систему. Отличались невысокой надежностью.
В 1995 годы вышла новая версия — Windows 95. Код частично был 32 разрядным, частично 16 разрядным, встроенная сеть. По сравнению с Windows серии 3 это был серьезный шаг вперед. Повысилась надежность, но до надежности UNIX-подобных ОС было еще далеко. В качестве рабочей станции с натяжкой конечно, надежности хватало, в качестве сервера, нет. Позже были выпущены еще две ОС этой линии, Windows 98 и Windows Me. После этого линия была закрыта.
В 1993 году вышла новая версия — Windows NT 3.1. Это уже была полностью 32 разрядная система. Разработана она была с нуля, для ее разработки были наняты известные специалисты. Были внедрены новые концепции. Это подняло надежность почти до уровня надежности UNIX-подобных систем. Эта ОС уже могла работать в качестве сервера. Продолжение этой линии, операционные системы Windows 2000, Windows XP и Windows Vista.
ОС линии NT были многозадачными, начиная с Windows XP появилась и возможность работать нескольким пользователям, хотя и более ограниченная и гораздо менее удобная, чем у UNIX-подобных ОС.
Год | Событие | Комментарий | Разр | Многопольз. | Многозадачн. |
1981 | DOS | - | 16 | Нет | Нет |
1985 | Windows 1.0 | Надстройка над DOS | 16 | Нет | Нет |
1990 | Windows 3.0 | Надстройка над DOS | 16 | Нет | Есть |
1992 | Windows For Workgroups 3.1 | Надстройка над DOS, сеть | 16 | Нет | Есть |
1995 | Windows 95 | сеть | 16/32 | Нет | Есть |
1993 | Windows NT | сеть | 32 | с 1998 | Есть |
2000 | Windows 2000 | сеть | 32 | Есть | Есть |
2005 | Windows XP | сеть | 32 | Есть | Есть |
2007 | Windows Vista | сеть | 32 | Есть | Есть |
Техническое устройство с точки зрения пользователя
С точки зрения пользователя UNIX устроен примерно так:
- Ядро. Работает с устройствами, управляет памятью и процессами.
- Текстовая подсистема, работа с системой через терминал. Причем для управления всеми возможностями ОС достаточно только текстовой подсистемы. Возможно вход через эту подсистему многих пользователей. Богатый набор как встроенных утилит, так и приложений, работающих в текстовом режиме.
- Графическая подсистема Xwindow. Запускается как процесс в системе.
- Система удаленного доступа в текстовом режиме. Позволяет полноценную работу с ОС в текстовом режиме. Потребляет мало ресурсов. Позволяет работать на сравнительно слабых компьютерах одновременно десяткам и сотням пользователей. Количество сессий ограничено ресурсами компьютеров.
- Система удаленного доступа в графическом режиме. Позволяет одновременно работать нескольким пользователям в графическом режиме. Количество сессий ограничено ресурсами компьютеров.
- Система передачи графического окна приложения на другой компьютер. Позволяет запустив приложение на одном компьютере, управлять им с другого компьютера, через окно приложения, передаваемое на этот другой компьютер. Количество сессий ограничено ресурсами компьютеров.
Windows
- Ядро. Работает с устройствами, управляет памятью и процессами, управляет графической подсистемой.
- Графическая подсистема. Обеспечивает интерфейс с пользователем. Приоритетная система для пользовательского интерфейса.
- Текстовая подсистема. Обеспечивает текстовый интерфейс с пользователем. Текстовый интерфейс весьма урезанный. Набор утилит текстового режима как встроенных, так и других производителей весьма куцый. Синтаксис и состав команд текстового режима меняется от версии к версии. Запускается только поверх графического режима.
- Система удаленного доступа. Появилась впервые, как встроенная в систему, в Windows NT Server 4.0. До этого были только продукты других фирм. В связи с тем, что запускается полноценная графическая сессия, кушает очень много ресурсов. Наличие системы удаленного доступа и количество одновременных сессий может вообще отсутствовать или быть ограничено в разных версиях из коммерческих соображений.
Сравнение концепций
Давайте теперь рассмотрим, чем отличается подход к работе в этих двух системах.
UNIX: Концепция "Toolbox"
Поскольку UNIX разрабатывалась инженерами и для инженеров, в ее основу была положена концепция toolbox (ящик с инструментами). Что это значит? Это значит, что при создании софта и встроенных утилит для UNIX не делали универсальные программы, каждая из которых выполняла бы внутри себя все, необходимые пользователю действия, а для каждой небольшой задачи создавалась своя утилита, которая выполняла свою задачу, только одну, но делала это хорошо. Дело пользователя было при помощи набора этих утилит выполнить операции, которые ему нужно сделать.
При этом из этого набора утилит можно составлять цепочки и последовательности действий, что позволяет легко автоматизировать рутинные, часто повторяющиеся операции.
Для того, чтобы утилиты могли обмениваться между собой результатами своей работы, в качестве носителя информации был выбран текстовый файл. Для обмена информацией между утилитами были изобретены "pipes" (трубы). При помощи "труб" информация с выхода одной команды может быть передана на вход второй, та ее обрабатывает, выдает свою информацию на выход, которая может быть передана на вход третьей и так далее.
В общем, в результате UNIX позволяет пользователю легко создавать простые программные комплексы, выполняющие повторяющиеся действия как по команде пользователя, так и в автономном режиме.
Такой подход имеет как плюсы, так и недостатки. С одной стороны он дает больший контроль над системой, гибкость в настройке, но при этом повышается порог вхождения в систему, или говоря простыми словами, прежде, чем что нибудь сделать, как правило, нужно изучить основы.
Windows: Концепция "Тостер"
В Windows доминирует другая концепция. Эта концепция — максимально облегчить вхождение пользователя в задачу. Программы в Windows как правило большие, на каждое действие есть пункт в меню или иконка. В системы программы связываются как правило с большим трудом.
Ухудшает ситуацию о построением комплексов на базе Windows то, что большинство программ — коммерческие и используют свои, бинарные и как правило закрытые форматы данных и файлов. Такой подход превращает компьютер в устройство, которое может выполнять ограниченный изготовителем ПО набор функций, в пределе в этакий своеобразный "тостер", который выполняет только то, что задумал его изготовитель.
Плюс такого подхода — легкость вхождения неподготовленного пользователя. Минус — то, что обманутый кажущейся легкостью пользователь вообще не хочет ничему учиться и не выполнять необходимых действий. На поводу идут и производители софта. Это одна из причин такого обилия документов отформатированных пробелами, пренебрежения безопасностью и как следствие вирусных эпидемий.
Заключение
Конечно, в обоих системах не доминирует свой подход на 100 процентов. Как в Windows есть возможность пользоваться текстовой консолью и создавать .bat файлы, так и в UNIX есть большой набор программ, со свойствами присущими скорее "тостерному" подходу. И все таки описанная разница в подходах есть и она достаточно ярко выражена.
7. Haiku
ОС Haiku является бесплатным, с открытым исходным кодом и был впервые выпущен в 2001 году. С тех пор эта бесплатная операционная система постоянно совершенствуется и поддерживает различные приложения. Некоторые из них вы слышали, например, VLC Media Player и Quake. Haiku также может запускать приложения из заброшенной операционной системы BeOS .
Тем не менее, релизы Haiku нечасты, что делает их, пожалуй, наименее привлекательной альтернативой в этом списке. Тем не менее, если вы ищете бесплатную альтернативу Windows, безусловно, стоит взглянуть на Haiku.
5. illumos
Другая бесплатная Windows-альтернатива на базе UNIX, illumos , основана на OpenSolaris, операционной системе, заброшенной Oracle в 2009 году.
Illumos включает в себя ядро, драйверы устройств, системные библиотеки и служебное программное обеспечение для системного администрирования. Данное ядро в настоящее время является основой для множества различных дистрибутивов OpenSolaris с открытым исходным кодом, аналогично тому как ядро Linux используется в различных дистрибутивах Linux
1. Linux
Linux является бесплатным, широко доступным ОС и имеет большое онлайн-руководство, что делает его очевидным выбором..
И в этом прелесть Linux: он будет работать буквально на всем. Если вы ищете бесплатную альтернативу Windows, попробуйте Linux Mint , в настоящее время одна из самых популярных операционных систем Linux. Если вы привыкли к интерфейсу macOS, то как вариант вы можете рассмотреть Elementary OS .
Системы с разделением времени
Возросшее быстродействие процессоров и возросший объем оперативной памяти сделали возможным загрузку сразу нескольких задач. И стало возможным переключать их выполнение для создания иллюзии параллельной работы.
При этом процессор по прежнему был всего один. А значит, действительно параллельного выполнения задач не было, это была действительно иллюзия. И причин для появления таких систем было несколько.
Во первых, это устранение недостатка систем с фоновым режимом, который хорошо работал для разнородных задач, но плохо справлялся с идентичными. Во вторых, обеспечение возможности одновременной работы с ЭВМ нескольких пользователей, например, через подключенные к ЭВМ терминалы.
Название "системы с разделением времени" произошло от самого принципа их работы. Машинное время распределялось, разделялось, между несколькими выполняющимися задачами. Причем совершенно не обязательно между задачами разных пользователей. Несколько задач мог запустить и всего один пользователь.
Каждой задаче при этом выделяется определенный интервал времени, квант времени, в течении которого задача может выполняться (занимать процессор). По истечении кванта задача приостанавливается и управление передается следующей задаче.
При этом предусматривается, что не все задачи имеют одинаковые права на процессор. В системах с фоновой задачей приоритет выполнения всегда был у задачи переднего плана. В системах с разделением времени можно ввести изменяемый приоритет для каждой задачи. Чем выше приоритет задачи, тем больший квант времени ей выделяется.
Давайте пока абстрагируемся от размещения задач в памяти и посмотрим, как будет выполняться переключение задач в системах с разделением времени. В первом приближении переключение будет таким
Нужна новая операционная система? Возможно, вы слышали о Linux, бесплатной альтернативе Windows с открытым исходным кодом. Однако есть много других бесплатных операционных систем для ноутбуков и настольных ПК.
Если вы думаете над тем что выбрать Linux или Windows, то рекомендуем прочитать - Windows vs Linux. Какая операционная система подходит для вас?
Эти бесплатные операционные системы способны выполнять стандартные повседневные задачи и являются сильной альтернативой Windows.
Что такое машина
В сегодняшней статье мы будем использовать понятие машина . Машина это обобщенная абстрактная ЭВМ , без какой либо детализации и специфики реальных ЭВМ. При этом машиной будет являться и большая многопроцессорная ЭВМ установленная в вычислительном центре, и стоящий у вас на столе ноутбук, и микроконтроллер, который управляет вашей кофемашиной или телевизором.
Наша машина будет устроена вот так
Как видно, это совершенно типовая простая ЭВМ содержащая минимальный набор компонентов. Процессор выполняет программный код, который хранится в оперативной памяти (ОЗУ - оперативное запоминающее устройство). Так же в ОЗУ хранятся и данные, которые обрабатывает программа.
Для нас сегодня не будет иметь значения архитектура машины (фон Неймановская, Гарвардская, стековая, и т.д.). Для нас сегодня не будет иметь значение разрядность машины и объем оперативной памяти. Просто процессор и подключенная к нему оперативная память.
К процессору мы еще вернемся, чуть позже, а пока давайте рассмотрим немного подробнее ОЗУ. ОЗУ состоит из отдельных ячеек, каждая из которых имеет свой адрес. Адреса начинаются нуля, а максимальный адрес определят объем памяти, который в принципе может быть доступен в данной машине.
Как видно, не вся память доступна для размещения программ и данных пользователя (доступна для программиста). Более того, объем физически доступной памяти может быть меньше максимально возможного. В нашем случае в старших адресах как раз не вся память установлена (Отсутствующая память).
В младших адресах памяти чаще всего размещается служебная область, которая доступна для Операционной системы (ОС) и недоступна для программ пользователя. Что именно содержит эта область нам сегодня не важно. В большинстве случаев это будут векторы прерываний.
Часть памяти занимает и сама ОС. На иллюстрации я показал, что ОС расположилась в старших адресах памяти, но такое расположение совсем не обязательно. Например, ОС может разместиться и сразу над служебной областью, в младших, а не старших, адресах памяти.
Но самая важная для нас сегодня область ОЗУ это область, в которой и располагаются программы и данные пользователя. Эта область ограничена начальным и конечным адресами. И размер этой области меньше размера физически установленной в машине памяти.
Структура этой области памяти для на не важна. Программист может использовать ее так, как сочтет нужным. Но он не может выйти за границы этой области.
2. Chrome OS
В некотором смысле это еще один очевидный выбор. Chrome OS от Google доступна на ряде недорогих и некоторых высококлассных ноутбуков, известных как Chromebook . Также Chrome OS можно скачать бесплатно и подходит для установки на устаревшее оборудование.
Легкая и ориентированная на облачные вычисления, ОС Chrome отлично подходит для просмотра веб-страниц, социальных сетей и обработки текстов.
Если Linux не ваша чашка чая, но вы ищете что-то простое в использовании, Chrome OS является хорошей бесплатной альтернативой Windows.
Читайте также: