Содержание
Модуль 1. Операционные системы и среды.
1.1. Введение.
Основные блоки ПЭВМ:
- Системный блок.
- Монитор.
- Клавиатура.
Периферийные устройства:
- Ввода:
- клавиатура
- мышь
- сканер
- джойстик
- планшет
- световое перо
- 2. Вывода:
- монитор
- принтер
- графопостроитель
Дисковод - устройство, в которое мы помещаем дискету для записи или считывания информации.
Файл - это поименованная область на диске, которая хранит текстовую или графическую информацию.
Обозначение файла:
Расширение показывает, в какой программе был создан файл.
Каталог (папка) - поименованная область на диске, которая хранит информацию о файлах: время создания, размер, время последней корректировки.
Обозначение каталога: имя.
A:\
C:\
При включении компьютера загружается ОС.
ОС - набор программ, которые обеспечивают возможность использования аппаратуры компьютера. Ее задача заключается в том, чтобы сделать аппаратуру доступной и удобной для пользователя.
Главное назначение ОС - управление ресурсами компьютера.
Ресурсы компьютера: процессор, память, устройства ввода/вывода, данные.
Функции ОС:
- Определяет интерфейс пользователя.
- Обеспечивает разделение аппаратных ресурсов между пользователями.
- Дает возможность работать с общими данными в режиме коллективного пользования.
- Осуществляет восстановление информации в случае возникновения ошибок.
1.2. Управление процессами.
Процесс - это программа во время выполнения, т.е. когда ей предоставлен центральный процессор.
Во время работы процесс может находиться в одном из трех состояний: "готов", "выполняется", "блокирован".
Процесс находится в состоянии "готов", когда он мог бы сразу использовать ЦП, как только он предоставится ему.
При предоставлении ЦП, программа переходит в состояние "выполняется", т.е. процесс находится в состоянии "выполняется", когда ему предоставлен ЦП.
ЦП предоставляется на определенный промежуток времени (квант времени). В том случае, когда данного кванта не достаточно для полного выполнения программы, процесс останавливается и переходит в состояние "готов".
Из состояния "выполняется" в "блокирован", процесс переходит, когда ему необходимо записать или считать информацию. По завершению считывания или записи данных, процесс переходит из состояния "блокирован" в "готов".
В состоянии "выполняется " очередей никогда нет, а в состояниях "готов" и "блокирован" очереди из программ могут быть.
Очередь упорядочена по приоритетам в состоянии "готов", а в состоянии "блокирован" - нет.
Блок управления процессом (БУП).
БУП - структура данных или объект, содержащий определенную, важную информацию о процессе:
- текущее состояние процесса
- уникальный идентификатор процесса (номер)
- приоритет
- область памяти
- ресурсы, выделенные процессу
- область сохранения регистров
Когда ОС переключает ЦП с процесса на процесс, она использует области сохранения регистров данных процессов, чтобы запомнить информацию, необходимую для рестарта.
1.3. Операции над процессами.
ОС должна иметь возможность выполнять определенные операции над процессами:
- создание процесса
- уничтожение
- возобновление
- изменение приоритета
- блокирование
- пробуждение
- запуск
- Создание нового процесса состоит из нескольких подопераций:
- присвоение имени
- включение этого имени в список имен процессов, известных ОС
- присвоение начального приоритета
- формирование БУП
- выделение процессу начальных ресурсов
Новый процесс может породить дочерние процессы.
- Уничтожение процесса - удаление его из системы. Ресурсы, выделенные ему, возвращаются ОС, а имя стирается из всех системных списков и таблиц, БУП освобождается, но не удаляется.
При удалении родительского процесса в одних ОС удаляются и дочерние процессы, в других - они работают самостоятельно.
- Возобновление - операция подготовки процесса к повторному запуску с той точки, в которой он был приостановлен (БУП, область сохранения регистров).
- Изменение приоритета - это изменение значения приоритета в БУП.
Прерывания в ОС.
Прерывание - это событие, при котором меняется нормальная последовательность команд, выполняемых ЦП.
Если произошло прерывание, то:
- Управление передается ОС
- ОС запоминает состояние прерванного процесса
- ОС анализирует тип прерывания и передает управление соответствующей программе по обработке данного типа прерывания.
1.4. Ядро ОС.
Ядро - часть ОС, которая выполняет операции, связанные с процессами.
Важная функция ядра - это обработка прерываний.
Когда ядро обрабатывает текущее прерывание, оно запрещает другие прерывания и разрешает их снова только после завершения обработки текущего прерывания. При постоянном потоке прерываний может образоваться очередь прерываний, следовательно, ядро организовано таким образом, чтобы оно определяло только тип прерывания, а затем передавало его на дальнейшую обработку соответствующей системной программе по работе именно с этим типом прерывания, что не влечет к созданию больших очередей из прерываний в ОС.
Функции ядра:
- Обработка прерываний.
- Создание/уничтожение процесса.
- Переключение процесса из состояния в состояние.
- Диспетчеризация (регулировка).
- Приостановка и активизация.
- Синхронизация процесса.
- Организация взаимодействия между процессами.
- Манипулирование БУП.
- Поддержка операций ввода/вывода.
- Поддержка распределения и перераспределения памяти.
- Поддержка работы файловой системы.
1.5. Параллельные процессы в ОС.
Синхронные - процессы, которые работают и не зависят друг от друга.
Асинхронные - такие процессы, которые работают параллельно, но периодически должны синхронизироваться и взаимодействовать между собой.
Параллельная работа процессов в ОС резко повышает производительность компьютера.
Процесс находится в своем критическом участке, когда он обращается к общим данным. В этом случае другим процессам это запрещается.
Этот способ взаимодействия параллельных процессов называется взаимоисключением в ОС.
Правила работы процесса в своем критическом участке:
- Процесс не может быть блокирован.
- Свои критические участки процессы должны проходить как можно быстрее.
1.6. Семафоры в ОС.
Семафор - механизм реализации взаимоисключения процессов.
Пример работы двух параллельных асинхронных процессов:
Даны 2 процесса: "производитель" и "потребитель". "Производитель" вырабатывает какое-либо число и записывает его в ячейку памяти. "потребитель" считывает число, производит какие-либо вычисления и результат выводит на печать. Идеально, когда оба процесса работают с одинаковой скоростью.
В том случае, если скорость "потребителя" больше, чем скорость "производителя", мы наблюдаем: "потребитель" считывает из памяти одно и тоже число несколько раз, следовательно, на распечатке будет дублирование какого-либо результата.
Если скорость "потребителя" меньше скорости "производителя", наблюдаем: "производитель" записывает число в память, но предыдущее число не было считано потребителем, => на распечатке некоторые результаты будут отсутствовать.
Чтобы этого не допустить в ОС работают семафоры как для "производителя", так и для "потребителя".
1.7. Тупики в ОС.
Тупик (клинч, дедлок) - ситуация, которая никогда не разрешится, т.е. процесс ждет ресурса, но он ему не будет выделен.
ОС в состоянии тупика ("зависание") - когда несколько процессов находятся в состоянии тупика.
Простая тупиковая ситуация в ОС:
Пусть имеются 2 процесса A и B, которым перед началом работы предоставлены ресурсы P1 и P2 соответственно. В какой-то момент времени процессу A понадобился P2, а процессу B - P1, но они их не получат, т.к. они удерживаются предыдущими процессами => наступила простая тупиковая ситуация в ОС.
Правила предотвращения тупиков в ОС:
- Прежде чем процесс начнет свою работу, ему должны быть предоставлены все требуемые ресурсы.
- В том случае, если во время работы ему понадобился дополнительный ресурс, ему необходимо возвратить все ранее выделенные ресурсы ОС и затем запросить все требуемые ресурсы с этим дополнительным ресурсом.
Бесконечное откладывание процесса.
В системе, где процессам приходится ждать пока она выделит ему требуемый ресурс может возникнуть ситуация, что будут приходить процессы с более высоким приоритетом, требующие тот же самый ресурс - ситуация бесконечного откладывания процесса.
В некоторых ОС данная ситуация предотвращается благодаря увеличению приоритетности ("старению" процесса) для того, чтобы ему был предоставлен требуемый ресурс, после чего приоритет понижается до прежнего уровня.
1.8. Управление памятью.
Организация и управление основной памятью компьютера - один из самых важных факторов, определяющих построение ОС. Для непосредственного выполнения программ или обращения к данным необходимо, чтобы они размещались в основной памяти.
Вторичная, или внешняя память (жесткий диск), хранит множество программ и данных, которые должны быть наготове для обработки, т.е. загружены в основную память.
Организация памяти.
Под организацией памяти понимается, каким образом предоставляется и используется основная память, т.е. необходимо дать ответы на следующие вопросы:
- Будем ли мы помещать в основную память только одну программу пользователя или несколько программ одновременно.
- Если в основной памяти размещается программ сразу, будем ли мы предоставлять каждой из них одинаковое количество ячеек памяти или разобьем ее на части (разделы) различных размеров.
- Будем ли разбивать основную память жестким образом, т.е. разделы определяются на достаточно длительное время, либо динамически, позволяя компьютеру быстро реагировать на изменения потребностей программы в ресурсах.
- Будем ли мы требовать такого построения программы пользователя, чтобы они выполнялись только в конкретном разделе, либо предусмотрим возможность выполнения программы с занятием любых подходящих для них разделов.
- Будем ли мы требовать, чтобы каждая программа помещалась в одном, непрерывном блоке ячеек памяти, либо допустим возможность разбиения программы на отдельные блоки, размещаемые в любых свободных участках (дырах) основной памяти.
Иерархия памяти.
Чтобы программы можно было выполнять, они должны находиться в основной памяти, а программы и данные, которые в настоящий момент не нужны, можно хранить во внешней памяти.
Современные ОС поддерживают 3 уровня памяти:
- кэш-память
- основная
- внешняя
Иерархическая организация памяти:
Стратегии управления памятью.
Стратегии направлены на то, чтобы обеспечить наилучшее возможное использование ресурсов основной памяти.
Категории управления памятью.
- Стратегии выборки. Ставят своей целью определить, когда следует "втолкнуть" очередной блок программы в основную память.
- по запросу (по требованию). Очередной блок программы или данных загружается, когда его запрашивает работающая программа.
- стратегии упреждающей выборки. ОС заранее предугадывает, какой блок программы или данных будет востребован, значит, он и будет заранее загружен в основную память.
- Стратегии размещения. Целью является определить, в какое место основной памяти следует помещать поступающую программу. Используются стратегии размещения:
- "первого подходящего"
- "наиболее подходящего"
- "наименее подходящего" - по размерам свободного участка памяти.
- Стратегии замещения. Ставят целью определить, какой блок программы или данных следует вытеснить из основной памяти, чтобы освободить место для записи последующих программ и данных.
содержание вперед на
главную
|