- •Структура платформы .NET
- •Схема выполнения программы в .NET
- •Схема работы компиляторов .NET
- •Достоинства языка С++
- •Структура программы
- •Модификаторы памяти
- •Пространство имен
- •Константы
- •Описание идентификаторов
- •Операции С++
- •Правила преобразования типов
- •Функции
- •ПЕРЕГРУЗКА ФУНКЦИЙ
- •Неоднозначность перегрузки
- •Шаблоны функций
- •Явная спецификация типов
- •Оперативная память
- •В адресном пространстве каждого процесса содержится:
- •Виртуальная память может находиться в трех состояниях
- •Средства защиты памяти
- •Страничное преобразование
- •ПРИМЕР РАБОТЫ С УКАЗАТЕЛЯМИ
- •Еще один пример с указателями
- •Утечки памяти
- •Процесс сборки мусора
- •Сборка мусора. Поколения объектов
- •Особенности ОС Windows
- •Процесс и поток
- •Очереди сообщений
- •Структура сообщения
- •Cпособы создания интерактивных Win приложений в VS C++
- •Функция WinMain
- •Создание окна
- •Функция окна
- •Цикл обработки сообщения
- •Определение запущенной копии приложения
- •Пример приложения
- •Команды передачи данных
- •Арифметические команды:
- •Каркас программы
- •Стековый фрейм
- •Парадигмы программирования
- •Элементы объектной модели
- •Преимущества объектной модели
- •Ограничения доступа
- •Спецификатор памяти static
- •Спецификатор const
- •Указатель this
- •Дружественные функции
- •Основные свойства и правила использования спецификатора friend:
- •Наследование
- •Основные правила использования базовых и производных классов:
- •Наследование атрибутов компонентов базового класса:
- •Множественное наследование
- •Использование виртуального класса
- •Полиморфизм
- •ПРОЦЕСС
- •Структура процесса
- •Поток (thread)
- •Создание и работа с потоками
- •Создание потока
- •Завершение потока
- •Совместимость потоков и стандартной библиотеки
- •Синхронизация потоков ПРИМЕР1
- •Как можно приостановить работу потока?
- •ПРИМЕР 2
- •Объекты синхронизации
- •Мьютекс. ПРИМЕР3
- •Критические секции ПРИМЕР4
- •События. ПРИМЕР5
- •Семафоры. ПРИМЕР6
- •Структура описания технологической операции
- •Типы программ
- •Жизненный цикл программного обеспечения
- •Структура процессов ЖЦПО
- •Стратегии конструирования ПО
- •Водопадная модель ЖЦПО
- •Макетирование
- •Спиральная модель БОЭМА
- •Инкрементальная модель
- •Модель быстрой разработки приложений (RAD)
- •Схема процесса XP.
- •Эксплуатационные требования к программным продуктам
В адресном пространстве каждого процесса содержится:
образ ЕХЕ-файла программы;
всенесистемныеDLL, загруженные вашей программой;
глобальныеданныепрограммы (какдоступныедля чтенияи записи, таки предназначенныетолькодлячтения);
стекпрограммы;
динамическивыделяемая память, в томчислекуча Windows и куча
библиотеки С периода выполнения ( CRT);
блоки памяти,совместноиспользуемыенесколькимипроцессами;
локальнаяпамятьотдельныхвыполняемыхпотоков;
всевозможныеособыесистемныеблоки памяти,в томчислетаблицы виртуальной памяти;
ядро, исполнительнаясистемаи DLL-компоненты Windows.
Виртуальное пространство FLAT - модели
4 Гбайт |
Системнаяобласть |
0xFFFFFFFF |
3 Гбайт |
Областьсовместного |
0xC0000000 |
|
использования |
|
|
|
0x80000000 |
2 Гбайт |
DLL-пользователя |
|
|
Стек |
|
|
Куча |
0x00010000 |
|
EXE -файл |
|
|
|
|
4 Мбайт |
Запрещено |
|
Виртуальная память может находиться в трех состояниях
Свободная. Ссылки на блок памяти отсутствуют, и ондоступендлявыделения.
Зарезервировано. Блок памяти доступен для использования разработчиком и не может использоваться для какого-либо другого запроса на выделение. Однако сохранение данных в этот блок памятиневозможно, покаоннебудетвыделен.
Выделена. Блок памяти назначен физическому хранилищу.
Виртуальное адресное пространство может стать фрагментированным.
Средства защиты памяти
Объектно-ориентированная защита памяти. Каждый раз,
когда процесс открывает указатель на блок адресов, монитор ссылок безопасности проверяет, разрешен ли доступ процесса к данномуобъекту.
Отдельное адресное пространство для каждого процесса.
Аппаратура запрещает процессу доступ к физическим адресам другогопроцесса.
Два режима работы: режим ядра, в котором процессам разрешен доступ к системным данным, и пользовательский режим, в которомэтозапрещен.
Страничный механизм защиты. Каждая виртуальная страница имеет набор признаков, который определяет разрешенные типы доступав пользовательскомрежимеиврежимеядра.
Принудительнаяочисткастраниц, освобождаемыхпроцессами.
Страничное преобразование
Элемент таблицы страниц (Page Table Element)