Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС_методичка.doc
Скачиваний:
103
Добавлен:
11.03.2016
Размер:
861.7 Кб
Скачать

Контрольные вопросы

1. Дайте краткую характеристику режимам работы редактора vi.

2. Как выйти из редактора, не сохраняя произведенные изменения?

3. Назовите команды позиционирования и дайте им краткую характеристику.

4. Что для редактора vi является словом?

5. Каким образом из любого места редактируемого файла перейти в начало (конец) файла?

6. Назовите основные группы команд редактирования и дайте им краткую характеристику.

7. Необходимо заполнить строку символами $– ваши действия?

8. Как отменить некорректное действие, связанное с процессом редактирования?

9. Назовите основные группы команд режима последней строки и дайте им характеристику.

10. Как определить, не перемещая курсора, позицию, в которой заканчивается строка?

11. Выполните анализ опций редактора vi (сколько их, как узнать их назначение и т. д.).

12. Как определить режим работы редактора vi?

13. Постройте граф взаимосвязи режимов работы редактора vi.

14. Назовите основные типы текстовых редакторов POSIX-мира. Дайте им краткую характеристику.

15. Основное преимущество текстовых редакторов перед word-про-цессорами.

16. Почему знание основных возможностей редактора vi необходимо для пользователей POSIX-систем?

Лабораторная работа № 5 базовые средства для создания приложений в posix-совместимых ос

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

Указания к лабораторной работе

Система для разработчиков в GNULinunxобеспечивает полный набор средств (компиляторы Си, утилита make, программы отладки, системаCVSи др.) для разработки приложений.

Поддерживаются следующие основные этапы разработки приложений:

  • создание исходного кода (текста) программы;

  • сохранение различных вариантов исходного текста;

  • компиляция исходного текста и построение исполняемого мо-дуля;

  • тестирование и отладка;

  • сохранение всех изменений, выполняемых при тестировании и отладке.

Созданный исходный текст программы представляется в виде файла. Файл, содержащий исходный текст, может быть получен с помощью любого текстового редактора, например, vi. Использование суффикса ".с" для имени файла с программой на языке Си отражает удобное и полезное соглашение, принятое в ОСLINUX (например: abcd.c).

Система контроля версий

CVS(Concurrent Versions System) — программный продукт, относящийся к разрядуСистема управления версиями(Version Control System). Хранит историю изменений определенного набора файлов, как правило, текстовых, например исходного кода программ, и облегчает совместную работу группы людей (часто – программистов) над одним проектом. CVS популярна в мире открытого ПО. Система распространяется на условияхлицензии GNU GPL.

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

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

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

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

ОС Linux имеет систему управления версиямиCVS(ConcurrentVersionsSystem), которая является инструментом, обеспечивающим решение этих задач.

Все тексты хранятся в специальной системе каталогов CVS, которая называется репозиторием (хранилищем). Репозиторий создается средствами системыCVS(командаinit):

$ cvs –d /home/brigades/pmXXXX/cvsroot init

В каталоге /home/brigades/pmXXXX/cvsrootбудет создано хранилище.

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

Упрощенная схема системы работы CVSвключает следующие основные шаги:

1) создание хранилища (репозитория);

2) создание рабочего каталога и размещение в нем отлаживаемой программы (текущей версии);

3) передача текущей версии исходного файла под управление системе CVS.

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

Примерработы сCVS

Исходные данные:

  • /home/brigades/pmXXXX– домашний каталог;

  • отлаживаемый файл file.c – не содержит синтаксических ошибок.

1) Создание хранилища:

а) в домашнем каталоге создаем директорию cvsroot;

б) в директории cvsrootсоздаем хранилище:

$ cvs –d /home/brigades/pmXXXX/cvsroot init

Хранилище создано.

2) Создание рабочего каталога:

а) в домашнем каталоге создаем директорию с именем workDIR;

б) в директории workDIRсоздаем каталогhello, в котором будут находиться необходимые нам файлы, в том числе там должен быть файлfile.c;

в) в директорию helloзапишем файлfile.c.

3) Связывания рабочей директории с хранилищем; для этого, находясь в рабочей директории workDIR, выполним команду

$ cvs –d /home/brigades/pmXXXX/cvsroot checkout –l .

4) Передача проекта (каталога hello) и файлаfile.cв хранилище.

Для этого необходимо выполнить следующие команды:

а) $ cvs –d /home/brigades/pmXXXX/cvsroot add hello

б) $ cvs –d /home/brigades/pmXXXX/cvsroot add hello/file.c

в) $ cvs –d /home/brigades/pmXXXX/cvsroot commit

При выполнении команды commitвызывается редактор для ввода комментария (пояснения). Например: «ПользовательpmXXXXпередал файлfile.cвпервые под управлениеCVS». После ввода пояснения выполняются стандартные действия:ESC-> : ->wq. Далее после извлечения и записи новой версии файла необходимо использовать только командуcommit(командуaddиспользовать не надо, так как там уже есть директорияhelloи файлfile.c). В хранилище файл имеет вид (file.c,v), гдеv– названия версий.

5) Работа в рабочем каталоге (отладка файлаfile.c).

а) получаем исполняемый код (компилятор gcc);

б) исполняемый код запускаем на выполнение. Если работает, то переходим на шаг 6;

в) получаем исполняемый код для отладчика (gccс ключомg);

г) запускаем отладчик. Находим ошибку и выходим из отладчика;

д) запускаем viи исправляем ошибку;

е) исправленную версию записываем в хранилище;

ж) переходим в пункт "а".

6) обзор исправлений в программеfile.c

$ cvs –d ~/cvsroot rdiff –r 1.1 .