Сценарий Bash - перевернуть строку

В Linux ядро ​​поддерживает трехуровневую таблицу страниц (независимо от возможностей ЦП). Верхний уровень — это глобальный каталог страницы, и у каждого процесса есть свой собственный каталог,pgdв mm_struct. Таким образом, каждый процесс может иметь свои собственные сопоставления, поэтому адрес 12345 в разных процессах указывает на разные физические адреса.

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

Глава Управление таблицей страницв книге Мела Гормана Understanding the Linux Virtual Memory Managerдает хороший обзор.

1
07.08.2017, 19:56
1 ответ

Вместо того, чтобы использовать лестницу if..elif..elif, просто проведите один тест на максимальную и минимальную длину:

#!/bin/bash
read -p 'Enter a word :' word
if [[ ${#word} -le 2 ]] || [[ ${#word} -ge 11 ]]; then
   echo "Word is too short or long."
else
   rev < <(echo ${word})
fi
6
27.01.2020, 23:16

Теги

Похожие вопросы