Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Новые рефераты » Побудова надійніх операційніх систем, что допускаються наявність ненадійніх драйверів прістроїв

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





зані на рис. 6 і 7, це співвідношення ставити Всього від 3% до 5%.

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

Результати тестування Додатків

Наступний набор тестів складався з реальних програм, а не просто вімірів годині Виконання системних вікліків. Результати наведено на рис. 8. Перший тест пролягав у побудові области початкова завантаження (boot image) у ціклі, что містіть виклик system (В«make imageВ»); тім самим, побудова віроблялося багатая разів. При шкірному побудові компілятор мови C віклікався 123 рази, Асемблер - 4 рази и компонувальнік - 11 разів. Побудова ядра, драйверів, серверів и програми init, а такоже збірка области Початкова завантаження зайнять 3.878 секунд. Середній годину компіляції стаєш 32 мсек на файл.

Другий тест містів цикл, у якому компілюваті тести відповідності стандарту POSIX. Набір з 42 тестових програм компілюватіся за 1,577 секунди, або пріблізно за 37 мсек на файл тесту. Тести з третього по сьомий Складанний в сортуванні до 64-мегабайтной файлу та! застосування до нього sed, grep, prep и uuencode відповідно. У ціх тестах у різніх ОБСЯГИ змішуваліся обчислення и обміні з диском. Коженая тест пропускався позбав по одному разу, так что кеш файлової системи практичні НЕ вікорістовувався, КОЖЕН блок браві з диска. Середнє Падіння продуктівності склалось в ціх випадка 6%. Если взяти середнє значення для последнего стовпця Показників 1922 тестів, відображеніх на рис. 6-8, мі отрімаємо 1.08. Іншімі словами, версия з драйверами, что віконуються в режімі користувача, виявило пріблізно на 8% повільніше Версії з ядерно драйверами для операцій, Які залучають обміні з дисками.

Мережева Продуктивність

Мі тестувалі такоже и Мережева Продуктивність системи з драйверами, что віконуються в режімі користувача. Тестування проводимо з використаних карти Intel Pro/100, оскількі у нас не Було драйвера для карти Intel Pro/1000. Мі змоглі управляти Ethernet на повній Швидкості. Крім того, ми запускали тести поворотної петлі з відправніком та одержувачем, что знаходяться на одній машіні, и спостерігалі Пропускна здатність в 1.7 Гб/сек. Оскількі це еквівалентно Використання мережевих з'єднання для посилки на Швидкості 1.7 Гб/сек и одночасного прийому на тій же Швидкості, мі впевнені, что управління гігабітної апаратурою Ethernet з Єдиним односпрямованім потоком на Швидкості в 1 Гб/з не винна создать проблему при вікорістанні драйвера, что віконується в режімі користувача.

Розмір кодом

ШВИДКІСТЬ - Це не єдиний Показник, Який представляет Інтерес; Дуже ВАЖЛИВО Є І кількість помилок. На прикро, ми не можемо безпосередно перерахуваті ВСІ помилки, альо РОЗУМНА замінніком числа помилок, ймовірно, є число рядків коду. Нагадаємо: чім больше код, тім больше помилок.

Підрахуваті Кількість рядків коду не так просто, як может здать на перший погляд. По-перше, порожні рядки и Коментарі НЕ додаються в код складності, и того ми їх НЕ враховуємо. По-друге, # define ї Другие визначення у файлах заголовків такоже НЕ додаються у код складності, и того файли заголовків теж НЕ враховуються. Підрахунок числа рядків віконувався з використаних Perl-скрипта sclc.pl, доступного в Internet. Результати для ядра, чотірьох серверів (файлової сервери процесів, сервера реінкарнації, інформаційного сервера), п'яти драйверів (жорсткий диск, флоппі-диска, RAM-диска, терміналу, Пристрої журналізацію) i програми init показані на рис. 9.

На малюнку можна Бачити, что ядро ​​Складається з 2947 рядків на мові C и 778 рядків на мові асемблера (для програмування нізькорівневіх функціональніх можливіть, таких як перехоплення переривані и Збереження регістрів ЦП при переміканні процесів). Всього є 3725 рядків коду. І Тільки цею код віконується в режімі ядра. Іншім способом вімірювання розміру коду для C-програм є Підрахунок числа точок з комою, оскількі багатая Операторів мови C завершуються Крапка з комою. У коді ядра є 1729 точок з комою. Нарешті, розмір скомпільованій ядра складає 21,312 байт. Це число задає Тільки розмір коду (тоб сегмента тексту). Початкові дані (3800 байт) i стек в це число не входять. p> Цікаво, что статистика Розмірів кодом, показана на рис. 9, представляет мінімальну, альо функціонуючу операційну систему. Загальний розмір ядерної Частини и частині, что працює в режімі користувача, складає Всього 18,000 рядків коду, Незвичайна мало для POSIX-сумісної операційної системи.


8. Споріднені Дослідження


Ми є НЕ дерло досліднікамі, что намагають Запобігти відмові систем з звинувачуй драйверів прістроїв, что містя...


Назад | сторінка 13 з 17 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Розробка в середовищі Turbo Pascal програми обчислення суми елементів рядкі ...
  • Реферат на тему: Сортування рядків матриці в програмі Pascal
  • Реферат на тему: Оптичний метод визначення швидкості обертання диска на валу
  • Реферат на тему: Драйвера ядра Windows
  • Реферат на тему: Конструкторське проектування микроконтроллерной системи формування цифровог ...