Я предполагаю, что основное преимущество (для меня) GRUB
Основные преимущества LILO:
Я сказал бы, что в 99% случаев Вы предпочитаете GRUB.
Я не положителен, что знаю то, что Вы имеете в виду, но Вы ищете что-то вроде этого?
Я использовал Graphviz, который берет файлы ввода текста, описывающие переходы, и выясняет график автоматически. Вот точная команда:
$ sed 's/-/_/g' input | gawk '
BEGIN {print "digraph g {"}
END {print "}"}
match($0, /from ([^ ]*) to ([^ ]*) \((.*)\)$/, groups) {
print groups[1] " -> " groups[2] " [label = \"" groups[3] "\"];"
}' > output.dot
$ dot -Tpng output.dot > output.png
sed 's/-/_/g' input
- Точке не нравятся дефисы в имени узла, таким образом, я преобразовал их в символы нижнего подчеркиванияgawk
- Стандарт awk не имеет match
функция, которую имеет простофиля; можно сделать обработку строк любым путем, Вам нравится хотя (например, жемчуг другой хороший выбор), BEGIN {print "digraph g {"}
- Точечные спецификации запускаются с этой строки (название графика, "g", действительно не имеет значения),END {print "}"}
- Концы digraph g
запущенный в НАЧАТЬ блокеmatch($0, /from ([^ ]*) to ([^ ]*) \((.*)\)$/, groups)
- Регулярное выражение, которое соответствует Вашему формату файла журнала; это хранит результаты в groups
переменнаяprint groups[1] " -> " groups[2] " [label = \"" groups[3] "\"];"
- Производит совместимую с точкой строку (например, A -> B [label = "C"];
покажет два узла, A, и B, с переходом между ними маркировал C)dot -Tpng output.dot > output.png
- Скажите graphviz преобразовывать точечный файл в PNGdigraph g {
EXITING_RETURNSTD -> EXITING_STAGEOUT [label = "5_51"];
RUNNING_PRERUN -> RUNNING_RUNNING [label = "4_42"];
RUNNING_RUNNING -> EXITING_EXITING [label = "5_50"];
EXITING_EXITING -> EXITING_RETURNSTD [label = "5_70"];
EXITING_RETURNSTD -> EXITING_STAGEOUT [label = "5_51"];
RUNNING_RUNNING -> EXITING_EXITING [label = "5_50"];
}
PNG Вы добираетесь при прокручивании того файла dot
выше
Я работаю над инструментом, чтобы сделать точно, что Вы хотите - генерируют конечные автоматы от журналов. Инструмент называют Синоптическим, и можно узнать больше об этом здесь: http://code.google.com/p/synoptic/