- •Задачи и интерфейсы Unix-подобных систем.
- •2.Структура ядра ос Linux.
- •3. Процессы в ос Linux. Общие понятия.
- •4. Процессы в ос Linux. Этапы создания процесса.
- •5. Взаимодействие процессов в ос Linux.
- •6. Реализация потоков в ос Linux.
- •7. Планирование в ос Linux.
- •8.Загрузка в ос Linux
- •14.Алгоритм замещения страниц в ос Linux.
- •13.Подкачка в ос Linux.
- •15.Ввод-вывод в ос Linux. Общие понятия.
- •17. Файловые системы в ос Linux. Общие понятия.
- •18. Файловые системы в ос Linux. Файловая система Ext2.
- •19. Файловые системы в ос Linux. Файловая система Ext3.
- •20. Файловые системы в ос Linux. Файловая система nfs.
- •21.Архитектура ос windows nt/2000/xp
- •22. Архитектура ос windows vista
- •23.Структура пользовательского режима. Программный интерфейс Win32 api.
- •24.Реестр ос Windows Vista.
- •25. Реализация объектов в oc windows Vista. Структура объектов.
- •26. Реализация объектов в oc windows Vista. Типы объектов.
- •27. Реализация объектов в oc windows Vista. Пространство имён.
- •Структура пространства имен
- •28. Задания, процессы, потоки, волокна в oc windows Vista.
- •29. Межпроцессное взаимодействие в oc windows Vista.
- •30. Реализация процессов и потоков в oc windows Vista.
- •31. Планирование в oc windows Vista. Условия вызова планировщика.
- •32. Планирование в oc windows Vista. Система приоритетов.
- •33. Планирование в oc windows Vista. Условия изменения приоритетов.
- •34. Технология dll. Структура dll-библиотеки. Наиболее важные dll-библиотеки.
- •35. Технология dll. Преимущества и недостатки dll. Win32 и dll
- •38. Конфигурация виртуального адресного пространства для пользовательского
- •39. Реализация, поддержка, особенности виртуальной памяти в oc windows Vista.
- •40. Реализация управления памятью в oc windows Vista. Обработка страничных
- •41. Алгоритм замещения страниц в oc windows Vista.
- •42. Управление физической памятью в oc windows Vista.
- •44. Файловая система fat. Загрузочный сектор.
- •45. Файловая система fat. Таблица размещения файлов.
- •46. Файловая система ntfs. Структура тома.
- •47. Файловая система ntfs. Структура главной файловой таблицы mft
- •48. Файловая система ntfs. Файловая запись mft для малого и большого файла.
- •49. Файловая система ntfs. Файловая запись mfTдля малого и большого каталога.
- •50. Файловая система ntfs. Файлы метаданных.
2.Структура ядра ос Linux.
Системный интерфейс |
||||
Компонент Ввода-вывода |
Компонент управления памятью |
Компонент управления процессами |
||
Виртуальная файловая система |
Виртуальная память |
Обработка сигналов |
||
Файловая система |
Сокеты |
Терминалы |
||
Обобщенный уровень блочных устройств |
Сетевые протоколы |
Дисциплины линий связи |
Механизм замещения страниц |
Создание и завершение процессов и потоков |
Диспетчер блочных устройств |
Драйверы сетевых устройств |
Драйверы символьных устройств |
Кэш страниц |
Планирование процессов |
Диспетчер прерываний |
||||
Аппаратура |
||||
Нижний уровень ядра состоит из обработчиков прерываний, которые являются основным средством взаимодействия с устройствами и механизма диспетчеризации на низком уровне. Диспетчеризация производится при возникновении прерываний. При этом код низкого уровня останавливает выполнение работающего процесса, сохраняет его состояние в структуре процессов ядра и запускает соответствующий драйвер.
Ядро Linux можно разделить на 3 части:
Компонент ввода-вывода.
Компонент управления памятью
Компонент управления процессами
Компонент ввода-вывода:
Данный компонент содержит все части ядра, которые отвечают за взаимодействие с устройствами ввода-вывода, выполнение сетевых операций. На самом высоком уровне все операции интегрированы в уровень виртуальной файловой системы. Т.е. выполнение операций чтения из файла, будь он в памяти или на диске это то же самое, что и выполнение операции чтения символа с терминального ввода. На самом низком уровне все операции ввода-вывода проходят через соответствующий драйвер. Все драйверы в Linux классифицируются либо как символьные, либо блочные. Выше уровня драйверов устройств код ядра для каждого типа устройств свой. В зависимости от вида символьного устройства, информация обрабатывается согласно определенной дисциплине линий связи.
Уровень выше сетевых драйверов выполняет функции маршрутизации, обеспечивая отправку правильного пакета к правильному устройству или к блоку обработки протокола. Над сетью располагается интерфейс сокетов, позволяющий программам создавать сокет.
Над дисковыми драйверами располагается планировщик ввода-вывода, который отвечает за упорядочивание и выдачу запросов над дисковой операцией. ОС Lixux имеет несколько одновременно существующих файловых систем. Обобщенный уровень блоков призван скрыть различия реализаций файловой системы в зависимости от аппаратных устройств.
Компонент управления памятью:
В задачи управления памятью входят:
- Обслуживание отображения виртуальной памяти на физическую
- Поддержка кэша страниц, к которым недавно выполнялось обращение
- Поставка в память новых страниц с кодом и данными
Компонент управления процессами:
Основная задача этого компонента – создание и завершение процесса
Планировщик процессов решает каким процессам запускаться в данный момент, а каким приостанавливаться и завершаться. Компонент обработки сигналов обрабатывает поступающие процессам управляющие сигналы.
Все рассмотренные компоненты взаимосвязаны друг с другом. Файловые системы обращаются к файлам через блочные устройства, однако, если в данный момент в памяти отсутствует свободное место, то в данном случае необходимо задействовать компонент управления памятью для выгрузки и загрузки соответствующих страниц.
Интерфейс системных вызовов ядра – все системные вызовы поступают сюда и вызывают эмулированное прерывание, которое переключает исполнение из пользовательского режима в защищенный и передает управление одному из компонентов ядра.
