Системное программное обеспечение

Автор работы: Пользователь скрыл имя, 28 Января 2013 в 15:44, шпаргалка

Описание

Работа содержит ответы на вопросы для экзамена (или зачета) по дисциплине "Системное программное обеспечение"

Работа состоит из  1 файл

ОС Шпоры.docx

— 207.00 Кб (Скачать документ)

Для хранения данных, к которым  необходимо обеспечить быстрый доступ, используются компактные быстродействующие  запоминающие устройства на основе статической  памяти SRAM, объем которых составляет от нескольких десятков до нескольких сотен килобайт, а время доступа  к данным обычно не превышает 8 нс.

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

И наконец, верхушку в этой пирамиде составляют внутренние регистры процессора, которые также могут быть использованы для промежуточного хранения данных. Общий объем регистров составляет несколько десятков байт, а время  доступа определяется быстродействием  процессора и равно в настоящее  время примерно 2-3 нс.

Таким образом, можно констатировать печальную закономерность — чем  больше объем устройства, тем менее  быстродействующим оно является. Более того, стоимость хранения данных в расчете на один бит также  увеличивается с ростом быстродействия устройств. Однако пользователю хотелось бы иметь и недорогую, и быструю  память. Кэш-память представляет некоторое  компромиссное решение этой проблемы.

  1. Задачи ОС по управлению вводом/выводом. Физическая организация устройств ввода/вывода. Асинхронный и синхронный ввод/вывод.

Подсистема ввода-вывода (Input-Output Subsystem) мультипрограммной ОС при обмене данными с внешними устройствами компьютера должна решать ряд общих задач, из которых наиболее важными являются следующие:

  • организация параллельной работы устройств ввода-вывода и процессора;
  • согласование скоростей обмена и кэширование данных;
  • разделение устройств и данных между процессами;
  • обеспечение удобного логического интерфейса между устройствами и остальной частью системы;
  • поддержка широкого спектра драйверов с возможностью простого включения в систему нового драйвера;
  • динамическая загрузка и выгрузка драйверов;
  • поддержка нескольких файловых систем;
  • поддержка синхронных и асинхронных операций ввода-вывода.

Физическая организация  устройств ввода-вывода

Устройства ввода-вывода делятся  на два типа: блок-ориентированные  устройства и байт-ориентированные  устройства. Блок-ориентированные устройства хранят информацию в блоках фиксированного размера, каждый из которых имеет  свой собственный адрес. Самое распространенное блок-ориентированное устройство - диск. Байт-ориентированные устройства не адресуемы и не позволяют производить  операцию поиска, они генерируют или  потребляют последовательность байтов. Примерами являются терминалы, строчные принтеры, сетевые адаптеры. Однако некоторые внешние устройства не относятся ни к одному классу, например, часы, которые, с одной стороны, не адресуемы, а с другой стороны, не порождают потока байтов. Это устройство только выдает сигнал прерывания в некоторые моменты времени.

Внешнее устройство обычно состоит  из механического и электронного компонента. Электронный компонент  называется контроллером устройства или  адаптером. Механический компонент  представляет собственно устройство. Некоторые контроллеры могут  управлять несколькими устройствами. Если интерфейс между контроллером и устройством стандартизован, то независимые производители могут  выпускать совместимые как контроллеры, так и устройства.

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

ОС выполняет ввод-вывод, записывая  команды в регистры контроллера. Например, контроллер гибкого диска IBM PC принимает 15 команд, таких как READ, WRITE, SEEK, FORMAT и т.д. Когда команда  принята, процессор оставляет контроллер и занимается другой работой. При  завершении команды контроллер организует прерывание для того, чтобы передать управление процессором операционной системе, которая должна проверить  результаты операции. Процессор получает результаты и статус устройства, читая  информацию из регистров контроллера.

Имеется два типа синхронизации  ввода - вывода (I/O) файлов: синхронный ввод - вывод (I/O) файла и асинхронный  ввод - вывод (I/O) файла. Асинхронный  ввод - вывод (I/O) файла также называется как перекрывающий ввод - вывод.

