Как ос: Разбираемся, как работают операционные системы

Содержание

Разбираемся, как работают операционные системы

Linux, Windows, Mac OS? Зачем они нужны? Понимание того, как работают операционные системы, поможет создавать качественные приложения.

Есть несколько причин, почему программистам стоит знать, как работают операционные системы. Одна из них – чтобы понимать, как работают программы. Представьте: вы пишете код, который кажется рабочим, но программа тормозит. Что делать? Можно попробовать разобраться с ограничениями операционной системы, но вы ведь не умеете!

Если стремитесь построить карьеру программиста, стоит понять, как работают операционные системы. Например, можно изучить курс «Введение в операционные системы» от Georgia Tech. В нем рассказывается, как работают ОС: механизмы работы, параллельное программирование (потоки и синхронизация), взаимодействие между процессами, распределённые ОС.

Осветим 10 наиболее важных принципов, о которых говорилось в курсе Udacity, и разберемся, как же работают операционные системы.

Это первое, о чем нужно задуматься, если вы решили разобраться, как работают операционные системы. ОС представляют собой набор программного обеспечения. Это ПО управляет компьютерным оборудованием и предоставляет техническую базу для программ. А ещё они управляют вычислительными ресурсами и обеспечивают защиту. Главное, что у них есть, – это доступ к управлению компонентами компьютера.

Файловая система, планировщик и драйверы – всё это основные инструменты работы ОС.

Существует три ключевых элемента операционной системы:

  1. Абстракции (процессы, потоки, файлы, сокеты, память).
  2. Механизмы (создание, управление, открытие, запись, распределение).
  3. Реализации (алгоритмы LRU, EDF).

Кроме того, есть два основных принципа проектирования операционных систем:

  1. Максимальная гибкость: отделение механизмов от конкретных реализаций.
  2. Ориентация на пользователей: на каких устройствах будет работать ОС, что нужно пользователю, каковы требования к производительности.

Теперь подробнее разберём глобальные концепции, которые помогут сформировать понимание того, как работают операционные системы.

Процесс – не что иное, как исполнение программы. Так как программа записана в виде последовательности действий в текстовый файл, процессом она становится только при запуске.

Загруженная в память программа может быть условно разделена на четыре части: стек, кучу, контекст и данные.

  • Stack: стек процесса содержит временные данные, такие как параметры метода, адрес возврата и локальные переменные.
  • Heap: это динамически распределяемая память процесса времени его выполнения.
  • Text: хранит состояние регистров, состояние программного счетчика, режим работы процессора, незавершенные операции ввода-вывода, информацию о выполненных системных вызовах.
  • Data: раздел содержит глобальные и статические переменные.

Когда процесс выполняется, он проходит через разные состояния. Эти этапы могут различаться в разных операционных системах.

Общая картина выглядит так:

  • Start: начальное состояние при создании процесса.
  • Ready: процесс ожидает исполнения на процессоре. В течение работы процессор может переключаться между процессами, переводя одни в режим готовности, другие – в режим исполнения.
  • Running: выполнение инструкций.
  • Wait: процесс переходит в состояние ожидания. Например, ждёт ввода данных или получения доступа к файлу.
  • Terminated: как только процесс завершится, он перейдёт в это состояние и будет ожидать удаления.

Немного терпения: мы уже близки к пониманию того, как работают операционные системы 😉

Блок управления процессов (Process Control Block) – это структура данных, поддерживаемая операционной системой для каждого процесса. PCB имеет идентификатор PID. Именно PCB хранит всю информацию, необходимую для отслеживания процесса.

  • Process ID: идентификатор каждого из процессов в ОС.
  • State: текущее состояние процесса.
  • Privileges: разрешения доступа к системным ресурсам.
  • Pointer: указатель на родительский процесс.
  • Priority: приоритет процесса и другая информация, которая требуется для планирования процесса.
  • Program Counter: указатель на адрес следующей команды, которая должна быть выполнена.
  • CPU registers: регистры процессора, необходимые для состояния исполнения.
  • Accounting Information: уровень нагрузки на процессор, статистика и другие данные.
  • I/O Information: список ресурсов, использующих чтение и запись.

Поток (нить, thread) – это ход исполнения программы. Он также имеет свой program counter, переменные, стек.

Потоки одной программы могут работать с одними данными, а взаимодействовать между собой через код.

Поток – это легковесный процесс. Вместе они обеспечивают производительность приложений и ОС за счет параллелизма на уровне программы.

Каждый поток относится к какому-то процессу и не может существовать без него. Сегодня потоки широко применяются в работе серверов и многопроцессорных устройств с общей памятью.

Чем хороши потоки:

  • Они минимизируют время переключения контекста (процессора).
  • Их использование обеспечивает параллелизм процесса.
  • Они эффективно общаются между собой.
  • Потоки позволяют использовать многопроцессорные архитектуры в большем масштабе.

Потоки имеют два уровня реализации:

  • Пользовательский уровень, то есть потоки, управляемые приложениями;
  • Уровень ядра, то есть потоки, управляемые ядром операционной системы.

В первом случае ядро ​​управления потоками ничего не знает о существовании потоков вообще. А библиотека потоков просто содержит код для создания и уничтожения потоков, а также передачи сообщений и данных между ними для планирования выполнения потоков и сохранения (восстановления) контекстов потоков.

Во втором случае ядро выполняет создание потоков, а ещё планирование и управление в пространстве ядра. Заметим, что потоки ядра обычно медленнее, чем потоки пользователей.

Планировщик – это часть менеджера процессов, которая ответственна за переключение между процессами и выбор очереди по какой-либо стратегии.

ОС поддерживает все блоки управления процессом (PCB) в очередях планирования процесса:

  • Очередь задач (job queue) поддерживает все процессы в системе.
  • Очередь ожидания (ready queue) хранит информацию обо всех процессах, находящихся в основной памяти в состоянии ожидания. В эту очередь попадают и новые процессы.
  • Очереди из устройств (device queue) – это процессы, заблокированные из-за недоступности устройств ввода-вывода.

ОС может использовать разные методы реализации для управления очередями (FIFO, Round Robin, Priority). Планировщик ОС определяет, когда и как перемещать процессы между готовыми и запущенными очередями (могут иметь только одну запись на ядро ​​процессора в системе). На приведенной выше диаграмме он был объединен с процессором.

Модели состояния делятся на активные и неактивные:

  • Активные: при создании нового процесса он переходит в класс активных.
  • Неактивные: процессы, которые не выполняются, а ждут завершения других процессов. Каждая запись в очереди является указателем на конкретный процесс. Очередь реализуется с использованием связанного списка. Использование диспетчера заключается в следующем: когда процесс прерывается, то переносится в очередь ожидания. Если процесс завершен или отменен – он отменяется вовсе.

Переключение контекста – это механизм сохранения (в PCB) и восстановления контекста процессора с ранее запущенного промежутка времени. При использовании этого метода, коммутатор контекста позволяет использовать один процессор для нескольких действий одновременно. Кстати, контекстное переключение является неотъемлемой частью многозадачной операционной системы.

Когда планировщик переключает процессор с одного процесса на другой, состояние из текущего запущенного процесса сохраняется в блоке управления. Затем состояние для следующего процесса загружается из своего PCB в регистры процессора. Только потом второй процесс может быть запущен.

При переключении следующая информация сохраняется для последующего использования: счетчик программы, информация планировщика, значение регистра базы и лимита, используемый в настоящее время регистр, измененное состояние, информация о состоянии ввода и вывода, учетная информация.

Ещё одна важная часть – та, что отвечает за все операции по управлению первичной памятью. Существует менеджер памяти, который обрабатывает все запросы на получение памяти и высвобождение. Он же следит за каждым участком памяти, независимо от того, занят он или свободен. И он же решает, какой процесс и когда получит этот ресурс.

Адресное пространство процесса – набор логических адресов, к которым программа обращается в коде. Например, если используется 32-битная адресация, то допустимые значения варьируются от 0 до 0x7fffffff, то есть 2 Гб виртуальной памяти.

Операционная система заботится о том, чтобы сопоставить логические адреса с физическими во время выделения памяти программе. Нужно также знать, что существует три типа адресов, используемых в программе до и после выделения памяти:

  • Символьные адреса: или по-другому адреса, используемые в исходном коде. Имена переменных, константы и метки инструкций являются основными элементами символического адресного пространства.
  • Относительные адреса: компилятор преобразует символические адреса в относительные адреса.
  • Физические адреса: загрузчик генерирует эти адреса в момент загрузки программы в основную память.

Виртуальные и физические адреса одинаковы как в процессе загрузки, так и во время компиляции. Но они начинают различаться во время исполнения.

Набор всех логических адресов, которые создала программа, называется логическим адресным пространством. Набор всех физических адресов, соответствующих этим логическим адресам, называется физическим адресным пространством.

Хотите разобраться подробнее в том, как работают операционные системы? Посмотрите соответствующие книги в нашем Телеграм-канале.

Существует два типа процессов: независимые и взаимодействующие. На независимые не оказывается влияние процессов сторонних, в отличие от взаимодействующих.

Можно подумать, что процессы, которые работают независимо, выполняются эффективнее, но зачастую это не так. Использование кооперации может повысить скорость вычислений, удобство и модульность программ.

Межпроцессная коммуникация (IPC) – это механизм, который позволяет процессам взаимодействовать друг с другом и синхронизировать действия. Связь между этими процессами может рассматриваться как сотрудничество.

Процессы могут взаимодействовать двумя способами: через общую память или через передачу сообщений.

Метод использования общей памяти

Допустим, есть два процесса: исполнитель (производитель) и потребитель. Один производит некоторый товар, а второй его потребляет. Эти два процесса имеют общее пространство или ячейку памяти, известную как «буфер». Там хранится элемент, созданный исполнителем, оттуда же потребитель получает этот элемент.

Однако у этих версий есть как минимум две значимые проблемы: первая известна как проблема безграничного буфера: исполнитель может продолжать создавать элементы без ограничений на размер буфера. Вторая заключается в том, что исполнитель, заполнив буфер, переходит в режим ожидания.

В задаче с ограниченным буфером у исполнителя и потребителя будет общая память. Если общее количество произведенных товаров равно размеру буфера, то исполнитель будет ждать их потребления.

Аналогично потребитель сначала проверит наличие товара, и если ни один элемент не будет доступен, придётся ждать его освобождения.

Метод анализа сообщений

С помощью этого метода процессы взаимодействуют друг с другом без использования общей памяти. Допустим, есть два процесса, p1 и p2, которые хотят взаимодействовать друг с другом. Они работают следующим образом:

  • Устанавливается связь (если её ещё не существует).
  • Начинается обмен сообщениями с помощью базовых примитивов. Нам нужно как минимум два примитива – отправить (сообщение, пункт назначения) или получить (сообщение).

Размер сообщения может быть фиксированным или переменным. Проектировщикам ОС проще работать с сообщениями фиксированного размера, а программистам – переменного. Стандартное сообщение состоит из двух частей – заголовка и тела.

Одной из важнейших задач операционной системы является управление различными устройствами ввода и вывода вроде мыши, клавиатуры, дисководов, etc.

Система ввода и вывода принимает запрос приложения на ввод или вывод данных, а затем отправляет его на соответствующее физическое устройство. После возвращает приложению полученный ответ. Устройства ввода и вывода можно разделить на две категории:

  • Блочные: то есть устройства, с которыми драйверы связываются, отправляя целые блоки данных. Например, жесткие диски, USB-камеры, Disk-On-Key.
  • Символьные: те устройства, с которыми драйвер связывается, отправляя и получая одиночные символы (байты или октеты). Например, последовательные порты, параллельные порты, звуковые карты и так далее.

ЦПУ должен иметь способ передачи информации на устройство ввода-вывода и обратно. И есть три способа сделать это:

  1. Специальные инструкции

Особые, неуниверсальные инструкции процессора, внедренные специально для контроля устройств ввода-вывода. Они позволяют отправлять данные на устройство и считывать их оттуда.

  1. Входы и выходы с отображением памяти

Когда используется ввод-вывод с отображением памяти, одно и то же адресное пространство разделяется памятью и устройствами ввода-вывода. Устройство подключается непосредственно к ячейкам памяти так, чтобы можно было передавать блок данных без применения ЦПУ.

  1. Прямой доступ к памяти (DMA)

Медленные устройства, такие как клавиатуры, генерируют прерывания ЦПУ после передачи каждого байта. Если бы быстрые устройства работали похожим образом, то ОС бы тратила большую часть времени впустую, на обработку этих прерываний. Поэтому для снижения нагрузки обычно используется прямой доступ к памяти (DMA).

