Андрей Робачевский - Операционная система UNIX
- Название:Операционная система UNIX
- Автор:
- Жанр:
- Издательство:BHV - Санкт-Петербург
- Год:1997
- Город:Санкт-Петербург
- ISBN:5-7791-0057-8
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Андрей Робачевский - Операционная система UNIX краткое содержание
Книга посвящена семейству операционных систем UNIX и содержит информацию о принципах организации, идеологии и архитектуре, объединяющих различные версии этой операционной системы.
В книге рассматриваются: архитектура ядра UNIX (подсистемы ввода/вывода, управления памятью и процессами, а также файловая подсистема), программный интерфейс UNIX (системные вызовы и основные библиотечные функции), пользовательская среда (командный интерпретатор shell, основные команды и утилиты) и сетевая поддержка в UNIX (протоколов семейства TCP/IP, архитектура сетевой подсистемы, программные интерфейсы сокетов и TLI).
Для широкого круга пользователей
Операционная система UNIX - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Координационный центр CERT (http://www.cert.org/). Это официальный сервер Координационного центра группы быстрого реагирования по компьютерной безопасности CERT (Computer Emergency Responce Team). Здесь вы получите исчерпывающие ответы на вопросы об истории CERT, целях и задачах этой организации, а также узнаете, как улучшить защищенность вашей системы от несанкционированного доступа.
Электронная библиотека документации по SCO UNIX (http://www2.sco.com:1996/dochome.html). На этом сервере расположены электронные гипертекстовые версии документации по операционным системам SCO UNIX. Прекрасный источник информации для пользователей SCO UNIX.
JefPs UNIX Vault (http://www2.shore.net/~jblaine/vault). Прекрасная коллекция ссылок на ресурсы Internet, связанные с операционной системой UNIX.
Домашняя страница Ричарда Стевенса (http://www.kohala.com/~rstevens). Если вы хотите познакомиться с автором замечательных книг по программированию в UNIX Ричардом Стевенсом, посетите его домашнюю страницу. Здесь вы найдете полную библиографию его книг с аннотациями и содержанием, а также большое количество ссылок на другие источники информации по операционной системе UNIX.
Зеркальный сервер компании SCO (ftp://ftp.olly.ru/). На сервере Санкт-Петербургской фирмы OLLY представлен большой объем справочной информации, драйверов, условно бесплатного программного обеспечения для операционных систем компании Santa Cruz Operation, Inc., включая зеркальные копии многих разделов сервера ftp.sco.comftp.sco.com .
Книги и документация по UNIX на русском языке (http://pluto.xTech.RU/Russian/Unix-Doc/). На сервере Новосибирского института систем информатики представлены переводы книг M. Баха "Архитектура операционной системы UNIX", M. Уэлша "Инсталляция Linux и первые шаги", а также некоторые разделы электронного справочника man.
Примечания
1
Официальной датой рождения UNIX можно считать 1 января 1970 года. Именно с этого момента любая система UNIX отсчитывает свое системное время.
2
Конечно, возможность печати документа или работы в Internet зависят также от наличия принтера или сетевого адаптера, правильности их настройки, работы соответствующих пользовательских и системных приложений, умении пользоваться этими приложениями и многого другого. В следующих главах мы затронем эти аспекты.
3
Данное утверждение верно лишь отчасти. Действительно, файлу "безразлично", какие имена он имеет в каталогах, но "небезразлично" число этих имен. Если ни одно из имен файловой системы не ссылается на файл — он должен быть удален (т.е. физически удалены его данные на диске).
4
Группой называется определенный список пользователей системы. Пользователь системы может быть членом нескольких групп, одна из которых является первичной (primary), остальные — дополнительными (supplementary).
5
На самом деле файл создает не пользователь, а процесс, запущенный пользователем. Процесс имеет атрибуты, связанные с пользователем и группой, которые и назначаются файлу при его создании. Более точное описание передачи "владения" имеет вид:
1. Идентификатор владельца-пользователя файла (UID) устанавливается равным EUID процесса, создающего файл (т. е. вызвавшего функцию open(2) или creat(2) ).
2. Идентификатор владельца-группы файла (group ID) устанавливается равным
а) EGID процесса (для версии System V);
б) GID каталога, в котором файл создается (для версии BSD).
Большинство систем, использующих наследование System V, позволяют также устанавливать наследование группового владельца в стиле BSD. Это достигается установкой флага SGID на каталог. Более подробно об этом см. раздел "Дополнительные атрибуты" далее в этой главе.
6
На самом деле специальный файл, связанный с устройством печати, не имеет общедоступных прав на запись. Доступ к принтеру контролируется системой печати, из которой и происходит доступ к этому файлу.
7
Следует оговориться, что если программа в процессе выполнения запускает другие задачи, то они будут наследовать ее права доступа. Поэтому устанавливать флаги SUID и SGID следует с большой осторожностью и только для программ, которые не имеют возможности запуска произвольных задач.
8
Вы сможете работать с другими приложениями, если в функции интерактивного процесса входит запуск на выполнение других программ. Примером такой задачи является командный интерпретатор shell, который считывает пользовательский ввод и запускает соответствующие задачи. Более типичным в данном контексте является процесс, порожденный командой ps(1) . Пока ps(1) не завершит работу, вы не сможете вводить команды shell.
9
Такое ветвление можно организовать на основании значения, возвращаемого системным вызовом fork(2) . Для родительского процесса fork возвращает идентификатор созданного дочернего процесса, а дочерний процесс получает значение, равное 0. Подробнее эти вопросы будут рассмотрены в главе 2.
10
Точнее, с реальным и эффективным идентификаторами процесса, посылающего сигнал. Если вы посылаете сигнал командой kill(1) , работая в shell, то речь идет о командном интерпретаторе.
11
Соответствие между символьными именами и номерами сигналов может отличаться различных версиях UNIX. Команда kill -l выводит номера сигналов и их имена.
12
В данном разделе мы не останавливаемся на подробностях запуска login(1) . Эти вопросы будут рассмотрены позднее в главе 3.
13
В данном примере утилита logname(1) выводит регистрационное имя пользователя, таким образом для пользователя andrei переменная НОМЕ примет следующее значение: /usr/andrei.
14
Более правильно было бы записать:
$ ps -ef | grep myproc | grep -v grep
Дело в том, что в списке, созданном командой ps, будут две строки, содержащие слово myproc: собственно строка процесса myproc и строка процесса grep(1) с параметром myproc ( ps -еf распечатывает имя программы, породившей процесс, вместе со всеми параметрами).
15
Несмотря на то, что многие современные версии UNIX (особенно коммерческие) поставляются без исходных текстов, основная часть кода ядра в них получена путем компиляции C-модулей.
16
В SCO UNIX заголовок a.out самого ядра используется программой начальной загрузки /boot для запуска ядра и передачи ему управления при инициализации системы.
17
Начальная функция запуска программы на выполнение _start() написана таким образом, что exit(2) вызывается автоматически при возврате из функции main() . В языке С она имеет следующий вид: exit(main(argc, argv))
.
18
Интервал:
Закладка: