Ответы на ОС. Вопросы на экзамен
Скачать 0.7 Mb.
|
ВОПРОСЫ НА ЭКЗАМЕН Базовые концепции теории операционных систем. Под операционной системой понимается организованная совокупность управляющих и обрабатывающих программ, как обычных, так и микропрограмм, которая действует как интерфейс между аппаратурой ЭВМ и пользователем. Функциональные элементы ОС: Управление процессами - чтобы процесс мог быть выполнен, операционная система должна назначить ему область оперативной памяти, в которой будут размещены коды и данные процесса, а также предоставить ему необходимое количество процессорного времени. Кроме того, процессу может понадобиться доступ к таким ресурсам, как файлы и устройства ввода-вывода. Управление памятью – во время выполнения программного кода процессор берет инструкции и данные из оперативной памяти компьютера. При этом такая память отображается в виде массивов байтов, каждый из которых имеет адрес. Управление вводом – выводом – ОС отвечает за управление устройствами ввода и вывода, подключенных к компьютеру. Такое управление происходит на двух уровнях. Низшему уровню принадлежат драйверы устройств (модули, руководящие устройствами конкретного типа). Второму уровню принадлежит универсальный интерфейс ввода – вывода, удобный для использования в прикладных программах. Управление файлами - Файловая система ОС выполняет преобразование символьных имен файлов, с которыми работает пользователь или прикладной программист, в физические адреса данных на диске, организует совместный доступ к файлам, защищает их от несанкционированного доступа. Классификация ОС по назначению. Мейнфреймы – компьютеры, занимающие целые залы, отличаются больших объемом ввода-вывода данных. Они ориентированы на одновременную обработку большого количества заданий, а поэтому могут встречаться в качестве мощных веб-серверов корпоративных компаний. Серверные - одновременно обслуживают по сети множество пользователей, обеспечивая им общий доступ к аппаратным и программным ресурсам. Серверы могут предоставлять услуги печати, хранения файлов или веб-служб. Интернет-провайдеры для обслуживания своих клиентов обычно задействуют сразу несколько серверных машин. Типичными представителями серверных операционных систем являются Solaris, FreeBSD, Linux и Windows Server 201x. Многопроцессорные - сейчас все шире используется объединение множества центральных процессоров в единую систему, что позволяет добиться большей вычислительной мощности. Общего назначения - Задачей операционных систем персональных компьютеров является качественная поддержка работы отдельного пользователя. Они широко используются для обработки текстов, создания электронных таблиц, игр и доступа к Интернету. Встроенные - работают на компьютерах, которые управляют различными устройствами. Поскольку на этих системах установка пользовательских программ не предусматривается, их обычно компьютерами не считают. Примерами устройств, где устанавливаются встроенные компьютеры, могут послужить микроволновые печи, телевизоры, автомобили. Системы реального времени – используются на компьютерах, управляющих технологическими процессами. Успешность работы зависит не только от её логической правильности, но и от времени, за которое она получила результат. Например, в системах управления производственными процессами компьютеры, работающие в режиме реального времени, должны собирать сведения о процессе и использовать их для управления станками на предприятии. Файловая система. Определения, основные понятия. Файловая система – это инструмент, позволяющий операционной системе и программам обращаться к нужным файлам и работать с ними. При этом программы оперируют только названием файла, его размером и датой созданий. Все остальные функции по поиску необходимого файла в хранилище и работе с ним берет на себя файловая система накопителя. Основные функции файловой системы: - Фрагментация файлов и их распределение на носителе. - Поиск файла при запросе программ. - Участие в создании, чтении и удалении файлов. - Работа с атрибутами файлов: изменение названия, размера, времени последнего изменения, доступ к файлу и многое другое. - Каталогизация и организация файлов. - Защита файлов от несанкционированного доступа и сбоев системы. - Определение права доступа к файлам. - Восстановление информации в случае сбоев. Таким образом, файловая система устанавливает правила эксплуатации и организацию данных на накопителе, и тем самым экономит ресурсы операционной системы и рабочих программ. К тому же наличие файловой системы позволяет использовать накопитель на разных компьютерах без каких-либо предварительных настроек и оптимизации. Файловая система FAT. Файловая система FAT была создана Биллом Гейтсом и Марком Макдональдом в 1977 для использования в ОС 86 – DOS, которая после перехода в Microsoft, стала называться MS – DOS. FAT содержит для области: системная область и область данных. Системная область включает в себя: - Загрузочная запись (boot record, BR) - Резервная область - Таблицы размещения файлов (FAT) - Корневой каталог (в FAT32 не используется) Область данных содержит файлы и каталоги, подчиненные корневому, и разделена на участки одинакового размера – кластеры. Он может состоять из одного иди нескольких последовательно расположенных на диске секторов. Число секторов в кластере должно быть кратно 2 и может принимать значение от 1 до 64. Число после FAT обозначает размер в битах одного кластера (12, 16, 32 бита). Корневой каталог в FAT12 и FAT16 может быть расположен только в зафиксированном месте и его размер жестко зафиксирован. В FAT32 корневой каталог может быть расположен в любом месте. В ранних версиях FAT12 и FAT16 для имени файлов использовалось 8 байт для имени файла и 8 байт для его расширения. Если имя было короче 8 байт, то оно дополнялось пробелами. В первом секторе логической области содержится загрузочный сектор и блок параметров BIOS. Начальный участок данного блока для всех версий FAT идентичен. Загрузочный сектор выполняет две функции: описывает структуру данных на диске, а также осуществляет загрузку ОС. В FAT32 в первом секторе резервного раздела содержится также FSinfo, указывающий информацию о свободных кластерах и номер первого свободного кластера. Файловая система EXT2, EXT3, EXT4. Диск при такой файловой системе делится на блоки. В первом блоке располагается загрузчик, а остальное пространство делится на блоки равного размера, обычно это 1 кБайт, которые в свою очередь собираются в группу блоков. Битовые массивы предназначены для учета свободных блоков и i-узлов в группе, для каждого массива выделяется один блок. При размере блока в 1 кБайт, размер группы составляет 8 192 блока и количество i-узлов равно 8 192. С появлением Ext2 в 1993 году данные стали размещаться в блоки одинакового размера, что увеличило скорость работы с данными, а также использование блоков данных позволило увеличить максимальный размер хранимых файлов. Теперь он составлял 2 Тб вместо прежних 2 ГБ. Длина имени файлов по-прежнему составляла 255 байт. Недостатком Ext2 было фрагментированные, при котором файлы записывались на разные участки диска. Из-за этого повышается время чтения и зависимость скорости чтения от количества файлов на диске. Преимуществом и одновременно недостатком являлось отсутствие журналирования, так как это повышало производительность, но в случае сбоя диск было тяжело восстановить. Файловая система Ext3 – являет собой доработанную версию Ext2. Информация все также записываются в блоки данных одинаковой длины, а максимальный размер файла остался на прежнем уровне – 2ТБ. Однако добавилось журналирование – технология, которая позволяет значительно снизить риск потери информации. Суть заключается в следующем — файловая система отмечает все планируемые изменения в структуре данных. В случае потери питания система мгновенно считает информацию с «журнала» и файлы не будут утеряны. Несмотря на то, что файловая система Ext4 использует основные концепции Ext3 — в ней присутствует большое количество нововведений, которые сделали ее столь популярной. Начать стоит с пространственной записи файлов, которая используется для увеличения быстродействия файловой системы. Перед тем, как записать файл на диск – система выделяет нужную область на диске и после этого данные записываются в конец этой области. Следующим пунктом можно отметить появление экстентов. Внедрение экстентов позволяет выводить большое количество последовательных блоков информации при помощи одного дескриптора. Такой подход увеличивает производительность файловой системы в несколько раз. Система сохраняет только адрес первого и последнего блока данных, которые соответствуют большому файлу. Уменьшение фрагментации файлов за счет более рационального выделения блоков памяти является еще одним нововведением. Перед тем, как записать файл Ext4 выделяет блоки, которые находятся поблизости, чтобы сократить время поиска нужного блока во время чтения данных. Файловая система NTFS. NTFS содержит ряд значительных усовершенствований и изменений, существенно отличающих ее от других файловых систем. С точки зрения пользователей, файлы по-прежнему хранятся в каталогах (часто называемых «папками»). Однако в NTFS в отличие от FAT работа на дисках большого объема происходит намного эффективнее; имеются средства для ограничения в доступе к файлам и каталогам, введены механизмы, существенно повышающие надежность файловой системы, сняты многие ограничения на максимальное количество дисковых секторов и/или кластеров. Файловая система NTFS поддерживает объектную модель безопасности NT и рассматривает все тома, каталоги и файлы как самостоятельные объекты. NTFS обеспечивает безопасность на уровне файлов; это означает, что права доступа к томам, каталогам и файлам могут зависеть от учетной записи пользователя и тех групп, к которым он принадлежит. Одним из основных понятий, используемых при работе с NTFS, является понятие тома (volume). Как и многие другие системы, NTFS делит все полезное дисковое пространство тома на кластеры – блоки данных, адресуемые как единицы данных. Стандартом считается кластер размером 2 или 4 Кбайт. Все дисковое пространство в NTFS делится на две неравные части. Первые 12% диска отводятся под так называемую MFT-зону – пространство, которое может занимать, увеличиваясь в размере, главный служебный метафайл MFT. Запись каких-либо данных в эту область невозможна. MFT-зона всегда держится пустой – это делается для того, чтобы самый главный, служебный файл (MFT) по возможности не фрагментировался при своем росте. Остальные 88% тома представляют собой обычное пространство для хранения файлов. Упомянутые первые 16 файлов NTFS (метафайлы) носят служебный характер; каждый из них отвечает за какой-либо аспект работы системы. Метафайлы находятся в корневом каталоге NTFS-тома. Все они начинаются с символа имени «$». Файловая система ZFS. ZFS — это файловая система, объединенная с менеджером логических томов. Файловая система и менеджер томов ZFS отличаются в первую очередь целостностью данных и рядом встроенных функций хранения. Условная copy-on-write файловая система создает точную копию блока данных в отдельном месте перед перезаписью исходного блока, для чего ей необходимо прочитать предыдущее значение блока. Файловая система с механизмом copy-on-write требует для каждой записи данных выполнения трех операций ввода-вывода — чтения, изменения и записи. Система редиректа, напротив, при записи требует только одной операции ввода-вывода, что способствует повышению эффективности и производительности системы. Особенности ZFS: Моментальные снимки. ZFS и OpenZFS могут создавать копии файловой системы в заданный момент времени буквально «на лету», поскольку система сохраняет все копии данных. Снимки представляют собой неизменяемые копии файловой системы, тогда как результаты клонирования системы можно изменять. Снапшоты интегрированы в загрузочные среды с ZFS на Solaris, что позволяет пользователям вернуться к любому состоянию системы, если что-то пойдет не так. Сжатие. Встроенный поддержка сжатия данных - ключевая функция в ZFS и OpenZFS, позволяющая уменьшить количество битов, необходимых для хранения данных. ZFS и OpenZFS поддерживают несколько алгоритмов сжатия. Дедупликация. Встроенная в ZFS и OpenZFS функция дедупликации данных обеспечивает эффективность хранения за счет устранения избыточных данных. Файловые системы находят повторяющиеся данные, просматривая контрольную сумму блока, который может различаться по размеру. Отправка и загрузка снимков ZFS. ZFS и OpenZFS позволяют отправить моментальный снимок файловой системы на другой узел сервера, что открывает для пользователя возможность сохранять данные в отдельную систему для таких целей, как резервное копирование или перенос данных в облачное хранилище. Безопасность. ZFS и OpenZFS поддерживают делегированные разрешения и детализированные списки управления доступом для управления тем, кто может выполнять административные задачи. Пользователи могут настроить ZFS как доступную только для чтения, поэтому данные нельзя будет изменить. Oracle также поддерживает шифрование в ZFS на Solaris. Микро ядерная архитектура ОС. Суть этой архитектуры состоит в следующем. В привилегированном режиме остается работать только очень небольшая часть ОС, называемая микроядром. Микроядро защищено от остальных частей ОС и приложений. В его состав входят машинно-зависимые модули, а также модули, выполняющие базовые механизмы обычного ядра. Все остальные более высокоуровневые функции ядра оформляются как модули, работающие в пользовательском режиме. Схема смены режимов при выполнении системного вызова в ОС с микроядерной архитектурой выглядит, как показано на рисунке. Из рисунка ясно, что выполнение системного вызова сопровождается четырьмя переключениями режимов (4 t), в то время как в классической архитектуре – двумя. Следовательно, производительность ОС с микроядерной архитектурой при прочих равных условиях будет ниже, чем у ОС с классическим ядром. По многим источникам вопрос масштабов потери производительности в микроядерных ОС является спорным. Многое зависит от размеров и функциональных возможностей микроядра. Избирательное увеличение функциональности микроядра приводит к снижению количества переключений между режимами системы, а также переключений адресных пространств процессов. Архитектура ОС на основе микроядра. Повышенная отказоустойчивость обеспечивается прежде всего особенностями самой архитектуры на основе микроядра. Как и во многих структурах ОС предполагается наличие только двух уровней исполнения: суперпользовательского (или уровня ядра) и пользовательского. На уровне суперпользователя, которому, по определению, разрешено всё, исполняется только минимально-необходимая часть, которая либо не может функционировать на пользовательском уровне, либо её наличие в микроядре обусловлено соображениями улучшения каких-либо свойств системы. Любую операционную систему на основе микроядра можно представить себе как трёхуровневую программную структуру, в которой базовым компонентом является микроядро, промежуточным – набор модулей (серверов, в терминологии микроядерных систем, позаимствованной из клиент-серверных систем), а низший уровень представлен множеством прикладных процессов (клиентов). Наиболее заметными представителями микроядерной архитектуры на сегодняшний день являются операционные системы QNX и Symbian OS, хотя таких систем больше. Можно отметить, например, учебную, по сути, Minix3 и пока не доведённую до реально работоспособного состояния GNU Hurd. Велико значение операционных систем с гибридными ядрами Mac OS X и Windows NT, использующих архитектуру микроядер. Архитектура ОС на основе гибридного ядра. Гибридное ядро – это модифицированное микроядро, позволяющее для ускорения работы запускать несущественные части в пространстве ядра. В нём есть возможность добавить драйвер устройства двумя методами. Он может быть установлен как внутри ядерного пространства, так и в пространстве пользователя. Windows NT была первой операционной системой Windows, основанной на гибридном ядре. Гибридное ядро, по сути, позволяет соединять микроядро и монолитное ядро. В логическом смысле комбинация ядер составляют две противоположности, где смешанное ядро является золотой серединой. К нему можно добавить драйвер устройства, используя несколько методов. Его предполагается устанавливать и внутри и в самом ядерном пространстве. Но как показывает практика, данная методика смешанного ядра, может принимать как положительные, так и отрицательные стороны. Эволюция операционных систем фирмы Microsoft. Первые продукты с названием «Windows» от Microsoft не были операционными системами. Это были графические среды для MS-DOS. На фоне успеха, в том числе и коммерческого, пользовательского интерфейса на Apple Lisa, компания решила реализовать графический интерфейс на IBM PC с MS-DOS. Так, в 1985, 1987 и в 1990 выходят первые три версии Windows — 1.0, 2.0 и 3.0. Причем за первые шесть месяцев после релиза Windows 3.0 было продано более 1 миллиона экземпляров. Дальнейшее развитие Windows можно разделить на два направления — Windows на базе MS-DOS и Windows на базе NT. Windows на базе MS-DOS или Windows 9x не были первыми ОС от Microsoft, но они продолжали «старые традиции» и были построены на основе 16-битного кода MS-DOS. В августе 1995 года была выпущена Windows 95 — первая система семейства Windows 9x. Она уже была полноценной операционной системой с соответствующими возможностями. Однако у системы были проблемы с безопасностью (например, не было «администратора») и с изоляцией приложений. В целом, к концу 80-х годов в Microsoft появилось понимание о необходимости разработки операционной системы не на базе MS-DOS. Параллельно с разработкой софта, связанного с MS-DOS, Microsoft наняла команду инженеров из компании DEC для разработки новой 32-битной операционной системы. Главой группы стал Дэйв Катлер — один из главных разработчиков ОС VMS. Новая система была названа NT — от сокращения New Technology. Основной упор при разработке NT делался на безопасность и надежность системы, а также на совместимость с Windows на MS-DOS. Первая система Windows называлась Windows NT 3.1 и была выпущена в 1993 году. Это была первая ОС от Microsoft. Индекс 3.1 был выбран для соответствия Windows 3.1 на MS-DOS. Эта версия не имела особого успеха. Для NT требовалось больше памяти, 32-разрядных приложений на рынке было мало, возникали проблемы с совместимостью драйвером. В 2000 году вышла новая версия Windows — Windows 2000. Она развивала идеи, заложенные в системы NT. Был добавлена технология Plug-and-Play, управление электропитанием и улучшен интерфейс пользователя. Успех Windows 2000 задал вектор развития для следующего поколения — Windows XP. В «хрюшке» Microsoft улучшила совместимость, интерфейс стал более дружелюбным. Стратегия Microsoft завоевывать аудиторию уже знакомыми системами дала плоды — за несколько лет Windows XP была установлена на сотнях миллионах ПК. Эпоха MS-DOS подошла к концу. Vista включала в себе 70 миллионов строк кода, часть которого составлял «причесанный» код XP. Неудача Vista отчасти с тем, что она вышла не в то время. На 2006 год пришелся бум недорогих компьютеров, которые не могли обеспечить достаточную для Vista производительность. Microsoft уделила большее внимание тестированию и производительности новой системы. Windows 7 быстро вытеснила Vista, а затем и XP, став самой популярной версией Windows до появления Windows 10 (сейчас Windows 7 на втором месте по популярности). Бум смартфонов в начале 2010-х подтолкнул Microsoft к созданию операционной системы, которую можно было бы развернуть на разных устройствах: на телефонах, планшетах, приставках и т. д. В результате этой работы мир узрел Windows 8. «Восьмерка» построена на модульном подходе MinWin для получения небольшого ядра ОС, которое можно было бы расширить на линейку других типов устройств. Но аудитория встретила холодно такой подход. И вот, к 2015 году Microsoft выпускает Windows 10. При разработке Microsoft продолжала развитие идеи единой системы для разных устройств. В «десятке» появилась голосовая помощница Кортана, вернули меню «Пуск», улучшена системная безопасность. Код ядра ОС выполняется в привилегированном режиме процессора (режим ядра). Для него доступны системные данные и оборудование. В непривилегированном режиме (пользовательский режим) выполняется код приложений. Ему предоставляется ограниченный набор интерфейсов и ограниченный доступ к системным данным. Прямой доступ к оборудованию заблокирован. Windows считается операционной системой с гибридным ядром. С одной стороны компоненты ядра Windows располагаются в вытесняемой памяти и взаимодействуют друг с другом путем передачи сообщений, как в микроядерных системах. С другой стороны, ядро слишком велико (более 1 Мбайт), а большая часть кода ОС и кода драйверов устройств использует одно защищенное пространство памяти защищенного режима, что свойственно монолитным ОС. |