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

Содержание

Операционная система «Юникс» («Unix», первоначально «UNICS», отсылка к названию «MULTICS»), разработанная и внедренная в 1969 году Кеном Томпсоном с помощью нескольких его коллег (включая Денниса Ритчи и Брайана Кернигана), содержала многие черты более ранних операционных систем, но также имела ряд особенностей, отличавших ее от большинства предшественников:

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

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

Существует несколько причин, по которым разработчикам необходимо знать, как работают операционные системы. Один из них — понять, как работают программы. Представьте себе: Вы написали код, который вроде бы работает, но программа работает медленно. Что делать? Вы могли бы попытаться понять ограничения операционной системы, но вы не знаете как!

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

Мы рассмотрим 10 ключевых принципов, обсуждаемых в курсе Udacity, и проанализируем, как работают операционные системы.

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

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

Файловая система, планировщик и драйверы — все это важные инструменты операционной системы.

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

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

Кроме того, существуют два основных принципа разработки операционных систем

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

Давайте теперь подробнее рассмотрим общие концепции, которые помогают понять, как работают операционные системы.

Процессы и управление

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

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

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

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

Общая картина выглядит следующим образом:

  • Started: начальное состояние при создании процесса.
  • Начал: Процесс ожидает выполнения процессором. Во время выполнения процессор может переключаться между процессами, переводя одни процессы в состояние Ready, а другие — в состояние Running.
  • Execute: Выполнение инструкций.
  • Ожидание: Процесс переходит в состояние ожидания. Например, когда вы ожидаете импорта данных или доступа к файлу.
  • Закончен: После завершения процесса он переходит в это состояние и ожидает удаления.

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

Блок управления процессом — это структура данных, которой операционная система управляет для каждого процесса. Печатная плата идентифицируется PID. На этой плате хранится вся информация, необходимая для мониторинга процесса.

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

Операционная система «Юникс» («Unix», первоначально «UNICS», отсылка к названию «MULTICS»), разработанная и внедренная в 1969 году Кеном Томпсоном с помощью нескольких его коллег (включая Денниса Ритчи и Брайана Кернигана), содержала многие черты более ранних операционных систем, но также имела ряд особенностей, отличавших ее от большинства предшественников:

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

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

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

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

В настоящее время наиболее широко используются Windows и Unix, аналогичные системы, такие как Linux, Mac OS, Android, iOS и другие.

Интересно. Мы подробно рассмотрели типы операционных систем в материале — Типы операционных систем. Здесь вы найдете всю необходимую информацию с иллюстрированными фотографиями.

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

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

Ядро операционной системы — это самая важная часть операционной системы, которая управляет выполнением процессов и всеми ресурсами компьютера/устройства. Он позволяет запущенным процессам получать доступ к этим ресурсам и координирует их работу.

Назначение операционной системы

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

1. он управляет всеми начинками/инструментами устройства. Он обеспечивает работу, интерфейс и контролирует все процессы.

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

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

Функции операционной системы

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

  • Требования к программному обеспечению — программы и драйверы
  • Запуск программ и загрузка их в оперативную память
  • Стандартный доступ к устройствам ввода/вывода
  • Организация надежных вычислительных процессов
  • Многозадачность
  • Управление процессором, оперативной памятью, видеокартой, жесткими дисками и другим оборудованием компьютера или другого устройства.
  • Обеспечивает графический интерфейс пользователя — в более новых операционных системах он является графическим
  • Отладка и протоколирование ошибок.
  • Распределяет ресурсы компьютера или другого устройства между запущенными процессами.

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

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

Windows – это самая распространенная ОС на земле

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

Настольные компьютеры Windows имеют множество преимуществ перед конкурентами, вот лишь некоторые из них:

  1. Хорошая аппаратная поддержка (видеокарты, звуковые карты, принтеры, видеокамеры и т.д.),
  2. простая установка приложений и программ (программа загружается, а затем устанавливается двойным щелчком по программе установки),
  3. удобный интерфейс, операционную систему легко использовать в повседневной жизни, даже ребенок может ее освоить (интуитивно понятная),
  4. широкий спектр программного обеспечения для Windows (игры, графические и текстовые редакторы, антивирусные программы и т.д.).

Это основные преимущества, которые объясняют, почему пользователи выбрали именно эту операционную систему.

