- •Понятие «Операционная система». (1-1)
- •Расположение ос в общей структуре компьютера
- •Функции ос
- •Блок управления процессом. Операции над процессом. (15-1, 28-1)
- •Машинные регистры
- •Ос поддерживает следующие операции над процессами:
- •Понятие прерывания. Схемы прерываний. (16-1)
- •Понятия файла, символьного набора, организации файлов. Средства файловой системы. (23-1, 26-1)
- •Блок управления файлом. (25-1)
- •Топология файловой системы. (26-1, 24-1)
- •Реализация файлов и каталогов. (9-1, 24-1)
- •Реализация файлов
- •Реализация каталогов
- •Стратегии управления памятью. Концепции распределения памяти. Алгоритмы замещения. (18-1)
- •Существует большое количество алгоритмов замещения:
- •Концепции распределения памяти:
- •Организация памяти при связном распределении. Оверлейные перекрытия. (19-1)
- •Организация памяти на основе мультипрограммирования. (20-1)
- •Организация памяти на основе мультипрограммирования с фиксированными разделами.
- •Организация памяти на основе мультипрограммирования с переменными разделами.
- •Организация памяти на основе свопинга. Битовые карты и связный список свободных и занятых блоков. (21-1) Свопинг
- •Битовые карты и связный список свободных и занятых блоков.
- •Концепция виртуальной памяти. (22-1)
- •Способы реализации вп
- •Преобразование V в ψ
- •Расслоение памяти. Регистр перемещений. Прерывания и опрос состояний. (2-1) Метод расслоения памяти (интерливинг)
- •Регистр перемещения
- •Прерывания и опрос состояний
- •Буферизация. Периферийные устройства. Защита памяти. (3-1) Буферизация
- •Периферийные устройства
- •Защита памяти
- •Таймер. Каналы ввода/вывода. Захват цикла. (4-1) Таймер и часы
- •Каналы ввода-вывода
- •Захват цикла
- •Относительная адресация. Режимы работы эвм. (5-1) Относительная адресация
- •Режим работы компьютера
- •Виртуальная память. Мультипроцессорная обработка. Прямой доступ к памяти. (6-1) Виртуальная память
- •Мультипроцессорная обработка
- •Прямой доступ к памяти
- •Программирование на машинном языке. Ассемблеры и макропроцессоры. Компиляторы. (7-1) Программирование на машинном языке
- •Ассемблеры и макропроцессоры
- •Компиляторы
- •Конвейеризация. Иерархия памяти. (8-1) Конвейеризация
- •Иерархия памяти
- •Система управления вводом/выводом. Спулинг. (10-1) Система управления вводом/выводом
- •По системы управления вводом/выводом (не надо)
- •Спулинг
- •Процедурно-ориентированные и проблемно-ориентированные языки. Интерпретаторы. (11-1) Процедурно-ориентированные и проблемно-ориентированные языки.
- •Интерпретаторы
- •Абсолютные и перемещающие загрузчики. Связывающие загрузчики и редакторы связей. (12-1) Абсолютные и перемещающие загрузчики
- •Связывающие загрузчики и редакторы связей
- •Микропрограммирование. Эмуляция. Горизонтальный и вертикальный микрокод. (13-1) Микропрограммы
- •Горизонтальный и вертикальный микрокод
- •Эмуляция
- •Основные характеристики ос unix. (27-2)
- •Достоинства Unix систем
- •Недостатки Unix систем
- •Структура ос unix. Ядро и процессы. (26-2)
- •Структура процесса ос unix. Состояние системы и виды взаимодействия в ос unix. (25-2) Состояние системы
- •Структура процесса
- •Дескриптор процесса в ос unix. Контекст процесса. (5-2)
- •Создание процессов в ос unix. (11-2)
- •Планирование процессов в ос unix. (13-2)
- •Информационные связи между процессами в ос unix. (10-2)
- •Управление памятью в ос unix на основе свопинга (1-2)
- •Управление памятью в ос unix на основе страничной подкачки. (2-2)
- •Алгоритм замещения страниц в ос unix. (3-2)
- •Типы файлов в файловой системе ос unix. Топология файловой системы. Последние изменения в файловой системе ос unix. (18-2)
- •Последние изменения в файловой системе ос unix
- •Индексный дескриптор файла в ос unix. Таблица файлов. (6-2)
- •Поддержка файлов ядром ос unix . (4-2)
- •Физическая и логическая организация файловой системы ос unix. (16-2)
- •Логическая и физическая организация системы управления вводом/выводом ос unix. (15-2)
- •Структурная организация системы управления вводом/выводом ос unix. (12-2)
- •Реализация системы управления вводом/выводом ос unix. (14-2)
- •Функционирование ос unix. (7-2, 19-2)
- •Начальная загрузка и выход на интерактивный режим в ос unix. (25-2)
- •Интерактивный режим работы в ос unix. (24-2)
- •Понятие системного вызова. Системные вызовы system и execl. (23-2)
- •Системныевызовыработысфайламиopen,creat,close,dup,dup2.(21-2, 19-2)
- •Системный вызов open
- •Системный вызов creat
- •Системные вызовы dup, dup2
- •Системные вызовы ввода/вывода. (20-2, 8-2)
- •Системный вызов read
- •Системный вызов write
- •Системный вызов close
- •Системный вызов pipe
- •Интерпретатор команд shell. (28-2)
- •Экранирование
- •Встроенные команды языка shell
- •Внешние команды
- •Сравнение чисел
Сравнение чисел
test число1 отношение число2
Отношения:
-eq – равно
-ne – не равно
-lt – меньше
-le – меньше или равно
-gt – больше
-ge – больше или равно
Пример:
x = 5
test $x -lt 5
Сравнение строк
Строки равны: test строка1 = строка2
Строки не равны: test строка1 != строка2
Строка существует и не равна null: test –n “$переменная”
Строка существует и равна null: test –z “$переменная”
Пример1:
x = ‘test’
if [ $x != ‘home’ ]
echo “It’s not home!”
fi
Пример2:
if test -n “$1”
echo “first arg is $1”
else
echo “first arg not exist”
fi
test выражение эквивалентно [ выражение ]
Использование ! (НЕ), -o (ИЛИ), -a (И) позволяет проводить смешанные проверки.
Условия
if [ условие1 ]
then
команда1
команда2
...
elif [ условие2 ]
then
команда3
команда4
...
else
команда5
…
fi
case
case "$var" in
значение1)
команды;
;;
значение2)
команды;
;;
*)
команды;
;;
esac
Цикл while
while [ истинное условие ]
do
Команда1
Команда2
…
done
Циклuntil
until [ ложное условие ]
do
Команда1
Команда2
…
done
Цикл for
for переменная in массив
do
тело цикла
done
Цикл по внешним аргументам
n = 0
for i
do
let “n=n+1”
echo “Agument $n is $i”
done
Функции
имя_функции()
{
Тело функций
}
Обработка прерываний
trap “имя_функции” имя_сигнала
Команды файловой системы. (17-2) (вопрос удален)
pwd – печатает полное имя текущего каталога.
cd – изменение текущего каталога.
ls [-флаги] [имя] – выводит содержимое каталога по имени.
Флаги:
-l – вывод полной информации о файле
-a – вывод всех файлов каталога
-s – вывод размера файла в блоках
-d – вывод информации только о подкаталогах
-u – сортирует список файлов по времени последнего доступа
-t – сортирует список файлов по времени последней модификации
-i – позволяет получить номер индексного дескриптора (inode) вместо вида файла
cat [-u] [f1 f2 f3 …] – команда выполняет конкатенацию (сцепление) файлов и отправляет на стандартный вывод.
-u – флаг для изменения размера выходного блока
cp f1 f2 – копирует один файл в другой или несколько файлов в каталог, если f2 существует, то его содержимое будет потеряно.
mv f1 f2 – перемещение (переименование) файлов и каталогов.
pr [-флаги] [f1 f2 …] – команда распечатки на экран одного или нескольких файлов.
-n - вывод в n колонок
+n - печать n-ой страницы файла
-h - следующий за h текст трактуется как заголовок
-wn - задает ширину в n символов (вместо 72 по умолчанию)
-ln - устанавливает длину страницы в n строк (вместо 66 по умолчанию)
-t - не печатать принятые по умолчанию 5 строк заголовка и 5 последних строк
-s! - колонки разделяются символом ! вместо пробелов
-m - печатать все файлы одновременно, каждый в своей колонке
lpr [-флаги] [f1 f2 …] – позволяет печатать файлы одновременно с выполнением некоторых других. Файлы помещаются в спулинг и печатаются по мере освобождения печатающего устройства.
-r - удалить файл после печати
-с - скопировать файл для печати
-m - заказать почтовое сообщение об окончании печати файла
wc [-флаги] [f1 f2 …] – выдает количество строк и символов в одном или нескольких файлах.
-l - подсчет числа строк в файле
-w - подсчет числа слов
-с - подсчет числа символов
du [-s][-a] имя - вывод информации о количестве блоков, занятых каждым файлом, и общего количества блоков для всех файлов.
-s – выдает только суммарный итог для каждого аргумента.
-a – выдает размеры для всех встретившихся файлов, а не только для каталогов.
red имя – вызов экранного редактора для создания или корректировки файлов.
rm [-флаги] имя – уничтожение файлов.
-f - игнорировать несуществующие файлы и никогда не запрашивать подтверждение на удаления.
-i - выдавать запрос на удаление каждого файла. Если ответ не утвердителен, то файл пропускается.
-r - рекурсивно удалять содержимое каталогов.
find [-флаги] – поиск требуемого файла.
-name - искать по имени файла, при использовании подстановочных образцов параметр заключается в кавычки.
-type - тип искомого: f=файл, d=каталог, l=ссылка (link).
-user - владелец: имя пользователя или UID.
-group - владелец: группа пользователя или GID.
-perm - указываются права доступа.
-size - размер: указывается в 512-байтных блоках или байтах (признак байтов — символ «c» за числом).
-atime - время последнего обращения к файлу.
-ctime - время последнего изменения владельца или прав доступа к файлу.
-mtime - время последнего изменения файла.
-newer - искать файлы созданные позже указанной даты.
-delete - удалять найденные файлы.
-print - показывает на экране найденные файлы.
file [-флаги] имя – определение типа файла.
-b - не выводить имена файлов в вывод.
-f f1 - считывает из указанного файла f1 список файлов для проверки.
-F d - указывает строку разделитель d имени файла и его типа в выводе.
-L - определяет тип файлов, указанных по ссылке.
-z - определяет тип файлов, находящихся в сжатых файлах.
grep – поиск строк файлов по шаблону.
-b - предваряет каждую строку номером блока, в котором она была найдена. Это может пригодиться при поиске блоков по контексту (блоки нумеруются с 0).
-c - выдает только количество строк, содержащих образец.
-h - предотвращает выдачу имени файла, содержащего сопоставившуюся строку, перед собственно строкой. Используется при поиске по нескольким файлам.
-i - игнорирует регистр символов при сравнениях.
-l - выдает только имена файлов, содержащих сопоставившиеся строки, по одному в строке. Если образец найден в нескольких строках файла, имя файла не повторяется.
-n - выдает перед каждой строкой ее номер в файле (строки нумеруются с 1).
-s - подавляет выдачу сообщений о не существующих или недоступных для чтения файлах.
-v - выдает все строки, за исключением содержащих образец.
-w - ищет выражение как слово, как если бы оно было окружено метасимволами \< и \>.
сmp [-флаги] [f1 f2…] – сравнение двух или нескольких файлов.
-s - не выводить текстового сообщения.
-h - сравнивать символические ссылки, а не файлы на которые они указывают.
-l - печатать номер и значения (восьмеричные) различающихся байтов для каждого отличия.
-x - то же, что и –l, но выводит значения в шестнадцатеричном виде и номер, начиная с нуля.
-z - сравнивает размеры обычных файлов.
sort [-флаги] [f1 f2…] – сортировка или соединение файлов с помещением результата в заданный файл.
-b - игнорировать пробелы в начале сортируемых полей или начале ключей.
-d - воспринимать в составе ключей лишь буквы (латинского алфавита), цифры и пробелы, игнорируя все прочие символы.
-f - во время сортировки преобразует строчные (маленькие) в соответствующие прописные (большие) буквы, т.е. выполняется сортировка нечувствительная к регистру символов.
-I - в ключах рассматриваются только печатаемые (ASCII) символы, а остальные игнорируются.
-n - числовая сортировка, т.е. сравнение ведётся по числовому значению (используют совместно с параметром -b).
-r - сортировка выполняется в обратном порядке (по убыванию).
-o f1 - выводит результат в указанный файл f1 вместо стандартного вывода.
-t ch - использовать ch в качестве разделителя полей.
-z - вместо символа новой строки, завершает строки двоичным 0.
1 Процесс – концепция ресурсов; поток – концепция планирования
2Сигнал – псевдопрерывание