Презентація до уроку інформатики "Програмне забезпечення комп'ютера". Програмне забезпечення ПК




Зв'язування

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

Зв'язування - процес встановлення відповідності між об'єктами та їх властивостями у програмі формальною мовою (операції, оператори, дані) та елементами архітектури комп'ютера (команди, адреси).

Часом зв'язуванняназивається відповідно фаза підготовки програми до виконання (трансляція, компонування, завантаження), на якій провадиться ця дія. Різні характеристики однієї й тієї ж об'єкта (наприклад, змінної) можуть пов'язуватися з різними елементами архітектури у час, тобто процес зв'язування перестав бути одномоментним.

Системне програмне забезпечення

Можливі часи зв'язування

При визначенні мови; під час реалізації компілятора;

під час трансляції, у тому числі:

під час роботи препроцесора (макропроцесора)

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

при компонуванні; під час завантаження програми;

під час виконання програми, у тому числі: - при вході в модуль (процедуру, функцію); у довільній точці виконання програми.

Системне програмне забезпечення

Зв'язування int a,b; … a+b

Тип змінних int - ціла змінна в машинному слові стандартної довжини (подання цілого зі знаком, додатковий код), пов'язується з аналогічною формою представлення даних у комп'ютері щодо мови.

Конкретна розмірність змінної int визначається під час реалізації відповідного компілятора.

Ім'я a може бути визначене у конструкції виду

#define a 0x11FF. У цьому випадку ім'я (псевдо-змінна) пов'язується зі своїм значенням на першій фазі трансляції – у препроцесорі.

Системне програмне забезпечення

Зв'язування int a,b; … a+b

Якщо змінна визначається звичайним способом як int a; то зв'язування змінної з відповідним їй типом відбувається під час трансляції (на фазі семантичного аналізу).

Якщо змінна визначається як зовнішня (глобальна, поза тілом функції), то сенс її трансляції полягає у розподілі під неї пам'яті в сегменті даних програми, що створюється для поточного модуля (файлу). При цьому сама прив'язка розподіленої пам'яті до конкретної оперативної пам'яті здійснюється за кілька етапів:

Системне програмне забезпечення

Зв'язування int a,b; … a+b

при трансляції змінна прив'язується до деякої відносної адреси в сегменті даних об'єктного модуля (тобто її розміщення фіксується лише щодо початку модуля).

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

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

Системне програмне забезпечення

Зв'язування int a,b; … a+b

Якщо програма працює над фізичної, а віртуальної пам'яті, процес завантаження може бути дещо іншим. Програмний модуль умовно вважається завантаженим у деякий віртуальний адресний простір (з переміщенням або без нього як усієї програми, так і окремих її сегментів). Реальне завантаження програми в пам'ять здійснюється вже в процесі роботи програми частинами (сегментами, сторінками), причому встановлення відповідності (або зв'язування) віртуальних та фізичних адрес здійснюється динамічно операційною системою з використанням відповідних апаратних засобів.

Системне програмне забезпечення

Зв'язування int a,b; … a+b

Якщо змінна визначається як автоматична (локальна всередині тіла функції або блоку), вона розміщується в стеку програми:

під час трансляції визначається її розмірність та генеруються команди, які резервують під неї пам'ять у стеку в момент входу в тіло функції (блок). Тобто у процесі трансляції змінна зв'язується лише з відносним адресою в стеку програми;

зв'язування локальною змінною з її адресою в сегменті стека здійснюється при виконанні в момент входу в тіло функції (блок). Завдяки такому способу зв'язування в рекурсивній функції існує стільки «примірників» локальних змінних, скільки функція викликає сама себе.

Опис презентації з окремих слайдів:

1 слайд

Опис слайду:

2 слайд

Опис слайду:

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

3 слайд

Опис слайду:

4 слайд

Опис слайду:

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

5 слайд

Опис слайду:

6 слайд

Опис слайду:

Базове ПЗ - сукупність програм, що забезпечують роботу комп'ютера. У базове програмне забезпечення входять: операційні системи, операційні оболонки (shell). Операційна система (ОС) – програма, що перша завантажується при включенні комп'ютера. Перша ОС для IBM-сумісного комп'ютера (MS DOS) було створено 1981 року. ОС організовує виконання інших програм. Без неї неможлива робота людини на комп'ютері. ОС управляє комп'ютером, його ресурсами (оперативною пам'яттю, місцем на дисках і т. д.), запускає сервісні функції, контролює роботу технічних пристроїв та деяких допоміжних програм, здійснює діалог з користувачем, запускає виконання прикладні та інші програми. Операційні системи є основними програмними комплексами, що виконують такі основні функції: 1) тестування працездатності обчислювальної системи та її налаштування при початковому включенні; 2) забезпечення синхронної та ефективної взаємодії всіх апаратних та програмних компонентів обчислювальної системи в процесі її функціонування; 3) забезпечення ефективної взаємодії користувача з обчислювальною системою. ОС класифікуються на: · Однокористувацькі однозадачні системи (MS-DOS та ін); · Однокористувацькі багатозадачні системи (OS/2, Windows 95/98/2000 та ін, Vista); · Багатокористувацькі (мережеві) системи (сімейство UNIX, Linux, Windows NT та ін). До основних функцій мережевих ОС, призначених для роботи в різних мережах, належать: керування каталогами та файлами; захист від несанкціонованого доступу; забезпечення відмовостійкості; керування мережею. Найпростішими мережевими є ОС для однорангових мереж. Їхня функція полягає у розділенні дисків різних вузлів між усіма користувачами, дотриманні паролів та заборон на використання певних дисків.