Загрузка ОС

Но есть и некоторые недостатки:

  1. Длительное время загрузки операционной системы,
  2. постоянные перезагрузки и необходимость установки патчей (для подстраховки),
  3. Если вирус попадает в систему, это может привести к потере данных или производительности.

Как мы видим, преимуществ больше, и главное из них — простота использования.

Любой пользователь может начать работу в течение нескольких часов, и в этом секрет его популярности.

Linux – это надежность и безопасность везде

Эта (основанная на Unix) операционная система немного отличается.

Ядро — это ядро, в котором установлена поддержка драйверов (для работы с другими устройствами). Основная концепция этой операционной системы — пакет, так как она полностью состоит из пакетов.

Если в Windows каждое приложение занимает свою собственную папку, то в Linux файлы находятся в разных папках: исполняемые файлы программы находятся в одном месте, а файлы конфигурации, которые относятся к настройкам программы, хранятся в другой папке.

Дистрибутивы

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

Мы покажем преимущества этой операционной системы:

  1. система бесплатна (с сайта с выбранным дистрибутивом скачиваем нужный образ, записываем его на USB-носитель и устанавливаем на компьютеры пользователей),
  2. программное обеспечение является бесплатным (графические редакторы, текстовые процессоры и т.д.).
  3. Если вы знаете язык программирования, вы можете смело писать свои собственные программы или модифицировать существующие,
  4. Программы и игры, предназначенные для системы Windows, запускаются через эмуляторы (Wine, виртуальные машины),
  5. Linux очень надежен и безопасен благодаря своей архитектуре и сложной системе написания и активации вирусов, поэтому Unix-подобные системы находятся «под прицелом» большинства серверов.

Но и здесь есть свои недостатки:

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

Windows побеждает в этом раунде. Пользователи не хотят изучать новую систему, они хотят видеть результат: «все работает сразу». Linux — это операционная система для людей, которые любят узнавать новое.

Дистрибутивы Linux становятся все более «дружественными» к пользователю, предлагая дружественный графический интерфейс, удобные менеджеры пакетов и растущий выбор игр и приложений (Ubuntu, Linux Mint подходят для начинающих).

Mac OS – это ОС, созданная для профессионалов

Это операционная система компании Apple, которая может быть установлена только на компьютерах Apple.

Mac OS — это закрытая операционная система, основанная на Unix-подобных системах (аналогично Linux), с той разницей, что исходный код закрыт и это платная операционная система.

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

Операционка

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

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

Эволюция и основные идеи

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

В 1950-х и 1960-х годах были сформулированы и реализованы основные идеи, определившие функциональность операционной системы: пакетный режим, разделение времени и многозадачность, разделение мощности, масштабирование в реальном времени, файловые структуры и файловые системы.

Пакетный режим

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

Разделение времени и многозадачность

Разработанный пакетный режим требует разделения процессорного времени между выполнением нескольких программ.

Необходимость разделения времени (многозадачность) стала еще более очевидной с распространением телепринтеров (а позже терминалов с ЭЛТ) в качестве устройств ввода/вывода (1960-е годы). Поскольку скорость ввода данных с клавиатуры (или даже чтения с экрана) оператором гораздо ниже скорости обработки этих данных компьютером, использование компьютера в «монопольном» режиме (с одним оператором) может привести к потере дорогостоящих компьютерных ресурсов.

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

Разделение полномочий

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

Реализация разделения полномочий в операционных системах была поддержана разработчиками процессоров, которые предложили архитектуры с двумя режимами работы процессора — «реальным» (когда исполняемая программа может получить доступ ко всему адресному пространству компьютера) и «защищенным» (когда доступность адресного пространства ограничена диапазоном, который доступен при запуске программы на выполнение).

Реальный масштаб времени

Использование компьютеров общего назначения для управления производственными процессами потребовало внедрения «реального времени» — синхронизации выполнения программы с внешними физическими процессами.

Интеграция функции реального времени позволила создать решения, способные одновременно управлять производственными процессами и другими задачами (в пакетном режиме и/или режиме разделения времени).

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

К концу 1960-х годов промышленные и научные круги разработали ряд операционных систем, которые реализовывали все или некоторые из описанных выше функций. К ним относятся Atlas (Манчестерский университет), CTTS и ITSS (Массачусетский технологический институт, MIT), THE (Технологический университет Эйндховена), RS4000 (Орхусский университет) и др. (в общей сложности было использовано более ста различных операционных систем).

Самые передовые операционные системы, такие как OS/360 (IBM), SCOPE (CDC) и Multics (MIT и Bell Labs), завершенные еще в 1970-х годах, предлагали возможность работы на многопроцессорных компьютерах.

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

Разработанная и внедренная в 1969 году Кеном Томпсоном при содействии многих его коллег (включая Денниса Ричи и Брайана Кернигана), операционная система UNIX (первоначально UNICS, от которой и произошло название Multics) содержала многие черты более ранних систем, но имела определенные характеристики, которые отличали ее от большинства предшественников

  • простая передача (два основных понятия: вычислительный процесс и файл),
  • архитектура, основанная на компонентах: принцип «одна программа — одна функция» плюс мощные средства соединения различных программ для решения новых задач («оболочка»),
  • минимизация ядра (кода, выполняемого в «реальном» (привилегированном) режиме ЦП) и количества системных вызовов,
  • Независимость от аппаратной архитектуры и реализация на машинно-независимом языке программирования (язык программирования C был побочным продуктом развития UNIX),
  • консолидация файлов.

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

В конце 1970-х годов в Калифорнийском университете в Беркли в исходный код UNIX было внесено несколько усовершенствований, включая обработку протоколов TCP/IP. Их разработка стала известна как BSD (Berkeley Software Distribution).

Ричард Столлман, основатель проекта GNU, также задался целью разработать реализацию (независимую от авторских прав Bell Labs) той же архитектуры.

Из-за конкурирующих реализаций архитектура UNIX сначала стала де-факто промышленным стандартом, а затем получила юридический статус — ISO/IEC 9945 1 (POSIX).

Только системы, соответствующие унифицированным спецификациям UNIX, могут носить название UNIX. Эти системы включают AIX, HP-UX, IRIX, Mac OS X, SCO OpenServer, Solaris, Tru64 и z/OS.

Операционные системы, которые следуют стандарту POSIX или основаны на нем, называются «POSIX-совместимыми» (наиболее распространенный термин — «UNIX-подобные» или «семейство UNIX», но это противоречит статусу торговой марки «UNIX», которая принадлежит консорциуму The Open Group и зарезервирована для операционных систем, строго следующих стандарту). Сертификация совместимости со стандартом обходится недешево, поэтому некоторые системы не прошли через этот процесс, но считаются по сути POSIX-совместимыми.

Пост-UNIX-архитектуры

Команда UNIX разработала концепцию объединения объектов операционной системы, включая процессы и все другие системные, сетевые и прикладные службы, в оригинальную концепцию UNIX «устройство — это тоже файл» и создала новую концепцию: «все — это файл». Эта концепция стала одним из основных принципов Plan 9 (название происходит от научно-фантастического триллера Plan 9 of Outer Space Эдварда Вуда-младшего), который был разработан для преодоления фундаментальных недостатков UNIX и заменил UNIX System V на сетевых компьютерах Bell Labs в 1992 году.

Помимо реализации всех системных объектов в виде файлов и размещения их в едином, персональном пространстве имен для каждого терминала компьютерной сети, были пересмотрены и другие архитектурные решения UNIX. В Plan 9, например, нет понятия «суперпользователь», что исключает любую брешь в безопасности, связанную с незаконным получением прав суперпользователя в системе. Роб Пайк и Кен Томпсон разработали универсальную кодировку UTF-8 для представления (хранения, обмена) информации, которая с тех пор стала стандартом де-факто. Для доступа к файлам используется один универсальный протокол 9P, который работает по сетевому протоколу (TCP или UDP). Таким образом, для прикладного программного обеспечения не существует сети — доступ к локальным и удаленным файлам одинаков. 9P — это протокол, ориентированный на байты, в отличие от других подобных протоколов, ориентированных на блоки. Это также результат восприятия того, что доступ к консолидированным файлам осуществляется побайтно, а не поблочно для устройств, которые разнообразны и быстро меняются по мере развития технологий. Для контроля доступа к объектам не требуется никакого решения, кроме контроля доступа к файлам, уже присутствующего в операционной системе. Новая концепция хранения освободила системного администратора от утомительной работы по обслуживанию файлов и предвосхитила современные системы контроля версий файлов.

