Новые книги

Книга «Rational Rose 2000 и UML. Визуальное моделирование» является исчерпывающим руководством по использованию инструмента (Rational Rose 2000), процесса (Rational Unified Process) и языка (UML) для визуального представления, определения, описания и создания программной системы. Здесь изложены основы процесса разработки и дано четкое объяснение каждого этапа и элемента. Автор следует упрощенному варианту методологии Rational Unified Process и описывает процесс разработки от задумки до системного анализа и проектирования. На простом практическом примере, проходящемчерез всю книгу, наглядно демонстрируются итеративный процесс разработки, средства языка UML и возможности среды моделирования Rational Rose. В приложениях рассматриваются вопросы генерации кода и возвратного проектирования в программе Rational Rose 2000 для языков C++, Visual C++ и Visual Basic.

В книге также обсуждаются следующие темы:

— создание функций;

— поиск объектов и классов;

— стереотипы и пакеты в языке UML;

— сценарии и диаграммы взаимодействий;

— способы взаимодействия объектов;

— ассоциативные и агрегационные отношения;

— поведение и структура классов;

— наследование и отношения суперкласс/подкласс;

— поведение объектов и диаграммы переходов и состояний;

— проверка целостности модели;

— определение, представление и описание системной архитектуры;

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

Управление атрибутами устройств

9.5. Управление атрибутами устройств

9.5.1. Добавление устройства

9.5.2. Списки устройств .

9.5.3. Управление атрибутами из меню

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

Следующие операции выполняются путем выбора варианта device - Device Alias и Attribute Management с экрана Storage Devices. Появится следующий экран:

	3   Device Description Management
	-----------------------------------------------
	add          - Add a Device
	attributes   - Device Attribute Management
	list         - List Device
	remove       - Remove a Device
	reservations - Device Reservation Management

База данных устройств постоянно находится в /etc/device.tab. У нее один вход на устройство, состоящий из ряда атрибутов, описывающих это устройство.

Если нужно добавить, изменить или удалить вход из оболочки системного ядра, можно сделать это, используя команду putdev.

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

9.5.1. Добавление устройства

Если выбран вариант add - Add a Device, вы получите следующую форму:

	4    Add a Device
	----------------------------------------------
	Device Alias:
	Description:
	Type:
	Character special device pathname:
	Block special device pathname:
	Other Attributes
	    Attribute:            Value:
	    Attribute:            Value:
	    Attribute:            Value:
	          .                 .
	          .                 .
	          .                 .

Заполнение этой формы создает новый вход в базе данных устройства. Каждый вход в базе данных устройства состоит из списка атрибутов для особого устройства. Требуется атрибут alias; другие атрибуты необязательные и могут варьироваться от устройства к устройству.

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

alias -
уникальное имя, по которому узнается устройство. Это имя ограничивается 14 символами и может содержать только алфавитно-цифровые символы и специальные символы: подчеркивания (_), знака доллара ($), тире (-) и точки (.), перед которыми стоит наклонная черта влево (\);
bdevice -
полное имя пути к специальному узлу блок-ориентированного устройства. Тип/номер должны быть уникальными в базе данных и соответствовать типу и номеру, связанным с полем cdevice;
capacity -
информационная емкость устройства или типичного тома -
сменная;
cdevice -
полное имя пути к узлу специального байт-ориентированного устройства. Тип/номер должны быть уникальными в бвзе данных и соответствовать типу/номеру, связанными с полем bdevice;
cyl -
используется командой, специфицированной в атрибуте mkfscmd;
desc -
описание любого экземпляра тома, связанного с этим устройством (например, с гибким диском);
dpartlist -
список секторов диска, связанного с этим устройством. Используется только, если type=disk. В списке должны быть псевдонимы устройства, каждый из которых должен иметь type=dpart;
dparttype -
тип сектора диска, представленного этим устройством. Используется только, если type=dpart. Он должен быть либо fs (для файловых систем), либо dp (для раздела данных);
erasecmd -
командная строка, стирающая информацию с устройства;
fmtcmd -
командная строка, форматирующая устройство;
fsname -
имя файловой системы в файловой системе, администрируемой в этом разделе с помощью команды /usr/sbin/labelit. Атрибут специфицируется только, если type=dpart и dparttype=fs;
gap -
используется командой, специфицированной в атрибуте mkfscmd;
mkfscmd -
командная строка, которая при выполнении помещает файловую систему в прежде сформатированное устройство;
mountpt -
точка монтирования по умолчанию для устройства. Используется только, если устройство монтируемое. Для секторов диска, где type=dpart и dparttype=fs, этот атрибут должен специфицировать место, где обычно монтируется сектор;
nblocks -
число блоков в файловой системе, администрируемой в этом секторе. Используется только, если type=dpart и dparttype=fs;
ninodes -
число индексных дескрипторов файлов в файловой системе, администрируемой в этом секторе. Используется только, если type=dpart и dparttype=fs;
norewind -
имя узла специального байт-ориентированного устройства, позволяющее обратиться к этому устройству без обратной перемотки, когда устройство закрыто;
pathname -
определяет полное имя пути к индексному дескриптору файла, описывающему устройство (используется для полных имен пути не блок-ориентированных или не байт-ориентированных устройств, например, каталогов);
type -
лексема, представляющая характерные качества устройства. Стандартные типы включают: 9-track, ctape, disk, directory, diskette, dpart и qtape;
volname -
имя тома в файловой системе, администрируемой в этом секторе с помощью команды /usr/sbin/labelit. Используется только, если type=dpart и dparttype=fs;
volume -
текстовая строка, используемая для описания любого экземпляра тома, связанного с этим устройством. Этот атрибут определяется только для сменных устройств.

9.5.1.1. Создание входа с помощью команды

Используйте команду putdev для создания входа для устройства в базе данных устройств. Напечатайте:

	putdev -a alias [attribute=value [...]]

где alias - псевдоимя устройства, добавляемого в базу данных;
attribute=value - это список значений атрибутов, связанных с устройством.

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

Ниже показана командная строка, необходимая для добавления устройства с псевдонимом diskette3 к базе данных:

	putdev -a diskette3 desc="Floppy Diskette Drive 3"
	type=diskette

9.5.2. Списки устройств

9.5.2.1. Перечисление устройств с помощью меню

Можно получить список всех устройств, выбрав вариант List Devices из меню sysadm.

9.5.2.2. Перечисление устройств с помощью команд

Используйте команду getdev для составления списка устройств. Выполненная без параметров, эта команда создает список всх устройств в базе данных. Например команда:

	getdv

может создать такой список:

	# getdev
	ctape1
	disk1
	disk2
	diskette1
	spool
	#

Можно заказать списки, дав имена устройствам, которые следует включить в эти списки, определив критерии, по которым описываются эти устройства, или дав и имена устройств, и список критериев. Использование команды getdev позволяет получить ответы на следующие вопросы:

  • для каких устройств определена команда форматирования?
  • какие устройства, кроме spool, устанавливаются в базу данных устройств?

9.5.2.3. Определение устройств в командной строке getdev

Дайте имена устройствам в командной строке getdev, Напечатав

	getdev [-e] device [device [...]]

где device - имя устройства или устройств, которое вы хотите включить в список.

Все устройства с именами будут включены в список, если вы не используете параметр -e, который указывает, что устройства с именами должны быть исключены из списка.

9.5.2.4. Назначение имен критериям в командной строке getdev

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

	getdev [-a] criteria [criteria [...]]

где criteria специфицируется по выражениям.

Есть 4 типа выражений:

attribute=value -
выбирает все устройства, для которых определен attribute и который равен value;
attribute!=value -
выбирает все устройства, для которых определен attribute и который не равен value;
attribute:* -
выбирает все устройства, для которых определен attribute;
attribute!:* -
выбирает все устройства, длякоторых attribute не определен.

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

Какие устройства, кроме spool, помещаются в базу данных? Напечатайте

	getdev -e spool

