Архитектура операционной системы UNIX (ЛП)

Архитектура операционной системы UNIX (ЛП)

Морис Дж Бах , Морис Дж. Бах

Описание

Эта книга предоставляет глубокое понимание внутренних алгоритмов и структур операционной системы UNIX, известной как "ядро". Она объясняет взаимосвязь ядра с программным интерфейсом, что делает ее полезной для специалистов в различных операционных средах. Книга может использоваться как учебное пособие по курсу "Операционные системы" для студентов и аспирантов, а также как справочник для системных программистов. Программисты, работающие в среде UNIX, смогут углубить понимание взаимодействия программ с операционной системой для создания более эффективных программ. Книга основана на лекциях для сотрудников Bell Laboratories и содержит множество практических упражнений, которые помогут читателю углубить свои знания. Она охватывает файловую систему, управление процессами и другие ключевые аспекты архитектуры UNIX. Книга базируется на версии V операционной системы UNIX, с учетом особенностей версии 3 и BSD.

<p>Морис Дж. Бах</p><p>Архитектура операционной системы UNIX</p><p>ПРЕДИСЛОВИЕ</p>

Впервые система UNIX была описана в 1974 году в статье Кена Томпсона и Дэнниса Ричи в журнале «Communications of the ACM» [Thompson 74]. С этого времени она получила широкое распространение и завоевала широкую популярность среди производителей ЭВМ, которые все чаще стали оснащать ею свои машины. Особой популярностью она пользуется в университетах, где довольно часто участвует в исследовательском и учебном процессе.

Множество книг и статей посвящено описанию отдельных частей системы; среди них два специальных выпуска «Bell System Technical Journal» за 1978 год [BSTJ 78] и за 1984 год [BSTJ 84]. Во многих книгах описывается пользовательский интерфейс, в частности использование электронной почты, подготовка документации, работа с командным процессором Shell; в некоторых книгах, таких как «The UNIX Programming Environment» [Kernighan 84] и «Advanced UNIX Programming» [Rochkind 85], описывается программный интерфейс. Настоящая книга посвящена описанию внутренних алгоритмов и структур, составляющих основу операционной системы (т. н. «ядро»), и объяснению их взаимосвязи с программным интерфейсом. Таким образом, она будет полезна для работающих в различных операционных средах. Во-первых, она может использоваться в качестве учебного пособия по курсу «Операционные системы» как для студентов последнего курса, так и для аспирантов первого года обучения. При работе с книгой было бы гораздо полезнее обращаться непосредственно к исходному тексту системных программ, но книгу можно читать и независимо от него. Во-вторых, эта книга может служить в качестве справочного руководства для системных программистов, из которого последние могли бы лучше уяснить себе механизм работы ядра операционной системы и сравнить между собой алгоритмы, используемые в UNIX, и алгоритмы, используемые в других операционных системах. Наконец, программисты, работающие в среде UNIX, могут углубить свое понимание механизма взаимодействия программ с операционной системой и посредством этого прийти к написанию более эффективных и совершенных программ.

Содержание и порядок построения материала в книге соответствуют курсу лекций, подготовленному и прочитанному мной для сотрудников фирмы Bell Laboratories, входящей в состав корпорации AT&T, между 1983 и 1984 гг. Несмотря на то, что главное внимание в курсе лекций обращалось на исходный текст системных программ, я обнаружил, что понимание исходного текста облегчается, если пользователь имеет представление о системных алгоритмах. В книге я пытался изложить описание алгоритмов как можно проще, чтобы и в малом отразить простоту и изящество рассматриваемой операционной системы. Таким образом, книга представляет собой не только подробное истолкование особенностей системы на английском языке; это изображение общего механизма работы различных алгоритмов, и что гораздо важнее, это отражение процесса их взаимодействия между собой. Алгоритмы представлены на псевдокоде, похожем на язык Си, поскольку читателю легче воспринимать описание на естественном языке; наименования алгоритмов соответствуют именам процедур, составляющих ядро операционной системы. Рисунки описывают взаимодействие различных информационных структур под управлением операционной системы. В последних главах многие системные понятия иллюстрируются с помощью небольших программ на языке Си. В целях экономии места и обеспечения ясности изложения из этих примеров исключен контроль возникновения ошибок, который обычно предусматривается при написании программ. Эти примеры прогонялись мною под управлением версии V; за исключением программ, иллюстрирующих особенности, присущие версии V, их можно выполнять под управлением других версий операционной системы.

Большое число упражнений, подготовленных первоначально для курса лекций, приведено в конце каждой главы, они составляют ключевую часть книги. Отдельные упражнения, иллюстрирующие основные понятия, размещены непосредственно в тексте книги. Другая часть упражнений отличается большей сложностью, поскольку их предназначение состоит в том, чтобы помочь читателю углубить свое понимание особенностей системы. И, наконец, часть упражнений является по природе исследовательской, предназначенной для изучения отдельных проблем. Упражнения повышенной сложности помечены звездочками.

Похожие книги

Искусство обмана

Юрий Викторович Щербатых, Вильям Л Саймон

Эта книга – увлекательное и глубокое исследование феномена обмана. Авторы, объединив научный подход с доступностью изложения, анализируют психологические и социальные аспекты обмана, рассматривая его как неотъемлемую часть человеческой истории и эволюции. Книга рассматривает историю обмана, его формы и методы, а также механизмы восприятия и противостояния обману. В ней представлены примеры из различных культур и исторических периодов, позволяя читателю глубже понять природу этого сложного явления. Искусство обмана – это не просто описание, но и попытка понять и осмыслить причины и последствия обмана в жизни человека. Книга адресована всем, кто интересуется психологией, социологией, историей и хочет узнать больше об этом важном аспекте человеческого взаимодействия.

UNIX

Роб Пайк, Брайан Керниган

Эта книга, написанная опытными разработчиками UNIX, предоставляет глубокое понимание операционной системы. Она выходит за рамки простого описания языков программирования, фокусируясь на автоматизации задач программиста и системной поддержке. Книга содержит многочисленные примеры использования языка управления заданиями shell. Идеально подходит для программистов, работающих с UNIX, и тех, кто стремится освоить эту мощную систему. Книга подробно описывает структуру, функционирование и использование системы, от командного языка до примитивов нижнего уровня. Вы научитесь создавать программы, использовать файловую систему, командный интерпретатор shell, и многое другое. Превосходное руководство для начинающих и опытных программистов.

Основы AS/400

Фрэнк Солтис

В этом полном руководстве, основанном на втором издании книги "Основы AS/400", подробно рассматриваются все аспекты работы системы AS/400. От новейших аппаратных и программных технологий до истории создания, книга охватывает все ключевые моменты. Автор, Фрэнк Солтис, ведущий эксперт в области AS/400, предоставляет глубокий анализ архитектуры и идеологии системы. Книга адресована широкому кругу читателей, от бизнесменов и менеджеров до специалистов, желающих углубиться в детали. Первое издание на русском языке.

Веб-дизайн

Дмитрий Михайлович Кирсанов

Этот курс веб-дизайна, написанный Дмитрием Кирсановым, автором бестселлера "Факс-модем", охватывает все аспекты создания веб-сайтов. От базовых принципов визуального дизайна до практических приемов работы над сайтом, книга предоставляет исчерпывающие знания. Понятный и увлекательный стиль изложения делает обучение эффективным и интересным для начинающих веб-дизайнеров, а также для специалистов в смежных областях, таких как дизайнеры, маркетологи, художники и программисты. Книга идеально подходит для тех, кто хочет освоить веб-дизайн с нуля или углубить свои знания в этой области.