Введение в ConvexOS

Крутиков М. П., Суперкомпьютерный Центр


1 Первые шаги: вход в систему

Итак, вы стали (или собираетесь стать) пользователем ЭВМ CONVEX. Получить терминальный доступ к машине вы можете двумя способами:

Подробнее рассмотрим эти способы входа.

Локальный терминал

В аудитории No 203 четвертого корпуса Технического университета развернут класс алфавитно-цифровых терминалов компьютеров CONVEX. Класс является ресурсом общего доступа. Режим работы терминального класса:

10:0018:00 ежедневно, кроме субботы, воскресенья и общевыходных дней.

При включении терминала вы увидите приглашение терминального сервера ByPlex. Сервер позволяет подключить терминал к любой из машин в кластере и понимает три команды:

Последняя команда является единственно полезной. При регистрации администратор сообщает вам три атрибута:

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

Соединившись с машиной вы получите приглашение типа


ConvexOS 10.1 (c1)



login:

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

Кроме терминалов в классе имеются персональные компьютеры, предназначенные для переноса файлов.

Удаленный доступ

Кластер компьютеров CONVEX включен в сегмент локальной сети компьютерного центра и имеет выход в глобальную сеть Internet. Это позволяет пользователям подключаться к машинам CONVEX с любого компьютера, имеющего доступ в Internet. Практически это самый удобный способ доступа, поскольку позволяет вам использовать ресурсы CONVEX прямо со своего рабочего места (конечно, при условии, что ваше рабочее место имеет сетевое соединение).

Для удаленного доступа используются стандартные программные средства коммуникации в сетях TCP/IP ( telnet, ftp, и т.д.). Если у вас возникают затруднения или вы еще не имеете опыта работы с коммуникационными программами, проконсультируйтесь с администратором вашей локальной сети.

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

Выход из системы

Чтобы завершить сеанс работы с компьютером, наберите команду

% logout

или

% exit.

Пожалуйста, не забывайте выходить из системы. Для этого есть по крайней мере две серьезных причины: первая - если вы ушли оставив ваш терминал подключенным к системе, любой человек может сесть за ваше место и ``поработать'' под вашим именем. Например стереть все ваши файлы, или посмотреть вашу почту и т.д.

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

Получение справочной информации

Справочная информация по командам системы вызывается с помощью команды

% man subject

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

% man tar

выдаст справочную информацию о назначении и способах вызова архиватора tar.

Команда info вызывает меню-ориентированную систему помощи по операционной системе CONVEX.

Наконец, если вы не помните точно имени интересующей вас команды, попробуйте спросить

% apropos substr

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

WWWсервер

Гипертекстовый сервер компьютерного центра содержит много полезной информации о системе, в том числе ряд учебных пособий по работе в ConvexOS. Добро пожаловать на WWW-сервер центра:

URL http://www.csa.runnet.ru/CSA

Группа поддержки пользователей

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

2 Обзор операционной среды

Войдя в систему, вы попадаете в среду командного интерпретатора csh и получаете примерно такое приглашение

magic%

Подробно командный интерпретатор описан в отдельном пособии. Ниже мы приведем лишь самую краткую сводку команд.

Работа с файловой системой

Просмотр содержимого текущего каталога осуществляется командой lf. В листинге команды исполняемые файлы будут помечены звездочкой, подкаталоги будут помечены знаком /. Файлы, начинающиеся с символа точки вообще не будут показаны. Чтобы заставить команду показать все файлы, используйте ключ -a. Пример

magic% lf -a



.          README

..         Foo.dat

.cshrc     a.out*

.login     core

.logout    katya/

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

Команда pwd выдает полное имя текущего каталога.

Копирование файлов осуществляется командой cp file newfile.

Сменить имя существующего файла позволяет команда mv oldname newname.

Удаление файлов осуществляется командой rm file. Будьте осторожны: команда rm не спрашивает подтверждения, поэтому `` rm *'' удалит все файлы без лишних бюрократических проволочек.

Создать подкаталог можно командой `` mkdir dirname.''

Удалить каталог (пустой) поможет команда `` rmdir dirname.''

Изменить атрибуты доступа к файлу можно с помощью `` chmod mode file,'' например ``% chmod go-rw secret.txt'' закрывает доступ к файлу secret.txt для всех, кроме его владельца.

Управление заданиями

Запуск задачи на выполнение может осуществляться в двух режимах:

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

Пример: следующая команда запускает задачу setka в синхронном режиме:

% setka data.txt

Ту же задачу можно послать на выполнение в фоновом режиме так:

% setka data.txt &

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

Перенаправление потоков вводавывода

По умолчанию, интерактивные задачи ожидают ввода информации с клавиатуры и выдают результат на экран. Имеется удобный механизм, позволяющий перенаправить ввод и/или вывод в файл. Делается это с помощью операторов ``< '' и ``> '' в командной строке.

Примеры:

% setka data.txt > output.txt

перенаправляет выходной поток задачи setka в файл output.txt. То, что setka выдала бы на экран окажется записанным в файл. Предыдущее содержимое файла будет потерено (если такого файла не было - он будет создан).

% setka data.txt > > output.txt

то же самое, но поток будет дописан к файлу с сохранением предыдущего содержимого.

% integral < input.txt

После такой команды входная информация для задачи integral будет браться не с клавиатуры, а из файла input.txt.

3 Обзор математического обеспечения

Компилятор C

Компилятор CONVEX C является ANSI-совместимым оптимизирующим компилятором с языка C. Компилятор поддерживает директивы векторной и параллельной оптимизации, а также может осуществлять автоматическую векторную/параллельную оптимизацию. Пример вызова:

% cc -o setka -O1 setka.c method.c mathmod.o mlib.a

В данном примере компилятор вызван на построение исполняемого модуля setka из следующих входных файлов

Ключ -O1 указывает компилятору провести оптимизацию уровня 1 (машинно-зависимая оптимизация и оптимизация на уровне базовых блоков).

Компилятор FORTRAN

Компилятор CONVEX FORTRAN является оптимизирующим компилятором с языка FORTRAN. Компилятор может работать в режимах совместимости с

Компилятор поддерживает директивы векторной и параллельной оптимизации, а также может осуществлять автоматическую векторную/параллельную оптимизацию. Пример вызова:


% fc -o setka -O2 setka.f method.f mathmod.o mlib.a

В данном примере компилятор вызван на построение исполняемого модуля setka из следующих входных файлов

Ключ -O2 указывает компилятору провести оптимизацию уровня 2 (машинно-зависимая оптимизация, оптимизация на уровне базовых блоков и автоматическая векторная оптимизация).

Редакторы

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

Альтернативным редактором является emacs. Он имеет несколько более развитый (оконный) пользовательский интерфейс.

CONVEX Consultant

Пакет CONVEX Consultant содержит набор традиционных для UNIX средств отладки и профилирования программ.

CXdb

Интегрированное средство отладки программ. Имеет развитой пользовательский интерфейс: для алфавитно-цифровых терминалов это оконная система ``Maryland windows'', для X-терминалов - графическая оболочка. Система команд напоминает csd. Данный отладчик является специфическим для машин CONVEX средством.

CXpa

Интегрированное средство профилирования программ. Имеет развитой интерфейс пользователя: для алфавитно-цифровых терминалов это оконная система ``Maryland windows'', для X-терминалов - графическая оболочка. Специфичен для машин CONVEX.

Application Compiler

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

AVS

Application Visualization System - графическая среда визуализации пользовательских массивов данных. Имеет встроенные средства обработки и просмотра побитовых картинок, графиков и геометрических объектов. Библиотека системы содержит около сотни модулей обработки и графического представления данных, что позволяет решить практически все проблемы визуализации (от графиков до многомерных векторных полей). Система имеет средства анимации.

AVS позволяет легко импортировать данные произвольной структуры. Система является ``открытой'', т.е. пользователь имеет возможность написать свой модуль обработки/генерации данных и подключить его к библиотеке AVS.

