You are on page 1of 86

Програмне забезпечення

обчислювальних систем
Лекція 1
Історія розвитку, сфери
застосування, сучасний стан
комп’ютерних систем

доц. Лавренюк А.М.


Історія розвитку комп’ютерів

 Аналітична машина Беббіджа


Перша половина ХІХ ст. англійський математик Чарльз
Беббідж спробував побудувати універсальний обчислювальний
пристрій, тобто комп’ютер, який містив би пам’ять та
керувався з допомогою програм.
Роботу Беббідж не реалізував, вона виявилася занадто
складною для техніки того часу.

 Перші комп’ютери
40-і роки ХХ ст. – комп’ютери на основі електромеханічних
реле.
Історія розвитку комп’ютерів
 Комп'ютери на основі електронних
ламп
Розробки велись, починаючи з 1943 р.

 Комп'ютери зі збереженою в пам'яті


програмою
У 1945 р. до роботи був залучений знаменитий математик Джон фон
Нейман. Сформулював загальні принципи побудови та функціонування
комп'ютерів.

Перший комп'ютер, у якому були втілені принципи фон Неймана, був


побудований у 1949 р. англійськими розробниками.

1950 р. – 1-й в континентальній Європі комп’ютер розробили у Києві.


Історія розвитку комп’ютерів
 Розвиток елементної бази комп'ютерів
1948 р. винайдені транзистори — мініатюрні і недорогі електронні
прилади, що змогли замінити електронні лампи.

Перші комп'ютери на основі транзисторів з'явилися наприкінці 50-х


років.
1959 р. Роберт Нойс (майбутній засновник фірми Intel) винайшов
спосіб, що дозволяє створювати на одній пластині кремнію
транзистори і всі необхідні з'єднання між ними. Отримані
електронні схеми стали називатися інтегральними схемами або
чіпами.
У 1968 р. випущено перший комп'ютер на інтегральних схемах.
Історія розвитку комп’ютерів
 Мікропроцесори
1970 р. на фірмі Intel сконструйовано інтегральну схему, аналогічну
за своїми функціями центральному процесорові великого
комп'ютера (мікропроцесор Intel-4004).

У 1973 р. фірма Intel випустила 8-бітовий мікропроцесор Intel-8008.

 Поява персональних комп'ютерів


1974 р. кілька фірм оголосили про створення на основі мікропроцесора Intel
—8008 персонального комп'ютера, тобто пристрою, який виконує ті ж
функції, що й великий комп'ютер, але розрахованого на одного користувача.

1975 р. Пол Аллен і Білл Гейтс (майбутні засновники фірми Microsoft)


створили інтерпретатор мови Basic.
Історія розвитку комп’ютерів

IBM PC
У 1981 р. компанія IBM створила персональний комп'ютер
IBM PC на основі 16-розрядного мікропроцесора Intel-8088 за
принципом відкритої архітектури (IBM зібрала комп'ютер з
незалежно виготовлених частин і не стала тримати
специфікації цих частин і способи їхнього з'єднання в секреті.
Навпаки, принципи конструкції IBM PC були доступні всім
бажаючим).
Cучасний стан комп’ютерних
систем
Суперкомп’ютери
Обчислювальний комплекс СКІТ
Інституту кібернетики НАН України
СКІТ – 3
127-вузловий кластер на багатоядерних
процесорах (75 вузлів на двохядерних
процесорах Intel Xeon 5160 и 52 вузла на
чотирьохядерних процесорах Xeon 5345)
СКІТ – 4
28-вузловий кластер на багатоядерних
процесорах Intel Xeon E5-2600
Має як класичні вузли з центральними
процесорами, так і гібридні вузли з
графічними прискорювачами. Кожен вузол
має 16 ядер, 128 ГБ оперативної пам’яті.
Cучасний стан комп’ютерних
систем
Суперкомп’ютери
Кластер Центру суперкомп’ютерних обчислень
НТУУ «КПІ»
Система 1, вузли:
44 з двома чотирьохядерними процесорами Intel Xeon E5440 та
8 Гб оперативної пам’яті у кожному

68 з двома двохядерними процесорами Intel Xeon 5160 та 4 Гб


