Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции / СПО2.doc
Скачиваний:
114
Добавлен:
11.02.2014
Размер:
527.87 Кб
Скачать

Конвейеры

Это средство с помощью которого можно производить обмен данными между процессами.

Размер не более 64 Кбайт, работает циклически.

Представляет собой буферную память, работающую по принципу

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

Очереди сообщений – аналогично конвейерам, но работают в одном направлении.

Используют дисциплины:

- FIFO – прев.-перв.

- LIFO – посл.-перв.

- приоритетный доступ

- произвольный доступ

Отличаются от конвейера:

- при чтении не удаляются из канала

- присутствие адреса в памяти и их размер, а не сами сообщения.

Тупики:

Ресурсы:

- RR или SR – повторное использование

- CR – потребляемые ресурсы

Модель Холта:

R1

R2

Пусть Р1 запрещает две единицы R1 и одну единицу R2.

Пусть R2 принимает две единицы R1 и ему нужна одна единица R2.

Если процесс должен получить все запрашиваемые им ресурсы, прежде чем освободить хотя бы один из них, то удовлетворение запросы P1 приведет к тупиковой ситуации: P1 не сможет продолжатся до тех пор, пока P2 не освободит единицу ресурса R1, а процесс З2 не сможет продолжаться до тех пор, пока P1 не освободит единицу R2. Причина – неупорядоченные попытки процессов войти в критические интервалы.

21. Структура современных систем программирования.

Система программирования – комплекс программных средств, предназначенных для кодирования, тестирования и отладки программного обеспечения.

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

Виды текстовых редакторов:

- автономные (word, Wolkof Commander);

- входящие в состав систем программирования;

Компилятор – преобразует исходный текст программы в машинные коды с получением объектного модуля.

В интегрированных средах работа компилятора происходит скрыто от пользователя.

Компоновщик - предназначен для связывания между собой объектных файлов, а также библиотек, входящих в систему программирования. В результате получается исполняемый файл (.exe; .com).

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

Загрузчик не всегда является составной частью программирования, иногда он входит в состав операционной системы (MS-DOS).

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

Возможности программ:

- последовательное пошаговое выполнение программы;

- выполнение программы до достижения контрольной точки остановок;

- выполнение результирующей программы до некоторых заданных условий;

- просмотр содержимого областей памяти;

Виды отладчиков:

- автономные;

- интегрированные;

Библиотеки – состоят из файла библиотеки, содержащего объектный код, и набора файлов описаний (функций, подпрограмм, переменных).

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

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

Динамические библиотеки подключаются к программе не в момент ее компоновки, а непосредственно в ходе выполнения программы.

Преимущество:

  • сокращается объем кодов.

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

Редактор языка (4GL) – язык четвертого поколения – эти языки строятся на основе оперирования не синтаксическими структурами языка, а представляющими их графическими образами.

Описание программ на основе языка 4GL транслируется затем в исходный текст и файл описания ресурсов интерфейса.

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