Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
госы 2008 / Госы2.doc
Скачиваний:
79
Добавлен:
29.05.2015
Размер:
986.62 Кб
Скачать

Вопрос 5 - Инкапсуляция, наследование, полиморфизм

Инкапсуляция – объединение в едином объекте данных и кодов, оперирующих с этими данными. В терминологии объектно-ориентированного программирования (ООП) данные называются членами данных, а коды – объектными методами или функциями-членами.

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

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

Наследование – свойство объектов передавать другим родственным объектам свои характеристики и другие свойства.

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

При наследовании базовый класс обрастает новыми атрибутами и операциями. В производном классе обычно объявляются новые члены данных, свойства и методы.

Слово полиморфизм от греческих слов poly (много) и morphos (форма) означает множественность форм. Полиморфизм – это свойство родственных объектов вести себя по разному в зависимости от ситуации, возникающей в момент выполнения программы. В рамках ООП программист может влиять на поведение объекта только косвенно, изменяя входящие в него методы и придавая потомкам отсутствующие у родителя специфические свойства.

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

Вопрос 6 - Классификация ос

Ниже приведена классификация ОС по нескольким наиболее основным признакам.

Особенности алгоритмов управления ресурсами

В зависимости от особенностей использованного алгоритма управления процессором, операционные системы делят на

  • многозадачные и однозадачные,

  • многопользовательские и однопользовательские,

  • на системы, поддерживающие многонитевую обработку и не поддерживающие ее,

  • на многопроцессорные и однопроцессорные системы.

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

  • однозадачные (например, MS-ОС, MSX)

  • многозадачные (OC EC, OS/2, UNIX, Windows 95).

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

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

Поддержка многопользовательского режима. По числу одновременно работающих пользователей ОС делятся на:

  • однопользовательские (MS-ОС, Windows 3.x, ранние версии OS/2);

  • многопользовательские (UNIX, Windows NT).

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

Вытесняющая и невытесняющая многозадачность. Среди множества существующих вариантов реализации многозадачности можно выделить две группы алгоритмов:

  • невытесняющая многозадачность (NetWare, Windows 3.x);

  • вытесняющая многозадачность (Windows NT, OS/2, UNIX).

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

Поддержка многонитевости. Важным свойством операционных систем является возможность распараллеливания вычислений в рамках одной задачи. Многонитевая ОС разделяет процессорное время не между задачами, а между их отдельными ветвями (нитями).

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

  • асимметричные ОС

  • симметричные ОС.

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

Особенности аппаратных платформ

По типу аппаратуры различают операционные системы

  • персональных компьютеров,

  • мини-компьютеров,

  • мейнфреймов,

  • кластеров и сетей ЭВМ.

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

Особенности областей использования

Многозадачные ОС подразделяются на три типа в соответствии с использованными при их разработке критериями эффективности:

  • системы пакетной обработки (например, OC EC),

  • системы разделения времени (UNIX, VMS),

  • системы реального времени (QNX, RT/11).

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

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

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

Соседние файлы в папке госы 2008