оперативної пам’яті у кожному

Система 2, вузли:
16 з двома чотирьохядерними процесорами Intel Xeon E5345
та 8 Гб оперативної пам’яті у кожному
Cучасний стан комп’ютерних
систем
Суперкомп’ютер IBM Watson
Комп’ютер IBM Watson, оснащений
системою штучного інтелекту
створив трейлер до фільму
«Морган».
Проаналізувавши сотні трейлерів
фільмів жахів, запропонував 10
кращих моментів з фільму
«Морган» кінокомпанії 20th
Century Fox.

Комп’ютер IBM Watson складається з 90 серверів IBM p750, кожний з


яких оснащений чотирма восьмиядерними процесорами
архітектури POWER7.
Сумарний об’єм оперативної пам'яті більше 15 терабайт.
Cучасний стан комп’ютерних
систем
Суперкомп’ютери
Суперкомп'ютер Summit (США)
Розроблений IBM, 8 червня 2018 року став найпотужнішим
суперкомп'ютером у світі.
Складається із 4 608 серверів, які займають площу, еквівалентну площі
двох тенісних кортів.
До складу цих серверів входять 9 тисяч 22-ядерних процесорів
IBM POWER9 і більше 27 тисяч графічних процесорів NVIDIA
Tesla V100.

Кожен вузол має понад 500 Гб когерентної пам'яті (пам'ять з великою


пропускною здатністю), яка може використовуватись усіма
процесорами та графічними процесорами, а також 800 Гб
енергонезалежної ОЗП, які можуть використовуватися як буфер або як
розширення пам'яті.
Cучасний стан комп’ютерних
систем
Суперкомп’ютери
Суперкомп'ютер Fugaku (Японія)
В червні 2020 року випередив Summit та став першим
номером в переліку ТОП500.

Fugaku використовує 158 976 процесорів A64FX.


Cучасний стан комп’ютерних
систем
Розподіл суперкомп'ютерів зі списку Top500 по країнах світу (червень 2021
року)

Станом на 2002 рік у переліку ТОП500 не було жодного суперкомп'ютера з Китаю


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

GRID-мережі (англ. Grid computing) — нова модель обчислень,


яка пропонує можливості виконувати складніші обчислення
шляхом використання багатьох комп'ютерів під'єднаних до
мережі, які моделюють архітектуру віртуального комп'ютера,
здатного розподіляти задачі виконання процеса в паралельній
інфраструктурі.
Cучасний стан комп’ютерних
систем
Задача Програма для
Схема обраховується обчислень
на процесорах зберігається на
роботи в точках В і С файл-сервері в
D точці D
GRID
E
В
`
Дані беруться з
А бази даних, яка
С розміщена в
Користувач точці Е
запускає
задачу,
знаходячись
Така розподілена схема
в точці А
роботи формується
спеціальним програмним
забезпеченням
-middleware,
що надає багато додаткових
служб та сервісів
Cучасний стан комп’ютерних
систем
Хмарні обчислення (Cloud Computing) — це модель
забезпечення повсюдного та зручного доступу на вимогу
через мережу до спільного пулу обчислювальних
ресурсів, що підлягають налаштуванню, і які можуть бути
оперативно надані та звільнені з мінімальними
управлінськими затратами та зверненнями до
провайдера
"Хмара" відкриває новий підхід до обчислень, при якому ні
обладнання, ні програмне забезпечення не належать
підприємству. Замість цього провайдер надає замовнику вже
готовий сервіс.
Одним з перших широкодоступних хмарних інтернет-сервісів
стала електронна пошта з Web-інтерфейсом. У цьому
випадку всі дані зберігаються на віддалених серверах, а
користувач отримує доступ до своїх листів через браузер з
будь-якого комп'ютера або мобільного пристрою.
Основні типи комп'ютерів

 Суперкомп’ютери
Дуже великі комп’ютери з тисячами з’єднаних
мікропроцесорів, які можуть виконувати надскладні
обчислення. Основні споживачі суперкомп’ютерів — вчені,
військові, метеорологи, геологи тощо.

 Персональні комп’ютери (ПК)


Комп’ютери, призначені для одночасного використання
однією людиною.
 Вбудовані комп’ютери
Маленькі комп’ютери, вбудовані в авто, телевізори,
калькулятори, домашні прилади тощо. Ці комп’ютери створені
для виконання обмеженої кількості завдань.
Основні типи комп'ютерів
Види персональних комп’ютерів (ПК):
 Настільні (стаціонарні) комп’ютери
Призначені для роботи за столом. Зазвичай вони більші та потужніші за інші
типи ПК. Існують настільні комп’ютери, що склад. з окремих компонентів.
Основний компонент - системний блок. Інші компоненти (монітор, миша,
клавіатура) підключаються до системного блока. Існують моноблоки.
 Портативні комп’ютери (ноутбуки)
Легкі мобільні ПК з тонким екраном. Поєднують ЦП, екран і клавіатуру в
одному корпусі. Коли екран не використовується, він опускається на
клавіатуру.
 Кишенькові комп’ютери (КПК)
КПК достатньо малі, щоб носити їх майже повсюди. Менш потужні, ніж
ноутбуки. Можуть бути корисні для призначення зустрічей, збереження
адрес і телефонних номерів, а також для комп’ютерних ігор. Зокрема,
мають розширені можливості, наприклад, здійснення телефонних дзвінків
або доступ до Інтернету.
 Планшетні комп’ютери
Мобільні комп’ютери, які поєднують особливості портативних і кишенькових
комп’ютерів. Як і портативні комп’ютери, вони потужні й мають вбудований
сенсорний екран, що дозволяє працювати з допомогою стилусу
(“комп’ютерного пера”) або пальців.
Сфери застосування
комп’ютерних систем
 В побуті (для непрофесійних
користувачів)
Internet, електронна пошта, довідники, системи навчання (з іноземних
мов, економіки), офісні програми (Word, Excel), ігри

 В науці
MatLab, MathCad, комп’ютерне моделювання, складні розрахункові
системи

 В професійній діяльності
 бухгалтерська сфера – 1С:Бухгалтерія;
 для художників та дизайнерів – CorelDraw, Adobe Photoshop;
 для архітекторів – AutoCad, ArchiCad;
 в поліграфії (видавничі системи) – PageMaker, QuarkXpress.
Категорії програмного
забезпечення
 Прикладні програми
 всі вище зазначені

 Системні програми
 операційні системи (наприклад, лінійка Windows, Unix, тощо)
 драйвери (принтерів, сканерів, миші)
 програми-оболонки (Total Commander, NC, FAR, Midnight Commander)
 утиліти (діагностики комп’ютера, оптимізації дисків, антивірусні програми,
архіватори)

 Системи програмування (інструментальні


системи)
 Basic: Microsoft Visual Basic;
 Pascal: Borland Delphi;
 C++: MS Visual Studio, Eclipse, NetBeans, Code::Blocks, Borland C++ Builder;
 Python: MS Visual Studio, PyCharm, Spyder;
 Go: Gogland, Visual Studio Code;
 СУБД (Oracle, MySQL, Microsoft SQL Server).
БАЖАЮ УСПІХІВ!!!
Програмне забезпечення
обчислювальних систем
Лекція 2
АРХІТЕКТУРА ПЕРСОНАЛЬНОГО
КОМП’ЮТЕРА

доц. Лавренюк А.М.


Архітектура ЕОМ.
Принципи Джона фон Неймана
 Комп'ютер повинен складатися із
наступних пристроїв:
Арифметико- Зовнішні
логічний Пристрій пристрої
пристрій керування введення-
виведення

керуючі зв’язки
Пам’ять
потоки інформації (запам’ятовую-
чий пристрій)
Архітектура ЕОМ.
Принципи Джона фон Неймана
 Керування роботою ЕОМ
відбувається з допомогою програми
 Принцип збереженої програми (дані та
команди зберігаються в одній пам’яті, на
відміну від гарвардської архітектури)
Архітектура ЕОМ.
Принципи Джона фон Неймана

 Принцип умовного переходу

 Принцип використання двійкової


системи числення
Архітектура ЕОМ.
Принципи Джона фон Неймана
Одиниці вимірювання інформації:
 Біт – елементарна одиниця представлення
інформації (0 або 1)
 Байт – основна одиниця вимірювання
інформації (8 біт)
 1 Кб=1024 б=210 б
 1 Мб=1024 Кб=220 б
 1 Гб=1024 Мб=230 б
 1 Тб=1024 Гб=240 б
Архітектура ЕОМ.
Принципи Джона фон Неймана
Архітектура персонального
комп’ютера
У базовій конфігурації стаціонарного
комп’ютера розглядають 4
пристрої:
 системний блок;
 монітор;
 клавіатуру; зовнішні пристрої

 мишу.
Архітектура персонального
комп’ютера

Пристрої, що знаходяться всередині системного


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

Додаткові зовнішні пристрої, призначені для


введення, виведення, тривалого зберігання
даних, називаються периферійними.
Архітектура персонального
комп’ютера
Внутрішні пристрої системного блоку:
 електронні схеми (мікропроцесор, контролери пристроїв,
оперативний та постійний запам'ятовуючі пристрої);
 блок живлення, який перетворює електроживлення
мережі у постійний струм низької напруги, що подається на
електронні схеми комп’ютера;
 накопичувачі на жорстких магнітних дисках, призначені
для читання та запису на жорсткі магнітні диски
(вінчестери);
 інші пристрої, наприклад, звукова карта – для відтворення
та запису звуків; дисковод для компакт-дисків; відеокарта з
вбудованим графічним мікропроцесором
Мікропроцесор

МП

АЛП ПК РЕГІСТРИ

МП — мікропроцесор
АЛП — арифметико-логічний пристрій
ПК — пристрій керування
Регістри — внутрішні носії інформації МП
Регістри

 регістри загального призначення –


використовуються для проміжного зберігання
результатів операцій;
 адресні регістри – для зберігання в них
адрес, за якими процесор знаходить дані у пам’яті;
 лічильник команд – регістр містить адресу
наступної команди для виконання;
 спеціальні регістри – для самоперевірок
процесора
Мікропроцесор

З іншими пристроями комп’ютера, і в


першу чергу з оперативною пам’яттю,
процесор зв’язаний кількома групами
провідників, які називаються шинами.

Основних шин три:


 шина даних,
 адресна шина,
 командна шина.
Основні характеристики
процесорів
 Тактова частота – показує, скільки
елементарних операцій мікропроцесор
виконує за 1 с (швидкість виконання
елементарних операцій всередині
мікропроцесора). Вимірюється в Гц.
 Розрядність процесора – показує,
скільки біт даних він може прийняти і
обробити у своїх регістрах за один раз
(за один такт).
Основні характеристики
процесорів
 Адресний простір (адресація пам’яті).
Об’єм оперативної пам’яті, яку фізично може
заадресувати мікропроцесор, називають
його адресним простором.
Він визначається розрядністю адресної шини.
 Розмір кеш-пам’яті процесора.
Кеш-пам’ять процесора - це невелика, але дуже
швидка пам'ять (надоперативна), де
зберігаються копії часто використовуваних
даних. Згладжує перебої в обміні даними з
повільнішою оперативною пам'яттю.
Контролери

Для керування роботою пристроїв у


персональних комп’ютерах
використовують електронні схеми –
контролери (наприклад, контролери
жорстких дисків, контролер клавіатури,
контролер кеш-пам’яті).
Види пам’яті в IBM PC –
сумісних комп’ютерах
Пам’ять
Пам’ять

Основна
Основна Зовнішня
Зовнішня

ОЗП ПЗП НЖМД НГМД НМC НМОД НМД


стримери Zip

Кеш
CD-ROM CD-R CD-RW DVD Flash

USB жорсткі диски (HDD, SSD)


Постійний запам’ятовуючий
пристрій (ПЗП)
Мікросхема ПЗП зберігає інформацію, навіть коли
комп’ютер вимкнений. Мікропрограми («прошивка»
- BIOS, UEFI), які знаходяться в ПЗП, «зашиті» у
ньому, записуються туди на етапі виготовлення
мікросхеми.
BIOS (Basic Input/Output System — базова система
введення/виведення)
UEFI (Unified Extensible Firmware Interface —
інтерфейс розширюваної «прошивки»)

Стандарт UEFI є наступником BIOS.


Постійний запам’ятовуючий
пристрій (ПЗП)
BIOS – комплект програм для перевірки
обладнання комп’ютера, для ініціювання
завантаження ОС, для обслуговування
функцій введення-виведення.

UEFI – Основне призначення: коректно


ініціалізувати обладнання при увімкненні
системи і передати управління
завантажувачу операційної системи
(ініціювати завантаження ОС).
Постійний запам’ятовуючий
пристрій (ПЗП)
У BIOS міститься також програма налаштування
конфігурації комп’ютера (SETUP).

Параметри конфігурації комп’ютера


зберігаються у так званій CMOS-пам’яті.
БАЖАЮ УСПІХІВ!!!
Програмне забезпечення
обчислювальних систем
Лекція 3

ОПЕРАЦІЙНІ СИСТЕМИ

доц. Лавренюк А.М.


ОПЕРАЦІЙНІ СИСТЕМИ (ОС)

ОС - це комплекс спеціальних програм, призначений


для керування ресурсами обчислювальної системи.

Забезпечує три види інтерфейсу:

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

Апаратно-програмний
інтерфейс

Програмний інтерфейс
Основні функції ОС
 приймання від користувачів завдань або
команд та їх обробка;
 приймання і виконання програмних запитів на
запуск, призупинення, зупинення інших
програм;
 завантаження в оперативну пам’ять програм,
які мають виконуватись;
 ініціація програми (передача їй керування,
внаслідок чого процесор виконує програму);
 забезпечення роботи систем керування
файлами;
Основні функції ОС
 забезпечення мультизадачного режиму;
 забезпечення функцій керування всіма
операціями введення/виведення;
 розподіл пам’яті, а в більшості сучасних
систем і організація віртуальної пам’яті;
 надання послуг на випадок часткового збою
системи;
 забезпечення роботи систем програмування,
з допомогою яких користувачі створюють свої
програми.
Поняття ресурсу

 Ресурс – це об’єкт, який запитується,


використовується і вивільняється
процесами в період їхньої активності.

(прикладні програми, утиліти, редагування


тексту – це процес, трансляція вихідної
програми, її виконання)
Поняття ресурсу

Ресурси

Поділювані Неподільні
Основні компоненти ОС

1. Базовий модуль (ядро)


2. Командний процесор
3. Драйвери пристроїв
4. Додаткові сервісні програми
(утиліти)
1. Базовий модуль (ядро)
Основні функції ядра:
 Ініціалізація системи
 Керування процесами
 Керування пам’яттю
 Керування файловою системою
Ініціалізація системи

BIOS (UEFI) викликає блок початкового


завантаження, котрий забезпечує
завантаження повного ядра в
оперативну пам’ять, і запускає його.
Керування процесами

Ядро забезпечує розділення процесорного


часу та інших ресурсів комп’ютера між
запущеними процесами. Намагається
ефективно використовувати ресурси
шляхом організації до них черг запитів.
Контролює процес вивільнення ресурсу і
перевіряє, чи є черга до ресурсу.
Виходячи з пріоритетів заявок, ОС
виводить зі стану очікування задачу, яка
чекає ресурс і т.д.
Керування пам’яттю

Сторінковий спосіб організації віртуальної


пам’яті
Сучасні ОС реалізують сторінковий спосіб
організації пам’яті.
Програміст звертається до пам’яті за
допомогою деякого набору логічних імен.
ОС повинна зв’язати логічні імена з
фізичними комірками пам’яті.
Керування пам’яттю

Сторінковий спосіб організації віртуальної


пам’яті
Програма розбивається на фрагменти –
віртуальні сторінки, а пам’ять на
фізичні сторінки.
Частина віртуальних сторінок задачі
розміщується в оперативній пам’яті, а
частина - в зовнішній (наприклад, на
вінчестері).
Сторінковий спосіб організації
віртуальної пам’яті
віртуальна адреса

17 612

Page Index
Сторінка №23
Таблиця сторінок поточної задачі
23000
17
Номер фізичної Права 23612
17 сторінки доступу
1 23 R

біт присутності
1 – задача в
оперативній пам‘яті
0 – в зовнішній
пам‘яті
Керування файловою
системою
Файлова система – це набір
специфікацій і відповідне їм програмне
забезпечення, яке відповідає за
створення, знищення, зчитування, запис,
переміщення файлової інформації, а
також керування доступом до файлів.
Керування файловою
системою
ОС Файлова система
MS DOS FAT 16, формат 8.3
Windows 95, VFAT (віртуальна FAT) 32-
розрядна файлова система,
підтримка довгих імен
NT 4.0 NTFS (вперше в Windows NT 3.1)
Windows 98, FAT 32
2000 . . . Windows 8, 10, 11 NTFS (ReFS)
Unix (FreeBSD, UFS
Linux) ext2, ext3, ext4, ReiserFS, XFS, JFS
NFS
macOS APFS (Apple File System)
Керування файловою
системою
Основні компоненти ОС

2. Командний процесор – аналізує і


виконує команди користувача.
3. Драйвери пристроїв – програми, які
забезпечують взаємодію операційної
системи з фізичним пристроєм.
Основні компоненти ОС

4. Додаткові сервісні програми


(утиліти) – службові програми для
виконання допоміжних операцій
обробки даних чи обслуговування
комп’ютера (оптимізація дискового
простору, відновлення зруйнованої
інформації).
Класифікація ОС
 неграфічні і графічні (інтерфейс командного
рядка і графічний інтерфейс користувача);
 одно- і багатозадачні (в залежності від
кількості паралельно виконуваних процесів
(задач));
 одно- і багатокористувацькі (в залежності від
кількості користувачів, які одночасно
працюють з ОС);
 немережеві і мережеві, які забезпечують
роботу в локальній обчислювальній мережі.
Класифікація ОС
 Неграфічні ОС реалізують інтерфейс
командного рядка (MS DOS, Unix ).
 Графічний інтерфейс користувача
(GUI) - це більш складний тип
інтерфейсу, в якому в якості органа
керування окрім клавіатури може
використовуватись миша (для сенсорних
моніторів – стилус, пальці). Робота з
графічною операційною системою
основана на взаємодії активних і
пасивних екранних елементів керування.
Класифікація ОС

 В якості активного елемента керування


виступає покажчик миші - графічний
об'єкт, переміщення якого на екрані
синхронізовано з переміщенням миші
(стилус).
 В якості пасивних елементів керування
виступають графічні елементи керування
додатків (екранні кнопки, значки, списки,
що розкриваються, рядки меню, плитки)
(ОС сімейства Windows).
Класифікація ОС

MS DOS
З’явилась у 1981 р. як ОС для ІВМ РС
 - неграфічна (інтерфейс командного
рядка)
 - 16-розрядна ОС, однозадачна ОС
 - однокористувацька
 - немережева
Класифікація ОС

Windows 3.х
Надбудова над DOS, операційна
оболонка (16-розрядна графічний
інтерфейс, багатозадачна, засоби
обміну даними)
Класифікація ОС

Windows 9х
 32-розрядна ОС з графічним інтерфейсом
 багатозадачна
 однокористувацька
 мережева
 швидке і легке переключення з однієї програми в іншу
 істотно виросли можливості мультимедіа
 на жорсткому диску створюється файл підкачки (віртуальна
пам'ять), і недостача оперативної пам'яті компенсується за
рахунок використання вільного простору жорсткого диска.
Класифікація ОС
Windows NT,2000,XP,2003,Vista,7,8,10,11
 ОС з графічним інтерфейсом
 багатозадачна з витісненням
 багатопоточна
 багатокористувацька (наприклад, підключення через віддалений
робочий стіл RDC (Remote Desktop Connection) до Windows Server 2019, 2022;
локальний багатокористувацький режим, починаючи з Windows XP)
 можливість віддаленого керування робочим столом
 мережева
 підтримка багатьох процесорів (наприклад, Windows Server 2008
R2 - 256 логіч. проц.: 32 чотирьохяд. процесори, кожне ядро оброб. по 2 потоки
даних ; Windows Server 2012 - 64 фіз-х пр.,640 логіч. пр.; Windows Server 2022 -
2048 логіч. ядер, до 48 ТБ оперативної пам’яті)
 NTFS (ReFS) дозволяє максимально захистити дані від
несанкціонованого доступу.
Класифікація ОС
Windows NT,2000,XP,2003,Vista,7,8,10
 В Windows 10 (64-х розрядних),
в Windows Server 2019, 2022 – доступна підсистема
Windows для Linux (Windows Subsystem for
Linux (WSL)) для запуску Linux-додатків

 В Windows Server 2019, 2022 – підтримка хмарної


платформи Azure
Класифікація ОС
Unix
 неграфічний інтерфейс (однак існує графічна оболонка
X Window System, яка виступає в ролі X-сервера, X-клієнти
(менеджери робочого столу, наприклад, KDE, GNOME ) є графічним
середовищем робочого столу).
 Багатозадачна з витісненням
 багатокористувацька (підтримує термінальний режим та
локальний багатокористувацький режим)
 мережева
 підтримка багатьох процесорів (наприклад, OC Solaris
9 - до 128 процесорів в одній системі і до 848 процесорів в кластері, Oracle
Solaris 11.3 на процесорах SPARC M7 (загалом 1024 ядра в процесорі))
Класифікація ОС
Unix
 реалізує принцип відкритої і нарощуваної ОС.
Відкрита для аналізу, нарощувана – дозволяє вводити в її склад
нові модулі ( Free BSD, наприклад, розповсюджуються
безкоштовно).

 оболонка Bash (Shell) – інтерпретатор


команд, що зчитує рядки, які набирає користувач, і запускає
їх на виконання.
Програмне забезпечення
обчислювальних систем
Лекція 4

ОГЛЯД МОВ ПРОГРАМУВАННЯ

доц. Лавренюк А.М.


ОГЛЯД МОВ
ПРОГРАМУВАННЯ
Мова програмування низького рівня – це
мова, орієнтована на конкретний тип процесора
і враховує його особливості. Оператори мови
програмування низького рівня близькі до
машинного коду (наприклад, асемблер).
Мови програмування високого рівня –
зручні, зрозумілі і близькі людині (наприклад,
Basic, Pascal, Python, C++).
Типи обробки даних.
Пакетна та діалогова обробка

Транслятор – це програма, яка


переводить код, написаний на мові
програмування високого рівня в
машинний код.
Транслятор

Компілятор Інтерпретатор
Типи обробки даних.
Пакетна та діалогова обробка
Компілятор – це транслятор, який
переводить у двійковий код всю програму.
В результаті формується виконуваний
файл. Потім ці файли можна виконувати
окремо. Така обробка називається
пакетною (С++, Pascal, Fortran).

Інтерпретатор – це програма, яка порядково


переводить команди в машинний код і
відразу ж їх порядково виконує. Така
обробка називається діалоговою (MatLab,
Prolog, Lisp (для задач штучного інтелекту).
Класифікація мов
програмування високого рівня
1 GL 2 GL 3 GL 4 GL 5 GL
1954- 1959- 1962- 1970- З
1958 1961 1970 поч.90-х середини
(покоління 90-х
загублених мов)
Fortran I, Fortran II, PL/1 Object Pascal, Delphi,
Algol – 58 Algol – 60, (Fortran + C++ (1980), MS Visual
Algol + Studio,
Cobol, Cobol),
CLOS,
Lisp (Common C++Builder,
Algol-68,
Lisp Object DreamWeaver
Pascal
System)
C на межі 3 і 4 Python
поколінь
(1972)
Класифікація мов
програмування високого рівня
 1GL – Орієнтація на наукове застосування
(мат. формули); в програмі лише глобальні
змінні
 2GL – Розвиток алгоритмічних абстракцій;
механізм передачі параметрів в підпрограму
 3GL – Структурний (алгоритмічний) підхід;
принцип модульності
 4GL – Об’єктно-орієнтований підхід

 5GL – Системи автоматичного створення


прикладних програм з допомогою візуальних
засобів розробки
Класифікація мов програмування
за підтримуваними парадигмами
 процедурні (імперативні, струк-
турні)
 об'єктно-орієнтовані
 функційні
 логічні
Класифікація мов програмування
за підтримуваними парадигмами
 процедурні (імперативні, структурні)
засновані на концепції виклику процедури
(підпрограми, функції). Процедури містять
певну послідовність кроків для виконання
(Basic, Pascal, Fortran, C)
 об'єктно-орієнтовані
не описують докладної послідовності дій для
вирішення завдання (хоча містять елементи
процедурного програмування). Програма
пишеться в термінах об'єктів, які мають
властивості і поведінку. (С++, Java, C#, Python)
Класифікація мов програмування
за підтримуваними парадигмами
 функційні
програма описує обчислення деякої функції.
Функція задається як композиція інших,
більш простих. Один з основних елементів в
функціональних мовах – рекурсія.
Присвоювання і циклів в класичних
функціональних мовах немає (Lisp, Haskell).
 логічні
програма взагалі не описує дій. Вона задає дані і
співвідношення між ними. Логічне програмування
засноване на теорії математичної логіки (Prolog).
Зосереджена та розподілена
обробка даних
Зосереджена обробка даних – це
обробка даних, коли програма працює
на одному вузлі.

Розподілена обробка даних – це


обробка даних на декількох різних
вузлах.
Розподілені комп’ютерні
архітектури
Архітектура клієнт-сервер є одним із
архітектурних шаблонів програмного забезпечення
та є домінуючою концепцією у створенні
розподілених додатків, передбачає такі основні
компоненти:
 набір серверів,
серверів які надають інформацію або інші
послуги програмам, що звертаються до них;
 набір клієнтів,
клієнтів які використовують сервіси, що
надаються серверами;
 мережа,
мережа яка забезпечує взаємодію між клієнтами та
серверами.
Розподілені комп’ютерні
архітектури
1. Клієнт/сервер
клієнт сервер

SQL
Інтерфейс додаток DB
користувача
дані

Наявність одного сервера (база даних, файл-сервер)


та одного або декількох клієнтів
«Товстий клієнт»
Розподілені комп’ютерні
архітектури
2. Трирівнева архітектура
клієнт/сервер
клієнт сервери
запит
GUI логіка DB
додатків
результат

Два типи серверів: сервер-додатків та сервер баз


даних (або файл-сервер)
Розподілені комп’ютерні
архітектури
3. Багаторівнева архітектура
СЕРВЕРИ
клієнт

запит
бізнес- запит
бізнес- SQL
GUI логіка 1 логіка 2 DB
результат результат (Кеш об’єктів) дані

Рівень логіки додатків поділяється на декілька рівнів.


Найчастіше використовується для Web-додатків
(де браузер виступає клієнтом)
Розподілені комп’ютерні
архітектури
4. Мульти-клієнт/мульти-сервер

клієнт клієнт/сервер
запит
GUI логіка логіка DB
додатків результат додатків
запит результат

Існує декілька серверів.


Одні і ті ж вузли можуть служба
сервер
аутенти-
виступати як клієнтом, так
фікації
і сервером
Розподілені комп’ютерні
архітектури
5. Взаємодія точка/точка
Вузол Вузол
запит
GUI логіка результат логіка DB
додатків запит додатків
результат

Кожний комп’ютер може виступати і клієнтом, і


сервером.
Типи розподілених систем за
способом керування даними
В розподілених системах існує 3
стратегії керування даними:
1. Централізоване керування (всі дані
розміщуються на одному вузлі, на якому
виконується маршрутизація всіх запитів).
2. Керування на основі реплікації (повні
копії даних зберігаються на тих вузлах, на яких вони
найчастіше використовуються; виникає необхідність
синхронізації даних).
3. Керування на основі розділення
даних (дані зберігаються на різних вузлах
частинами ).
Комп’ютерні технології для
реалізації розподілених систем
1. COM (Component Object Model) -
компонентна технологія, DCOM
(Distributed COM ) – система складається з ядра і
множини надбудов. Для ядра описується інтерфейс. За ним
можна писати будь-які надбудови.

2. XML (eXtensible Markup Language -


розширювана мова розмітки) – створена
для обміну інформацією між програмами. Викор. для
створення Web-додатків.

3. UML (Unified Modeling Language –


уніфікована мова моделювання).

You might also like