Базовые алгоритмические структуры
Понятие процесса
Процесс (задача) - программа, находящаяся в режиме выполнения.
С каждым процессом связывается его адресное пространство, из которого он может читать и в которое он может писать данные.
Адресное пространство содержит:
- саму программу
- данные к программе
- стек программы
С каждым процессом связывается набор регистров, например:
- счетчика команд (в процессоре) - регистр в котором содержится адрес следующей, стоящей в очереди на выполнение команды. После того как команда выбрана из памяти, счетчик команд корректируется и указатель переходит к следующей команде.
- указатель стека
- и д.р.
Понятие потока
Каждому процессу соответствует адресное пространство и одиночный поток исполняемых команд. В многопользовательских системах, при каждом обращении к одному и тому же сервису, приходится создавать новый процесс для обслуживания клиента. Это менее выгодно, чем создать квазипараллельный поток внутри этого процесса с одним адресным пространством.
№ 20 Базы данных. Модели данных.
База данных — представленная в объективной форме совокупность самостоятельных материалов (статей, расчётов, нормативных актов, судебных решений и иных подобных материалов), систематизированных таким образом, чтобы эти материалы могли быть найдены и обработаны с помощью электронной вычислительной машины (ЭВМ) (Гражданский кодекс РФ, ст. 1260).
Существует огромное количество разновидностей баз данных, отличающихся по различным критериям. Например, в «Энциклопедии технологий баз данных»,[1] по материалам которой написан данный раздел, определяются свыше 50 видов БД.
В классической теории баз данных, модель данных есть формальная теория представления и обработки данных в системе управления базами данных (СУБД), которая включает, по меньшей мере, три аспекта:
1) аспект структуры: методы описания типов и логических структур данных в базе данных;
2) аспект манипуляции: методы манипулирования данными;
3) аспект целостности: методы описания и поддержки целостности базы данных.
№21 Назначение и классификация компьютерных сетей. Сетевые стандарты.
Компьютерная сеть (вычислительная сеть, сеть передачи данных) — система связи компьютеров и/или компьютерного оборудования (серверы, маршрутизаторы и другое оборудование). Для передачи информации могут быть использованы различные физические явления, как правило — различные виды электрических сигналов, световых сигналов или электромагнитного излучения.Содержание
Классификация
- По территориальной распространенности
PAN (Personal Area Network) — персональная сеть, предназначенная для взаимодействия различных устройств, принадлежащих одному владельцу.
LAN (Local Area Network) — локальные сети, имеющие замкнутую инфраструктуру до выхода на поставщиков услуг. Термин «LAN» может описывать и маленькую офисную сеть, и сеть уровня большого завода, занимающего несколько сотен гектаров. Зарубежные источники дают даже близкую оценку — около шести миль (10 км) в радиусе. Локальные сети являются сетями закрытого типа, доступ к ним разрешен только ограниченному кругу пользователей, для которых работа в такой сети непосредственно связана с их профессиональной деятельностью.
CAN (Campus Area Network — кампусная сеть) — объединяет локальные сети близко расположенных зданий.
MAN (Metropolitan Area Network) — городские сети между учреждениями в пределах одного или нескольких городов, связывающие много локальных вычислительных сетей.
WAN (Wide Area Network) — глобальная сеть, покрывающая большие географические регионы, включающие в себя как локальные сети, так и прочие телекоммуникационные сети и устройства. Пример WAN — сети с коммутацией пакетов (Frame relay), через которую могут «разговаривать» между собой различные компьютерные сети. Глобальные сети являются открытыми и ориентированы на обслуживание любых пользователей.
Термин «корпоративная сеть» также используется в литературе для обозначения объединения нескольких сетей, каждая из которых может быть построена на различных технических, программных и информационных принципах.
- По типу функционального взаимодействия
Клиент-сервер
Смешанная сеть
Одноранговая сеть
Многоранговые сети
- По типу сетевой топологии
Шина
Кольцо
Двойное кольцо
Звезда
Ячеистая
Решётка
Дерево
Fat Tree
- По типу среды передачи
Проводные (телефонный провод, коаксиальный кабель, витая пара, волоконно-оптический кабель)
Беспроводные (передачей информации по радиоволнам в определенном частотном диапазоне)
- По функциональному назначению
Сети хранения данных
Серверные фермы
Сети управления процессом
Сети SOHO, домовые сети
- По скорости передач
низкоскоростные (до 10 Мбит/с),
среднескоростные (до 100 Мбит/с),
высокоскоростные (свыше 100 Мбит/с);
- По сетевым операционным системам
На основе Windows
На основе UNIX
На основе NetWare
- По необходимости поддержания постоянного соединения
Пакетная сеть, например Фидонет и UUCP
Онлайновая сеть, например Интернет и GSM
В общем плане стандарт - это определенное типовое решение достаточно типовой задачи. Другими словами, чем учиться на своих ошибках, лучше использовать опыт специалистов, уже сталкивавшихся с подобными проблемами.
Функционирование локальной сети обусловлено разнообразными стандартами, в частности моделью взаимодействия открытых систем. Кроме того, на основе модели ISO/OSI создано множество стандартов, которые ориентированы на передачу данных в локальной сети с достаточными по современным меркам скоростью и безопасностью. - IEEE 802.1.
№22 Понятие алгоритма. Основные алгоритмические конструкции.
Алгоритм– это точное предписание, определяющее вычислительный процесс, ведущий от исходных данных к искомому результату.
Алгоритм обладает следующими свойствами (они следуют из определения):
1) определенность (детерминированность)– каждая команда (или предписание) понятна исполнителю (человеку или компьютеру) и исключает неоднозначность исполнения;
2) результативность– реализация вычислительного процесса, предусмотренного алгоритмом, должна через определенное число шагов привести к результату или сообщению о невозможности его получения;
3) массовость– если алгоритм разработан для решения определенной задачи, он должен быть применим для решения задач этого типа при всех допустимых значениях исходных данных;
4) дискретность– пошаговый характер процесса получения результата, состоящий в последовательном выполнении конечного числа заданных алгоритмом действий.
Различают следующие простейшие виды алгоритмов:
1) линейный, когда предписания алгоритма выполняются в той последовательности, в которой они представлены в алгоритме;
2) разветвляющийся, когда ход исполнения предписаний может меняться относительно их нахождения в алгоритме в зависимости от значений исходных или промежуточных данных;
3) циклический, когда предписания алгоритма выполняются многократно. В зависимости от характера повторений различают циклические алгоритмы с заданным и незаданным числом повторений (в этом случае такие алгоритмы называют итерационными).
Основные алгоритмические конструкции
№22 Понятие алгоритма. Основные алгоритмические конструкции.
Под алгоритмом понимают постоянное и точное предписание (указание) исполнителю совершить определенную последовательность действий, направленных на достижение указанной цели или решение поставленной задачи.
Блок – схемы. Условные обозначения
Начало - конец
Процесс
Ввод-вывод
Типовой процесс
Решение (условие)
Базовые алгоритмические структуры
Следование Ветвление Повторение (цикл)
№ 23 Языки программирования. Компиляторы и интерпретаторы.
Язык программирования — формальная знаковая система, предназначенная для записи компьютерных программ. Язык программирования определяет набор лексических, синтаксических и семантических правил, задающих внешний вид программы и действия, которые выполнит исполнитель (компьютер) под её управлением.
С помощью языка программирования создаётся не готовая программа, а только её текст, описывающий ранее разработанный алгоритм. Чтобы получить работающую программу, надо этот текст либо автоматически перевести в машинный код (для этого служат программы компиляторы) и затем использовать отдельно от исходного текста, либо сразу выполнять команды языка, указанные в тексте программы (этим занимаются программы-интерпретаторы).