Операционные системы, основанные на UNIX или вдохновленные им, такие как все семейство BSD и системы GNU/Linux, постепенно перенимают новые идеи из Bell Labs. Возможно, у этих новых идей большое будущее, и они будут приняты компьютерными программистами.

Новые концепции были использованы Робом Пайком в фильме «Инферно».

На основе проекта 9 в Испании разрабатываются проекты Off++ и Project B, которые носят экспериментальный характер.

Усилия по созданию архитектуры после UNIX также включают разработку системы программирования и операционной среды Oberon в ETH Zurich под руководством профессора Никлауса Вирта.

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

Apple macOS

m acOS — это набор операционных систем, разработанный компанией Apple Inc. Он предустановлен на всех новых компьютерах Macintosh. Все новые версии обозначаются как m acOS и номер, версия системы. Каждая версия имеет кодовые названия Mountain Lion (2012), Lion Lion (2011) и Snow Leopard Snow Leopard (2009). Apple также предлагает операционную систему под названием OS X Server, которая работает на серверах.

рабочий стол macOS

Согласно статистике, доля macOS на рынке операционных систем составляет 7,5 %, что даже меньше, чем в январе 2013 г. Но доля пользователей Windows (более 90 %). Одна из причин заключается в том, что компьютеры Apple стоят дороже и не так совместимы с другими программными продуктами, как компьютеры Windows. В нашей стране это самая важная причина. Многие люди, попробовавшие компьютеры Apple, предпочитают их и эту операционную систему.

Linux

Linux (произносится как Линукс) — это семейство операционных систем с открытым исходным кодом, что означает, что они имеют открытый исходный код, могут быть изменены и обновлены, а также распространяются бесплатно с набором готовых к использованию программ. Это большое отличие от программ с закрытым исходным кодом, таких как Windows и macOS, которые могут быть изменены только внутри компании разработчика. Очевидными преимуществами Linux являются его бесплатность и наличие множества различных дистрибутивов* (или версий). Каждый дистрибутив имеет свой стиль, и самыми популярными являются Ubuntu, Mint и Fedora.

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

рабочий стол linux

Linux назван в честь Линуса Торвальдса, который разработал ядро Linux в 1991 году. Ядро — это компьютерный код, составляющий центральную часть операционной системы.

Если отбросить статистику, доля Linux на рынке операционных систем составляет менее 1%. Однако не стоит забывать, что операционные системы на базе Linux для серверов являются лидером рынка среди конкурентов.

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

Операционные системы для мобильных устройств

Мобильные устройства, такие как смартфоны, планшеты и MP3-плееры, отличаются от настольных компьютеров и ноутбуков не только техническими характеристиками, но и программным обеспечением. Они также оснащены операционными системами, специально разработанными для мобильных устройств. Примерами операционных систем для мобильных телефонов являются Apple iOS, Google Android и Windows Phone.

Мобильная ОС

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

Хотя операционная система является самой важной программой на компьютере или мобильном устройстве, ее не замечают до тех пор, пока устройство не начнет работать со сбоями, зависать и т.д. Тогда первое, о чем думают люди, — это «операционная система», потому что она устанавливает рабочие процессы на устройстве.

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

ОС для корпоративного сектора

Эффективная работа ИТ-инфраструктуры современного предприятия невозможна без правильно подобранной серверной операционной системы.

Назначение серверной операционной системы — управление приложениями, которые обслуживают всех пользователей корпоративной сети и внешних пользователей (СУБД, средства анализа и управления сетью, службы каталогов, службы обмена сообщениями и группового ПО, веб-серверы, почтовые серверы, корпоративные брандмауэры, серверы приложений, компоненты сервера бизнес-приложений).

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

Операционные системы семейства Windows

Серверные версии операционной системы Windows широко используются сегодня — благодаря простоте управления и низкой совокупной стоимости владения.

Операционные системы семейства UNIX

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

Большинство российских серверов работают под управлением какого-либо клона Unix. Согласно выборочному опросу, проведенному компанией RuMetrika (данные 2006 года), Free BSD является явным лидером среди российских серверов (53%), Linux занимает второе место (32%), количество серверов под управлением Windows составляет 9%, а Solaris встречается реже — всего 5%.

Распределение серверных ОС в России и в мире 2006

«Unix», стандартизация ОС и POSIX

