Реферат Курсовая Конспект
Виртуальная память - раздел Образование, Ответы на вопросы к экзамену по ОС Виртуальная Память (Virtual Memory) Организуется Операци...
|
Виртуальная память (virtual memory) организуется операционной системой за счет использования дополнительно к оперативной памяти некоторого количества памяти на внешнем запоминающем устройстве. Быстрота виртуальной памяти во многом определяется скоростью обмена с внешним устройством и скоростью самого устройства. Следовательно, чем больше реально оперативная память, тем меньше происходит обращений к медленным внешним устройствам и тем быстрее оказывается работа программ.
Такая организация памяти позволяет данные, не используемые в настоящий момент времени, спрятать, например, на жестком диске, освободив, таким образом, участок в быстрой оперативной памяти. В тот момент, когда спрятанные данные потребуются программе для работы, операционная система найдет их на диске, достанет и разместит на прежнем месте в оперативной памяти. Непосредственно перед этим данные из этой части памяти будут перенесены на жесткий диск. Данные между внутренней и внешней памятью пересылаются блоками определенного размера - страницами. Для хранения временно неиспользуемых данных на диске резервируется место, обычно называемоефайлом подкачки, пэйдж-файл (pagefile) или своп-файл (swapfile). Практически во всех современных операционных системах программы работают с виртуальной памятью.
Принцип работы виртуальной памяти
51. Одноуровневая и двухуровневая таблицы страниц. Схема вычисления адреса памяти с использованием таблицы каталогов и таблицы страниц.
52. Оценка затрат памяти при использовании двухуровневой таблицы страниц.
53. Оптимальный размер страницы виртуальной памяти.
54. Алгоритмы замещения страниц виртуальной памяти.
55. Назначение файловой системы.
• распределение дисковой памяти;
• именование файлов;
• отображение имен файлов в соответствующие адреса во внешней памяти;
• доступ к данным;
• разделение, защита и восстановление файлов;
• шифрование данных;
• дефрагментация.
56. Состав файловой системы. Этапы эволюции файловых систем.
• совокупность всех файлов на диске;
• структуры данных, используемые для управления файлами (каталоги, дескрипторы файлов, таблицы распределения свободного и занятого пространст-ва на диске, дефектных участков магнитного диска);
• комплекс системных программных средств, реализующих различные операции над файлами и каталогами: создание, уничтожение, чтение, запись, переименование, поиск, шифрование и т.д.
• файловые системы со сквозной записью (MS DOS) – 1981 - 2000 г.г.;
• файловые системы с отложенной записью (ext2fs) – 1990 - 1995 г.г.;
• журналируемые файловые системы (NTFS, ext3fs, ext4fs, reiserfs и др.) -
с 1993 г. по настоящее время.
57. Файловые системы ОС MS Windows – cравнительный анализ характеристик и области применения.
• FAT (FAT12, FAT16, FAT32, extFAT)
• NTFS
• CDFS
• UDF
• ReFS - начиная с Win 8
58. Файловые системы ОС Linux. Стандарт FHS. Основные каталоги файловой системы ОС Linux. Наиболее существенные отличие ФС ОС Windows и Linux.
FHS — сокращение от Filesystem Hierarchy Standard, что в переводе c английского означает «Стандарт иерархии файловой системы». Этот стандарт принят для унификации местонахождения файлов и директорий с общим назначением в файловой системе ОС UNIX. На данный момент большинство UNIX-подобных систем в той или иной степени следует этим правилам. Например, обычная база данных о пользователях всегда хранится в файле /etc/passwd.
/bin | Название этого каталога происходит от слова "binaries" ("двоичные", "исполняемые"). В этом каталоге находятся исполняемые файлы самых необходимых утилит, которые могут понадобиться системному администратору или другим пользователям. |
/boot | "Boot" - загрузка системы. В этом каталоге находятся файлы, необходимые для загрузки ядра - и, обычно, само ядро. Пользователю практически никогда не требуется непосредственно работать с этими файлами. |
/dev | В этом каталоге находятся все имеющиеся в системе файлы особого типа, предназначенные для обращения к различным системным ресурсам и устройствам. Например, файлы /dev/ttyN соответствуют виртуальным консолям, где N - номер виртуальной консоли. Данные, введенные пользователем на первой виртуальной консоли, система считывает из файла /dev/tty1; в этот же файл записываются данные, которые нужно вывести пользователю на эту консоль. В специаьных файлах в действительности не хранятся никакие данные, при их помощи данные передаются. |
/etc | Каталог для системных конфигурационных файлов. Здесь хранится информация о специфических настройках данной системы: информация о зарегистрированных пользователях, доступных ресурсах, настройках различных программ. |
/home | Здесь расположены каталоги, принадлежащие пользователям системы - домашние каталоги, отсюда и название "home". Отделение всех файлов, создаваемых пользователями, от прочих системных файлов дает очевидное преимущество: серьезное повреждение системы или необходимость обновления не затронет пользовательских файлов. |
/lib | Название этого каталога - сокращение от "libraries" (англ. "библиотеки"). Чтобы не включать эти функции в текст каждой программы, используются стандартные функции библиотек - это значительно экономит место на диске и упрощает написание программ. В этом каталоге содержатся библиотеки, необходимые для работы наиболее важных системных утилит, размещенных в /bin и /sbin. |
/mnt | Каталог для монтирования (от англ. "mount") - временного подключения файловых систем, например, на съемных носителях (CD-ROM и др.). |
/proc | В этом каталоге все файлы "виртуальные" - они располагаются не на диске, а в оперативной памяти. В этих файлах содержится информация о программах (процессах), выполняемых в данный момент в системе. |
/root | Домашний каталог администратора системы - пользователя root. Смысл размещать его отдельно от домашних каталогов остальных пользователей состоит в том, что /home может располагаться на отдельном устройстве, которое не всегда доступно (например, на сетевом диске), а домашний каталог root должен присутствовать в любой ситуации. |
/sbin | Каталог для важнейших системных утилит (название каталога - сокращение от "system binaries"): в дополнение к утилитам /bin здесь находятся программы, необходимые для загрузки, резервного копирования, восстановления системы. Полномочия на исполнение этих программ есть только у системного администратора. |
/tmp | Этот каталог предназначен для временных файлов: в таких файлах программы хранят необходимые для работы промежуточные данные. После завершения работы программы временные файлы теряют смысл и должны быть удалены. Обычно каталог /tmp очищается при каждой загрузке системы. |
/usr | Здесь можно найти такие же подкаталоги bin, etc, lib, sbin, как и в корневом каталоге. Однако в корневой каталог попадают только утилиты, необходимые для загрузки и восстановления системы в аварийной ситуации - все остальные программы и данные располагаются в подкаталогах /usr. Этот раздел файловой системы может быть очень большим. |
/var | Название этого каталога - сокращение от "variable" ("переменные" данные). Здесь размещаются те данные, которые создаются в процессе работы разными программами и предназначены для передачи другим программам и системам (очереди печати, электронной почты и др.) или для сведения системного администратора (системные журналы, содержащие протоколы работы системы). В отличие от каталога /tmp сюда попадают те данные, которые могут понадобиться после того, как создавшая их программа завершила работу. Linux и Windows используют разные файловые системы для хранения и организации доступа к информации на дисках. Как вы наверно знаете, на сегодняшний день для Windows наиболее распространенными системами являются FAT 32 и NTFS. NTFS - более "продвинутая" система, одной из особенностей которой является обеспечение более высокой скорости работы на дисках относительно больших размеров. Однако NTFS несовместима с Windows 98 и более ранними версиями Windows. В Linux используются другие файловые системы. В основном, это Ext2 и Ext3 (вторая и третья расширенные файловые системы). Ext3 - это таже Ext2, однако имеющая ряд модернизаций, одной из которых является поддержка журналирования. Журналируемая файловая система сначала записывает изменения, которые она будет проводить в отдельную часть файловой системы (журнал) и только потом вносит необходимые изменения в остальную часть файловой системы. После удачного выполнения планируемых изменений, записи удаляются из журнала. Все это обеспечивает лучшее сохранение целостности системы и уменьшает вероятность потери данных, особенно в случае непредвиденного выключения компьютера. |
59. Управление доступом к файлам в ОС Linux (биты доступа, команды управления доступом).
Права доступа к файлам
В свою очередь файлы имеют двух владельцев: пользователя (user owner)
и группу пользователей (group owner). Для каждого файла есть
индивидуальные права доступа, которые разбиты на три группы:
1. Доступ для пользователя-владельца файла (owner).
2. Доступ для группы-владельца файла (group).
3. Доступ для остальных пользователей (others).
Для каждой категории устанавливаются три вида доступа: (x) - право на
запуск файла, (r) - право на чтение файла, (w) - право на изменение
(редактирование) файла.
Для того, чтобы увидеть права доступа к файлам необходимо ввести
команду ls с ключом -l:
60. Управление процессами в ОС Linux. Команды управления процессами. Уровни приоритета процесса. Изменение приоритета. Виртуальная ФС /proc.
Процесс в Linux (как и в UNIX) - это программа, которая выполняется в отдельном виртуальном адресном пространстве. Когда пользователь регистрируется в системе, автоматически создается процесс, в котором выполняется оболочка (shell), например, /bin/bash.
В Linux поддерживается классическая схема мультипрограммирования. Linux поддерживает параллельное (или квазипараллельного при наличии только одного процессора) выполнение процессов пользователя. Каждый процесс выполняется в собственном виртуальном адресном пространстве, т.е. процессы защищены друг от друга и крах одного процесса никак не повлияет на другие выполняющиеся процессы и на всю систему в целом. Один процесс не может прочитать что-либо из памяти (или записать в нее) другого процесса без "разрешения" на то другого процесса. Санкционированные взаимодействия между процессами допускаются системой.
Ядро предоставляет системные вызовы для создания новых процессов и для управления порожденными процессами. Любая программа может начать выполняться только если другой процесс ее запустит или произойдет какое-то прерывание (например, прерывание внешнего устройства).
В связи с развитием SMP (Symmetric Multiprocessor Architectures) в ядро Linux был внедрен механизм нитей или потоков управления (threads). Нить - это процесс, который выполняется в виртуальной памяти, используемой вместе с другими нитями процесса, который обладает отдельной виртуальной памятью.
Если интерпретатору (shell) встречается команда, соответствующая выполняемому файлу, интерпретатор выполняет ее, начиная с точки входа (entry point). Для С-программ entry point - это функция main. Запущенная программа тоже может создать процесс, т.е. запустить какую-то программу и ее выполнение тоже начнется с функции main.
Для создания процессов используются два системных вызова: fork() и exec. fork() создает новое адресное пространство, которое полностью идентично адресному пространству основного процесса. После выполнения этого системного вызова мы получаем два абсолютно одинаковых процесса - основной и порожденный. Функция fork() возвращает 0 в порожденном процессе и PID (Process ID - идентификатор порожденного процесса) - в основном. PID - это целое число.
Теперь, когда мы уже создали процесс, мы можем запустить программу с помощью вызова exec. Параметрами функции exec является имя выполняемого файла и, если нужно, параметры, которые будут переданы этой программе. В адресное пространство порожденного с помощью fork() процесса будет загружена новая программа и ее выполнение начнется с точки входа (адрес функции main).
Файловая система /proc является механизмом для ядра и его модулей, позволяющим посылать информацию процессам ( отсюда и название /proc ). С помощью этой виртуальной файловой системы Вы можете работать с внутренними структурами ядра, получать полезную информацию о процессах и изменять установки ( меняя параметры ядра ) на лету. Файловая система /proc располагается в памяти в отличие от других файловых систем, которые располагаются на диске.
– Конец работы –
Эта тема принадлежит разделу:
Критерии классификации ОС Классификация ОС Примеры ОС Области применения ОС различных типов... По количеству одновременно решаемых задач... По количеству пользователей...
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Виртуальная память
Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Твитнуть |
Новости и инфо для студентов