Сам о себе

Информационные системи.

Проектирование, разработка и внедрение различных информационных систем.

Информационные системы состоят из

набора различных программ, которые взаимодействуют между собой и решают общую задачу.

Обычно информационная система состоит из базы данных, и программ отображения данных. с интерфейсом пользователя.

Инф.система, так-же может использовать ряд программ, которые работают в фоновом режме, и взаимодействуют используя системные механизмы синхронизации процессов.

Интерфейс пользователя

Инф.системы создаются людьми (разработчиками) для людей (пользователей), поэтому пользователю системы предоставляется возможность видеть данные в удобном виде.

Также, пользователям систем предоставляется интерфейс для ввода как оперативных данных, так и данных для настройки системы.

База данных

Используются файловые БД или системы управления базами данных (СУБД).
Принцип работы с БД делятся на реляционные и иерархические.

Тип БД выбираю ситуативно, в зависимости от потребностей системы.

Фоновые процессы

Фоновые процессы запускаются либо при старте системы либо в ходе работы по необходимости. Эти процессы работают "невидимо" для пользователя, и управляются соответствующими механизмами.

В своей практике я создавал фоновые процессы для разных ОС. В MS DOS они називались "резидентные программи", в Unix подобних системах - "демони", в Windows - "служби".

Основной процесс может, также запустить паралельный дочерний процес или поток.

Синхронизация процессов

Современные ОС позволяют "одновременно" работать многим процессам.
Для синхронизации процессов, которые функционируют в единой информационной системе, OS предоставляет такие механизмы, как семафори (Semaphore), события (Event), мютекси (Mutex).
Для обмена данними могут использоваться распределённая память (shared memory) и тунели (pipe)

Потоком можно управлять с помощью критических секций, или глобальных переменных родитедьского процесса, которые обрабатываются специфичной логикой программы.