
- •Структурно-функціональна організація апаратного та програмного забезпечення обчислювачів.
- •1.4 Структура аом
- •1.5 Структура гом
- •Системи машинних команд процесорів, формати даних і способи кодування команд і даних.
- •Способи організації доступу до даних та методи адресування команд і даних.
- •1.4 Організація підсистеми пам’яті комп’ютера.
- •1.5 Способи організації взаємодії апаратного забезпечення із системним програмним забезпеченням.
- •1.6 Взаємодія комп’ютера із зовнішніми пристроями.
- •Елементна база комп’ютерів.
- •2.2 Архітектура мп 80486, Pentium, мп adsp.
- •Базовая архитектура процессоров adsp-21xx
- •2.3 Архітектура процесора 80с51.
- •2.4 Risc-процесори ті їх архітектура.
- •2.5 Адресний простір. Способи адресації операндів.
- •2.6 Оперативна пам’ять: архітектура та принципи управління.
- •2.7 Система переривань та їх характеристики.
- •2.8 Динамічний розподіл пам’яті. Організація віртуальної пам’яті.
- •3.1 Склад системного програмного забезпечення.
- •3.2 Класифікація операційних систем.
- •Особенности алгоритмов управления ресурсами
- •Особенности аппаратных платформ
- •Особенности областей использования
- •Особенности методов построения
- •3.3 Різновиди мультизадачності в операційних системах.
- •3.4 Процеси та потоки в операційних системах.
- •Реальний та захищений режими адресації.
- •Особенности процессора 80286
- •Особенности процессоров 80386 — 80486
- •Страничная организация памяти
- •Описание
- •Использование
- •Структура адресного пространства ibm pc в реальном режиме Основная область памяти
- •Дополнительная область памяти
- •3.6 Оперативна пам’ять в мультизадачному режимі.
- •Алгоритми заміщення сегментів та сторінок у віртуальній пам’яті.
- •Структура жорсткого диску.
- •Vfat и длинные имена файлов
- •Файлова система hpfs.
- •Файлова система ntfs.
- •Керування процесами у операційних системах, їх стани та переходи. Управление процессами
- •Состояние процессов
- •Контекст и дескриптор процесса
- •Алгоритмы планирования процессов
- •Вытесняющие и невытесняющие алгоритмы планирования
- •3.11 Основні режими введення-виведення.
- •3.12 Оптимізація роботи з жорстким диском.
- •4.1 Структура системних областей пам’яті (ms-dos).
- •4.2 Програмування дискової підсистеми комп’ютера (mbr, Partition Table, fat12/16/32).
- •4.3 Програмування відеосистеми комп’ютера (cga, ega, vga).
- •4.4 Особливості програмування текстового та графічного режимів відеоадаптера.
- •4.5 Робота з маніпулятором миші (ms-dos, ms-Windows).
- •4.6 Обробка переривань.
- •4.1. Таблица векторов прерываний
- •4.2. Маскирование прерываний
- •4.4. Особенности обработки аппаратных прерываний
- •4.8 Ініціалізація dll-бібліотек, динамічний експорт та імпорт функцій у середовищі Microsoft Windows. Бібліотеки динамічної компоновки. Ініціалізація dll.
- •2.23.1. Статическая и динамическая компоновка
- •Експорт та імпорт функцій при використанні dll-бібліотек.
- •5.1 Системні та локальні шини, основні характеристики.
- •5.2 Шини з комутацією ланцюгів та комутацією пакетів. Розщеплення транзакцій.
- •5.3 Шини Firewire (ieee 1394), pci, pci-e, основні характеристики.
- •Особенности ieee - 1394
- •Шини pci основні характеристики.
- •ШиниPci-е, основні характеристики.
- •5.4 Стандарт ieee 1284 – 1994, фізичний та електричний інтерфейси.
- •5.6 Характеристики сучасних жорстких дисків.
- •5.7 Інтерфейси жорстких дисків в ibm pc, їх особливості.
- •5.8 Характеристики сучасних принтерів, сканерів.
- •5.9 Структура та принцип роботи сучасних модемів.
- •5.10 Основні характеристики джерел безперервного живлення.
- •6.1 Архітектура і стандартизація комп’ютерних мереж.
- •6.2 Лінії зв’язку: класифікація, характеристики, типи кабелів.
- •6.3 Методи кодування даних у комп’ютерних мережах.
- •6.4 Технології канального рівня tcp/ip та їх специфікації. Стек протоколов tcp/ip История и перспективы стека tcp/ip
- •Структура стека tcp/ip. Краткая характеристика протоколов
- •6.5 Мережеве обладнання: класифікація, функції.
- •Параметры сетевого адаптера
- •Функции и характеристики сетевых адаптеров
- •Классификация сетевых адаптеров
- •6.6 Протоколи локальних мереж: tcp, udp, iPv4, iPv6 та ін.
- •36. Протоколи транспортного рівня tcp и udp (загальна характеристика, порти)
- •37. Протокол транспортного рівня udp
- •Адресация iPv4
- •Синтаксис адреса iPv4
- •Типы адресов iPv4
- •Индивидуальные адреса iPv4
- •Групповые адреса iPv4
- •Широковещательные адреса iPv4
- •История создания
- •Исчерпание iPv4 адресов в 2011 году
- •Тестирование протокола
- •Внедрение протокола
- •Сравнение с iPv4
- •Автоконфигурация
- •Метки потоков
- •Механизмы безопасности
- •Основы адресации iPv6
- •Типы Unicast адресов
- •Формат пакета
- •Нотация
- •Зарезервированные адреса iPv6
- •6.7 Адресація в комп’ютерних мережах.
- •Ip адресация, классы ip адресов и значение маски подсети
- •Для чего нужны ip адреса?
- •Структура ip адреса
- •Разделение ip адреса на сетевую и узловую части
- •Классы ip адресов и маски подсети по умолчанию
- •Классовая и бесклассовая адресация
- •Назначение маски подсети
- •Публичные и частные ip-адреса
- •Адреса одноадресных, широковещательных и многоадресных рассылок
- •Одноадресная рассылка
- •Широковещательная рассылка
- •Многоадресная рассылка
- •Сравнение протоколов ip версии 4 (iPv4) и ip версии 6 (iPv6)
- •6.8 Об’єктивні характеристики комп’ютерних мереж.
- •6.9 Схема ip-маршрутизації.
- •6.10 Фрагментація ip-пакетів. Фрагментация ip-пакетов
- •6.11 Служби dns та dhcp.
- •Ключевые характеристики dns
- •Дополнительные возможности
- •Терминология и принципы работы
- •Рекурсия
- •Обратный dns-запрос
- •Записи dns
- •6.12 Протоколи маршрутизації. Протоколы маршрутизации
- •Віртуальні приватні мережі.
- •Уровни реализации
- •Структура vpn
- •Классификация vpn
- •По степени защищенности используемой среды
- •По способу реализации
- •По назначению
- •По типу протокола
- •По уровню сетевого протокола
- •6.14 Засоби забезпечення надійності функціонування та захисту комп’ютерних мереж.
- •7.1 Основи мови програмування Java.
- •7.2 Проміжне програмне забезпечення розподілених комп’ютерних систем. Архітектура rpc (Remote Procedure Calls).
- •7.3 Технологія rmi (Remote Method Invocation).
- •24. Java rmi Достоинства и недостатки Java rmi
- •7.4 Технологія corba .
- •7.5 Сервлет-технологія Java.
- •7.6 Сторінки jsp. Теги та вбудовані об’єкти jsp.
- •26. Теги и встроенные объекты jsp:
- •7.7 Технологія jms. Моделі jms-повідомлень.
- •Введение
- •Архитектура jms
- •Первое знакомство
- •Модель сообщений jms
- •Поля заголовка
- •Свойства (properties) сообщений
- •Уведомления сообщений
- •Интерфейс Message
- •Выборка сообщений
- •Доступ к отправленным сообщениям
- •Изменение полученного сообщения
- •Тело сообщения
- •7.8 Основи мови xml.
- •7.9 Протокол soap. Структура soap – документа.
- •1.4. Операторы
- •1.4.1. Оператор выражение
- •1.4.2. Пустой оператор
- •1.4.3. Составной оператор
- •1.4.4. Оператор if
- •1.4.5. Оператор switch
- •1.4.6. Оператор break
- •1.4.7. Оператор for
- •1.4.8. Оператор while
- •1.4.9. Оператор do while
- •1.4.10. Оператор continue
- •1.4.11. Оператор return
- •1.4.12. Оператор goto
- •8.2 Одновимірні та багатовимірні масиви. Покажчики. Масиви динамічної пам’яті.
- •8.3 Структури, об’єднання, бітові поля структур та об’єднань.
- •Объявление битовых полей
- •Доступ к элементам структур с битовыми полями
- •Размещение битовых полей в памяти
- •Призначення функції. Опис, визначення, виклик функції. Передача даних за значенням та за покажчиком.
- •Функції з параметрами, що замовчуються, зі зміними параметрами
- •8.5 Перевантаження функцій. Шаблони функцій. Покажчики на функції. Перевантажені функції, шаблони функцій.
- •8.6 Функції роботи з файлами. Введення/виведення даних різного типу у файл/з файлу.
- •Int fprintf(file *fp, char *format [,аргумент]…);
- •Int fscanf(file *fp, char *format [,указатель]…);
- •Визначення класу. Конструктор, перевантажені конструктори, деструктор.
- •8.8 Статичні члени класу. Дружні функції класу. Перевантаження операцій.
- •18 Ооп. Поняття дружніх функціїй. Різниця між дружньою функцією - членом класу та не членом класу.
- •19 Ооп. Поняття перевантаження операцій. Правила її використання.
- •8.9 Успадкування класів. Множинне успадкування.
- •9.1 Векторні, паралельні, конвеєрні системи.
- •9.2 Основні характеристики паралельних алгоритмів: ступінь паралелізму, прискорення, ефективність. Закон Амдала.
- •Математическое выражение
- •Иллюстрация
- •Идейное значение
- •9.3 Метод логарифмічного здвоєння та рекурсивного подвоєння.
- •9.4 Методи паралельного множення матриць. §34. Алгоритм умножения матриц
- •9.5 Стандарт mpi, основні функції для організації паралельних програм: ініціалізації та завершення паралельної програми, визначення рангу процесу, визначення загального числа процесів.
- •9.6 Функції двохточкового обміну.
- •9.7 Функції колективного обміну: розподілення, широкомовної розсилки, збору, зведення, сканування.
- •10.1 Архітектура субд. Функції субд.
- •2.1. Основные функции субд
- •2.1.1. Непосредственное управление данными во внешней памяти
- •2.1.2. Управление буферами оперативной памяти
- •2.1.3. Управление транзакциями
- •2.1.4. Журнализация
- •2.1.5. Поддержка языков бд
- •10.2 Реляційна модель та її характеристики.
- •10.3 Потенційні, первинні та зовнішні ключі.
- •10.4 Цілісність реляційних даних. Целостность реляционных данных
- •10.5 Операції реляційної алгебри.
- •10.6 Основні поняття sql: прості запити, склеювання таблиць; умови відбору рядків таблиць; агрегатні функції, запити з групуванням, складні запити. Sql. Простые запросы
- •Агрегатные функции, группировка данных
- •Запрос с группировкой
- •Пояснения
- •Сложные запросы
- •Объединение таблиц
- •Имена таблиц и столбцов
- •Создание обьединения
- •Объединение таблиц через справочную целостность
- •Объединения таблиц по равенству значений в столбцах и другие виды объединений
- •Объединение более двух таблиц
- •Объединение таблицы с собой псевдонимы
- •10.7 Інфологічна, логічна або концептуальна модель даних. Основные этапы проектирования баз данных Концептуальное (инфологическое) проектирование
- •Логическое (даталогическое) проектирование
- •Физическое проектирование
- •10.8 Функціональні залежності. 1, 2 та 3 нормальні форми відношень.
- •8 Нормалізація відношень. 1 та 2 нормальні форми.
- •9 Нормалізація відношень. 3 нормальна форма та нормальна форма Бойса-Кодда. Навести приклади
- •Нормальные формы er-диаграмм
- •Первая нормальная форма er-диаграммы
- •Вторая нормальная форма er-диаграммы
- •Третья нормальная форма er-диаграммы
- •Семантическая модель Entity-Relationship (Сущность-Связь)
- •Основные понятия er-модели
- •Уникальные идентификаторы типов сущности
- •Нормальные формы er-диаграмм
- •Первая нормальная форма er-диаграммы
- •Вторая нормальная форма er-диаграммы
- •Третья нормальная форма er-диаграммы
- •10.9 Багатозначні залежності та залежності з’єднання. 4 та 5 нормальні форми відношень.
- •9.3. Зависимости проекции/соединения и пятая нормальная форма
- •9.3.2. Зависимость проекции/соединения
- •9.3.3. Аномалии, вызываемые наличием зависимости проекции/соединения
- •9.3.4. Устранение аномалий обновления в 3-декомпозиции
- •2.5.5. Пятая нормальная форма
- •4.5. Нормальные формы
- •10.10 Проектування бд методом сутність-зв’язок. Er-діаграми. Моделирование методом "сущность-связь" Основные понятия модели "сущность-связь"
- •Графическая нотация модели: диаграммы "сущность-связь"
- •Нормализация модели "сущность-связь"
- •11.1 Властивості інформації. Класифікація загроз інформації.
- •11.2 Рівні захисту інформації в комп’ютерних мережах.
- •11.3 Законодавчий рівень захисту інформації.
- •11.4 Криптографічний захист інформації.
- •11.5 Стандарти симетричного шифрування даних.
- •11.6 Системи ідентифікації та аутентифікації користувачів.
- •11.7 Парольна система. Вимоги до паролів.
- •11.8 Методи та засоби захисту від віддалених мережевих атак.
Алгоритми заміщення сегментів та сторінок у віртуальній пам’яті.
Сегментна організація пам’яті.
Сегментация
- Программа и данные разделяются на ряд сегментов. Существует максимальный размер сегмента, но каждый из сегментов может быть произвольного размера;
- логический адрес состоит из двух частей – номера сегмента и смещения;
- сегментация устраняет внутреннюю фрагментацию, но, страдает от внешней фрагментации, но ее степень снижается за счет разбиения процесса на небольшие части;
- страничная организация невидима для программиста, сегментация, как правило, види-ма и используется при размещении данных кода и данных в разных сегментах.
Виртуальная память - это совокупность программно-аппаратных средств, позволяющих пользователям писать программы, размер которых превосходит имеющуюся оперативную память; для этого виртуальная память решает следующие задачи:
- размещает данные в запоминающих устройствах разного типа, например, часть программы в оперативной памяти, а часть на диске;
- перемещает по мере необходимости данные между запоминающими устройствами разного типа, напр., подгружает нужную часть программы с диска в ОП;
- преобразует виртуальные адреса в физические.
Эти действия выполняются автоматически, без участия программиста, т. е. механизм виртуальной памяти является прозрачным по отношению к пользователю.
Наиболее распространенными реализациями виртуальной памяти является страничное, сегментное и странично-сегментное распределение памяти, а также свопинг.
При страничной организации виртуальное адресное пространство процесса делится механически на равные части. Это не позволяет дифференцировать способы доступа к разным частям программы (сегментам), а это свойство часто бывает очень полезным. Например, можно запретить обращаться с операциями записи и чтения в кодовый сегмент программы, а для сегмента данных разрешить только чтение. Кроме того, разбиение программы на "осмысленные" части делает принципиально возможным разделение одного сегмента несколькими процессами. Напр., если 2 процесса используют одну и ту же математическую подпрограмму, то в ОП может быть загружена только одна копия этой подпрограммы.
Как сегментное распределение памяти реализует эти возможности (рис.1). Виртуальное адресное пространство процесса делится на сегменты, размер которых определяется программистом с учетом смыслового значения содержащейся в них информации. Отдельный сегмент может представлять собой подпрограмму, массив данных и т.п. Иногда сегментация программы выполняется по умолчанию компилятором.
При загрузке процесса часть сегментов помещается в ОП (при этом для каждого сегмента ОС подыскивает подходящий участок свободной памяти), а часть сегментов размещается в дисковой памяти. Сегменты одной программы могут занимать в ОП несмежные участки. Во время загрузки система создает табл. сегментов процесса (аналогичную табл. страниц), в которой для каждого сегмента указывается начальный физический адрес сегмента в ОП, размер сегмента, правила доступа, признак модификации, признак обращения к данному сегменту за последний интервал времени и некоторая другая информация. Если виртуальные адресные пространства нескольких процессов включают один и тот же сегмент, то в табл. сегментов этих процессов делаются ссылки на один и тот же участок ОП, в который данный сегмент загружается в единственном экземпляре.
Система с сегментной организацией функционирует аналогично системе со страничной организацией: время от времени происходят прерывания, связанные с отсутствием нужных сегментов в памяти, при необходимости освобождения памяти некоторые сегменты выгружаются, при каждом обращении к ОП выполняется преобразование виртуального адреса в физический. При обращении к памяти проверяется, разрешен ли доступ требуемого типа к данному сегменту.
Рис. 1. Распределение памяти сегментами
Виртуальный адрес при сегментной организации памяти может быть представлен парой (g, s), где g - номер сегмента, а s - смещение в сегменте. Физический адрес получается путем сложения начального физического адреса сегмента, найденного в таблице сегментов по номеру g, и смещения s.
Недостатком данного метода распределения памяти является фрагментация на уровне сегментов и более медленное по сравнению со страничной организацией преобразование адреса.
Сторінкова організація пам’яті.
память разделена на одинаковые блоки небольшого фиксированного размера (кадры-frames); каждый процесс разделен на блоки такого же размера (страницы-pages) (рис. 1)
Рис. 1. Распределение страниц по свободным кадрам
- для каждого процесса ОС поддерживает таблицу страниц (рис. 2)
- содержит расположение кадров каждой страницы процесса;
- внутри программы логический адрес состоит из двух частей – № страницы и смещения внутри нее
- внешняя фрагментация отсутствует, а потери из-за внутренней фрагментации – ограничены частью последней страницы процесса.
Рис. 2. Таблицы страниц, соответствующие примеру рис. 8, е
Виртуальная память - это совокупность программно-аппаратных средств, позволяющих пользователям писать программы, размер которых превосходит имеющуюся ОП; для этого виртуальная память решает следующие задачи:
- размещает данные в запоминающих устройствах разного типа, напр., часть про-граммы в ОП, а часть на диске;
- перемещает по мере необходимости данные между запоминающими устройствами разного типа, напр., подгружает нужную часть программы с диска в ОП;
- преобразует виртуальные адреса в физические.
Все эти действия выполняются автоматически, без участия программиста, т.е. ме-ханизм виртуальной памяти является прозрачным по отношению к пользователю.
Наиболее распространенными реализациями виртуальной памяти является страничное, сегментное и странично-сегментное распределение памяти и свопинг.
При страничном распределении памяти виртуальное адресное пространство каж-дого процесса делится на части одинакового, фиксированного для данной системы раз-мера, называемые виртуальными страницами. В общем случае размер виртуального адресного пространства не является кратным размеру страницы, поэтому последняя страница каждого процесса дополняется фиктивной областью.
Вся ОП машины также делится на части такого же размера, называемые физичес-кими страницами (или блоками). Размер страницы выбирается равным степени двойки: 512, 1024 и т.д., это позволяет упростить механизм преобразования адресов.
При загрузке процесса часть его виртуальных страниц помещается в ОП, а осталь-ные - на диск. Смежные виртуальные страницы не обязательно располагаются в смеж-ных физических страницах. При загрузке ОС создает для каждого процесса информа-ционную структуру - таблицу страниц. В ней устанавливается соответствие между №-ми виртуальных и физических страниц для страниц, загруженных в оперативную память, или делается отметка о том, что виртуальная страница выгружена на диск. Кроме того, в таблице страниц содержится управляющая информация, такая как признак модифи-кации страницы, признак невыгружаемости (выгрузка некоторых страниц может быть запрещена), признак обращения к странице (используется для подсчета числа обраще-ний за определенный период времени) и другие данные, формируемые и используе-мые механизмом виртуальной памяти.
При активизации очередного процесса в специальный регистр процессора загружает-ся адрес таблицы страниц данного процесса. При каждом обращении к памяти происхо-дит чтение из таблицы страниц информации о виртуальной странице, к которой произо-шло обращение. Если данная виртуальная страница находится в ОП, то выполняется преобразование виртуального адреса в физический. Если же нужная виртуальная стра-ница в данный момент выгружена на диск, то происходит так называемое страничное прерывание. Выполняющийся процесс переводится в состояние ожидания, и активизи-руется другой процесс из очереди готовых. Параллельно программа обработки страни-чного прерывания находит на диске требуемую виртуальную страницу и пытается за-грузить ее в ОП. Если в памяти имеется свободная физическая страница, то загрузка выполняется немедленно, если же свободных страниц нет, то решается вопрос, какую страницу следует выгрузить из ОП.
Может быть использовано много разных критериев выбора:
- дольше всего не использовавшаяся страница,
- первая попавшаяся страница,
- страница, к которой в последнее время было меньше всего обращений.
В некоторых системах используется понятие рабочего множества страниц. Оно опреде-ляется для каждого процесса и представляет собой перечень наиболее часто исполь-зуемых страниц, которые должны постоянно находиться в ОП и не подлежат выгрузке.
После выбора страниці, которая должна покинуть ОП, анализируется ее признак мо-дификации (из табл. страниц). Если выталкиваемая страница с момента загрузки была модифицирована, то ее новая версия должна быть переписана на диск. Если нет, она может быть просто уничтожена, т. е. соответствующая физическая страница объявля-ется свободной.
Механизм преобразования виртуального адреса в физический при страничной орга-низации памяти (рис.3).Виртуальный адрес при страничном распределении может быть представлен в виде пары (p, s), где p - № виртуальной страницы процесса (нумерация страниц начинается с 0), а s - смещение в пределах виртуальной страницы. Учитывая, что размер страницы равен 2 в степени к, смещение s может быть получено простым отделением k младших разрядов в двоичной записи виртуального адреса. Оставшиеся старшие разряды представляют собой двоичную запись номера страницы p.
При каждом обращении к ОП аппаратными средствами выполняется следующее:
- на основании начального адреса табл. страниц (содержимое регистра адреса табл. страниц), № виртуальной страницы (старшие разряды виртуального адреса) и длины записи в табл. страниц (системная константа) определяется адрес нужной записи в таблице, 1) из этой записи извлекается № физической страницы, 2) к № физической страницы присоединяется смещение (младшие разряды виртуального адреса).
Использование факта, что размер страницы равен степени 2, позволяет применить операцию присоединения вместо более длительной операции сложения, что уменьша-ет время получения физического адреса и повышает производительность компьютера.
На производительность системы со страничной организацией памяти влияют времен-ные затраты на обработку страничных прерываний и преобразование виртуального ад-реса в физический. При частых страничных прерываниях система может тратить боль-шую часть времени на свопинг страниц. Для уменьшения частоты страничных прерыва-ний, нужно увеличивать размер страницы. Увеличение размера страницы уменьшает размер таблицы страниц и уменьшает затраты памяти. С другой стороны, если страни-ца велика, значит велика и фиктивная область в последней виртуальной странице каж-дой программы. В среднем на каждой программе теряется половина объема страницы, что в сумме при большой странице может составить существенную величину. Время преобразования виртуального адреса в физический в значительной степени определя-ется временем доступа к таблице страниц. В связи с этим табл. страниц стремятся раз-мещать в "быстрых" запоминающих уст-вах. Это может быть, напр., набор специальных регистров или память, использующая для уменьшения времени доступа ассоциативный поиск и кэширование данных.
Страничное распределение памяти в упрощенном варианте - без выгрузки страниц на диск. В этом случае все виртуальные страницы всех процессов постоянно находятся в ОП. Такой вариант страничной организации хотя и не предоставляет пользователю виртуальной памяти, но почти исключает фрагментацию за счет того, что программа может загружаться в несмежные области, а также того, что при загрузке виртуальных страниц никогда не образуется остатков.
Рис. 3. Механизм преобразования виртуального адреса в физический при страничной организации памяти