Сам про себе

Інформаційні системи.

Проектування, розробка та впровадження різноманітних інформаційних систем.

Інформаційні системи складаються з

набору різноманітних програм які взаємодіють між собою та вирішують загальну задачу.

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

Інф.система, також, може використовувати ряд програм, що працюють у фоновому режмі. Та взаємодіють за допомогою системних механізмів синхронізації процесів.

Інтерфейс користувача

Інф.системи створюються людьми (розробниками) для людей (користувачів) тому користувачу системи надається можливість перегляду даних у зручному для людини вигляді.

Більшість систем, також надає користувачам інтерфейс для введення як оперативних даних так і даних для налаштування системи.

База даних

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

Тип БД обираю ситуативно від потреб системи.

Фонові процеси

Фонові процеси запускаються або при старті операційної системи або в ході роботи за потребою. Ці процеси працюють "невидимо" для користувача, та керуються відповідними механізмами.

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

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

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

Сучасні системи дозволяють "одночасно" працювати багатьом процесам.
Для синхронізації процесів що функціонують в єдиній інформаційній системі, OS надає такі механізми, як семафори (Semaphore), події (Event), мютекси (Mutex).
Для обміну даними можуть використовуватись роздільна пам'ять (shared memory) та тунелі (pipe)

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