А. Робачевский - Операционная система UNIX (1114671), страница 2
Текст из файла (страница 2)
кафедрой "Вычислительная техника" Санкт!Петербургского государ!ственного электротехнического университета д. т. н. профессору Д. В. Пузан!кову и зав. кафедрой "Информационные и управляющие системы" Санкт!Петербургского государственного Технического университета д. т. н. профес!сору И. Г. Черноруцкому за полезные замечания.Я хотел бы также поблагодарить зав. редакции издательстватербург" Елизавету Кароник, которая первой ознакомилась с рукописью и вы!несла положительный вердикт, за кредит доверия и координацию работ посозданию книги. Я хочу выразить благодарность Татьяне Темкиной за ее вели!колепную работу по редактированию книги.
Случалось, что отдельные стра!ницы рукописи содержали меньше основного материала, чем редакторскойправки, с которой я, как правило, всегда соглашался.Я не могу не выразить признательность моим коллегам по работе ВладимируПарфенову, Юрию Гугелю, Юрию Кирчину, Нинедружеская под!держка которых была так кстати.И, конечно, я хотел бы поблагодарить моих жену и дочь за их терпение и веру вуспешное завершение этой работы. Я также должен извиниться перед ними зато, что этот труд отнял у меня значительную часть времени, по праву принадле!жащего им.Авторwww.books-shop.comПосвящается моим близкимО книге "Операционная системаНазначение книгиДанная книга не является заменой справочников и различных руководств по опера!ционной системе UNIX.
Более того, сведения, представленные в книге, подчас труд!но найти в документации, поставляемой с операционной системой. Эти издания на!сыщены практическими рекомендациями, скрупулезным описанием настроек техили иных подсистем, форматов вызова команд и т. п. При этом за кадром часто ос!таются такие вопросы, как внутренняя архитектура отдельных компонентов системы,их взаимодействие и принципы работы. Без знания этой "анатомии" работа в опера!ционной системе превращается в использование заученных команд, а неизбежныеошибки приводят к необъяснимым последствиям. С другой стороны, в данной книгевопросам администрирования UNIX, настройке конкретных подсистем и используе!мым командам уделено значительно меньше внимания.
Цель данной книги заключа!ется в изложении основ организации операционной системы UNIX. Следует иметьв виду, что именем UNIX обозначается значительное семейство операционных сис!тем, каждая из которых имеет свое название и присущие только ей особенности. Вэтой книге сделана попытка выделить то общее, что составляет "генотип" UNIX, aименно: базовый пользовательский и программный интерфейсы, назначение основ!ных компонентов, их архитектуру и взаимодействие, и на основе этого представитьсистему в целом. В то же время там, где это имеет значение, приводятся ссылки наконкретную версию UNIX. Для иллюстрации отдельных положений использовалисьследующие операционные системы: Solaris 2.5 фирмы Sun Microsystems, SCO ODT5.0 фирмы Santa Cruz Operation, BSDi/386 фирмы Berkeley Software Design.Рождению этой книги предшествовал более чем трехлетний опыт чтения лекций посистеме UNIX студентам третьего курса Санкт!Петербургского института точноймеханики и оптики (технического университета), а также вводного курса для пользо!вателей и администраторов UNIX в различных организациях.
Большая часть мате!риала этих курсов нашла свое отражение в книге.Книга может оказаться полезной при подготовке ряда лекционных программ по опе!рационной системе UNIX и основам организации операционных систем в целом.Материал главы 1 является хорошей основой для вводного курса по UNIX. В немпредставлены основные понятия и организация операционной системы в целом. Вэтой же главе приведены основные сведения о пользовательском интерфейсе и языкепрограммирования командного интерпретатора shell.Материал главы 2 может быть использован в курсах по программированию. Подроб!ное обсуждение основных системных вызовов и библиотечных функций дает доста!точно полное представление о программном интерфейсе этой операционной систе!мы. Приведенные примеры иллюстрируют обсуждаемые вопросы и могут найти своеотражение в лабораторном практикуме.Главысодержат более детальное обсуждение отдельных компонентов UNIX:файловой подсистемы, подсистемы управления процессами и памятью, подсистемыввода/вывода.
Эти сведения подойдут как для углубленного курса по UNIX, так идля курса по принципам организации операционных систем. Отдельные части главы 6могут быть также включены в курс по компьютерным сетям.Книга может использоваться и в качестве учебного пособия для студентов старшихкурсов по специальностям "Информатика и вычислительная техника", "Прикладнаяwww.books-shop.comО книге "Операционная системаматематика и информатика" (при подготовке бакалавров) и по специальности"Вычислительные машины, комплексы системы и сети" (при подготовке инженеров)она может быть полезной при подготовке магистров и аспирантов, а также всем сту!дентам, специализирующимся в области компьютерных технологий.Книга также является хорошим подспорьем для системных программистов и админи!страторов UNIX.
Надеюсь, что более пристальный взгляд на внутреннюю организациюсистемы поможет им эффективнее решать поставленные задачи и откроет новые гори!зонты для экспериментов.Наконец, книга может оказаться интересной для широкого круга пользователей, же!лающих побольше узнать об этой операционной системе.На кого рассчитана эта книга?Бессмысленно разбираться в операционной системе, не работая с ней. Прежде всего,знание операционной системы, ее организации и структуры необходимо администра!тору, т.е. человеку, отвечающему за ее сопровождение и настройку. Задачи администра!тора многочисленны — от регистрации пользователей до конфигурации сети, от созда!ния резервных копий системы до настройки производительности. Без пониманияпринципиального устройства операционной системы решение всех этих задач превра!щается в заучивание команд и пунктов меню, а нештатные ситуации вызывают панику.Знание операционной системы нужно разработчику программного обеспечения.
Оттого, насколько эффективно используются ресурсы операционной системы, зависитбыстродействие вашей программы. Не понимая принципов работы, легко запутатьсяв тонкостях системных вызовов и библиотечных функций. Если же вы работаете сядром системы — например, разрабатываете драйвер устройства, — без знания сис!темы вы не продвинетесь ни на шаг.Наконец, если вы просто пользователь, то знание операционной системы ограничи!вается теми задачами, которые вам необходимо решать в процессе работы. Скореевсего, это несколько команд, а если вы работаете с графической оболочкой, то иэтого вам не понадобится. Но так ли приятно работать с черным ящиком?Принятые обозначенияСистемные вызовы, библиотечные функции, команды shell выделены в тексте курси!вом, например open(2), cat(l) илиВ скобках указывается раздел электронногосправочника(описание справочника приведено в приложении А).Структуры данных, переменные и внутренние функции подсистем ядра, исходныетексты программ и примеры работы в командной строке напечатаны шрифтом фик!сированной ширины.
Например, d_opensleep или пример программы:int{exit ()}В примерах работы в командной строке ввод пользователя выделен полужирнымшрифтом фиксированной ширины, например:$Enter old password:Имена файлов выделены полужирным начертанием, например /etc/passwd или<sys/user.h>.Клавиши клавиатуры показаны курсивом и заключены в угловые скобки, напримерили <Ctrl>+<C> (в последнем случае показана комбинация клавиш).www.books-shop.comСкоро исполнится 30 лет с момента создания операционной системыUNIX.
Изначально созданная для компьютера PDP!7 с 4 килобайтамиоперативной памяти, сегодня UNIXна множестве аппаратныхплатформ, начиная с обыкновенного PC и заканчивая мощными много!процессорными системами и суперкомпьютерами.Система UNIX была создана небольшой группой разработчиков, тысячилюдей вложили в нее свой талант, десятки тысяч обогатили приложения!ми, и сегодня сотни тысяч людей используют эту операционную систему всвоей деятельности.За время своего существования система UNIX претерпела значительныеизменения, стала мощней, сложней и удобней. Однако основные идеи со!хранились, удивляя нас своим изяществом и простотой. Именно они оп!ределяют "генотип" операционной системы, позволяя увидеть за красивы!ми названиями различных версий лаконичное слово UNIX.
Именно изя!щество и простота этих идей являются основой жизненной силы UNIX, ееспособности всегда идти в ногу со временем.История созданияВ 1965 году Bell Telephone Laboratories (подразделение AT&T) совместно сGeneral Electric Company иинститутом технологии (MIT)начали разрабатывать новую операционную систему, названную MULTICS(MULTiplexed Information and Computing Service). Перед участниками про!екта стояла цель создания многозадачной операционной системы разделе!ния времени, способной обеспечить одновременную работу несколькихсотен пользователей. От Bell Labs в проекте приняли участие два сотруд!ника — Кен Томпсон (Ken Tompson) и Дэннис Ритчи (Dennis Ritchie). Хо!тя система MULTICS так и не была завершена (в 1969 году Bell Labs вы!шла из проекта), она стала предтечей операционной системы, впоследст!вии получившей название UNIX.Однако Томпсон, Ритчи и ряд других сотрудников продолжили работу надсозданием удобной среды программирования.