Добавил:
СПбГУТ * ИКСС * Программная инженерия Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
АОПИ. Старое / АОПИ. Глава 1. Конспекты (31_03_19).rtf
Скачиваний:
67
Добавлен:
10.09.2019
Размер:
630.31 Кб
Скачать

Домашнее задание: ответить на вопрос: «Какого размера кластер может быть?»

============================ ОТВЕТ НА ВОПРОС ============================

Если файловая система NTFS, то от 512 байт до 64 Кбайт. Если файловая система FAT, то 64 Кбайт. Если файловая система FAT32, то от 1024 байт до 32 Кбайт. Если файловая система exFAT, то от 512 байт до 32 Мбайт.

======================================================================

Драйверы файловой системы организуют кластеры, файлы и каталоги. Стек — цепочка кластеров.

Домашнее задание: ответить на вопрос: «Чем стек отличается от индексированного массива?»

============================ ОТВЕТ НА ВОПРОС ============================

Стек — тип данных, представляющий собой список элементов, организованных по принципу LIFO (англ. last in — first out, «последним пришёл — первым вышел»).

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

======================================================================

Каталог являются файлом, содержащим список файлов в данном каталоге.

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

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

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

Интерфейсная оболочка для взаимодействия пользователя с ос и операционными средами

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

Работа операционной среды определяется API интерфейсами. API — Application Programming Interface.

ДОМАШНЕЕ ЗАДАНИЕ: прочитать и понять разницу. Объекты синхронизации: Mutex, Semaphore, Event, Waitable Timer. Дополнительные объекты синхронизации: Thread, Process, Job, Console input.

============================ ОТВЕТ НА ВОПРОС ============================

Объекты синхронизации — объекты Windows, идентификаторы которых могут использоваться в функциях синхронизации. Объекты синхронизации делятся на две группы: 1. Объекты, использующиеся только для синхронизации. 2. Объекты, которые используются в других целях, но могут вызывать срабатывание функций ожидания (дополнительные объекты синхронизации).

В состав первой группы входят следующие объекты: 1) Mutex — это объект синхронизации, который может находиться в одном из двух состояний — отмеченном или неотмеченном (открыт и закрыт соответственно). Когда какой-либо поток, принадлежащий любому процессу, становится владельцем объекта mutex, последний переводится в неотмеченное состояние. Если задача освобождает мьютекс, его состояние становится отмеченным. Задача мьютекса — защита объекта от доступа к нему других потоков, отличных от того, который завладел мьютексом. 2) Semaphore — счетчик, ограничивающий количество потоков, которые могут войти в заданный участок кода. Счетчик уменьшается каждый раз, когда какой-либо поток входит в заданный участок кода, и увеличивается, когда поток выходит из этого участка. При достижении семафором значения 0 он переходит в несигнальное состояние, при любых других значениях счетчика его состояние — сигнальное. Используется для синхронизации и защиты передачи данных через разделяемую память, а также для синхронизации работы процессов и потоков. 3) Event — это объект синхронизации, который позволяет известить один или несколько ожидающих потоков о наступлении события. Существует два вида таких объектов: — Объекты, переводимые в несигнальное состояние "вручную". Такой объект, будучи установленным в сигнальное состояние, остается в нем до тех пор, пока не будет переключен явным вызовом функции сброса. — Объекты, переводимые в несигнальное состояние автоматически. Такой объект переключается в несигнальное состояние операционной системой, когда один из ожидающих его потоков завершается. 4) Waitable Timer — таймер ожидания, суть которого заключается в том, что он переходит в сигнальное состояние по завершении заданного интервала времени.

В состав второй группы входят следующие объекты: 1) Process — это объект синхронизации, идентификатор которого переходит в сигнальное состояние по завершении процесса, что позволяет организовать ожидание завершения процесса. 2) Thread (поток) — это объект синхронизации, идентификатор которого находится в несигнальном состоянии до тех пор, пока поток выполняется. По его завершении идентификатор переходит в сигнальное состояние. Это позволяет: — узнать, завершился ли поток. — при помощи функции, ожидающей несколько объектов, организовать ожидание завершения одного или всех интересующих потоков. 3) Job — это объект синхронизации, позволяющий объединить группу процессов в одно задание и манипулировать ими одновременно. Идентификатор задания находится в сигнальном состоянии, если все процессы, ассоциированные с ним, завершились по причине истечения лимита времени на выполнение задания. 4) Console input — это объект синхронизации, идентификатор которого находится в сигнальном состоянии, если очередь ввода консоли не пустая, и в несигнальном — если пустая. Это позволяет организовать ожидание ввода символов.

Дополнительная литература по данному вопросу: https://compress.ru/article.aspx?id=11782

======================================================================

Классическими примерами интерфейсных оболочек операционных сред являются: — X Window (UNIX-системы). — Explorer (Windows).

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

К этому классу СПО относятся и эмуляторы виртуальных машин. Пример: VM Ware.