Побудова надійних операційних систем, що допускають наявність ненадійних драйверів пристроїв
Состав работы
|
|
|
|
Необходимые программы
Работа представляет собой zip архив с файлами (распаковать онлайн), которые открываются в программах:
- Microsoft Word
Описание
Введення
Найбільш гострою проблемою багатьох користувачів є ненадійність комп'ютерів.
Дослідники у галузі комп'ютерної науки звикли до регулярних збоїв комп'ютерів і до необхідності через кожні кілька місяців встановлювати патчі програмного забезпечення. Проте переважна більшість користувачів вважає це відсутність надійності неприйнятним. Їхня внутрішня модель роботи електронного пристрою ґрунтується на досвіді використання телевізорів і відеомагнітофонів: ви купуєте пристрій, підключаєте його до мережі, і воно бездоганно працює протягом 10 років. Ніяких відмов, ніяких регулярних оновлень програмного забезпечення, ніяких газетних історій про виявлення новітніх представників нескінченної низки вірусів. Щоб зробити комп'ютерні системи більш схожими на телевізори, ми ставимо за мету свого дослідження вдосконалення надійності комп'ютерних систем, і починаємо з операційних систем.
1. Чому у систем трапляються відмови?
Основна причина аварійних відмов операційних систем криється у двох принципових дефекти розробки, властивих всім цим системам: наявність занадто великого числа привілеїв і відсутність адекватної ізоляції збоїв. Практично всі операційні системи складаються з численних модулів, скомпонованих в одному адресному просторі і утворюють єдину бінарну програму, яка виконується в режимі ядра. Помилка в будь-якому модулі може легко призвести до руйнування структур даних в будь-якому іншому, не пов'язаним з ним модулі і до миттєвого виходу системи з ладу. Причиною, за якою всі модулі компонуються в єдиний адресний простір без підтримки будь-якої захисту між модулями, є Фаустова угода розробників: покращена продуктивність за ціну більшого числа відмов системи. Нижче ми оцінимо вартість цього компромісу.
Тісно пов'язаний питання відноситься до першопричину аварійних відмов. Адже якби кожен модуль був бездоганним, то не виникала б потреба в ізоляції збоїв між модулями, оскільки не було б самих збоїв. Ми стверджуємо, що більша частина збоїв виникає через помилки програмування, внаслідок надмірної складності і використання чужого коду. Дослідження показують, що в програмному забезпеченні в середньому міститься від однієї до шістнадцяти помилок на тисячу рядків коду [27, 22, 2], і що верхня межа цього діапазону явно занижена, оскільки враховувалися тільки ті помилки, які, врешті-решт, вдавалося виявити. Очевидним висновком є те, що в більшому обсязі коду міститься більша кількість помилок. У міру розвитку програмного забезпечення в кожній його новій версії з'являється все більше можливостей (і, відповідно, більший об'єм коду), і часто нова версія є менш надійною, ніж попередня. У [22] показано, що число помилок на тисячу рядків коду прагне до стабілізації у міру зростання числа випущених версій, але асимптотично цей показник відрізняється від нуля.
Найбільш гострою проблемою багатьох користувачів є ненадійність комп'ютерів.
Дослідники у галузі комп'ютерної науки звикли до регулярних збоїв комп'ютерів і до необхідності через кожні кілька місяців встановлювати патчі програмного забезпечення. Проте переважна більшість користувачів вважає це відсутність надійності неприйнятним. Їхня внутрішня модель роботи електронного пристрою ґрунтується на досвіді використання телевізорів і відеомагнітофонів: ви купуєте пристрій, підключаєте його до мережі, і воно бездоганно працює протягом 10 років. Ніяких відмов, ніяких регулярних оновлень програмного забезпечення, ніяких газетних історій про виявлення новітніх представників нескінченної низки вірусів. Щоб зробити комп'ютерні системи більш схожими на телевізори, ми ставимо за мету свого дослідження вдосконалення надійності комп'ютерних систем, і починаємо з операційних систем.
1. Чому у систем трапляються відмови?
Основна причина аварійних відмов операційних систем криється у двох принципових дефекти розробки, властивих всім цим системам: наявність занадто великого числа привілеїв і відсутність адекватної ізоляції збоїв. Практично всі операційні системи складаються з численних модулів, скомпонованих в одному адресному просторі і утворюють єдину бінарну програму, яка виконується в режимі ядра. Помилка в будь-якому модулі може легко призвести до руйнування структур даних в будь-якому іншому, не пов'язаним з ним модулі і до миттєвого виходу системи з ладу. Причиною, за якою всі модулі компонуються в єдиний адресний простір без підтримки будь-якої захисту між модулями, є Фаустова угода розробників: покращена продуктивність за ціну більшого числа відмов системи. Нижче ми оцінимо вартість цього компромісу.
Тісно пов'язаний питання відноситься до першопричину аварійних відмов. Адже якби кожен модуль був бездоганним, то не виникала б потреба в ізоляції збоїв між модулями, оскільки не було б самих збоїв. Ми стверджуємо, що більша частина збоїв виникає через помилки програмування, внаслідок надмірної складності і використання чужого коду. Дослідження показують, що в програмному забезпеченні в середньому міститься від однієї до шістнадцяти помилок на тисячу рядків коду [27, 22, 2], і що верхня межа цього діапазону явно занижена, оскільки враховувалися тільки ті помилки, які, врешті-решт, вдавалося виявити. Очевидним висновком є те, що в більшому обсязі коду міститься більша кількість помилок. У міру розвитку програмного забезпечення в кожній його новій версії з'являється все більше можливостей (і, відповідно, більший об'єм коду), і часто нова версія є менш надійною, ніж попередня. У [22] показано, що число помилок на тисячу рядків коду прагне до стабілізації у міру зростання числа випущених версій, але асимптотично цей показник відрізняється від нуля.
Другие работы
Профессионально-значимые и личностные качества психолога
Qiwir
: 18 октября 2013
В связи с расширением сферы услуг в области психологии актуальной является проблема качества профессиональной подготовки практического психолога. За последние годы в нашей стране произошло резкое увеличение общего числа специалистов, которые считают себя психологами. К сожалению многие из них всего лишь владеют документами, подтверждающими их квалификацию и в своем большинстве не имеющими государственного значения. В силу ряда причин за этот же промежуток времени наблюдается рост потребностей в
Проекции точки
Slolka
: 14 октября 2013
На местах попуска должны быть рисунки (плоскостей, эпюров и т.п.)
ПРОЕКЦИИ ТОЧКИ.
ОРТОГОНАЛЬНАЯ СИСТЕМА ДВУХ ПЛОСКОСТЕЙ ПРОЕКЦИЙ.
Сущность метода ортогонального проецирования заключается в том, что предмет проецируется на две взаимно перпендикулярные плоскости лучами, ортогональными (перпендикулярными) к этим плоскостям..
Одну из плоскостей проекций H располагают горизонтально, а вторую V — вертикально. Плоскость H называют горизонтальной плоскостью проекций, V — фронтальной. Плоскост
10 руб.
Дискретная математика, Экзаменационная работа, Билет № 1
Александр495
: 18 мая 2016
1. Проверить, является ли тавтологией формула:
2. Применяя равносильные преобразования привести булеву функцию к минимальной KНФ.
3.Построить конечный детерминированный автомат, минимизировать его, записать канонические уравнения.
60 руб.
Народное хозяйство Финляндии
Qiwir
: 6 сентября 2013
Финляндия относится к числу малых высокоразвитых индустриальных стран. Население -5,2 млн.чел. Ее доля в мировом производстве невелика-0,4%,в мировой торговле- 0,8%. Валовый внутренний продукт Финляндии в 2002 г. составил 140,5 млрд.евро. Рост по сравнению с 2001 годом составил 1,7%
Финляндия входит в передовую группу стран мира по показателю ВВП на душу населения -26210 евро (в2001г), 27000 евро (2002 г.) - это в 16 раз превышает соответствующий показатель по Республике Карелия.
Занимает одно и
5 руб.