После компиляции в дирректории bin
будет лежать исполняемый файл tape-sorter.
Как и указано в условии на вход принимаются 2 параметра: путь к файлу входной и выходной лент.
./tape-sorter <input-tape-path> <output-tape-path>
Чтобы фалй мог использоваться, как лента, он должен иметь специальный формат.
Чтобы быстро создавать файлы в нужно формате я написал ещё одну утилитку tape-formatter
.
В директории bin
лежит утилита tape-formatter
, которая может создать пустую ленту определённого размера.
Usage: ./tape-formatter <tape-file-path> <size>
Exemple: ./tape-fotmatter "/home/ilia/empty-tape.txt" 10
Или ленту заполненную числами из другого файла. Каждое число в инициализирующем файле должно быть записано с новой сторчи.
Usage: ./tape-formatter <tape-file-path> -f <init-file-path>
Exemple: ./tape-fotmatter "/home/ilia/tape.txt" -f "home/ilia/tape-templates/tape_1.txt"
Есть ещё несколько варинатов использования
Usage: ./tape-formatter <tape-file-path> -z <size>
Usage: ./tape-formatter <tape-file-path> -r <size> <min> <max>
Usage: ./tape-formatter <tape-file-path> -c <numbers...>
Первый генириует ленту размера size
, заполненную 0. Второй заполняет ленту случайными числами из диапозона [min, max]
.
Третий заполняет ленту указанными числами.
Фалй находится по пути /YOURREPOPATH/tape-storage/tape-storage/config.json
{
"tape": {
"readDelay": 100,
"writeDelay": 100,
"rewindDelay": 100,
"shiftDelay": 100
},
"system": {
"memory": 400,
"tmpTapes": 7
}
}
Поле tape
содержить время задержки выполнения операция лентой в наносекундах.
memory
- сколько байт можно считать с ленты за 1 раз.
tmpTape
- количесво временных лент для сортировки.