Будь-яка система управління файлами не існує сама по собі – вона розроблена для роботи в конкретній ОС. Для кожної ОС повинна бути розроблена відповідна система управління файлами.
Структура магнітного диску.
Для того щоби можна було загрузити з магнітного диску ОС, а потім з її допомогою організувати роботу тої чи іншої системи управління файлами були прийняті спеціальні системні відношення про структуру диска. Розташування структури даних, несучі інформацію про логічну організацію диска і найпростішу програму. За допомогою якої можна знаходити і завантажувати програми тої чи іншої ОС. Очевидно це самий перший сектор магнітного диску. Як відомого інформація на магнітних дисках розміщується і передається блоками. Кожний такий блок називається сектором, сектори розташовані на концентричних доріжках поверхності диска. Кожна доріжка створюється при обертанні магнітного диску під зафіксованою в деякому опреділеному положенні головкою читання запису. Накопичувач на жорстких магнітних дисках (НЖМД) має один або більше дисків.
Групи дорожок одного радіуса, розміщених на поверхностях магнітних дисків, утворюють так звані циліндри. Сечасні жорсткі диски можуть мати декілька десятків тисяч циліндрів, в той час як на поверхності дискети число доріжок тільки 80.
Кожний сектор складається з поля даних службової інформації обмежуючи і індитифікуючи його.
Розмір сектора установлюється контролером або драйвером.
Фізичний адрес сектора на диску визначається за допомогою трьох “координат” [c-h-s] де с – номер циліндра, h- номер робочої поверхні диску, S – номер сектора на доріжці.
Номер робочої поверхності диска “h” належить діапазону О.Н-1, де Н – число магнітних головок в накопичувачі.
Номер сектора на доріжці “S” указуються у діапазоні 1..S, де S – кількість секторів на доріжці.
Жорсткий диск може бути робочий на декілька розділів котрі в принципі потім можуть використовуватися або одною ДС або різними ДС. Причому самим головним являється те, що на кожному розділі може бути організована своя файлова система. Однаково для організації навіть єдиної файлової системи необхідної визначити хоч один розділ.
Розділи диска можуть бути двох типів – первинний і розширений (primaryIextended).
Максимальне число primary – розмірів дорівнює чотирьом.
Якщо primary – розділів декілька. То тільки один із них може бути активним.
Згідно специфіці на одному жорсткому диску може бути тільки одних extended – розділ, котрий, в свою чергу, може бути розділений на велику кількість підрозділів – логічних дисків. Один із primary – розділів повинен бути активним і меню з нього повинна завантажуватись програма за грудки ОС.
Коли говорять про диспетчеризацію, то завжди мають на увазі задачі на поняття процесу. Так як ці терміни часто використовуються іменно у такому смислі ми змушені будемо використовувати термін “процес” як синонім терміну “задача”.
Розрізняють дві дисципліни диспетчеризації – без пріоритетні і пріоритетні.
При без приорітетному обслуговуванні вибір задачі приводиться в деякому наперед установленому порядку без урахування їх відносної важливості і часу обслуговування.
При реалізації приоритетних дисциплін обслуговування окремим задачам надає переважаюче право попасти в стан виконання.
Перерахунок дисциплін обслуговування і їх класифікація зображені на мал. 3.1.
Запам’ятаємо про пріоритети слідуючи:
Пріоритет присвоєний задачі. Може являтися величиною настійною;
Пріоритет задачі може змінюватись в процесі її розв’язання.
Диспетчеризація з динамічним пріоритетом потребує додаткових витрат на вираховування значень пріоритетів виконуючих задач тому у багатьох ОС реального часу використовуються методи диспетчеризації на основі статистичних пріоритетів. Дисципліна обслуговування SLN потребує щоб для кожного завдання була відома оцінка в потребах машинного часу. Необхідність повідомляти ОС характеристики задач, в котрих описувались би потреби в ресурсах враховуючої системи., привела до тог, що були розроблені відповідні мовні засоби. Мова JCL була однією із найбільш відомих.
Користувачі змушені були вказувати передбачуваний час виконання, і для того, щоб вони не зловживали можливістю вказати менший час виконання ввели підрахунок реальних потрібностей. Диспетчер задач порівнював заказаний час і час виконання в у випадку перевищення вказаної оцінки у даному ресурсі ставив дане завдання не на початок а на кінець черги.
Дисциплінарне обслуговування SJN припускає, що є тільки одна черга завдань, готових до виконання. І завдання котрі в процесі свого виконання були тимчасово заблоковані (наприклад, чекали завершення операції вводу-виводу). Знову попадають в кінець черги готових до виконання на рівні з знову поступаючим. Дисципліна диспетчеризації RR –одна із найпоширеніших дисциплін. Однаково бувають ситуації, коли ОС не підтримує у явному вигляді дисципліну карусельної диспетчеризації. Наприклад в деяких ОС реального часу використовується диспетчер задач, працюючий за принципом абсолютних пріоритетів. Іншими словами, зняти задачу з виконання може тільки поява задачі з більш високим пріоритетом.
Тому, якщо потрібно організувати обслуговування задач таким чином, щоб всі вони почали процесорний час рівномірно і рівноправно, то системний оператор може сам організовувати цю дисципліну. Для цього одночасно всі користувацьким задачам присвоїти однакові пріоритети і створити одну високо пріоритетну задачу, котра не повинна нічого робити, але контра буде по таймеру плануватися на виконання. Ця задача зніме з виконання текуче прикладання, вона буде поставлена в кінець очереді і по-скільки цій високо пріоритетній задачі насправді нічого робити не треба, то вона зразу звільнить процесор і з черги готовності буде взята слідуюча задача. В своїй найпростішій реалізації дисципліна карусельної диспетчеризації передбачає, що всі задачі мають однаковий пріоритет.
Якщо необхідно ввести лаконізм пріоритетного обслуговування то це як правило робиться за рахунок організації декількох черг. Процесорний час буде представлений в першу чергу тим задачам, котрі знаходяться в найпривілейованій черзі.
Витісняючі і невітіснюючі алгоритми диспетчеризації. Диспетчеризація без пере розподілення процесорного часу це є не витісняюча багатозадачність – це такий спосіб диспетчеризації процесі при якому активний процес виконується до тих під поки від сам не віддасть управління диспетчеру задач для вибору із черги іншого готового до виконання процесу. Дисципліна SJN відноситься до невитісняючих.
Диспетчеризація з перерозподілом процесорного часу між задачами є витісняючою багатозадачнішою. Це такий спосіб при якому рішення про переключання процесора з виконання одного процесу на виконання іншого приймається диспетчером задач, а не активною задачою. При витісняючій багатозначності механізм диспетчеризації задач цілком зосереджений в операційній системі і програміст може писати своє прикладання, не турбуючись про те, як воно буде виконуватись правильно з іншими задачами. При цьому ос виконує слідуючі функції визначає момент зняття з виконання текучої задачі, зберігає її конте5кст у дескрипторі задач: вибирає у черги готових задач наступну і запускає її на виконання наперед завантажив її контекст.
Дисциплін RR і інші побудовані на її основі відносять до витісняючи.
При не витісняючій багатозначності механізм розподілу процесорно часу розподілений між системою і прикладними програмами.