- •Структурно-функціональна організація апаратного та програмного забезпечення обчислювачів.
- •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 Методи та засоби захисту від віддалених мережевих атак.
Вытесняющие и невытесняющие алгоритмы планирования
Существует два основных типа процедур планирования процессов - вытесняющие (preemptive) и невытесняющие (non-preemptive).
Non-preemptive multitasking - невытесняющая многозадачность - это способ планирования процессов, при котором активный процесс выполняется до тех пор, пока он сам, по собственной инициативе, не отдаст управление планировщику операционной системы для того, чтобы тот выбрал из очереди другой, готовый к выполнению процесс.
Preemptive multitasking - вытесняющая многозадачность - это такой способ, при котором решение о переключении процессора с выполнения одного процесса на выполнение другого процесса принимается планировщиком операционной системы, а не самой активной задачей.
Понятия preemptive и non-preemptive иногда отождествляются с понятиями приоритетных и бесприоритетных дисциплин, что совершенно неверно, а также с понятиями абсолютных и относительных приоритетов, что неверно отчасти. Вытесняющая и невытесняющая многозадачность - это более широкие понятия, чем типы приоритетности. Приоритеты задач могут как использоваться, так и не использоваться и при вытесняющих, и при невытесняющих способах планирования. Так в случае использования приоритетов дисциплина относительных приоритетов может быть отнесена к классу систем с невытесняющей многозадачностью, а дисциплина абсолютных приоритетов - к классу систем с вытесняющей многозадачностью. А бесприоритетная дисциплина планирования, основанная на выделении равных квантов времени для всех задач, относится к вытесняющим алгоритмам.
Основным различием между preemptive и non-preemptive вариантами многозадачности является степень централизации механизма планирования задач. При вытесняющей многозадачности механизм планирования задач целиком сосредоточен в операционной системе, и программист пишет свое приложение, не заботясь о том, что оно будет выполняться параллельно с другими задачами. При этом операционная система выполняет следующие функции: определяет момент снятия с выполнения активной задачи, запоминает ее контекст, выбирает из очереди готовых задач следующую и запускает ее на выполнение, загружая ее контекст.
При невытесняющей многозадачности механизм планирования распределен между системой и прикладными программами. Прикладная программа, получив управление от операционной системы, сама определяет момент завершения своей очередной итерации и передает управление ОС с помощью какого-либо системного вызова, а ОС формирует очереди задач и выбирает в соответствии с некоторым алгоритмом (например, с учетом приоритетов) следующую задачу на выполнение. Такой механизм создает проблемы как для пользователей, так и для разработчиков.
Для пользователей это означает, что управление системой теряется на произвольный период времени, который определяется приложением (а не пользователем). Если приложение тратит слишком много времени на выполнение какой-либо работы, например, на форматирование диска, пользователь не может переключиться с этой задачи на другую задачу, например, на текстовый редактор, в то время как форматирование продолжалось бы в фоновом режиме. Эта ситуация нежелательна, так как пользователи обычно не хотят долго ждать, когда машина завершит свою задачу.
Поэтому разработчики приложений для non-preemptive операционной среды, возлагая на себя функции планировщика, должны создавать приложения так, чтобы они выполняли свои задачи небольшими частями. Например, программа форматирования может отформатировать одну дорожку дискеты и вернуть управление системе. После выполнения других задач система возвратит управление программе форматирования, чтобы та отформатировала следующую дорожку. Подобный метод разделения времени между задачами работает, но он существенно затрудняет разработку программ и предъявляет повышенные требования к квалификации программиста. Программист должен обеспечить "дружественное" отношение своей программы к другим выполняемым одновременно с ней программам, достаточно часто отдавая им управление. Крайним проявлением "недружественности" приложения является его зависание, которое приводит к общему краху системы. В системах с вытесняющей многозадачностью такие ситуации, как правило, исключены, так как центральный планирующий механизм снимет зависшую задачу с выполнения.
Однако распределение функций планировщика между системой и приложениями не всегда является недостатком, а при определенных условиях может быть и преимуществом, потому что дает возможность разработчику приложений самому проектировать алгоритм планирования, наиболее подходящий для данного фиксированного набора задач. Так как разработчик сам определяет в программе момент времени отдачи управления, то при этом исключаются нерациональные прерывания программ в "неудобные" для них моменты времени. Кроме того, легко разрешаются проблемы совместного использования данных: задача во время каждой итерации использует их монопольно и уверена, что на протяжении этого периода никто другой не изменит эти данные. Существенным преимуществом non-preemptive систем является более высокая скорость переключения с задачи на задачу.
Примером эффективного использования невытесняющей многозадачности является файл-сервер NetWare, в котором, в значительной степени благодаря этому, достигнута высокая скорость выполнения файловых операций. Менее удачным оказалось использование невытесняющей многозадачности в операционной среде Windows 3.х.
Однако почти во всех современных операционных системах, ориентированных на высокопроизводительное выполнение приложений (UNIX, Windows NT, OS/2, VAX/VMS), реализована вытесняющая многозадачность. В последнее время дошла очередь и до ОС класса настольных систем, например, OS/2 Warp и Windows 95. Возможно в связи с этим вытесняющую многозадачность часто называют истинной многозадачностью.