Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
M1_1spLm.doc
Скачиваний:
1
Добавлен:
18.09.2019
Размер:
244.74 Кб
Скачать

Мета дисципліни

  • розкриття концепцій, методів і технологій сучасних системного програмування;

  • ознайомлення з організацією вбудованих інформаційних структур і баз даних системних програм та їх елементів;

  • програмування підпрограм і функцій для обробки елементів даних системних програм;

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

  • одержання навичок настроювання і взаємодії з операційними системами, системними обробляючими програмами та їх елементами.

Призначення системних програм в захищених системах та технологіях комунікацій

  • автоматизація підготовки і розв’язання задач до обробки на обчислювальних комплексах зі спецобладнанням захисту;

  • модифікація системних програм відповідно до нових вимог та умов використання;

  • автоматизація виконання задач на обчислювальних комплексах та вбудованих комп'ютерах.

  1. Системні управляючі та оброб­ляючі програми

Програмні засоби поділяються на системні засоби i засоби користувачів (прикладні або проблемні). Програмні засоби користувачів включають в себе програми i бібліотеки – комплекси програм, які зберігаються довгостроково. До проблемного ПЗ відносять програми, що розв’язують задачі користувачів, а до системного – спеціальні програми, що забезпечують автоматизоване виконання i прог­рамування задач в (обчислювальних комплексах) ОК при складанні, підготовці i виконанні інших програм, призначених для розв’язання задач. При розв’я­зан­ні задач в ОК утворюються обчислювальні процеси (ОП) i процеси обміну з зовнішніми пристро­ями, які виконуються за програмами, вміщеними до системи.

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

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

Системні програми

Обробляючі програми

Управляючі програми

Текстові процесори

Транслятори

Зв’язуючі оболонки

Компонувальники

Інформаційні бази

Допоміжні програми, утілити, тощо...

Ініціалізація

Управління задачами

Управління обміном

Управління пам'яттю

Системні служби ...

Фільтри, утілити...

Просте редагування

Супроводження корекцій

Інтерпретатори

Компілятори

Зв'язки етапів побудови проектів

Об’єктні бібліотеки і модулі

Реляційні бази даних

Системні ресурси

Ресурси користувача

Програми BIOS

Завантажувачі

Обробники команд Супервізори

Драйвери

Інтерфейси

Віртуальна пам'ять

Динамічна пам'ять

Служба часу

Служби доступу до даних

Рис. 1.1 Типи системних програм

Системні управляючі програми, які організують коректне виконання процесів i функціонування всіх пристроїв системи при розв’язанні задач, як правило, постійно зберігаються в основній пам’яті. Вони складають так зване ядро системи i є резидентними програмами, а ті керуючі програми, для яких не вистачає місця в основній пам’я­ті, i які заносяться в пам`ять безпосередньо перед виконанням, називають транзитними. Більшість системних керуючих програм виконується непомітно або прозоро для користувача.

Початкова підготовка або ініціалізація ОК починається після його включення або натиснення кнопки "Reset", після чого ко­ман­ди BIOS (базової системи введення-виведення) виконують попе­ред­ню підготовку зовнішніх пристроїв i переносять програми ядра ОС до головної пам’яті. Ядро ОС складають програми, що керують процесом виконання програм, диспетчеризацію ресурсів, плану­ван­ня і керування обчислювальними процесами (ОП), їхню синхроні­за­цію ОП та обробку переривань, організацію розділів пам’я­ті, їх сегмен­тування, динамічне i оверлейне розміщення модулів, керу­ван­ня зовнішніми пристроями, обробку запитів введення-виве­ден­ня, виділення пам’яті, керування даними, накопичення даних в буферах, ве­ден­ня каталогів. Оточення ядра ОС складають утілити, редактори, компілятори та інші обслуговуючі програмні засоби. Ядро ОС постійно знаходиться в головній пам’яті, а решта ПЗ зберігається на зовнішніх носіях та за необхідністю завантажується в оперативну або віртуальну пам’ять.

Основні функції системних керуючих програм визначаються їх основною метою: організації надійного розв`язання задач за умов ефективного використання наявних ресурсів обчислювальної системи. За послідовністю виконання можна перелічити такі групи функцій:

- ініціалізація або початкове завантаження системи;

- організація внутрішньої служби часу;

- організація інформаційного обміну;

- ефективна організація обчислювальних процесів;

- керування розподілом i використанням пам’яті обчислювальної системи;

- організація захисту внутрішньої інформації задач від несанкціонованого втручання та помилкового руйнування.

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

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

Редактори тексту – це програми для введення чи модифікації тексту, який потрібно запам'ятати або який вже зберігається в зовнішній пам’яті. Текстові процесори забезпечують супроводження редагування та більш складні автоматизовані операції редагування. Транслятори реалізують програми складені вхідною мовою програмування в режимах інтерпретації або виконання та компіляції або формування кодів. Транслятор програм з машинно-орієнтова­ної мови Асемблеру зветься асемблером, а з мови високого рівня компілятором або інтерпретатором. Асемблери i компілятори формують так звані об’єктні модулі, що дозволяють об'єднувати програмні фрагменти, складені на різних мовах.

Компонувальник або редактор зв’язків – це програма, що об'єднує виконувану програму з бібліотекою та іншими раніше протрансльованими програмними модулями. Програми налагодження розміщують виконувану програму в пам’я­ті i дозволяють виконувати програми в режимах трасування з відображенням результатів, налагодження крок за кроком та налагодження в режимі використання адрес налагоджувальних переривань обчислень. Оболонки для комплексного використання системних обробляючих програм формують зв’язки між програмами i передають дані для формування повідомлень про помилки i підказки корекцій.

Вимоги до системних програм формулюються з міркувань прозорості або непомітності роботи службових програм i призводять до необхідності виконання вимог гарантованої надійності функціонування за специфікаціями, гранично швид­кого виконання, мінімальних витрат на збереження кодів i використання стандартних засобів зв'язку з проблемними програмами.

Вимоги до мов системного програмування на відміну від загальних комп’ю­тер­них мов повинні забезпечити ефективний доступ до ресурсів комп’ютерної архітектури і, насамперед, до елементів архітектури процесорів. Частково ці вимоги забезпечуються у мові C/C++ і більш детально на машинно-орієнтованій мові Асемблера. Мови такого типу відображують всі програмно доступні елементи архітектури процесора і зв’язаних з ним вузлів обчислювальної та комунікаційної систем. Однак в останній час деякі фірми, насамперед, Microsoft обмежують безпосередній доступ до ресурсів процесора і залишають лише можливість вставок на мові Асемблера до мов високого рівня, що вимагає від системного програміста досконалого знання реалізації абстрактної машини мови програмування у використаній підсистемі генерації кодів.

Як правило реалізації сучасних генераторів виконавчих кодів достатньо ефективні, тому використання вставок на мові Асемблера можуть рекомендуватися лише для тих випадків, коли необхідні машинні команди не можуть бути сформовані генераторами кодів.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]