ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ СТАВРОПОЛЬСКИЙ ГОСУДАРСТВЕННЫЙ АГРАРНЫЙ УНИВЕРСИТЕТ Экономический факультет УТВЕРЖДАЮ Заведующий кафедрой ______________________ «___»_____________2014 г. ЛЕКЦИЯ №18 по дисциплине«Операционные системы и оболочки» Тема №9 Перспективы развития операционных систем для студентов специальности 230400.62–Информационные системы и технологии ШИФР наименование Рассмотрено УМК " " ___________ 2014 года протокол N ______________ Ставрополь - 2014 г. 1 Учебные и воспитательные цели: 1. : Дать систематизированные научные о перспективах развития операционных систем Время:___________________________________________________ 90 мин. Учебно-материальное обеспечение: 1. Опорная лекция. 2. ГОС ВПО по направлению 230400.62 – Информационные системы и технологии. 3. Рабочая программа дисциплины «Операционные системы и оболочки». 4. Основная и дополнительная литература. 5. Методические указания по изучению дисциплины «Операционные системы и оболочки». 6. Комплект слайдов по Теме №9 Распределение времени I. Вступительная часть II. Учебные вопросы: 1. Тенденции и перспективы развития распределенных операционных сред 2. Программные средства человеко-машинного интерфейса: мультимедиа и гипермедиа, аудио и сенсорное сопровождение II. Заключительная часть 2 СОДЕРЖАНИЕ ЗАНЯТИЯ Первый учебный вопрос Тенденции - и перспективы развития распределенных операционных сред Существует два типа распределенных систем. Мультипроцессорная операционных операционная система (multiprocessoroperatingsystem) управляет ресурсами мультипроцессора. Мулътикомпъютерная операционная система (multicomputeroperatingsystem) разрабатывается гомогенныхмультикомпьютеров. для Функциональность распределенных операционных систем в основном не отличается от функциональности традиционных операционных систем, предназначенных для компьютеров с одним процессором за исключением того, что она поддерживает функционирование нескольких процессоров. Поэтому давайте кратко обсудим операционные системы, предназначенные для обыкновенных компьютеров с одним процессором. Операционные системы для однопроцессорных компьютеров Операционные системы традиционно строились для управления компьютерами с одним процессором. Основной задачей этих систем была организация легкого доступа пользователей и приложений к разделяемым устройствам, таким как процессор, память, диски и периферийные устройства. Говоря о разделении ресурсов, мы имеем в виду возможность использования одного и того же аппаратного обеспечения различными приложениями изолированно друг от друга. Для приложения это выглядит так, словно эти ресурсы находятся в его полном распоряжении, при этом в одной системе может выполняться одновременно несколько приложений, каждое со своим собственным набором ресурсов. В этом смысле говорят, что операционная система реализует виртуальную машину (virtualmachine), предоставляя приложениям средства мультизадачности. Важным аспектом совместного использования ресурсов в такой виртуальной машине является то, что приложения отделены друг от друга. Так, 3 невозможна ситуация, когда при одновременном приложений, А и В, приложение А может исполнении изменить двух данные приложения В, просто работая с той частью общей памяти, где эти данные хранятся. Также требуется гарантировать, что приложения смогут использовать предоставленные им средства только так, как предписано операционной системой. Например, приложениям обычно запрещено копировать сообщения прямо в сетевой интерфейс. Взамен операционная система предоставляет первичные операции связи, которые можно использовать для пересылки сообщений между приложениями на различных машинах. Следовательно, операционная система должна полностью контролировать использование и распределение аппаратных ресурсов. Поэтому большинство процессоров поддерживают как минимум два режима работы. В режиме ядра (kernelmode) выполняются все разрешенные инструкции, а в ходе выполнения доступна вся имеющаяся память и любые регистры. Напротив, в пользовательском режиме (usermode) доступ к регистрам и памяти ограничен. Так, приложению не будет позволено работать с памятью за пределами набора адресов, установленного для него операционной системой, или обращаться напрямую к регистрам устройств. На время выполнения кода операционной системы процессор переключается в режим ядра. Однако единственный способ перейти из пользовательского режима в режим ядра — это сделать системный вызов, реализуемый через операционную систему. Поскольку системные вызовы — это лишь базовые службы, предоставляемые операционной системой, и поскольку ограничение доступа к памяти и регистрам нередко реализуется аппаратно, операционная система в состоянии полностью их контролировать. Существование двух режимов работы привело к такой организации операционных систем, при которой практически весь их код выполняется в режиме ядра. Результатом часто становятся гигантские монолитные программы, работающие в едином адресном пространстве. Оборотная сторона такого подхода состоит в том, что перенастроить систему часто бывает нелегко. 4 Другими словами, заменить или адаптировать компоненты операционной системы без полной перезагрузки, а возможно и полной перекомпиляции и новой установки очень трудно. С точки зрения открытости, проектирования программ, надежности или легкости обслуживания монолитные операционные системы — это не самая лучшая из идей. Более удобен вариант с организацией операционной системы в виде двух частей. Одна часть содержит набор модулей для управления аппаратным обеспечением, которые прекрасно могут выполняться в пользовательском режиме. Например, управление памятью состоит в основном из отслеживания, какие блоки памяти выделены под процессы, а какие свободны. Единственный момент, когда мы нуждаемся в работе в режиме ядра, — это установка регистров блока управления памятью. Вторая часть операционной системы содержит небольшое микроядро (microkernel), содержащее исключительно код, который выполняется в режиме ядра. На практике микроядро должно содержать только код для установки регистров устройств, переключения процессора с процесса на процесс, работы с блоком управления памятью и перехвата аппаратных прерываний. Кроме того, в нем обычно содержится код, преобразующий вызовы соответствующих модулей пользовательского уровня операционной системы в системные вызовы и возвращающий результаты. Такойподходприводит к организации, показаннойнарис. 1.8. Использование микроядра дает нам разнообразные преимущества. Наиболее важное из них состоит в гибкости: поскольку большая часть 5 операционной системы исполняется в пользовательском режиме, относительно несложно заменить один из модулей без повторной компиляции или повторной установки всей системы. Другой серьезный плюс заключается в том, что модули пользовательского уровня могут в принципе размещаться на разных машинах. Так, мы можем установить модуль управления файлами не на той машине, на которой он управляет службой каталогов. Другими словами, подход с использованием микроядра отлично подходит для переноса однопроцессорных операционных систем на распределенные компьютеры. У микроядер имеется два существенных недостатка. Во-первых, они работают иначе, чем существующие операционные системы, а попытки поменять сложившееся «статус-кво» всегда встречают активное сопротивление («если эта операционная система подходила для моего деда — она подойдет и для меня»). Во-вторых, микроядро требует дополнительного обмена, что слегка снижает производительность. Однако, зная как быстры современные процессоры, снижение производительности в 20 % вряд ли можно считать фатальным. Мультипроцессорные операционные системы Важным, но часто не слишком очевидным расширением однопроцессорных операционных систем является возможность поддержки нескольких процессоров, имеющих доступ к совместно используемой памяти. Концептуально это расширение несложно. Все структуры данных, необходимые операционной системе для поддержки аппаратуры, включая поддержку нескольких процессоров, размещаются в памяти. Основная разница заключается в том, что теперь эти данные доступны нескольким процессорам и должны быть защищены от параллельного доступа для обеспечения их целостности. Однако многие операционные системы, особенно предназначенные для персональных компьютеров и рабочих станций, не могут с легкостью поддерживать несколько процессоров. Основная причина такого поведения состоит в том, что они были разработаны как монолитные программы, которые 6 могут выполняться только в одном потоке управления. Адаптация таких операционных систем под мультипроцессорные означает повторное проектирование и новую реализацию всего ядра. Современные операционные системы изначально разрабатываются с учетом возможности работы в мультипроцессорных системах. Многопроцессорные операционные системы нацелены на поддержание высокой производительности конфигураций с несколькими процессорами. Основная их задача — обеспечить прозрачность числа процессоров для приложения. Сделать это достаточно легко, поскольку сообщение между различными приложениями или их частями требует тех же примитивов, что и в многозадачных однопроцессорных операционных системах. Идея состоит в том, что все сообщение происходит путем работы с данными в специальной совместно используемой области данных, и все что нам нужно — это защитить данные от одновременного доступа к ним. Защита осуществляется посредством примитивов синхронизации. Мультикомпьютерные операционные системы Мультикомпьютерные операционные системы обладают гораздо более разнообразной структурой и значительно сложнее, чем мультипроцессорные. Эта разница проистекает из того факта, что структуры данных, необходимые для управления системными ресурсами, не должны больше отвечать условию легкости совместного использования, поскольку их не нужно помещать в физически общую является передача память. Единственно сообщений возможным видом связи (messagepassing). Мультикомпьютерные операционные системы в основном организованы так, как показано на рис. 1.9. Каждый узел имеет свое ядро, которое содержит модули для управления локальными ресурсами — памятью, локальным процессором, локальными дисками и т. д. Кроме того, каждый узел имеет отдельный модуль для межпроцессорного взаимодействия, то есть посылки сообщений на другие узлы и приема сообщений от них. 7 Поверх каждого локального ядра лежит уровень программного обеспечения общего назначения, реализующий операционную систему в виде виртуальной машины, поддерживающей параллельную работу над различными задачами. На деле, как мы сейчас кратко рассмотрим, этот уровень может даже предоставлять абстракцию мультипроцессорной машины. Другими словами, он предоставляет полную программную реализацию совместно используемой памяти. Дополнительные средства, обычно реализуемые на этом уровне, предназначены, например, для назначения задач процессорам, маскировки сбоев аппаратуры, обеспечения прозрачности сохранения и общего обмена между процессами. Другими словами, эти средства абсолютно типичны для операционных систем вообще. Множество аспектов проектирования мультикомпьютерных операционных систем одинаково важны для любой распределенной системы. Основная разница между мультикомпьютерными операционными системами и распределенными системами состоит в том, что в первом случае обычно подразумевается, что аппаратное обеспечение гомогенно и полностью управляемо. Множество распределенных систем, однако, строится на базе существующих операционных систем. Второй учебный вопрос - Программные средства человеко-машинного интерфейса: мультимедиа и гипермедиа, аудио и сенсорное сопровождение Понятие "интерфейс" (англ. interface - в компьютерной технике - система унифицированных связей и сигналов, посредством которых компьютерные 8 устройства соединяются друг с другом) часто упоминается в связи с различными ситуациями - от взаимодействий в компьютерных системах и телекоммуникациях до социальных отношений и менеджмента. Даже специалисты иногда путают термины и смешивают понятия из разных областей, применяя технические понятия в исследованиях человеческого фактора. Моделирование моделирования систем физических "человек-машина" систем. несоизмеримо Проблемы сложнее человеко-машинного интерфейса и эргономики относятся к прикладным междисциплинарным исследованиям человеческого фактора и имеют совершенно другую системную сложность. Поэтому они кардинально отличаются от проблем в технических системах. Непонимание сложности человеческого фактора обходится очень дорого. В конечном счете, страдают все, особенно пользователи. Иллюстрацией к сказанному служит ситуация с пользовательскими интерфейсами для мобильных устройств и пультов управления домашней техникой. Сейчас для каждой модели разрабатывается свой уникальный пользовательский интерфейс, что стоит очень дорого. А пользователю приходится иметь дело со многими сложными для обучения системами, что приводит к ошибкам и стрессам. Особое место занимают пользовательские интерфейсы программ для персональных компьютеров. Здесь также не все благоприятно - очень много нареканий от специалистов. Особенно много критики в адрес компании Microsoft®. Например, среди прочего в операционных системах серии Windows® полностью отсутствует внятная модель управления событиями при декларированной многозадачности. В результате постоянно нарушается один из основных принципов "юзабилити" - частое игнорирование команд и внимания пользователя. Система часто прерывает действия пользователя для выполнения своих операций, при этом может не реагировать на конкретные команды пользователя. Это приводит к накоплению стрессового состояния, а иногда к потере информации. 9 Представление экранных форм в качестве презентационных материалов Это наиболее тонкое искусство, в котором специалисты оперирует понятиями и принципами композиции образов. Искусство композиции, как правило, осваивают профессиональные дизайнеры, художники, фотографы и кинооператоры. Но сейчас за освоение искусства построения визуальных композиций взялись Web-дизайнеры и просто любители. Практически весь этот круг лиц работают на интуиции и использует опыт мастеров. Часто формирование композиции экранных форм осуществляется на простом подражании стилю и формам известных мастеров - художников, стилистов и дизайнеров. При создании Интернет контента имеет смысл обратиться к профессиональным учебным пособиям для принципов композиции при правильного формирования использования экранных форм с презентационными материалами. Основными элементами, которыми манипулируют специалисты в процессе работы над композицией образов – смысловой и изобразительный центр изображения; геометрическая динамика перспектива, кадрирование пространства пространства; пропорции и ритмика прямая и и и изображения; обратная силовая золотое перспектива; структура сечение; тональная и ракурс; изобразительного знаковые области изобразительного пространства и т.д. Следует обратить особое внимание на цветовую гамму и цветовую композицию изображений. Применение ИТ для формирования композиционных решений в среде мультимедиа (различные модальности – видео, аудио, операторские действия и тактильность, обоняние (многовариантная информационными в интерактивном пространственно-временная объектами, пронизанная исполнении) и гипермедиа субстанция, наполненная различными связями и переходами) порождает новую сущность – Виртуальную Реальность (ВР). От создателей ВР требуются совершенно новые подходы к принципам композиции – мультимодальная композиция. При этом совсем не отрицаются достижения в области классических принципов композиции. Скорее наоборот. Именно на 10 основании классических принципов композиции будет формироваться информационная культура новой медиа - Виртуальной Реальности. Это будущее. При построении композиции экранных форм с презентационными материалами мы черпаем свои знания из различных источников. Во-первых, это интуитивный и культурный опыт художников, воплотившийся в картинные галереи. Во-вторых, это исследования из областей психофизиологии и психологии человеческого восприятия. В-третьих, использование знаковых, этнических систем и архетипов. Весь этот материал требует дополнительных исследований и определенной систематизации. С другой стороны, исследование и систематизация принципов композиции требуют самого серьезного учета человеческого фактора с точки зрения парадоксальности процессов мышления. Поэтому невозможно построить элементарную систему требований к принципам композиции по схеме “Делай так, и все будет правильно”. Парадоксальность визуального мышления в сочетании с восприятием установленных знаковых образов создают особую схему формирования принципов композиции в виде особых информационных объектов. Наиболее подходящей схемой представления таких информационных объектов является информационный диполь “Теза - антитеза”, представляющий собой две крайне противоположные точки зрения. Это означает, что для построения композиции изображения системы визуальных объектов на экране монитора мы можем применять, как прямое композиционное решение, так и обратное, в зависимости от нашей цели. Это две крайние точки, два полюса смысла в формате объекта информационного диполя. Такое полярное воплощение смысловой категории в применении к принципам композиции дает нам возможность понимать и использовать целый спектр композиционных решений, расположенных в диапазоне между двумя крайними смысловыми полюсами информационного диполя. Абсолютно все компьютерные средства и программные продукты имеют 11 определенный пользовательский интерфейс. В настоящее время наиболее массовым пользовательским интерфейсом является GUI-интерфейс (GraphicUserInterface), воплощенный в программные системы и программные продукты корпорации Майкрософт (которые в свою очередь были частично заимствованы из пользовательского интерфейса, разработанного компанией Apple). Абсолютно во всех программных продуктах всех производителей пользователь, так или иначе, сталкивается с элементами GUI-интерфейса. Это, во-первых, метафора рабочего стола, с иконками вызова документов и программных модулей, перекрывающимися окнами и рабочей панелью на краю экрана. Во-вторых, мы обязаны пользоваться стандартными элементами управления в виде кнопок на панелях - окнах или панелях в виде полос, расположенных на окнах, а также использовать ниспадающие меню (PopUpMenu), древовидные структуры каталогов и графов навигации (проводник системы MSWindows). Для управления просмотром контента в окнах используются полосы прокрутки. В-третьих, в системе MSWindows используются различные элементы управления для осуществления выбора и перечисления объектов, ползунков плавной настройки уровней и т.п. элементов. Все знают, как сложно новичку освоить интерфейс системы MSWindows, MSOffice и других прикладных программ. Унификация в виде GUI-интерфейса, хотя по нему имеется очень много нареканий со стороны специалистов, всетаки позволяет экономить время на обучение пользованием прикладных программ и операционной системой. Поэтому, унификация пользовательских интерфейсов наряду с ограничениями для свободы разработчиков программ учебного назначения, несет благо в виде защиты пользователя от нестандартного многообразия элементов управления. Но большинство современных прикладных систем и программ для обучения являются достаточно сложными комплексами. Это с неизбежностью приводит к усложнению цены и времени разработки. От неопытности и 12 неумения правильно разрабатывать пользовательский интерфейс страдают разработчики, так как в современных прикладных системах соотношение сложности разработки базовой (прикладной) части программного обеспечения к системе пользовательского интерфейса доходит до 1/10. Для большинства пользователей программами с плохим пользовательским интерфейсом это оборачивается огромными затратами личного времени и интеллектуальных ресурсов. Выход из данной проблемы только один – тщательное планирование системы пользовательского интерфейса. На эту тему выпущено много книг и рекомендаций профессионалов, но, к сожалению, большинство рекомендаций носит отрывочный и не систематизированный характер. Включение средств навигации в экранные формы с презентационными материалами. Интернет браузеры становятся стандартным средством для представления и визуализации информации практически во всех приложениях из-за широкого использования языка разметки HTML для организации информационного большинство пространства прикладных в виде среды технологических гипермедиа. решений Поэтому начинают ориентироваться на этот стандарт. Пользовательский интерфейс большинства Интернет браузеров в той или иной степени использует привычные для большинства пользователей элементы управления GUI-интерфейса. Поэтому основные усилия при проектировании и разработке HTML систем необходимо обратить на композиционные аспекты и оптимизацию элементов управления с точки зрения операторских действий человека. С внедрением Java, XML и PHP технологий возможности расширяются, проектированию образовательных необходимо пользовательского с особой пользовательского программ и систем. интерфейса тщательностью интерфейса Как для говорят значительно подходить к прикладных профессионалы, пользовательский интерфейс должен быть дружелюбным. Но что необходимо сделать, и каким правилам следовать, чтобы пользовательский интерфейс стал дружелюбным? 13 Если пользователь привык к чему-либо, он быстрее научится работать и будет получать больше удовольствия от работы с вашей программой, так как сможет использовать приобретенные навыки. Базовое заимствование - это использование стандартных элементов, общих для всех программ Windows меню, списки, кнопки и т.п. Более тонкое - заимствование популярной метафоры. Не возбраняется заимствовать внешний вид, команды, удачные интерфейсные решения и т. п. Хотите встроить в свою программу табличный редактор? Лучшевсего, еслионбудетпохожна Excel. В зависимости от стадий - последовательных разделов изложения информации – в системе должен выбираться состав сообщений, отображаемых в графической или текстово-знаковой форме в виде отдельных информационных объектов. Этот принцип основан на методах борьбы с лишней информацией путем пространственного (временного) разделения всей информации и ее последовательного восприятия. Вопросы для самопроверки: 1. Тенденции и перспективы развития ОС? 2. Поясните термин «GUI» 3. Тенденции развития графических интерфейсов 4. Структура мультикомпьютерных ОС Список литературы: 1. Сетевые операционные системы/ В.Г. Олифер, Н.А. Олифер. – СПб.: Питер, 2009. - 672 с.: ил. 2. Операционные системы: Учебник для вузов. 2-е изд. /А.В. Гордеев. – СПб.: Питер, 2006. - 416 с.: ил. Лекцию разработал Доцент кафедры «Информационных систем» к.т.н., Д. Резеньков 14 «___»__________________2014 г. 15