Это означает, что ЦПУ предоставляет модулю ввода и вывода полномочия для чтения или записи в память. Сам модуль управляет обменом данными между основной памятью и устройством ввода-вывода. ЦПУ участвует в начале и конце передачи, а прерывается только после полной передачи блока.

Организация прямого доступа к памяти требует специального оборудования, называемого контроллером DMA (DMAC). Он управляет передачей данных и доступом к системной шине. Контроллеры запрограммированы с указателями источника и места назначения, счетчиками для отслеживания количества переданных байтов и прочими настройками.

Технология, которая позволяет создавать несколько сред или выделенных ресурсов из единой физической аппаратной системы называется виртуализация

Программное обеспечение, гипервизор, напрямую подключается к этой аппаратной системе и позволяет разбить ее на отдельные, безопасные среды – виртуальные машины. По идее, гипервизор должен аппаратные ресурсы между виртуальными машинами так, чтобы процессы выполнялись быстрее.

Физическая машина с гипервизором называется хостом, а виртуальные машины, которые используют ресурсы данного хоста – гостями. Для них ангаром ресурсов являются процессор, память, хранилище. Для получения доступа к этим ресурсам операторы управляют виртуальными экземплярами.

В идеале, все связанные виртуальные машины управляются с помощью единой веб-консоли управления виртуализацией. Она нужна, чтобы ускорять работу. Виртуализация позволяет определить, сколько вычислительной мощности и памяти выделять виртуальным машинам. Кроме того, так как виртуальные машины технически не связаны между собой, это повышает безопасность сред.

Проще говоря, виртуализация создает дополнительные мощности для выполнения процессов.

Типы виртуализации

  1. Данные: позволяет компаниям обеспечивать вычислительные мощности для объединения данных из нескольких источников, размещения новых источников и преобразования данных в соответствии с потребностями пользователя.
  2. Рабочий стол: легко спутать с виртуализацией операционной системы. Виртуализация рабочего стола позволяет центральному администратору одновременно развёртывать смоделированные среды на сотнях физических машин. Виртуальные системы позволяют администраторам выполнять массовые конфигурации, обновления и проверки безопасности на всех устройствах сразу.
  3. Серверы: программная имитация с помощью специального ПО аппаратного обеспечения компьютера: процессор, память, жесткий диск, и т. д. На такой виртуальный компьютер можно установить операционную систему, и она будет на нем работать точно так же, как и на простом, «железном» компьютере. Самое интересное достоинство этой технологии – это возможность запуска нескольких виртуальных компьютеров внутри одного физического. При этом, все виртуальные компьютеры могут работать независимо друг от друга.
    Сервер – компьютер, спроектированный под выполнение большого объема специфических задач. Виртуализация сервера позволит ему выполнять больше этих специальных задач, а также разделить функционал на разные компоненты.
  4. ОС: это способ одновременного запуска Linux и Windows-сред. Преимущество в том, что это уменьшает затраты на оборудование, повышает безопасность и экономит время на обслуживании.
  5. Сетевые функции: разделяет ключевые функции сети (например, службы каталогов, общий доступ к файлам и IP-конфигурацию) для распределения между средами. Виртуальные сети сокращают количество физических компонентов: коммутаторов, маршрутизаторов, серверов, кабелей.

Распределенная файловая система – это клиентское или клиент-серверное приложение, которое позволяет получать и обрабатывать данные. Они хранятся на сервере, как если бы они находились на персональном компьютере. Когда пользователь запрашивает файл, сервер отправляет ему копию запрашиваемого файла, который кэшируется на компьютере пользователя во время обработки данных, а затем возвращается на сервер.

Бывает так, что за одними и теми же данными одновременно обращаются сразу несколько пользователей. Для этих целей сервер должен иметь механизм организации обновлений, чтобы клиент всегда получал самую актуальную версию данных. Распределенные файловые системы обычно используют репликацию файлов или баз данных для защиты от сбоев.

Сетевая файловая система Sun Microsystems (NFS), Novell NetWare, распределенная файловая система Microsoft и DFS от IBM являются примерами распределенных файловых систем.

Распределенная общая память (DSM) – это компонент управления ресурсами распределенной операционной системы. В DSM доступ к данным осуществляется из общего пространства, аналогично способу доступа к виртуальной памяти. Данные перемещаются между дополнительной и основной памятью, а также между разными узлами. Изменения прав собственности происходят, когда данные перемещаются с одного узла на другой.

Преимущества распределенной общей памяти:

  • Программистам можно не беспокоиться о передаче памяти между машинами, потому что перемещение данных можно скрыть;
  • Можно передавать сложные структуры по ссылке, упрощая разработку алгоритмов для распределенных приложений;
  • Это дешевле, чем многопроцессорные системы и может быть реализовано с использованием обычного оборудования;
  • Можно использовать неограниченное количество узлов;
  • Программы, написанные для мультипроцессоров с общей памятью, могут быть запущены в системах DSM.

Всё больше процессов переходит в облако. По сути, облачные вычисления – это своего рода аутсорсинг компьютерных программ. Используя облачные вычисления, пользователи могут получать доступ к программному обеспечению и приложениям из любого места. Это означает, что им не нужно беспокоиться о таких вещах, как хранение данных и питание компьютера.

Традиционные бизнес-приложения всегда были очень сложными, дорогими в обслуживании – нужна команда экспертов для установки, настройки, тестирования, запуска, защиты и обновления. Это одна из причин, почему стартапы проигрывают корпорациям.

Используя облачные вычисления, вы передаёте ответственность за аппаратное и программное обеспечение опытным специалистам, таким как Salesforce и AWS. Вы платите только за то, что вам нужно, апгрейд платежного плана производится автоматически по мере ваших потребностей, а масштабирование системы протекает без особых сложностей.

Приложения на базе облачных вычислений могут работать эффективнее, дольше и стоить дешевле. Уже сейчас компании используют облачные приложения для множества приложений, таких как управление отношениями с клиентами (CRM), HR, учет и так далее.

В заключение хочется ещё раз вернуться к тому, зачем вообще разбираться в том как работают операционные системы. Операционная система – это «мозг», который управляет входными, обрабатываемыми и выходными данными. Все остальные компоненты также взаимодействуют с операционной системой. Понимание того, как работают операционные системы, прояснит некоторые детали и в других компьютерных науках, ведь взаимодействие с ними организуется именно средствами ОС.

Источник: Как работают операционные системы: 10 концептов, которые нужно знать разработчикам on Medium.

что это такое, список ос, описание, сравнение

При использовании современных гаджетов часто можно услышать вопрос об операционной системе, многие люди даже не задумываются что же это такое. Все знают, что на их компьютерах находится ОС, но при объяснении этого понятия часто возникают проблемы. Данная статья поможет разобраться в этом вопросе.

Что такое Операционная Система

Операционная система — это комплект программ, управляющий памятью и процессами компьютера, смартфона или другого устройства и являющийся главной его частью.

ОС выглядит как рабочий стол с визуальным интерфейсом. Благодаря этому пользователи играют в игры, пишут документы и работают, ищут информацию в интернете. Операционная система нужна для того, чтобы решать много разных задач.

Как работает ОС

Когда происходит нажатие кнопки включения компьютера, операционная система загружается. В это время компьютером выполняются такие функции:

  • Проверка работы всех программ;
  • Проверка на наличие нового оборудования;
  • Запуск операционной системы.

Какие задачи выполняет современная ОС

  • Файловая система позволяет создавать, открывать и пользоваться разными файлами.
  • Все программы исполняются в порядке очереди благодаря пакетному режиму. Задачи загружаются так, чтобы процессор не оставался без работы.
  • Продолжением концепции пакетного режима можно считать многозадачность. Чтобы процессором выполнялись одновременно несколько задач разработали такой подход, как разделение времени. Процессорное время распределяется между исполнением программ.
  • По причине конфликта одной программы с другой было создано разделение полномочий. Это позволяет избежать замены одной программы данных в памяти компьютера другой.

Функции ОС

  • Программы делятся на задачи, загружаются в операционную систему и распределяются по процессорам. Так работает функция управления оперативной памятью.
  • Загрузка программ в оперативную память — это функция их выполнения.
  • ОС считывает информацию с дисков, флеш карт и других внешних устройств. Это функция управления носителями информации.
  • Функция доступа ко всем устройствам. Под устройствами понимается все то, что подключено к компьютеру и позволяет принимать информацию (например мышь и клавиатура), а так же выдавать её (например монитор, сканер, принтер).
  • Чтобы было просто и понятно работать за компьютером создан интерфейс пользователя.
  • ОС может сохранять данные о сбоях программы, ошибках работы и сама их исправить. Но происходит это в редких случаях.

Какие операционные системы существуют

Microsoft Windows

Это первая операционная система, имеющая интерфейс, к которому привык современный пользователь. Windows была выпущена в 1985 году. До этого существовал MS DOS, имеющий вид оболочки, в которую вводятся команды.

Выглядело это вот так.

А вот так выглядела первая версия Windows.

На данный момент новейшей версией является Windows 10

Преимущества Windows

  • Её просто установить и легко использовать.
  • Драйвера всех популярных программ работают на этой платформе.
  • Имеет привлекательный интерфейс.
  • Эта ОС поддерживает многие устройства.
  • Удаленная иформация легко восстанавливается.
  • Получение помощи технической поддержки.

Недостатки

  • Из-за своей популярности эта ОС часто подвергается атакам вредоносного ПО, то есть хватает вирусы.
  • Операционная система платная и стоит дорого.
  • Чтобы стабилизировать работу, приходится постоянно читстить мусор.

Linux

Эту ОС выпустили в 1991 году. Попытки конкуренции с Windows оказались неудачными, популярность эта операционная система так и не завоевала.

 

Плюсы

  • Открытость исходного кода. То есть, ОС является бесплатной.
  • Угроза от вирусов практичеки отсутствует.
  • Системных ресурсов требуется значительно меньше.

Минусы

  • Сложно освоить новичку.
  • Создана в основном для программистов, поэтому отсутствуют игры и многие программы.
  • Возникает проблема права доступа.

Apple Mac OS X

Эту ОС поддерживает только техника Apple, она не совместима с устройствами других производителей.

Достоинства

  • Интерфейс удобный и имеет много функций, которые делают работу легкой.
  • Безопасность и надежная защита от вирусов.
  • Преимущество в стабильной работе.

Недостатки

  • Высокая цена.
  • Выбор программ хуже, чем на Виндовс.
  • Видеокарты слабее, а игр меньше.

ОС для мобильных устройств

Все ОС, о которых говорилось выше разработаны специально для настольных компьютеров и ноутбуков. Телефоны, смартфоны и планшеты имеют свои операционные системы. Они не такие функциональные, но хорошо справляются с основными задачами. Например, можно скачивать и пользоваться приложениями, смотреть фильмы, работать с информацией в интернете и даже создать документ.

В настоящее время существуют:

  • ANDROID установлена практически на всех современных мобильных устройствах.
  • IOS работает на смартфонах и планшетах фирмы Apple.

Автор, специалист в сфере IT и новых технологий.

Получил высшее образование по специальности Фундаментальная информатика и информационные технологии в Московском государственном университете имени М.В. Ломоносова. После этого стал экспертом в известном интернет-издании. Спустя время, решил попробовать писать статьи самостоятельно. Ведет популярный блог на Ютубе и делится интересной информацией из мира технологий.

Загрузка...
Что такое операционная система в компьютере: как узнать вашу ОС

Здравствуйте, друзья! Многие, пользуясь компьютером, даже не подразумевают, что он работает благодаря установленной на него операционной системы, которая отвечает за аппаратное и программное обеспечение компьютера (ПК).

Сейчас существует несколько основных операционных систем, о которых мы будем говорить в этой статье, но более популярной среди новичков является windows. Поэтому больше внимания я буду уделять именно ей.

Операционная система (ОС)

И так друзья что же такое операционная система в компьютере?

Если говорить простым языком это программное обеспечение вашего ПК, как правило, предоставляемое вместе с компьютером, которое управляет ресурсами ПК и организует взаимодействие с пользователями.

ОС отвечает за работу всех установленных программ, запущенных процессов и правильную работу подключенного оборудования к вашему ПК. Без установленной операционной системы компьютер просто бесполезен.

После нажатия кнопки старт на ПК сразу начинается процесс загрузки ОС и во время него происходит следующие:

  • Проверка BIOS и оборудования
  • Проверяются и загружаются драйверы устройств
  • На последнем этапе запускается сама ОС

