Способы предотвращения тупиков путем тщательного распределения ресурсов. Алгоритм банкира




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

Предотвращение тупиков за счет нарушения условий возникновения тупиков

В отсутствие информации о будущих запросах единственный способ избежать взаимоблокировки – добиться невыполнения хотя бы одного из условий раздела "Условия возникновения тупиков".

2. Шифрование в ОС.

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

Имеются следующие "классические" методы шифрования: Подстановка предполагает использование альтернативного алфавита (или нескольких) вместо исходного.

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

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

Гаммирование (смешивание с маской) основано на побитном сложении по модулю 2 (в соответствии с логикой ИСКЛЮЧАЮЩЕЕ ИЛИ) исходного сообщения с заранее выбранной двоичной последовательностью. Операция суммирования по модулю 2 (ИСКЛЮЧАЮЩЕЕ ИЛИ) является обратимой, возможно дешифрование.

3. ФС RT11SJ, CP/M

RT-11 (RT от Real time (в режиме реального времени)) — небольшая однопользовательская операционная система реального времени фирмы DEC для 16-битных компьютеров серии PDP-11. RT-11SJ (Single Job monitor) — Однозадачная ОС для машин с памятью до 64 КБ (32 КСлов). Системы RT-11 не поддерживали вытесняющую многозадачность, но большинство версий позволяло запускать несколько приложений одновременно. SJ - программа-монитор. RT-11 была написана на языке ассемблера.

Файловая система — RT-11 имела простейшую двухуровневую (том/файл) файловую систему с непрерывными (односегментными) файлами, что требовало периодической дефрагментации дискового пространства. Многоуровневость файловой системы обычно реализовывалась при помощи виртуальных дисков.

CP/M (Control Program/Monitor либо Control Programs for Microcomputers) — операционная система, первоначально предназначенная для 8-разрядных микрокомпьютеров. Написана в 1973 году программистом Гэри Килдаллом (Gary Kildall) на языке программирования PL/M (Programming Language for Microcomputers). Имя файла на диске состоит из следующих частей: имя файла, до 8 символов, затем следует точка, затем расширение файла, до 3 символов. Размер файла определялся количеством 128-байтовых записей, которые непосредственно соответствовали секторам на 8" дискетах. Поэтому не было точного способа узнать сколько именно байт на диске занимает файл. Времена модификации файла (timestamps) изначально не поддерживались, хотя некоторые более поздние варианты CP/М. добавили эту особенность.

Билет 7(10)

1. Сетевые и распределенные ОС.

Сетевая операционная система — операционная система со встроенными возможностями для работы в компьютерных сетях. К таким возможностям можно отнести: поддержку сетевого

оборудования, поддержку сетевых протоколов поддержку протоколов маршрутизации, поддержку фильтрации сетевого трафика, поддержку доступа к удалённым ресурсам, таким как принтеры, диски и т. п. по сети и тд. Примеры сетевых операционных систем: Microsoft Windows (95, NT и более поздние), Различные UNIX системы, такие как Solaris, FreeBSD и тд.

Главными задачами являются разделение ресурсов сети (например, дисковые пространства) и администрирование сети. С помощью сетевых функций системный администратор определяет разделяемые ресурсы, задаёт пароли, определяет права доступа для каждого пользователя или группы пользователей.

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

2.Внешние устройства и доступ к ним. Драйвера.

Клавиатура - Главным устройством ввода большинства компьютерных систем является клавиатура. В техническом аспекте клавиатура представляет собой совокупность механических датчиков, воспринимающих давление на клавиши и замыкающих тем или иным способом определённую электрическую цепь. общее количество клавиш 101, что соответствует стандарту США

Мышь - Устройство довольно миниатюрно и легко помещается под ладонью с расположением кнопок под пальцами. Подключение производится специальным кабелем, который придает устройству сходство с мышью с длинным хвостом. А процесс перемещения мыши и соответствующего перебора функций меню заработал термин "проводка мыши".

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

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

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

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

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

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

3. Пример идентификации и аутентификации в ОС.

Идентификация (в информационной безопасности) — присвоение субъектам и объектам идентификатора и (или) сравнение идентификатора с перечнем присвоенных идентификаторов. Например, идентификация по штрихкоду.

Аутентификация - проверка принадлежности субъекту доступа предъявленного им идентификатора; подтверждение подлинности.

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

В принципе в повседневной жизни аутентификация используется всюду.

Билет 8(13)

1. Операции над файлами в ФС ОС.

Операционная система должна предоставить в распоряжение пользователя набор операций для работы с файлами, реализованных через системные вызовы. Чаще всего при работе с файлом пользователь выполняет не одну, а несколько операций. Во-первых, нужно найти данные файла и его атрибуты по символьному имени, во-вторых, считать необходимые атрибуты файла в отведенную область оперативной памяти и проанализировать права пользователя на выполнение требуемой операции. Затем следует выполнить операцию, после чего освободить занимаемую данными файла область памяти. Рассмотрим в качестве примера основные файловые операции ОС Unix.

Создание файла, не содержащего данных. Смысл данного вызова - объявить, что файл существует, и присвоить ему ряд атрибутов. При этом выделяется место для файла на диске и вносится запись в каталог.

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

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

Чтение данных из файла. Обычно это делается с текущей позиции. Пользователь должен задать объем считываемых данных и предоставить для них буфер в оперативной памяти.

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

2. Функционирование менеджера памяти в ОС.

Для управления виртуальной памятью в операционной системе Windows предусмотрен специальный менеджер Virtual Memory Manager (VMM). Он является составной частью ядра операционной системы и представляет собой отдельный процесс, постоянно находящийся в оперативной памяти. Основная задача VMM заключается в управлении страницами виртуальной памяти.

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

- Valid — рабочая страница используется процессом. Modified — модифицированная страница, то есть страница, содержимое которой было изменено. Standby — резервная страница, содержимое которой не изменялось. Free — свободная страница, на которую не ссылается ни один рабочий набор и которой нет ни в одной таблице страниц. Свободные страницы могут применяться, однако прежде они подлежат процедуре обнуления (заполнения нулями). Zeroed — пустая страница, которая является свободной и обнуленной. Такие страницы готовы к использованию любым процессом; Bad — страница, которая вызывает аппаратные ошибки и не может применяться ни одним процессом.

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

3. Примерная систематизация устройств ввода/вывода в ОС.

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

К символьным устройствам обычно относятся устройства ввода информации, которые спонтанно генерируют входные данные: клавиатура, мышь, модем, джойстик. К ним же относятся и устройства вывода информации, для которых характерно представление данных в виде линейного потока: принтеры, звуковые карты и т. д. По своей природе символьные устройства обычно умеют совершать две общие операции: ввести символ (байт) и вывести символ (байт) – get и put.

Для блочных устройств, таких как магнитные и оптические диски, ленты и т. п. естественными являются операции чтения и записи блока информации – read и write, а также, для устройств прямого доступа, операция поиска требуемого блока информации – seek.

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

 

Билет 9(14)

1. Сетевые ОС.

Сетевая операционная система — операционная система со встроенными возможностями для работы в компьютерных сетях. К таким возможностям можно отнести: поддержку сетевого оборудования, поддержку сетевых протоколов поддержку протоколов маршрутизации, поддержку фильтрации сетевого трафика, поддержку доступа к удалённым ресурсам, таким как принтеры, диски и т. п. по сети и тд. Примеры сетевых операционных систем: Microsoft Windows (95, NT и более поздние), Различные UNIX системы, такие как Solaris, FreeBSD и тд.

Основное назначение. Главными задачами являются разделение ресурсов сети (например, дисковые пространства) и администрирование сети. С помощью сетевых функций системный администратор определяет разделяемые ресурсы, задаёт пароли, определяет права доступа для каждого пользователя или группы пользователей. Отсюда деление: сетевые ОС для серверов; сетевые ОС для пользователей.

Существуют специальные сетевые ОС, которым приданы функции обычных систем (Пр.: Windows NT) и обычные ОС (Пр.: Windows XP), которым приданы сетевые функции. Сегодня практически все современные ОС имеют встроенные сетевые функции.

2. Разграничение доступа средствами ОС.

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

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

Мандатная модель разграничения доступа предполагает назначение объекту грифа секретности, а субъекту – уровня допуска. Доступ субъектов к объектам в мандатной модели определяется на основании правил «не читать выше» и «не записывать ниже». Это означает, что пользователь не может прочитать информацию из объекта, гриф секретности которого выше, чем его уровень допуска. Использование мандатной модели предотвращает утечку конфиденциальной информации, но снижает производительность компьютерной системы.

В наиболее распространенных сегодня ОС Windows и UNIX используется дискреционное разграничение доступа.

3. Пример операций над директориями. Создание директории. Вновь созданная директория включает записи с именами '.' и '..', однако считается пустой.

Удаление директории. Удалена может быть только пустая директория. Открытие директории для последующего чтения. Hапример, чтобы перечислить файлы, входящие в директорию, процесс должен открыть директорию и считать имена всех файлов, которые она включает. Закрытие директории после ее чтения для освобождения места во внутренних системных таблицах. Поиск. Данный системный вызов возвращает содержимое текущей записи в открытой директории. Вообще говоря, для этих целей может использоваться системный вызов Read, но в этом случае от программиста потребуется знание внутренней структуры директории. Получение списка файлов в каталоге. Переименование. Имена директорий можно менять, как и имена файлов.

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

Билет 10(15)

1. Понятие виртуальной памяти.

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

При использовании виртуальной памяти упрощается программирование, так как программисту больше не нужно учитывать ограниченность памяти, или согласовывать использование памяти с другими приложениями. Для программы выглядит доступным и непрерывным все допустимое адресное пространство, вне зависимости от наличия в ЭВМ соответствующего объёма ОЗУ.

2. Структура контроллера устройства

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

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

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

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

3. Алгоритм FCFS.

Алгоритмы планирования. 1. First-Come, First-Served (FCFS - первым пришел, первым обслужен). Представим себе, что процессы, находящиеся в состоянии готовность, выстроены в очередь. Когда процесс переходит в состояние готовность, он помещается в конец этой очереди. Выбор нового процесса для исполнения осуществляется из начала очереди с удалением оттуда ссылки на него. Очередь подобного типа имеет в программировании специальное наименование – FIFO, сокращение от First In, First Out (первым вошел, первым вышел). Такой алгоритм выбора процесса осуществляет невытесняющее планирование. Процесс занимает столько процессорного времени, сколько ему необходимо. После этого для выполнения выбирается новый процесс из начала очереди. Преимуществом алгоритма FCFS является легкость его реализации, но в то же время он имеет и много недостатков. Если у нас есть процесс с длительным временем исполнения, то короткие процессы, перешедшие в состояние готовность после длительного процесса, будут очень долго ждать начала выполнения. Поэтому алгоритм FCFS практически неприменим для систем разделения времени – слишком большим получается среднее время отклика в интерактивных процессах.

Билет 11(16)

1. Ассоциативность памяти. Структура таблиц страниц.

Таблица страниц – непрерывная область физической памяти. В системе имеется базовый регистр таблицы страниц, указывающий на таблицу страниц и хранящий ее длину.Таким образом, при страничной организации любой доступ к памяти требует фактически не одного, а двух обращений в память – одно в таблицу страниц, другое – непосредственно к данным или команде. В этом – некоторый недостаток и неэффективность страничной организации, по сравнению с более простыми методами управления памятью. Проблема двух обращений решается введением ассоциативной памяти (cache) страниц,называемой также буфер трансляции адресов. Ассоциативная память, по существу, является ассоциативным списком пар вида: (номер страницы, номер фрейма(способ представления знаний в искусственном интеллекте, представляющий собой схему действий в реальной ситуации)).Ее быстродействие значительно выше, чем у основной памяти и у регистров.

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

2. Подходы к построению ОС. Классификация ОС.

При описании операционной системы часто указываются особенности ее структурной организации и основные концепции, положенные в ее основу. К таким базовым концепциям относятся:

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

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

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

Классификация ОС. По числу одновременно выполняемых задач операционные системы могут быть разделены на два класса: многозадачные (Unix, OS/2, Windows). однозадачные (например, MS-DOS)

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

По числу одновременно работающих пользователей ОС можно разделить на: однопользовательские (MS-DOS, Windows 3.x); многопользовательские (Windows NT, Unix).

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

Многопроцессорные системы состоят из двух или более центральных процессоров, осуществляющих параллельное выполнение команд. Многопроцессорная обработка реализована в таких ОС, как Linux, Solaris, Windows NT и в ряде других.

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

1. Системы реального времени. Система должна обрабатывать поступающие данные быстрее, чем те могут поступать, причем от нескольких источников одновременно.

3.Пример идеальной ФС

Рассмотрим некоторые важные свойства и элементы файловых систем и способы их реализации с целью построения модели идеальной ФС.

Именование файлов. Файлы – абстрактный механизм. Они представляют возможность записывать и позже считывать информацию. От идеальной ФС требуется скрывать подробности работы аппаратного обеспечения. Для использования файлов важно знать правила именования файлов. В различных ФС эти правила различны. Для идеальной ФС я выбрал следующие правила именования файлов: поддержка имени файла до 255 символов (фактически, стандарт на сегодняшний день); имена файлов в кодировке Unicode, что таким образом должно решить проблему поддержки различных языков;

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

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

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

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

Атрибуты файла. Для получения служебной информации о файле и обеспечения безопасности в идеальной ФС должны быть использованы атрибуты файлов.

Операции с файлами: Create (создание пустого файла), Delete (удаление файла), Open (открытие файла), Close (закрытие файла), Read (чтение данных из файла), Write (запись данных в файл), Append (добавление данных в конец файла), Seek (установление позиции в файле), Get Attributes (чтение атрибутов файла), Set Attributes (установка атрибутов), Rename (переименование файла).

Билет 12(18)

1. Структура ВС. Подходы к построению ОС. Состав ОС.

Структура вычислительной системы

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

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

Многоуровневые системы (Layered systems)

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

Виртуальные машины

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

2. Механизмы передачи информации процессами в ОС.

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

Для обеспечения корректного обмена информацией операционная система должна предоставить процессам специальные средства связи. По объему передаваемой информации и степени возможного воздействия их можно разделить на три категории:

· сигнальные (Передается минимальное количество информации – один бит, "да" или "нет". Используются, как правило, для извещения процесса о наступлении какого-либо события.),

· канальные (Через канальные средства коммуникации информация может передаваться в виде потока данных или в виде сообщений и накапливаться в буфере определенного размера.),

· разделяемую память (Два или более процессов могут совместно использовать некоторую область адресного пространства.).

Существуют одно- и двунаправленные средства передачи информации. Особенности передачи информации с помощью линий связи

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

3. Пример операций над файлами.

Рассмотрим в качестве примера основные файловые операции ОС Unix.

Создание файла, не содержащего данных. Смысл данного вызова - объявить, что файл существует, и присвоить ему ряд атрибутов. При этом выделяется место для файла на диске и вносится запись в каталог.

Удаление файла и освобождение занимаемого им дискового пространства.

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

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

Позиционирование. Дает возможность специфицировать место

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

Чтение данных из файла. Обычно это делается с текущей позиции. Пользователь должен задать объем считываемых данных и предоставить для них буфер в оперативной памяти.

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

Билет 13(19)

1. Прерывания, исключения, системные вызовы

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

Системные вызовы (system calls) - механизм, позволяющий пользовательским программам обращаться к услугам ядра ОС. Концептуально системный вызов похож на обычный вызов подпрограммы. Основное отличие состоит в том, что при системном вызове выполнение программы осуществляется в привилегированном режиме или режиме ядра. Поэтому системные вызовы иногда еще называют программными прерываниями, в отличие от аппаратных прерываний, которые чаще называют просто прерываниями. В большинстве операционных систем системный вызов является результатом выполнения команды программного прерывания (INT). Таким образом, системный вызов - это синхронное событие.

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

Исключительная ситуация (exception) - событие, возникающее в рез



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-08-20 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: