Принцип функциональной избыточности
Этот принцип учитывает возможность проведения одной и той же работы различными средствами.
Принцип виртуализации
Построение виртуальных ресурсов, их распределение и использование теперь используется практически в любой ОС. Этот принцип позволяет представить структуру системы в виде определенного набора планировщиков процессов и распределителей ресурсов.
Принцип независимости программ от внешних устройств
Этот принцип заключается в том, что связь программ с конкретными устройствами производится не на уровне трансляции программы, а в период планирования ее исполнения.
Принцип совместимости
Одним из аспектов совместимости является способность ОС выполнять программы, написанные для других ОС или для более ранних версий данной операционной системы, а также для другой аппаратной платформы.
Принцип открытой и наращиваемой ОС
Открытая ОС доступна для анализа как пользователям, так и системным специалистам, обслуживающим вычислительную систему. Наращиваемая ОС позволяет не только использовать возможности генерации, но и вводить в ее состав новые модули, совершенствовать существующие и т. д.
Принцип мобильности (переносимости)
Операционная система относительно легко должна переноситься с процессора одного типа на процессор другого типа и с аппаратной платформы одного типа на аппаратную платформу другого типа.
Принцип обеспечения безопасности вычислений
Правила безопасности определяют такие свойства, как защита ресурсов одного пользователя от других и установление квот по ресурсам для предотвращения захвата одним пользователем всех системных ресурсов.
ОСНОВНЫЕ КОМПОНЕНТЫ ОС.
• Ядро • Системный загрузчик • Утилиты поддержки (работа с файловыми системами, сетью, процессами, жестким диском, и т.п.) • Рабочие средства пользователя (командный процессор, редакторы, базовые утилиты утилиты) • Главная системная библиотека (glibc)
ТИПИЧНАЯ СТРУКТУРА КАТАЛОГОВ.
Иерархия директорий стандартизируется, чтобы упорядочить каталоги. В таком случае разработчики четко знают, в какой директории что находится, и программе не приходится искать нужную директорию. В таком случае, программа будет работать на всех совместимых с POSIX системах
• / Корневой каталог • /bin Базовый набор утилит общего пользования
• /boot Каталог, содержащий ядро системы (хотя часто оно размещается в корневом разделе) и системный загрузчик • /dev Каталог с виртуальными файлами, соответствующими устройствам компьютера • /etc Каталог общесистемных конфигурационных файлов • /home Каталог для домашних каталогов реальных и виртуальных пользователей. Содержимое его не регламентировано. • /lib Системные библиотеки • /media Каталог предназначенный для автоматического монтирования сменных устройств • /mnt Каталог, предназначенный для монтирования временно используемых файловых систем • /opt Каталог, предназначенный для размещения коммерческого ПО и крупных программных пакетов • /proc Каталог с виртуальными файлами, соответствующими запущенным процессам • /root Домашний каталог пользователя root • /sbin Набор утилит администрирования системы • /sys Системные файлы • /tmp Аналог каталога /var, хранящий временные файлы
текущего сеанса работы • /usr Каталог для пользовательских приложений и данных. • /var Хранилище изменяемых файлов, генерируемых в ходу жизнедеятельности программ – программных кэшей, log-файлов…
ОСНОВНЫЕ КОМАНДЫ.
СПРАВОЧНЫЕ.
• man Получение справочной информации по команде или утилите, имя которой указано в командной строке. Например, команда “man man” даст подробное руководство по использованию справочной системы man
• info Аналог man
РАБОТЫ С ДИРЕКТОРИЯМИ
• pwd Вывод пути к текущему каталогу • ls Вывод списка файлов и каталогов текущего или указанного каталога
• cd Смена текущего каталога • mkdir Создание каталога • rmdir Удаление каталога
РАБОТЫ С ФАЙЛАМИ
• which Поиск пути до исполняемого файла • locate Поиск файла содержащего в названии запрашиваемую фразу – Ex: $ locate phrase • file Определение типа файла – Ex: $ file /bin/ls • grep Поиск в файлах строк, совпадающих с заданным шаблоном и их вывод – Ex: $ grep «hello» textfile
• sort Сортировка строк текстовых файлов • diff Поиск различий между двумя файлами • more Постраничный вывод файла • less Постраничный вывод файла с возможностью навигации в обоих направлениях
УПРАВЛЕНИЯ ПРАВАМИ ДОСТУПА
• chmod Изменение прав доступа к файлу – Ex: $ chmod <permission mode> filename
• chown Изменение владельца файла -Ex: $ chown owner filename • chgrp Изменение группы-владельца файла
– Ex: $ chgrp newgroup filename
УПРАВЛЕНИЯ ПРОЦЕССАМИ
• ps Вывод списка работающих процессов • fg Продолжение работы отложенного процесса – Ex: $ fg %PID
• bg Продолжение работы отложенного процесса в фоне • kill Завершение работы указанного процесса.
– Ex: $ kill PID – Ex: $ kill -9 PID – принудительное завершение процесса
• & Запуск процесса в фоновом режиме – Ex: $ firefox &
ОБРАБОТКА ПОТОКОВ ФИЛЬТРАМИ
Поток – это всего лишь последовательность байтов, которые могут быть считаны или записаны с помощью библиотечных функций, скрывающих подробности реализации и работы устройств от приложений.
Передаваемые командам параметры могут служить входными данными этих команд, а выходные данные могут выводиться на ваш терминал.
echo -e "apple\npear\nbanana"|sort
- Перенаправление вывода с помощью оператора >
- Команды cat, od и split. od – создает (выводит) дамп файла в восьмеричном формате
split – разбивает файл на части (-b N – размер каждого файла-части)
Для вывода содержимого файла на стандартное устройство вывода используется команда cat. С помощью cat вы можете объединить несколько файлов и вывести их содержимое на экран.
Команда wc выводит количество содержащихся в файле строк и слов, а также размер файла в байтах, определить который можно также с помощью команды ls -l. Команды head и tail позволяют отображать либо первую часть файла (заголовок), либо последнюю (хвост).
Команды expand, unexpand и tr. Команды sort и uniq. Команды cut, paste и join
РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ
grep — утилита командной строки, которая находит на вводе строки, отвечающие заданному регулярному выражению, и выводит их, если вывод не отменён специальным ключом.
УПРАВЛЕНИЕ ЗАДАНИЯМИ. ПОСЫЛКА СИГНАЛОВ ПРОЦЕССУ.
• Нажатие Ctrl+C посылает текущему процессу сигнал SIGINT и обычно приводит к его прерыванию
• Ctrl+\ посылает процессу сигнал SIGQUIT, сигнал немедленно завершит процесс и создаст дамп памяти (core dump) • Использование Ctrl+Z посылает сигнал SIGSTOP • Большинство сигналов в Linux отправляются программе и обрабатываются ею. – Например, нажатие Ctrl+C посылает SIGINT процессу, а тот его обрабатывает
• Процесс может проигнорировать сигнал • Может выполнить некоторые действия перед завершением работы
• Но два сигнала – SIGSTOP и SIGKILL – процессу не отправляются. Вместо этого они передаются непосредственно ядру, потому что требуют внешнего воздействия на процесс отправка. SIGSTOP и запуск fg (возобновление) похожи на нажатие паузы на вашем CD-плейере, поскольку процесс на самом деле не прекращает существование, а просто временно приостанавливает работу. %1 означает, что Bash должен послать сигнал заданию №1. jobs - возвращает список всех созданных нами заданий.
УПРАВЛЕНИЯ ПРОЦЕССАМИ
• ps Вывод списка работающих процессов • fg Продолжение работы отложенного процесса – Ex: $ fg %PID
• bg Продолжение работы отложенного процесса в фоне • kill Завершение работы указанного процесса.
– Ex: $ kill PID – Ex: $ kill -9 PID – принудительное завершение процесса
• & Запуск процесса в фоновом режиме – Ex: $ firefox &