ОС выполняет следующие основные функции

  1.  Прием и выполнение команд пользователей
  2.  Запуск, остановка и работа программ
  3.  Управление оперативной памятью
  4.  Доступ к подключаемым к компьютеру устройствам (мышь, клавиатура, принтер…)
  5.  Сбор и сохранение данных об ошибках в работе системы

Основные виды ОС

Используя ПК дома, вы даже не задумываетесь, какая именно стоит ОС. А эту информацию знать необходимо хотя бы, потому что если вы вдруг захотите установить, какую ни будь программу, то вам придется выбрать именно ту, которая будет совместима с вашей системой.

Приступим к небольшому обзору трех самых популярных операционных систем.

Windows

Самая востребованная это Microsoft Windows выпущенная корпорацией Microsoft а сама система Windows в переводе означает – окна.

В настоящее время поддерживаются производителем несколько версий:

  • Windows 7 с пакетом обновления 1 – обслуживаться будет до 14 января 2020 года
  • Windows 8.1 – обслуживаться будет до 10 января 2023 года
  • Windows 10 – с 2015 года розничные продавцы предоставляют компьютеры именно с этой предустановленной версией

Но не пугайтесь, у кого сейчас установлены версии 7 и 8.1. Прекращение обслуживания не означает, что у вас они перестанут работать, корпорация просто прекратит выпускать обновления для них. Я знаю людей, которые до сих пор работают с Виндовс XP, хотя обновления для нее прикатились выпускаться еще в 2014 году.

Располагается операционная система на жестком диске, в большинстве случаях это раздел «Локальный диск С» где при установке создаются такие папки как:

  • Windows – располагается сама ОС со всеми настройками.
  • Program Files – здесь находятся папки с установленными на ПК программами.
  • Users (пользователи) – папка где хранятся профили пользователей
  • PerfLogs – хранит файлы отчетов о производительности системы

Внимание настоятельно рекомендую в первых двух папках, не вносить ни каких изменений, так как так как можно повредить файлы ОС или установленных программ. В результате чего ПК или установленная программа может перестать работать.

Теперь давайте подробнее разберем, как узнать свою версию Windows.

1. На рабочем столе находим значок «Компьютер» или «Этот компьютер»

Если этого значка у вас нет, то мы можем за несколько кликов вывести его на рабочий стол.

Для этого кликаем правой кнопкой мыши на свободной области рабочего стола, в открывшемся меню выбираем пункт персонализация.

В открывшемся окне для виндовс 7 и 8 ищем пункт «Изменение значков рабочего стола»

Для виндовс 10 пункт будет называться «Темы» и уже в правой части открытого окна ищем и жмем на «Параметры значков рабочего стола»

В появившемся окне (для всех Windows оно практически одинаковое) ставим галочку возле надписи компьютер и жмем кнопку «ок». Вот и все, значок мой компьютер на рабочем столе.

2. Наводим курсор мыши на значок компьютера, жмем правую кнопку и в открывшемся меню выбираем «свойства»

В открывшемся окне внимательно изучаем информацию о системе, которая установлена на ваш ПК.

У меня это Windows 10 Pro. Помимо этого есть информация о процессоре, объеме оперативной памяти, о типе системы, а также об активации моей Windows.

И так с виндовс разобрались, теперь переходим разбору остальных систем.

Apple Mac Os X

Mac Os специально выпускается компанией Apple (в переводе с английского — яблоко) с 1984 года для компьютеров Macintosh сокращенно «Mac».

Так как данная ОС устанавливается только на продукцию Apple а эти устройства стоят дорого, среди пользователей большей популярностью пользуется виндовс ведь она может работать на любых компьютерах.

Для того чтобы посмотреть какая версия Mac Os установлена нужно курсор мыши навести в левый верхний угол на кнопку Apple или значок «яблока» и нажать левой кнопкой. В открывшемся меню выбрать пункт «Об этом Mac»

Linux

Отличительной чертой Linux является то, что эта ОС с открытым исходным кодом, который может изменить любой пользователь, в связи с этим сейчас существует много версий этой ОС, каждая из которых имеет свой собственный внешний вид.

Вот три самых популярных версий (дистрибутив) Linux:

  1. Ubuntu
  2. Fedora
  3. Mint

Есть несколько преимуществ Линукс:

  • Она бесплатная
  • Все программы установлены в одном месте
  • Можно забыть про вредоносное ПО, так как вирусы пишут в основном для виндовс.

