SlideShare a Scribd company logo
1 of 45
Лекція №7
Для спеціальності 151 “Автоматизація та комп’ютерно-
інтегровані технології”
141 «Електроенергетика, електротехніка та електромеханіка»
КНУБА, 2016
Соболевська Л.Г. sobolevska@atp.in.ua +38 066 251 89 80
 Програмне забезпечення (ПЗ) - всі або частина
програм, процедур, правил та відповідної
документації системи обробки інформації (ISO /
IEC 2382-1: 1993).
 Програмне забезпечення (ПЗ) - комп'ютерні
програми, процедури і, можливо, відповідна
документація і дані, що відносяться до
функціонування комп'ютерної системи (IEEE Std
829-2008).
 Програмне забезпечення (ПЗ) - програма або
безліч програм, що використовуються для
управління комп'ютером (ISO / IEC 26514).
такі, що інтерпретуються;
такі, що компілюються.
програма або технічний засіб, який
виконує трансляцію програми на
машинну мову.
Компіляція
Інтерпретація
Динамічна компіляція
 обслуговуюча програма, що виконує
трансляцію на машинну мову програми,
записаної на вихідній мові програмування.
 Компілятор забезпечує перетворення
програми з однієї мови на іншу (найчастіше,
в мову конкретного комп'ютера). Існують
мови, в яких одна команда вихідної мови
транслюється в 7-10 машинних команд.
Однак є й такі мови, в яких кожній команді
може відповідати 100 і більше машинних
команд.
Асемблер – компілятор, що перетворює
текст з мови асемблеру на машинну мову.
Дизассемблер – комп'ютерна програма
що транслює мову машинних кодів у
мову асемблер.
Дизасемблер представляє програмний
код у вигляді асемблерного коду.
 трансляція, при якій вихідний або проміжний
код перетвориться (компілюється) в машинний
код безпосередньо під час виконання, «на льоту»
(just in time, JIT).
 Компіляція кожної ділянки коду виконується
тільки один раз; скомпільований код
зберігається в кеші і при необхідності
використовується повторно.
Динамічна компіляція добре підходить для веб-
додатків.
Переваги динамічної компіляції в порівнянні
з компіляцією:
 швидкість роботи динамічно компільованих
програм близька до швидкості роботи
компільованих програм;
 відсутність необхідності перекомпіляції
програми при перенесенні на іншу
платформу.
Недоліки динамічної компіляції в порівнянні
з компіляцією і чистої інтерпретацією:
 велика складність реалізації;
 великі вимоги до ресурсів.
 програма або пристрій, що здійснює пооператорну
трансляцію і виконання вихідної програми. На
відміну від компілятора, інтерпретатор не породжує
на виході програму на машинній мові. Розпізнавши
команду вихідної мови, він тут же виконує її.
 Переваги: дозволяє почати обробку даних після
написання навіть однієї команди. Це робить процес
розробки і налагодження програм більш гнучким.
Відсутність вихідного машинного коду дозволяє не
«захаращувати» зовнішні пристрої додатковими
файлами.
 Недолік: низька швидкість виконання програм.
Зазвичай інтерпретовані програми виконуються в
50-100 разів повільніше програм, написаних у
машинних кодах.
 читати код і виконувати його одразу (чиста
інтерпретація);
 читати код, створювати в пам'яті проміжне
представлення коду (байт-код або p-код),
виконувати проміжне представлення коду
(змішана реалізація).
 У першому випадку трансляція не
використовується, а в другому -
використовується трансляція вихідного
коду в проміжний код.
аналізує і тут же виконує (власне
інтерпретація) програму покомандно
(або через підрядник), у міру
надходження її вихідного коду на вхід
інтерпретатора.
Перевага – миттєва реакція.
Недолік – виявляє помилки в тексті
програми тільки при спробі виконання
команди (або рядка) з помилкою.
 система з компілятора, який переводить
вихідний код програми в проміжне
представлення, наприклад, в байт-код або p-код,
і власне інтерпретатора, який виконує
отриманий проміжний код (так звана віртуальна
машина).
 Перевага –більша швидкодія виконання програм
(за рахунок виносу аналізу вихідного коду в
окремий, разовий прохід, і мінімізації цього
аналізу в інтерпретаторі).
 Недоліки - більше вимога до ресурсів і вимога на
коректність вихідного коду. Застосовується в
таких мовах, як Java, PHP, Tcl, Perl, а також в
різних СУБД.
За ступенем
можливості
переносу
платформозалежні кросплатформені
За
призначенням
системні прикладні інструментальні
Системне ПЗ - це сукупність програм для
забезпечення управління роботою всіх
складових комп'ютера, таких як
процесор, пам'ять, система введення-
виведення тощо. Системне ПЗ є
зв’язуючою ланкою між прикладним ПЗ
та апаратурою, воно не вирішує
конкретних задач користувача, але
дозволяє встановлювати і
використовувати прикладні програми.
СистемнеПЗ
Базове
операційні
системи;
оболонки;
мережеві
операційні системи
Сервісне
діагностики;
антивірусні;
обслуговування
носіїв;
архівування;
обслуговування
мережі;
Прикладне ПЗ - це комплекс програм для
вирішення завдань певного класу
конкретної предметної області.
Прикладне ПЗ працює тільки при
наявності системного ПЗ.
Прикладні програми називають
додатками.
Прикладне
ПЗ
текстові процесори;
табличні процесори;
бази даних;
інтегровані пакети;
системи ілюстративної і ділової графіки (графічні процесори);
експертні системи;
навчальні програми;
програми математичних розрахунків, моделювання та аналізу;
ігри;
комунікаційні програми
інструментальне
ПЗ
транслятори;
середовище
розробки
програм;
бібліотеки
довідкових
програм
(функцій,
процедур);
отладчики;
редактори
зв'язків та ін.
За видами
компонент: програма,
розглянута як єдине ціле, що
виконує закінчену функцію і
застосовувана самостійно або
в складі комплексу
комплекс: програма, що
складається з двох або більше
компонентів і (або)
комплексів, що виконують
взаємозв'язані функції, і
застосовувана самостійно або
в складі іншого комплексу
За способом
розповсюдження
і використання
комерційні
(пропрієтарні)
відкриті вільні
 Пропрієтарне або комерційне програмне
забезпечення (Proprietary software; від proprietary -
приватне, патентований, у складі власності та
software - програмне забезпечення) - програмне
забезпечення, яке є приватною власністю авторів
або правовласників і не задовольняє критеріям
вільного ПЗ (наявності відкритого програмного коду
недостатньо). Правовласник пропрієтарного ПЗ
зберігає за собою монополію на його використання,
копіювання та модифікацію, повністю або в суттєвих
моментах. Зазвичай пропрієтарним називають будь-
яке невільне, включаючи напіввільне.
 Обмеження на комерційне використання.
 Існує величезна кількість програмних продуктів, які дозволяють
безкоштовне використання в некомерційних цілях для приватних
осіб, медичних та навчальних закладів, для некомерційних
організацій, однак вони вимагають оплати в разі використання
програмного продукту з метою отримання прибутку.
 Обмеження на розповсюдження.
 Цей вид обмежень супроводжує зазвичай великі програмні
проекти, коли правовласник вимагає оплати за кожну копію
програми. Зазвичай з таким обмеженням використовуються
програмні продукти, орієнтовані на вузький «професійний»
сегмент ринку або програмне забезпечення, потрібне великому
числу користувачів.
 Обмеження на вивчення, модифікацію, тощо.
 Цей вид обмеження використовується тільки в програмних
пакетах із закритими вихідними кодами і може забороняти або
обмежувати будь-яку модифікацію програмного коду,
дизасемблювання і декомпіляцію.
 вільний софт - програмне забезпечення, користувачі якого мають права («свободи») на
його необмежену установку, запуск, а також вільне використання, вивчення, поширення
і зміна (вдосконалення), і поширення копій і результатів зміни. Якщо на програмне
забезпечення є виняткові права, то свободи оголошуються за допомогою вільних
ліцензій.
 Як і безкоштовне (freeware) і безкоштовно поширюване програмне забезпечення, ВПЗ
можна використовувати і зазвичай отримати безкоштовно (але конкретний
розповсюджувач може стягувати плату за отримання у нього копій, за канали доставки,
носії - компакт-диски або додаткові сервісні послуги). Однак freeware зазвичай
поширюється у виконуваному вигляді без вихідних кодів і є пропрієтарним ПЗ, а щоб ПЗ
було вільним, одержувачам повинні бути доступні його вихідні коди, з яких можна
створювати виконувані файли, разом з відповідними ліцензіями. Через те, що словом
«продаж» називають і продаж оригіналу, і розповсюдженням копій за гроші, і платне
ліцензування (зазвичай на невільних умовах), деякі все ж вважають вільне ПЗ
підмножиною безкоштовного.
 Часто розрізняють вільне і відкрите ПЗ (open source) - хоча доступність вихідного коду
для ВПЗ є обов'язковим, а багато відкриті програми є одночасно вільними, але
відкритим іноді називають і деякий невільне пропрієтарне ПЗ (наприклад, комерційне
ПЗ з відкритим вихідним кодом, Shared source) .
 Рух ВПЗ зародилося в 1983 році, коли Річард Столлман сформував ідею про необхідність
дати програмну свободу (Software freedom) користувачам. У 1985 році Столлман
заснував Фонд вільного програмного забезпечення, щоб забезпечити організаційну
структуру для просування своєї ідеї.
 Згідно з сучасним законодавством більшості країн, програмний продукт і його вихідний
код охороняються авторським правом, яке дає авторам і правовласнику владу над
зміною, розповсюдженням, способом використання і поведінкою програми, включаючи
випадки, коли вихідний код опублікований. Сила влади авторських прав в сучасному
суспільстві настільки велика, що навіть вивчення або спроби виправлення помилок
програм шляхом дизасемблювання можуть переслідуватися кримінальним правом.
 Вихідні коди відкритих програм випускаються або як суспільне надбання, або на умовах
«вільних» ліцензій - як, наприклад, GNU General Public License або BSD License. Вільна
ліцензія дозволяє використовувати вихідний код програми для своїх потреб з
мінімальними обмеженнями, що не суперечать визначенню OpenSource.org. Таким
обмеженням може бути вимога посилатися на попередніх творців або вимога зберігати
властивість відкритості при подальшому поширенні тієї ж самої або модифікованої
відкритої програми (копілефт). У деяких випадках (наприклад, Apache або FreeBSD) ці
обмеження дуже малі, в інших (наприклад, GNU General Public License) досить
поширювати ПЗ разом з вихідним кодом і текстом ліцензії, не змінюючи її.
 Вільне ПЗ легко комерціалізується - існує безліч бізнес-моделей, де виключена
необхідність оплати копій програми. Наприклад, високу популярність має бізнес-
модель, коли підприємець може заробити за рахунок надання послуг технічної
підтримки. Правовласнику вільного коду може бути цікавий інший варіант - реалізація
програмних продуктів на умовах комерційної ліцензії, у разі, якщо клієнту необхідно
інтегрувати вільний код в пропрієтарне програмне забезпечення, але він не бажає
розкриття своїх розробок.
 програмне забезпечення з відкритим вихідним
кодом. Вихідний код таких програм доступний
для перегляду, вивчення та зміни, що дозволяє
користувачеві взяти участь у доопрацюванні
найбільш відкритою програми, використовувати
код для створення нових програм та
виправлення в них помилок - через запозичення
вихідного коду, якщо це дозволяє сумісність
ліцензій, або через вивчення використаних
алгоритмів, структур даних, технологій, методик
та інтерфейсів (оскільки вихідний код може
істотно доповнювати документацію, а за
відсутності такої сам служить документацією).
 Термін open source був створений разом з визначенням в
1998 році Еріком Реймондом і Брюсом Перенс, які
стверджували, що термін free software (вільне програмне
забезпечення) в англійській мові неоднозначний.
 Переважна більшість відкритих програм є одночасно
вільними. Визначення відкритого і вільного ПЗ не повністю
збігаються один з одним, але близькі, і більшість ліцензій
відповідають обом.
 Відмінність між прихильниками відкритого і вільного ПЗ
полягає в основному в пріоритетах. Прихильники терміна
«open source» роблять упор на ефективність відкритих
початкових кодів як методу розробки, модернізації та
супроводу програм. Прихильники терміна «free software»
вважають, що саме права людини на вільне поширення,
модифікацію і вивчення використовуваних ним програм є
головним достоїнством вільного відкритого ПЗ.
 З 2006 року тестінговою компанією Coverity спільно
з американським Відділом національної безпеки
проводили дослідження як у відкритому, так і
закритому секторі розробки ПЗ, за результатами
року вони публікували звіт.
 За результатами 2011 року, виявилося, що
відкритий вихідний код не поступається за якістю
пропрієтарному.
 Найякіснішими проектами були визнані Linux 2.6,
PHP 5.3, і PostgreSQL 9.1, якість яких визначалося за
дефектною щільностю (число дефектів на тисячу
рядків коду), які були рівні 0.62, 0.20, і 0.21
відповідно.
(operating system, OS) — це програмний
комплекс, що забезпечує керування
апаратними засобами комп'ютера, а
також надає середовище для виконання
прикладних программ і організовує
взаємодію з користувачем.
Операційна система звичайно
складається з ядра операційної системи
та базового набору прикладного
програмного забезпечення.
 Виконання на вимогу програм користувача тих елементарних
(низькорівневих) дій, які є спільними для більшості програмного
забезпечення і часто зустрічаються майже у всіх програмах
(введення та виведення даних, запуск і зупинка інших програм,
виділення та вивільнення додаткової пам'яті тощо).
 Організація середовища в якому виконуються і взаємодіють
прикладні програми.
 Розподіл апаратних ресурсів комп’ютера.
 Стандартизований доступ до периферійних пристроїв (пристрої
введення-виведення).
 Завантаження програм у оперативну пам'ять і їх виконання.
 Керування оперативною пам'яттю (розподіл між процесами,
організація віртуальної пам'яті).
 Керування доступом до даних енергонезалежних носіїв (твердий
диск, оптичні диски тощо).
 Організація зберігання даних.
 Забезпечення користувацького інтерфейсу.
 Мережеві операції, підтримка стеку мережевих протоколів.
 Паралельне або псевдопаралельне виконання
задач (багатозадачність).
 Розподіл ресурсів обчислювальної системи між
процесами.
 Організація надійних обчислень (неможливості
впливу процесу на перебіг інших), основана на
розмежуванні доступу до ресурсів.
 Взаємодія між процесами: обмін даними,
синхронізація.
 Захист самої системи, а також користувацьких
даних і програм від дій користувача або програм.
 Багатокористувацький режим роботи та
розділення прав доступу (автентифікація,
авторизація).
універсальні (для загального
використання);
спеціальні (для розв'язання спеціальних
задач);
спеціалізовані (виконуються на
спеціальному обладнанні);
однозадачні (в окремий момент часу
можуть виконувати лише одну задачу);
багатозадачні (в окремий момент часу
здатні виконувати більше однієї задачі);
 однокористувацькі (в системі відсутні
механізми обмеження доступу до файлів та на
використання ресурсів системи);
 багатокористувацькі (система впроваджує
поняття "власник файлу" та забезпечує
механізми обмеження на використання ресурсів
системи (квоти)), всі багатокористувацькі
операційні системи також є багатозадачними;
 реального часу (система підтримує механізми
виконання задач реального часу, тобто такі, для
яких будь які операції завжди виконуються за
наперед передбачуваний і незмінний при
наступних виконаннях час).
стандартні (відповідають одному з
загальноприйнятих відкритих
стандартів, найчастіше POSIX);
нестандартні (в тому числі такі, що
розробляються відповідно до
корпоративних стандартів).
 ядро операційної системи, що забезпечує розподіл та
управління ресурсами обчислювальної системи;
 базовий набір прикладного програмного забезпечення,
системні бібліотеки та програми обслуговування.
Ядро системи — це набір функцій, структур даних та окремих
програмних модулів, які завантажуються в пам'ять
комп'ютера при завантаженні операційної системи та
забезпечують три типи системних сервісів:
 управління введенням-виведенням інформації (підсистема
вводу-виводу ядра ОС);
 управління оперативною пам'яттю (підсистема управління
оперативною пам'яттю ядра ОС);
 управління процесами (підсистема управління процесами
ядра ОС).
 шляхом надання процесора окремій задачі на
квант часу, який визначається самою задачею
(кооперативна багатозадачність; останнім часом
практично не використовується або область
використання значно обмежена всередині
процесів);
 шляхом надання процесора окремій задачі на
квант часу, який визначається обладнанням
обчислювальної системи - інтервальним
таймером;
 виділення під окрему задачу окремого процесора
в багатопроцесорних системах.
Дякую за увагу!
45

More Related Content

What's hot

будова пк
будова пкбудова пк
будова пк
Yura_Shilo
 
пк апаратне забезпечення іс 2
пк апаратне забезпечення іс 2пк апаратне забезпечення іс 2
пк апаратне забезпечення іс 2
iDeus3D
 
Budova komp yutera
Budova komp yuteraBudova komp yutera
Budova komp yutera
prezynt
 
Сучасні інформаційні технології. Лекція 2. Архітектура персонального комп’ютера
Сучасні інформаційні технології. Лекція 2. Архітектура персонального комп’ютераСучасні інформаційні технології. Лекція 2. Архітектура персонального комп’ютера
Сучасні інформаційні технології. Лекція 2. Архітектура персонального комп’ютера
Максим Павленко
 

What's hot (19)

характеристика основних вузщлів компютера
характеристика основних вузщлів компютерахарактеристика основних вузщлів компютера
характеристика основних вузщлів компютера
 
будова пк
будова пкбудова пк
будова пк
 
процесор,пам'ять еом
процесор,пам'ять еомпроцесор,пам'ять еом
процесор,пам'ять еом
 
лр2 асинхронні послідовні інтерфейси.
лр2 асинхронні послідовні інтерфейси.лр2 асинхронні послідовні інтерфейси.
лр2 асинхронні послідовні інтерфейси.
 
Використання віртуальних лабораторних робіт з дисципліни «Промислові мережі т...
Використання віртуальних лабораторних робіт з дисципліни «Промислові мережі т...Використання віртуальних лабораторних робіт з дисципліни «Промислові мережі т...
Використання віртуальних лабораторних робіт з дисципліни «Промислові мережі т...
 
Урок №4 8 клас
Урок №4 8 класУрок №4 8 клас
Урок №4 8 клас
 
пк апаратне забезпечення іс 2
пк апаратне забезпечення іс 2пк апаратне забезпечення іс 2
пк апаратне забезпечення іс 2
 
Промислові мережі та інтеграційні технології курс лекцій
Промислові мережі та інтеграційні технології курс лекційПромислові мережі та інтеграційні технології курс лекцій
Промислові мережі та інтеграційні технології курс лекцій
 
Budova komp yutera
Budova komp yuteraBudova komp yutera
Budova komp yutera
 
пім косп лекц
пім косп лекцпім косп лекц
пім косп лекц
 
Лекція №3
Лекція №3Лекція №3
Лекція №3
 
архітектура комп
архітектура компархітектура комп
архітектура комп
 
Лекція №5
Лекція №5Лекція №5
Лекція №5
 
Сучасні інформаційні технології. Лекція 2. Архітектура персонального комп’ютера
Сучасні інформаційні технології. Лекція 2. Архітектура персонального комп’ютераСучасні інформаційні технології. Лекція 2. Архітектура персонального комп’ютера
Сучасні інформаційні технології. Лекція 2. Архітектура персонального комп’ютера
 
урок 5
урок 5урок 5
урок 5
 
Лекція №10
Лекція №10Лекція №10
Лекція №10
 
Програмовані логічні контролери стандарту МЕК 61131
Програмовані логічні контролери стандарту МЕК 61131Програмовані логічні контролери стандарту МЕК 61131
Програмовані логічні контролери стандарту МЕК 61131
 
Апарат
АпаратАпарат
Апарат
 
Лекція №1
Лекція №1Лекція №1
Лекція №1
 

Similar to Computers and Computing Works lecture №7

Cистемне та службове програмне забезпечення
Cистемне та службове програмне забезпеченняCистемне та службове програмне забезпечення
Cистемне та службове програмне забезпечення
Cveldulf
 
Мови програмування
Мови програмуванняМови програмування
Мови програмування
Alyona Tribko
 
Programne zabezpechenna(pz)
Programne zabezpechenna(pz)Programne zabezpechenna(pz)
Programne zabezpechenna(pz)
Oksana Kutsenko
 
презентація
презентаціяпрезентація
презентація
Katerina78
 

Similar to Computers and Computing Works lecture №7 (20)

informatyka_9_klas_ryvkind_2022.pdf
informatyka_9_klas_ryvkind_2022.pdfinformatyka_9_klas_ryvkind_2022.pdf
informatyka_9_klas_ryvkind_2022.pdf
 
Web 2 (1)
Web 2 (1)Web 2 (1)
Web 2 (1)
 
Informatyka-9-klas-Ryvkind-2022 (1).pdf
Informatyka-9-klas-Ryvkind-2022 (1).pdfInformatyka-9-klas-Ryvkind-2022 (1).pdf
Informatyka-9-klas-Ryvkind-2022 (1).pdf
 
8 клас урок 7
8 клас урок 78 клас урок 7
8 клас урок 7
 
Razdel6
Razdel6Razdel6
Razdel6
 
Razdel6вп
Razdel6впRazdel6вп
Razdel6вп
 
6
66
6
 
Cистемне та службове програмне забезпечення
Cистемне та службове програмне забезпеченняCистемне та службове програмне забезпечення
Cистемне та службове програмне забезпечення
 
Razdel6
Razdel6Razdel6
Razdel6
 
Razdel6
Razdel6Razdel6
Razdel6
 
Урок 7. Класифікація та загальна характеристика програмного забезпечення
Урок 7. Класифікація та загальна характеристика програмного забезпеченняУрок 7. Класифікація та загальна характеристика програмного забезпечення
Урок 7. Класифікація та загальна характеристика програмного забезпечення
 
Організація програмного забезпечення комп’ютера
Організація програмного забезпечення комп’ютераОрганізація програмного забезпечення комп’ютера
Організація програмного забезпечення комп’ютера
 
Мови програмування
Мови програмуванняМови програмування
Мови програмування
 
Програмне забезпечення. Операційні системи. Основні елементи операційної системи
Програмне забезпечення. Операційні системи. Основні елементи операційної системиПрограмне забезпечення. Операційні системи. Основні елементи операційної системи
Програмне забезпечення. Операційні системи. Основні елементи операційної системи
 
урок 6
урок 6урок 6
урок 6
 
Programne zabezpechenna(pz)
Programne zabezpechenna(pz)Programne zabezpechenna(pz)
Programne zabezpechenna(pz)
 
Програмне забезпечення
Програмне забезпеченняПрограмне забезпечення
Програмне забезпечення
 
презентація
презентаціяпрезентація
презентація
 
загальні відомості про системне, службове та прикладне програмне забезпечення.
загальні відомості про системне, службове та прикладне програмне забезпечення.загальні відомості про системне, службове та прикладне програмне забезпечення.
загальні відомості про системне, службове та прикладне програмне забезпечення.
 
Урок 1
Урок 1Урок 1
Урок 1
 

More from Lesia Sobolevska

Моделювання на ЕОМ. Теорія подібності. Рекурсія. Моделювання в реальному часі.
Моделювання на ЕОМ. Теорія подібності. Рекурсія. Моделювання в реальному часі.Моделювання на ЕОМ. Теорія подібності. Рекурсія. Моделювання в реальному часі.
Моделювання на ЕОМ. Теорія подібності. Рекурсія. Моделювання в реальному часі.
Lesia Sobolevska
 

More from Lesia Sobolevska (20)

Моделювання на ЕОМ. Задачі з теорії графів. Алгоритми на графах.
Моделювання на ЕОМ. Задачі з теорії графів. Алгоритми на графах.Моделювання на ЕОМ. Задачі з теорії графів. Алгоритми на графах.
Моделювання на ЕОМ. Задачі з теорії графів. Алгоритми на графах.
 
Моделювання на ЕОМ. Теорія подібності. Рекурсія. Моделювання в реальному часі.
Моделювання на ЕОМ. Теорія подібності. Рекурсія. Моделювання в реальному часі.Моделювання на ЕОМ. Теорія подібності. Рекурсія. Моделювання в реальному часі.
Моделювання на ЕОМ. Теорія подібності. Рекурсія. Моделювання в реальному часі.
 
Моделювання на ЕОМ. Теоретичні питання моделювання.
Моделювання на ЕОМ. Теоретичні питання моделювання.Моделювання на ЕОМ. Теоретичні питання моделювання.
Моделювання на ЕОМ. Теоретичні питання моделювання.
 
Smart Slavutich Hacaton
Smart Slavutich HacatonSmart Slavutich Hacaton
Smart Slavutich Hacaton
 
Вступ в спеціальність 151 АКІТ. Лекція №4.
Вступ в спеціальність 151 АКІТ. Лекція №4.Вступ в спеціальність 151 АКІТ. Лекція №4.
Вступ в спеціальність 151 АКІТ. Лекція №4.
 
Вступ в спеціальність 151 АКІТ. Лекція №3.
Вступ в спеціальність 151 АКІТ. Лекція №3.Вступ в спеціальність 151 АКІТ. Лекція №3.
Вступ в спеціальність 151 АКІТ. Лекція №3.
 
Вступ в спеціальність 151 АКІТ. Лекція №2.
Вступ в спеціальність 151 АКІТ. Лекція №2.Вступ в спеціальність 151 АКІТ. Лекція №2.
Вступ в спеціальність 151 АКІТ. Лекція №2.
 
Вступ в спеціальність 151 АКІТ
Вступ в спеціальність 151 АКІТВступ в спеціальність 151 АКІТ
Вступ в спеціальність 151 АКІТ
 
Ai №8. Штучні нейронні мережі.
Ai №8. Штучні нейронні мережі.Ai №8. Штучні нейронні мережі.
Ai №8. Штучні нейронні мережі.
 
Ai №7. Системи підтримки прийняття рішень.
Ai №7. Системи підтримки прийняття рішень.Ai №7. Системи підтримки прийняття рішень.
Ai №7. Системи підтримки прийняття рішень.
 
Ai №6. Експертні системи.
Ai №6. Експертні системи.Ai №6. Експертні системи.
Ai №6. Експертні системи.
 
Ai №5. Азиломарські принципи ШІ
Ai №5. Азиломарські принципи ШІAi №5. Азиломарські принципи ШІ
Ai №5. Азиломарські принципи ШІ
 
Ai №4.
Ai №4.Ai №4.
Ai №4.
 
Моделювання на ЕОМ. Лекція №8. Теорія графів.
Моделювання на ЕОМ. Лекція №8. Теорія графів.Моделювання на ЕОМ. Лекція №8. Теорія графів.
Моделювання на ЕОМ. Лекція №8. Теорія графів.
 
Моделювання на ЕОМ. Лекція №7. Теорія графів.
Моделювання на ЕОМ. Лекція №7. Теорія графів.Моделювання на ЕОМ. Лекція №7. Теорія графів.
Моделювання на ЕОМ. Лекція №7. Теорія графів.
 
Принципы и проблемы построения Smart city
Принципы и проблемы построения Smart cityПринципы и проблемы построения Smart city
Принципы и проблемы построения Smart city
 
Интелектауальні системи та їх ПЗ №1-2
Интелектауальні системи та їх ПЗ №1-2Интелектауальні системи та їх ПЗ №1-2
Интелектауальні системи та їх ПЗ №1-2
 
Моделювання на ЕОМ. Лекція №4. Теорія подабності. Рекурсія.
Моделювання на ЕОМ. Лекція №4. Теорія подабності. Рекурсія.Моделювання на ЕОМ. Лекція №4. Теорія подабності. Рекурсія.
Моделювання на ЕОМ. Лекція №4. Теорія подабності. Рекурсія.
 
Моделювання на ЕОМ. Лекції №1-№3
Моделювання на ЕОМ. Лекції №1-№3Моделювання на ЕОМ. Лекції №1-№3
Моделювання на ЕОМ. Лекції №1-№3
 
Computers and Computing Works lecture №10
Computers and Computing Works lecture №10Computers and Computing Works lecture №10
Computers and Computing Works lecture №10
 

Computers and Computing Works lecture №7

  • 1. Лекція №7 Для спеціальності 151 “Автоматизація та комп’ютерно- інтегровані технології” 141 «Електроенергетика, електротехніка та електромеханіка» КНУБА, 2016 Соболевська Л.Г. sobolevska@atp.in.ua +38 066 251 89 80
  • 2.  Програмне забезпечення (ПЗ) - всі або частина програм, процедур, правил та відповідної документації системи обробки інформації (ISO / IEC 2382-1: 1993).  Програмне забезпечення (ПЗ) - комп'ютерні програми, процедури і, можливо, відповідна документація і дані, що відносяться до функціонування комп'ютерної системи (IEEE Std 829-2008).  Програмне забезпечення (ПЗ) - програма або безліч програм, що використовуються для управління комп'ютером (ISO / IEC 26514).
  • 4.
  • 5. програма або технічний засіб, який виконує трансляцію програми на машинну мову.
  • 7.
  • 8.  обслуговуюча програма, що виконує трансляцію на машинну мову програми, записаної на вихідній мові програмування.  Компілятор забезпечує перетворення програми з однієї мови на іншу (найчастіше, в мову конкретного комп'ютера). Існують мови, в яких одна команда вихідної мови транслюється в 7-10 машинних команд. Однак є й такі мови, в яких кожній команді може відповідати 100 і більше машинних команд.
  • 9.
  • 10.
  • 11. Асемблер – компілятор, що перетворює текст з мови асемблеру на машинну мову. Дизассемблер – комп'ютерна програма що транслює мову машинних кодів у мову асемблер. Дизасемблер представляє програмний код у вигляді асемблерного коду.
  • 12.  трансляція, при якій вихідний або проміжний код перетвориться (компілюється) в машинний код безпосередньо під час виконання, «на льоту» (just in time, JIT).  Компіляція кожної ділянки коду виконується тільки один раз; скомпільований код зберігається в кеші і при необхідності використовується повторно. Динамічна компіляція добре підходить для веб- додатків.
  • 13. Переваги динамічної компіляції в порівнянні з компіляцією:  швидкість роботи динамічно компільованих програм близька до швидкості роботи компільованих програм;  відсутність необхідності перекомпіляції програми при перенесенні на іншу платформу. Недоліки динамічної компіляції в порівнянні з компіляцією і чистої інтерпретацією:  велика складність реалізації;  великі вимоги до ресурсів.
  • 14.  програма або пристрій, що здійснює пооператорну трансляцію і виконання вихідної програми. На відміну від компілятора, інтерпретатор не породжує на виході програму на машинній мові. Розпізнавши команду вихідної мови, він тут же виконує її.  Переваги: дозволяє почати обробку даних після написання навіть однієї команди. Це робить процес розробки і налагодження програм більш гнучким. Відсутність вихідного машинного коду дозволяє не «захаращувати» зовнішні пристрої додатковими файлами.  Недолік: низька швидкість виконання програм. Зазвичай інтерпретовані програми виконуються в 50-100 разів повільніше програм, написаних у машинних кодах.
  • 15.  читати код і виконувати його одразу (чиста інтерпретація);  читати код, створювати в пам'яті проміжне представлення коду (байт-код або p-код), виконувати проміжне представлення коду (змішана реалізація).  У першому випадку трансляція не використовується, а в другому - використовується трансляція вихідного коду в проміжний код.
  • 16. аналізує і тут же виконує (власне інтерпретація) програму покомандно (або через підрядник), у міру надходження її вихідного коду на вхід інтерпретатора. Перевага – миттєва реакція. Недолік – виявляє помилки в тексті програми тільки при спробі виконання команди (або рядка) з помилкою.
  • 17.  система з компілятора, який переводить вихідний код програми в проміжне представлення, наприклад, в байт-код або p-код, і власне інтерпретатора, який виконує отриманий проміжний код (так звана віртуальна машина).  Перевага –більша швидкодія виконання програм (за рахунок виносу аналізу вихідного коду в окремий, разовий прохід, і мінімізації цього аналізу в інтерпретаторі).  Недоліки - більше вимога до ресурсів і вимога на коректність вихідного коду. Застосовується в таких мовах, як Java, PHP, Tcl, Perl, а також в різних СУБД.
  • 20.
  • 21. Системне ПЗ - це сукупність програм для забезпечення управління роботою всіх складових комп'ютера, таких як процесор, пам'ять, система введення- виведення тощо. Системне ПЗ є зв’язуючою ланкою між прикладним ПЗ та апаратурою, воно не вирішує конкретних задач користувача, але дозволяє встановлювати і використовувати прикладні програми.
  • 23. Прикладне ПЗ - це комплекс програм для вирішення завдань певного класу конкретної предметної області. Прикладне ПЗ працює тільки при наявності системного ПЗ. Прикладні програми називають додатками.
  • 24. Прикладне ПЗ текстові процесори; табличні процесори; бази даних; інтегровані пакети; системи ілюстративної і ділової графіки (графічні процесори); експертні системи; навчальні програми; програми математичних розрахунків, моделювання та аналізу; ігри; комунікаційні програми
  • 26. За видами компонент: програма, розглянута як єдине ціле, що виконує закінчену функцію і застосовувана самостійно або в складі комплексу комплекс: програма, що складається з двох або більше компонентів і (або) комплексів, що виконують взаємозв'язані функції, і застосовувана самостійно або в складі іншого комплексу
  • 28.  Пропрієтарне або комерційне програмне забезпечення (Proprietary software; від proprietary - приватне, патентований, у складі власності та software - програмне забезпечення) - програмне забезпечення, яке є приватною власністю авторів або правовласників і не задовольняє критеріям вільного ПЗ (наявності відкритого програмного коду недостатньо). Правовласник пропрієтарного ПЗ зберігає за собою монополію на його використання, копіювання та модифікацію, повністю або в суттєвих моментах. Зазвичай пропрієтарним називають будь- яке невільне, включаючи напіввільне.
  • 29.  Обмеження на комерційне використання.  Існує величезна кількість програмних продуктів, які дозволяють безкоштовне використання в некомерційних цілях для приватних осіб, медичних та навчальних закладів, для некомерційних організацій, однак вони вимагають оплати в разі використання програмного продукту з метою отримання прибутку.  Обмеження на розповсюдження.  Цей вид обмежень супроводжує зазвичай великі програмні проекти, коли правовласник вимагає оплати за кожну копію програми. Зазвичай з таким обмеженням використовуються програмні продукти, орієнтовані на вузький «професійний» сегмент ринку або програмне забезпечення, потрібне великому числу користувачів.  Обмеження на вивчення, модифікацію, тощо.  Цей вид обмеження використовується тільки в програмних пакетах із закритими вихідними кодами і може забороняти або обмежувати будь-яку модифікацію програмного коду, дизасемблювання і декомпіляцію.
  • 30.  вільний софт - програмне забезпечення, користувачі якого мають права («свободи») на його необмежену установку, запуск, а також вільне використання, вивчення, поширення і зміна (вдосконалення), і поширення копій і результатів зміни. Якщо на програмне забезпечення є виняткові права, то свободи оголошуються за допомогою вільних ліцензій.  Як і безкоштовне (freeware) і безкоштовно поширюване програмне забезпечення, ВПЗ можна використовувати і зазвичай отримати безкоштовно (але конкретний розповсюджувач може стягувати плату за отримання у нього копій, за канали доставки, носії - компакт-диски або додаткові сервісні послуги). Однак freeware зазвичай поширюється у виконуваному вигляді без вихідних кодів і є пропрієтарним ПЗ, а щоб ПЗ було вільним, одержувачам повинні бути доступні його вихідні коди, з яких можна створювати виконувані файли, разом з відповідними ліцензіями. Через те, що словом «продаж» називають і продаж оригіналу, і розповсюдженням копій за гроші, і платне ліцензування (зазвичай на невільних умовах), деякі все ж вважають вільне ПЗ підмножиною безкоштовного.  Часто розрізняють вільне і відкрите ПЗ (open source) - хоча доступність вихідного коду для ВПЗ є обов'язковим, а багато відкриті програми є одночасно вільними, але відкритим іноді називають і деякий невільне пропрієтарне ПЗ (наприклад, комерційне ПЗ з відкритим вихідним кодом, Shared source) .  Рух ВПЗ зародилося в 1983 році, коли Річард Столлман сформував ідею про необхідність дати програмну свободу (Software freedom) користувачам. У 1985 році Столлман заснував Фонд вільного програмного забезпечення, щоб забезпечити організаційну структуру для просування своєї ідеї.
  • 31.  Згідно з сучасним законодавством більшості країн, програмний продукт і його вихідний код охороняються авторським правом, яке дає авторам і правовласнику владу над зміною, розповсюдженням, способом використання і поведінкою програми, включаючи випадки, коли вихідний код опублікований. Сила влади авторських прав в сучасному суспільстві настільки велика, що навіть вивчення або спроби виправлення помилок програм шляхом дизасемблювання можуть переслідуватися кримінальним правом.  Вихідні коди відкритих програм випускаються або як суспільне надбання, або на умовах «вільних» ліцензій - як, наприклад, GNU General Public License або BSD License. Вільна ліцензія дозволяє використовувати вихідний код програми для своїх потреб з мінімальними обмеженнями, що не суперечать визначенню OpenSource.org. Таким обмеженням може бути вимога посилатися на попередніх творців або вимога зберігати властивість відкритості при подальшому поширенні тієї ж самої або модифікованої відкритої програми (копілефт). У деяких випадках (наприклад, Apache або FreeBSD) ці обмеження дуже малі, в інших (наприклад, GNU General Public License) досить поширювати ПЗ разом з вихідним кодом і текстом ліцензії, не змінюючи її.  Вільне ПЗ легко комерціалізується - існує безліч бізнес-моделей, де виключена необхідність оплати копій програми. Наприклад, високу популярність має бізнес- модель, коли підприємець може заробити за рахунок надання послуг технічної підтримки. Правовласнику вільного коду може бути цікавий інший варіант - реалізація програмних продуктів на умовах комерційної ліцензії, у разі, якщо клієнту необхідно інтегрувати вільний код в пропрієтарне програмне забезпечення, але він не бажає розкриття своїх розробок.
  • 32.  програмне забезпечення з відкритим вихідним кодом. Вихідний код таких програм доступний для перегляду, вивчення та зміни, що дозволяє користувачеві взяти участь у доопрацюванні найбільш відкритою програми, використовувати код для створення нових програм та виправлення в них помилок - через запозичення вихідного коду, якщо це дозволяє сумісність ліцензій, або через вивчення використаних алгоритмів, структур даних, технологій, методик та інтерфейсів (оскільки вихідний код може істотно доповнювати документацію, а за відсутності такої сам служить документацією).
  • 33.  Термін open source був створений разом з визначенням в 1998 році Еріком Реймондом і Брюсом Перенс, які стверджували, що термін free software (вільне програмне забезпечення) в англійській мові неоднозначний.  Переважна більшість відкритих програм є одночасно вільними. Визначення відкритого і вільного ПЗ не повністю збігаються один з одним, але близькі, і більшість ліцензій відповідають обом.  Відмінність між прихильниками відкритого і вільного ПЗ полягає в основному в пріоритетах. Прихильники терміна «open source» роблять упор на ефективність відкритих початкових кодів як методу розробки, модернізації та супроводу програм. Прихильники терміна «free software» вважають, що саме права людини на вільне поширення, модифікацію і вивчення використовуваних ним програм є головним достоїнством вільного відкритого ПЗ.
  • 34.  З 2006 року тестінговою компанією Coverity спільно з американським Відділом національної безпеки проводили дослідження як у відкритому, так і закритому секторі розробки ПЗ, за результатами року вони публікували звіт.  За результатами 2011 року, виявилося, що відкритий вихідний код не поступається за якістю пропрієтарному.  Найякіснішими проектами були визнані Linux 2.6, PHP 5.3, і PostgreSQL 9.1, якість яких визначалося за дефектною щільностю (число дефектів на тисячу рядків коду), які були рівні 0.62, 0.20, і 0.21 відповідно.
  • 35.
  • 36. (operating system, OS) — це програмний комплекс, що забезпечує керування апаратними засобами комп'ютера, а також надає середовище для виконання прикладних программ і організовує взаємодію з користувачем. Операційна система звичайно складається з ядра операційної системи та базового набору прикладного програмного забезпечення.
  • 37.  Виконання на вимогу програм користувача тих елементарних (низькорівневих) дій, які є спільними для більшості програмного забезпечення і часто зустрічаються майже у всіх програмах (введення та виведення даних, запуск і зупинка інших програм, виділення та вивільнення додаткової пам'яті тощо).  Організація середовища в якому виконуються і взаємодіють прикладні програми.  Розподіл апаратних ресурсів комп’ютера.  Стандартизований доступ до периферійних пристроїв (пристрої введення-виведення).  Завантаження програм у оперативну пам'ять і їх виконання.  Керування оперативною пам'яттю (розподіл між процесами, організація віртуальної пам'яті).  Керування доступом до даних енергонезалежних носіїв (твердий диск, оптичні диски тощо).  Організація зберігання даних.  Забезпечення користувацького інтерфейсу.  Мережеві операції, підтримка стеку мережевих протоколів.
  • 38.  Паралельне або псевдопаралельне виконання задач (багатозадачність).  Розподіл ресурсів обчислювальної системи між процесами.  Організація надійних обчислень (неможливості впливу процесу на перебіг інших), основана на розмежуванні доступу до ресурсів.  Взаємодія між процесами: обмін даними, синхронізація.  Захист самої системи, а також користувацьких даних і програм від дій користувача або програм.  Багатокористувацький режим роботи та розділення прав доступу (автентифікація, авторизація).
  • 39. універсальні (для загального використання); спеціальні (для розв'язання спеціальних задач); спеціалізовані (виконуються на спеціальному обладнанні); однозадачні (в окремий момент часу можуть виконувати лише одну задачу); багатозадачні (в окремий момент часу здатні виконувати більше однієї задачі);
  • 40.  однокористувацькі (в системі відсутні механізми обмеження доступу до файлів та на використання ресурсів системи);  багатокористувацькі (система впроваджує поняття "власник файлу" та забезпечує механізми обмеження на використання ресурсів системи (квоти)), всі багатокористувацькі операційні системи також є багатозадачними;  реального часу (система підтримує механізми виконання задач реального часу, тобто такі, для яких будь які операції завжди виконуються за наперед передбачуваний і незмінний при наступних виконаннях час).
  • 41. стандартні (відповідають одному з загальноприйнятих відкритих стандартів, найчастіше POSIX); нестандартні (в тому числі такі, що розробляються відповідно до корпоративних стандартів).
  • 42.  ядро операційної системи, що забезпечує розподіл та управління ресурсами обчислювальної системи;  базовий набір прикладного програмного забезпечення, системні бібліотеки та програми обслуговування. Ядро системи — це набір функцій, структур даних та окремих програмних модулів, які завантажуються в пам'ять комп'ютера при завантаженні операційної системи та забезпечують три типи системних сервісів:  управління введенням-виведенням інформації (підсистема вводу-виводу ядра ОС);  управління оперативною пам'яттю (підсистема управління оперативною пам'яттю ядра ОС);  управління процесами (підсистема управління процесами ядра ОС).
  • 43.  шляхом надання процесора окремій задачі на квант часу, який визначається самою задачею (кооперативна багатозадачність; останнім часом практично не використовується або область використання значно обмежена всередині процесів);  шляхом надання процесора окремій задачі на квант часу, який визначається обладнанням обчислювальної системи - інтервальним таймером;  виділення під окрему задачу окремого процесора в багатопроцесорних системах.
  • 44.