- •Определение ос. Назначение и функции операционной системы. Место ос в структуре вычислительной системы.
- •3, Понятие ресурса. Основные ресурсы вычислительной системы. Управление ресурсами.
- •4, Критерии эффективности и классы ос
- •5, Функциональные компоненты ос персонального компьютера
- •6, Понятие интерфейса прикладного программирования
- •7, Системные вызовы
- •8, Прерывания (понятие, классификация, обработка прерываний)
- •9, Требования, предъявляемые к современным ос
- •10, Виртуализация. Гипервизор 1 и 2 типа. Контейнеры
- •11, Архитектура ос. Ядро и вспомогательные модули
- •12, Классическая архитектура ос. Монолитные и многослойные ос.
- •13, Микроядерная архитектура ос
- •14. Процессы и потоки. Состояния потока
- •15. Планирование и диспетчеризация потоков, моменты перепланировки.
- •16. Алгоритм планирования, основанный на квантовании.
- •17. Приоритетное планирование.
- •18. Алгоритмы планирования в ос пакетной обработки: «первым пришел – первым обслужен», «кратчайшая задача – первая», «наименьшее оставшееся время выполнения».
- •19. Алгоритмы планирования в интерактивных ос: циклическое, приоритетное, гарантированное, лотерейное, справедливое планирование.
- •20. Алгоритм планирования Windows nt.
- •21. Алгоритмы планирования Linux: о(1), cfs.
- •22. Синхронизация процессов и потоков: цели и средства синхронизации.
- •23. Ситуация состязаний (гонки). Способы предотвращения.
- •24. Способы реализации взаимных исключений: блокирующие переменные, критические секции, семафоры.
- •25. Взаимные блокировки. Условия, необходимые для возникновения тупика.
- •26. Предотвращение взаимоблокировки. Алгоритм банкира для одного вида ресурсов.
- •27. Предотвращение взаимоблокировки. Алгоритм банкира для нескольких видов ресурсов.
- •28. Синхронизирующие объекты ос: системные семафоры, мьютексы, события, сигналы, барьеры, ждущие таймеры.
- •29. Организация обмена данными между процессами (каналы, разделяемая память, почтовые ящики, сокеты).
- •30. Функции ос по управлению памятью.
- •31. Алгоритмы распределения памяти без использования внешних носителей (фиксированные, динамические, перемещаемые разделы).
- •32. Понятие виртуальной памяти
- •33.Страничное распределение памяти.
- •34. Таблицы страниц для больших объемов памяти.
- •35.Сегментное распределение памяти.
- •36. Сегментно-страничное распределение памяти.
- •37. Задачи ос по управлению файлами и устройствами.
- •38. Многослойная модель подсистемы ввода-вывода.
- •39. Физическая организация жесткого диска. (там еще про hdd, ssd устройства добавление в вопрос) (я пробежался глазами тут вроде нет)
- •40. Файловая система. Определение, состав, типы файлов. Логическая организация файловой системы.
- •41. Физическая организация и адресация файлов.
- •42. Fat. Структура тома. Формат записи каталога. Fat12, fat16, fat32.
- •43. Ufs: структура тома, адресация файлов, каталоги, индексные дескрипторы.
- •44. Ntfs: структура тома, типы файлов, организация каталогов.
- •45. Файловые операции. Процедура открытия файла.
- •46. Организация контроля доступа к файлам. Контроль доступа к файлам на примере Unix
- •47. Отказоустойчивость файловых систем.
- •48. Избыточные дисковые подсистемы raid.
- •49. Многоуровневые драйверы.
- •50. Дисковый кэш.
38. Многослойная модель подсистемы ввода-вывода.
Важной функцией менеджера ввода-вывода является создание некоторой среды для остальных компонентов подсистемы, которая бы облегчала их взаимодействие друг с другом. Эта задача может быть решена за счет создания некоторого стандартного внутреннего интерфейса взаимодействия модулей ввода-вывода между собой, который бы дополнял внешние интерфейсы подсистемы с прикладными процессами, другими модулями ядра и аппаратурой. Наличие такого интерфейса существенно облегчает включение новых драйверов и файловых систем в состав ОС.
Функции буферизации данных и синхронизация нескольких модулей между собой при обмене данными берет на себя менеджер ввода-вывода. Еще одной функцией менеджера ввода-вывода является организация взаимодействия модулей ввода-вывода с модулями других подсистем ОС, таких как подсистема управления процессами, виртуальной памятью и другими.
Драйвер вместе с контроллером устройства и прикладной программой воплощали идею многослойного подхода к организации программного обеспечения. Контроллер представлял нижний слой управления устройством, выполняющий операции в терминах блоков и агрегатов устройства. Вместо того чтобы концентрировать все функции по управлению устройством в одном программном модуле, во многих случаях гораздо эффективней распределить их между несколькими модулями в соседних слоях иерархии. Традиционные драйверы стали называть аппаратными драйверами, низкоуровневыми драйверами, или драйверами устройств. При таком подходе повышается гибкость и расширяемость функций по управлению устройством. Единственным отличием является то, что высокоуровневые драйверы, как правило, не вызываются по прерываниям, так как взаимодействуют с управляемым устройством через посредничество аппаратных драйверов. При наличии большого количества драйверов разного уровня усложняются связи между ними, что, в свою очередь, усложняет их взаимодействие, и именно эта ситуация привела к выделению специальной оболочки в виде менеджера ввода-вывода, выполняющего служебные функции по организации работы драйверов.
Специальные файлы
Специальные файлы, называемые иногда виртуальными, не связаны со статичными наборами данных, хранящихся на дисках, а являются удобным унифицированным представлением устройств ввода-вывода. Понятие специального файла появилось в операционной системе UNIX. Специальный файл всегда связан с некоторым устройством ввода-вывода и представляет его для остальной части операционной системы и прикладных процессов в виде не структурированного набора байт. Со специальным файлом можно работать так же, как и с обычным, то есть открывать, считывать или же записывать в него определенное количество байт, а после завершения операции закрывать. Для этого используются те же системные вызовы, что и для работы с обычными файлами.
39. Физическая организация жесткого диска. (там еще про hdd, ssd устройства добавление в вопрос) (я пробежался глазами тут вроде нет)
Классический жёсткий диск — винчестер или HDD (Hard Disk Drive) — привод жёстких дисков. Файлы в нём записываются на вращающихся магнитных дисках (пластинах) с обеих сторон которых размечены тонкие концентрические кольца — дорожки (tracks), на которых хранятся данные. Нумерация дорожек начинается с 0 от внешнего края к центру диска. Когда диск вращается, головка считывает двоичные данные с магнитной дорожки или записывает их на нее.
Совокупность дорожек одного радиуса на всех поверхностях всех пластин пакета называется цилиндром (cylinder). Каждая дорожка разбивается на фрагменты, называемые секторами (sectors), или блоками (blocks), так что все дорожки имеют равное число секторов. Сектор имеет фиксированный для конкретной системы размер, выражающийся степенью двойки. Чаще всего размер сектора составляет 512 байт. Учитывая, что дорожки разного радиуса имеют одинаковое число секторов, плотность записи становится тем выше, чем ближе дорожка к центру.
Сектор — наименьшая адресуемая единица обмена данными дискового устройства с оперативной памятью. Для того чтобы контроллер мог найти на диске нужный сектор, необходимо задать ему все составляющие адреса сектора: номер цилиндра, номер поверхности и номер сектора. Так как прикладной программе в общем случае нужен не сектор, а некоторое количество байт, не обязательно кратное размеру сектора, то типичный запрос включает чтение нескольких секторов, содержащих требуемую информацию, и одного или двух секторов, содержащих наряду с требуемыми избыточные данные.
Операционная система при работе с диском использует, как правило, собственную единицу дискового пространства, называемую кластером (cluster). При создании файла, место на диске ему выделяется кластерами. Разметку диска под конкретный тип файловой системы выполняют процедуры высокоуровневого, или логического, форматирования.
Диск может быть разбит на разделы. Раздел — это непрерывная часть физического диска, которую операционная система представляет пользователю как логическое устройство(отдельный диск).Примерами организации совместной работы нескольких дисковых разделов являются так называемые RAID-массивы.
SSD или твердотельный накопитель собран из полупроводниковых чипов. В нем нет движущихся частей: чтение, запись и удаление информации происходят при подаче разных электрических сигналов.
Основными элементами SSD являются:
PCB — печатная плата.
NAND-flash — флэш-память NAND; отвечает за хранение данных.
NAND-controller — контроллер памяти; выступает в роли посредника между носителем и системой, и является процессором, отвечающим за производительность SSD.
DRAM — кэш (присутствует не во всех моделях SSD); выступает временным хранилищем небольшого объема данных и позволяет стабилизировать износ памяти, а также ускорить доступ к файлам.
HOST Interface — интерфейс подключения; тип соединения и протокол, через которые SSD соединяется с системой.
Твердотельный накопитель позволяет работать с файлами более эффективно и на более высоких скоростях, чем классические жёсткие диски, тем самым повышая отзывчивость системы и скорость выполнения операций. Разница в скорости работы может достигать нескольких раз.
