Объясните, что представляют собой ссылки. Структура каталогов в операционной системе FreeBSD.
В ОС UNIX ссылки бывают двух видов: жесткие и символические. Жесткая ссылка - это, попросту говоря, еще одно имя файла. В ОС UNIX информация о файлах хранится не в каталогах, как в MS-DOS, а в специальных структурах, которые называются inodes, или индексные дескрипторы. В каталоге же хранится только имя файла и номер его inode. Поэтому существует возможность создать имена в разных каталогах (и в одном тоже), которые ссылаются на один и тот же inode, т. е. на один и тот же файл. Это бывает удобно в ряде случаев, когда простое копирование файлов не подходит. Для создания жестких ссылок используется команда ln:
ln исходный_файл новая_ссылка
Жесткие ссылки можно создавать, указывая на файл из другого каталога.
Другая разновидность ссылок - символические. Для их создания нужно указать параметр -s в команде ln: ln -s my_file my_file.3 Они являются специальными файлами, в которых просто хранится имя того файла, на который указывает данная ссылка. Они не являются копиями файлов. У них номера индексных дескрипторов уже свои, не совпадающие с номерами у исходных файлов.
Файловая система Linux, в отличие от файловых систем DOS и Windows, является единым деревом. Корень этого дерева - каталог, называемый root (рут), и обозначаемый "/". Части дерева файловой системы могут физически располагаться в разных разделах разных дисков или вообще на других компьютерах, - для пользователя это прозрачно. Процесс присоединения файловой системы раздела к дереву называется монтированием, удаление - размонтированием. Например, файловая система CD ROM в ALT Linux монтируется по умолчанию в каталог mnt/cdrom (путь в Linux обозначается с использованием / , а не \, как в DOS/Win). Текущий каталог обозначается "./" . Любую файловую систему можно смонтировать используя команду mount и размонтировать используя umount.
Файловая система ALT Linux содержит каталоги первого уровня:
/bin (командные оболочки (shell), основные утилиты),
/boot (содержит ядро системы),
/dev (псевдофайлы устройств, позволяющие работать с ними напрямую),
/etc (файлы конфигурации),
/home (личные каталоги пользователей),
/lib (системные библиотеки, модули ядра),
/mnt (каталоги для монтирования файловых систем сменных устройств и внешних файловых систем),
/рrос (файловая система на виртуальном устройстве, ее файлы содержат информацию о текущем состоянии системы),
/root (личный каталог администратора системы),
/sbin (системные утилиты),
/usr (программы и библиотеки, доступные пользователю),
/var (рабочие файлы программ, очереди, журналы),
/tmp (временные файлы).
Для работы Linux необходимо создать на жестком диске (дисках) по крайней мере два раздела: корневой (то есть тот, который будет содержать каталог /) и раздел своппинга (swap, раздел подкачки). Размер последнего, как правило, составляет от однократной до двукратной величины оперативной памяти компьютера. Если у вас много свободного места на диске, то можно создать отдельные разделы для каталогов /usr, /home, /var.
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ № 23
I часть
1.Поясните, как произвести размещение страниц по запросам. Страничные кадры. Таблица отображения страниц. Динамическое преобразование адресов. Сегментная организация памяти.
Страничные кадры начинаются с адресов первичной памяти, кратных фиксированному размеру страницы. Поступающая страница может быть помещена в любой свободный страничный кадр.
Преобразование адреса виртуальной памяти в адрес реальной памяти осуществляется следующим образом: каждый процесс имеет собственную таблицу отображения блоков, которую система ведет в реальной памяти. Реальный адрес этой таблицы загружается в специальный регистр центрального процессора, называемый регистром начального адреса таблицы блоков. Таблица отображения блоков содержит по одной строке для каждого блока процесса, причем эти строки идут в последовательном порядке, сначала блок 0, затем блок 1.
Динамическое преобразование адресов (динамическая переадресация), выполняемое процессором, исключает необходимость назначать для программ фиксированные области реальной основной памяти, обеспечивает большую свободу при составлении программ, позволяя более эффективно и действенно использовать основную память.
Механизм динамического преобразования адресов должен вести таблицы, показывающие, какие ячейки виртуальной памяти в текущий момент времени находятся в реальной памяти и где именно они размещаются. Если бы такое отображение осуществлялось пословно или побайтно, то информация об отображении была бы столь велика, что для ее хранения потребовалось бы столько же или даже больше реальной памяти, чем для самих процессов. Поэтому, чтобы реализация виртуальной памяти имела смысл, необходим метод, позволяющий существенно сократить объем информации отображения.
Поскольку мы не можем идти на индивидуальное отображение элементов информации, мы группируем их в блоки, и система следит за тем, в каких местах реальной памяти размещаются различные блоки виртуальной памяти. Чем больше размер блока, тем меньшую долю емкости реальной памяти приходится затрачивать на хранение информации отображения. Увеличение размера блоков приводит к уменьшению дополнительных затрат памяти для механизма отображения. Однако крупные блоки требуют большего времени на обмен между внешней и первичной памятью и с большей вероятностью ограничивают количество процессов, которые могут совместно использовать первичную память.
При реализации виртуальной памяти возникает вопрос о том, следует ли все блоки делать одинакового или разных размеров. Если блоки имеют одинаковый размер, они называются страницами, а соответствующая организация виртуальной памяти называется страничной. Если блоки могут быть различных размеров, они называются сегментами, а соответствующая организация виртуальной памяти называется сегментной.
В системах с сегментной организацией(сегментацией) программа (и ее данные) может занимать много отдельных блоков первичной памяти. Сами блоки, не обязательно одинакового размера, все же должны состоять из смежных ячеек, однако отдельные блоки могут размещаться и не рядом друг с другом.