7 слайд

Опис слайду:

Операційні оболонки – інтерфейс для взаємодії користувачів з операційною системою. Операційні оболонки інтерпретують (переводять у машинний код та виконують) команди ОС. Види операційних оболонок: графічні - для введення команд ОС за допомогою меню, перемикачів, кнопок, представлених у вигляді графічних зображень (Провідник Windows, що включає "Робочий стіл", меню "Пуск", панель завдань та файловий менеджер) Текстові командний рядок - для введення команд ОС з клавіатури (cmd.exe, Windows PowerShell, що входять до ОС MS Windows) пакети - для запису послідовності команд ОС у файл (файл з розширенням.bat), далі файл інтерпретується. вікна - для введення команд ОС у вигляді меню, перемикачів, кнопок, які у вигляді набору букв, цифр і символів псевдографики.

8 слайд

Cлайд 1

Програмне забезпечення Розробив: Викладач інформатики Сабойдалова М..А. ДБОУ СПО КО«Комунально-будівельний технікум», м.Калуга

Cлайд 2

Комп'ютер Програмне забезпечення комп'ютера – це вся сукупність програм, що зберігаються у довгостроковій пам'яті

Cлайд 3

Види програмного забезпечення Системне ПЗ Інструментальне ПЗ 1. Базове ПЗ: операційні системи; оболонки; мережеві ОС 2.Сервісне ПЗ: діагностики; антивірусні; обслуговування носіїв; архівування; обслуговування мережі Прикладне програмне забезпечення Системне програмне забезпечення - це сукупність програм для забезпечення роботи комп'ютера

Cлайд 4

Види програмного забезпечення Прикладне програмне забезпечення - це комплекс програм для вирішення завдань конкретної предметної області текстові процесори; табличні процесори; бази даних (СУБД); інтегровані пакети; графічні процесори; експертні системи; навчальні програми; ігри; комунікаційні програми

Cлайд 5

Види програмного забезпечення Інструментальне ПЗ- це сукупність програм для розробки, налагодження та впровадження нових програм транслятори; середовище розробки програм; бібліотеки довідкових програм; відладчики; редактори зв'язків

Cлайд 6

Базове ПЗ Операційна система (ОС) Набір програм, що управляють ОЗП, процесором, зовнішніми пристроями та файлами, що ведуть діалог з користувачем Діалогові оболонки Надбудови до ОС, що забезпечують користувачеві дружній інтерфейс Сервісне ПЗ Програми обслуговування дисків Програми стиснення файлів на дисках Антивірус. ОС Діалог з користувачем Управління ресурсами (процесорним часом, внутрішньою пам'яттю, зовнішніми пристроями) Робота з файлами

Cлайд 7

Операційна система (ОС) – комплекс взаємопов'язаних системних програм, призначення якого – організувати взаємодію користувача з комп'ютером та виконання всіх інших програм.

Cлайд 8

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

Cлайд 9

Cлайд 10

Linux – дуже потужна та стабільна ОС. Використання його в Мережі виправдовує себе, та й зламати його не так вже й легко. У Linux немає поділу на диски С, D і процес спілкування з пристроями дуже зручний. Усі пристрої мають власний системний файл

Cлайд 11

Інтерфейс користувача Меню – це список на екрані, з якого користувач може вибрати потрібні йому елементи Дружній інтерфейс користувача – зручний для користувача спосіб спілкування з комп'ютером Інтерфейс – це спосіб спілкування програми з користувачем з меню Введення команд шляхом натискання функціональних або гарячих клавіш (комбінацій клавіш) Текстове меню Піктографічне меню

Cлайд 12

Характеристика поколінь ЕОМ I 1945-60-e II 1955-70-e III 1965-80-e IV 1975-… V ? Елементна база Електронні лампи Транзистори ІС та БІС СВІС та мікропроцесори Оптоелектро-ніка, кріоелектроніка Максимальна швидкодія процесора (опер/сек) 10 – 20 тис 100 тис –1 млн 10 млн 109 + багато-процесорність 1012 + багато-процесорність ємність ОЗП (Кбайт) 100 1000 10 000 10 000 000 100 000 000 Периферійні пристрої Магнітна стрічка, перфокарти та перфострічки, цифровий друк Магнітна стрічка, перфоносії, алфавітно Кольоровий графічний екран, клавіатура, принтери. , модеми + пристрої введення з голосу, пристрої читання рукописного тексту та ін. -32 IBM 360/370, ЄС ЕОМ, СМ ЕОМ ПК: IBM PC, Macintosh, СуперЕОМ: Cray, Cyber, Ельбрус

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


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




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




Редактори документів – це вид прикладних програм, що найбільш широко використовується. Вони дозволяють готувати документи набагато швидше і зручніше, ніж за допомогою друкарської машинки. Текстові редактори можуть забезпечувати виконання різноманітних функцій, а саме: Табличні процесори. Табличні процесори є зручним засобом для проведення бухгалтерських та статистичних розрахунків. У кожному пакеті є сотні вбудованих математичних функцій та алгоритмів статистичної обробки даних. Крім того, є потужні засоби для зв'язку таблиць між собою, створення та редагування електронних баз даних. Системи автоматизованого проектування (САПР) або CAD (Computer-Aided Design) програмний пакет, призначений для створення креслень, конструкторської та/або технологічної документації та/або 3D моделей. Серед систем малого та середнього класу у світі найбільш популярна система AutoCad фірми AutoDesk. Вітчизняний пакет із аналогічними функціями – Компас


Графічні редактори дозволяють створювати та редагувати малюнки. У найпростіших редакторах надаються можливості малювання ліній, кривих, розмальовки областей екрану, створення написів різними шрифтами тощо. Більшість редакторів дозволяють обробляти зображення, отримані за допомогою сканерів. Представники графічних редакторів програми Adobe Photoshop, Corel Draw. Системи управління базами даних (СУБД) дозволяють керувати великими інформаційними масивами – базами даних. Програмні системи цього виду дозволяють обробляти на комп'ютері масиви інформації, забезпечують введення, пошук, сортування, вибірку записів, складання звітів і т.д. Представники цього класу програм – Microsoft Access, Clipper, Paradox, FoxPro. Інтегровані системи поєднують можливість системи управління базами даних, табличного процесора, текстового редактора, системи ділової графіки, котрий іноді інші можливості. Як правило, всі компоненти інтегрованої системи мають схожий інтерфейс, що полегшує навчання роботі з ними. Представники інтегрованих систем – пакет Microsoft Office та його безкоштовний аналог Open Office.


Системні програми виконуються разом із прикладними і служать керувати ресурсами комп'ютера центральним процесором, пам'яттю, вводом-выводом. Це програми загального користування, які призначені всім користувачам комп'ютера. Системне програмне забезпечення розробляється так, щоб комп'ютер міг ефективно виконувати прикладні програми.


Системне програмне забезпечення можна розділити на: Базове програмне забезпечення (base software) мінімальний набір програмних засобів, що забезпечують роботу комп'ютера. До базового програмного забезпечення входять: операційна система; операційні оболонки (текстові та графічні); мережна операційна система. Сервісне програмне забезпечення програми та програмні комплекси, які розширюють можливості базового програмного забезпечення та організують зручніше середовище роботи користувача – утиліти.


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


Утиліти (лат. utilitas користь) - або розширюють і доповнюють відповідні можливості операційної системи, або вирішують важливі самостійні завдання. Коротко опишемо деякі різновиди утиліт: програми контролю, тестування та діагностики програми-пакувальники (архіватори) програми-драйвери антивірусні програми програми для створення резервних копій інформації програми для управління пам'яттю програми оптимізації та контролю якості дискового простору; програми оптимізації та контролю якості дискового простору; комунікаційні програми та ін.


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


Антивірусні програми, призначені для запобігання зараженню комп'ютерними вірусами та ліквідації наслідків зараження вірусами; Представники антивірусного сімейства програм – Kaspersky Antivirus, DrWeb, Norton Antivirus. Програми створення резервних копій інформації дозволяють періодично копіювати важливу інформацію, що знаходиться на жорсткому диску комп'ютера, на додаткові носії. Представники програм резервного копіювання – APBackUp, Acronis True Image програми оптимізації та контролю якості дискового простору; комунікаційні програми, призначені організації обміну інформацією між комп'ютерами. Ця програма дозволяє зручно пересилати файли з одного комп'ютера на інший при з'єднанні кабелем їх послідовних портів. Інший вид таких програм забезпечує можливість зв'язку комп'ютерів телефонної мережі (за наявності модему). Вони дають змогу надсилати та приймати телефаксні повідомлення. Представники комунікаційних програм – Venta Fax, Cute FTP. програми для управління пам'яттю, що забезпечують гнучкіше використання оперативної пам'яті;


Інструментальні програмні засоби – це програми, які використовуються в ході розробки, коригування або розвитку інших прикладних або системних програм. Інструментальні програмні засоби можуть допомогти на всіх стадіях розробки ПЗ. За своїм призначенням вони близькі системам програмування.


Система програмування - це система для розробки нових програм конкретною мовою програмування. Сучасні системи програмування зазвичай надають користувачам потужні та зручні засоби розробки програм. Вони включають: компілятор чи інтерпретатор; компілятор чи інтерпретатор інтегрована середовище розробки; засоби створення та редагування текстів програм; великі бібліотеки стандартних програм та функцій; налагоджувальні програми, тобто. програми, що допомагають знаходити та усувати помилки у програмі; потужні графічні бібліотеки; утиліти до роботи з бібліотеками вбудована довідкова служба; Інші специфічні особливості.


Транслятор (англ. translator перекладач) це програма-перекладач. Вона перетворює програму, написану однією з мов високого рівня, на програму, що складається з машинних команд. Транслятори реалізуються як компіляторів чи інтерпретаторів. З погляду виконання роботи компілятор та інтерпретатор суттєво різняться. Компілятор (англ. compiler укладач, збирач) читає всю програму цілком, робить її переклад і створює закінчений варіант програми машинною мовою, який потім і виконується. Інтерпретатор (англ. interpreter тлумач, усний перекладач) перекладає та виконує програму рядок за рядком. Після того, як програма відкомпільована, ні вихідна програма, ні компілятор більше не потрібні. У той же час програма, що обробляється інтерпретатором, повинна заново перекладатися машинною мовою при кожному черговому запуску програми. Відкомпіловані програми працюють швидше, але простіше виправляти і змінювати інтерпретовані. Популярні системи програмування – Turbo Basic, Quick Basic, Turbo Pascal, Turbo C. Borland C++, Borland Delphi та ін.


Сьогодні більшість систем плавно перетікають у Web. Всесвітнє павутиння затягує все більше і більше програм. Бази даних набувають Web-інтерфейси користувачів, замість наявних раніше настільних додатків. Зрештою, варто очікувати, що кінцевому користувачеві буде потрібен лише веб-браузер, щоб мати можливість задовольняти всі можливі потреби програмного забезпечення. У разі користувачеві однаково, яка операційна система управляє локальним комп'ютером, головне - надійність і продуктивність сервера. (Наприклад, пакет Microsoft Office може бути встановлений на віддалених серверах, а не на системах кінцевих користувачів, але запуск програм буде відбуватися не менш швидко, ніж на локальних ПК). Таким чином, всі програми матимуть можливість як локального виконання, так і дистанційного запуску через Web.

Слайд 2

Організація пам'яті

Фізична пам'ять, до якої процесор має доступ по шині адреси називається оперативною пам'яттю (або оперативним пристроєм, що запам'ятовує - ОЗУ). ОЗУ організовано як послідовність осередків – байтів. Кожному байту відповідає свою унікальну адресу (його номер), яку називають фізичною. Діапазон значень фізичних адрес залежить від розрядності шини адреси процесора. Для 80486 та Pentium він знаходиться в межах від 0 до 232 – 1 (4 Гбайт). Для процесорів PentiumPro/II/III/IV цей діапазон ширший – від 0 до 236 – 1 (64 Гбайт). Процесор 8086 мав 1 Мбайт пам'яті при 20-розрядній шині адреси - від 0 до 220-1.

Слайд 3

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

Слайд 4

До речі, інша назва фізичної адреси – лінійна адреса. Подібна двоїстість у назві якраз обумовлена ​​наявністю сторінкової моделі організації оперативної пам'яті. Ці назви є синонімами лише при відключенні сторінкового перетворення адреси (в реальному режимі сторінкова адресація завжди вимкнена). У сторінковій моделі лінійна та фізична адреси мають різні значення. Механізм управління пам'яттю є повністю апаратним і дозволяє забезпечити: компактність зберігання адреси в машинній команді; гнучкість механізму адресації; захист адресних просторів завдань у багатозадачній системі; підтримку віртуальної пам'яті.

Слайд 5

У сімействі процесорів 80х86 вибір методу звернення до пам'яті визначається режим роботи процесора. У реальному режимі процесор може звертатися лише до першого мегабайту пам'яті, адреси якого знаходяться в діапазоні від 00000 до FFFFF у шістнадцятковому виразі. При цьому процесор працює в однопрограмному режимі (тобто в певний момент часу він може виконувати лише одну програму). Однак при цьому він може в будь-який момент перервати її виконання і перейти на процедуру обробки переривання, що надійшов від одного з периферійних пристроїв. Будь-якій програмі, яку виконує в цей момент процесор, дозволено доступ без обмеження до будь-яких областей пам'яті, що знаходяться в межах першого мегабайта: до ОЗУ - читання та запису, а до ПЗУ, зрозуміло, тільки читання. Реальний режим роботи процесора використовується в операційній системі MS DOS, а також системах Windows 95 і 98 при завантаженні в режимі емуляції MS DOS.

Слайд 6

У захищеному режимі процесор може виконувати кілька програм. При цьому кожному процесу (тобто програмі, що виконується) може бути призначено до 4 Гбайт оперативної пам'яті. Щоб запобігти взаємному впливу програм, що виконуються один на одного, їм виділяються ізольовані ділянки пам'яті. У захищеному режимі працюють такі ОС, як MS Windows та Linux. У віртуальному режимі адресації процесора 8086 останній насправді працює в захищеному режимі. Для кожного завдання створюється власна віртуальна машина, якою виділяється ізольована область пам'яті розміром 1 Мбайт, і повністю емулює роботу процесора 80x86 в реальному режимі адресації. Наприклад, в операційних системах Windows 2000 і ХР віртуальна машина процесора 8086 створюється щоразу під час запуску користувачем вікна командного інтерпретатора (сеансу MS DOS).

Слайд 7

Реальний режим адресації Відмінні риси механізму адресації фізичної пам'яті в реальному режимі наступні: Діапазон зміни фізичної адреси - від 0 до 1 Мбайт, оскільки при адресації використовується лише 20 молодших розрядів шини адреси Максимальний розмір пам'яті, що адресується за допомогою 16-розрядних регістрів - 64 Кбайт звернення до конкретному фізичному адресою у всій доступної оперативної пам'яті використовується сегментація пам'яті, тобто. розбиття доступного адресного простору на сегменти розміром 64 Кбайт та використання замість фізичної логічної адреси у формі: тобто. комбінації адреси початку сегмента та зміщення всередині сегмента 16-розрядна адреса початку сегмента поміщається в один із шести сегментних регістрів (CS, DS, ES, SS, FS або GS) Програми безпосередньо оперують лише 16-розрядним зміщенням, зазначеним щодо початку сегмента

Слайд 8

Молодша шістнадцяткова цифра на адресу кожного сегмента дорівнює нулю, тобто. адреса будь-якого сегмента завжди буде кратаний 16 байт межі сегментів розташовуються через кожні 16 байт фізичних адрес. Кожен із цих 16-байтових фрагментів називається параграфом.

Слайд 9

Адреси, задані у програмах у формі "сегмент-зміщення", автоматично перетворюються процесором на 20-розрядні лінійні адреси в процесі виконання команди за наступною схемою:

Слайд 10

Приклад: байт, заданий у формі "сегмент-зміщення": 8000:0250в шістнадцятковій транскрипції. Логічна адреса: 8000:0250 –––––––––––––––––––––––––––––– Сегмент: 80000 + Зміщення: 0250 ––––––– ––––––––––––––––––––––– Фізична адреса: 80250 У типовій програмі, написаній для процесорів сімейства 80x86, як правило, є три сегменти: коду, даних і стека. При запуску програми їх базові сегментні адреси завантажуються в регістри CS, DS та SS відповідно. У трьох регістрах, що залишилися ES, FS і GS програма може зберігати покажчики на додаткові сегменти.

Слайд 11

Недоліки такої організації пам'яті: сегменти безконтрольно розміщуються з будь-якої адреси, кратної 16 (оскільки вміст сегментного регістру апаратно зміщується на 4 розряди), і, як наслідок, програма може звертатися за будь-якими адресами, у тому числі і реально не існуючим сегменти мають максимальний розмір 64 Кбайт сегменти можуть перекриватися іншими сегментами

Слайд 12

Захищений режим адресації Під час роботи в захищеному режимі кожній програмі може бути виділений блок пам'яті розміром до 4 Гбайт, адреси якого в шістнадцятковому поданні можуть змінюватися від 00000000 до FFFFFFFF. У цьому кажуть, що програмі виділяється лінійний адресний простір (linear address space). У захищеному режимі в сегментних регістрах (CS, DS, SS, ES, FS, GS) зберігаються не 16-розрядні базові адреси сегментів, а селектори-покажчики на дескриптори сегмента (segment descriptor), розташовані в одній із системних таблиць дескрипторів (descriptor table) . За інформацією, що знаходиться в дескрипторі, операційна система визначає лінійні адреси сегментів програми. Існує два різновиди таблиць: GlobalDescriptorTable (глобальна таблиця дескрипторів) та LocalDescriptorTables (локальні таблиці дескрипторів).

Слайд 13

Структура селектора дескриптора сегмента: Дескриптор складається з 8 байт, в які входять базова адреса сегмента, розмір та інша інформація:

Слайд 14

Дескриптор 0 є забороненим - його можна безпечно завантажити в сегментний регістр, щоб позначити, що сегментний регістр в даний момент недоступний, але при спробі використовувати його переривання. У типовій програмі, написаній для захищеного режиму, як правило, є три сегменти: коди, даних і стека, інформація про які зберігається в трьох наведених нижче сегментних регістрах. У регістрі CS зберігається покажчик на дескриптор сегмента коду програми У регістрі DS зберігається покажчик на дескриптор сегмента даних програми

Слайд 15

Перетворення пари селектор-зміщення у фізичну адресу здійснюється за наступною схемою: Якщо розбиття на сторінки блоковано (за допомогою біта в глобальному регістрі, що управляє), лінійна адреса інтерпретується як фізична адреса і посилається в пам'ять для читання або запису. З іншого боку, якщо доступна сторінкова підкачка, лінійна адреса інтерпретується як віртуальна адреса та відображається на фізичну адресу за допомогою таблиці сторінок.

Слайд 16

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

Слайд 17

Дескриптори зберігаються у спеціальній системній таблиці, що називається таблицею глобальних дескрипторів (Global Descriptor Table, чи GDT). Для плоскої моделі кожен дескриптор має базову адресу, що дорівнює 0. Значення поля, що визначає межу сегмента, множиться процесором на шістнадцяткове число 1000. Сегменти можуть покривати весь 4-гігабайтний діапазон фізичних адрес, або тільки ті адреси, які відображаються на фізичну пам'ять. Якщо встановити межу сегмента значення 4 гігабайта, механізм сегментації запобігає генерації винятків для посилань до пам'яті, що виходять за кордон сегмента.

Слайд 18

Ця модель дозволяє виключити механізм сегментації з архітектури системи, оскільки всі операції з пам'яттю звертаються до загального простору пам'яті. З погляду програміста, ця модель найбільш проста у використанні, оскільки для зберігання адреси будь-якої змінної або команди достатньо одного 32-розрядного цілого числа.

Слайд 19

MultisegmentedModel (багатосегментна модель) Для кожної програми виділяється власна таблиця сегментних дескрипторів, яка називається таблицею локальних дескрипторів (Local Descriptor Table, або LDT). При цьому з'являється можливість для кожного процесу створити власний набір сегментів, які не перетинаються з сегментами інших процесів. Через війну кожен сегмент перебуває у ізольованому адресному просторі.

Слайд 20

На малюнку показано, кожен елемент таблиці локальних дескрипторів визначає різні сегменти пам'яті. У кожному дескрипторі сегмента вказується його точна довжина. Наприклад, сегмент, що починається з адреси 3000, має довжину 2000 байтів у шістнадцятковому поданні, оскільки значення поля дескриптора, що визначає межу сегмента, дорівнює 0002 а 0002х1000 = 2000. За аналогією, довжина сегмента, що починається з адреси 8000, дорівнює А000. Слід зазначити, що Flat Model реалізується як окремий випадок сегментованої моделі, коли програма звертається до сегмента, під який відведено весь лінійний простір.

Слайд 21

Paging(сторінкова модель пам'яті) Ця модель є формою управління пам'яттю для моделювання великого несегментованого адресного простору з використанням частини дискової пам'яті та фрагментованого адресного простору. Забезпечує доступ до структур даних, які мають розмір більше, ніж розмір доступного обсягу пам'яті, зберігаючи їх частково в оперативній пам'яті та частково на диску. За цією моделлю лінійний адресний простір ділиться на блоки однакового розміру (зазвичай 4 Кбайт), які називаються сторінками (page).

Слайд 22

На малюнку представлена ​​лінійна адреса, розділена на три поля: Каталог, Сторінка та Зміщення. Поле Каталог використовується як індекс у сторінковому каталозі, що визначає розташування покажчика на правильну таблицю сторінок.

Слайд 23

Потім обробляється поле Сторінка як індекс у таблиці сторінок з метою знайти фізичну адресу сторінкового блоку. Щоб отримати фізичну адресу потрібного байти або слова, до адреси сторінкового блоку додається останнє поле Зміщення. В результаті можна легко зробити так, щоб сумарний обсяг оперативної пам'яті, що використовується у всіх програмах, що виконуються на комп'ютері, перевищував обсяг реальної пам'яті комп'ютера. Саме тому сторінкова організація пам'яті часто називається віртуальної пам'яттю (virtual memory). Працездатність системи віртуальної пам'яті забезпечує спеціальна програма, що є частиною операційної системи, яка називається диспетчером віртуальної пам'яті (virtual memory manager).

Слайд 24

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

Слайд 25

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

Слайд 26

З віртуальною пам'яттю тісно пов'язана тема захисту. Pentium підтримує чотири рівні захисту, де рівень 0 є найбільш привілейованим, а рівень 3 найменш привілейованим. Кожен сегмент у системі також має свій рівень.

Слайд 27

На рівні 0 знаходиться ядро ​​операційної системи, що займається обробкою операцій введення/виведення, управлінням пам'яттю та іншими першочерговими питаннями. На рівні 1 – обробник системних викликів. Користувальницькі програми цього рівня можуть звертатися до процедур для виконання системних викликів, але лише до певного та захищеного списку процедур. Рівень 2 містить бібліотечні процедури, які, можливо, спільно використовуються кількома працюючими програмами. Користувальницькі програми мають право викликати ці процедури та читати їх дані, але не можуть їх змінювати. І, нарешті, програми користувача працюють на рівні 3, який має найменший ступінь захисту.

Переглянути всі слайди