Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Основные технологии программирования






Технологии программирования важны с точки зрения ОС, т.к. ОС – это программа, которая разработана в существующей на текущий день технологии программирования. Если известны основные подходы и способы программирования, то можно предположить, что в ОС реализуются эти механизмы.

Г.С. Иванова, книги по программированию

Этапы развития технологии программирования и реализации их механизмов в ОС:

1) Стихийное программирование.

Период первых вычислительных машин, отсутствие сформулированных подходов программирования.

Программисты – великие люди. Программы имели простейшую структуру, писались в машинных кодах, непосредственно загружались в реальную ОП и выполнялись.

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

2) Модульное программирование.

Программа состоит из нескольких модулей, каждый из которых отлаживается отдельно. Появляются программы, состоящие из нескольких подсистем.

Программы имеют иерархическую структуру: блочно-иерархический подход. В основе разработки программ лежат понятия декомпозиции и композиции проблемной задачи, в т. ч. и компонент ОС. Появляются первые операционные системы: однозадачные и многозадачные (1960-1970 г.). Использование модульного программирования позволяло писать достаточно надежные программы (включая ОС), размер которых не превышал 100 тыс. операторов. Недостаток: сложность межмодульных интерфейсов, сложность отладки. Первые ОС, наиболее надежные и популярные фирмы IBM. ОС DOS, MFT, MVT и т.д.

3) Объектный подход

Середина 80-х-конец 90-х.

Идея: создание сложного ПО, основанного на представлении программ в виде объектов, каждый из которых является экземпляром определенного типа (класса). Классы образуют в свою очередь иерархию с наследованием свойств. Идея объектного программирования используется в таких языках как Java, C++, Modula, Pascal.

Основным достоинством объектно-ориентированного программирования по сравнению с модульным является более естественная декомпозиция ПО на отдельные части, которые существенно облегчают его разработку.

На основе объектно-ориентированного программирования были созданы визуальные среды программирования, что позволило облегчить разработку отдельных компонент, например, пользовательского интерфейса. Недостатки технологии объектно-ориентированного программирования: отсутствуют достаточные стандарты компоновки результатов компиляции объектов в единое целое. Имеется проблема компиляции в различных средах одного и того же языка разных производителей.

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

4) Компонентный подход и case-технологии.

Компонентный подход позволяет строить программное обеспечение из отдельных компонентов, физически отдельно существующих, которые взаимодействуют между собой через стандартные двоичные интерфейсы. В отличие от обычных объектов объекты компоненты можно собрать в динамически вызываемой библиотеке и распространять их в двоичном виде, затем использовать их в любом языке программирования. Компонентный подход лежит в основе технологий, разработанных на базе COM (Component Object Model, компонентная модель объектов) и технологии создания распределенных приложений. Технологии COM фирмы Microsoft – технологии развития COM OLE (object linking and embedding, связывание и внедрение объектов), которая использовалась в ранних версиях WINDOWS. Идея технологии COM: общий порядок взаимодействия объектов любых типов: приложений, компонент ОС, отдельных библиотек и т.д., что позволяет одной части ПО использовать функции и возможности другой части ПО независимо от того, функционируют ли они в пределах одного процесса на одном компьютере или в сети (модификация сети DCOM). В соответствии с технологией COM приложение представляет свои службы, используя специальные объекты COM. Каждый объект COM является экземпляром класса COM. В отличие от обычных объектов, объект COM может обеспечить несколько интерфейсов (параметров) для доступа к выполнению им тех или иных функций. Это достигается засчет таблицы адресов (адресов функций или методов объекта), осуществляя переход по тому или иному адресу, выполняется функция объекта. Возможно объединение одним интерфейсом нескольких однотипных функций объекта. Кроме того, каждый интерфейс имеет свое имя – идентификатор. Объект всегда функционирует в составе сервера – динамической библиотеки или исполняемого файла, которые обеспечивают функционирование объекта.

Различают три типа серверов:

1) внутренний – реализуется динамическими библиотеками, которые подключаются ОС к приложению-клиенту и работают в одном с ним адресном пространстве (наиболее эффективное построение сервера), не требуя специальных средств, можно перейти на выполнение по адресу.

2) локальный – создается отдельным процессом (например, запускается с помощью исполнительного модуля.exe), который работает на одном компьютере с клиентом.

3) удаленный сервер – создается процессом, который работает на другом компьютере (пример: Microsoft Word – локальный сервер, включает множество объектов, которые могут использоваться другими приложениями). Для обращения к службам сервера клиент посылает запрос к библиотеке COM, которая хранит информацию о всех зарегистрированных в системе классах COM объектов и передает в качестве параметра ей имя класса, идентификатор интерфейса и тип сервера. Библиотека запускает этот сервер, создает требуемые объекты и возвращает клиенту указатели на объекты-интерфейсы (адреса, по которым можно вызвать функции). Получив указатели, клиент может это сделать. На базе технологии COM и DCOM были разработаны следующие компонентные технологии, которые применяются при разработке сложного ПО: ActiveX, построенная на технологии OLE Automation, предназначен для разработки также и распределенных приложений. Предполагает использование элементов визуального программирования. OLE Automation – технология создания приложений, обеспечивающая программный доступ к внутренним службам другим приложений, используется в Microsoft Excel. Представителями таких ОС являются современные операционные системы WINDOWS и LINUX.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.