====== Современные ОС (анализ) ====== ===== Что такое операционная система (ОС) ? ===== * [[http://ru.wikipedia.org/wiki/%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0|ОС]], как [[http://ru.wikipedia.org/wiki/%D0%92%D0%B8%D1%80%D1%82%D1%83%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D0%BC%D0%B0%D1%88%D0%B8%D0%BD%D0%B0|виртуальная машина]] С помощью простых и ясных абстракций от программиста скрываются физические подробности работы компьютера * [[http://ru.wikipedia.org/wiki/%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0|ОС]], как менеджер ресурсов Осуществляет упорядоченное и контролируемое распределение процессорного времени, памяти и др. между программами * [[http://ru.wikipedia.org/wiki/%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0|ОС]], как защитник пользователей и программ Обеспечивает сохранность данных каждого пользователя и изолирует их выполняющиеся приложения друг от друга * [[http://ru.wikipedia.org/wiki/%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0|ОС]], как постоянно функционирующее ядро Постоянно работающая на компьютере программа (или ее часть – ядро), взаимодействующая со всеми прикладными программами Таким образом, [[file://localhost/C:/Documents%20and%20Settings/Аля/Мои%20документы/Likt/Проект/Операционная%20система%20—%20Википедия.htm|Операционная система (ОС)]] - комплекс системных и управляющих программ, предназначенных для наиболее эффективного использования всех ресурсов вычислительной системы (ВС) (Вычислительная система - взаимосвязанная совокупность аппаратных средств вычислительной техники и программного обеспечения, предназначенная для обработки информации) и удобства работы с ней. ===== Цели работы операционной системы: ===== * обеспечить удобство, эффективность и безопасность выполнения пользовательских программ * обеспечить удобство, эффективность и безопасность использования компьютера * обеспечить удобство, эффективность и безопасность использования сетевых, дисковых и других внешних устройств, подключенных к компьютеру ===== Основные компоненты ОС ===== * Ядро (kernel) – основа [[http://ru.wikipedia.org/wiki/%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0|ОС]], загружаемая в память один раз и постоянно находящаяся в памяти * Подсистема управления ресурсами (resource allocator) – часть [[http://ru.wikipedia.org/wiki/%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0|ОС]], управляющая вычислительными ресурсами (оперативной и внешней памятью и др.) * Управляющая программа (control program, supervisor) – подсистема [[http://ru.wikipedia.org/wiki/%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0|ОС]], управляющая исполнением других программ и функционированием устройств ввода-вывода ====== Классификация ОС ====== Существует несколько схем классификаций. ===== Классификация по ряду критериев с точки зрения пользователя ===== === Реализация многозадачности === По числу одновременно выполняемых задач операционные системы можно разделить на два класса: * многозадачные ([[http://ru.wikipedia.org/wiki/Unix|Unix]], [[http://ru.wikipedia.org/wiki/OS/2|OS/2]], [[http://ru.wikipedia.org/wiki/Microsoft_Windows|Windows]]) * однозадачные (например, [[http://ru.wikipedia.org/wiki/MS-DOS|MS-DOS]]) === Поддержка многопользовательского режима === По числу одновременно работающих пользователей [[http://ru.wikipedia.org/wiki/%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0|ОС]] можно разделить на: * однопользовательские (MS-DOS, Windows 3.x) * многопользовательские (Windows NT и прочие, Unix) Наиболее существенное отличие между этими [[http://ru.wikipedia.org/wiki/%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0|ОС]] заключается в наличии у многопользовательских систем механизмов защиты персональных данных каждого пользователя. === Организация интерфейса пользователя === * Неграфические [[http://ru.wikipedia.org/wiki/%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0|ОС]] Интерфейс командной строки (клавиатура). Пример - [[http://ru.wikipedia.org/wiki/MS-DOS|MS-DOS]]. Для облегчения работы пользователя использовались различные файловые менеджеры. Наиболее популярные из них: [[http://ru.wikipedia.org/wiki/Norton_Commander|Norton Commander]] ,[[http://ru.wikipedia.org/wiki/Volkov_Commander|Volkov Commander]] ,[[http://ru.wikipedia.org/wiki/DOS_Navigator|DOS Navigator]] * Графические [[http://ru.wikipedia.org/wiki/%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0|ОС]] Графический интерфейс пользователя (манипулятор).Пример - Windows,[[http://ru.wikipedia.org/wiki/Linux|Linux]]. ===== Классификация в соответствии с видами компьютерных систем ===== Развитие компьютерной техники привело к появлению огромного количества различных операционных систем, далеко не все из которых широко известны. Кратко рассмотрим семь из них. ==== Операционные системы мэйнфреймов ==== {{ :tema:ris3.jpg?200|Мейнфрейм}} На самом верхнем уровне находятся операционные системы для мэйнфреймов. Эти компьютеры размером с комнату все еще можно встретить в центрах данных больших корпораций. [[http://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D0%B9%D0%BD%D1%84%D1%80%D0%B5%D0%B9%D0%BC|Мэйнфреймы]] отличаются от персональных компьютеров по своим возможностям ввода-вывода. Довольно часто встречаются мэйнфреймы с тысячью дисков и терабайтами [[http://ru.wikipedia.org/wiki/%D0%94%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5|данных]], а персональный компьютер с такими параметрами показался бы действительно необычным. Мэйнфреймы как бы возвращаются в виде мощных web-серверов, серверов для крупномасштабных электронно-коммерческих сайтов и серверов для транзакции в бизнесе. [[http://ru.wikipedia.org/wiki/%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0|ОС]] для мэйнфреймов в основном ориентированы на обработку множества одновременных заданий, большинству которых требуется огромное количество операций ввода-вывода. Обычно они предлагают три вида обслуживания: пакетную обработку, обработку транзакций (групповые операции) и разделение времени. Пакетная обработка представляет собой систему, выполняющую стандартные задания без присутствия пользователей, работающих в интерактивном режиме. Системы обработки транзакций управляют очень большим количеством маленьких запросов, например, контролируют процесс работы в банке или бронирование авиабилетов. Каждый отдельный запрос невелик, но система должна отвечать на сотни или тысячи запросов в секунду. Системы, работающие в режиме разделения времени, позволяют множеству удаленных пользователей одновременно выполнять свои задания на одной машине. Хорошим примером является работа с большой базой данных. Все эти функции тесно связаны между собой, и зачастую [[http://ru.wikipedia.org/wiki/%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0|ОС]] мэйнфрейма выполняет их все. Примером [[http://ru.wikipedia.org/wiki/%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0|ОС]] для Мейнфреймов является OS/390, произошедшая от OS/360. ==== Серверные ОС ==== {{ :tema:pa017105_2222.jpg?250|Сервера}} Уровнем ниже находятся серверные [[http://ru.wikipedia.org/wiki/%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0|ОС]]. Они работают на серверах, которые представляют собой или очень большие персональные компьютеры, или рабочее станции, или даже мэйнфреймы. Они одновременно обслуживают множество пользователей и позволяют им делить между собой программные и аппаратные ресурсы. Серверы предоставляют возможность работы с печатающими устройствами, файлами или Интернетом. Интернет-провайдеры обычно запускают в работу несколько серверов для того, чтобы поддерживать одновременный доступ к сети множества клиентов. На серверах хранятся страницы web-сайтов и обрабатываются входящие запросы. UNIX и Windows 2000 являются типичными серверными [[http://ru.wikipedia.org/wiki/%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0|ОС]]. Теперь в этих целях стала использоваться и [[http://ru.wikipedia.org/wiki/%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0|ОС]] Linux. ==== Многопроцессорные ОС ==== Все более часто применяемый способ увеличения мощности компьютеров заключается в соединении нескольких центральных процессоров в одной системе. В зависимости от вида соединения процессоров и разделения работы такие системы называются параллельными компьютерами, мультикомпьютерами или многопроцессорными системами. Для них требуются специальные [[http://ru.wikipedia.org/wiki/%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0|ОС]], на зачастую такие [[http://ru.wikipedia.org/wiki/%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0|ОС]] представляют собой варианты серверных [[http://ru.wikipedia.org/wiki/%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0|ОС]] со специальными возможностями связи. ==== ОС для персональных компьютеров ==== Следующую категорию составляют [[http://ru.wikipedia.org/wiki/%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0|ОС]] для [[http://ru.wikipedia.org/wiki/%D0%9F%D0%B5%D1%80%D1%81%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80|ПК]]. Их работа заключается в предоставлении удобного интерфейса для одного пользователя. Такие системы широко используются для работы с текстом, электронными таблицами и доступа к Интернету. Наиболее яркие примеры – это Windows 98, Windows 2000, Windows XP, Windows Vista, ос компьютера [[http://ru.wikipedia.org/wiki/Macintosh|Macintosh]] и Linux. Эти [[http://ru.wikipedia.org/wiki/%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0|ОС]] очень хорошо известны, и множество людей даже не имеет понятия о существовании других видов [[http://ru.wikipedia.org/wiki/%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0|ОС]], кроме той, которой они пользуются. ---- {{:tema:msdos.jpg?150|}}{{:tema:linux1.gif|}}{{:tema:win_4.jpg|}}{{:tema:ubuntu_logo.png?150|}}{{:tema:unix111.jpg|}} ==== ОС реального времени ==== Еще один вид [[http://ru.wikipedia.org/wiki/%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0|ОС]] – это системы реального времени. Главным параметром таких систем является время. Например, в системах управления производством компьютеры, работающие в режиме реального времени, собирают данные о промышленном процессе и используют их для управления машинами на фабрике. Часто такие процессы должны удовлетворять жестким временным требованиям. Так, если автомобиль передвигается по конвейеру, то каждое действие должно быть осуществлено в строго определенный момент времени. Если некоторое действие должно произойти в конкретный момент времени (или внутри заданного диапазона времени), мы имеем дело с жесткой системой реального времени. Существует и другой вид: гибкая система реального времени, в которой допустимы случающиеся время от времени пропуски сроков выполнения операции. В эту категорию попадают цифровое аудио мультимедийные системы. Системы VxWorks и QNX являются хорошо известными [[http://ru.wikipedia.org/wiki/%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0|ОС]] реального времени. ==== Встроенные ОС ==== {{:tema:apple-newton.jpg?200 |}}Продолжая двигаться от огромных систем ко все меньшим, мы добрались до «карманных» компьютеров и встроенных систем. Карманный компьютер (КПК) или [[http://ru.wikipedia.org/wiki/%D0%9A%D0%B0%D1%80%D0%BC%D0%B0%D0%BD%D0%BD%D1%8B%D0%B9_%D0%BF%D0%B5%D1%80%D1%81%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80|PDA]] (Personal Digital Assistant – персональный цифровой помощник) – это маленький компьютер, помещающийся в кармане, выполняющий небольшой набор функций (телефонной записной книжки и блокнота). Встроенные системы, управляющие действиями устройств, работают на машинах, обычно не считающихся компьютерами, например, телевизорах, микроволновых печах и мобильных телефонах. Они часто обладают теми же самыми характеристиками, что и системы реального времени, но при этом имеют особый размер, память и ограничения мощности, что выделяет их в отдельный класс. Примерами таких [[http://ru.wikipedia.org/wiki/%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0|ОС]] являются PalmOS и Windows CE (Consumer Electronics – бытовая техника). ==== ОС для смарт-карт ==== Самые маленькие [[http://ru.wikipedia.org/wiki/%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0|ОС]] работают на смарт-картах, представляющих собой устройство размером с кредитную карту, содержащее центральный процессор. На такие [[http://ru.wikipedia.org/wiki/%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0|ОС]] накладываются крайне жесткие ограничения по мощности процессора и памяти. Некоторые из них могут управлять только одной операцией, например электронным платежом, но другие [[http://ru.wikipedia.org/wiki/%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0|ОС]] на тех же самых смарт-картах выполняют сложные функции. Зачастую они являются патентованными системами. Некоторые [[http://ru.wikipedia.org/wiki/%D0%A1%D0%BC%D0%B0%D1%80%D1%82-%D0%BA%D0%B0%D1%80%D1%82%D0%B0|смарт-карты]] являются Java-ориентированными. Это означает, что ПЗУ смарт-карт содержит интерпретатор виртуальной машины [[http://ru.wikipedia.org/wiki/Java|Java]] (JVM, Java Virtual Machine). Апплеты Java (маленькие программы) загружаются на карту и выполняются JVM-интерпретатором. Некоторые из таких карт могут одновременно управлять несколькими апплетами Java, что приводит к многозадачности и необходимости планирования. Из-за одновременной работы двух и более программ возникает необходимость в управлении ресурсами и защитой. Соответственно, все эти задачи выполняет обычно крайне примитивная [[http://ru.wikipedia.org/wiki/%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0|ОС]], находящаяся на смарт-карте. == Использованые материалы: == * Бабич А.В. [[http://www.microsoft.com/Rus/Msdnaa/Curricula/Default.mspx|Курс лекции]] в Полтавском политехническом колледже и Полтавском государственном педагогическом университет им В.Г. Короленко * [[http://www.intuit.ru/lector/42.html|К.А. Коньков]], [[http://www.intuit.ru/lector/41.html|В.Е. Карпов]] Основы операционных систем * Санкт-Петербургский государственный университет, Математико-механический факультет, Кафедра информатики [[http://www.microsoft.com/Rus/Msdnaa/Curricula/Default.mspx|Материалы по курсу]] “Операционные системы и сети ЭВМ” Проф. Сафонов Владимир Олегович * [[http://ru.wikipedia.org/wiki/Andrew_S._Tanenbaum|Э.Таненбаум]] Современные операционные системы ---- Выполнила Борисова Альбина 10а