Главная страница Межпроцессное взаимодействие (состязание) Глава 6 Библиография в предыдущих пяти главах был рассмотрен широкий спектр вопросов. Цель последней главы заключается в том, чтобы помочь заинтересованным читателям продолжить изучение операционных систем. Первый раздел представляет собой список книг, рекомендованных для дальнейшего чтения. Второй раздел является алфавитным перечнем всех изданий, на которые мы ссылались в данной книге. Помимо этих списков литературы, в поисках новых статей по вопросам принципов операционных систем стоит заглянуть в материалы симпозиумов Ассоциации по вычислительной технике (АСМ, Association for Computing Machinery), проводимых раз в год, а также в отчеты ежегодной международной конференции по распределенным вычислительным системам от IEEE. Представляют интерес и материалы симпозиума USENIX по проектированию и реализации операционных систем. Кроме того, интересные статьи об операционных системах печатаются в журналах АСМ Transactions on Computer Systems и Operating Systems Review. 6.1. Литература, рекомендуемая для дальнейшего чтения 6.1.1. Введение и общие труды 1. Brooks, The Mythical Man Month: Essays on Software Engineering*. Фред Брукс был одним из разработчиков операционной системы OS/360. Он на собственном опыте научился отличать то, что работает, от того, что не работает. 2. Comer, D.: Operating System Design. The Xinu Approach, Upper Saddle River*, NJ, Prentice Hall, 1984. Книга об операционной системе Xinu, работавшей на LSI-11. Содержит детальный обзор исходных кодов и полный листинг на языке С. 3. Corbat6, Оп Building Systems That Will Faib. В своей лекции по поводу получения премии Тьюринга основатель системы разделения времени высказывает примерно те же соображения, что и Брукс в упомянутой выше книге. Он приходит к выводу, что все сложные системы в конце концов ждет крах, и чтобы иметь хоть какой-то шанс на успех, необходимо избегать любой сложности и придерживаться простоты и элегантности проекта. 4. Deitel, Operating Systems*, 2nd Ed. Базовая книга об операционных системах. В дополнение к стандартным материалам, содержит обзоры операционных систем UNIX, MS-DOS, MVS, VM, OS/2 и ОС для Macintosh. 5. Finkel, Ап operating Systems Vade Месит . Еще одна общая книга об операционных системах. Она ориентирована на практические задачи и неплохо написана. Содержимое охватывает многие рассматриваемые здесь вопросы, предоставляя тем самым хорошую возможность взглянуть на них под новым углом. 6. IEEE, Information Technology - Portable Operating System Interface (POSIX), Part 1: System Application Program Interface (API) [C Language]*. Это не беллетристика, a стандарт. Некоторые разделы вполне удобочитаемы, особенно дополнение В, Rationale and Notes* (обоснования и примечания), благодаря которому часто становится понятно, почему то или иное сделано именно так, а не иначе. Одно из преимуществ ссылки на стандарт заключается в том, что в этом документе по определению нет ошибок. Если какой-либо типографской опечатке в макросе удается преодолеть процесс редактирования, то после этого она уже не ошибка, а официальный факт. 7. Lampson, Hints for Computer System Design*. Батлер Лэмпсон, один из ведущих в мире разработчиков передовых операционных систем, за годы собрал множество подсказок, предложений и руководящих указаний и поместил их в эту увлекательную и информативную статью. Как и книга Брукса, эта статья является обязательным чтением для каждого честолюбивого разработчика операционных систем. 8. Lewine, POSIX Programmers Guide*. Эта книга описывает требования POSIX более подробно, чем документы стандарта, а также включает обсуждения с примерами преобразования старых программ в стандарт POSIX и описывает методы разработки новых программ для среды POSIX. 9. Silberschatz and Galvin, Operating System Concepts*, 4th Ed. Еще один учебник по операционным системам. Тематика: процессы, управление накопителями, файлы и распределенные системы. Рассматриваются два конкретных случая: UNIX и Mach. На обложке полно динозавров. Какое отношение они имеют к операционным системам 1990-го года, непонятно. 10. Stallings, Operating Systems*, 4th Ed. Опять-таки учебник, и опять-таки по операционным системам. В нем затрагиваются все традиционные темы, а также включено небольшое количество материала по распределенным средам. И. Stevens, Advanced Programming in the UNIX Environment*. Руководство, как написать программы на языке С с помощью интерфейса системных вызовов UNIX и стандартной библиотеки С. Примеры основа- 6.1.3. Ввод/вывод 1. Chen et al., RAID: High Performance Reliable Secondary Storage*. Параллельное использование нескольких жестких дисков для ускорения ввода/вывода является современной тенденцией в профессиональных сис- ны на версиях системы UNIX System V Release 4 и 4.4BSD. Подробное описание этих реализаций строится относительно стандарта POSIX. 12. Switzer, Operating Systems, A Practical Approach*. В основе книги лежит подход, аналогичный этому тексту. Теоретические понятия иллюстрируются примерами псевдокода и исходными кодами модельной операционной системы TUNIX. В отличие от MINIX TUNIX не рассчитана на работу с реальными машинами и выполняется на виртуальной. Она не столь реалистична, как MINIX, в плане драйверов устройств, но превосходит ее в некоторых других областях, в частности в организации виртуальной памяти. 6.1.2. Процессы 1. Andrews and Schneider, Concepts and Notations for Concurrent Programming*. Учебный и обзорный материал по процессам и межпроцессному взаимодействию, в котором, среди прочего, описываются активное ожидание, семафоры, мониторы, передача сообщений и другие технологии. В этой статье также показывается, как эти понятия встроены в различные языки профаммирования. 2. Ben-Ari, Principles of Concurrent Programming*. Эта небольшая книга полностью посвящена проблемам межпроцессного взаимодействия. Среди прочих тем в отдельных главах обсуждаются взаимные исключения, семафоры, мониторы и вопросы кормления философов. 3. Dubois et al., Synchronization, Coherence, and Event Ordering in Multiprocessors*. Учебная статья по вопросам синхронизации в мультипроцессорных системах с общей памятью. Однако некоторые идеи в равной мере применимы также к однопроцессорным системам и системам с распределенной памятью. 4. Silberschatz and Galvin, Operating System Concepts*, 4th Ed. В главах с 4-й по 6-ю рассматриваются семафоры и взаимодействие между процессами, включая планирование, критические секции, семафоры, мониторы и классические проблемы взаимодействия между процессами.
|
© 2000 - 2024 ULTRASONEX-AMFODENT.RU.
Копирование материалов разрешено исключительно при условии цититирования. |