Коломийський коледж комп’ютерних наук
Кафедра комп’ютерних технологій
з предмету:Системне програмування і операційні системи
Виконала:
студентка заочного відділу
ІІІ курсу групи З-КН-31
Гаврищук Оксана
Перевірила:
Яворська З.В.
Коломия 2000 рік
Сторінкова організація пам’яті.
Сторінкова організація пам’яті представляє собою інше рішення проблеми фрагментації. Сторінкова організація використовується в цілому ряді сучасних обчислювальних машин, наприклад, в ЕВМ х DS 940.
Адресний простір, який розділяється на частини по 1000 байтів в кожній, які називаються сторінками. Як і в схемі з розподілом пам’яті переміщаючими розділами користувач не має інформації про це ділення, так як це ділення не являє явного впливу на його адресний простір.
Фізична пам’ять також розділена на частини по 1000 байтів в кожній, які називаються блоками. Як і в схемі з переміщаючими розділами, необхідно забезпечити механізм установлювати відповідність між адресним простором користувача і фізичною пам’яттю. З цією метою для кожної сторінки передбачений спеціальний регістр. Ці регістри часто називають таблицею переадресації сторінок або таблицею сторінок. Фізично ці регістри можуть бути реалізовані або схемно або займають частину оперативної пам’яті. Таблиця переадресації сторінок значно менша адресного простору.
Так, як кожна сторінка може бути переміщена незалежно, нема потреби, щоб виділений для завдання розділ займав непреривний участок пам’яті і тільки комірки однієї сторінки повинні розміщуватись в одному непреривному участку пам’яті. Очевидно, що вибір розміру сторінок суттєво впливає на переміщення цієї схеми. Якщо розмір сторінки занадто великий, він стає рівним з розміром розділу і схема розприділення сторінками перетвориться в схему розприділення переміщаючими розділами. Якщо розмір сторінок занадто малий, необхідно мати багато регістрів переадресації, що різко підвищує вартість обчислювальної системи.
В результаті компромісу враховуючого ці і другі заперечуючі тенденції у багатьох системах з сторінковою організацією сторінки мають розмір 4000 байтів.
З сторінковою організацією зв’язаний ряд важливих проблем.
Перша з них в згубах на перетвореннях адресів. Друга зв’язана з допоміжною пам’яттю або регістрами, необхідними для таблиць переадресації сторінок. Поскільки розмір завдання не обов’язково кратний 1000 байтам, частина останньої сторінки не використовується. Це явище називають пересіканням сторінок. В середньому для кожного завдання губиться половина сторінок. В випадку великої кількості малих завдань це може призвести до серйозних втрат.
Сегментна організація пам’яті.
Сегментація представляє собою одночасно схему управління памяттю і інформацією.
Сегментом називається група інформації, яка розглядається як єдине ціле. Це може бути одна програма або багато програм, і одиночна база даних або група баз даних. При використанні сегментації програміст представляє адресний простір як двовимірний, адресований двома компонентами: іменем сегмента і зміщенням всередині сегмента. Кожний сегмент має свої зв’язані з цим правила доступу.
Сегментація полегшує реалізацію динамічних зв’язків.
В час виконання оператора визову механізм загрузки находить програму, завантажує її в пам’ять і зв’язує викликаючу програму з викликаючого в процесі виконання. Таким чином виключаються втрати звичайно можливі, якщо виклик тієї чи іншої програми в пам’ять в дійсності не являється необхідним.
При практичній реалізації системи з сегментним адресним простором для спрощення апаратури і програмування використовуються цілий ряд методів. Звернення до сегменту робиться по його номеру, а не по імені.
З точки зору програміста, сегментація адресного простору володіє рядом привілей. З кожним сегментом можуть бути зв’язані спеціальні атрибути, виділяючі правила доступу, такі як <тільки читати і тільки читати><тільки виконувати> слова всередині сегмента, які виділені як доступні тільки для виконання не можуть бути прочитані як дані, і на це місце не може бути записана яка-небудь нова інформація.
Концепція сегментів довільної довжини підрозуміває, що програмісту нема необхідності наперед задавати максимальну довжину сегмента. Таким чином сегменти являються дуже зручним засобом організації таблиць і матриць невизначених розмірів. Окрім зручності програмування, застосування сегментації адресного простору дає визначені переваги при управлінні ресурсами в операційній системі. В системах з сегментацією нема необхідності перераховувати всі адреси всередині сегмента підпрограми. Необхідно тільки перетворити символічні зсилки між сегментами в номері сегментів.
При застосуванні сегментації виникають ті ж самі проблеми, що і при розподіленні пам’яті переміщуючими розділами.
Сегментно-сторінкова організація пам’яті.
Було б дуже привабливо об’єднати переваги всіх раніше розглянутих методів.
Сегментація може використовуватися для сумісного використання організації захисту програмних ресурсів, сторінкова організція вирішує проблеми фрагментації і перекомпоновки, розприділення сторінками по запрошеннях відчислює ограничення на розмір адресного простору. Такий комбінаційний підхід був застосований в декількох сучасних обчислювальних системах.
В з’вязку з тим, що розміри таблиць сегментів і сторінок можуть бути значними, вони звичайно поміщуються в основну пам’ять, а не в спеціальні апаратні регістри. Таким чином, апаратне виконання однієї команди може требувати трьох звертань до основної пам’яті для запису одного слова даних.
Для подолання цієї проблеми дуже ефективним є показовий метод запам’ятовування найбільш часто використаних сегментів і сторінок в невеликих швидкодіючих асоціативних пам’ятях. Цей метод використаний в обчислювальних машинах ІВМ модель 67 і НіS645. Але навіть примінення буферів асоціативної пам’яті не виключає повністю зниження швидкодії визиваюче багаторівневою схемою адресації. Звичайно це зниження швидкодії вдається зробити меншим десяти процентів, однак воно суттєво залежить від характеристик програми і ефективності роботи буферів асоціативної пам’яті.
Само собою розуміється сегментація і робота з сторінками приводить до збільшення вартості обчислювальної системи.
Ясно, що для повного використання можливостей сторінкової організації і сегментації потребується значна ускладненість програм управління даними операційної системи.
Операційна система UNIX
Система UNIX реалізована на багатьох макро- і мікрокомпютерів.
Дискова операційна система UNIX є промисловим стандартом для багатокористувацьких 16-бітних мікропроцесорних систем. Якщо система СР/М стандрартна для 8-бітних однокористувацьких мікропроцесорних систем, а РС/MS-DOS - для однокористувацьких 16-бітних систем, то UNIX домінує на ринку 16-бітних багатокористувацьких компютерів. Вперше вона була розроблена К. Топмпсоном і Д.Рітчі на початку 70-х років для мінікомпютерів DEC PDP-11 (PDP-11/45 i PDP-11/70) на фірмі Bell Laboratories. Пізніше система була адаптована для мідікомпютерів DEC VAX.
Звичайно, з часом її адаптували для 16-бітних мікропроцесорних систем на базі ЦП 8086, Z8000 i MCS 68000. Система UNIX написана на мові Сі, тому її легко реалізувати на будь-якому комп’ютері, який має компілятор Сі.
Ця система найбільш популярна для мультипрограмних систем з розподілом часу (СР/М підтримує тільки однопрограмні системи). Останнім часом з’явилось досить багато різновидностей UNIX, наприклад, XENIX, CROMIX, ZEUS i ISIS. Система UNIX широко застосовується в університетах для навчання студентів мовам програмування. Керуючи апаратними ресурсами комп’ютера і забезпечуючи планування завдань (програм), UNIX в той же час пропонує багато програм-утиліт, які в інших операційних системах переважно поставляються окремо. У всі встроєні утиліти входять редактори і компілятори таких мов, як ПАСКАЛЬ, Сі, ФОРТРАН-77, БЕЙСІК і КОБОЛ.
Основні відмінності між однокористувацькими системами (СР/М і РС/MS-DOS) і системою UNIX заключається в наступному:
1) це система для багатьох користувачів, тобто багато користувачів можуть робити запити програм і використовувати ресурси компютера;
2) це мультизадачна система, тобто користувач може виконувати одночасно декілька завдань, наприклад, редактувати один файл і друкувати інший.
Файлова структура.
Якщо в системі СР/М є єдиний каталог, який містить імена всіх файлів, то UNIX дозволяє користувачу мати окремий каталог, в якому при необхідності можна побудувати інші підкаталоги.
У кожного користувача є свій особистий каталог. Переважно його ім’я співпадає з реєстраційним іменем користувача (тобто з іменем, яке користувач вводить на початку роботи з системою). Особисті каталоги можуть мати підкаталоги, а будь-який підкаталог може бути сумішшю підкаталогів і файлів. Малюнок нагадує дерево (особисті каталоги - це гілки, підкаталоги - менші гілки, файли - листки, а корінь по суті є стовбуром.
При наявності декількох рівнів каталогів ім’я файла повністю представляється його маршрутним іменем
/usr/smith/accounts/tax
/usr/smith/accounts/sales
/usr/smith/accounts/current
/usr/smith/chapter2
В командах і іменах файлів системи UNIX застосовують малі букви.
Коли користувач працює в конкретному каталозі, він вправі звертатися до файлу чи каталогу по скороченому імені. Наприклад, при роботі в каталозі smith імя файла має вид
/accounts/current.
Відмітимо, що перша нахилена риска в маршрутному імені означає кореневий каталог, а решта аналогічні символи просто відділяють ім’я каталога від імені іншого каталога або файла.
Для управління каталогами призначені наступні команди: