Занятие пятое: что здесь делают все эти люди?
Это не люди, это пользователи...
Однозадачная система
- Пакетный режим обработки задач (программ): сначала первая, затем -- рорая и т. п.
- Преимущество: программе доступны ресурсы компьютера
- Недостаток: неэкономное расходование вычислительных мощностей на обменных задачах
Многозадачная однопользовательская система
Обменные и счетные программы
- Счетная программа занимается, в основном, вычислениями и редко использует внешние устройства
Признак: всегда задействуется 100% вычислительных ресурсов (процессор все время работает)
Примеры: архивация больших файлов с высокой степенью сжатия, физические расчеты
- Обменная программа занимается, в основном, вводом и выводом, а вычисляет относительно немного
Признак: большую часть времени процессор простаивает, программа ожидает окончания операции ввода-вывода
Примеры: коприрование множества файлов, передача данных по медленному каналу связи
Самое медленное внешнее устройство -- человек!
Псевдопараллелизм
Программы выполняются в режиме разделения времени: немного (один квант веремени) поработает одна программа, затем -- другая, затем -- третья и т. д., затем -- опять первая, вторая, ...
- Две псевдопараллельные счетные задачи работают в два раза медленнее одной
- Несколько псевдопараллельных обменных задач работают так же быстро (если не спорят из-за доступа к устройству ввода-вывода)
- Если программа (скорее всего, обменная задача) не готова работать (операция ввода-вывода не закончилась), нет смысла отдавать ей квант; такая программа становится в "очередь для тех, кто без очереди" и отработывает свой квант времени, как только будет готова
Достоинства:
- более рациональное использование ресурсов компьютера
- иллюзия параллельности (особенно для пользователя-человека)
Недостатки (сложности):
- Необходимо распределять ресурсы между программами (память, нешние устройства)
Необходимо защищать ресурсы одной программы от порчи другими программами
При переключении с одной (не доработавшей до конца) программы на другую необходимо сохранять контекст процесса, т. е. всю информацию, которая позволить продолжить выполнение этой программы "как ни в чем не бывало" (регистры процессора, карту памяти и т. п.). Переключение контекстов само по себе требует ресурсов компьютера.
Квант времени -- промежуток времени, в течение которого программа выполняется непрерывно.
Контекст процесса -- информация, достаточная для того, чтобы возобновлять выполнение задачи.
Супервизор
Процесс -- поддержка многозадачности центрвльным процессором:
- Процесс имеет доступ только к выделенной ему оперативной памяти
Один процесс не имеет возможности напрямую использовать оперативную мамять другого процесса
- Существуют таблицы процессов и команды сохранения и восстановления контекста процесса
Выделение памяти и переключение контекстов -- команды процессора, недоступные обычным процессам. Ровно один процесс имеет возможность выполнять эти команды и доступ ко всей оперативной памяти компьютера. Этот процесс называется супервизором. Как правило, в режиме супервизора работает только ядро операционной системы.
Многогопользовательская система
Человек -- самое медленное устройство в/в, поэтому подключение нескольких таких устройств к одному компьютеру не должно замедлить работу системы Достоинства:
- Экономия вычислительных ресурсов
- Совместное использование разделяемых ресурсов
- Одну большую машину администрировать намного проще и дешевле, чем сто маленьких
Недостатки (сложности):
- Необходимо распределять и учитывать ресурсы, потребляемые разными пользователями
- Необходимо разграничивать доступ пользователей к данным другим пользователей, в т. ч. на устройствах хранения
- Необходимо каждому пользователю предоставить удобный интерфейс по управлению системой
Следствия:
Пользователь -- это не человек, а причина, по которой запускаются процессы
- Нужна "политика доступа к ресурсам", то есть првила, сопоставляющие пользователей, процессы и объекты системы (например, файлы)
Нужен универсальный, и притом множественный интерфейс, т. е. средство управления компьютером, которое можно предоставить сразу нескольким пользователям