У каких устройств определен атрибут fmtcmd? Напечатайте

	getdev fmtcmd:*

У каких устройств не определен атрибут fmtcmd? Напечатайте

	getdev fmtcmd!:*

У каких устройств атрибут type определен как disk или атрибут part? Напечатайте

	getdev type=disk part:*

У каких устройств атрибут type определен как disk и атрибут part? Напечатайте

	getdev -a type=disk part:*

(этот пример отличается от предыдущего требованием, чтобы устройство отвечало обоим критериям, а не одному).

У каких устройств в списке с их именами (disk1, disk3, disk5) атрибут type определен как disk и атрибут part? Выполните

	getdev type=disk part:* disk1 disk3 disk5

9.5.3. Управление атрибутами из меню

Если вы выбираете параметр attributes - Device Attribute Management из меню Device Description, у вас появляется возможность добавлять, составлять список, модифицировать или удалять атрибуты из специфицированных устройств.

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

9.5.3.1. Перечисление атрибутов устройства с помощью команд

Команда devattr отображает значения атрибутов устройства. Отображение может быть представлено в двух форматах:

  • формат по умолчанию отображает список значений атрибутов без дескрипторной маркировки каждого атрибута;
  • формат имени команды, запрашиваемый с помощью параметра -v, отображает атрибут как attribute=value.

Чтобы перечислить атрибуты устройства, напечатайте

	devattr [-v] device [attribute [...]]

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

Если вы не называете специфический атрибут, все атрибуты, связанные с этим устройством, отображаются в алфавитном порядке.

Например, напечатав

	devattr -v diskette1

вы получите следующее:

	alias='diskette1'
	bdevice='/dev/dsk/f0t'
	capacity='2370'
	cdevice='/dev/dsk/f0t'
	copy='true'
	desc='Floppy Drive 1'
	erasecmd='/usr/sadm/sysadm/bin/floperase/dev/dsk/f0'
	fmtcmd='//usr/sbin/format -v /dev/rdsk/f0q15dt'
	mdensdefault='mdens1HIGH'
	mdenslist='mdens1HIGH, mdens1MED, mdens1LOW'
	mkfscmd='/sbin/mkfs -F s5 /dev/dsk/f0t 2370:592 230'
	mountpt='/install'
	removable='true'
	type='diskette'
	volume='diskette'

Чтобы увидеть только значение атрибута mountpt, напечатайте

	devattr diskette1 mountpt

Это порождает

	/install

Из этого примера можно видеть, что значением атрибута mountpt для устройства diskette1 является /install.

9.5.3.2. Изменение входа устройства с помощью команд

Команду putdev можно использовать для модификации существующих значений атрибутов устройства или добавления новых атрибутов к входу устройства. Для этого напечатайте:

	putdev -m device attribute=value [attribute=value[...]]

где device - полное имя пути или псевдоимя входа устройства, который изменяется; attribute - имя изменяемого атрибута;
value - значение, которое должно быть присвоено атрибуту.

Если специфицируемый атрибут в настоящий момент существует в базе данных, команда putdev -m изменяет значение. Если этого атрибута нет, его добавляют и дают ему значение value. Атрибут с псевдоименем нельзя изменить с помощью команды putdev -m. Это предотвращает случайное изменение или удаление псевдонима устройства из базы данных.

Чтобы удалить описание атрибута из входа в устройство, используйте синопсис -d команды putdev:

	putdev -d device attribute

где device - имя входа устройства, из которого будет удалено описание атрибута;
attribute - имя атрибута.

Чтобы удалить значение атрибута, но сохранить атрибут в точке входа устройства, используйте тот же формат со следующим исключением - присвойте атрибуту значение "нуль". Например, чтобы удалить значение атрибута volume, оставив volume во входе устройства, напечатайте

	putdev -m diskette1 volume=""

9.5.3.3. Удаление входа устройства с помощью команд

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

	putdev -d device

где device - полное имя пути или псевдоним устройства, которое удаляется из базы данных устройств.

Назад | Содержание | Вперед