При синхронном вводе - выводе (synchronous file I/O) файла поток запускает операцию ввода/вывода (I/O) и немедленно вводит ждущееся состояние до тех пор, пока, запрос ввода-вывода не завершит работу. Поток, выполняющий асинхронный ввод - вывод (asynchronous file I/O) файла, отправляет запрос на ввод-вывод данных ядру. Если запрос принят ядром, поток продолжает обрабатывать другое задание до тех пор, пока ядро не подаст сигналы потоку, что операция ввода/вывода (I/O) полностью завершилась. Тогда поток прерывает работу со своим текущим заданием и обрабатывает данные от операции ввода/вывода (I/O) по мере необходимости.

  1. Понятие о файле. Задачи ОС по управлению файлами. Типы файлов. Файловые структуры. Атрибуты файлов. Логическая организация файлов.

Файл (англ. file) — блок информации на внешнем запоминающем устройстве компьютера, имеющий определённое логическое представление (начиная от простой последовательности битов или байтов и заканчивая объектом сложной СУБД), соответствующие ему операции чтения-записи (см. ниже) и, как правило, фиксированное имя (символьное или числовое), позволяющее получить доступ к этому файлу и отличить его от других файлов.

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

Обычные файлы, или просто файлы, содержат информацию произвольного характера, которую заносит в них пользователь или которая образуется в результате работы системных и пользовательских программ. Большинство современных  операционных систем (например, UNIX, Windows, OS/2) никак не ограничивает и не контролирует содержимое и структуру обычного файла. Содержание обычного файла определяется приложением, которое с ним работает. Например, текстовый редактор создает текстовые файлы, состоящие из строк символов, представленных в каком-либо коде. Это могут быть документы, исходные тексты программ и т. п. Текстовые файлы можно прочитать на экране и распечатать на принтере. Двоичные файлы не используют коды символов, они часто имеют сложную внутреннюю структуру, например исполняемый код программы или архивный файл. Все операционные системы должны уметь распознавать хотя бы один тип файлов — их собственные исполняемые файлы.

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

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

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

Основные структуры  данных

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

Линейные структуры данных –  это упорядоченные структуры, в  которых адрес элемента однозначно определяется его номером.

Табличные структуры данных – это  упорядоченные структуры, в которых  адрес элемента определяется номером  строки и номером столбца, на пересечении  которых находится ячейка, содержащая искомый элемент.

Нерегулярные данные, которые трудно представить в виде списка или  таблицы, часто представляют в виде иерархической структуры. В иерархической  структуре адрес каждого элемента определяется путем доступа (маршрутом), ведущим от вершины структуры  к данному элементу.

В качестве единицы хранения данных в компьютере принят объект переменной длины, называемый файлом.

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

Хранение файлов организуется в  иерархической структуре, которая  в данном случае называется файловой структурой. В качестве вершины структуры  служит имя носителя, на котором  сохраняются файлы. Далее файлы  группируются в папки, внутри которых  могут быть созданы вложенные  папки. Путь доступа к файлу начинается с имени устройства и включает все имена папок, через которые  проходит. В качестве разделителя  используется символ "\" (обратная косая черта).

Полным именем файла считается  собственное имя файла вместе с путем доступа к нему.

Атрибуты файлов

Понятие «файл» включает не только хранимые им данные и имя, но и атрибуты.  Атрибуты — это информация, описывающая свойства файла. Примеры возможных атрибутов файла:

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

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

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

Значения атрибутов файлов могут  непосредственно содержаться в  каталогах, как это сделано в  файловой системе MS-DOS. На рисунке представлена структура записи в каталоге, содержащая простое символьное имя и атрибуты файла. Здесь буквами обозначены признаки файла: R — только для чтения, А — архивный, Н — скрытый, S — системный.

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

Логическая организация файла

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

Информация о работе Системное программное обеспечение