Операционная система «Юникс» («Unix», первоначально «UNICS», отсылка к названию «MULTICS»), разработанная и внедренная в 1969 году Кеном Томпсоном с помощью нескольких его коллег (включая Денниса Ритчи и Брайана Кернигана), содержала многие черты более ранних операционных систем, но также имела ряд особенностей, отличавших ее от большинства предшественников:

  • простая передача (два основных понятия: вычислительный процесс и файл),
  • архитектура, основанная на компонентах: принцип «одна программа — одна функция» плюс мощные средства соединения различных программ для решения новых задач («оболочка»),
  • минимизация кода ядра (выполняемого в «реальном» («привилегированном») режиме процессора) и количества системных вызовов,
  • Независимость от аппаратной архитектуры и реализация на машинно-независимом языке программирования (язык программирования C стал побочным продуктом развития «Unix»),

Благодаря конкуренции между реализациями, архитектура операционной системы Unix сначала стала де-факто отраслевым стандартом, а затем получила статус юридического стандарта — ISO/IEC 9945.

Операционные системы, которые следуют стандарту или основаны на нем, называются «POSIX-совместимыми».

Стандартизация операционных систем гарантирует легкую замену операционной системы и/или оборудования при разработке компьютерной системы или сети, а также экономически эффективную переносимость прикладного программного обеспечения (соответствие стандарту требует полной совместимости программ на уровне исходного кода; некоторые модификации все же могут потребоваться из-за стандартизированного профилирования и разработки, но перенос между POSIX-совместимыми системами гораздо менее затратен, чем между альтернативными).

Наиболее заметным результатом этого стандарта стал эффективный рост Интернета в 1990-х годах.

«Post Unix» архитектуры ОС

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

Позже в Испании были разработаны «Off++» и «План Б» на основе «Плана 9», которые носили экспериментальный характер.

Усилия по созданию архитектуры meta-Unix также включали разработку системы программирования и операционной среды Oberon в Швейцарском федеральном технологическом институте (ETH Zurich) под руководством профессора Никлауса Вирта.

Конец 1970-х годов. Создана рабочая версия стека протоколов TCP/IP. Он был стандартизирован в 1983 году. Благодаря независимости от поставщиков, гибкости и эффективности, продемонстрированной успехом Интернета, этот стек протоколов подходит для большинства операционных систем.

Компоненты компьютерной системы

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

  1. Аппаратное обеспечение компьютера, основные компоненты которого — центральный процессор (CPU ), выполняющий инструкции компьютера, память (storage), в которой хранятся данные и программы, и устройства ввода-вывода или внешние устройства (input-output devices, I/O devices ), обеспечивающие ввод данных в компьютер и вывод результатов программы в формате, понятном человеку-пользователю или другим программам. На жаргоне программистов их часто называют «аппаратным обеспечением».
  2. Операционная система является основной темой данного курса; это системное программное обеспечение, которое управляет аппаратным обеспечением компьютера и различными приложениями и пользователями.
  3. Прикладное программное обеспечение — это программное обеспечение, предназначенное для выполнения различных типов задач. В частности, компиляторы, обеспечивающие перевод программ с языков программирования, например, C++, в машинный код (инструкции); системы управления базами данных (СУБД); графические библиотеки, игровые программы, офисные программы, имеющие к ним отношение. Прикладное программное обеспечение является следующим уровнем после операционной системы и позволяет решать на компьютере различные прикладные и повседневные задачи.
  4. Пользователи — это люди и другие компьютеры. Упоминание человека-пользователя как компонента компьютерной системы — это не шутка, а реальность: каждый пользователь фактически становится компонентом компьютерной системы при работе на ней, поскольку должен следовать определенным строгим правилам, нарушение которых приводит к ошибкам или невозможности использовать компьютер и выполнять большое количество рутинных операций — почти как сам компьютер. Важная функция операционной системы как раз и заключается в том, чтобы освободить пользователя от многих из этих рутинных задач (таких как резервное копирование файлов) и позволить ему сосредоточиться на творческой работе. Другие компьютеры в сети также могут быть клиентами по отношению к этому серверному компьютеру, который используется, например, для сохранения файлов или запуска больших программ.

