А. Робачевский - Операционная система UNIX, страница 6
Описание файла
PDF-файл из архива "А. Робачевский - Операционная система UNIX", который расположен в категории "". Всё это находится в предмете "операционные системы" из 3 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст 6 страницы из PDF
В этом случае планиров!щик выбирает следующий процесс с наивысшим приоритетом и запускаетего на выполнение.Модуль управления памятью обеспечивает размещение оперативной памятидля прикладных задач. Оперативная память является дорогостоящим ре!сурсом, и, как правило, ее редко бывает "слишком много". В случае, еслидля всех процессов недостаточно памяти, ядро перемещает части процессаили нескольких процессов во вторичную память (как правило, в специ!альную область жесткого диска), освобождая ресурсы для выполняющегосяпроцесса. Все современные системы реализуют так называемую виртуаль!ную память: процесс выполняется в собственном логическом адресномпространстве, которое может значительно превышать доступную физиче!скую память. Управление виртуальной памятью процесса также входит взадачи модуля управления памятью.Модуль межпроцессного взаимодействия отвечает за уведомление процессово событиях с помощью сигналов и обеспечивает возможность передачиданных между различными процессами.Подсистема ввода/выводаПодсистема ввода/вывода выполняет запросы файловой подсистемы иподсистемы управления процессами для доступа к периферийным устрой!ствам (дискам, магнитным лентам, терминалам и т.
д.). Она обеспечиваетнеобходимую буферизацию данных и взаимодействует с драйверами уст!ройств — специальными модулями ядра, непосредственно обслуживаю!щими внешние устройства.www.books-shop.comРабота в операционнойсистеме UNIXСегодня UNIX используется на самых разнообразных аппаратных платфор!мах — от персональных рабочих станций до мощных серверов с тысячамипользователей. И прежде всего потому, что UNIX — это многозадачнаямногопользовательская система, обладающая широкими возможностями.С точки зрения пользователя в операционной системе UNIX существуют дватипа объектов: файлы и процессы.
Все данные хранятся в виде файлов, доступк периферийным устройствам осуществляется посредством чтения/записи вспециальные файлы. Когда вы запускаете программу, ядро загружает соот!ветствующий исполняемый файл, создает образ процесса и передает емууправление. Более того, во время выполнения процесс может считывать илизаписывать данные в файл. С другой стороны, вся функциональность опе!рационной системы определяется выполнением соответствующих процессов.Работа системы печати или обеспечения удаленного доступа зависит от того,выполняются ли те или иные процессы вВ этой главе мы познакомимся с пользовательской средой операционнойсистемы UNIX; попробуем взглянуть на UNIX глазами обычного пользо!вателя и администратора системы; не вдаваясь во внутреннюю архитекту!ру, обсудим, что такое файлы и файловая система, рассмотрим ее органи!зацию и характеристики; с этих же позиций рассмотрим процесс в UNIX,его роль, атрибуты и жизненный цикл.Мы также постараемся ответить на вопрос, что представляет собой пользо!ватель UNIX как с точки зрения самой системы, так и с точки зрения адми!нистрирования; изучим сеанс работы в операционной системе и подробноостановимся на командном интерпретаторе shell — базовой рабочей средепользователя; познакомимся с наиболее часто используемыми утилитами,неразрывно связанными с UNIX.
В заключение постараемся сформулиро!вать основные задачи администрирования этой операционной системы.Конечно, возможность печати документа или работы в Internet зависят также от наличияпринтера или сетевогоправильности их настройки, работы соответствующихпользовательских и системных приложений, умении пользоваться этими приложениями имногого другого. В следующих главах мы затронем эти аспекты.Ⱦɚɧɧɚɹɜɟɪɫɢɹɤɧɢɝɢɜɵɩɭɳɟɧɚɷɥɟɤɬɪɨɧɧɵɦɢɡɞɚɬɟɥɶɫɬɜɨɦ%RRNVVKRSɊɚɫɩɪɨɫɬɪɚɧɟɧɢɟɩɪɨɞɚɠɚɩɟɪɟɡɚɩɢɫɶɞɚɧɧɨɣɤɧɢɝɢɢɥɢɟɟɱɚɫɬɟɣɁȺɉɊȿɓȿɇɕɈɜɫɟɯɧɚɪɭɲɟɧɢɹɯɩɪɨɫɶɛɚɫɨɨɛɳɚɬɶɩɨɚɞɪɟɫɭpiracy@books-shop.com20Глава 1. Работа операционной системе UNIXФайлы и файловая системаФайлы в UNIX играют ключевую роль, что не всегда справедливо длядругих операционных систем.
Трудно отрицать значение файлов для поль!зователей, поскольку все их данные хранятся в виде файлов. Однако по!мимо этого, файлы в UNIX определяют привилегии пользователей, по!скольку права пользователя в большинстве случаев контролируются с по!мощью прав доступа к файлам. Файлы обеспечивают доступ к периферий!ным устройствам компьютера, включая диски, накопители на магнитнойленте, CD!ROM, принтеры, терминалы, сетевые адаптеры и даже память.Для приложений UNIX доступ в дисковому файлу "неотличим" от доступа,скажем, к принтеру. Наконец, все программы, которые выполняются всистеме, включая прикладные задачи пользователей, системные процессыи даже ядро UNIX, являются исполняемыми файлами.Как и во многих современных операционных системах, в UNIX файлыорганизованы в виде древовидной структуры (дерева), называемой файло!вой системойsystem).
Каждый файл имеет имя, определяющее егорасположение в дереве файловой системы. Корнем этого дерева являетсякорневой каталог (root directory), имеющий имяИмена всех остальныхфайлов содержат путь — список каталогов (ветвей), которые необходимопройти, чтобы достичь файла. В UNIX все доступное пользователям фай!ловое пространство объединено в единое дерево каталогов, корнем кото!рого является каталогТаким образом, полное имя любого файла начи!нается си не содержит идентификатора устройства (дискового накопи!теля, CD!ROM или удаленного компьютера в сети), на котором он факти!чески хранится.Однако это не означает, что в системе присутствует только одна файловаясистема. В большинстве случаев единое дерево, такое каким его видитпользователь системы, составлено из нескольких отдельных файловых сис!тем, которые могут иметь различную внутреннюю структуру, а файлы,принадлежащие этим файловым системам, могут быть расположены наразличных устройствах.
Вопросы, связанные с объединением несколькихфайловых систем в единое дерево, будут обсуждаться при рассмотрениивнутреннего устройства файловой системы UNIX в главе 4.Заметим, что имя файла является атрибутом файловой системы, а не набо!ра некоторых данных на диске, который не имеет имени как такового.Каждый файл имеет связанные с ним метаданные (хранящиеся в индексныхдескрипторах — inode), содержащие все характеристики файла и позво!ляющие операционной системе выполнять операции, заказанные при!кладной задачей: открыть файл, прочитать или записать данные, создатьили удалить файл.
В частности, метаданные содержат указатели на диско!вые блоки хранения данных файла. Имя файла в файловой системе явля!ется указателем на его метаданные, в то время как метаданные не содер!жат указателя на имя файла.www.books-shop.com21Файлы и файловая системаТипы файловВ UNIX существуют 6 типов файлов, различающихся по функциональномуназначению и действиям операционной системы при выполнении тех илииных операций над файлами:ООбычный файл (regular file)Каталог (directory)Специальный файл устройства (special device file)FIFO или именованный канал (named pipe)ОСвязь (link)ОСокетОбычный файл представляет собой наиболее общий тип файлов, содержа!щий данные в некотором формате.
Для операционной системы такие фай!лы представляют собой просто последовательность байтов. Вся интерпре!тация содержимого файла производится прикладной программой, обраба!тывающей файл. К этим файлам относятся текстовые файлы, бинарныеданные, исполняемые программы и т. п.Каталог. С помощью каталогов формируется логическое дерево файловойсистемы.
Каталог — это файл, содержащий имена находящихся в немфайлов, а также указатели на дополнительную информацию — метадан!ные, позволяющие операционной системе производить операции над эти!ми файлами. Каталоги определяют положение файла в дереве файловойсистемы, поскольку сам файл не содержит информации о своем местона!хождении.
Любая задача, имеющая право на чтение каталога, может про!честь его содержимое, но только ядро имеет право на запись в каталог.На рис. 1.1 в качестве примера приведена структура каталога. По существукаталог представляет собой таблицу, каждая запись которой соответствуетнекоторому файлу. Первое поле каждой записи содержит указатель на ме!таданные (номер mode), а второе определяет имя файла.Рис. 1.1. Структура каталогаwww.books-shop.com22Глава 1. Работа в операционной системе UNIXСпециальный файл устройства обеспечивает доступ к физическому уст!ройству. В UNIX различают символьные (character) и блочные (block) файлыустройств. Доступ к устройствам осуществляется путем открытия, чтения изаписи в специальный файл устройства.Символьные файлы устройств используются для небуферизированного об!мена данными с устройством, в противоположность этому блочные файлыпозволяют производить обмен данными в виде пакетов фиксированнойдлины — блоков.
Доступ к некоторым устройствам может осуществлятьсякак через символьные, так и через блочные специальные файлы.Как производится работа с периферийными устройствами, описано в главе 5.FIFO или именованный канал — это файл, используемый для связи междупроцессами.
FIFO впервые появились в System V UNIX, но большинствосовременных систем поддерживают этот механизм. Более подробно мырассмотрим этот тип файлов при обсуждении системы межпроцессноговзаимодействия в главе 3.Связь. Как уже говорилось, каталог содержит имена файлов и указатели наих метаданные. В то же время сами метаданные не содержат ни именифайла, ни указателя на это имя.
Такая архитектура позволяет одному фай!лу иметь несколько имен в файловой системе. Имена жестко связаны сметаданными и, соответственно, с данными файла, в то время как самфайл существует независимо от того, как его называют в файловой систе!Такая связь имени файла с его данными называется жесткой связью(hard link). Например, с помощью командымы можем создать ещеодно имя (second) файла, на который указывает имя first (рис. 1.2).$ pwd$firstЖесткие связи абсолютно равноправны.
В списках файлов каталогов, ко!торые можно получить с помощью команды ls(l), файлы first и second бу!дут отличаться только именем. Все остальные атрибуты файла будут абсо!лютно одинаковыми. С точки зрения пользователя — это два разных фай!ла. Изменения, внесенные в любой из этих файлов, затронут и другой, по!скольку оба они ссылаются на одни и те же данные файла. Вы можете пе!реместить один из файлов в другой каталог — все равно эти имена будутсвязаны жесткой связью с данными файла. Легко проверить, что удалениеодного из файлов (first или second) не приведет к удалению самого файла,т.
е. его метаданных и данных (если это не специальный файл устройства).Данное утверждение верно лишь отчасти. Действительно, файлу "безразлично", какиеимена он имеет в каталогах, но "небезразлично" число этих имен. Если ни одно из именфайловой системы не ссылается на файл — он должен быть удален (т.