
- •1Определение операционной системы (ос). Назначение и основные функции ос.
- •Эволюция ос.
- •Классификация операционных систем.
- •Структура ос Windows. Краткий обзор архитектуры Windows.
- •Основные системные файлы Windows 95, nt, 2000.
- •Виртуальная память. Страничная организация памяти.
- •Страничная или сегментно-страничная организация памяти.
- •Алгоритмы замещения страниц виртуальной памяти. Алгоритмы замещения страниц
- •7.1.1 Алгоритм nru (Not Recently Used - не использовавшаяся в последнее время страница)
- •Адресное пространство процесса Win32 в Windows nt(2000). Регионы в адресном пространстве. Передача физической памяти региону. Гранулярность выделения ресурсов.
- •Раздел 4. В него загружаются ядро Windows nt и драйверы устройств. Этот раздел защищен и по чтению, и по записи. Регионы в адресном пространстве.
- •Передача физической памяти региону.
- •Механизм выделения страниц физической памяти.
- •Выделение физической памяти под программный код.
- •Атрибуты защиты страниц памяти в Win32. Изменение атрибутов защиты. Атрибуты защиты страниц.
- •Стек потока под управлением Windows nt (2000).
- •Стек потока под Windows 95, 98.
- •Функции компилятора для контроля стека.
- •Кучи в Windows nt (2000). Структура кучи в Win32. Функции управления кучей Win32. Кучи (Heaps).
- •Особенности кучи в Windows 95, Windows nt.
- •Структура арены.
- •Функции управления кучей Win32.
- •Удаление кучи.
- •Выделение блока памяти в определённой куче.
- •Куча, предоставляемая процессу по умолчанию, и дополнительные кучи. Назначение дополнительных куч Win32.
- •Дополнительные кучи Win32 процесса.
- •Создание дополнительных куч для эффективного управления памятью.
- •Локальный доступ. Создание дополнительных куч для локализации доступа.
- •Файлы, проецируемые в память. Файлы проецируемые в память (фпвп).
- •Проецирование в память exe и dll файлов.
- •Совместное использование статических данных несколькими экземплярами exe и dll модулей.
- •Иерархия функций работы с памятью.
- •Объекты ядра. Процессы, потоки и модули в Win32. Объекты kernel32.Dll.
- •Структура imte.
- •Структура modref.
- •Процессы Win32. Идентификатор процесса и дескриптор процесса. Объект ядра процесс в Win32. Функции для работы с процессами Таблица дескрипторов процесса.
- •Потоки. Состояния потоков. Свойства потоков. Объект ядра поток. Функции для работы с потоками.
- •Основные функции для работы с потоками.
- •Структура оя «поток».
- •Распределение времени между потоками. Классы приоритета. Уровни приоритета. Относительный уровень приоритета потока. Функции для работы с приоритетами потоков.
- •Уровни приоритета.
- •Функции Win32 связанные с планированием.
- •Учет квантов времени в Windows. Управление величиной кванта. Учёт квантов времени.
- •Сценарии планирования процессорного времени. Сценарий планирования.
- •Поток простоя.
- •Динамическое повышение приоритета. Динамическое повышение приоритета потока.
- •Синхронизация процессов и потоков. Объекты синхронизации. Синхронизация потоков без использования объектов синхронизации Синхронизация.
- •Синхронизация потоков без использования объектов синхронизации.
- •Синхронизация потоков.
- •Критические секции (кс). Критические секции.
- •Работа потока с несколькими критическими секциями.
- •Синхронизация потоков с объектами ядра. Ожидание завершения потока или процесса. Ожидание завершения нескольких потоков или процессов. Синхронизация объектов.
- •События со сбросом вручную.
- •События с автоматическим сбросом.
- •Объекты Мutex.
- •Синхронизация потоков с помощью семафоров.
- •Синхронизация потоков с помощью событий. События со сбросом вручную и с автоматическим сбросом.
- •События со сбросом вручную.
- •События с автоматическим сбросом.
- •Динамически подключаемые библиотеки (dll). Явная и неявная загрузка dll.
- •Обработка сообщения в ос Window. Структура threadinfo.
- •Посылка асинхронных сообщений в очередь потока
- •Системная очередь аппаратного ввода сообщений.
- •Работа с окнами в ос Windows. Классы окон. Z-порядок окон. Описание окон в ос Windows. Структуры управления окнами.
- •Существующие форматы исполняемых файлов. Формат pe-файла. Заголовок pe-файла. Основные секции pe-файла. Формат pe-файла.
- •Особенности ре-формата.
- •Заголовок ре-файла.
- •Основные секции исполняемого pe-файла.
- •Секция программного кода, импорт и экспорт в pe-файлах. Ресурсы pe-файла. Базовые поправки pe-файла. Импорт в pe-файлах.
- •Экспорт в pe-файлах
- •Ресурсы ре-файла.
- •Базовые поправки ре-файла.
- •Методы отслеживания изменений файловой системы.
- •Файловая система fat. Структура системной области и области данных в fat.
- •Назначение ntfs. Основные особенности и возможности ntfs. Структура файловой системы ntfs. Понятие тома и файла в ntfs.
- •Особенности ntfs.
- •Возможности ntfs.
- •Структура файловой системы ntfs.
- •Тома в ntfs.
- •Кластеры в ntfs.
- •Основные файлы ntfs, назначение основных файлов ntfs. Главная таблица файлов.
- •Назначение основных файлов ntfs.
- •Генерация имен файлов ms dos в ntfs.
- •Структура главной файловой таблицы (mft). Атрибуты файла ntfs. Заголовок атрибута, значение атрибута. Резидентные и нерезидентные атрибуты. Структура главной файловой таблицы (mft).
- •Структура файловых ссылок.
- •Атрибуты файла ntfs
- •Резидентные атрибуты.
- •Нерезидентные атрибуты.
- •Записи главной файловой таблицы ntfs (mft) для резидентных атрибутов и для нерезидентных атрибутов. Виртуальные и логические номера кластеров.
- •Структура больших файлов и каталогов в ntfs. Индексация файлов в ntfs. Структура каталогов в ntfs
- •Структура больших файлов в ntfs
- •Индексация файлов в ntfs.
- •Битовая карта.
- •Восстанавливаемость ntfs. Протоколирование транзакций. Журнал транзакций. Восстанавливаемость ntfs.
- •Протоколирование транзакций.
- •Журнал транзакций.
- •Записи модификации, записи контрольной точки, таблица транзакций, таблица измененных страниц в журнале транзакций. Записи модификации.
- •Записи контрольной точки.
- •Восстановление данных в ntfs. Проход анализа. Проход повтора. Проход отмены. Восстановление данных в ntfs.
- •Проход анализа.
- •Проход повтора.
- •Проход отмены.
- •Замена плохих секторов в ntfs. Файл плохих кластеров. Переназначение плохих кластеров.
- •Переназначение плохих кластеров.
- •Компрессия данных в фс ntfs.
- •Сжатие разрежённых файлов.
- •Сжатие обычных файлов.
- •Система шифрования данных (efs) в файловой системе ntfs .
- •Загрузка ос Windows 2000.
- •Предварительная загрузка.
- •Загрузка.
- •Загрузка ядра.
- •Инициализация ядра
- •Регистрация
- •Процесс разработки программы на ассемблере.
- •Трансляция программы
- •Компоновка программы
- •Основные регистры процессора Pentium.
- •Ассемблерные команды пересылки данных. Пример программы.
- •Работа с адресами и указателями на ассемблере. Пример программы.
- •Ассемблерные команды для работы со стеком. Пример программы.
- •Ассемблерные команды сложения и вычитания. Пример программы.
- •Ассемблерные команды умножения, деления и изменения знака. Пример программы.
- •Использование в Delphi встроенного ассемблера. Пример программы.
- •Ассемблерные команды линейного и циклического сдвига. Пример программы.
- •Ассемблерные команды условного и безусловного перехода. Состояние флагов. Пример программы.
- •Перечень команд условного перехода для команды cmp
- •Организация циклических программ на ассемблере. Пример программы.
1Определение операционной системы (ос). Назначение и основные функции ос.
Операционная система (ОС) - комплекс программ, обеспечивающих управление ресурсами вычислительной системы и процессами, использующие эти ресурсы при вычислении.
Ресурсы - любой физический или логический компонент компьютера (это процессор, память, информация, жёсткий диск). Информация – файлы, библиотеки.
Функции ОС:
Управление процессором (чередование выполнения программ)
Управление памятью (выделение программам памяти)
Управление устройствами (инициализация запросов на ввод-вывод), управление очередями, фиксация завершения обмена.
Управление программами (инициализация программ и осуществление межпрограммных связей)
Управление данными (файловые манипуляции)
Применение ОС позволяет спрятать аппаратные особенности компьютера, то есть с помощью ОС в распоряжении программиста или пользователя поступает виртуальная машина с существенно облегчёнными функциями. ОС поддерживает два интерфейса, уровень обоих существенно выше аппаратного.
Операционная система
ЭВМ
Пользовательский
Пользователь
Системное и прикладное
программное обеспечение
интерфейс
Пользовательский интерфейс – командный язык для управления функционированием компа.
Программный интерфейс – набор услуг, освобождающий программиста от кодирования рутинных операций (API - Application Program Interface). Мы будем использовать WIN32API (в kernel32.dll). Он применяется в таких языках как Visual C++, Delphi, C, Visual Basic.
Эволюция ос.
I. 1945-1955 г.г. В восемнадцатом веке английский математик Чарльз Бэббидж изобрёл компьютер (теоретически). ОС он не имел. С середины 40-х годов были изобретены первые ламповые вычислительные устройства. Занимался разработкой, программированием и использованием один коллектив. ОС не было. Были библиотеки служебных и математических программ.
II. 1955-1965 г.г. Появление полупроводниковых элементов. Выполнение практических задач. Разделение персонала на программистов, операторов и т.д. Появились алгоритмические языки, а следовательно и компиляторы. Появились системы пакетной обработки, из-за высокой стоимости процессорного времени. Формируется группа задач, а затем они выполняются на тачке. Пакет заданий тогда был на перфокартах.
III. 1965-1980 г.г. Переход от полупроводников к ИС(интегральным схемам). Появление семейства программно совместимых машин. Семейство IBM 360, ЕС ЭВМ. Возникла необходимость создания ОС. OS/360. Важнейшее достижение: мультипрограммирование, то есть попеременно выполняются несколько программ. Данная система использовала обработку как пакетную, так и с разделением времени.
IV. 1980-2002 г.г. Появление СБИС(сверхбольшая интегральная схема). Удешевление тачек. Особенность: доступ к тачке получили ламеры. ОС стали иметь дружественный интерфейс. Идёт бурное развитие сетей.
Классификация операционных систем.
Операционные системы можно классифицировать по следующим признакам:
1.Особенности алгоритмов управления ресурсами
А) Поддержка многозадачности.
Однозадачные: MS-DOS, MSX.
Многозадачные: OS/2, UNIX, Windows, OS ЕС
Б) Поддержка многопользовательского режима. Основное отличие многопользовательских состоит в наличии средств защиты информации каждого пользователя от несанкционированного доступа других пользователей.
Однопользовательские: MS-DOS
Многопользовательские: Windows NT, UNIX
В) Вытесняющая и невытесняющая многозадачность. Отличие состоит в степени централизации механизма планирования процессов. В случае вытесняющей многозадачности механизм планирования процессов сосредоточен в ОС, то есть ОС каждой выполняющейся задаче выделяет квант времени, приблизительно 20 мс. По истечении времени ОС переключается на выполнение другого процесса. В случае невытесняющей многозадачности каждый активный процесс выполняется до тех пор, пока сам не передаст управление ОС, а ОС затем сама определяет, какой процесс выполнять дальше.
Вытесняющая многозадачность: Windows NT, OS/2
Невытесняющая многозадачность: NetWare, Windows 3.x
Г) Поддержка многопоточности (thread - поток). Распараллеливание вычислений в рамках одной задачи.
Представители: OS/2, Windows, UNIX
Д) Многопроцессорная обработка. Существует асимметричная и симметричная. В случае асимметричной системы ОС целиком выполняется только на одном из процессоров системы, распределяя прикладные задачи между другими процессорами. В случае симметричной (SMP) система полностью децентрализована.
2. Особенности аппаратных платформ.
Существуют ОС для: ПК, мини-ЭВМ, мейнфреймов, кластеров и сетей ЭВМ.
3. Особенности областей использования.
А) Системы пакетной обработки. Носят вычислительный характер, не требуют быстрого полу-чения результата.
Представители: OS EC
Б) Системы разделения времени. Для работы юзеров, программистов. У каждого юзера создаётся иллюзия использования отдельной тачки.
Представители: VMS, UNIX, Windows
В) Системы реального времени. Предназначены для управления различными техническими объектами. Существует предельно допустимое время, в течение которого должна быть выполнена та или иная программа.
Представители: QNX, RT/11
4. Особенности метода построения.
Существует особенность построения ядра: монолитный или микро-ядерный подход. Обычно ОС должны работать в нулевом кольце. Это монолитный подход. В случае

3
микроядра в кольце 0 выполняется минимум функций, которые управляют
2
1
тает медленнее, так как есть переходы между кольцами, но система яв-
0
лять, удалять.
5. Построение ОС на базе объектно ориентированного подхода.
Наличие нескольких прикладных сред, то есть это возможность в рамках одной ОС использовать приложение для других ОС. Например, в Windows NT можно использовать приложения для UNIX, OS/2.
6. Распределённая организация ОС.
Реализованы механизмы воспринимать сеть, в виде традиционного компьютера с одним процессором.