Если у вас установлен Linux но вы не знаете какой именно дистрибутив используется то следует в консоли ввести следующие команды:

  • cat /etc/*release
  • cat /etc/*version
  • cat /etc/issue

Российские разработки

Совсем недавно государством был дан курс на импортозамещение, это вдохнуло новую жизнь в разработку отечественных операционных систем.

Разработчиками было предложено много интересных продуктов, даже одна из госкорпораций анонсировала ОС с интересным названием «ОСь».

Она должна была заменить Windows в государственных учреждениях, но почему-то сегодня на официальном сайте ее даже невозможно скачать.

Еще хотелось бы отметить, что в основном все отечественные ОС написаны на основе Linux. Лично у меня складывается такое впечатление, что они просто меняют обои рабочего стола. За бюджетные деньги.

А так хочется что-то наше на русском языке и чтобы работало с программным обеспечением, заточенным под другие системы.

Заключение

Теперь я думаю, что вы разобрались, что такое ОС и с легкостью сможете посмотреть, какая версия у вас установлена.

А остальные навыки работы за компьютером вам помогут развить 25 бесплатных уроков компьютерной грамотности.

Ну вот, вроде бы и все. Ничего сложного. Это все что я хотел рассказать вам сегодня.

Как вам статья? Считаете ее полезной? То поделитесь ей в социальных сетях, нажав кнопки расположенные ниже. И подпишитесь на обновления блога чтобы не пропустить следующую.

С уважением, Александр Зырянов.

Эволюция операционных систем или как это было и как будет / Песочница / Хабр
Здравствуйте, Хабралюди!
Не многие знают и не многие помнят, с чего началась история компьютерного софта — операционные системы. Именно эту тему и выбрал школьник для своей МАН-овской работы (МАН — малая академия наук). Звучит оно так — эволюция операционных систем. Сразу скажу, что более 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

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. В отличие от той эволюции софта, которую мы наблюдали в девяностых и двухтысячных, новая эволюция все меньше зависет от производителей железа, и все больше — от производителей конечного ПО для пользователей.

За криворукость не ругать, если что — поправлять, автора не матюкать.

Пишем свою ОС: Выпуск 1 / Хабр

Данный цикл статей посвящён низкоуровневому программированию, то есть архитектуре компьютера, устройству операционных систем, программированию на языке ассемблера и смежным областям. Пока что написанием занимаются два хабраюзера — iley и pehat. Для многих старшеклассников, студентов, да и профессиональных программистов эти темы оказываются весьма сложными при обучении. Существует много литературы и курсов, посвящённых низкоуровневому программированию, но по ним сложно составить полную и всеохватывающую картину. Сложно, прочитав одну-две книги по ассемблеру и операционным системам, хотя бы в общих чертах представить, как же на самом деле работает эта сложная система из железа, кремния и множества программ — компьютер.

Каждый решает проблему обучения по-своему. Кто-то читает много литературы, кто-то старается поскорее перейти к практике и разбираться по ходу дела, кто-то пытается объяснять друзьям всё, что сам изучает. А мы решили совместить эти подходы. Итак, в этом курсе статей мы будем шаг за шагом демонстрировать, как пишется простая операционная система. Статьи будут носить обзорный характер, то есть в них не будет исчерпывающих теоретических сведений, однако мы будем всегда стараться предоставить ссылки на хорошие теоретические материалы и ответить на все возникающие вопросы. Чёткого плана у нас нет, так что многие важные решения будут приниматься по ходу дела, с учётом ваших отзывов.

Возможно, мы умышленно будем заводить процесс разработки в тупик, чтобы позволить вам и себе полностью осознать все последствия неверно принятого решения, а также отточить на нем некоторые технические навыки. Так что не стоит воспринимать наши решения как единственно верные и слепо нам верить. Еще раз подчеркнём, что мы ожидаем от читателей активности в обсуждении статей, которая должна сильно влиять на общий процесс разработки и написания последующих статей. В идеале хотелось бы, чтобы со временем некоторые из читателей присоединились к разработке системы.

Мы будем предполагать, что читатель уже знаком с основами языков ассемблер и Си, а также элементарными понятиями архитектуры ЭВМ. То есть, мы не будем объяснять, что такое регистр или, скажем, оперативная память. Если вам не будет хватать знаний, вы всегда можете обратиться к дополнительной литературе. Краткий список литературы и ссылки на сайты с хорошими статьями есть в конце статьи. Также желательно уметь пользоваться Linux, так как все инструкции по компиляции будут приводиться именно для этой системы.

А теперь — ближе к делу. В оставшейся части статьи мы с вами напишем классическую программу «Hello World». Наш хеллоуворлд получится немного специфическим. Он будет запускаться не из какой-либо операционной системы, а напрямую, так сказать «на голом железе». Перед тем, как приступить непосредственно к написанию кода, давайте разберёмся, как же конкретно мы пытаемся это сделать. А для этого надо рассмотреть процесс загрузки компьютера.

Итак, берем свой любимый компьютер и нажимаем самую большую кнопочку на системном блоке. Видим веселую заставку, системный блок радостно пищит спикером и через какое-то время загружается операционная система. Как вы понимаете, операционная система хранится на жёстком диске, и вот тут возникает вопрос: а каким же волшебным образом операционная система загрузилась в ОЗУ и начала выполняться?

Знайте же: за это отвечает система, которая есть на любом компьютере, и имя ей — нет, не Windows, типун вам на язык — называется она BIOS. Расшифровывается ее название как Basic Input-Output System, то есть базовая система ввода-вывода. Находится BIOS на маленькой микросхемке на материнской плате и запускается сразу после нажатия большой кнопки ВКЛ. У BIOS три главных задачи:

  1. Обнаружить все подключенные устройства (процессор, клавиатуру, монитор, оперативную память, видеокарту, голову, руки, крылья, ноги и хвосты…) и проверить их на работоспособность. Отвечает за это программа POST (Power On Self Test – самотестирование при нажатии ВКЛ). Если жизненно важное железо не обнаружено, то никакой софт помочь не сможет, и на этом месте системный динамик пропищит что-нибудь зловещее и до ОС дело вообще не дойдет. Не будем о печальном, предположим, что у нас есть полностью рабочий компьютер, возрадуемся и перейдем к рассмотрению второй функции BIOS:
  2. Предоставление операционной системе базового набора функций для работы с железом. Например, через функции BIOS можно вывести текст на экране или считать данные с клавиатуры. Потому она и называется базовой системой ввода-вывода. Обычно операционная система получает доступ к этим функциям посредством прерываний.
  3. Запуск загрузчика операционной системы. При этом, как правило, считывается загрузочный сектор — первый сектор носителя информации (дискета, жесткий диск, компакт-диск, флэшка). Порядок опроса носителей можно задать в BIOS SETUP. В загрузочном секторе содержится программа, иногда называемая первичным загрузчиком. Грубо говоря, задача загрузчика — начать запуск операционной системы. Процесс загрузки операционной системы может быть весьма специфичен и сильно зависит от её особенностей. Поэтому первичный загрузчик пишется непосредственно разработчиками ОС и при установке записывается в загрузочный сектор. В момент запуска загрузчика процессор находится в реальном режиме.

Печальная новость: размер начального загрузчика должен быть всего 512 байт. Почему так мало? Для этого нам надо ознакомиться с устройством дискеты. Вот познавательная картинка:

На картинке изображена поверхность дискового накопителя. У дискеты 2 поверхности. На каждой поверхности есть кольцеобразные дорожки (треки). Каждый трек делится на маленькие дугообразные кусочки, называемые секторами. Так вот, исторически сложилось, что сектор дискеты имеет размер 512 байт. Самый первый сектор на диске, загрузочный сектор, читается BIOS'ом в нулевой сегмент памяти по смещению 0x7С00, и дальше по этому адресу передается управление. Начальный загрузчик обычно загружает в память не саму ОС, а другую программу-загрузчик, хранящуюся на диске, но по каким-то причинам (скорее всего, эта причина — размер) не влезающую в один сектор. А поскольку пока что роль нашей ОС выполняет банальный хеллоуворлд, наша главная цель — заставить компьютер поверить в существование нашей ОС, пусть даже и на одном секторе, и запустить её.

Как устроен загрузочный сектор? На PC единственное требование к загрузочному сектору — это содержание в двух его последних байтах значений 0x55 и 0xAA — сигнатуры загрузочного сектора. Итак, уже более-менее понятно, что нам нужно делать. Давайте же писать код! Приведённый код написан для ассемблера yasm.

section .text
     use16
     org  0x7C00  ; наша программа загружается по адресу 0x7C00
start:
     mov  ax, cs
     mov  ds, ax  ; выбираем сегмент данных
 
     mov  si, message
     cld              ; направление для строковых команд
     mov  ah, 0x0E    ; номер функции BIOS
     mov  bh, 0x00    ; страница видеопамяти
puts_loop:
     lodsb            ; загружаем очередной символ в al
     test al, al      ; нулевой символ означает конец строки
     jz   puts_loop_exit
     int  0x10        ; вызываем функцию BIOS
     jmp  puts_loop
puts_loop_exit:
     jmp  $           ; вечный цикл
 
message:
     db   'Hello World!', 0
finish:
     times 0x1FE-finish+start db 0
     db   0x55, 0xAA  ; сигнатура загрузочного сектора

Эта короткая программа требует ряда важных пояснений. Строка org 0x7C00 нужна для того, чтобы ассемблер (имеется в виду программа, а не язык) правильно рассчитал адреса для меток и переменных (puts_loop, puts_loop_exit, message). Вот мы ему и сообщаем, что программа будет загружена в память по адресу 0x7C00.
В строках

    mov         ax, cs
    mov         ds, ax

происходит установка сегмента данных (ds) равным сегменту кода (cs), поскольку в нашей программе и данные, и код хранятся в одном сегменте.

Далее в цикле посимвольно выводится сообщение «Hello World!». Для этого используется функция 0x0E прерывания 0x10. Она имеет следующие параметры:
AH = 0x0E (номер функции)
BH = номер видеостраницы (пока не заморачиваемся, указываем 0)
AL = ASCII-код символа

В строке «jmp $» программа зависает. И правильно, незачем ей выполнять лишний код. Однако чтобы компьютер опять заработал, придется перезагрузиться.

В строке «times 0x1FE-finish+start db 0» производится заполнение остатка кода программы (за исключением последних двух байт) нулями. Делается это для того, чтобы после компиляции в последних двух байтах программы оказалась сигнатура загрузочного сектора.

С кодом программы вроде разобрались, давайте теперь попробуем скомпилировать это счастье. Для компиляции нам понадобится, собственно говоря, ассемблер — выше упомянутый yasm. Он есть в большинстве репозиториев Linux. Программу можно откомпилировать следующим образом:

$ yasm -f bin -o hello.bin hello.asm

Полученный файл hello.bin нужно записать в зарузочный сектор дискеты. Делается это примерно так (разумеется, вместо fd нужно подставить имя своего дисковода).

$ dd if=hello.bin of=/dev/fd

Поскольку далеко не у всех остались дисководы и дискеты, можно воспользоваться виртуальной машиной, например, qemu или VirtualBox. Для этого придётся сделать образ дискеты с нашим загрузчиком и вставить его в «виртуальный дисковод».
Создаём образ диска и заполняем его нулями:

$ dd if=/dev/zero of=disk.img bs=1024 count=1440

Записываем в самое начало образа нашу программу:

$ dd if=hello.bin of=disk.img conv=notrunc

Запускаем полученный образ в qemu:

$ qemu -fda disk.img -boot a

После запуска вы должны увидеть окошко qemu с радостной строчкой «Hello World!». На этом первая статья заканчивается. Будем рады увидеть ваши отзывы и пожелания.

Литература

  1. По языку ассемблера:
  2. По языку Си:
    • Керниган Б., Ритчи Д. «Язык программирования C»
    • Шилдт Г. «Полный справочник по C»
  3. По устройству операционных систем:
    • Таненбаум Э. «Современные операционные системы»
    • Таненбаум Э. «Операционные системы: Разработка и реализация»
    • Олифер В., Олифер Н. «Сетевые операционные системы»
    • http://osdev.org
  4. По архитектуре ЭВМ:
    • Таненбаум Э. «Архитектура компьютера»
    • Гук М. «Аппаратные средства IBM PC. Энциклопедия»
    • Петцольд Ч. «Код. Тайный язык информатики»
  5. Справочная информация
10 операционных систем для ПК, о которых знают далеко не все

Когда мы слышим словосочетание «операционная система», то в первую очередь вспоминаем про Windows и macOS. Особенно продвинутые могут назвать ещё и Linux. И, конечно, куда в наше время без мобильных Android и iOS.

Но на самом деле операционок гораздо больше. Вот десять малоизвестных систем, которые вы можете скачать и запустить на своём компьютере — ради любопытства или из тяги к новизне.

1. FreeBSD

операционные системыСкриншот: The FreeBSD Project

Это бесплатная и свободная операционная система, которая используется по всему миру на серверах и маршрутизаторах, в умных домах, терминалах и так далее. Части кода BSD позаимствовали даже Apple для своей macOS и Sony для PlayStation 4.

Вы можете установить FreeBSD для развлечения, чтобы посмотреть, что это за зверь такой, но никто не запрещает применять эту систему и в более полезных целях — например, чтобы создать домашний мини‑сервер.

FreeBSD →

2. ReactOS

операционные системыСкриншот: Debian SU / Wikimedia Commons

ReactOS — бесплатная и свободная операционная система, которая преследует необычную цель: совместимость со всеми программами для Windows.

Пока успехи скромные, но Firefox, MSN Messenger, OpenOffice, StarCraft, Diablo 2, Quake III и некоторые другие игры и программы уже работают довольно хорошо, вылетая лишь изредка. А вот с запуском свежих версий MS Office и Visual Basic есть проблемы. Внешне система весьма напоминает Windows 2000.

ReactOS →

3. FreeDOS

операционные системыСкриншот: Nguyen Hung Vu / Flickr

Когда компьютеры ещё не предоставляли пользователям симпатичные интерфейсы, в которых без проблем разберётся любой, королевой операционок была MS‑DOS — самая используемая система для IBM-PC-совместимых компьютеров с 1980‑х до середины 1990‑х годов.

Если вы ностальгируете по тем временам, любите терминальные команды или хотите запустить очень старую игру (или вы Джордж Мартин и черпаете вдохновение в старых текстовых редакторах), то вам пригодится FreeDOS. Это бесплатный аналог MS‑DOS, совместимый с её программами и позволяющий запускать их на современном компьютере или внутри виртуальной машины.

FreeDOS →

4. Haiku

операционные системыСкриншот: Jainux / Wikimedia Commons

В октябре 1995 года компания Be Incorporated, созданная выходцем из Apple Жаном-Луи Гассье, выпустила собственную операционную систему BeOS. Она так и не стала популярной, и в 2000 году вышла её последняя версия.

Haiku — это созданный энтузиастами ремейк BeOS, совместимый с её программами. Haiku очень нетребовательна к ресурсам компьютера, и её можно использовать, чтобы вдохнуть новую жизнь в старое железо. Или чтобы просто прикоснуться к эпохе.

Haiku →

5. MenuetOS

операционные системыСкриншот: MenuetOS

MenuetOS настолько мала, что умещается на одной дискете ёмкостью 1,44 МБ. Для её запуска достаточно 16 МБ оперативной памяти и любой видеокарты, поддерживающей стандарты VESA 1.2 или 2.0. Самая выдающая особенность этой системы — она написана на ассемблере в 2000 году финским студентом Вилле Турьянмаа.

Вряд ли удастся найти системе практическое применение, но в развлекательных целях её вполне можно установить. Для MenuetOS есть кое‑какие несложные игры и даже один вирус, который называется Menuet.Oxymoron.

MenuetOS →

6. KolibriOS

операционные системыСкриншот: KolibriOS

Ещё одна операционка, написанная на ассемблере. Это аналог MenuetOS, созданный общими усилиями трёх десятков программистов из стран СНГ. Она тоже весит 1,44 МБ и запросто помещается на дискету, но при этом содержит набор драйверов, браузер, несколько текстовых и графических редакторов и просмотрщиков, плееры для музыки и видео, больше 30 игр и другие программы.

KolibriOS →

7. AROS

операционные системыСкриншот: Paolo Besser / Wikimedia Commons

Модель Amiga 1000, выпущенная в 1985 году, стала первым в мире мультимедийным персональным компьютером. Правда, компания Commodore, создавшая эти машины, не смогла реализовать их потенциал и в итоге обанкротилась. Однако компьютеры Amiga до сих пор любимы энтузиастами.

AROS — это бесплатный аналог AmigaOS, позволяющий запускать программы и игры из той системы. Вы можете установить эту операционку, чтобы поиграть в портированные на Amiga хиты вроде Doom, Quake, DukeNukem 3D, MYST, Descent и Freespace.

AROS →

8. MorphOS

операционные системыСкриншот: Xorxos / Wikimedia Commons

Другая операционная система, тоже основанная на AmigaOS. Она поддерживает тысячи программ оттуда, и в ней есть довольно симпатичный интерфейс, браузер, видеоплеер, текстовый редактор, настраиваемые меню и даже возможность смотреть ролики на YouTube. В отличие от AROS, у MorphOS закрытый исходный код.

MorphOS →

9. DexOS

операционные системыСкриншот: RCX / Wikimedia Commons

Большинство операционных систем пытаются повторить интерфейс Windows или macOS. Но DexOS, созданная ради развлечения программистом Крейгом Бэмфордом, идёт по другому пути: она имитирует внешний вид меню на старых игровых приставках. Как и MenuetOS, она помещается на одну дискету.

DexOS →

10. Wayne OS

операционные системыСкриншот: Wayne, Inc.

Вы наверняка слышали о Chromebook — это дешёвые ноутбуки, на которых установлена ChromeOS. В ней нет ничего, кроме браузера, и большинство её «приложений» — это открываемые вами веб‑сервисы.

Wayne OS — это альтернатива ChromeOS, которая даже не требует установки. Системные файлы Wayne OS нужно скопировать на флешку с помощью специального приложения, скачанного с сайта разработчика. Теперь у вас будет собственная ChromeOS, которую можно носить с собой (например, на работу или в интернет‑кафе) — достаточно только загрузить её с флешки.

Wayne OS →

Читайте также 🧐

переосмысление операционных систем для десктопа / Хабр
TL;DR: К концу этого эссе я надеюсь убедить вас в следующих фактах. Во-первых, что современные десктопные операционные системы никуда не годятся. Они раздутые, тормознутые и напичканы легаси-хламом, а кое-как работают только благодаря закону Мура. Во-вторых, что инновации в десктопных ОС прекратились около 15 лет назад, а основные игроки вряд ли собираются много вкладывать в них снова. И наконец, я надеюсь убедить вас, что мы можем и должны начать с нуля, усвоив уроки прошлого.

«Современные» десктопные ОС раздуты


Возьмём Raspberry Pi. За 35 долларов я могу купить отличный компьютер с четырьмя процессорными ядрами, каждое на частоте более гигагерца. У него также есть 3D-ускоритель, гагабайт оперативки, встроенные WiFi с Bluetooth и Ethernet. За 35 баксов! И всё-таки для многих задач, которые я хочу на нём запустить, Raspberry Pi ничем не лучше компьютера на 66 мегагерц, который был у меня в колледже.



На самом деле, в некоторых случаях он справляется даже хуже. Требовались огромные усилия, чтобы запустить Doom с 3D-ускорением в X Windows в середине 2000-х, тривиальная задача для середины 1990-х в Microsoft Windows.

Ниже показан скриншот среды Processing, впервые запущенной на Raspberry Pi с аппаратным ускорением, всего пару лет назад. И это стало возможным только благодаря совершенно особому видеодрайверу X Windows. Этот драйвер по прежнему остаётся экспериментальным и официально не выпущен, спустя пять лет после выхода Raspberry Pi.

Несмотря на проблемы с X Windows, у Raspberry Pi на удивление мощный GPU, который способен выдавать результат как на скриншоте внизу, но только если убрать с пути X Windows (реальный скриншот внизу сделан в OS X, но тот же код работает в Pi 3 на 60 fps).

Или другой пример. Сегодня Atom — один из самых популярных редакторов. Разработчики любят его за кучу плагинов, но давайте посмотрим, как он написан. Atom использует Electron, то есть по сути целый веб-браузер со средой выполнения NodeJS. Это два движка Javascript, встроенных в одно приложение. Приложения Electron используют графические API браузера, которые обращаются к нативным API, которые затем обращаются к GPU (если повезёт) для реального вывода изображения на экран. Столько слоёв.

Долгое время Atom не мог открыть файл больше двух мегабайт, потому что прокрутка слишком тормозила. Проблему решили, написав реализацию буфера на C++, по сути удалив один лишний слой.

Даже самые простые приложения в наше время очень сложные. Почтовый клиент вроде такого, как на скриншоте вверху, концептуально прост. Там должгно быть несколько запросов к БД, текстовый редактор и модуль для коммуникации с серверами IMAP и SMTP. Но создание нового почтового клиента — сложная задача, и он занимает много мегабайт на диске, так что немногие берутся за это. И если вы хотите модифицировать свой почтовый клиент или хотя бы тот, что на скриншоте (Mail.app, клиент по умолчанию для Mac), то не существует ясного способа, как расширить его функциональность. Нет плагинов. Нет расширений API. Это результат многослойного хлама и раздувания.

Нет инноваций


Инновации в десктопных операционных системах по существу остановились. Можно сказать, что они закончились где-то в середине 90-х или даже в 80-е с выходом Mac, но весь прогресс точно остановился после революции смартфонов.

Mac OS


Когда-то Mac OS X блистала фейерверком новых функций, в каждой новой версии наблюдался значительный прогресс и изобретения. Quartz 2D! Expose! Системная синхронизация устройств! Виджеты! Но сейчас Apple вкладывает минимум усилий в десктопную ОС, разве что меняет темы оформления и усиливает привязку к мобильным устройствам.

Последняя версия Mac OS X (сейчас она переименована в macOS в честь системы, которая была двадцать лет назад) называется High Sierra. Какие основные нововведения мы с нетерпением ожидаем этой осенью? Новую файловую систему и новый формат кодирования видео. Действительно, это всё? О, и ещё добавили функцию редактирования в Photos, которая уже была в iPhotos, но её удалили после апгрейда, а ещё они будут теперь блокировать автоматическое произведение видео в Safari.

Apple — самая дорогая компания в мире, и это самое лучшее, что она может придумать? Просто десктопный UX не является для них приоритетом.

Microsoft Windows


В лагере Windows наблюдалась суматошная активность, поскольку Microsoft пыталась заново изобрести десктоп в качестве операционной системы с поддержкой тачскрина для планшетов и телефонов. Это стало катастрофой, от которой они до сих пор восстанавливаются. В процессе этого перехода они не добавили никаких функций, действительно полезных десктопным пользователям, хотя потратили абсурдное количество денег на создание кастомного фонового изображения.

Вместо улучшения десктопного UX они сконцентрировались на добавлении новых моделей приложений со всё большим и большим количеством слоёв поверх старого кода. Между прочим, Windows по-прежнему может запускать приложения начала 90-х.

Терминальную программу CMD.exe, которая по сути позволяет вам запускать DOS-приложения, заменили только в 2016 году. А самая значительное нововведение в последней версии Windows 10? Они добавили подсистему Linux. Наложили сверху ещё больше слоёв.

X Windows


Улучшений в X Windows было даже меньше, чем в двух других десктопных ОС. На самом деле, эта модель олицетворяет собой отсутствие изменений. Люди жаловались на это ещё в начале 90-х. Я рад, что можно поменять скин в GUI, но что насчёт сквозного системного буфера, в который помещается больше одного элемента за раз? Это не изменилось с 80-х годов!

В середине 2000-х добавили компоновку оконных менеджеров, но из-за легаси-проблем его нельзя использовать ни для чего, кроме перемещения окошек туда-сюда.

Wayland должен был всё исправить, но спустя десять лет разработки он по-прежнему ещё не готов. Действительно трудно обеспечить совместимость со старым кодом. Думаю, что Apple приняла правильное решение, когда перенесла старую macOS в эмулятор под названием Classic, изолировав его от нового кода.

Рабочие станции?


В фундаментальном смысле с десктопными ОС стало проще работать, когда они вышли на массовый рынок, но затем этот массовый рынок перешёл на смартфоны и у компаний пропал какой-либо интерес к улучшению десктопных ОС.

Я не могу винить за это Apple и Microsoft (а сейчас и Google). Три миллиарда смартфонов, которые заменяются каждые два года — гораздо более крупный рынок, чем несколько сотен миллионов настольных компьютеров и ноутбуков, которые заменяются каждые пять лет.

Думаю, нам нужно вернуть ощущение от работы с десктопной операционной системой. Такие вещи называли рабочими станциями. Если десктоп освободился от уз массового рынка, то можно снова вернуть операционную систему для работы.

Чего у нас нет в 2017 году


Сейчас 2017 год. Давайте посмотрим, что должно существовать к настоящему времени, но по какой-то причине не существует.

Почему я могу переносить вкладки в браузере и файл-менеджере, но не могу сделать это между двумя разными приложениями? Здесь нет никаких технических ограничений. Окна приложений — это всего лишь растровые прямоугольники из битов, в конечном счёте, но разработчики ОС не реализовали функцию, потому что она не считается приоритетной.

Почему я не могу иметь файл в двух местах одновременно в своей файловой системе? Почему она фундаментально иерархическая? Почему я не могу сортировать файлы по тегам и метаданным? Файловые системы с базой данных существуют десятилетия. Microsoft пыталась внедрить эту функцию в WinFS, но из-за внутренних конфликтов удалила её из системы Vista ещё до её выхода. В BeOS такое сделали двадцать лет назад. Почему этой функции нет в современных ОС?

Любое веб-приложение можно зуммировать. Я просто нажимаю command + — и текст становится больше. Все элементы в окне автоматически масштабируются. Почему мои нативные приложения так не умеют? Почему я не могу сделать одно окно с увеличенным текстом, а другое с маленьким? Или даже масштабировать их автоматически по мере переключения между окнами? Всё это тривиальные вещи для оконного менеджера с компоновкой, тривиальной технологии уже более десяти лет.

Ограниченное взаимодействие


У моего компьютера есть мышь, клавиатура, датчики наклона, световые датчики, две камеры, три микрофона и масса Bluetooth-аксессуаров; но только первые два используются как общие устройства ввода. Почему я не могу подать голосом команды компьютеру или жестами в воздухе, а ещё лучше, чтобы он следил за моей работой и сообщил, когда я устал и лучше отдохнуть.

Почему мой компьютер не умеет следить за глазами и смотреть, что я читаю, или сканировать предметы, которые я держу в руках, используя какую-нибудь из этих крутых технологий дополненной реальности, которые скоро появятся на смартфонах. Некоторые из этих функций есть в отдельных приложениях, но они не общие для все системы и не программируемы.

Почему мой Macbook Pro не может по Bluetooth связаться с нужными HID-устройствами вместо синхронизации через Apple Watch. Погодите, а ведь Mac не может синхронизироваться с Apple Watch. Это ещё один пункт, где он уступает моему телефону.

Почему мой компьютер не может использовать ничего кроме дисплея для вывода информации? В новом ноутбуке Razor цветная подсветка под каждой клавишей, но она используется только для переливания цветными волнами. Что насчёт применения светодиодов для какой-нибудь полезной задачи! (идея Бьорна Шталя, я думаю).

Бункеры приложений


Практически каждое приложение на моём компьютере — это бункер. У каждого приложения есть своя часть файловой системы, своя система конфигурации, свои собственные настройки, база данных, форматы файлов и алгоритмы поиска. Даже свои собственные назначения клавиатурных сочетаний. Это невероятное количество продублированной работы.

Что более важно, отсутствие коммуникации между приложениями очень затрудняет координацию их работы. Основополагающим принципом Unix были маленькие инструменты, которые работают сообща, но в X Windows это вообще не реализовано.

Создано для 1984 года


Так почему наши компьютеры такие неуклюжие? Суть в том, что они созданы для 1984 года. Десктопный GUI был изобретён, когда большинство пользователей создавали документ с нуля, сохраняли его и печатали. Если вам повезёт, вы могли сохранить документ в общей файловой системе или отправить кому-нибудь по почте. Это всё. GUI создавался для работы с задачами, которые раньше выполнялись на бумаге.

Проблема в том, что мы живём в 2017 году. Мы уже не работаем так, как в 1984-м. В обычный день я получаю код с нескольких удалённых сайтов, создаю несколько тестов и генерирую структуру данных, которая выводит результат, он затем отправляется в интернет для использования другими людьми. Импорт, синтез, экспорт.

Я создаю контент VR. Обрабатываю изображения. Я отправляю сообщения в десятки социальных сетей. Мой идеальный плейлист составляется выбирается из 30 000 песен. Я обрабатываю на порядки больше данных из большего количества источников, чем это было всего 20 лет назад, а тем более 40 лет назад, когда эти концепции изобрели. Метафора рабочего стола просто не масштабируется на современные задачи. Мне нужен компьютер, который помогает выполнять современную работу.

Нам нужна современная рабочая станция


Итак, теперь мы выходим на теоретический уровень. Предположим, у нас действительно есть ресурсы и способ обеспечить (или игнорировать) обратную совместимость. Предположим, мы действительно можем создать нечто, чтобы по-другому спроектировать десктоп для современных методов работы. Как мы это сделаем?

Для начала нужно избавиться от всего, что не справляется со своими задачами.

  • Традиционные файловые системы иерархические, с медленным поиском и не хранят по умолчанию все необходимые нам метаданные.
  • Все межпроцессные взаимодействия. Существует слишком много способов коммуникации между программами. Каналы, сокеты, общая память, RPC, вызовы ядра, drag-and-drop, копипаст.
  • Интерфейсы командной строки не соответствуют современному использованию приложений. Мы просто не можем всё делать в чистом тексте. Я бы хотел перенаправить свой видеозвонок по Skype в сервис видеоанализа во время разговора, но я реально не могу запустить видеопоток через awk или sed.
  • Оконные менеджеры на традиционных десктопах не следят за контекстом или контентом и не контролируются другими программами.
  • Нативные приложения слишком тяжеловесны, их долго разрабатывать и они живут в бункерах.

Так что у нас остаётся? Немного. У нас осталось ядро и драйверы устройств. Мы можем держать надёжную файловую систему, но она не будет доступна для конечных пользователей или приложений. Теперь давайте добавим обратно некоторые элементы.

База данных документов


Начнём с общей для системы базы данных документов. Не будет ли проще создать новый почтовый клиент, если база данных уже готова? UI будет состоять всего из нескольких строчек кода. В реальности, многие обычные приложения — это всего лишь текстовые редакторы в сочетании с запросами данных. Возьмите iTunes, адресную книгу, календарь, уведомления, сообщения, Evernote, список дел, закладки, историю браузера, базу паролей и менеджер фотографий. Каждая из этих программ оснащена собственным уникальным хранилищем данных. Столько впустую потраченных усилий и помех для взаимодействия!

BeOS доказала, что файловая система с базой данных действительно может работать и обеспечивает невероятные преимущества. Нам нужно её вернуть.

У файловой системы с БД документов много преимуществ перед традиционной файловой системой. Не только «файлы» существуют более чем в одном месте и становятся легко доступны для поиска, но гарантированное наличие высокопроизводительной БД намного облегчает создание приложений.

К примеру, возьмём iTunes. Он хранит mp3-файлы на диске, но все метаданные находятся в закрытой базе данных. Наличие двух «источников правды» создаёт массу проблем. Если вы добавляете на диск новую песню, то нужно вручную указать iTunes заново просканировать её. Если хотите разработать программу, которая работает с базой данных песен, то придётся осуществить реверс-инжиниринг формата iTunes DB и молиться, чтобы Apple не изменила его. Все эти проблемы исчезают при наличии единой системной базы данных.

Шина сообщений


Шина сообщений станет единым способом межпроцессных взаимодействий. Мы избавляемся от сокетов, файлов, каналов, ioctrl, общей памяти, семафоров и всего остального. Все коммуникации только через шину сообщений. Мы получаем единое место для управления безопасностью и создания множества интересных функций через грамотное проксирование.

В реальности некоторые из видов коммуникации всё-таки останутся как опции для приложений, которым они необходимы, вроде сокетов для браузера, но все коммуникации с системой и между приложениями идут через общую шину.

Компоновщик


Теперь мы можем добавить компоновщик — оконный менеджер, который по-настоящему работает с 3D-поверхностями, преобразует координаты и контролируется через сообщения по шине. Большую часть того, что делает типичный менеджер, вроде размещения окон, наложения уведомлений и определения, какое окно активно, на самом деле могут делать другие программы, которые просто присылают сообщения в компоновщик, а он уже выполняет реальную работу.

Это значит, что компоновщик будет тесно интегрирован с графическим драйвером, это важно для обеспечения высокой производительности. Ниже показана схема Wayland — компоновщика, который когда-нибудь станет работать по умолчанию в Linux.

Приложения выводят графику на экран, запрашивая поверхность у компоновщика. Завершив вывод графики и при необходимости обновления они просто отправляют сообщения: пожалуйста, перерисуй меня. На практике у нас, вероятно, будет несколько типов поверхностей для 2D- и 3D-графики, а может и для необработанного видеобуфера. Важно то, что в конечном счёте именно компоновщик контролирует всё, что появляется на экране, и когда. Если одно приложение сходит с ума, компоновщик может подавить его вывод на экран и гарантировать, что вся остальная система нормально работает.

Приложения становятся модулями


Все приложения превращаются в маленькие модули со всеми коммуникациями через шину сообщений. Полностью. Больше никакого доступа к файловой системе. Никакого доступа к аппаратному обеспечению. Всё только в виде сообщений.

Если хотите воспроизвести mp3-файл, то отправляете сообщение play в сервис mp3. Вывод графики на экран через компоновщик. Такое разделение обеспечивает безопасность системы. В терминологии Linux, каждое приложение станет полностью изолировано через разрешения пользователя и chroot, возможно, вплоть до контейнеров Docker или виртуальных машин. Здесь нужно проработать много деталей, но всё решаемо уже сегодня.

Модульные приложения будет гораздо легче разрабатывать. Если база данных — это единственный источник правды, то не нужно делать много работы по копированию данных в память и обратно. В примере с аудиоплеером поле поиска не будет загружать данные и проводить фильтрацию для отображения списка, оно просто определяет запрос. Список затем привязан к этому запросу, а данные появляются автоматически. Если другое приложение добавляет в базу данных песню, которая соответствует поисковому запросу, то UI плеера автоматически обновляется. Это всё делается без каких-либо дополнительных усилий со стороны разработчика. «Живые» запросы с автообновлением сильно облегчают жизнь и они более надёжны.

Переделка приложений


На такой базе мы можем создать всё, что нам нужно. Однако это также означает, что нам придётся переделывать всё с нуля. Высокоуровневые конструкции поверх БД сильно упростят этот процесс. Посмотрим на несколько примеров.

Электронная почта. Если разделить стандартный почтовый клиент на GUI и сетевые модули, которые общаются исключительно через сообщения по шине, то разработка программы станет намного проще. GUI не должен ничего знать о почте Gmail или Yahoo, или как обрабатывать сообщения об ошибках SMTP. Он просто ищет в БД документы с указанным типом "email". Когда GUI хочет отправить сообщение, то назначает ему свойство outgoing=true. Простой модуль составит список всех исходящих почтовых сообщений и отправит их по STMP.

Разделение почтового клиента на компоненты значительно облегчает замену отдельных его частей. Вы можете разработать новый фронтенд за полдня, и не придётся переписывать сетевые модули. Вы можете разработать спам-фильтр вообще без пользовательского интерфейса, он просто сканирует входящие сообщения, обрабатывает их и помечает подозрительные сообщения тегом «спам». Он не знает и не заботится о том, как отображается спам в GUI. Он просто хорошо делает одну вещь.

Почтовые фильтры могут делать и другие интересные вещи. Например, вы отправили своему боту по почте команду play beatles. Крошечный модуль сканирует входящую почту и отправляет другое сообщение модулю mp3 для воспроизведения музыки, а затем помечает письмо как удалённое.

Когда всё превращается в запросы к БД, то вся система становится более гибкой и настраиваемой.

Командная строка


Знаю, я раньше говорил, что мы избавимся от командной строки. Беру свои слова обратно. Мне действительно иногда нравится командная строка как интерфейс, меня беспокоит только её чисто текстовая природа. Вместо выстраивания цепочек CLI-приложений с текстовыми потоками нужно нечто более функциональное, вроде сериализованных потоков объектов (как JSON, но более эффективных). Вот тогда у нас появится настоящая сила.

Рассмотрим следующие задачи:

  • Я хочу использовать ноутбук как усиленный микрофон. Я говорю в него, а голос звучит из колонок Bluetooth в другом конце комнаты.
  • Как только я публикую твит с хештегом #mom, его копия должна отправляться по электронной почте моей маме.
  • Я хочу использовать iPhone в качестве микроскопа, закреплённого на стойке из конструктора «Лего». Он транслирует картинку на ноутбук, где у меня управление — кнопки для записи, паузы, приближения и ретрансляции прямого эфира на YouTube.
  • Я хочу сделать простой байесовский фильтр, который реагирует на почтовые сообщения от «Энергосбыта», добавляет тег «коммунальные услуги», делает запись на веб-сайте, извлекает из письма сумму и дату платежа и добавляет запись в мой календарь.

Каждая из этих задач концептуально проста, но только подумайте, сколько кода придётся написать, чтобы реализовать это сегодня. С интерфейсом командной строки на потоках объектов каждый из этих примеров укладывается в скрипт из одной или двух строчек.

Мы можем осуществлять и более сложные операции, вроде «Найти все фотографии, сделанные за последние четыре года в радиусе 80 км от Йосемитского национального парка с рейтингом 3 звезды или выше, изменить их размер на 1000px по длинной стороне, закачать в альбом Flickr под названием «Лучшее из Йосемите» и поставить ссылку на альбом на Facebook. Это можно будет сделать встроенными инструментами, без дополнительного программирования, просто соединив несколько примитивов.

Вообще-то Apple создала подобную систему. Она называется Automator. Вы можете в графическом интерфейсе создавать мощные рабочие процессы. Система никогда не рекламировалась, а сейчас убирают привязку к Applescript, на которой всё работает. Недавно всех сотрудников группы Automator перевели в другие команды. Эх…

Семантические сочетания клавиш по всей системе


Теперь, после переделки мира, чем займёмся?

Сервисы доступны во всей системе. Это означает, что мы можем запустить единый сервис, где пользователь может назначать сочетания клавиш (keybindings). Это также означает, что у сочетаний клавиш появится более глубокий смысл. Вместо указания на функцию конкретной программы они указывают на сообщение о команде. Во всех приложениях, которые работают с документами, могут быть команды «Создать новый документ» или «Сохранить». Сервис сочетаний клавиш будет отвечать за превращение control-S в команду «Сохранить». Я называю это семантическими сочетаниями клавиш (semantic keybindings).

С помощью семантических сочетаний клавиш будет гораздо легче поддерживать альтернативные способы ввода. Скажем, вы разработали причудливую кнопку на Arduino, при нажатии на которую звучит какая-то фраза. Вам не нужно писать специальный код для неё. Просто укажите Arduino отправлять событие о нажатии кнопки, а затем привяжите к этому событию аудиофайл в редакторе сочетаний клавиш. Превратите цифровой горшок в кастомное колёсико прокрутки. UI теперь изменяется как угодно.

В этой области ещё необходимы некоторые исследования, но мне кажется, что семантические сочетания клавиш упростят разработку скринридеров и других программ для облегчения доступа.

Окна


В нашей новой ОС любое окно стыкуется как вкладка к другому окну. Или к боковой панели. Или к чем-нибудь ещё. Независимо от приложения. Здесь большая свобода для экспериментов.

В старой MacOS 8 была разновидность окон-вкладок, по крайней мере, в приложении Finder, которые можно было пристыковать к нижнему краю экрана для быстрого доступа. Ещё одна классная вещь, которую выбросили при переходе на Mac OS X.

На скриншоте внизу пользователь приподымает границу окна, чтобы посмотреть, что там внизу. Это очень круто!

Это был пример из научной статьи «Ametista: мини-набор для изучения новых способов управления окнами», автор Николас Руссель.

Поскольку система полностью контролирует окружение всех приложений, она может принудительно ввести ограничения безопасности и демонстрировать это пользователю. Например, у доверенных приложений могут быть зелёные рамки. У только что скачанного из интернета нового приложения будет красная рамка. У приложения неизвестного происхождения — чёрная рамка, или оно вообще не выводится на экран. Многие виды спуфинга станут невозможными.

Умный копипаст


Когда вы скопировали текст из одного окна и переключились в другое, компьютер знает, что вы что-то скопировали. Он может использовать это знание для осуществления каких-нибудь полезных действий, например, автоматически сдвинуть первое окно в сторону, оставив его в зоне видимости, и отобразить выделенный текст зелёным цветом. Это помогает пользователю сохранить концентрацию на текущей задаче. Когда пользователь вставляет текст в новом окне, можно показать, как зелёный фрагмент перепрыгивает из одного окна в другое.

Но зачем ограничивать себя этим. Сделаем буфер обмена, который вмещает больше одного элемента. У нас гигабайты памяти. Давайте использовать её. Когда я копирую что-то, почему я должен помнить, что конкретно я копировал перед тем, как вставить это в другом окне? Буфер обмена нигде не видим. Исправим это.

Буфер обмена должен отображаться на экране как некая полка, на которой хранятся все скопированные фрагменты. Я могу зайти на три веб-страницы, скопировать их адреса в буфер обмена, а затем вернуться в документ и вставить все три сразу.

Модуль просмотра буфера обмена позволяет прокручивать всю историю буфера. Я могу искать в ней и фильтровать по тегам. Могу «прикрепить» любимые экземпляры для последующего использования.

В классической macOS на самом деле был отличный встроенный инструмент под названием [name], но от него отказались при переходе на OS X. Десятилетия назад у нас было будущее! Вернём его обратно.

Рабочие наборы


И наконец-то мы переходим к тому, что я считаю самым мощным изменением парадигмы в нашей новой Идеальной ОС. В новой системе все приложения представляют собой крошечные изолированные модули, которые знают только то, что говорит им система. Если расценивать БД как единственный источник правды, а сама БД версионированная, а наш оконный менеджер настраивается на любой вкус… то становятся возможными по-настоящему интересные вещи.

Обычно я разделяю личные и рабочие файлы. Это отдельные папки, аккаунты, иногда разные компьютеры. В Идеальной ОС мои файлы могут разделяться средствами самой ОС. У меня может быть один экран с домашней почтой, а другой экран — с рабочей. Это одно и то же приложение, просто инициализированное с разными настройками запросов.

Когда я открываю файл-менеджер на домашнем экране, то он показывает только файлы, предназначенные для домашних проектов. Если я создаю документ на рабочем экране, то он автоматически помечается тегом как строго рабочий документ. Управление всем этим тривиально; просто несколько дополнительных полей в базе данных.

Исследователи из Технологического института Джорджии в реальности описали такую систему в своей научной работе «Giornata: пересмотр метафоры десктопа для содействия высококвалифицированной работе».

Теперь сделаем ещё один шаг. Если всё версионируется, даже настройки GUI и расположение окон (поскольку всё хранится в БД), я могу сохранить состояние экрана. Он будет хранить текущее состояние всех параметров, даже мои сочетания клавиш. Я могу продолжить работу, но всегда будет возможность вернуться к этому состоянию. Или я могу посмотреть старое состояние — и восстановить его на новом экране. Я по сути создал «шаблон», который можно использовать снова и снова, как только я начинаю новый проект. Этот шаблон содержит всё необходимое: настройки почтового клиента, историю чатов, списки дел, код, окна для описания багов или даже соответствующие страницы Github.

Теперь всё состояние компьютера в сущности рассматривается как репозиторий Github, с возможностью форкнуть состояние целой системы. Думаю, это будет просто волшебно. Люди станут обмениваться полезными рабочими пространствами в онлайне, как образами Docker. Можно настраивать свои рабочие процессы, добавлять полезные скрипты к рабочему пространству. Возможности здесь поистине восхитительные.

Ничего из этого не ново


Так что вот так. Мечта. Всё вышеописанное базируется на трёх принципах: всесистемная версионированная база данных в реальном времени, всесистемная шина сообщений в реальном времени и программируемый компоновщик.

Хочу подчеркнуть, что абсолютно ничего из того, о чём я рассказывал, не является новым. Я ничего не придумал. Всем этим идеям годы или десятилетия. Файловые базы данных впервые появились в BeOS. Единый механизм межпроцессных взаимодействий появился в Plan 9. Настройка окружения из редактируемого документа реализована в Oberon. И конечно ещё огромное множество научных статей с результатами исследований.

Почему у нас этого нет?


Здесь ничего нового. И у нас до сих пор этого нет? Почему так?

Подозреваю, что главная причина просто в сложности разработки успешной операционной системы. Гораздо удобнее расширять существующую систему, чем создать нечто новое; но расширение также означает, что вы ограничены выбором, сделанным в прошлом.

Можем ли мы в реальности создать Идеальную ОС? Подозреваю, что нет. Никто не сделал это до сих пор, потому что, если честно, здесь не заработаешь деньги. А без денег просто не найдёшь ресурсы для разработки.

Однако если кто-то всё-таки поставит цель создать такую ОС или хотя бы рабочий прототип, то я бы начал с конкретного ограниченного набора аппаратного обеспечения с существующими драйверами устройств. Недостаточная поддержка драйверов всегда была ахиллесовой пятой десктопного Linux. Например, Raspberry Pi 3 будет отличным вариантом.

Так что мой вопрос к вам: как вы думаете, идея стоит усилий на её реализацию, хотя бы для создания рабочего прототипа? Вы бы поучаствовали в таком проекте? Какая часть функциональности должна работать, чтобы вы согласились взять систему для тестирования? И конечно, как нам её назвать?

Если вам интересно обсуждение будущего десктопного UX, подписывайтесь на нашу новую группу Ideal OS Design.

90000 What Attracts Wasps And How To Keep Them Away 90001 90002 90003 90002 If you've ever heard a loud buzzing noise circling around your head, chances are, you've seen or encountered a wasp. While our initial instinct is to swat and shoo them away, thinking the insect is planning to sting us, the first thing you should know is that most wasps are solitary, non-stinging varieties. Here's another fact about this insect that might surprise you: there are around 30,000 identified species.90003 90002 Often mistaken for a bee, a wasp is actually quite different. Their coloring can range from yellow to brown, metallic blue and bright red, with the brighter colored wasps generally belonging to the Vespidae family, or stinging wasps. Another distinct feature is the insect's body. Wasps have a pointed lower abdomen and a narrow waist called a petiole, which separates the abdomen and thorax. Whereas bees live in colonies in the beehive, wasps instead build a nest using wood fibers that are scraped and chewed into a pulp, forming their umbrella-shaped honeycombed, papery home that's easily recognizable.90003 90002 If you've spotted a few of these structures around your home, you'll want to keep reading this post. As we mentioned above, most wasps do not sting, but learning more about what attracts wasps can help protect you and your family from painful stings. We'll also explore why wasps are building their nests around your home, how to keep them from doing so and natural remedies to keep your property wasp-free. 90003 90010 90011 What Attracts Wasps To Your Property? 90012 90013 90002 One reason wasps travel towards your home is in search of a safe, warm haven.Male wasps die off in the fall after impregnating nearby queens, so at the onset of winter, queen wasps typically look for a protected place to spend the colder months. As such, your home's insulated walls and hidden cracks, crevices and cavities make for a perfect living environment. Social wasps, or wasps that live in large colonies, are a perfect example. Take the yellow jacket wasp. These wasp colonies tend to be more prevalent in hollows in or near the ground, which means you might find these insects making their nests underneath your home or in your foundation.90003 90002 In the warmer months of the year, queens begin emerging from hibernation and begin looking for food. That explains why wasps gravitate towards your home around the summer months, when we tend to be spending more time in our yards. If you see wasps flying low to the ground, there's a good chance the insect is looking for and preying on insects, grubs or larvae in the soil. These types of wasps are called digger wasps and generally can be left alone. The digger wasp also looks for sugar in the form of fallen fruit from trees, spilled food or drinks outdoors or aphid honeydew.The cicada killer wasp, however, searches for cicada's eggs. Do not be frightened by the name, as these insects are not aggressive and primarily prey on cicadas. 90003 90002 Both social and solitary wasps eat other insects, which can include aphids, flies, caterpillars and Japanese beetles, as well as garbage left by homeowners and fruit and meat left outside of the home. Homeowners with gardens should also note that wasps are attracted to fragrant flowers, which we'll discuss later in this post.90003 90002 Though we've established that wasps enjoy both protein-based foods and sweet foods, one interesting fact is that a wasps 'preference for each depends on the time of year. In the warmer months of spring and summer, wasps seek out protein-based foods like scraps of meat. So if your family enjoys a summer barbecue, be sure to remove any leftovers and pieces of meat that might attract a wasp. Alternatively, in the fall and winter months, wasps crave sweeter foods, like sodas, fruits and fruit juices.During this time, wasps are also more aggressive in seeking out the food they want. That means that if you have fruit trees in your yard, you may want to pick up any fallen fruits as soon as possible if you want to avoid wasps and be sure to remove any leftover soda cans or glasses of juice left outdoors. 90003 90002 90003 90010 90011 How To Keep Wasps From Building Nests Around Or In Your Home 90012 90013 90002 Like we mentioned above, food is a key motivator for wasps when it comes to choosing where they might build their nest.To ensure they do not do so, it's imperative to remove any unwanted food or drink around your property and to keep your trash cans and trash areas covered and tightly sealed. More specifically, though, since wasps are drawn to sweeter foods, you may want to consider removing nectar and bird food that you may have intended for other animals if your priority is keeping wasps away. 90003 90002 If you are on a wasp control mission, another consideration is your home's structure. As we mentioned above, queens find cracks and holes in your home during the colder months to ensure a secure and a warm place to hibernate.To avoid attracting additional queen wasps, be sure to repair any broken panels or siding, patch cracks in walls and repair any additional crevices you find on both the interior and exterior of your home. In your lawn, consider filling in any holes-occupied or vacant-with dirt or debris. Doing so will keep a wasp colony from making and building their home in a burrow. 90003 90002 90003 90010 90011 How To Keep Wasps Away From Your Deck 90012 90013 90002 If you have a deck in your backyard, chances are a wasp has-or is thinking of-building their nest there.Similar to cracks and crevices around your home, the space underneath your deck, with all the dark corners it offers, can provide a safe, warm haven that's hidden from both people and other animals that might prey on these insects. 90003 90002 If you have not spotted a wasp's nest under your deck before, it does not mean they are not there. Here are a few useful tips to follow when scoping out your deck for wasps and their nests to avoid accidentally disturbing a nest, which puts you at a higher risk of getting stung: 90003 90042 90043 90044 Wear heavy clothing and gloves 90045 to ensure your skin is fully covered.While, as we said, most wasps do not sting, it's always best to take precautions, especially if you are looking in places a larger concentration of these insects might be nesting. 90046 90043 90044 Never approach a wasp's nest during the day 90045, as they are most aggressive during this time. Instead, cover your flashlight with red cellophane taped over the light to see the nest at night. The reason for doing so is that wasps can not see the red light. 90046 90051 90002 If you do not find any nests, we recommend taking preventative measures to ensure wasps do not begin to build their home around your deck in the future.Similar tactics to keep wasps away-like the ones already mentioned-can work for your deck as well. Fill in any crevices and cracks in your deck, remove any food scraps around or under it and be sure to keep any outdoor trash cans and bins tightly sealed. Keeping wasps away from your deck will enable you and your family to enjoy outdoor activities all summer long without being worried about wasps. 90003 90002 90003 90010 90011 Natural Wasp Repellents: Vinegar and Other Essentials 90012 90013 90002 If you find yourself with a number of wasps 'nests in and around your home and want to avoid using any chemicals to control them, there are several natural remedies and repellents to consider.First off, prevention-like we mentioned above, removing any inviting food sources or pathways into your home-is sometimes the best way to keep wasps out of your home. 90003 90002 Mixing together common household ingredients can be an inexpensive and effective way to remove wasps. Vinegar, for example, can be used to create a water trap. Once the wasps enters the water, it will not be able to get out and will drown. The full water trap requires sweetened water, apple cider vinegar and a drop of dish soap.Incidentally, you can also use a similar solution to get rid of fruit flies. Alternatively, white vinegar mixed with equal parts water can be used as a spray to keep the wasps away. 90003 90002 Another creative, natural repellent is a wasp decoy, which can deter wasps from building nests around your yard or inside your home. This is especially true for red paper wasps, which are territorial. Most decoy nests can be purchased at home improvement or garden stories, but if you prefer to build your own wasp decoy, the process is relatively simple.Take old newspapers, crumple them into balls, stuff them into plastic shopping bags and tie them closed. Then place the tied shopping bags in paper lunch-size bags and hang them up in corners or your home and around your yard. 90003 90002 Because wasps are drawn to fragrant flowers, one approach to removing them is to plant flowers that naturally repel wasps in your yard. Plants like spearmint, thyme, citronella, eucalyptus and wormwood are all considered effective natural repellents. Similarly, peppermint oil and essential oil blends, like lemongrass, clove and geranium can also repel worker wasps.90003 90002 Not one for planting greenery in the backyard? No problem. Instead of adding plants to your garden, simply place a few drops of peppermint essential oil or the essential oil blend on a cotton pad or ball and place these strategically around and inside your home where you've seen wasps build their nests. If you're trying to prevent wasps from entering your home for the first time, common areas like crevices, cracks, under porch roofs and under eaves and ledges are the best places to leave the cotton pads.90003 90002 90003 90010 90011 What Repels Wasps: The Final Word 90012 90013 90002 We've discussed a few natural repellents, such as oils and fragrances, but did you ever consider your clothing as a natural wasp repellent? Like we mentioned above, wasps can not see the color red (hence the red taped flashlight), so consider wearing that color if you are planning to sit outside. You're less likely to be bothered by a wasp than your counterparts wearing white or yellow, two colors wasps have been found to be attracted to.Insect repellents like DEET can also work well to keep wasps away. 90003 90002 Another tactic to repel wasps from your property is to make them think there's already another colony of wasps nearby. As territorial insects, they will attack other wasp colonies that try to invade their territory. And as such, these insects will approach new properties and areas with caution if they notice another nest that is not theirs. Luckily, we discussed how to build your own wasp decoy above, so you have another trick up your sleeve if you are trying to keep wasps away.90003 90010 90011 ABC Can Help With Your Pest Problems 90012 90013 90002 At ABC Home & Commercial Services, we take pride in our pest expertise-and that includes bees and wasps. We know that wasps can take up residence around your home unbeknownst to you, building their nests before you discover them. Our highly-skilled technicians can come to your home to identify if the type of wasps in your home and yard. We can then offer suggestions of how to make your property less hospitable to these stinging insects so you can enjoy your outdoor spaces without being worried about a wasp sting.90003 .90000 Wasp Management - Getting Rid of Wasps 90001 90002 Sure, wasps pollinate the plants responsible for beautifying your lawn, growing your food and producing your oxygen, but just who do they think they are buzzing around at your backyard pool party? 90003 90002 The first step in any attempt to manage a wasp problem is to realize there might not be a problem. Beneficial qualities aside, it's important to remember that even the more aggressive species will not attack you unless they feel you're threatening them or their nest.If they're just flying around, the wasps are probably looking for pollen or insects to feed their larvae; since you're neither of those things, you do not have to worry much. If one lands on you to check out a particular scent or color, do not panic. If you can avoid swatting it or making any swift movements, the wasp will quickly fly off and find something better to occupy its time. 90003 90002 If there seem to be too many wasps around, consider exerting your control over some of the factors that encourage them.90003 90008 90009 Avoid wearing white and yellow when outdoors, as these colors often attract insects. 90010 90009 Always wear shoes outside. If you happen to step on a wasp, she will try to sting you - but can you blame her? 90010 90009 Cut down on the perfume. If you smell like flowers or sweets, you stand a good chance of attracting unwanted attention from the local wasp population. 90010 90009 Consider moving flowers away from the house, as wasps love these types of plants.90010 90009 Cover your garbage can. This not only keeps the wasps out, it also keeps out the insects that wasps hunt. 90010 90009 Knock down vacant nests during the winter. This prevents wasps such as mud daubers from returning to the same construction in the spring. 90010 90021 90002 Likewise, if wasps have built a nest nearby, consider simply leaving them alone there. They will protect their turf if threatened, but they built the nest to raise their young - it's not a launching pad for a wasp war on all humans.90003 90002 Sometimes, wasps will build nests in inconvenient places, or their numbers will be too great for cohabitation to remain a viable option. If wasps need to go, consider the scope of any attempt to exterminate or remove them. If the nest is large and occupied by social wasps, such as yellow jackets or hornets, consider hiring professional pest controllers. Even with smaller nests, be sure to wear padding and eye protection - not just against stingers but also against any store-bought insecticides you might be spraying into the air.And remember, if you kill a wasp near the nest, the wasp's death will release chemical signals which will signal the other wasps to attack. 90003 90002 While a can of insecticide and a broomstick may seem like the perfect weapons against a nest, consider some of the more preventative measures available. Various traps are readily available and can cut down on the number of wasps buzzing through your yard, especially if placed early in the season so as to catch emerging queens. Wasps are drawn into the traps via bait and then can not escape.90003 90002 The key, of course, is to pick your battles. Know when wasps are truly pests and when they are valuable members to your backyard ecosystem. And, if you decide they must go, know when you're outgunned. To learn more about wasps, visit the links below. 90003 90030 Related HowStuffWorks Articles 90031 90030 More Great Links 90031 90002 Sources 90003 90008 90009 Animal Corner. "All About Wasps." 2008. (April 4, 2008) http: // www.animalcorner.co.uk/insects/wasps/wasps_about.html 90010 90009 Antosh, Nelson. "Killer bugs for sale." Houston Chronicle. March 1, 1992. 90010 90009 Bessin, Ric. "Velvet Ants." University of Kentucky College of Agriculture Etomology. September 1999. (April 4, 2008) http://www.ca.uky.edu/entomology/entfacts/ef442.asp 90010 90009 Conniff, Richard. "Stung." Discover Magazine. June 6, 2003. (April 4, 2008) http://discovermagazine.com/2003/jun/featstung 90010 90009 Cook, James M. and Stuart A. West. "Figs and Fig Wasps."Current Biology. Dec. 19, 2005. (April 4, 2008) http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6VRT-4 HV7CDJ-5 & _user = 10 & _rdoc = 1 & _fmt = & _ orig = search & _sort = d & view = c & _acct = C000050221 & _version = 1 & _urlVersion = 0 & _userid = 10 & md5 = 1950763e7f59916250a85fa1d1a4ee13 90010 90009 Cornell University. "Bee Fossils and the Antiquity of Bees." September 4, 2004. (April 4, 2008) http: // www.entomology.cornell.edu/BeePhylogeny/fossils.html 90010 90009 Cornell University. "Two Studies on Bee Evolution Reveal Surprises." Science Daily. Dec. 14, 2006. (April 4, 2008) http://www.sciencedaily.com/releases/2006/12/061209083342.htm 90010 90009 Encyclopedia Britannica Online Library. "Fig wasp." 2008. (April 4, 2008) http://library.eb.com/eb/article-9034228 90010 90009 Encyclopedia Britannica Online Library. "Wasps." 2008. (April 4, 2008) http://library.eb.com/eb/article-9076200 90010 90009 Eulberg, Andrew."Chalybion californicum." Animal Diversity Web. 2003. (April 4, 2008) http://animaldiversity.ummz.umich.edu/site/accounts/information/Chalybion_californicum.html 90010 90009 Givan, Ray. "The Weird Sex Life of the Fig." Ray's Figs. 1999. (April 4, 2008) http://home.planters.net/~thegivans/figsex.html 90010 90009 Grewal, Khushdeep. "Polistes fuscatus." Animal Diversity Web. 2002. (April 4, 2008) http://animaldiversity.ummz.umich.edu/site/accounts/information/Polistes_fuscatus.html 90010 90009 Hall, Mimi."Scientists recruit wasps for war on terror." USA Today. Dec. 26, 2005. 90010 90009 Iowa State University Department of Entomology. "Social Wasps." July 14, 2005. (April 4, 2008) http://www.ipm.iastate.edu/ipm/iiin/bsocialw.html 90010 90009 Kendall Bioresearch Services. "Order Hymenoptera - Sawflies, Wasps Ants & Bees." 2007. (April 4, 2008) http://www.kendall-bioresearch.co.uk/hymen.htm 90010 90009 Krischik, Vera. "Insect Morphology." University of Minnesota Department of Entomology. (April 4, 2008) http: // www.entomology.umn.edu/cues/4015/morpology/ 90010 90009 Mussen, E. C. "Yellow Jackets and Other Social Wasps." University of California Statewide Integrated Pest Management Program. August 2001. (April 7, 2008) http://www.ipm.ucdavis.edu/PMG/PESTNOTES/pn7450.html 90010 90009 Natural History Museum. "Universal Chalcidoidea Database." June 7, 2004. (April 4, 2008) http://www.nhm.ac.uk/research-curation/projects/chalcidoids/agaonidae.html 90010 90009 Noort, Simon van. "Fig Wasps." Iziko South African Museum's Fig Web.(April 4, 2008) http://www.figweb.org/Figs_and_fig_wasps/index.htm 90010 90009 Orkin Pest Control Services. "Plan Smart To Reduce Pest Activity All Season." 2007. (April 7, 2008) http://www.orkin.com/press-room/press_release_detail.aspx?id=1062 90010 90009 People for the Ethical Treatment of Animals. "Living in Harmony With Wasps and Bees." Helping Animals. (April 7, 2008) http://www.helpinganimals.com/wildlife_livingWithBees.asp 90010 90009 Schwarz, Joel. "Wasps 'brains enlarge as they perform more demanding jobs."University of Washington. March 15, 2004. (April 4, 2008) http://www.washington.edu/newsroom/news/2004archive/03-04archive/k031504.html 90010 90009 Shea, Michael." The A'Rak . "Baen. Oct. 3, 2000. 90010 90009 Science News." Raising wasps that cotton to boll weevils. "May 28, 1994. 90010 90009 Yoder, Heather." Vespula maculifrons. "Animal Diversity Web. 2001. (April 4 , 2008) http://animaldiversity.ummz.umich.edu/site/accounts/information/Vespula_maculifrons.html 90010 90021 .90000 How Do Wasps Build Their Nests? 90001 90002 Today's Wonder of the Day was inspired by Ms. Gildea's 3rd Grade Class from North Andover, MA. 90003 Ms. Gildea's 3rd Grade Class Wonders 90004, "90005 How do bees and wasps make their hives and what material is it made from? 90006 "Thanks for WONDERing with us, Ms. Gildea's 3rd Grade Class! 90007 90002 Have you ever been playing outside when you hear a tell-tale buzzing sound? From experience, you know that you do not want to get stung by any flying insects.You've been stung before and you know how painful it can be. 90007 90002 You look up and you see a familiar sight attached to the underside of the eaves of your house. It looks a bit like a paper honeycomb, and it's the center of attraction for a swarming group of flying insects. What is it? A wasp nest! 90007 90002 There are three main types of wasps you're likely to run into from time to time: paper wasps, yellowjackets, and hornets. They are all similar in that they make paper nests. However, they differ in the size, shape, and location of their nests.90007 90002 Paper wasps, for example, tend to build small, umbrella-shaped nests under eaves and overhangs. Hornets build large nests shaped like a football. You can often find them hanging from a high branch of a tree. Yellowjackets prefer to make their nests underground. 90007 90002 Where do wasps get the paper they use to build their nests? Do they steal paper from school children while they're at recess? Not hardly! They actually make their own building materials by turning raw wood into paper pulp.90007 90002 A wasp queen begins the building process by selecting a suitable site for a nest. She then searches for sources of wood fiber, such as trees, logs, fences, and even cardboard. Using her strong jaws, the queen scrapes off bits of wood fiber to use. 90007 90002 With a mouthful of wood fibers, the queen uses the saliva in her mouth to break down the wood fibers until they form a soft paper pulp. She then flies her mouthful of paper pulp to her chosen building site to begin construction of the nest.90007 90002 Worker wasps help to form the soft paper pulp into multiple hexagonal cells. As the pulp dries, it forms a sturdy paper nest where young wasps will be born and develop. Some wasps may also use mud to strengthen their nest structure. As a wasp colony continues to grow, the queen and her workers continue to add hexagonal cells to the nest to accommodate new wasps. 90007 90002 Although made out of paper, wasp nests are sturdier than you might expect. Nevertheless, they will decompose naturally over the course of the winter, due to weather and other factors.That means that each spring a queen wasp must choose a new nesting site and start the nest-building process all over again. 90007 .90000 How to Get Rid of Wasps 90001 90002 Facts, Identification & Control 90003 90004 Latin Name 90005 90006 Order Hymenoptera 90007 90004 Appearance 90005 90010 What Does a Wasp Look Like? 90011 90012 90013 90014 Varies tremendously depending on species. 90015 90014 90017 Wings 90018: Most have two pair of wings and a pinched waist.90015 90014 90017 Color 90018: They range in colors from black to metallic greens and blues 90015 90014 90017 Size 90018: vary in size from almost microscopic to several centimeters long. 90015 90028 90004 How Did I Get Wasps? 90005 90006 Eaves, soffits, and gutters on home exteriors are popular wasp nesting spots. Flowers and plant life attract them to yards, as do patios and other outdoor eating areas with crumbs or sticky soda spills that are not cleaned up.Garbage cans that are not properly covered and regularly emptied also attract wasps that are seeking sources food. Properties with abundant insects and spiders provide ample prey for both developing and mature wasps. Contrary to popular, but inaccurate beliefs, nests left behind by wasp populations that die during the cold weather months are generally not reused by subsequent generations of wasps. 90007 90004 How Serious Are Wasps? 90005 90006 Wasps near the home can ruin outdoor activities and make yardwork difficult.While they rarely go out of their way to sting, wasps may become hostile if threatened or disturbed. Their stings are painful but typically nonthreatening to those without allergies to the wasp's venom. 90007 90004 How Do I Get Rid of Wasps? 90005 90017 What Orkin does 90018 90006 Orkin uses an integrated approach that employs a variety of effective and efficient methods to control wasps. Our integrated program includes using: 90007 90013 90014 90017 Inspection 90018 - determining what is needed to provide an effective wasp control plan.90015 90014 90017 Documentation 90018 - explaining the specifics of the overall control plan and the findings and results of, not only the initial inspection, but scheduled follow-up services as well. 90015 90014 90017 Education 90018 - explaining the behavior, diet and habitat of wasps and how this information will be helpful to the homeowner. 90015 90014 90017 Cultural controls 90018 - modifying the area around the home or business to reduce the number of sites that are suitable for wasps to nest.90015 90014 90017 Exclusion 90018 - making it hard for wasps to get inside the structure. 90015 90014 90017 Sanitation 90018 - keeping the area clean and efficiently reducing access to the wasp's sources of food. 90015 90014 Selection of the best wasp control methods - traps, light modification, mechanical and insecticidal controls, physical removal 90015 90014 Emergency services, if needed 90015 90028 90006 For more information or to schedule an inspection, please 90017 contact your local Orkin branch office 90018.90007 90077 Your Orkin technician ... 90078 90013 90014 knows where wasps are most likely to build nests on your property and can provide recommendations to control the wasp population. 90015 90014 knows which wasp species are very aggressive and which species are more docile and less threatening. Based upon this information, your PMP can help you decide what should be done to alleviate the wasp problem. 90015 90014 will answer questions and provide advice and recommendations regarding the use of traps or other wasp control methods.90015 90014 will make suggestions for how to manage waste products that are attractive to wasps 90015 90014 will have the proper equipment and products to control wasps in a safe and effective manner without endangering people or pets. 90015 90028 90004 Signs of a Wasp Infestation 90005 90006 Signs are dependent on species, but most often the workers and the nest are the most likely signs. Read more on infestations. 90007 90004 Behavior, Diet & Habits 90005 90017 Colonies 90018 90006 Wasp species are categorized as social or solitary.As their name implies, social wasps live in colonies, which may number in the thousands. Within these colonies, female workers perform all duties within the nest. Solitary wasps live alone and therefore do not have a colony. They do lay eggs, but their eggs are left alone to hatch. 90007 90006 Some wasps are predatory, while others are parasitic. Predatory wasps kill and consume other insects as well as other animals which they often feed to their larvae. 90007 90006 Parasitic wasps typically lay their eggs in the bodies of living creatures like caterpillars or spiders.The larvae feed on the still-living host. Wasps can assist in the management of other pests, particularly in agriculture as biological control agents. Many wasps also feed on nectar from flowers and therefore function as pollinators. 90007 90006 Some wasps are aggressive species and can sting when threatened. Unlike honey bees, wasps often are capable of stinging multiple times. 90007 90010 Do all wasps pollinate? 90011 90006 There are many species of wasps that are important pollinators.However, taken as a group, wasps do pollinate, but are not as effective at pollinating as the bees. This is primarily because bees have hairier bodies than wasps, so pollen is more likely to stick to a bee's body and be transported from one flower to another. 90007 90004 Reproduction 90005 90006 Late in the summer, the queen of some species will produce unfertilized eggs. These will develop into males. The males will fertilize the wasps that will become the queens of the following year.These fertilized females will overwinter in a sheltered location. In most cases, the rest of the colony will perish when winter comes. Next spring, the queen will start laying eggs. The fertilized eggs that they produce will become workers, building the nest and feeding the larvae produced by the queen. 90007 90004 More Information 90005 90006 Wasps often are beneficial to mankind. Several species are used by humans as parasites to control pests, such as in agriculture.Others are predators that help maintain insect populations. Others function as pollinators and help with plant fertilization. 90007 90077 Wasps Species 90078 90077 More Information 90078 .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *