 
        
        - •Операционная система unix
- •Основные функции и компоненты ядра ос unix
- •Интерфейс пользователя
- •Привилегированный пользователь
- •Программы
- •Команды
- •Процессы
- •Перенаправление ввода/вывода
- •Ядро ос unix
- •Общая организация традиционного ядра ос unix
- •Основные функции
- •Принципы взаимодействия с ядром
- •Принципы обработки прерываний
- •Файловая система
- •Структура файловой системы
- •Монтируемые файловые системы
- •Интерфейс с файловой системой
- •Файлы-каталоги
- •Специальные файлы
- •Связывание файлов с разными именами
- •Именованные программные каналы
- •Файлы, отображаемые в виртуальную память
- •Синхронизация при параллельном доступе к файлам
- •Принципы защиты
- •Идентификаторы пользователя и группы пользователей
- •Защита файлов
- •Драйверы устройств
- •Внешний и внутренний интерфейсы устройств
- •Стек протоколов tcp/ip
- •Программные гнезда (Sockets)
- •Вызовы удаленных процедур (rpc)
- •Основные функции и компоненты ядра ос unix
- •Управление процессами и нитями
- •Пользовательская и ядерная составляющие процессов
- •Принципы организации многопользовательского режима
- •Традиционный механизм управления процессами на уровне пользователя
- •Понятие нити (threads)
- •Подходы к организации нитей и управлению ими в разных вариантах ос unix
- •Управление вводом/выводом
- •Принципы системной буферизации ввода/вывода
- •Системные вызовы для управления вводом/выводом
- •Блочные драйверы
- •Символьные драйверы
- •Потоковые драйверы
- •Взаимодействие процессов
- •Разделяемая память
- •Семафоры
- •Очереди сообщений
- •Программные каналы
- •Программные гнезда (sockets)
- •Потоки (streams)
- •Мобильное программирование в среде ос unix
- •Библиотека ввода/вывода
- •Дополнительные библиотеки
- •Файлы заголовков
- •Неуточняемое поведение
- •Неопределенное поведение
- •Поведение, зависящее от реализации
- •Метрические ограничения переносимой программы
- •Обеспечение независимости от особенностей версии ос unix
- •Бинарная совместимость
- •Возможности достижения бинарной совместимости
- •Преимущества и ограничения
- •Традиционные средства интерактивного интерфейса пользователей
- •Командные языки и командные интерпретаторы
- •Общая характеристика командных языков
- •Базовые возможности семейства командных интерпретаторов
- •Программирование на командном языке
Операционная система unix
Данное учебное пособие представляет собой информационно-аналитические материалы Центра Информационных Технологий Автор: С. Д. Кузнецов
- Основание и история 
- Проект операционной системы Multics: неудача с положительными последствиями 
- Возникновение и первая редакция ОС UNIX 
- Исследовательский UNIX 
- Первый перенос ОС UNIX 
- Седьмая редакция 
- Возникновение группы университета г. Беркли (BSD) 
- UNIX System III и первые коммерческие версии системы 
- AT&T System V Release 2 и Release 3 
- Основные понятия ОС UNIX и базовые системные вызовы 
- Основные понятия 
- Пользователь 
- Интерфейс пользователя 
- Привилегированный пользователь 
- Программы 
- Команды 
- Процессы 
- Перенаправление ввода/вывода 
- Ядро ОС UNIX 
- Общая организация традиционного ядра ОС UNIX 
- Основные функции 
- Принципы взаимодействия с ядром 
- Принципы обработки прерываний 
- Файловая система 
- Структура файловой системы 
- Монтируемые файловые системы 
- Интерфейс с файловой системой 
- Разновидности файлов 
- Обычные файлы 
- Файлы-каталоги 
- Специальные файлы 
- Связывание файлов с разными именами 
- Именованные программные каналы 
- Файлы, отображаемые в виртуальную память 
- Синхронизация при параллельном доступе к файлам 
- Принципы защиты 
- Идентификаторы пользователя и группы пользователей 
- Защита файлов 
- Управление устройствами 
- Устройство как специальный файл 
- Драйверы устройств 
- Внешний и внутренний интерфейсы устройств 
- Базовые механизмы сетевых взаимодействий 
- Потоки (Streams) 
- Стек протоколов TCP/IP 
- Программные гнезда (Sockets) 
- Вызовы удаленных процедур (RPC) 
- Распределенные файловые системы 
- Сетевая файловая система (NFS) 
- Совместное использование удаленных файлов (RFS) 
- Основные функции и компоненты ядра ос unix
- Управление памятью 
- Виртуальная память 
- Аппаратно-независимый уровень управления памятью 
- Страничное замещение основной памяти и swapping 
- Управление процессами и нитями 
- Пользовательская и ядерная составляющие процессов 
- Принципы организации многопользовательского режима 
- Традиционный механизм управления процессами на уровне пользователя 
- Понятие нити (threads) 
- Подходы к организации нитей и управлению ими в разных вариантах ОС UNIX 
- Управление вводом/выводом 
- Принципы системной буферизации ввода/вывода 
- Системные вызовы для управления вводом/выводом 
- Блочные драйверы 
- Символьные драйверы 
- Потоковые драйверы 
- Взаимодействие процессов 
- Разделяемая память 
- Семафоры 
- Очереди сообщений 
- Программные каналы 
- Программные гнезда (sockets) 
- Потоки (streams) 
- Мобильное программирование в среде ОС UNIX 
- Стандартные библиотеки 
- Библиотека системных вызовов 
- Библиотека ввода/вывода 
- Дополнительные библиотеки 
- Файлы заголовков 
- Мобильность на уровне исходных текстов 
- Особенности мобильного программирования на языке Си 
- Обеспечение независимости от особенностей версии ОС UNIX 
- Бинарная совместимость 
- Возможности достижения бинарной совместимости 
- Преимущества и ограничения 
- Традиционные средства интерактивного интерфейса пользователей 
- Командные языки и командные интерпретаторы 
- Общая характеристика командных языков 
- Базовые возможности семейства командных интерпретаторов 
- Bourne-shell 
- C-shell 
- Korn-shell 
- Команды и утилиты 
- Организация команды в ОС UNIX 
- Перенаправление ввода/вывода и организация конвейера 
- Встроенные, библиотечные и пользовательские команды 
- Программирование на командном языке 
Основные понятия
Одним из достоинств ОС UNIX является то, что система базируется на небольшом числе интуитивно ясных понятий. Однако, несмотря на простоту этих понятий, к ним нужно привыкнуть. Без этого невозможно понять существо ОС UNIX.
Пользователь
С самого начала ОС UNIX замышлялась как интерактивная система. Другими словами, UNIX предназначен для терминальной работы. Чтобы начать работать, человек должен "войти" в систему, введя со свободного терминала свое учетное имя (account name) и, возможно, пароль (password). Человек, зарегистрированный в учетных файлах системы, и, следовательно, имеющий учетное имя, называется зарегистрированным пользователем системы. Регистрацию новых пользователей обычно выполняет администратор системы. Пользователь не может изменить свое учетное имя, но может установить и/или изменить свой пароль. Пароли хранятся в отдельном файле в закодированном виде. Не забывайте свой пароль, снова узнать его не поможет даже администратор!
Все пользователи ОС UNIX явно или неявно работают с файлами. Файловая система ОС UNIX имеет древовидную структуру. Промежуточными узлами дерева являются каталоги со ссылками на другие каталоги или файлы, а листья дерева соответствуют файлам или пустым каталогам. Каждому зарегистрированному пользователю соответствует некоторый каталог файловой системы, который называется "домашним" (home) каталогом пользователя. При входе в систему пользователь получает неограниченный доступ к своему домашнему каталогу и всем каталогам и файлам, содержащимся в нем. Пользователь может создавать, удалять и модифицировать каталоги и файлы, содержащиеся в домашнем каталоге. Потенциально возможен доступ и ко всем другим файлам, однако он может быть ограничен, если пользователь не имеет достаточных привилегий.
