Главная страница

Ответы по экзамену операционные системы. Для удобства


Скачать 191.51 Kb.
НазваниеДля удобства
АнкорОтветы по экзамену операционные системы
Дата29.10.2022
Размер191.51 Kb.
Формат файлаdocx
Имя файлаOtvety_po_OS.docx
ТипДокументы
#761250
страница10 из 14
1   ...   6   7   8   9   10   11   12   13   14

Каким образом аргументы командной строки интерпретируются в программе?


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


  1. В чем назначение утилиты make?


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

Решение проблемы - утилита make.

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

Кроме того:

• утилита make значительно упрощает жизнь, когда для сборки проекта необходимо выполнение длинных и сложных команд;

• проект иногда требует задания редко используемых, а потому сложных для запоминания опций компилятора. make избавит вас от необходимости удерживать их в памяти;

• единообразие, т.к. работа с этой утилитой поддерживается многими средами разработки;

процесс сборки можно автоматизировать, поскольку make может быть вызвана из сценариев или из cron.

  1. Что такое Makefile и какова его структура?


Несмотря на все свои достоинства, утилита make ничего не знает о проекте, поэтому необходимо создать простой текстовый файл, который будет содержать все необходимые инструкции по сборке. Файл с инструкциями по сборке проекта называется makefile.

Как правило, этим файлам дается имя makefile или Makefile, в соответствии с соглашениями по именованию таких файлов. Если же вы дадите файлу инструкций другое имя, то вам потребуется вызывать утилиту make с ключом –f.

Например, если свой makefile вы назвали my_make, то команда на сборку проекта будет выглядеть так:

make -f my_make

Makefile содержит разделы для "целей" [targets], зависимостей [dependencies] и правил [rules] сборки. Все это оформляется следующим образом: сначала указывается имя цели (обычно это имя исполняемого или объектного файла), после которого следует двоеточие, затем следуют имена зависимостей, т.е. файлов, необходимых для получения данной цели. И, наконец, следует список правил: т.е. команд, которые необходимо выполнить для получения указанной цели.

Простой пример структуры makefile:
target: dependencies

command

command

...
Каждое правило command должно начинаться с символа табуляции – это обязательное условие. Отсутствие символа табуляции в начале строки с правилом – самая распространенная ошибка. Но подобные ошибки легко обнаруживаются, так как утилита make сообщает о них.

  1. Какова последовательность компилирования и сборки программы с использованием утилиты make?


Запускается команда на сборку проекта (make), она ссылается на makefile. Запускаются все команды, в которых компилируются нужные файлы.

При выполнении команды make смотрит зависимости и, если зависимость не откомпилирована, компилирует ее.

  1. Что такое процесс?


Процессом называется программа в стадии ее выполнения.

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


  1. Что в себя включает процесс?


Процесс включает:

• программный код – последовательность команд, исполняемых процессором;

• данные, обрабатываемые программой;

• стек – динамически выделяемая память для хранения оперативной информации;

• системную информацию о выполняемой задаче (размещаемая память, открытые файлы, статус процесса, системные переменные окружения).

  1. 1   ...   6   7   8   9   10   11   12   13   14


написать администратору сайта