Операционные системы.
Обзор современных операционных систем.
В настоящее время наблюдается небывалый расцвет ОС, а именно выпускаются новые операционные системы для настольных компьютеров, кластеров компьютеров и параллельных вычислений, мобильных устройств и облачных вычислений.
Кластер компьютеров (cluster – анг., скопление) — это группа компьютеров, объединенных высокоскоростными каналами связи, представляющие с точки зрения пользователя единую машину (единый вычислительный ресурс). Они используются для высокопроизводительных параллельных вычислений.
Параллельные вычисления — это способ организации компьютерных вычислений при котором программы разрабатываются, как набор взаимодействующих вычислительных процессов работающих параллельно (одновременно).
Перечислим наиболее распространенные современные ОС:
Windows
Корпорация Microsoft на сегодняшний момент является бесспорным лидером в выпуске ОС, а именно за последние 10 лет вышла целая серия ОС семейства Windows: Windows XP, 2003 Vista, 2008, 2008 High-Performance Computer(HPC),7.
Диалекты ОС Linux (Red Hat, Ubuntu, SuSE, Fedora, Mandrake)
Linux Операционная система типа UNIX ядро которой свободно распространяется с исходными кодами.
Solaris. Разработкой и выпуском данной ОС до 2010 года занималась фирма Sun Microsystems, которая на данный момент вошла в состав фирмы Oracle. Одна из наиболее современных систем типа UNIX. Сразу для поддержки параллельного программирования, новыми видами файловых систем, отличающаяся своей повышенная надежностью.
Mac OS. Данная ОС очень популярна в США и Канаде, т. к. там большое
распространение получили компьютеры семейства Macintosh. Занимает лидирующее положение в области графических пользовательских интерфейсов и обмена мультимедийной информацией например речевого ввода.
IBM Для суперкомпьютеров и для компьютеров общего назначения.
Большим толчком к созданию новых более усовершенствованных ОС послужил факт открытия исходных кодов ОС крупными компаниями разработчиками. В 2003 году корпорация Microsoft положила начало этому движению объявив о старте академической программы которая называлась Windows Embedded Share Source и открытый исходный код Windows для встроенных систем. Под встроенными системами как правило понимается любое ПО управляющее разнообразными устройствами и встроенное внутрь данных устройств, т. е. записанные в энергонезависимую память.
А в 2006 году компания открыла исходный код ядра ОС Windows семейства NT (NT/2000/XP/2003/2008/7) и предоставило в распоряжение университетов и академических организаций Windows Research Kernel (WRK).Это самодокументируемый исходный код «исследовательского» ядра Windows, таким образом каждый желающий имеет возможность изучать систему Windows изнутри и развивать её, но только для целей обучения, а не для коммерции.
Летом 2005 года Sun Microsystems (Oracle) также начала проект, который называется OpenSolaris, открыв исходный текст ядра ОС Solaris, сетевых компонентов, системных библиотек и базовых программ. До 2010 года результаты этого академического проекта использовались при выпуске новых версий коммерческой версии ОС Solaris.
OpenIndiana – Solaris-дистрибутив, созданный в рамках сообщества illiumos Foundation и ставший преемником OpenSolaris, разработка которого была закрыта Oracle в 2010 году. Планируется, что развитие ОС будет вестись исключительно силами развития сообщества не допуская влияния коммерческих компаний. OpenIndiana является открытым исходным кодом свободно используемым, разрабатываемым сообществом и подходит для серверов и настольных ПК.
С начала 90-х годо ядро ОС Linux также распространяется свободно с исходными кодами. Данный факт вызвал появление целой волны работ по созданию новых диалектов Linux, а также по разработки новых ОС для мобильных устройств на базе ядра Linux (Google Android).
ОС для мобильных устройств:
На протяжении нескольких последних лет на данном рынке лидирующие позиции занимала ОС семейства Symbian, однако сейчас её активно теснят Windows Mobile, Google Android.
ОС для облачных вычислений:
Это принципиально новый вид ОС, отражающий современную тенденцию к организации вычислений как облачных.
Облачные вычислений — (cloud computing – анг.,) это технология распределенной обработки данных, в которой компьютерные ресурсы и мощности предоставляются пользователю как интернет сервис. При ОВ пользователь со своего компьютера получает обычно платный доступ через интернет к веб-сервису, работающем на компьютерах мощных центров обработки данных. При этом не только используемое программное обеспечение, но и сами обрабатываемые данные хранятся на серверах «облачного» центра обработки данных. На своём компьютере пользователь имеет лишь простой и удобный, не требующий больших ресурсов облачный веб-интерфейс. (Microsoft Windows Azune).
Понятие ОС и цели её работы
ОС — базовое системное программное обеспечение, управляющее работой компьютера и являющаяся посредником (интерфейсом) между аппаратурой (hardware), прикладным ПО (application software) и пользователем компьютера. Фактически ОС с точки зрения пользоватея это продолжение аппаратуры, надстройка над ней, обеспечивающая более удобное, надежное и безопасное использование компьютера и компьютерных сетей.
Рассмотрим основные цели ОС:
обеспечение удобства, эффективности, надежности, безопасности выполнения пользовательских программ.
обеспечение удобства, эффективности, надежности, безопасности использования компьютера (ОС обеспечивает максимальную эффективность и полезность использования компьютера и его ресурсов, обрабатывает прерывания, защищает компьютер от сбоев, отказов и хакерских атак)
обеспечение удобства, эффективности, надежности, безопасности использования сетевых, дисковых и других внешних устройств подключенных к компьютеру. (это особая функция ОС, которая обеспечивает работу с внешними устройствами например ОС обрабатывает любое обращение к жесткому диску, обеспечивая работу соответствующего драйвера (низкоуровневые программы для обмена информации с диском) и контроллер (специализированного процессора, выполняющего команды ввода вывода с диска))
обеспечение безопасности, надежности и защиты данных
Компоненты компьютерной системы и особенности её функционирования
Чтобы лучше понять место и роль операционной системы в процессе вычисления рассмотрим компьютерную систему в целом. Она состоит из следующих компонентов:
I. Аппаратные устройства:
ЦП(CPU), выполняющий команды (инструкции) компьютера
Память (memory), хранящая данные и программы
устройства ввода вывода (Input-output devices), обеспечивающие ввод информации в компьютер и вывод результатов работы программ в форме воспринимаемой пользователем или другими программами
ОС — это системное программное обеспечение, управляющее использованием аппаратуры, различными программами и пользователем
Прикладное ПО — это программы, предназначенные для решения различных классов задач. К ним относятся: компиляторы, обеспечивающие трансляцию программ с языков программирования в машинный код; СУБД; графические библиотеки; игровые и офисные программы. Прикладное ПО образует следующий более высокий уровень по сравнению с ОС.
Пользователи (users) — это люди и другие компьютеры. Компьютеры в сети также могут играть роль пользователей (клиентов) по отношению к данному компьютеру, выступающему в роли сервера.
Основные компоненты ОС:
Ядро (kernel) — низкоуровневая основа любой ОС, выполняемая аппаратурой в особом привилегированном режиме. Ядро загружается в память 1 раз при запуске ОС и находится в памяти резидентно.
Подсистема управления ресурсами (resource allocator), часть ОС, управляющая вычислительными ресурсами компьютера (оперативной и внешней памятью, процессором и т. д.)
Компонент управляющая программа (control program, supervisor) — подсистема ОС, управляющая исполнением других программ и функционированием устройств ввода вывода.
Для того чтобы представить разнообразие ОС, рассмотрим классификацию компьютерных систем для которых данные ОС разрабатываются.
Классификация компьютерных систем:
Суперкомпьютеры (supercomputers) - это мощные многопроцессорные компьютеры, наиболее современные из которых имеют производительность до нескольких петафлопс. (flops – акроним (аббревиатура, читаемая одним словом) от англ. Floating point operations per second, внесистемная единица используемая для измерения производительности компьютеров и означающая сколько операций с плавающей точкой в секунду выполняет данная вычислительная система) test linpack запускается раз в полгода на суперкомпьютерах для вычисления их мощности. Самый мощный Kcomputer 8,16 петафлопс, Российский «Ломоносов» 1,3 Пфлопс. Суперкомпьютеры используются для используются для вычислений, требующих больших вычислительных мощностей, сверхвысокой производительности и большого объема памяти. Применяются для моделирования климата в конкретном регионе, для предотвращения стихийных бедствий, исследования глобального климата и в медицине. Особенностью суперкомпьютеров является их параллельная архитектура, как правило все они являются многопроцессорными, таким образом ОС для суперкомпьютеров должна поддерживать распараллеливание решения задач и синхронизацию параллельных процессов одновременно решающих подзадачи некоторых программ.
Многоцелевые компьютеры (компьютеры общего назначения, mainframe) frame – конструкция. Это большая универсальная ЭВМ(высокопроизводительный компьютер) со значительным объемом оперативной и внешней памяти, предназначенный для организации централизованных хранилищ данных большой емкости и выполнения интенсивных вычислительных работ. Обычно mainframe это мощный компьютер используемый в качестве главного и центрального компьютера например сервера. Применяются для целочисленных операций требовательных к скорости обмена данными, к надежности и к способности одновременной обработки множества процессов (инвентаризация товаров, резервирование билетов, банковские операции). Производительность мэйнфрэймов, как правило вычисляется в миллионах операций в секунду(MIPS). MIPS = Million Instructions Per Second. В настоящее время компьютеры с архитектурой mainframe производятся только компанией IBM.
Основные заказчики mainframe в России:
ОАО «РЖД»
Банк России
ЦКБ
Мэйнфрэймы могут выполнять два вида работ, которые представляют собой два абсолютно различных типов рабочих нагрузок: 1. пакетная обработка задания (bald job, когда компьютер выполняет работу без участия человека) используется в случае значительных объемов данных на выходе. 2. обработка задания в реальном времени (on-line), например транзакционные системы — приобретение ж/д билетов, система оплаты по кредитке
Главное отличие этих видов работ — в объемы вводимых и выводимых данных. Если требуется соблюсти заведомо, оговоренное самое высокое быстродействие, при этом обслужить значительное кол-во пользователей стоит использовать мэйнфрэйм ОС которой может координировать всю эту работу.
Пример ОС, работающих с мэйнфрэймом:
z/vM — мультиос
Linux for r/Series — c тысячами машин
VSE
z/TPZ
Кластеры компьютеров (computer clusters) — это группа компьютеров физически расположенных рядом и соединенных друг с другом высокоскоростными шинами и линиями связи. КК используются для высокопроизводительных параллельных вычислений. Кластеры имеют общую файловую систему и воспринимается пользователем как единый ресурс. ОС для кластеров помимо общих возможностей должна предоставлять средства для его конфигурирования, управления компьютерами (процессорами), входящими в него. Распараллеливание рещения задач между компьютерами кластера и мониторинга кластерной компьютерной системы. Отличительной особенность кластера является то, что каждый его работающий компьютер может взять на себя дополнительную нагрузку отказавшего узла. ОС: Windows 2003 for Clusters, Windows 2008 High-Performance Computer.
Настольные компьютеры (desktops) – стационарные ПК обычно размещающиеся на рабочем столе, состоящие из монитора, системного блока, клавиатуры и мыши. Всё разнообразие современных ОС.
Портативные компьютеры: ноутбук, нетбук и др. Это миниатюрные компьютеры по своим параметрам не уступающие настольным. Лэптоп — на коленях сидящего. Широкий термин, применяется как к ноутбукам так и планшетным ПК. К ноутбукам обычно относят лэптопы выполненные в раскладном форм-факторе. Существуют две разновидности планштеных ПК: планшетный ноутбук (гибрид планшета и ноута, ноутбук с сенсорным экраном), как правило дисплей поворотный. Tablet PC — полно размерный ноутбук оборудованный сенсорным экраном и позволяющий работать при помощи стилуса или пальцев. Нетбуки для интернета. Обязательный параметр нетбука — вай фай. Всевозможные порты и адаптеры беспроводной связи.
WiFi – вид радиосвязи, позволяющий работать с производительностью 10-100 мбит/с.
IEEE – Institute of Electrical and Electronical Engineers – международная компьютерная ассоциация, специализирующаяся в области техники, является мир. Лидером в области разработки стандартов по радиоэлектронике и электротехнике
Bluetooth – радиосвязь на более коротких расстояниях (BT 3.0 - от 10 до 100 метров), используемая для взаимодействия компьютера с мобильными телефонами, наушниками и т. п.
IrDA – Infrared Data Association группа стандартов, описывающая протоколы логического и физического уровня передачи данных с использованием инфракрасного диапазона световых волн в качестве среды передачи
USB – Universal Series Bus
ОС для портативных ПК: в основном такие же как и для настольных ПК, Win NT, Linux, Windows XP tablet pc edition, Android.
Карманные портативные компьютеры и органайзеры (КПК, handhelds, PDA). Карманный персональный компьютер (КПК) — PDA – personal digital assistent (личный цифровой секретарь) портативное вычислительное устройство, обладающее широкими функциональными возможностями (просмотр видеороликов, изображений, выход в интернет, работа с графическими программами, офисными приложениями). Их часто называют наладонниками от англ. palmtop. Handheld PC – клавиатурный КПК, выполненный в раскладном или раздвижном форм-факторе. ОС для HPC: Microsoft Windows CE (Consumer Electronics — бытовая техника), вариант ОС для наладонных КПК, мобильных телефонов и встраиваемых систем. ОС для КПК: BlackBerrry OS, Palm OS, Symbian OS, Android, Windows Phone 7, Windows Mobile.
Мобильные устройства (mobile intelligent devices) – мобильные телефоны, смартфоны, коммуникаторы. В настоящее время получили большое распространение коммуникаторы и смартфоны, которые представляют собой разновидность КПК со встроенным GSM модулем. ОС теже, что и для КПК.
Носимые компьютеры (wearable computers) — критическим фактором данных компьютеров является их сверхвысокая надежность, а для их ПО в том числе для ОС это минимальное возможное время ответа (response time) — интервал в течении которого система обрабатывает информацию от датчиков, от пользователя или от сети превышение которого грозит катастрофическими последствиями. С этой точки зрения ОС для носимых компьютеров можно отнести к системам реального времени. Используется самыми различными специалистами:
при операциях с недвижимостью
в геодезии
медицине
и т.д
Первый носимый компьютер был сконструирован в 1961 году математиком Эдвардом О. Торпом. ОС на базе Android.
Распределенные системы (distributed systems) – системы состоящие из нескольких компьютеров, объединенных в проводную или беспроводную сеть. Таким образом все ОС должны поддерживать распределенный режим работы, средства сетевого взаимодействия, высокоскоростную надежную передачу информации.
Системы реального времени (real-time systems) – вычислительные системы предназначенные для управления различными техническими, военными и другими объектами в режиме реального времени. Характеризуются основным требованием к аппаратуре и к ПО (в т.ч. к ОС): недопустимость превышения времени ответа системы, т. е. ожидаемого времени выполнения типичной операции системы.