Система работает в графической среде X Window.

CXbatch

CXbatch является системой пакетной обработки заданий. Создана на базе пакетной системы NQS фирмы Sun Microsystems. Идея пакетной обработки заключается в том, что система выстраивает из поступающих запросов очередь. Поскольку задания в очереди имеют пониженный приоритет, они не мешают интерактивной работе пользователей. Более того, система следит за текущей степенью загрузки машины и таким образом получает возможность сглаживать пиковые нагрузки. В ряде случаев пакетное задание пользователя может быть автоматически перемещено на другую машину (если она загружена меньше).

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

В настоящее время в CXbatch сконфигурированы три очереди. Очереди различаются приоритетом выполнения и лимитом на системные ресурсы.

Краткий обзор команд:

qsub - послать задание в очередь,

qdel - снять с выполнения пакетное задание,

qps - получить справку о текущих задачах в пакетной системе.

4 Административные ограничения

В отличие от вашего персонального компьютера, машины CONVEX являются многопользовательскими и, в силу этого, имеют определенные ограничения на использование ресурсов пользователями.

Кроме жестких ограничений на ресурсы, существуют также ``правила хорошего поведения''. Все это вкратце изложено ниже.

Дисковая квота

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

Подробнее, дисковая квота определяется двумя величинами: ``мягкий предел'' и ``жесткий предел''. При этом жесткая квота несколько больше мягкой.

Система никогда не позволит вам превысить жесткий предел. При превышении же мягкого предела вы будете постоянно информироваться системой о том, что ``вы превысили квоту на XXX килобайт''. Рекомендуем вам побыстрее очистить дисковое пространство. Если же в течении нескольких дней вы не снимете проблему, система автоматически снизит величину жесткой квоты до значения мягкой. После этого работать в системе практически невозможно.

Если возникли проблемы с местом, вот вам несколько советов:

Посмотреть свою квоту вы можете командой quota.

Учет использования ресурсов

По каждому пользователю ведется учет использования CPU времени и терминального времени. Что же это такое?

Терминальное время - это время вашей интерактивной работы (от момента входа в систему до момента выхода) с локального или удаленного терминала. Некоторые пользователи любят работать с системой одновременно с нескольких терминалов. Час одновременной работы одного пользователя с N терминалов будет учтен системой как N часов терминального времени. Поэтому, теоретически, можно набрать более 24 часов терминального времени в сутки.

Обсудим что такое CPU-время. Система CONVEX является системой разделения времени между задачами. Поэтому реальное время выполнения задачи зависит от количества заданий в очереди планировщика времени (т.е. от текущей загруженности системы). Объективным показателем использования процессорного ресурса является CPU время - время затраченное процессором именно на вашу задачу.

В однопроцессорных системах CPU-время всегда меньше реального времени выполнения задачи. В многопроцессорных системах это соотношение может быть любым (так как в сутках всего 24 часа реального времени, и N*24 часов процессорного времени, где N - количество процессоров).

Пользуйтесь пакетной обработкой заданий

В системе не ограничивается количество процессов, которые может запустить пользователь. Поэтому неразумное использование компьютера может привести к его значительным перегрузкам.

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

Многие считают, что, обойдя CXbatch, они смогут выиграть в реальном времени счета. Увы, это заблуждение. Следующие рассуждения помогут вам лучше понять систему разделения ресурсов.

Во-первых, не имеет смысла запускать одновременно процессов больше, чем количество CPU в системе. Дело в том, что если в системной очереди на процессор стоит только одна задача, то она целиком (и единолично) загружает этот процессор. Это самый выгодный режим работы задачи в смысле пользователя - реальное время счета минимально. При добавлении лишней задачи, она будет добавлена в очередь и загрузка процессора возрастет, а квант времени, выделяемый на каждую задачу сократится. Это приведет к возрастанию реального времени счета.

