Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИДЗ ОС Unix (2 разных исполнения) / идз обе части сданное Тищенко(ПМ).doc
Скачиваний:
20
Добавлен:
20.06.2014
Размер:
195.58 Кб
Скачать

8.Управление памятью

Основная (или как ее принято называть в отечественной литературе и документации, оперативная) память всегда была и остается до сих пор наиболее критическим ресурсом компьютеров. Если учесть, что большинство современных компьютеров обеспечивает 32-разрядную адресацию в пользовательских программах, и все большую силу набирает новое поколение 64-разрядных компьютеров, то становится понятным, что практически безнадежно рассчитывать, что когда-нибудь удастся оснастить компьютеры основной памятью такого объема, чтобы ее хватило для выполнения произвольной пользовательской программы, не говоря уже об обеспечении мультипрограммного режима, когда в основной памяти, вообще говоря, могут одновременно содержаться несколько пользовательских программ.

Поэтому всегда первичной функцией всех операционных систем (более точно, операционных систем, обеспечивающих режим мультипрограммирования) было обеспечение разделения основной памяти между конкурирующими пользовательскими процессами. Мы не будем здесь слишком сильно вдаваться в историю этого вопроса. Заметим лишь, что применявшаяся техника распространяется от статического распределения памяти (каждый процесс пользователя должен полностью поместиться в основной памяти, и система принимает к обслуживанию дополнительные пользовательские процессы до тех пор, пока все они одновременно помещаются в основной памяти), с промежуточным решением в виде "простого своппинга" (система по-прежнему располагает каждый процесс в основной памяти целиком, но иногда на основании некоторого критерия целиком сбрасывает образ некоторого процесса из основной памяти во внешнюю память и заменяет его в основной памяти образом некоторого другого процесса), до смешанных стратегий, основанных на использовании "страничной подкачки по требованию" и развитых механизмов своппинга.

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

9.Описание и примеры использования заданной группы команд.

1)Команда PAUSE

Приостанавливает выполнение пакетной программы с выводом сообщения об ожидании нажатия пользователем любой клавиши.

Для создания пакетной программы запроса пользователю о необходимости заменить диск в одном из дисководов, введите:

@echo off

:begin

copy a:*.*

echo Please put a new disk into drive A

pause

goto begin

В этом примере все файлы с диска A копируются в текущий каталог. После этого на экран выводится запрос вставить другой диск в дисковод А, затем команда pause приостанавливает работу программы, чтобы пользователь мог сменить диск и нажать любую клавишу для продолжения процесса. Данная пакетная программа работает как бесконечный цикл. Команда goto BEGIN возвращает управление на начало командного файла. Для завершения работы этой пакетной программы требуется нажать комбинацию CTRL+C и Y.

2)Команда POPD

Изменяет текущий в каталог на каталог, сохраненный командой pushd.

Каждое выполнение команды pushd сохраняет один каталог. Запустив команду pushd несколько раз, можно сохранить несколько каталогов.

Каталоги сохраняются последовательно в виртуальном стеке. Если команда pushd выполняется один раз, то каталог, в котором используется команда, помещается в стеке вниз. Если запустить команду еще раз, второй каталог помещается над первым. Этот процесс повторяется при каждом вызове команды pushd .

Команду popd можно использовать для изменения текущего каталога на каталог, сохраненный последним командой pushd. Если используется команда popd, верхний каталог в стеке удаляется и текущий каталог заменяется на этот каталог. Если запустить команду popd еще раз, из стека будет удален следующий верхний каталог.

Если расширения командного процессора разрешены, то команда popd удаляет любые имена дисков, назначенные командой pushd.

Команды pushd и popd можно использовать в пакетной программе для изменения текущего каталога, в котором она была запущена, и последующего возврата к нему. В приведенном ниже примере показано, как это сделать:

@echo off rem Этот пакетный файл удаляет все файлы .txt в заданном каталоге pushd %1 del *.txt popd cls echo Все текстовые файлы в каталоге %1 удалены

