Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
учебное пособие по дисциплине ОССиО.doc
Скачиваний:
7
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆

6.3. Связь пользователь-пользователь

Система UNIX предполагает возможность коллективной работы пользователей. В системе имеются следующие средства связи пользователей между собой:

  • команда write для непосредственной посылки сообщения другому пользователю;

  • средство mail, реализующее электронную почту.

Команда write посылает сообщение указанному пользователю в момент исполнения этой команды.

Пример: $ write name

Здравствуйте!

^D

$

Сообщение заканчивается вводом знака конца файла ctrl+D.

Если необходимо вести диалог, можно не вводить знак конца файла до конца диалога.

Чтобы узнать, работает ли абонент в системе в данный момент, используется команду who.

Текст сообщения можно взять из файла, перенаправляя стандартный ввод для write из этого файла, Например, $ write peter < message – сообщение из файла message.

Закрыться от посылаемых сообщений можно командой mesg, Например, $ mesg n, где n – от no (нет).

Для возможности получать сообщения, нужно подать команду $ mesg y, где y – от yes (да).

Электронная почта (mail) – это средство, позволяющее пользователям посылать друг другу сообщения, которые складываются в почтовые ящики, реализованные внутри системы. Для получения почты вводится команда mail без параметров:

Например, $ mail

Завтра в 9:00 сдаем экзамен.

?

Подсказка (?) означает, что система mail ждет указания о том, что делать с почтой: печатать, сохранить, уничтожить или выйти из команды mail.

Введя знак вопроса, получаем меню возможных действий:

  • q (quit) – закончить;

  • x (exit without changing mail) – выйти без изменения почты;

  • p (print) – печатать;

  • s <file> (save) – сохранить в файле;

  • w <file> (same without header) – то же без заголовка;

  • d (delete) – уничтожить;

  • + next (no delete) – следующее (не уничтожать);

  • m user (mail to user) – переправить другому пользователю;

  • !cmd (execute cmd) – выполнить команду.

Для посылки почты вводится команда mail с параметром – именем пользователя и вводится текст письма, заканчивая его знаком конца файла (ctrl+D).

Например: $ mail peter

Здравствуйте.

^D

$

6.4. Средства разработки программ

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

В системе UNIX имеются компиляторы с языков C, ПАСКАЛЬ и другие. Команды вызова компилятора имеют вид cc, pc и т.п.

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

На практике программы создаются из множества раздельно транслируемых модулей, каждый из которых занимает отдельный файл. Затем все объектные файлы объединяются в единую программу, помещаемую в файл исполняемого кода, посредством линкера. Линкер может вызываться как независимой командой ld, так и автоматически при выполнении команд вызова компилятора cc, pc и т.д.

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

Имя библиотечного файла обычно оканчивается на .a. Имеется команда ar (архив) для создания, пополнения и просмотра библиотечных файлов.

Пример создания библиотеки из трех объектных файлов:

$ ar rcv exam.a test.o check.o prove.o

a – test.o

a – check.o

a – prove.o

$

Здесь ключи команды ar означают:

  • r – заменить (replace) модули в библиотеке;

  • c – создать (create) библиотеку;

  • v – печатать включаемые модули (verbose).

Как правило, имеется единый символьный отладчик для программ на нескольких языках программирования, компиляторы которых вырабатывают объектный код и таблицы символов в едином формате. Символьный отладчик обычно имеет альтернативные имена для разных языков, например, cdb, pdb для языков C, PASCAL соответственно. Вызов отладчика производится одноименной командой, в которой указывается файл кода отлаживаемой программы, по умолчанию a.out. Для генерации и сохранения отладочной информации (таблиц символов и т.п.) компиляция программы должна производиться с ключом -g.

Пример: $ рc -g test.р check.р prove.р

$ рdb

>

Знак > – подсказка отладчика, приглашающая вводить команды отладчика. Команды отладчика позволяют:

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

  • устанавливать и сбрасывать точки прерывания для пошагового выполнения отлаживаемой программы между точками прерывания и/или с постоянным шагом;

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

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