Плагин system.spf

Файл: system.spf
Автор: Nicholas Nemtsev
Описание: Дополнительные слова, позволяющие отслеживать загрузку памяти системы. С их помощью можно получить информацию о том, как в текущий момент используется память компьютера и, в зависимости от этого, принять решение о запуске тех или иных утилит.

Новые слова:


MemLoad

Возвращает текущую загрузку памяти (в процентах)

Пример:

#( test_memload
Action:
    MemLoad 90 >
    IF
        BALLOON: "MemLoad Warning" "Память загружена более чем на 90%PERCENT%"
    THEN
)#

TotalPhys

Возвращает общее количество физической памяти (Total Physical Memory) в байтах.

Пример:

\ выводит значение на nnCron-консоль и в nncron.out
TotalPhys . CR

AvailPhys

Возвращает количество доступной в данный момент физической памяти (Available Physical Memory) в байтах.

Пример:

\ выводит значение на nnCron-консоль и в nncron.out
AvailPhys . CR

TotalPageFile

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

Пример:

\ выводит значение на nnCron-консоль и в nncron.out
TotalPageFile . CR

AvailPageFile

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

Пример:

\ выводит значение на nnCron-консоль и в nncron.out
AvailPageFile . CR

TotalVirt

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

Пример:

\ выводит значение на nnCron-консоль и в nncron.out
TotalVirt . CR

AvailVirt

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

Пример:

\ выводит значение на nnCron-консоль и в nncron.out
AvailVirt . CR

GetVolID ( letter -- serial_number)

Это постфиксное слово принимает в качестве аргумента букву диска и возвращает одинарное число со знаком, представляющее Volume ID (серийным номером тома) указанного диска в десятичном исчислении.

См. также GET-VOL-ID


GET-VOL-ID ( letter -- a u)

Это постфиксное слово принимает в качестве аргумента букву диска и возвращает строку с Volume ID (серийным номером тома) указанного диска в HEX-исчислении. В дальнейшем вы можете использовать сохраненную строку, например, для идентификации нужного компакт-диска.

Если программе не удалось получить Volume ID (например, диск недоступен или компакт диск отсутствует в дисководе) то слово GET-VOL-ID возвращает строку '0'.

Для того, чтобы положить на стек букву диска используются слова CHAR и [CHAR]. Слово CHAR следует употреблять в периоде исполнения (например, в консоли):

CHAR F GET-VOL-ID TYPE CR

Слово [CHAR] употребляется в периоде компиляции (например, в теле задач):

#( test_volid
NoActive
Action:
    \ выводим Volume ID диска F: на консоль:
    [CHAR] F GET-VOL-ID TYPE CR
)#

Пример:

#( test_volid1
WatchDrive: "F" 
Action:
    \ пауза в 20 секунд, чтобы диск успел "раскрутиться"
    PAUSE: 20000
    S" 35405AED" [CHAR] F GET-VOL-ID COMPARE 0=
    IF
        \ выполняем действие если строки с Volume ID совпали
    THEN 
)#