24421

Файловая структура ОС ЮНИКС. Основное отличие и преимущество

Контрольная

Информатика, кибернетика и программирование

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

Русский

2013-08-09

458 KB

1 чел.

1. Файловая структура ОС ЮНИКС. Основное отличие и преимущество.

Файлами называют наборы данных, хранимые на ЗУ обычно на дисках, лентах, барабанах и т.д. организована структура, в соответствии в которой файлы хранятся на ЗУ, называется файловой системой.

Файловая система ОС UNIX разрабатывалась в первую очередь для удобства пользователей и упрощения доступа к их данным. Это обусловило необходимость реализовать логическую группировку файлов. Такие группы файлов в UNIX были названы каталогами.

Файловая система ОС UNIX имеет иерархическую структуру. Она позволяет иметь несколько сотен пользователей, каждый из которых обладает более чем одним каталогом. В общей сложности ОС UNIX может вести тысячи каталогов. В многопользовательских системах необходимо иметь средства, которые вводят ограничения на доступ к файлам. Усложнения, связанные с реализацией различных решений доступа к файлам, — есть неизбежное зло для всех многопользовательских систем.

Одно из нововведений в системе UNIX заключается в том, что устройство ввода/вывода ассоциируется со специальными файлами. Доступ к любому устройству реализуется как обслуживание запроса к дисковому файлу. Каждое устройство в системе представлено по меньшей мере одним специальным файлом. Кроме этого существуют еще файлы: текстовые и двоичные.

Текстовый файл может содержать только символы принятого в системе кода ASCII. А в двоичных допускаются все 256 значений для любого байта. Каталогами называются файлы, содержащие списки файлов. UNIX обеспечивает существование системы каталогов.

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

В каталог входят обычные файлы, файлы-каталоги, специальные файлы, а в некоторых версиях FIFO-файлы (которые называют поименованными конвейерами). Каждый пользователь имеет каталог, носящий имя начального.

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

На вершине иерархии файловой системы располагается каталог — корневой.

ФС ОС UNIX называется древовидной. В этом определении чисть системы, которая находится ниже, чем текущий каталог, называется текущим поддеревом. Для работы с поддеревом в ОС UNIX существует несколько специальных команд.

Полные имена файлов начинаются с символа "/" и описывают путь к файлу ("/" от корневого каталога) называемого абсолютным. Остальные полные имена называются относительными, т.е. описывают путь, начинающийся с высшего текущего каталога.

2. Алгоритм проверки кэш-памяти. Структура буфера TLB. Регистры и операции проверки буфера TLB.

    Алгоритм проверки кэш-памяти.  Перед тестированием кеша:

  1.  Отмените кеширование, установив для этого бит CD в регистре CR0.

Для записи в буфер заполнения кеша:

  1.  Загрузите регистр TR5 значением поля Выбора Элемента, которое адресует одно из четырех двойных слов в буфере заполнения кеша. Значение поля Управление должно быть равно 00 (двоичному).
  2.  Загрузите регистр TR3 данными, подлежащими записи в буфер заполнения кеша. Запись в буфер запускается при загрузке данного регистра.
  3.  

Повторите шаги 1 и 2 для каждого из трех остальных двойных слов в буфере заполнения кеша. Таблица 10-3. Кодировка битов Управления тестирования кеша

Для записи в кеш:

  1.  Загрузите буфер заполнения кеша, как было описано выше.
  2.  Загрузите регистр TR4 тегом (биты 11..31) и битом Достоверности (бит 10). Прочие биты регистра TR4 (биты 0..9) не влияют на запись в кеш.
  3.  Загрузите в регистр TR5 значения полей Управления, Выбора Элемента и Выбора Набора. Значение в поле Управления должно быть равно 01 (двоичное). Запись в кеш запускается при загрузке данного регистра.

Для чтения из кеша:

  1.  Загрузите в регистр TR5 значения полей Управления, Выбора Элемента и Выбора Набора. Значение поля Управления должно быть равно 10 (двоичное). Чтение из кеша запускается при загрузке данного регистра. Чтение из кеша загружает в регистр TR4 тег для считанного элемента, а также биты LRU и Достоверности для всего считанного набора. Считывание кеша загружает буфер чтения кеша 128 битами данных. Буфер может быть считан при помощи следующей процедуры:

Для чтения из буфера чтения кеша:

  •  Загрузите регистр TR5 значениями полей Управления и Выбора Элемента. Значение Выбора элемента адресует одно из четырех двойных слов в буфере чтения кеша. Значение в поле Управления должно быть равно 00 (двоичное).
  •  Прочитайте двойное слово из буфера чтения кеша, выгрузив для этого регистр TR3. Чтение из буфера запускается при выгрузке этого регистра.
  •  Повторите шаги 1 и 2 для каждого из трех оставшихся двойных слов в буфере чтения кеша.

Для очистки кеша:

  •  Загрузите в регистр TR5 значение поля Управления. Это значение должно быть равно 11 (двоичное). Ни одно из значений остальных полей в таком случае значения не имеет. Очистка буфера запускается при загрузке данного регистра. Все биты LRU и Достоверности очищаются.

Структура буфера TLB . Ассоциативный буфера трансляции (TLB), кеш, используемый для трансляции линейных адресов в физические. TLB представляет собой четырех-канальную ассоциативную память. Его структура показана на Рисунке 10-3. В блоке данных находится восемь наборов по четыре элемента данных в каждом. Элемент данных в TLB состоит из 20 битов старшего порядка физического адреса. Эти 20 битов могут интерпретироваться как базовый адрес страницы, который по определению имеет 12 очищенных битов младшего порядка.

TLB транслирует линейный адрес в физический и работает только со старшими 20 битами каждого из них; младшие 12 битов (представляющие собой смещение в странице) одинаковы как для линейного адреса, так и для физического.

Блоку элементов данных соответствует блок элементов достоверности, аттрибутов и тега (признака). Элемент тега состоит из 17 старших битов линейного адреса. При трансляции адреса процессор использует биты 12, 13 и 14 линейного адреса для выбора одного из восьми наборов, а затем проверяет четыре тега из этого набора на соответствие старшим 17 битам линейного адреса. Если соответствие найдено среди тегов выбранного набора, а соответствующий бит достоверности равен 1, то линейный адрес транслируется заменой старших 20 битов на 20 битов соответствующего элемента данных.

Каждому набору соответствует три бита LRU: они отслеживают используемость данных в наборе и проверяются при необходимости в новом элементе (а также следят за достоверностью всех элементов в наборе). Используется алгоритм замены псевдо-LRU.

Регистры и операции проверки буфера TLB. Для целей тестирования служат два тестовых регистра, которые показаны на Рисунке 10-4. Регистр TR6 является командным регистром тестирования TLB, а регистр TR7 является регистром данных тестирования TLB. Доступ к ним выполняется посредством разновидностей команды MOV. Команды MOV определены как в режиме реальных адресов, так и в защищенном режиме. Тестовые регистры относятся к привилегированным ресурсам системы: в защищенном режиме команды MOV, используемые для доступа к ним, могут быть выполнены только на уровне привилегированности 0 (наивысшая привилегированность). Попытка чтения или записи в тестовые регистры из других уровней привилегированности вызывает исключение общей защиты.

В отличие от TLB процессора 386 DX, доступ к TLB процессора i486 возможен без отключения механизма подкачки страниц. Также, в отличие от процессора 386 DX, TLB процессора i486 использует для выбора элементов, которые будут удалены из памяти, когда нужно распределить память для нового элемента, а TLB заполнен, алгоритм замены кеша псевдо-LRU.

Командный регистр тестирования TLB (TR6) содержит команду и адресный тег:

  •  C. Это бит Команды (Command). Существует две команды тестирования TLB: записи элементов в TLB и выполнения поиска в TLB. Для выполнения записи в элемент TLB поместите двойное слово в регистр TR6, содержащий очищенный бит С. Для поиска (чтения) в TLB поместите двойное слово в регистр TR6, содержащий установленный бит С. Операции с TLB запускаются при выполнении записи в регистр TR6.
  •  Линейный адрес. При записи в TLB элемент TLB распределяется по данному линейному адресу; остальная часть элемента TLB назначается с использованием значения регистра TR7 и значения, только что записанного в регистр TR6. При поиске в TLB это значение используется в запросе; если обнаруживается соответствие одного и только одного элемента TLB, остальные поля регистров TR6 и TR7 устанавливаются из соответствующего элемента TLB.
  •  V. Этот бит обозначает элемент TLB, содержащий достоверные (Valid) данные. Элементы TLB, не загруженные элементами страничной таблицы, имеют очищенный бит V. Все биты V очищаются при записи в регистр CR3, что имеет эффект очистки, или сброса, TLB. NLB должен очищаться после модификации страничных таблиц, поскольку в противном случае немодифицированные данные могут быть использованы для трансляции адреса.
  •  D, D#. Бит D (и его дополнение).
  •  U, U#. Бит U/S (пользователь/супервизор) (и его дополнение).
  •  W, W#. Бит R/W (чтение/запись) (и его дополнение).

Эти биты даются как в их действительной форме, так и в виде дополнения для большей гибкости при поиске в TLB. Значение этих парных битов приводятся в Таблице 10-2.

Регистр данных тестирования TLB (TR7) содержит данные, считанные или подлежащие записи в TLB:

  •  Физический адрес. Это поле данных TLB. При записи в TLB в это значение устанавливается элемент TLB, распределенный для линейного адреса в регистре TR6. При поиске (чтении) в TLB в данное поле загружается поле данных (физический адрес) из TLB.
  •  PCD. Соответствует биту PCD элемента страничной таблицы.
  •  PWT. Соответствует биту PWT элемента страничной таблицы.
  •  LRU. При чтении в TLB соответствует битам, используемым алгоритмом замены кеширования псевдо-LRU. Сообщаемые состояния представляют собой значение этих битов перед поиском в TLB. Значения битов могут изменяться при удачном завершении поиска и при записи в TLB.
  •  PL. При записи в TLB установленный бит PL заставляет использовать поле REP регистра TR7 для выбора одного из четырех ассоциативных блоков элемента TLB для загрузки. Если бит PL очищен, то для выбора блока служит внутренний указатель единицы подкачки. Этот внутренний указатель управляется алгоритмом замены кеширования псевдо-LRU. При поиске в TLB (при чтении) бит PL указывает на успешное чтение (бит PL установлен) или отсутствие искомого (бит PL очищен).
  •  REP. При записи в TLB выбирает, какой из четырех ассоциативных блоков TLB будет использован для записи. При чтении TLB при установленном бите PL REP сообщает, в каком из четырех ассоциативных блоков был найден тег; если же бит PL очищен, то содержимое этого поля неопределено.

Операции тестирования

Для записи элемента TLB:

  •  Перешлите в регистр TR7 двойное слово, которое содержит желаемый физический адрес, а также значения PCD, PWT, PL и REP. При установленном значении PL поле REP выбирает ассоциативный блок, в который должен быть помещен элемент. Если бит PL очищен, то используется внутренний указатель.
  •  Перешлите в регистр TR6 двойное слово, которое содержит соответствующий линейный адрес, а также значения битов V, D, U и W. Бит C должен быть очищен.

Не записывайте дублирующиеся теги: результат такого действия неопределен.

Для просмотра (чтения) элемента TLB:

  •  Перешлите в регистр TR6 двойное слово, которое содержит соответствующий линейный адрес и аттрибуты. Бит С должен быть установлен.
  •  Прочитайте регистр TR7. Если бит PL регистра TR7 установлен, то остальная часть содержимого регистра сообщает о содержимом TLB. Если бит PL очищен, то остальная часть регистра TR7, за исключением битов LRU, неопределена.

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

LRU =  признак  наиболее  давнего  использования  для

алгоритма "удаления стариков".


 

А также другие работы, которые могут Вас заинтересовать

55640. Рівність геометричних фігур. Перша ознака рівності трикутників 316 KB
  Перша ознака рівності трикутників Мета: домогтися розуміння учнями змісту першої ознаки рівності трикутників: формувати навички розв’язування вправ; виховувати пізнавальну активність; розвивати логічне мислення учнів.
55641. Рівняння 64.5 KB
  Мета уроку: формування понять піраміда основа вершина бічні ребра висота піраміди вмінь учнів знаходити елементи піраміди. Спільну вершину трикутних граней називають вершиною піраміди протилежну...
55642. Квадратні рівняння. Розв’язування неповних квадратних рівнянь 119 KB
  Мета: Повторити вивчений матеріал про лінійні рівняння з однією змінною рівняння першого степеня його корені та способи розвязування; Вивести: означення квадратного рівняння та навчитися їх перетворювати до зведених квадратних рівнянь...
55643. Алгебраїчні рівняння та нерівності вищих порядків, які зводяться до квадратних 2.48 MB
  Основні методи розв’язання рівнянь Розкладання лівої частини рівняння на множники А Спосіб групування 1 Розв’язання 2 Відповідь: Б Застосування схеми Горнера 1 Розв’язання Дільниками вільного члена є числа Серед них знаходимо корені рівняння...
55644. Рівняння. Розв’язування задач за допомогою рівнянь 286.5 KB
  Мета уроку: узагальнити та закріпити навички розв’язування рівнянь і задач за допомогою рівнянь; розвивати навички усної лічби вміння аналізувати умову задачі й вибирати ту величину для позначення її змінною...
55645. РОЗВ’ЯЗУВАННЯ ДІОФАНТОВИХ РІВНЯННЬ 531.5 KB
  Ознайомити учнів з діофантовими рівняннями та різними способами їх розв’язування можна на факультативних заняттях чи на засіданнях математичного гуртка. Кожен спосіб супроводжується теоретичним обґрунтуванням прикладами розв’язаних задач та задачами для самостійного розв’язування.
55646. Рівняння та їх властивості 117.5 KB
  Мета: навчальна: повторити основні відомості про рівняння; ознайомити учнів з основними властивостями рівнянь; формувати вміння застосовувати властивості при розв’язуванні рівнянь...
55647. З Різдвом Христовим 289 KB
  У хату заходить господиня з діточками. Господиня Ой славен славен Святий вечір. Господиня Неси синку Дідуха на покуть. Господиня Несу кутю на покутю на зелене жито щоб бджоли сіли щоб ми дочекалися сіяти й орати щоб ми були багаті на бджоли й вівці на гроші й червінці.