С момента своего основания в 1982 году девизом компании Sun Microsystems было: «Сеть — это компьютер». Эту истину следует помнить всем пользователям компьютеров и их операционных систем, а также шире использовать возможности компьютерных сетей, распределяющих различные функции по разным компьютерам (или хостам — как компьютеры в сети называются на компьютерном жаргоне). Компьютер, изолированный от сети, — это «каменный век». Поэтому операционные системы и сети неразделимы.

Общая картина функционирования компьютерной системы

Общая картина функционирования компьютерной системы

Верхние уровни программного обеспечения — системное и прикладное программное обеспечение (например, компиляторы, текстовые процессоры, системы управления базами данных) — доступны пользователям компьютеров. Эти программы взаимодействуют с операционной системой, которая, в свою очередь, управляет работой компьютера.

Классификация компьютерных систем

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

Суперкомпьютеры — мощные многопроцессорные компьютеры, самые сложные из которых достигают производительности до петафлопс (10 15 реальных операций в секунду; аббревиатура flops означает операции с плавающей запятой в секунду). Одним из примеров является суперкомпьютер «Ломоносов» в Московском государственном университете. Суперкомпьютеры используются для вычислений, требующих высокой вычислительной мощности, чрезвычайно высокой производительности и большого объема памяти. На практике это в основном задачи моделирования, например, моделирование климата в регионе и прогнозирование погоды в регионе на ближайшие дни на основе созданной модели. Особенностью суперкомпьютеров является их параллельная архитектура — обычно это мультипроцессоры. Соответственно, операционные системы для суперкомпьютеров должны поддерживать распараллеливание задач и синхронизацию параллельных процессов, которые одновременно решают подпроцессы программы.

Многоцелевой компьютер или мэйнфрейм — это традиционный исторический термин для обозначения компьютеров, появившихся в 1950-1970-х годах, до эпохи широкого распространения персональных компьютеров. Первые операционные системы были разработаны для мэйнфреймов. Типичными примерами таких компьютеров являются IBM 360/370, а в случае домашних компьютеров — М-220 и БЭСМ-6. Такие компьютеры использовались для решения всех необходимых задач — от расчета заработной платы рабочих до расчета траекторий космических ракет. Такой компьютер выглядел довольно громоздким и громоздким и мог занимать большое пространство. Вспомните, например, огромный компьютер HAL на космическом корабле в научно-фантастическом фильме Стэнли Кубрика 1960-х годов «2001 год, космическая одиссея». Но ни один научно-фантастический фильм не смог бы предсказать развитие компьютерных технологий в 21 веке — особенно то, что мощный компьютер не занимает целую комнату, а помещается в небольшой коробке. Параметры первых мэйнфреймов были довольно скромными: Производительность — несколько тысяч операций в секунду, основная память — несколько тысяч ячеек (слов). Пользовательский интерфейс был недостаточно дружественным (интерактивное взаимодействие с компьютером появилось гораздо позже, в 1960-х годах). Тем не менее, эти компьютеры использовались для решения серьезных оборонных и космических задач. С появлением персональных компьютеров и ноутбуков классические мейнфреймы ушли в прошлое. Однако следует подчеркнуть, что операционные системы для мэйнфреймов реализовали все основные методы и алгоритмы, обсуждаемые в этом курсе, которые затем были использованы в операционных системах для персональных компьютеров, ноутбуков и мобильных устройств.

Компьютерные кластеры — это группы компьютеров, физически расположенных рядом друг с другом и соединенных между собой высокоскоростными шинами и линиями связи. Компьютерные кластеры используются для высокопроизводительных параллельных вычислений. Самые известные в мире компьютерные кластеры расположены в исследовательском центре CERN в Швейцарии, где также находится Большой адронный коллайдер. Как правило, компьютерные кластеры располагаются в научно-исследовательских институтах и университетах, например, в Петродворцовом научно-образовательном комплексе Санкт-Петербургского государственного университета, который используется в Петродворцовом телекоммуникационном центре (ПТЦ), на математическом и инженерном факультетах и физическом факультете. Операционная система для кластеров должна предоставлять, помимо общих функций, инструменты для конфигурирования кластера, управления входящими в него компьютерами (процессорами), параллельного решения проблем между компьютерами кластера и мониторинга компьютерной системы кластера. Примерами таких операционных систем являются Microsoft Windows 2003 for Clusters и Windows 2008 High-Performance Computing (HPC).

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