Во-вторых, кроме динамичного распределения загрузки процессоров и машин, CXbatch осуществляет последовательное (а не одновременное) выполнение заданий. При этом каждая из задач в очереди выполняется в максимально благоприятном режиме (по возможности одна задача на процессор). Небольшой пример: пусть 10 пользователей хотят просчитать по задаче, каждая из которых требует 1 час CPU-времени. Считаем для простоты машину однопроцессорной. Проанализируем интерактивный и пакетный варианты:

Итак, пакетная система выгодна в первую очередь самим пользователям. Надо понимать, что пониженный приоритет заданий в очереди является лишь системным средством выравнивания нагрузок и, в конечном счете, помогает более эффективному использованию компьютера (и, как это ни парадоксально, приводит к уменьшению реального времени счета задачи).

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

Пароли

В целях безопасности и защиты от несанкционированного доступа, пользователи должны:

Сложный пароль - это пароль

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

А. Пароль составляется из нескольких простых слов, разделенных одним из специальных знаков типа !"#;:,.*()_+=|\/?< > или пробелом, например:


nice$day

see_you& later

be@quite

dwa rublya

sasha+masha=love

Б. Пароль составляется из первых букв простой фразы (с соблюдением пунктуации и заглавных букв). Например, бессмертный пионерский девиз ``К борьбе за дело Коммунистической Партии Советского Союза - будьте готовы!'' породит нам отличный пароль:


KbzdKPSS-bg!

Для этого способа очень хорошо подходят также отрывки из стихотворений и песен.

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

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

5 Разное

Компрессия файлов

Сжатие файлов помогает увеличить свободное дисковое пространство. Стандартным средством сжатия является утилита compress. Формат вызова:

% compress filename

В результате ее работы файл будет сжат и к его имени добавится суффикс .Z (файл-оригинал будет стерт). Программа компрессии достаточно эффективна.

Обратное действие выполняет команда

% decompress filename

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

Архивация файлов

Архивацию файлов не следует путать с компрессией: при архивации содержимое нескольких файлов сливается в один файл специальной структуры, но сжатия данных не происходит. Стандарной утилитой архивации является tar. Ключи команды:

Приведем несколько наиболее показательных примеров использования команды tar:

% tar cvf mydata.tar *

Создает архив mydata.tar и записывает в него все содержимое текущего каталога (с рекурсивным спуском в подкаталоги. При работе выводит имя каждого из архивируемых файлов (ключ v).

% tar tvf mydata.tar

Просматривает архивный файл mydata.tar и выводит имя всех файлов в архиве на терминал.

%tar xvf mydata.tar

Раскрывает в текущий каталог содержимое архива mydata.tar (создавая при необходимости подкаталоги).

%tar xvf mydata.tar foo.txt

Ищет в архиве mydata.tar файл с именем foo.txt и (если он есть) достает его из архива.

Часто комбинируют компрессию с архивацией, например так:

% tar cvf mydata.tar *

% compress mydata.tar

В результате имеем сжатый архив mydtata.tar.Z. Все остальные файлы в текущем каталоге можем удалить.

Кириллические тексты

К сожалению, в России широко используются сразу несколько различных способов кодировки кириллических текстов. Перечислим наиболее популярные кодировки:

Несколько смягчить остроту проблемы помогают программы перекодировки. Перечислим имеющиеся перекодировщики:

Перенос текстов из DOS в среду ConvexOS

Кроме различия в способе кодирования кириллицы, тексты сгенерированные под DOS отличаются от текстов UNIX (и ConvexOS) способом обозначения конца строки: В DOS конец строки помечается парой символов с кодами 10 и 13. В UNIX конец строки помечается лишь символом с кодом 10.

Программы переноса файлов (типа ftp) имеют соответственно два режима работы: бинарный - файлы передаются дословно, и режим `` ascii'' - файлы считаются текстовыми и автоматически преобразуется признак конца строки. Поэтому, при переносе файлов внимательно следите за режимом передачи. Учтите, что передача нетекстовых файлов данных (например архивов) в режиме ascii приводит к тому, что полученный файл не будет пригоден для использования.

Желаем успешной работы.