
- •«Операционные системы.Командный интерфейс» конспект лекций Тема 1. Введение. Содержание курса
- •Тема 2. Классификация режимов работы ос
- •Диалоговый пакетный
- •Тема 3. Виды нтерфейсов пользователя ос unix
- •Тема 4. Обобщенные принцпы построения современных ос
- •Тема 5. Состав ос unix
- •Тема 6. Среда для работы пользователя
- •Тема 7. Регистрация пользователя в системе
- •Тема 8. Группа коммуникационных команд
- •Тема 9. Группа вспомогательных команд
- •Тема 10. Перенаправление ввода-вывода
- •Файловая система unix
- •Тема 11. Файлы unix
- •Тема 12. Генерация имен файлов
- •Тема 13. Структура системы каталогов unix
- •Тема 14. Управление каталогами в unix
- •Тема 15. Команды поиска файлов в системе каталогов
- •Тема 16. Управление файлами
- •Тема 17. Управление правами доступа к файлам и каталогам
- •Здесь файл fil1.C, владельцем которого является пользова-
- •Тема 18. Конвееры и фильтры
- •Тема 19. Создание и редактирование текстовых файлов
- •Команды удаления текста
- •Введение в shell- программирование
- •Тема 20. Операторы – команды
- •В unix при написании операторов важное значение отводится
- •Тема 21. Управление локальными переменными
- •Тема 22. Подстановка значений переменных
- •Тема 23. Экспортирование локальных переменных в среду shell
- •Тема 24. Проверка условий
- •2. Сравнение числовых значений:
- •3. Сравнение строк:
- •If список_команд1
- •Тема 25. Построение циклов
- •Тема 26. Управление процессами в unix
- •Тема 27. Создание фоновых процессов
- •Тема 28. Управление приоритетами
- •Тема 29. Завершение процессов
- •Тема 30. Перехватывание сигналов
- •Тема 31. Сетевые средства unix
Тема 5. Состав ос unix
Свойства UNIX-подобных ОС:
ОС разделения времени;
допускают мультипроцессорную. параллельную обработку заданий;
гибкость к конфигурации и архитектуре АП;
совместимость по прикладным программам;
многозадачность;
многочисленность командных утилит и неограниченные возможности их наращивания;
многопользовательские ОС;
открыты для модификаций и развития;
динамически расширяемые функциональные возможности ядра (в основном за счет инсталирования драйверов устройств) .
Все свойства UNIX обеспечиваются прежде всего перечисленными выше принципами построения в современных операционных систем, но и характерными особенностями структуры семейства UNIX, .
……..
TTY 1 TTY 2 TTY 3…………….TTY n
shell
shell
shell
shell
УТИЛИТЫ
ОС
ЯДРО
АП
ЯДРО ОС UNIX составляют следующие управляющие программы.
Файловая система.Существенным отличием современных версий ОС UNIX от классической структуры является наличие виртуальной файловой системы (например в Linux), позволяющей одновременно работать с файловыми системами различных типов (Ext2, Proc, VFAT и др.). Файловые системы размещаются на устройствах памяти с блочным принципом обмена информации и используют буферную КЭШ-память магазинного типа.
Подсистема управления процессами включает:
средства межпроцессного взаимодействия (IPC –InterProcessCommunication -сигналы, семафоры,программные каналы, сокеты, ОБЩИЕ ОБЛАСТИ ФИЗИЧЕСКОЙ ПАМЯТИ);
супервизор управления памятю, реализующий концепцию виртуальной памяти и наиболее эффективно использующий ресурсы физической памяти ВС. Каждый процесс выполняется в своем собственном защищенном адресном пространстве размером в 4 Гбайта (для Linux);
планировщик процессов, выбирающий из очереди процессов наиболее приоритетный процесс и передает ему управление на определенный квант времени (реализует режим разделения времени).
Подсистема управления устройствами обеспечивает управление всеми устройствами компьютера (кроме процессора и оперативной памяти). Подсистема включает драйверы устройств с посимвольным принципом передачи информации (com-порт, параллельный порт) и устройств с блочным принципом обмена информацией (жесткий диск, CD ROM).
Прикладные и системные программы взаимодествуют с ядром посредством системных вызовов.
Ядро включает также программы, исполняющие функции т.н. внутренних команд ОС, использующихся наиболее часто, и поэтому интегрированные в состав ядра.
УТИЛИТЫ ОС UNIX реализуют внешние команды. Утилита – это исполняемый файл со своим именем (имя команды), который может храниться как в системной области памяти ОС, так и в области памяти, выделяемой пользователю. Содержимое этой памяти описывается в соответствующих каталогах. Число утилит может быть увеличено практически без ограничений. Тем самым обеспечивается расширяемость командного языка ОС. Вызываются утилиты для исполнения по своему имени (имени команды).
ОБОЛОЧКИ ОС UNIX (shell) интерпретируют имя введенной команды и вызывают для исполнения соответствующую утилиту. В UNIX может быть инсталировано одновременно несколько оболочек, например для каждого имеющегося терминала пользователей. Строго говоря каждый отдельный терминал может обслуживаться несколькими оболочками, даже оболочками разных типов, обеспечивающих отличающиеся возможности для пользователей (различную СРЕДУ работы пользователя). Эта особенность структуры ОС UNIX обеспечивает одновременную работу многих пользователей, в том числе и работу в составе компьютерных сетей.
Так, в частности, для UNIX разработаны и имеют хождение множество типов оболочек. И каждая из них имеет свои возможности настройки среды. Наиболее распространены следующие оболочки:
sh -shell Bourne – первая базовая широкоиспользуемая оболочка,
размещается в файле /usr/old/bin/sh;
csh - Californiy shell ( Berkly) –развитие sh - /usr/bin/csh;
ksh – Korn shell (Berkly) sh+csh (по сути это стандарт Posix)
/usr/bin/ksh.
Для каждого пользователя при настройке ОС может быть сконфигурирована среда для индивидуальной работы – набор команд, требуемый набор функций ОС, доступные устройства и пр..
Функции shell:
интерпретирeет командные строки и передает управление ядру ОС;
формирует характеристики среды (набор глобальных переменных среды);
выдает приглашение на ввод очередной команды;
генерирует имена файлов;
присваивает и подставляет значения переменных;
подставляет результаты выполнения команд;
выполняет перенаправления ввода-вывода и реализует конвейеры команд;
обеспечивает программирование на собственном языке shell и пр...
При входе в систему команда login после ввода пароля запускает программу оболочки. Прежде всего оболочка отыскивает в начальном каталоге пользователя запускающий файл (/еtc/.profil), содержащий команды, выполняющиесяся автоматически при входе в систему, и переменные среды. Таким образом осуществляется адаптация системы к конкретным функциям, используемому оборудованию и решаемым задачам. Такие файлы по существу являются “сценариями оболочки”(shell scripts).
Список разрешенных оболочек размещается в файле /etc/shells. Оболочку можно заменить с испоьзованием специальной команды - chsh.
Обобщенный формат командной строки всех типов shell:
$ ком1 [ - опции ] [аргументы /параметры];ком2 … [ENTER]
Заканчивается набор командной строки нажатием клавиши [ENTER], после чего команды передаются для интерпретации и выполнения оболчкой ОС. Далее в примерах эта операция показываться не будет.
Здесь - $ -стандартноен приглашение для ввода команды в ksh и sh (в csh - %)
Результат работы команд, как правило, выводится на экран дисплея– стандартное устройство вывода. Далее в некоторых примерах результат, выводимый на экран, может быть выделен граничными строками.
Например:
$ls;pwd
Здесь командная строка содержит две команды – вывод на экран листинга и полного маршрутного имени текущего каталога.
ВНИМАНИЕ: все элементы командной строки набираются только маленькими символами.
Оболочки UNIX обрабатывают два вида команд:
внешние – каждой из них соответствует своя утилита, путь поиска которой при интерпретации команды определяется переменной среды оболочки – PATH;
внутренние – встроенные команды в саму оболочку.
Оболочка при некорректном использовании команд предоставляет возможность вывести полную информацию о команде на экран:
$man [- опции] < команда >
[SPACE] – переход на след. страницу справочника;
[ENTER] – переход на следующую строку текущей страницы;
[q] – выход из справочника в shell/