Студопедия

КАТЕГОРИИ:

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


Модели программирования Windows и UNIX.




1. Программы Unix состоят из кода, который выполняет те или иные действия, обращаясь к системе с системными запросами для предоставления конкретных услуг. В противоположность этому программы Windows приводятся в действие событиями: основной модуль программы ждет, когда произойдет какое-нибудь событие, затем вызывает процедуру для его обработки. Затем обработчики переписывают содержимое экрана и внутренне состояние программы.

2. В Unix вызовы один к одному идентичны библиотечным процедурам. В стандарте POSIX порядка 100 системных вызовов. В windows фактические системные вызовы и запускаемые для их выполнения библиотечные вызовы полностью разделены. Microsoft определила набор процедур Win32 API. Программисты должны использовать его для вызова служб ОС. Этот интерфейс частично поддерживается всеми версиями windows, начиная с win95. Отделяя интерфейс от фактических системных вызовов, Microsoft поддерживает возможность изменения со временем действительных системных вызовов, не делая при этом недействующими существующие программы. В win32 API тысячи системных вызовов. Причем существенное число их работает полностью в пространстве пользователя. В Unix нет системных вызовов, работающих в пространстве пользователя.

3. В Unix графический интерфейс пользователя XWindow запускается целиком в пространстве пользователя (отделен от ядра). Поэтому для вывода на экран достаточно вызова write, обращение не является системным. В windows графическая подсистема загружается в режиме ядра, следовательно, все вызовы для управления окнами, геометрия, пакеты и т.д. - системные вызовы, т.е. через прерывания.

4. Win32 не является полностью единообразным и последовательным интерфейсом, т.к. существует необходимость обратной совместимости с более ранним 16р. интерфейсом.

8. Трансляторы: компиляторы и интерпретаторы.

Транслятор – программа, кот. переводит вх. прог-у на исходном (вх.) языке в эквивалентную ей вых. прог-у на результирующем(вых.) языке. В работе трансляторы участвуют всегда 3прог-ы.

1. сам транслятор явл. прог-ой – обычно он входит в состав системн. ПО вычислительн. системы. т.е. транслятор – набор машин. ком-д и данных и выполняется комп-ом, как и др. прог-и в рамках ОС. Все составные части транслятора представляют собой фрагменты или модули прог-ы со своими вх. и вых. данными.

2. исх. данными для работы транслятора служит текст вх. прог-ы – некот. последовательность предложений вх. языка программирования. Обычно это сивольн. файл, но этот файл должен сод-ть текст прог-ы, удволетвор. синтаксич. и семантич. треб-ям вх. языка.

3. вых. данными транслятора явл. текст результирующей прог-ы, также удволетвор. синтаксич и семантич. треб-ям. Важным треб-ем явл. эквивалентность вх. и вых. прогр-ы (по семантике).

Рез-том работы транслятора будет результирующ. прог-а, если текст исх. прог-ы явл. правильн. – не сод-т ошибок с т-ки зрения синтаксиса и семантики вх. языка, иначе рез-том работы транслятора будет сообщ-е об ошибке.

Компилятор (от англ. compiler «составитель», «компоновщик») – транслятор, кот. осуществляет перевод исх. прог-ы в эквивалентную ей объектн. прог-у на языке машин. ком-д или языке ассемблера. Отличие от транслятора: результирующ. прог-а всегда написана на языке машин. ком-д или языке ассемблера. Компиляторы самый распростран. вид трансляторов.

Интерпретатор – это прог-а, кот. вопринимает вх. прог-у на исходном языке и выполняет ее. В отличие от трансляторов интерпретаторы не порождают результирующ. прог-у. Интерпретатор анализирует текст исх. прог-ы и сразу же выполняет исх. в соотв-ии с ее смыслом, заданным семантикой вх. языка. Результатом работы интерпретатора будет рез-т, заданный смыслом исх. прог-ы, если эта прог-а правильная или сообщение об ошибке, если исх. прог-а неверна.

 

 


Поделиться:

Дата добавления: 2015-01-14; просмотров: 131; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты