Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



КОНСПЕКТ ЛЕКЦІЙ 2 страница

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

 

Зв’язний розподіл пам’яті для одного користувача

 

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

 

 

 

Мультипрограмування з фіксованими розділами

 

При розподілі пам’яті при мультипрограмуванні розглядають завантаження програм за абсолютними та змінними адресами.

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

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

Переміщаючі компілятори асемблери та завантажувачі створюють модулі, що можуть працювати в довільному розділі.

В таких системах захист пам’яті частіше всього реалізується за допомогою декількох граничних регістрів. Два регістри дозволяють вказувати верхню та нижню межу розділу користувача, або одну з меж та розмір розділу.

Схема розподілу пам’яті при використанні фіксованих розділів приведена на рис. __.

 

 

 

Мультипрограмування із змінними розділами

 

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

Але яка завгодно схема організації пам’яті дає певні втрати. В цій схемі втрати виникають тоді, коли завдання починають закінчуватись, а в основній пам’яті залишаються вільні ділянки, або „дірки”. Ці „дірки” можна використовувати для розміщення інших завдань, але „дірки” все одно будуть, тільки меншого розміру в які вже неможливо завантажити іншу задачу. В таких випадках використовують об’єднання „дірок” в пам’яті.

Часто буває так, що в усій основній пам’яті залишаються розкиданими окремі „дірки”, які складають значний об’єм пам’яті. Проблема вирішується ущільненням пам’яті.

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

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

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

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

3. Завантаження задачі в виділений їй розділ та коректування таблиць вільних та зайнятих областей.

4. Після завершення задачі знову коректування таблиць вільних і зайнятих областей.

 

 

 

Боротьба з фрагментацією

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

Розділи, що переміщаються. Це один з методів боротьби з фрагментацією, коли всі заняті ділянки переміщуються або в сторону молодших адрес, або старших адрес, так, щоби вся вільна пам’ять створювала єдину вільну область.

Тобто ОС ще повинна час від часу копіювати вміст розділів з одного місця пам’яті в інше, коректуючи таблиці вільних і зайнятих областей. Це процедура „стискання”. Стискання може виконуватись або при кожному завершенні задачі, або тільки тоді, коли для нової задачі нема вільного розділу достатнього розміру.

В першому випадку треба меншої обчислювальної роботи при коректуванні таблиць, а в другому — не так часто виконується процедура стискання. Оскільки програми переміщуються по основній пам’яті під час свого виконання, то перетворення адрес повинно виконуватись динамічним способом.

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

 

Стратегії розміщення інформації в пам’яті

1. Стратегія найбільш відповідного (підходящого). Завдання розміщається в тій вільній ділянці, в якій йому найбільш „тісно”, так що залишається мінімально можливий простір, що не використовується.

2. Стратегія першого відповідного. Завдання розміщується в першу ліпшу вільну ділянку основної пам’яті достатнього розмір. (Швидкість).

3. Стратегія найменш відповідного. Завдання розміщується у вільну ділянку, що має найбільш далекий розмір, тобто максимально вільну ділянку.

Третя стратегія має наступне обґрунтування. Після розміщення програми в найбільш вільну ділянку, вільна ділянка, що залишається теж буде великою і в ньому можна розмістити відносно велику нову програму.

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

Схема, що називається „стопінг”, не накладає такого обмеження.

 

 

Всю ОП в кожний біжучий момент часу займає одне завдання. Це завдання виконується доти, доки не вийде певний час, а потім звільнюється як пам’ять, так і ЦП для наступного завдання.

Така програма працює до того часу, доки не відбудеться одна з таких подій:

- видали запит на ввід/вивід;

- з’явиться сигнал таймера;

- програма закінчилась.

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

 

Системи з розподілом часу. Сторінкова організація пам’яті.
Концепція віртуальної (уявної) пам’яті.

 

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

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

Діапазон реальних адрес, що існують в конкретному комп’ютері, називаються простором реальних адрес (R) цього комп’ютера.

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

Віртуальним називаються ресурс, якому в уяві користувача (програміста) або з точки зору програми користувача, притаманні якості, яких у нього в дійсності нема.

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

Таким чином, віртуальна пам’ять – це сукупність програмно – апаратних засобів, що дозволяють програмістам писати програми, розмір яких перевищує реальну основну пам’ять. Для цього віртуальна пам’ять повинна розв’язувати такі задачі:

1. Розміщувати дані в запам’ятовуючих пристроях різного типу (ОП, диск)

2. Переміщувати дані при необхідності між запам’ятовуючими пристроями різного типу.

3. Перетворювати віртуальні адреси у фізичні.

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

Є різні механізми, наприклад: динамічного перетворення адрес (ДАТ) під час виконання процесів.

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

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

 

 

Стратегії керування віртуальною пам’яттю поділяються на три категорії:

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

Стратегія розміщення – мета – визначити, в яке місце первинної пам’яті розміщати чергову сторінку або сегмент.

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

 

Способи організації пам’яті

Реальна Реальна Віртуальна
Системи з одним користувачем Мультипрограмні системи з реальною пам’яттю Мультипрограмні системи з віртуальною пам’яттю
З фіксованими розділами Із змінними розділами Чисті сторінки Чисті сегменти Комбінація сторінок і сегментів
Модулі абсолютні Модулі, що переміщуються  
             

 

Принцип кешування даних

 

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

 

 

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

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

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

 

 

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

- ознаку модифікації;

- ознаку звертання до даних за деякий останній період часу.

 

Структура кеш-пам’яті

Адреса даних в основній пам’яті Дані Керуюча інформація
Біт модифікації Біт звертання
       
       

 

В системах з кеш-пам’яттю кожний запит до основної пам’яті виконується в такий спосіб:

1) Перегляд вмісту кеш-пам’яті з метою визначення, чи не знаходяться вже потрібні дані в кеш-пам’яті. Кеш-пам’ять не є адресованою, тому пошук потрібних даних виконується за вмістом значення поля “адреси в оперативній пам’яті”, яке береться із запиту.

2) Якщо дані є в кеш-пам’яті, то вони читаються з неї і результат передається в процесор.

3) Якщо потрібних даних в кеш-пам’яті нема, то вони разом із своєю адресою копіюються з основної пам’яті в кеш-пам’ять і результат виконання запиту передається в процесор.

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

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

Покажемо, що середній час доступу до даних залежить від ймовірності “попадання в кеш”. Припустимо, що маємо основний запам’ятовуючий пристрій із середнім часом доступу до даних t1 та кеш-пам’ять, з середнім часом доступу t2, зрозуміло, що t2 < t1.

Позначимо через t середній час доступу до даних в систем із кеш-пам’яттю, а через p – ймовірність попадання в кеш. За формулою повної ймовірності маємо:

t = t1 (1 - p) + t2 (p).

Бачимо, що середній час доступу до даних в системі із кеш-пам’яттю лінійно залежить від ймовірності попадання в кеш і міняється від середнього часу доступу в основний ЗП (при р = 0) до середнього часу доступу безпосередньо в кеш-пам’ять (при р = 1).

В реальних системах ймовірність попадання в кеш складає приблизно 0,9. Таке велике значення ймовірності знаходження даних в кеш-пам’яті пов’язано з наявністю у даних об’єктивних властивостей:

- просторова локальність;

- часова локальність.

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

Часова локальність - якщо відбулося звертання за деякою адресою, то наступне звертання за тою ж адресою з великою ймовірністю відбудеться в найближчий час.

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

 

 

Керування процесорами

 

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

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

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

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

Планування повинно:

1) бути справедливим, тобто однаково відноситись до всіх процесів.

2) забезпечувати максимальну пропускну здатність системи.

3) забезпечувати максимальній кількості користувачів допустимий час відповіді.

4) забезпечувати передбачуваність, мінімальні накладні витрати, збалансоване використання ресурсів.

5) виключати нескінчене відкладання процесів;

6) враховувати пріоритети;

7) і т.д.

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

 

 

 

Планування з переключення та без переключення

 

Якщо після надання ЦП в розпорядження деякого процесу, відібрати ЦП у нього не можна, то має місце дисципліна планування без переключення. Інакше має місце дисципліна з переключенням.

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

Наприклад: Якщо в системах реального часу пропаде хоча б один важливий сигнал переривання, це може привести до катастрофічних наслідків.

В системах без переключення, коротким завданням треба більше чекати через виконання тривалих завдань, але для всіх завдань створюються ніби-то рівні умови. Час відповіді тут легше передбачити, оскільки завдання високого пріоритету, що надходять, не можуть відтіснити завдання, що вже чекають.

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

а) Інтервальний таймер

ОС встановлює годинник або інтервальний таймер, який генерує сигнал переривання в деякий конкретний момент часу в майбутньому. Після переривання ЦП передається наступному процесу. Який, зберігає за собою керування ЦП, доки не закінчиться або не перерветься.

Таймер гарантує можливий час відповіді для користувачів в діалоговому режимі, не допускає „зависання” системи з причини за-циклювання. А також дозволяє процесам відповідним чином реагувати на події, що залежать від часу.

б) Пріоритети

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

Динамічні пріоритети. Реагують на зміни в ситуації. Вимагають більших витрат. Але система стає більш реактивною, краще використовує ресурси.

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

в) Планування за терміном завершення

Організується таким чином, що певні процеси закінчувались в визначені терміни. Таке планування – складна проблема, особливо в умовах, коли в проміжок між моментом початку виконання процесу та запланованим строком його завершення в систему можуть поступати додаткові завдання.

г) Планування за принципом FIFO

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

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

 

 

 

д) Циклічне планування (RR)

 

 

Циклічне, або кругове (round robin, RR). Диспетчеризація виконується за принципом FIFO, але кожний раз процесу надається обмежена кількість часу ЦП, що називається квантом. Процес, у якого був перехоплений ЦП, переходить в кінець списку готових до виконання процесів. Така дисципліна (RR) ефективна для роботи з розподілом часу, коли система повинна гарантувати можливий час відповіді для всіх інтерактивних користувачів.

Визначення оптимального розміру кванту – складна задача. Як правило, його вибирають настільки великим, що більшість тривіальних пересічних запитів можна було б повністю обслужити в рамках одного кванту.

е) Планування за принципом SIF (“найкоротше завдання - перший”)

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

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

Проблема: треба точно знати, скільки часу вимагає завдання або процес.

Можна “консервувати” процеси. Не застосовується в системах розподілу часу, де необхідно гарантувати можливий час відповіді.

є) Принцип SRT (“за найменшим часом, що залишається”)

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

ж) Принцип HRN (“за найбільшим відносним часом відповіді”)

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

 

 

з) Багаторівневі черги зі зворотними зв’язками

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

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

Така дисципліна – це приклад адаптивного механізму планування, який реагує на зміну поведінки системи, що ним контролюється.

 


Керування даними. Файлова система

 

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

відкрити (open) – підготовляє файл до звертання;

закрити (close) – забороняє подальше звертання до файлу, доки він не буде знову відкритий;

створити (create) – забезпечує формування нового файлу;

знищити (destroy, kill) – руйнує файл;

копіювати (copy) – створює ще один екземпляр існуючого файлу з новим іменем;

перейменувати (rename) – змінити ім’я файла;

вивести (list) – забезпечує друк лістингу або відтворення вмісту файла на екрані.

Маніпуляції з індивідуальними елементами даних в рамках файлу можна виконувати за допомогою таких операторів:

прочитати (read) – забезпечує ввід елемента даних з файла в процес;

записати (write) – забезпечує вивід елементу даних з процесу в файл;

обновити (update) – забезпечує модифікацію існуючого елементу даних;

вставити (insert) – забезпечує додавання нового елемента даних;

виключити (delete) – виключає елемент даних з файла.

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

 

Функції файлової системи

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

1. Користувачу повинна надаватись можливість створювати, модифікувати та знищувати файли.

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

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

4. Користувачам надається можливість створювати зручні для прикладних програм структури файлів.

5. Надається можливість керування передачами інформації між файлами.

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

7. Користувач може звертатись до своїх файлів за допомогою символічних імен, а не через імена фізичних пристроїв (тобто файли повинні бути незалежними від пристроїв).

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

9. І найважливіше. Файлова система повинна мати „дружній” інтерфейс з користувачем. Вона повинна дозволяти користувачам працювати тільки з логічним представленням своїх даних і тих операцій, які повинні з ними виконуватись, а не з фізичним представленням.

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

 

Ієрархія даних

Всі дані в комп’ютерах складаються з бітів 0, 1. Об’єднуючи окремі біти в групи отримуємо можливість задавати бітові комбінації (n бітів – 2n комбінацій) і з їх допомогою представляти практично довільні елементи даних, що обробляються в комп’ютерах.

Наступний рівень – байти –– це символи, що мають фіксовану довжину в бітах. Зараз найбільш розповсюджений варіант байту – 8 бітів. 28 – 256 символів.

Наприклад:

- цифрові символи: ‘0’…’9’;

- алфавітні символи: ‘A’…’Z’, ‘a’…’z’;

- спеціальні символи: ‘.’, ‘,’, ‘/’, ‘*’, ‘$’, …

Розподіл бітових комбінацій за символами, що ними представляються, називаються – символьними наборами.

ASCII – американський стандартний код для обміну інформацією, застосовується в системах передачі даних.

EBCDIC – розширений двійково–кодований десятковий код для обміну інформацією, застосовується для внутрішнього представлення.


Читайте також:

  1. I. ОБРАЗОВАНИЕ СОЕДИНЕННЫХ ШТАТОВ 14 страница
  2. А. В. Дудник 1 страница
  3. А. В. Дудник 10 страница
  4. А. В. Дудник 11 страница
  5. А. В. Дудник 12 страница
  6. А. В. Дудник 2 страница
  7. А. В. Дудник 3 страница
  8. А. В. Дудник 4 страница
  9. А. В. Дудник 5 страница
  10. А. В. Дудник 6 страница
  11. А. В. Дудник 7 страница
  12. А. В. Дудник 8 страница




Переглядів: 608

<== попередня сторінка | наступна сторінка ==>
КОНСПЕКТ ЛЕКЦІЙ 1 страница | КОНСПЕКТ ЛЕКЦІЙ 3 страница

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

  

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.039 сек.