В 1950-х и 1960-х годах были сформулированы и реализованы фундаментальные идеи, определяющие функциональность операционных систем: Пакетный режим, синхронизация и многозадачность, разделение питания, масштабирование в реальном времени, файловые структуры и файловые системы.
Операционная система
Операционная система, сокращенно ОС (ОС ) — набор управляющих и обрабатывающих программ, которые, с одной стороны, выполняют роль интерфейса между устройствами компьютерной системы и приложениями, а с другой стороны, используются для управления устройствами, контроля вычислительных процессов, эффективного распределения вычислительных ресурсов между вычислительными процессами и организации надежных вычислений. Это определение применимо к большинству современных операционных систем общего назначения.
В логической структуре типичной компьютерной системы операционная система занимает место между устройствами с их микроархитектурой, машинным языком и, возможно, собственной (встроенной) микропрограммой, с одной стороны, и прикладными программами — с другой.
Операционная система позволяет разработчикам программного обеспечения абстрагироваться от деталей реализации и работы устройств, предоставляя минимальный набор функций (см.: интерфейс прикладного программирования).
В большинстве компьютерных систем операционная система является наиболее важной (а иногда и единственной) частью системного программного обеспечения. С 1990-х годов наиболее широко используемыми операционными системами являются системы семейства Windows и системы класса UNIX (особенно Linux и Mac OS).
Схема, иллюстрирующая место операционной системы в многоуровневой структуре компьютера
Содержание
- 1 Функции
- 2 Понятие
- 3 Ядро
- 4 Эволюция и основные идеи
- 4.1 Пакетный режим
- 4.2 Разделение времени и многозадачность
- 4.3 Разделение полномочий
- 4.4 Реальный масштаб времени
- 4.5 Файловые системы и структуры
- Исполнение запросов программ (ввод и вывод данных, запуск и остановка других программ, выделение и освобождение дополнительной памяти и др.).
- Загрузка программ в оперативную память и их выполнение.
- Стандартизованный доступ к периферийным устройствам (устройства ввода-вывода).
- Управление оперативной памятью (распределение между процессами, организация виртуальной памяти).
- Управление доступом к данным на энергонезависимых носителях (таких как жёсткий диск, оптические диски и др.), организованным в той или иной файловой системе.
- Обеспечение пользовательского интерфейса.
- Сохранение информации об ошибках системы.
- Параллельное или псевдопараллельное выполнение задач (многозадачность).
- Эффективное распределение ресурсов вычислительной системы между процессами.
- Разграничение доступа различных процессов к ресурсам.
- Организация надёжных вычислений (невозможности одного вычислительного процесса намеренно или по ошибке повлиять на вычисления в другом процессе), основана на разграничении доступа к ресурсам.
- Взаимодействие между процессами: обмен данными, взаимная синхронизация.
- Защита самой системы, а также пользовательских данных и программ от действий пользователей (злонамеренных или по незнанию) или приложений.
- Многопользовательский режим работы и разграничение прав доступа (см.: аутентификация, авторизация).
Элементы операционной системы:
- Загрузчик
- Ядро
- Командный процессор (интерпретатор)
- Драйверы устройств
- Интерфейс
Понятие
Существует два определения операционной системы: «набор программ, управляющих аппаратным обеспечением» и «набор программ, управляющих другими программами». И то, и другое имеет свое точное техническое значение, которое относится к тому, когда необходима операционная система.
Существуют компьютерные приложения, в которых операционные системы не нужны. Встроенные микрокомпьютеры во многих бытовых приборах, автомобилях (иногда по дюжине штук) и простейших мобильных телефонах, например, выполняют только одну программу, которая запускается при включении. Многие простые игровые приставки — которые также являются специализированными микрокомпьютерами — могут работать без операционной системы и запускать программы, хранящиеся на вставленном «картридже» или CD-ROM.
Операционные системы необходимы, когда:
- вычислительная система используется для различных задач, причём программы, решающие эти задачи, нуждаются в сохранении данных и обмене ими. Из этого следует необходимость универсального механизма сохранения данных; в подавляющем большинстве случаев операционная система отвечает на неё реализацией файловой системы. Современные системы, кроме того, предоставляют возможность непосредственно «связать» вывод одной программы со вводом другой, минуя относительно медленные дисковые операции;
- различные программы нуждаются в выполнении одних и тех же рутинных действий. Например, простой ввод символа с клавиатуры и отображение его на экране может потребовать исполнения сотен машинных команд, а дисковая операция — тысяч. Чтобы не программировать их каждый раз заново, операционные системы предоставляют системные библиотеки часто используемых подпрограмм (функций);
- между программами и пользователями системы необходимо распределять полномочия, чтобы пользователи могли защищать свои данные от несанкционированного доступа, а возможная ошибка в программе не вызывала тотальных неприятностей;
- необходима возможность имитации «одновременного» исполнения нескольких программ на одном компьютере (даже содержащем лишь один процессор), осуществляемой с помощью приёма, известного как «разделение времени». При этом специальный компонент, называемый планировщиком, делит процессорное время на короткие отрезки и предоставляет их поочерёдно различным исполняющимся программам (процессам);
- оператор должен иметь возможность так или иначе управлять процессами выполнения отдельных программ. Для этого служат операционные среды — оболочка и наборы утилит — они могут являться частью операционной системы.
Поэтому современные универсальные операционные системы в основном делятся на следующие категории:
- использующие файловые системы (с универсальным механизмом доступа к данным),
- многопользовательские (с разделением полномочий),
- многозадачные (с разделением времени).
Многозадачность и распределение обязанностей требуют определенной иерархии привилегий компонентов самой операционной системы. В операционной системе можно выделить три группы компонентов:
- ядро, содержащее планировщик; драйверы устройств, непосредственно управляющие оборудованием; сетевая подсистема, файловая система;
- системные библиотеки;
- оболочка с утилитами.
Большинство программ, обе программы
Операционная система — это самая главная программа на ПК
Это интерфейс (мост) между «железом» в компьютерном модуле или корпусе телефона (процессор, память, жесткий диск) и пользователем.
Он предназначен для управления общей работой компьютера и эффективного использования его ресурсов. Операционная система — это «большой босс», который выполняет следующие функции:
Для удобства взаимодействия пользователя с программным обеспечением (Microsoft Word, браузеры, игры и т.д.) операционные системы имеют графический интерфейс пользователя (графическую оболочку).
Первой действительно популярной операционной системой была Windows 95, и ее главной особенностью был графический интерфейс, который позволял управлять компьютером с помощью мыши, делая его понятным большему количеству людей. Ранние операционные системы требовали специальных знаний (команд) для управления компьютером.
- управляет свободными ресурсами оперативной памяти, жестких дисков или карт памяти;
- руководит загрузкой процессора;
- распределяет потоки процессов для создания многозадачности (одновременное открытие нескольких программ);
- устанавливает, обновляет и удаляет (при помощи пользователя или автоматически) программы и приложения.
Основные типы операционных систем делятся на однозадачные и многозадачные. Современные операционные системы относятся ко второму типу, т.е. они могут выполнять несколько задач.
Среди наиболее популярных — Microsoft Windows, Linux и macOS. Все они имеют свои преимущества и недостатки. Давайте рассмотрим каждый из них более подробно.
Все критикуют это семейство операционных систем за «жадность» к ресурсам компьютера, низкую стабильность работы и длительную загрузку обновлений. Однако эта операционная система используется более чем 90% пользователей компьютеров. Для этого есть веская причина.
Windows имеет множество преимуществ перед своими конкурентами, некоторые из них перечислены ниже:
Windows – это самая распространенная ОС на земле
Вот основные преимущества, которые объясняют, почему пользователи выбирают эту операционную систему.
Однако есть и некоторые недостатки:
- надежная поддержка железа (видеокарт, аудиокарт, принтеров, видеокамер и т.д.);
- легкость в установке приложений и программ (программа скачивается, а затем устанавливается, кликнув два раза мышкой по установщику);
- дружелюбный интерфейс, использовать ОС в быту легко, освоит и ребенок (интуитивно понятный);
- большой выбор программ для windows (игры, графические и текстовые редакторы, антивирусы и т.д.).
Как мы видим, преимуществ больше, и самое главное из них — удобство.
Любой пользователь может понять его в течение нескольких часов без каких-либо проблем, в этом секрет его популярности.
- долгая загрузка ОС;
- постоянные перезагрузки и необходимость установки обновлений (чтобы обеспечивать безопасность);
- возможная потеря данных или работоспособности компьютера при попадании вируса в систему.
Эта (основанная на Unix) операционная система немного отличается.
Ядро — это ядро, в котором установлена поддержка драйверов (для работы с другими устройствами). Основная концепция этой операционной системы — пакет, так как она полностью состоит из пакетов.
Linux – это надежность и безопасность везде
Если в Windows каждое приложение занимает свою собственную папку, то в Linux файлы расположены в разных папках: исполняемые файлы программы находятся в одном месте, а конфигурационные файлы, относящиеся к настройкам программы, — в другой папке.
Такое хранение и расположение файлов сбивает с толку пользователей, но с точки зрения логики такое разделение кажется логичным.
Отметим преимущества этой операционной системы:
Но и здесь не обойтись без недостатков:
Windows побеждает в этом раунде. Пользователи не захотят знакомиться с новой системой, потому что им нужен результат: «Все работает прямо из коробки». Linux — это операционная система для людей, которые любят узнавать новое.
- бесплатность системы (на сайте с выбранным дистрибутивом скачиваем необходимый образ, записываем на флешку и устанавливаем на компьютеры пользователей);
- программное обеспечение бесплатное (графические редакторы, текстовые и т.д.);
- модификация программ, если знаешь язык программирования, то можно смело писать собственные программы или изменять существующие;
- запуск программ и игр, предназначенных для системы windows, выполняется через эмуляторы (wine, виртуальные машины);
- благодаря архитектуре и сложной системе написания вирусов и активации их на Linux, она весьма надежна и безопасна, поэтому Unix-подобные системы стоят «на страже» большинства серверов.
Дистрибутивы Linux становятся все более «дружественными» к пользователю, предлагая дружественный графический интерфейс, удобные менеджеры пакетов, растущий выбор игр и приложений (Ubuntu, Linux Mint подходят для начинающих).
- неполная поддержка аппаратного обеспечения (видеокарт, аудиокарт, принтеров и т.д.), но ситуация постоянно улучшается, с каждым новым релизом поддерживается все больше устройств;
- меньшее количество игр и программ, разработчикам коммерческого ПО невыгодно вкладываться в бесплатные версии программ, поэтому они остаются в сегменте Windows;
- необходимость постоянного самообучения, при возникновении проблем с программой и драйверами ответы на вопросы необходимо искать на форумах, посвященных данной ОС, так как они неочевидны.
Первая популярная операционная система входила в семейство Windows. Он был выпущен в 1995 году и имел узнаваемый интерфейс
Эта операционная система основана на Unix и имеет существенные отличия от Windows. Самым важным и фундаментальным отличием является расположение системных файлов. В Windows каждая программа и приложение имеют свою собственную папку, содержащую все файлы, отвечающие за запуск программы. В Linux используется другая классификация: файлы сортируются в соответствии с задачей, которую они выполняют.
Виды операционных систем для ПК
Windows
Преимущества
Недостатки
- Стабильная поддержка «железа».
- Дружелюбный интерфейс.
- Легкость установки новых программ.
- Большой выбор программ.
Эта операционная система была разработана компанией Apple и предназначена для использования в ее экосистеме. Ее генезис схож с генезисом Linux, с той лишь разницей, что Mac OS работает по подписке.
- Необходимость постоянной перезагрузки при установке обновлений.
- Возможные сбои в программах при попадании вируса.
- Относительно долгая загрузка ОС.
Linux
Плюсы
Недостатки
- Система бесплатна: ее можно свободно скачать с сайта Linux. Бесплатно и все программное обеспечение.
- Программы можно модифицировать при наличии знаний в программировании.
- Безопасность с точки зрения проникновения в систему вирусов. Вирусы для Linux сложно написать.
- Возможность запуска приложений для Windows с помощью эмуляторов.
Эта операционная система была разработана компанией Apple и предназначена для использования в ее экосистеме. Ее генезис схож с генезисом Linux, с той лишь разницей, что Mac OS работает по подписке.
- Есть проблемы с поддержкой аппаратного обеспечения и внешних устройств (например принтеров), но с каждым обновлением это улучшается.
- Программ и игр для Linux создается мало, поскольку разработчики не готовы вкладываться в бесплатное ПО.
- Чтобы работать с Linux, нужно постоянно самообучаться и совершенствовать знания.
Mac OS
Окна. Подходит, если вам нужна простая и надежная операционная система для частного и профессионального использования.
Недостатки
- Возможность создать архитектуру под определенную экосистему и дорабатывать ее до совершенства.
- Эффективность в расходовании оперативной памяти и взаимодействии с «железом».
- Стабильность работы системы.
Эта операционная система была разработана компанией Apple и предназначена для использования в ее экосистеме. Ее генезис схож с генезисом Linux, с той лишь разницей, что Mac OS работает по подписке.
Каждая операционная система имеет графический интерфейс пользователя, который облегчает взаимодействие пользователя с технологией. Графический интерфейс пользователя — это «лицо» любой операционной системы, по которому ее легко отличить от других.
Как выбрать операционную систему
Широкое разнообразие существующих операционных систем можно разделить на четыре основных типа:
Важно знать некоторые тонкие нюансы, которые могут затруднить определение типа операционной системы. Существуют многопользовательские операционные системы и системы, поддерживающие сетевые соединения. И это разные операционные системы. Windows 2000 и Novell Netware, например, поддерживали сотни и даже тысячи сетевых подключений. Но их нельзя считать настоящими многопользовательскими решениями. Единственным реальным пользователем Windows 2000 и Netware является системный администратор. Поддержка сети и все учетные записи удаленных пользователей интегрированы в общую концепцию операционной системы, которая программно определяется администратором операционной системы.
Загрузчик — это небольшая программа, у которой есть только одна функция: загрузить операционную систему в память. Это позволяет запустить загрузчик. Как правило, загрузчик запускает небольшие драйверы, которые взаимодействуют с различными аппаратными подсистемами и управляют ими. Все они располагаются в одной памяти, в которой также находится сама операционная система, информация о пользователе и приложения. Структура данных с множеством сигналов, указателей и таймеров, взаимодействующих внутри и между подсистемами компьютера и приложениями, приходит в движение. Затем управление компьютером передается операционной системе.
Функции операционной системы
- Руководство загрузкой процессора.
- Управление свободными ресурсами памяти.
- Установка и обновление приложений и программ.
- Распределение потоков процессов и поддержка многозадачности (одновременного выполнения нескольких задач).
Мы поставили запятую в этом месте, потому что еще не говорили о том, какие группы задач выполняет типичная операционная система. Но это будет темой следующего повествования.
Типы операционных систем
Это будет продолжаться…
- Операционные системы реального времени (Real-time operating system, RTOS). Операционные системы реального времени предназначены для управления машинным оборудованием, научными инструментами и промышленными системами. Обычно пользовательский интерфейс таких систем не балует дизайнерскими изысками, а утилиты, ориентированные на конечного пользователя, отсутствуют. Это готовая к использованию «закрытая коробка». Важнейшей задачей такого типа операционной системы является следить за тем, чтобы определенная операция выполнялась в определенный отрезок времени. И эти отрезки были равными. В сложных машинах нельзя допустить, чтобы их элементы двигались быстрее чем нужно, поскольку система располагает «лишними» ресурсами. Или, наоборот, не двигались вовсе по причине занятости системы
- Однопользовательские однозадачные операционные системы (Single-user, single task). Как следует из их названия, эти операционные системы ориентированы на выполнение одним пользователем одной задачи в один период времени. Ярким примером системы такого типа может служить Palm OS для наладонников Palm. Эти устройства пользовались определенной популярностью до того как началось массовое распространение смартфонов
- Однопользовательские многозадачные операционные системы (Single-user, multi-tasking). Системы этого типа управляют большинством современных настольных и портативных компьютеров. И Microsoft Windows, и Apple OS X относятся именно к этому типу. Например, пользователь Windows может одновременно писать заметку в текстовом редакторе и загружать файл из Интернета. В это же самое время принтер может печатать, а почтовый клиент принимать электронную корреспонденцию
- Многопользовательские операционные системы (Multi-user). Многопользовательские операционные системы позволяют нескольким пользователям одновременно получать доступ к ресурсам устройства. Операционной системе приходится удерживать баланс между теми требованиями, которые предъявляют разные пользователи. При этом операционной системе приходится следить за тем, чтобы у каждой из работающих программ было достаточно ресурсов, и задача, решаемая одним из пользователей, не мешала другим пользователям. В качестве ярких примеров многопользовательских систем можно привести Unix, VMS и операционные системы для больших ЭВМ, подобные MVS
С сайта computer.howstuffworks.com
Компьютерные операционные системы
Эффективная работа ИТ-инфраструктуры современного предприятия невозможна без хорошо подобранной серверной операционной системы.
Назначение серверной операционной системы — управление приложениями, которые обслуживают всех пользователей корпоративной сети и внешних пользователей (СУБД, средства анализа и управления сетью, службы каталогов, службы обмена сообщениями и группового ПО, веб-серверы, почтовые серверы, корпоративные брандмауэры, серверы приложений, компоненты сервера бизнес-приложений).
Выбор серверной операционной системы и аппаратной платформы для сервера в первую очередь определяется масштабом бизнеса и требованиями к производительности, стабильности и доступности. Основными игроками на рынке серверных операционных систем являются семейства Windows и Unix.
Серверные версии операционной системы Windows широко используются сегодня — благодаря простоте управления и низкой совокупной стоимости владения.
UNIX — это группа многозадачных и многопользовательских операционных систем. В настоящее время существует большое количество вариантов операционных систем в этой области — как коммерческих, так и с открытым исходным кодом.
ОС для корпоративного сектора
Большинство российских серверов работают под управлением какого-либо клона Unix. Согласно выборочному опросу, проведенному компанией RuMetrika (данные 2006 года), среди российских серверов явным лидером является Free BSD (53%), на втором месте Linux (32%), количество серверов под управлением Windows составляет 9%, Solaris встречается реже — всего 5%.
Операционная система «Юникс» («Unix», первоначально «UNICS», аллюзия на название «MULTICS»), разработанная и внедренная в 1969 году Кеном Томпсоном с помощью многих его коллег (включая Денниса Ритчи и Брайана Кернигана), содержала многие черты более ранних операционных систем, но также имела множество характеристик, которые отличали ее от большинства предшественников:
Благодаря конкуренции между реализациями, архитектура операционной системы «Unix» сначала стала де-факто промышленным стандартом, а затем получила статус юридического стандарта — ISO/IEC 9945.
Операционные системы семейства Windows
Операционные системы, которые следуют стандарту или основаны на нем, называются «POSIX-совместимыми».
Операционные системы семейства UNIX
Стандартизация операционной системы гарантирует, что сама операционная система и/или оборудование могут быть легко заменены по мере развития компьютерной системы или сети, и что прикладное программное обеспечение может быть передано экономически эффективно (строгое следование стандарту подразумевает полную совместимость с исходным кодом; некоторые изменения все еще могут потребоваться из-за стандартизированного профилирования и разработки, но передача программного обеспечения между POSIX-совместимыми системами дешевле, чем между альтернативами) и что непрерывность гарантирована.
Наиболее заметным результатом применения этого стандарта стало эффективное развитие Интернета в 1990-х годах.
«Unix», стандартизация ОС и POSIX
Позже команда разработчиков операционной системы Unix попыталась повторить ее успех, обобщив и дополнив первоначальную концепцию. Это привело к появлению Plan9 и Inferno, но они не получили широкого распространения.
- простая метафорика (два ключевых понятия: вычислительный процесс и файл);
- компонентная архитектура: принцип «одна программа — одна функция» плюс мощные средства связывания различных программ для решения возникающих задач («оболочка»);
- минимизация ядра (кода, выполняющегося в «реальном» («привилегированном») режиме процессора) и количества системных вызовов;
- независимость от аппаратной архитектуры и реализация на машиннонезависимом языке программирования (язык программирования «Си» стал «побочным продуктом» разработки «Unix»);
Позже в Испании были разработаны «Off++» и «План Б» на основе «Плана 9», которые носили экспериментальный характер.
Усилия по созданию архитектуры meta-Unix также включали разработку системы программирования и операционной среды Oberon в Швейцарском федеральном технологическом институте (ETH Zurich) под руководством профессора Никлауса Вирта.
«Post Unix» архитектуры ОС