- •Визначення трудомісткості розробки інформаційних систем і технологій.
- •Об’єктно-орієнтований аналіз.
- •Структурний підхід до розробки програмного забезпечення
- •Методи тестування програмного продукту.
- •Вимоги до документів на стадії розробки технічного завдання.
- •Статичні і динамічні структури даних.
- •Об’єктно-орієнтоване програмування.
- •Виключні ситуації у програмних продуктах
- •Архітектура та характеристики сучасних мікропор-рів.
- •Архітектура комп’ютера на базі сучасних мікропроцесорів.
- •Принципи та організація візуальних середовищ швидкої розробки програмного забезпечення.
- •Класифікація і основні властивості операційних систем.
- •Режими роботи і типи операційних систем.
- •Багатозадачне і багатопотокове програмування.
- •Об’єктно-орієнтоване візуальне програмування.
- •Розробка та програмна реалізація імітаційної моделі з використанням детермінованого алгоритму.
- •Розробка та програмна реалізація імітаційної моделі з використанням синхронного алгоритму.
- •Розробка та програмна реалізація імітаційної моделі з використанням агрегатного підходу.
- •Синтез математичної моделі за експериментальними даними.
- •Апаратні засоби комп’ютерних мереж.
- •Топології комп’ютерних мереж
- •Протокол пріоритетної передачі маркера.
- •Модель osi.
- •Взаємодія між рівнями у стеку мережевих протоколів.
- •Маршрутизація з статичними каталогами.
- •Маршрутизація з каталогами, що орієнтовані на сеанси.
- •Маршрутизація з динамічними каталогами
- •Глобальні та локальні мережі.
- •Логічна і фізична структура баз даних.
- •Організація реляційних баз даних.
- •Ідентифікація функціональних відношень.
- •Алгоритми нормалізації відношень.
- •Багатозначні залежності.
- •Створення і модифікація об’єктів баз даних.
- •Основи навігації по базах даних.
- •Сортування, фільтрація, пошук даних в базі даних.
- •Створення програмного забезпечення ведення баз даних у візуальних середовищах субд.
- •Побудова звітів в інтегрованих середовищах розробника баз даних.
- •Системний аналіз об’єктів і процесів комп’ютеризації на різних стадіях проектування інформаційних технологій.
- •Декомпозиція складних об’єктів і систем.
- •Етапи проектування програмного забезпечення комп’ютерних інформаційних систем.
- •Оптимізація застосувань типа клієнт/сервер. В основе клиент-серверной технологии лежат следующие идеи:
- •Програмні засоби обробки текстової і графічної інформації.
- •Методи обробки текстової інформації.
- •Технології розробки об’єктно-орієнтованих застосувань.
- •Методи представлення знань в експертних системах.
- •Математичні методи представлення знань. Числення предикатів.
- •48. Математичні методи представлення знань. Семантичні мережі.
- •Математичні методи представлення знань. Фрейми.
- •Етапи проектування експертних систем.
Класифікація і основні властивості операційних систем.
Существует 2 взгляда на ОС:
1) ОС, как расширенная, виртуальная машина, которая предоставляет пользователю возможность работать с системой на высоком уровне.
2) ОС, как система управления ресурсами системы. Управление ресурсами включает решение 2х задач: планирование ресурса и отслеживание состояния ресурса.
ОС можно классифицировать по таким критериям: алгоритмы управления ресурсами, особенности аппаратной платформы, области применения, принципы и методы построения и др.
По числу задач и пользователей ОС делятся на одно- и многозадачные, одно- и многопользовательские. ОС также могут иметь различную разрядность (32 или 64 бит)
ОС могут быть предназначены для разных аппаратных платформ: как для ПК, так и для мейнфреймов, встроенной и мобильной техники, кластерных систем.
Различают сетевые и несетевые ОС. Сетевые ОС делятся на две категории: одноранговые (peer-to-peer) и клиент/серверные (client-server). Одноранговые сети подразумевают наличие одинаковых возможностей у всех компьютеров участвующих в сетевом взаимодействии. Сети базирующиеся на технологии клиент/сервер используют другой подход – рабочие станции пользователей получают доступ к сетевым ресурсам предоставляемым серверами сети.
Также осуществляется классификация ОС по типу процедур планирования процессов. Существует 2 основных типа - вытесняющие (preemptive) и невытесняющие (non-preemptive). Non-preemptive multitasking – невытесняющая многозадачность - это способ планирования процессов, при котором активный процесс выполняется до тех пор, пока он сам, по собственной инициативе, не отдаст управление планировщику операционной системы для того, чтобы тот выбрал из очереди другой, готовый к выполнению процесс. Preemptive multitasking – вытесняющая многозадачность - это такой способ, при котором решение о переключении процессора с выполнения одного процесса на выполнение другого процесса принимается планировщиком операционной системы, а не самой активной задачей.
Можно выделить 3 базовые концепции построения ОС:
1) монолитная ОС – В общем случае "структура" монолитной системы представляет собой отсутствие структуры. ОС написана как набор процедур, каждая из которых может вызывать другие, когда ей это нужно. При использовании этой техники каждая процедура системы имеет хорошо определенный интерфейс в терминах параметров и результатов, и каждая вольна вызвать любую другую для выполнения некоторой нужной для нее полезной работы. Однако монолитные системы могут быть немного структурированными. Такая организация ОС предполагает следующую структуру:
1. Главная программа, которая вызывает требуемые сервисные процедуры. 2. Набор сервисных процедур, реализующих системные вызовы. 3. Набор утилит, обслуживающих сервисные процедуры.
2) многоуровневая ОС – Обобщением предыдущего подхода является организация ОС как иерархии уровней. Уровни образуются группами функций операционной системы - файловая система, управление процессами и устройствами и т.п. Каждый уровень может взаимодействовать только со своим непосредственным соседом - выше- или нижележащим уровнем. Прикладные программы или модули самой операционной системы передают запросы вверх и вниз по этим уровням. Такой структурный подход на практике работал неплохо, сегодня он все больше воспринимается монолитным. Когда стало ясно, что ОС живут долго и должны иметь возможности развития и расширения, монолитный подход стал давать трещину, и на смену ему пришла модель клиент-сервер и тесно связанная с ней концепция микроядра.
3) микроядерная ОС – означает наличие небольшого компактного ядра, которое реализует min функций по планированию, диспетчеризации задач, а также маршрутизации сообщений, и которое работает в привилегированном режиме, а все высокоуровневые функции ОС выполняются специальными системными программами-серверами, которые работают в пользовательском режиме (Windows NT, QNX). Такие ОС работают на основе клиент-серверной технологии, когда одна программа посылает сообщения другой, которая, если хочет, отвечает. Маршрутизацию сообщений осуществляет микроядро. На основе микроядерной архитектуры легко создавать динамически реконфигурируемую систему, добавляя нужные или удаляя ненужные сервисы; такие системы легко масштабируются от уровня встраиваемых систем до большой распределенной системы, работающей на множестве машин в сети.