Побудова надійних операційних систем, що допускають наявність ненадійних драйверів пристроїв - Реферат

бесплатно 0
4.5 174
Основна причина аварійних відмов операційних систем, їх принципові дефекти, методика нейтралізації та "лікування" системи. Порядок і етапи розробки безвідмовної операційної системи, властивості та оцінка її надійності, вимірювання продуктивності.

Скачать работу Скачать уникальную работу

Чтобы скачать работу, Вы должны пройти проверку:


Аннотация к работе
Реферат На тему: «Побудова надійних операційних систем, що допускають наявність ненадійних драйверів пристроїв» Введення Найбільш гострою проблемою багатьох користувачів є ненадійність компютерів. Дослідники у галузі компютерної науки звикли до регулярних збоїв компютерів і до необхідності через кожні кілька місяців встановлювати патчі програмного забезпечення. Проте переважна більшість користувачів вважає це відсутність надійності неприйнятним. Щоб зробити компютерні системи більш схожими на телевізори, ми ставимо за мету свого дослідження вдосконалення надійності компютерних систем, і починаємо з операційних систем. 1. Чому у систем трапляються відмови?. Основна причина аварійних відмов операційних систем криється у двох принципових дефекти розробки, властивих всім цим системам: наявність занадто великого числа привілеїв і відсутність адекватної ізоляції збоїв. Практично всі операційні системи складаються з численних модулів, скомпонованих в одному адресному просторі і утворюють єдину бінарну програму, яка виконується в режимі ядра. Помилка в будь-якому модулі може легко призвести до руйнування структур даних в будь-якому іншому, не повязаним з ним модулі і до миттєвого виходу системи з ладу. Дослідження показують, що в програмному забезпеченні в середньому міститься від однієї до шістнадцяти помилок на тисячу рядків коду [27, 22, 2], і що верхня межа цього діапазону явно занижена, оскільки враховувалися тільки ті помилки, які, врешті-решт, вдавалося виявити. Так що деякі нібито наявні проблеми «безпеки» в принципі не мають нічого спільного з порушеннями заходів безпеки (наприклад, дефектними криптографічними алгоритмами або нестійкими протоколами авторизації), а викликаються лише помилками в коді програм (наприклад, переповнення буферів дозволяють виконувати впроваджений код). Коли в цій статті ми говоримо про «надійності», ми маємо на увазі й те, що часто називають «безпекою», - неавторизований доступ внаслідок помилки в коді програми. Драйвери пристроїв звичайно пишуться програмістами, що працюють на виробників периферійних пристроїв, і контроль якості їх продукції звичайно нижче, ніж у постачальників операційних систем. Наприклад, в Linux частота появи помилок в драйверах пристроїв від трьох до семи разів вище, ніж в інших частинах ядра [7]. Навіть компанія Microsoft, у якої є стимули та ресурси для застосування більш щільного контролю якості, не може добитися набагато кращих результатів: 85% всіх аварійних відмов Windows XP обумовлюється наявністю помилок у коді драйверів. Останнім часом зявилися публікації про родинні роботах, присвячених ізоляції драйверів пристроїв з використанням апаратури MMU [26] і віртуальних машин [19]. Рішення: правильна ізоляція збоїв Протягом десятиліть як перевірений методу оперування кодом, що не заслуговує довіри, використовувалося розміщення його в окремому процесі та виконання в режимі користувача. У цій статті ми проводимо ретельне відмінність між крахом операційної системи, після якого потрібне перезавантаження компютера, і збоєм або відмовою сервера або драйвера, після якого в нашій системі перезавантаження не потрібно. Ми не розраховуємо на те, що незабаром зявиться код, вільний від помилок, а якщо і зявиться, то, звичайно, не в операційних системах, які зазвичай пишуться на C або C . Це означає, що програма, яка виробляє 10000 системних викликів в секунду, витрачає на перемикання контексту всього 1% часу ЦП, а 10000 системних викликів в секунду виробляють лише деякі програми. Після цього операційна система, повністю сумісна з POSIX, готова до використання. 3. У їх число входять файловий сервер, сервер процесів, мережевий сервер, інформаційний сервер, сервер реінкарнації та інші. Крім того, число копіювань даних є точно таким же, як в монолітній системі: диск поміщає дані прямо в буферний кеш файлового сервера, та є одне копіювання з цього кеша в адресний простір користувацького процесу. Наприклад, файлова система залежить від драйверів пристроїв, але вона розробляється таким чином, щоб бути готовою до обробки збоїв драйвера.

Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность
своей работы


Новые загруженные работы

Дисциплины научных работ





Хотите, перезвоним вам?