3)Команда PRINT

Отправляет текстовый файл на принтер.

/d:принтер Задает имя принтера, на котором требуется напечатать файл. Можно задать локальный принтер, указав порт на компьютере, к которому подключен принтер. Допустимые значения для параллельных портов: LPT1, LPT2 и LPT3. Допустимые значения для последовательных портов: COM1, COM2, COM3 и COM4. Можно также задать сетевой принтер по его имени в сети (\\имя_сервера\имя_принтера). Если принтер не задан, то задание уйдет на печать в порт LPT1. диск: Задает логический и физический диск, на котором находится файл, задаваемый на печать. Этот параметр не нужен, если файл для печати находится на текущем диске. путь Задание местоположения файла на диске. Этот параметр не нужен, если файл для печати находится в текущем каталоге. имя_файла [...] Обязательный параметр. Задает имя файла, который требуется напечатать. В одном вызове команды может быть задано несколько файлов.

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

Большинство программ имеет встроенные возможности печати. Для печати файлов, созданных с помощью таких программ необходимо использовать команду print.

С помощью команды mode можно выполнить настройки в командной строке.

Для отправки на печать файла Report.txt из текущего каталога на принтер, подключенный к порту LPT2 локального компьютера, введите:

print /d:LPT2 report.txt

4)Команда PROMT

Изменяет приглашение командной строки (Cmd.exe). Вызванная без параметров, команда prompt восстанавливает стандартные настройки приглашения командной строки: имя текущего диска с последующим именем текущего каталога и знак "больше" (>).

prompt [текст]

текст Задает любой текст и сведения, которые будут выводиться в приглашении командной строки.

Вид приглашения командной строки может быть настроен так, чтобы выводить имя текущего каталога, текущее время, дату и номер версии Windows XP.

Приведенный ниже список содержит сочетания символов, которые можно использовать вместо или вместе с символьными строками в параметре текст . Список содержит краткое описание текста или сведений, которые каждая комбинация символов добавляет в приглашение командной строки.

Символ Описание

$q = (знак равенства)

$$ $ (знак доллара)

$t Текущее время

$d Текущая дата

$p Текущий диск и каталог

$v Windows XP номер версии

$n Текущий диск

$g > (знак "больше")

$l < (знак "меньше")

$b | (канал)

$_ Перевод строки

$e Управляющий код ANSI (код 27)

$h Забой (для удаления символа, написанного в приглашении командной строки)

$a & (амперсанд)

$c ( (левая скобка)

$f ) (правая скобка)

$s пробел

5)Команда PUSHD

Сохраняет имя текущего каталога для команды popd и переходит в другой каталог.

pushd [путь]

путь Задает путь к месту, в которое должна быть перенаправлена папка. Эта команда поддерживает относительные пути.

Каждое выполнение команды pushd сохраняет один каталог. Запустив команду pushd несколько раз, можно сохранить несколько каталогов.

Каталоги сохраняются последовательно в виртуальном стеке. Если команда pushd выполняется один раз, то каталог, в котором используется команда, помещается в стеке вниз. Если запустить команду еще раз, второй каталог помещается над первым. Этот процесс повторяется при каждом вызове команды pushd .

Команду popd можно использовать для изменения текущего каталога на каталог, сохраненный последним командой pushd. Если используется команда popd, верхний каталог в стеке удаляется и текущий каталог заменяется на этот каталог. Если использовать команду popd еще раз, из стека будет удален следующий верхний каталог.

Если расширения командного процессора разрешены, то команда pushd разрешает указывать сетевой путь или локальный диск и путь.

Если задан сетевой путь, то команда pushd временно назначает первое неиспользованное имя диска (начиная с Z:) заданному сетевому ресурсу. Далее команда меняет текущий диск и каталог на указанный каталог в заново назначенном диске. Если расширения командного процессора разрешены, то команда popd удаляет любые имена дисков, созданные командой pushd.

