- •Содержание
- •Введение
- •1. Введение в параллельное программирование
- •1.1. Простейшая параллельная программа
- •1.2. Оценка эффективности параллельной программы
- •2. Основы параллельного программирования средствами mpi
- •2.1. Базовые функции mpi
- •Status.Mpi_tag
- •2.2. Понятие клинча и совмещение приема
- •2.3. Функции коллективного взаимодействия
- •3. Примеры параллельных программ
- •3.1. Hello mpi
- •3.2. Вычисление интеграла
- •3.3. Нахождение минимума
- •3.4. Параллельная сортировка
- •3.5. Решение систем линейных уравнений
- •Список литературы
- •Работа с вычислительным кластером башкирского регионального центра высокопроизводительных вычислений
- •Некоторые базовые команды операционной системы linux
Некоторые базовые команды операционной системы linux
Alpha-кластер Башкирского регионального центра высокопроизводительных вычислений работает под управлением операционной системы Linux – одной из наиболее известных свободно распространяемых реализаций ОС Unix. Поэтому приведем здесь основные сведения об этой операционной системе, необходимые при работе с Alpha-кластером.
В Linux пользователи должны себя идентифицировать при входе в систему, который состоит из двух шагов: ввода имени (по которому система Вас идентифицирует) и ввода пароля (секретного слова для регистрации в системе). При вводе пароля будьте внимательны, так как пароль на экране не отображается. Каждый пользователь является членом одной или нескольких групп. Принадлежность к группе определяет дополнительные права, которыми обладают все пользователи группы. Список пользователей, работающих в данный момент в системе, можно посмотреть при помощи команды
who
Для завершения сеанса работы нужно набрать команду
exit
Все объекты в Linux делятся на два типа: файлы и процессы. Все данные хранятся в файлах. Доступ к периферийным устройствам осуществляется через специальные файлы. Вся же функциональность операционной системы определяется выполнением различных процессов.
Продолжение прил. 2
В Linux все множество файлов организовано в виде древовидной структуры, называемой файловой системой. Каждый файл имеет имя, определяющее его расположение в файловой системе. Связь между именами файлов и собственно файлами обеспечивается при помощи каталогов. Корнем файловой системы является корневой каталог, имеющий имя “/”. Имена всех остальных файлов содержат путь – список каталогов, которые нужно пройти, чтобы достичь файла.При этом имена каталогов разделяются знаком “/”. Например,
/home/student/myfile.txt
При перемещении по файловой системе текущий каталог называется “.”, а каталог на единицу более высокого уровня “..”. Кроме того, с каждым пользователем ассоциируется его домашний каталог, имеющий псевдоним “~”, в котором по умолчанию хранятся его файлы.
Все операции с файлами удобно производить при помощи файлового менеджера Midnight Commander (MC). MC вызывается командой
mc
Внешне MC похож на Norton Commander или Far Manager и имеет сходный с ними интерфейс. В частности, основные команды работы с файлами связаны с функциональными клавишами:
Команда |
Клавиша |
Описание |
View |
F3 |
Просмотр выбранного файла |
Edit |
F4 |
Вызов редактора |
Copy |
F5 |
Копирование файла (группы файлов) |
Rename/Move |
F6 |
Перенос/переименование файла |
MkDir |
F7 |
Создание каталога |
Delete |
F8 |
Удаление файла (группы файлов) |
Menu |
F9 |
Вызов главного меню |
Более подробно о возможностях MC можно узнать из встроенной справки (функциональная клавиша F1). Чтобы закончить работу с MC и выйти из него, необходимо нажать функциональную клавишу F10.
Продолжение прил. 2
Файлы и каталоги в Linux имеют набор атрибутов, среди которых важно отметить владельца и группу. С их использованием организуется гибкое разграничение доступа к файлам и каталогам. Для просмотра всех атрибутов файла можно использовать команду
ls –l
Результат выполнения этой команды для каждого файла будет иметь примерно следующий вид:
1 2 3 4 5 6 7 8
-rwxr-xr-- 1 student group 3422 Feb 28 13:30 test
В первом столбце выдачи приводится список прав доступа к файлу. Первый символ обозначает тип файла (в данном случае “-” означает обычный файл. Другие возможные значения: “d” – каталог, “l” – ссылка и др.). Далее идут три группы по три символа, задающие соответственно права доступа. Первая группа из тpex символов задает права для владельца-пользователя. Следующие три символа определяют права доступа для членов группы, к которой принадлежит файл. Последняя группа из трех символов определяет права для всех остальных пользователей. При этом “-” означает отсутствие права доступа, “r” – право на чтение файла, “w” – право на запись в файл или его удаление, “x” – право на выполнение файла. В нашем примере владелец файла (student) имеет права на чтение, запись и выполнение (“rwx”), члены группы-владельца (group) имеют права на чтение и выполнение файла, но не имеют права на запись в файл (“r-x”), а все остальные пользователи имеют только право на чтение файла (“r--'). Существует также несколько дополнительных атрибутов, а для других типов файлов (например, для каталогов) приведенные атрибуты могут иметь несколько иное значение. Сменить права доступа к файлу можно при помощи команды
chmod
Владельцем-пользователем вновь созданного файла является пользователь, который его создал, а владельцем-группой -- или пер-
Продолжение прил. 2
вичная группа данного пользователя, или наследная группа, приписанная текущему каталогу. Для смены владельца-пользователя и владельца-группы файла существуют команды
chown
и
chgrp
соответственно.
Второй тип объектов в Linux – это процессы. Под процессом упрощенно можно понимать программу в стадии ее выполнения. Одновременно в системе выполняется достаточно большое число процессов, часть из которых является системными, а часть – пользовательскими. Для того чтобы просмотреть список выполняющихся процессов, нужно воспользоваться командой
$ ps –x
Каждый процесс имеет некоторый набор атрибутов, в частности, уникальный идентификатор процесса (PID), который используется для управления его работой, например, посредством посылки сигналов. Для того чтобы завершить выполнение процесса, нужно послать ему соответствующий сигнал командой
$ kill -9 PID
Список процессов, занимающих наибольшее количество процессорного времени или системных ресурсов, можно посмотреть, используя команду
top
Справку по любой команде можно получить следующим образом:
$ man имя_команды
Каждая запущенная программа получает три открытых потока ввода/вывода: стандартный ввод, стандартный вывод и стандартный вывод ошибок. По умолчанию все эти потоки ассоциированы с терминалом, однако могут быть перенаправлены на другое устройство, например, в файл. Для перенаправления стандартного ввода можно
Окончание прил. 2
использовать символ “<”, для стандартного вывода – “>” или “>>” (дозапись), для потока ошибок – “2>”. Например:
program > file.log
Здесь запускается программа program, а ее стандартный вывод перенаправляется в файл file.log.
*) В дальнейшем, если производительность отдельного процессора МВС особо не оговаривается, то она полагается равной производительности процессора персональной машины
*) Данная оценка является весьма грубой. В действительности производительность существенно зависит от внутренней архитектуры процессора и от вида решаемой задачи. Практика, однако, показывает, что такой оценкой можно воспользоваться для проведения предварительных оценок целесообразности распараллеливания задачи.