рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Виртуальная память

Виртуальная память - раздел Образование, Ответы на вопросы к экзамену по ОС Виртуальная Память (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 располагается в памяти в отличие от других файловых систем, которые располагаются на диске.

 

 

– Конец работы –

Эта тема принадлежит разделу:

Ответы на вопросы к экзамену по ОС

Критерии классификации ОС Классификация ОС Примеры ОС Области применения ОС различных типов... По количеству одновременно решаемых задач... По количеству пользователей...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Виртуальная память

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Назначение и функции операционной системы (ОС).
Операционная система – комплекс управляющих и обрабатывающих программ, предназначенный для: Управления ресурсами вычислительной системы (ВС) Создания интерфейсов

Многоуровневая организация ОС. Виды и назначение интерфейсов. Состав ОС.
В состав ОС входят: Ядро – модули, выполняющие основные функции ОС Модули, выполняющие вспомогательные функции ОС Типы модулей (в ОС MS-

ОС семейства Microsoft Windows 1 и 2 поколений. Достоинства, недостатки. Области применения.
Этап 1- многозадачные однопользовательские ОС 1986 – 1992 MS Windows 3.0, 3.1 – 3.11 • корпоративная (невытесняющая) многозадачность • графический

MS Windows 95
• вытесняющая многозадачность (квантование времени) • графический интерфейс пользователя 1024*840 пик • 32 - разрядный код ОС • файловые системы FAT12, FAT16 и FAT32

MS Windows 98
• вытесняющая многозадачность (квантование времени) • графический интерфейс пользователя 1024*840 пик • 32 - разрядный код ОС • файловые системы FAT12, FAT16 и FAT32

MS Windows me
• вытесняющая многозадачность (квантование времени) • графический интерфейс пользователя 1200*1024 пик • 32 - разрядный код ОС • файловые системы FAT12, FAT16 и FAT32

MS Windows NT4
• вытесняющая многозадачность (квантование времени) • графический интерфейс пользователя 1024*840 пикcел • 32 - разрядный код ОС • файловые системы FAT12, FAT16 и NTFS4

MS Windows 2000
• вытесняющая многозадачность (квантование времени) • графический интерфейс пользователя 1024*840 пикcел • 32 - разрядный код и частично 64- разрядный код ОС • файловые с

MS Windows XP
• вытесняющая многозадачность (квантование времени) • графический интерфейс пользователя 1024*840 пикcел • 32 - разрядный код и частично 64- разрядный код ОС • файловые с

MS Windows Vista
• улучшенная вытесняющая многозадачность • 32 - разрядный код и 64- разрядный код ОС • файловые системы FAT16, FAT32, NTFS5, extFAT • необходимый объем ОП 1 Гб – 2 Гб

MS Windows 7
• улучшенная вытесняющая многозадачность • 32 - х и 64 – х разрядный код ОС • файловые системы FAT16, FAT32, NTFS5 и extFAT • необходимый объем ОП 1 Гб – 2 Гб •

MS Windows 8 и Windows RT
• новый плиточный интерфейс пользователя • ориентация на мобильные платформы • новая энергосберегающая организация управления ресурсами • 32 - х и 64 – х разрядный код ОС

Возможности командного процессора ОС MS Windows (cmd). Типы и виды команд. Формат команды. Ключи и параметры команд. Объединение команд. Конвейер.
В ОС Windows, как и в других ОС, интерактивные (набираемые с клавиатуры и сразу же выполняемые) команды выполняются с помощью так называемого командного интерпретатора, иначе называемого командным

Ядро и вспомогательные модули ОС.
  Наиболее общим подходом к структуризации операционной системы является разделение всех ее модулей на две группы: ядро — модули, выполняющие основные функции ОС; мо

Архитектура ОС с ядром в привилегированном режиме.
  Для надежного управления ходом выполнения приложений операционная система должна иметь по отношению к приложениям определенные привилегии. Иначе некорректно работающее приложение мо

Многослойная структура ядра ОС.
  Вычислительную систему, работающую под управлением ОС на основе ядра, можно рассматривать как систему, состоящую из трех иерархически расположенных слоев: нижний слой образует аппар

Типовые средства аппаратной поддержки ОС.
  Четкой границы между программной и аппаратной реализацией функций ОС не существует — решение о том, какие функции ОС будут выполняться программно, а какие аппаратно, принимается раз

ОС с монолитным ядром. Состав монолитного ядра. Достоинства и недостатки.
  Монолитное ядро — классическая и, на сегодняшний день, наиболее распространённая архитектура ядер операционных систем. Монолитные ядра предоставляют богатый набор абстракций оборудо

Микроядерная архитектура ОС. Реализация системного вызова. Преимущества и недостатки микроядерной архитектуры ОС.
  Суть микроядерной архитектуры состоит в следующем. В привилегированном режиме остается работать только очень небольшая часть ОС, называемая микроядром (рис. 3.2.1). Микроядро защище

Мультипроцессорная обработка. Симметричная и асимметричная архитектуры
Мультипроцессорная обработка. Мультипроцессорная обработка – способ организации вычислительного процесса в системах с несколькими процессорами, при котором несколько задач

Закон Амдала. Трудоемкость алгоритма и ее оценка. Оценка трудоемкости алгоритмов матричных операций.
  Закон Амдала — иллюстрирует ограничение роста производительности вычислительной системы с увеличением количества вычислителей. Джин Амдал сформулировал закон в 1967 году, обнаружив

Создание процессов (действия, выполняемые ОС).
• Создание виртуального адресного пространства процесса (ВАП) • Загрузка образа процесса в ВАП • Загрузка (части) модулей, используемых процессом, в ВАП • Добавление инфо

Вытесняющие и невытесняющие алгоритмы планирования
  невытесняющая многозадачность - это способ планирования процессов, при котором активный процесс выполняется до тех пор, пока он сам, по собственной инициативе, не отдаст управление

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

Официант
Относительно простое решение задачи достигается путём добавления официанта возле стола. Философы должны дожидаться разрешения официанта перед тем, как взять вилку. Поскольку официант знает, сколько

Иерархия ресурсов
Другое простое решение достигается путём присвоения частичного порядка ресурсам (в данном случае вилкам) и установления соглашения, что ресурсы запрашиваются в указанном порядке, а возвращаются в о

Решение на основе монитора
Этот раздел не завершён. Вы поможете проекту, исправив

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

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

Сегментное - страничное распределение
Данный метод представляет собой комбинацию страничного и сегментного механизмов управления памятью и направлен на реализацию достоинств обоих подходов. Виртуальная память делится на се

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги