Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Операционные_системы.doc
Скачиваний:
2
Добавлен:
20.09.2019
Размер:
643.58 Кб
Скачать

3 И 4 поколения ос.

ТРЕТЬЕ ПОКОЛЕНИЕ ОС.

70-е годы XX в.

3-е поколение ОС предназначалось для ЭВМ, построенных на основе интегральных микросхем. Это поколение ЭВМ в значительной степени предназначалось как ЭВМ общего пользования, т.е. ЭВМ этого поколения впервые стали использоваться в промышленности, медицине и т.д.

Наиболее известным компьютером этого поколения был IBM 360. Кроме этой машины появлялось большое количество различных типов ЭВМ, которые также использовались как ЭВМ общего назначения, поэтому ОС 3-го поколения должны были работать на разных типах машин, а, кроме того, должны были быть многорежимными. Т.е. они должны были поддерживать пакетный режим, многозадачный, многопроцессорный и т.д. Поэтому ОС были громоздкими и сложными, и часто содержали большое количество ошибок. Для эксплуатации таких ОС нужна была спецподготовка. Оператору ЭВМ приходилось изучать сложные языки управления задачами. Именно в этот период и в этом поколении ОС были заложены все основные черты современных ОС. Так что ОС третьего поколения представляют значительный шаг в развитии системного ПО.

ЧЕТВЕРТОЕ ПОКОЛЕНИЕ ОС.

80-е годы XX в.

Это поколение связано в первую очередь с ЭВМ на основе больших и сверхбольших интегральных микросхем. Основными классами ЭВМ этого поколения являются ЭВМ общего использования, мини и микро ЭВМ, персональные ЭВМ и суперЭВМ (многопроцессорные). В настоящее время распространены персональные ЭВМ и суперЭВМ.

Это поколение включает в себя все основные черты ОС предыдущих поколений, а также имеют следующие особенности:

  1. Управление работой сетей ЭВМ.

  2. Управление работой сложных многопроцессорных вычислительных комплексов.

  3. Появление ОС ПК.

  4. ОС этого поколения начали использовать «дружественный» интерфейс пользователя. Т.е. ОС строятся в расчете на неподготовленных или малоподготовленных пользователей.

ПОНЯТИЕ ПРОЦЕССА. ПЕРЕХОД ПРОЦЕССА ИЗ СОСТОЯНИЯ В СОСТОЯНИЕ.

Процесс – программа, находящаяся в стадии выполнения.

Процессы могут проходить через ряд дискретных состояний. Смену состояний процесса могут вызывать различные события:

  1. Состояние выполнения. Процесс находится в этом состоянии, если ему выделили центральный процессор.

  2. Состояние готовности. Процесс находится в этом состоянии, если он сразу может использовать CPU, когда его предоставляют в распоряжение процессора.

  3. Состояние блокировки. Процесс находится в этом состоянии, если он ожидает завершения какого-либо события.

К огда в систему поступает некоторое задание, она создает соответствующий процесс, который затем устанавливается в конец списка готовых процессов. Затем процесс постепенно передвигается в начало списка готовых процессов по мере завершения выполнения предыдущих процессов. Когда процесс оказался первым в списке и ему выделился CPU, то говорят, что происходит смена состояния процесса. Он переходит из состояния готовности в состояние выполнения.

Когда готовому процессу представляется CPU, то это событие называется «запуск». Все это происходит при помощи части ОС, которая называется «Диспетчером». Затем процесс начинает выполняться.

Чтобы предотвратить захват всех ресурсов ЭВМ одним процессом, ОС устанавливает при помощи специального устройства – таймера прерываний некоторый промежуток времени (квант времени), в течение которого данному процессу разрешено пользоваться CPU. По истечении этого времени таймер прерываний вырабатывает специальный сигнал, по которому управление CPU передается ОС, а выполняющийся процесс будет переведен в состояние готовности и помещен в конец списка готовых процессов.

Если выполняющийся процесс до истечения отпущенного ему кванта времени инициирует операцию ввода\вывода, то тем самым добровольно освобождает CPU (CPU должен управлять выполнением операции ввода\вывода).

Эта смена состояний называется блокировкой. Из состояния блокировки процесс переводится в состояние готовности. Таким образом, возможны 4 возможные смены состояний.

БЛОК УПРАВЛЕНИЯ ПРОЦЕССОМ.

Блок управления процессом – это структура, в которой содержится информация о процессе:

  1. Текущее состояние процесса

  2. Уникальный идентификатор процесса

  3. Приоритет процесса

  4. Указатели на область памяти, которая выделена процессу

  5. Указатели на выделенные процессу аппаратные ресурсы.

Блок управления процессом – это центральный пункт, в котором ОС хранит всю ключевую информацию о процессе. Когда ОС переключает CPU с процесса на процесс, то она при этом использует информацию, хранящуюся в блоке управления процессом. В большинстве случаев для хранения блока управления процессом используется специальный регистр процессора.

Часто, в машинном языке процессора имеются специальные команды, которые обеспечивают быструю запись блока управления процессом и быстрое считывание этой информации.

О каждом процессе имеется специальная информация, называемая блоком управления процесса.

ОПЕРАЦИИ НАД ПРОЦЕССАМИ.

Над процессами можно производить следующие операции:

  1. Создание процесса

  2. Уничтожение процесса

  3. Изменение приоритета процесса

  4. Блокировка процесса

  5. Запуск процесса

  6. Пробуждение процесса

Запуск процесса состоит из многих операций:

  1. Присваивание процессу уникального идентификатора

  2. Включение этого идентификатора в список процессов, известных системе

  3. Определение начального приоритета процесса

  4. Создание блока управления процессом

  5. Выделение процессу ресурсов.

Процесс может породить другой процесс. В этом случае порождающий процесс называется родительским, а порожденный – дочерним.

Д ля создания дочернего процесса необходим только родительский процесс. При таком подходе создается иерархическая структура процесса.

Уничтожение процесса означает его удаление из системы. При этом все ресурсы, выделенные данному процессу, освобождаются, имя процесса удаляется из всех списков и информация, хранящаяся в блоке управления процессом, уничтожается.

Уничтожение процесса усложняется, если это родительский процесс. В некоторых системах при уничтожении родительского процесса уничтожаются и все дочерние.

ПОНЯТИЕ ПРЕРЫВАНИЯ.

Прерывание – это важная процедура, которая позволяет изменить нормальную последовательность команд, выполняемых процессором.

Процессор должен реагировать на события, которые происходят вне его. Эту реакцию можно организовать 2 способами:

  1. Процессор должен постоянно просматривать все устройства, которые могут потребовать его внимания. Такой способ является неэффективным, т.к. большая часть времени процессора может уйти на сканирование.

  2. Использование прерываний. Сущность прерывания заключается в следующем:

Устройство, которое требует внимания процессора, сообщает об этом с помощью специального сигнала (запрос на прерывание). По этому сигналу управление CPU передается ОС. ОС запоминает состояние прерванного процесса и хранит эту информацию в специальном регистре микропроцессора. Такой регистр называется СТЭК. Затем ОС анализирует, от какого устройства произошло прерывание и затем передает управление программе, которая управляет устройством, выдавшим запрос на прерывание.

Такая программа называется «обработчик прерывания».

Прерывание может быть вызвано не только каким-либо устройством, но и выполняющимся процессом.

В начале прерывания использовались в основном для управления процессором устройствами ввода\вывода. А затем прерывания стали использоваться для организации внутренней работы ЭВМ. В соответствии с этим существуют следующие типы прерываний:

  1. Аппаратные прерывания – прерывания от устройств компьютера.

  2. Программные прерывания – прерывания, которые вырабатывают процессы, находящиеся в стадии выполнения.

  3. Логические прерывания. Эти прерывания вырабатывает сам процессор, когда встречается с каким-либо необходимым условием:

    1. Деление на 0

    2. Переполнение регистров микропроцессора

    3. Пошаговое выполнение программ

    4. Режим контрольных точек.

Каждое прерывание имеет 2 параметра:

  1. Номер прерывания

  2. Вектор прерывания.

Вектор прерывания – это адрес ячейки памяти, где хранится программа-обработчик данного прерывания.

Прерывания обозначаются – IRQ.

ЯДРО ОПЕРАЦИОННОЙ СИСТЕМЫ.

Все операции над процессами выполняются той частью ОС, которая называется ядром.

Ядро ОС – это часть кода ОС, которая наиболее интенсивно используется в процессе работы. По этой причине ядро ОС постоянно находится в памяти, в то время как другие части ОС загружаются в память и выгружаются из нее по мере надобности.

Например, в ОС MS-DOS ядро системы составляют два файла:

  1. IO.SYS

  2. MSDOS.SYS

Одной из основных функций ядра является обработка прерываний. В ОС MS-DOS функцию управления обработкой прерываний выполняет файл MSDOS.SYS

Кроме обработки прерываний ядро ОС обычно также выполняет следующие функции:

  1. Создание и уничтожение процессов

  2. Переключение процессов из состояния в состояние

  3. Приостановка и оптимизация процессов

  4. Организация взаимодействия между процессами

  5. Манипулирование блоками управления процессов

  6. Поддержка операций ввода\вывода

ПОНЯТИЕ ФАЙЛОВОЙ СИСТЕМЫ. ОСНОВНЫЕ ФУНКЦИИ.

Всем процессам системы нужно хранить и получать информацию. Во время работы выполняющийся процесс может хранить информацию в той области памяти, которая ему отведена, однако объем такой памяти относительно невелик и для многих прикладных программ такого объема будет недостаточно. Кроме того, после завершения работы процесса, информация, которая хранится в памяти, уничтожается. А для многих прикладных программ, такая информация должна храниться очень долго.

Третья проблема состоит в том, что иногда к одной и той же информации должны получать доступ сразу несколько процессов.

Таким образом, к устройствам, на которых должна храниться информация, должны предъявляться следующие требования:

  1. Устройство должно надежно хранить большие объемы информации

  2. Информация должна сохраняться после уничтожения работающих с ней процессов

  3. Несколько процессов должны одновременно иметь доступ к одной и той же информации

Решение этих проблем состоит в том, что информация хранится в специальных модулях, которые называют файлами. Процессы по мере необходимости могут читать информацию из файлов и создавать новые файлы.

Информация, хранящаяся в файлах должна обладать устойчивостью, т.е. на нее не должно оказывать влияние создание или уничтожение какого-либо процесса. Файл может исчезнуть только тогда, когда владелец этого файла даст ОС команду на его уничтожение.

Файлами управляет ОС.

Структура файлов, их именование, использование, доступ к ним является важнейшими функциями ОС. Часть ОС, отвечающая за эти файлы, носит название «файловая система».

Файл – это поименованный объем информации, хранящийся в памяти ЭВМ.

ИМЕНОВАНИЕ ФАЙЛОВ.

При создании файла, процесс дает файлу имя. Когда процесс завершает свою работу, то по имени файла к нему могут получать доступ другие процессы.

Правила присваивания имен файлов разные в различных ОС. Большинство современных ОС поддерживают имена файлов, состоящие от 1 до 8 символов. Часто допускается в именах файлов использование цифр и некоторых символов. Многие современные ОС поддерживают имена файлов длиной до 256 символов, включая пробелы. Некоторые ОС в именах файлов не различают строчные и прописные буквы. А существуют ОС, в которых различаются строчные и прописные буквы (UNIX). Во многих ОС полное имя файла состоит из 2 частей, разделенных точкой. Часть имени файла, идущая после точки, называется расширением имени файла. В ОС MS-DOS для расширения используется от 1 до 3 символов. Требование к этим символам то же самое, что и к именам файлов.

В ОС UNIX число символов расширения задается пользователем.

Расширение не является обязательным параметром, а обычно используется для того, чтобы указать на назначение файла.

В MS-DOS существуют некоторые стандартные расширения, например bak.

В ОС Windows файлам, имеющим конкретное расширение, присваивается связь между этим файлом и процессом, при помощи которого созданы эти файлы.

В ОС типа UNIX расширения файлов являются просто соглашениями, и ОС не заставляет пользователя строго их придерживаться.

СТРУКТУРА ФАЙЛОВ. ТИПЫ ФАЙЛОВ.

СТРУКТУРА ФАЙЛОВ.

Файлы могут быть структурированы различными способами. Самая простая ситуация, когда файл представляет набор байтов, т.е. он не структурирован. В этом случае ОС не интересуется содержимым файла. Значения этих байтов интересуют только процессы, которые создали эти файлы. Использование ОС неструктурированных файлов обеспечивает их гибкость.

Процессы могут помещать в файлы все, что угодно и именовать их любым удобным для себя образом.

В некоторых ОС существуют файлы, которые состоят из модулей фиксированного размера. Каждая запись может иметь свою внутреннюю структуру. При работе с такими файлами ОС может работать не сразу со всем файлом, а с отдельными записями. Такие файлы использовались, когда в качестве носителей информации использовались перфокарты. Файл представлял из себя структуру, состоящую из 80 записей, т.к. перфокарта состояла из 80 колонок цифр.

Существуют и более сложные структуры файлов.

ТИПЫ ФАЙЛОВ.

Большинство ОС может поддерживать различные типы файлов. Например, в ОС UNIX, Windows и DOS имеются обычные файлы и каталоги.

Каталог – это специальный файл, который обеспечивает поддержку файловой структуры.

В каталоге хранятся имена файлов и каталогов, которые, как говорят, входят в данный каталог.

Обычные файлы также делятся на два типа:

  1. Текстовые (ASCII). В таблице ASCII каждому символу присвоен свой номер. Текстовые файлы состоят из текстовых строк. Каждая строка завершается специальным символом. Например, в ОС UNIX в конце строки помещается символ перевода строки. А в ОС MS-DOS в конце строки могут размещаться как символ перевода строки, так и символ перевода каретки. Главным отличием ASCII файлов от всех остальных то, что они могут отображаться на экране, и выводиться на печать без какого-либо преобразования и их можно редактировать практически любым текстовым редактором.

  2. Двоичные. При выводе их на экран отображается бессмысленный набор символов. У двоичных файлов всегда имеется своя внутренняя структура. Для того, чтобы ОС могла запускать программный файл на выполнение, этот файл должен состоять из определенных разделов. Например, в ОС UNIX файл должен состоять из следующих разделов:

        1. Заголовок

        2. Текст

        3. Данные

        4. Некоторые специальные биты

        5. Таблица символов

Заголовок начинается со специального кода, который сообщает ОС, что это исполняемый (или программный) файл.

Все ОС должны, как правило, распознавать хотя бы один тип файлов – собственные программные файлы.

ДОСТУП К ФАЙЛАМ.

Существует 2 типа доступа к файлам: