
- •1. Общие сведения об операционных системах
- •1.1. Назначение и функции
- •1.2. Архитектура
- •1.3. Процессы и потоки
- •1.4. Управление памятью
- •1.5. Ввод-вывод и файловая система
- •2. Установка и работа в Linux
- •2.1. Обзор процесса установки Linux
- •2.2. Использование редактора VI
- •2.3. Управление процессами
- •2.3. Файловые системы и каталоги
- •3. Практические задания
- •3.1. Использование внутренних команд Linux
- •3.2. Работа в текстовом редакторе Pico
- •3.3. Работа с командными файлами
- •3.4. Работа с графическими оболочками kde и gnome
- •3.5. Работа с пакетом офисных приложений StarOffice
- •3.6. Контрольные задания
1.2. Архитектура
Ядро и вспомогательные модули ОС
Ядро — модули, выполняющие основные функции ОС (управление процессами, памятью, устройствами ввода-вывода). Модули ядра являются резидентными. Функции ядра — решать внутрисистемные задачи организации вычислительного процесса и служить для поддержки приложений.
Вспомогательные модули ОС:
• утилиты — решают отдельные задачи управления и сопровождения системы (программы сжатия дисков, архивирования данных и т. п.);
• системные обрабатывающие программы — текстовые или графические редакторы, компиляторы, отладчики;
• программы представления пользователю дополнительных услуг — специальный вариант пользовательского интерфейса, калькулятор, игры;
• библиотеки процедур различного назначения — упрощают разработку приложений.
Вспомогательные модули загружаются в оперативную память только на время выполнения своих функций, то есть являются транзитными.
В настоящее время используется несколько видов архитектуры операционной системы: привилегированный режим (режим ядра) (kernel mode) или режим супервизора (supervisor mode); многослойная структура ядра и микроядерная архитектура.
1.3. Процессы и потоки
Мультипрограммирование
Мультипрограммирование, или многозадачность (multitasking) — — — это способ организации вычислительного процесса, при котором на одном процессоре попеременно выполняются сразу несколько программ. Мультипрограммирование призвано повысить эффективность использования вычислительной системы, однако эффективность может пониматься по-разному.
Критерии эффективности вычислительных систем:
• пропускная способность — количество задач, выполняемых вычислительной системой в единицу времени;
• удобство работы пользователей — возможность интерактивной работы одновременно с несколькими приложениями;
• реактивность системы — способность системы выдерживать очень короткие интервалы между запуском программы и получением результата.
В зависимости от выбранного критерия эффективности ОС делятся на системы пакетной обработки, разделения времени и реального времени.
Мультипроцессорная обработка — способ организации вычислительного процесса в системах с несколькими процессорами, при котором несколько задач (процессов, потоков) могут одновременно выполняться на разных процессорах системы. Не следует путать мультипроцессорную обработку с мультипрограммной обработкой.
В мультипрограммных системах параллельная работа разных устройств позволяет одновременно вести обработку нескольких программ, но при этом в процессоре в каждый момент времени выполняется только одна программа А. В мультипроцессорных системах одновременно выполняются несколько задач, так как имеется несколько обрабатывающих устройств-процессоров.
Планирование процессов и потоков
Подсистема управления процессами и потоками является одной из основных подсистем мультипрограммной ОС, она занимается созданием, а также уничтожением процессов и потоков, поддерживает взаимодействие между ними, распределяет процессорное время между несколькими одновременно существующими в системе процессами и потоками. Чтобы поддерживать мультипрограммирование, ОС должна определить и оформить для себя те внутренние единицы работы, между которыми будут разделяться ресурсы компьютера.
В большинстве операционных систем определены два типа единиц работы. Процесс, или задача, требует для своего выполнения несколько более мелких работ, обозначаемых терминами “поток”, “нить”.
Создание процессов и потоков
Создать процесс — означает прежде всего создать описатель процесса, в качестве которого выступает одна или несколько информационных структур, содержащие все сведения о процессе, необходимые ОС для управления им: идентификатор процесса, данные о расположении в памяти исполняемого модуля, степень привилегированности процесса (приоритет и права доступа).
Мультипрограммирование на основе прерываний
Прерывание — основная движущая сила любой операционной системы. Прерывание возникает либо в зависимости от внешних по отношению к процессу выполнения программы событий, либо при появлении непредвиденных аварийных ситуаций во время этого процесса.
В зависимости от источника прерывания делятся на три класса: внешние, внутренние и программные.
Внешние прерывания могут возникать в результате действий пользователя или оператора за терминалом, или же после поступления сигналов от аппаратных устройств. Эти прерывания называют также аппаратными; их класс является асинхронным по отношению к потоку инструкций прерываемой программы.
Внутренние прерывания, называемые также исключениями (exeption), происходят синхронно выполнению программы при появлении аварийной ситуации в ходе исполнения некоторой инструкции программы. Примеры таковых: деление на нуль, ошибки защиты памяти, обращения по несуществующему адресу, попытка выполнить привилегированную инструкцию в пользовательском режиме и т. д.
Программные прерывания возникают при выполнении особой команды процессора, выполнение которой имитирует прерывание, то есть переход на новую последовательность инструкций.
Существует уровень приоритета прерываний. Они обычно обрабатываются модулями операционной системы, поскольку действия, выполняемые по прерыванию, относятся к управлению разделяемыми ресурсами вычислительной системы: принтером, диском, таймером, процессором и т. п.
Механизм прерываний
Поддерживается аппаратными средствами компьютера и программными средствами ОС. Аппаратная поддержка зависит от типа процессора и других аппаратных компонентов, передающих сигнал запроса прерывания от внешнего устройства (контроллер внешнего устройства, шины подключения внешних устройств, контроллер прерываний, являющийся посредником между сигналами шины и сигналами процессора) к процессору.
Шины выполняют прерывания двумя способами: векторным (vectored) и опрашиваемым (polled). Платформа ПК на основе процессоров Intel Pentium реализует сочетание векторного и опрашиваемого типов прерываний. Шины PCI, ISA, EISA, MCA поддерживают механизм опрашиваемых прерываний. В процессоре система прерываний является векторной.
Механизм прерываний чаще всего поддерживает приоритезацию и маскирование прерываний.