Отделение техники и технологий
РЕФЕРАТ
На тему
«Разработка операционных систем»
Содержание
Введение
1. Разработка интерфейса
2. Руководящие принципы
3. Парадигмы
1) Парадигмы интерфейса пользователя
2) Парадигмы пользователя
3) Парадигмы данных
4. Интерфейс системных вызовов
5. Реализация.
6. Структура системы
7. Многоуровневые системы
8. Экзоядра
9. Системы клиент-сервер
10. Расширяемые системы
11. Потоки ядра
12. Механизм и политика
13. Ортогональность
14. Время связывания
15. Реализация системы сверху вниз и снизу вверх
16. Полезные методы
17. Скрытие аппаратур
18. Косвенность
19. Повторное использование
20. Рентабельность
21. Метод грубой силы
22. Проверка на ошибки
23. Производительность
24. Кэширование
25. Подсказки
26. Использование локальности
27. Оптимизируйте общий случай
28. Управление проектом
29. Мифический человеко-месяц
30. Роль опыта
31. Тенденции и проектирование ОС
32. ОС с большим адресным пространством
33. Сеть
34. Параллельные и распределенные системы
35. Мультимедиа
Заключение
Введение
В среде разработчиков операционных систем ходит множество изустных преданий о том, что такое хорошо и что такое плохо, однако на удивление малое количество из этих историй записано. Наиболее важной книгой можно назвать классический труд Фреда Брукса, в котором автор делится своим опытом проектирования и реализации операционной системы IBM OS/360. Материал выпущенного к 20-летней годовщине издания был пересмотрен, к тому же в содержание книги было включено несколько новых глав. Вероятно, единственной книгой по операционным системам, в которой серьезно обсуждается тема проектирования.
Тремя классическими трудами по проектированию операционных систем являются как и книги Брукса, эти три статьи успешно пережили время, прошедшее с момента их написания. Большая часть рассматриваемых в них вопросов сохранила свою актуальность и в наши дни.
Данная глава основана на содержимом этих источников, кроме того, в ней используется личный опыт участия автора в проектировании трех систем: Amoeba, MINIX и Globe. Поскольку среди разработчиков операционных систем нет единого мнения по вопросу о том, как лучше всего проектировать операционные системы, эта глава будет носить более личный характер, более умозрительный и, несомненно, более противоречивый, чем предыдущие главы.
Природа проблемы проектирования
Разработка операционных систем представляет собой в большей мере инженерный проект, нежели точную науку. В этой области значительно труднее наметить ясные цели и достичь их. Рассмотрим для начала вопрос постановки задачи.
Цели.
Чтобы проект операционной системы был успешным, разработчики должны иметь четкое представление о том, чего они хотят. При отсутствии цели очень трудно принимать последующие решения. Чтобы этот вопрос стал понятнее, полезно взглянуть на два языка программирования, PL/I и С++. Язык PL/I был разработан корпорацией IBM в 60-е годы, так как поддерживать одновременно FORTRAN и COBOL и слушать при этом за спиной ворчание ученых о том, что Algol лучше, чем FORTRAN и COBOL вместе взятые, было невыносимо. Поэтому был создан комитет для создания нового языка, удовлетворяющего запросам всех программистов: PL/I. ............