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