Команды pushd и popd можно использовать в пакетной программе для изменения текущего каталога, в котором она была запущена, и последующего возврата к нему. В приведенном ниже примере показано, как это сделать:

@echo off rem Этот пакетный файл удаляет все файлы .txt в заданном каталоге pushd %1 del *.txt popd cls echo Все текстовые файлы в каталоге %1 удалены

6)Команда RD

В процессе работы может возникнуть ситуация, когда каталог необходимо удалить. Для удаления каталога используется команда RD. Для удаления подкаталога

PISMO в командной строке набирается команда RD PISMO.

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

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

7)Команда RECOVER

Восстанавливает сохранившуюся на испорченных или дефектных дисках информацию.

recover [диск:][путь] имя_файла

[диск:][путь] имя_файла Задает местонахождение и имя файла, который подлежит восстановлению.

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

Ограничения на параметр [диск:][путь]имя_файла

Использование подстановочных знаков (* и ?) в команде recover не допускается. Должно быть указано имя файла.

Новый ввод потерянных данных

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

Восстановление испорченных секторов

Поврежденные сектора, о которых сообщает команда chkdsk, были маркированы при первом форматировании диска. Они не представляют опасности и команда recover не будет обращать на них внимание.

8)Команда REM

Добавляет комментарии в пакетные файлы или файлы настройки.

rem [текст]

текст Задает строку символов, используемую в качестве комментария.

Вывод комментариев с помощью команды echo

Команда rem не выводит комментарии на экран. Для вывода комментариев на экран необходимо использовать команду echo on в пакетных файлах или в файле Config.nt.

Ограничения на комментарии в пакетных файлах

В тексте комментариев нельзя использовать символы перенаправления (< или >) или канала (|).

Использование команды rem для добавления вертикальных пробелов.

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

9)Команда REN

Изменяет имя файла или набора файлов.

ren [диск:][путь] имя_файла_1 имя_файла_2

[диск:][путь] имя_файла1 Задает местоположение и имя файла или набора файлов для переименования. имя_файла_2 Задает новое имя файла. Если используются подстановочные знаки (* и ?), то имя_файла_2 указывает новые имена для файлов. При переименовании файлов нельзя задать новый диск или путь.

Допускается переименование всех файлов, соответствующих заданному имени файла. Команду rename нельзя использовать для переименования файлов на разных дисках или для их перемещения в другой каталог.

Использование подстановочных знаков при переименовании

Подстановочные знаки (* и ?) могут быть использованы в параметрах, задающих имена. Если они использованы в параметре имя_файла_2, то символы, замещаемые символами подстановки, будут теми же, что и в параметре имя_файла_1.

Команда переименования не будет работать, если имя_файла_2 уже существует.

Если имя файла, задаваемое параметром имя_файла_2, уже существует, команда rename выведет на экран следующее сообщение:

Дублирование имени файла или файл не найден

Допустим, что необходимо изменить расширения имен всех файлов в текущем каталоге с расширением .txt; например, требуется заменить расширение .txt на .doc. Для выполнения этих изменений введите:

ren *.txt *.doc

Для переименования файла или каталога Chap10 в Part10 введите:

ren chap10 part10

  1. Библиографический список

  1. Робачевский, А.М. Операционная система UNIX [Текст]: учеб. пособие / А.М. Робачевский.- СПб.: БВХ Петербург, 2002.-528с.

2) Дайсон, П. Операционная система UNIX. Настольный справочник [Текст]: учеб.пособие/ П.Дайсон.-М.: ЛОРИ, 1997.-400с.

3)Дегтярев, Е.К. Введение в UNIX[Текст]: учеб.пособие/ Е.К. Дегтярев.-М.: МП Память, 1988.-392с.

4) Кэвин, Р. UNIX справочник [Текст]: учеб.пособие/ Р.Кэвин, Э. Фостер-Джонсон.-СПб.: Питер Ком, 1999.-384с.

27

Соседние файлы в папке ИДЗ ОС Unix (2 разных исполнения)