Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

И 2 ПОКОЛЕНИЯ ОС. 1 страница



И 2 ПОКОЛЕНИЯ ОС.

НУЛЕВОЕ ПОКОЛЕНИЕ ОС.

40-е годы XX в.

Первые ЭВМ были построены на основе электронных ламп. Они представляли из себя научные работы, а не машины, предназначенные для практических целей.

Одни и те же люди проектировали эти машины, писали для них программы и их эксплуатировали.

Первые электронные ВМ не имели ОС. Функции ОС включались в состав прикладных программ.

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

50-е годы XX в.

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

Этот режим позволял сокращать время простоя при переходе от решения одной задачи к другой.

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

Середина 60-х годов.

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

Режим коллективного пользования заключался в том, что к вычислительной машине подключалось несколько терминалов (монитор и клавиатура), за которыми работали отдельные пользователи. ОС с большой скоростью переключала терминалы, и у каждого пользователя создавалось впечатление, что он один работает с ВМ.

ОС реального времени. Эти ОС использовались в ЭВМ, которые управляли какими-либо устройствами или машинами. Как правило, скорости реакции устройства или машины намного меньше скорости реакции ЭВМ, то ОС реального времени искусственно замедляли работу ЭВМ, приближая ее к скорости реакции устройства или машины.

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) Логические прерывания. Эти прерывания вырабатывает сам процессор, когда встречается с каким-либо необходимым условием:

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

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

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

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

Каждое прерывание имеет 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 типа доступа к файлам:

1) Последовательный доступ.

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

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

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

2) Произвольный доступ.

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

Фрагментация файла приводит к увеличению времени, которое затрачивается на доступ к файлу.

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

Такой справочник носит название «таблица размещения файлов».

Например, в ОС MS-DOS таблицу размещения файлов можно представить в виде таблицы, состоящей из двух колонок. В одной колонке расположены имена кластеров, а в другой против каждого номера кластера при помощи специальных кодов может быть записана следующая информация:

   
   
   
 
   
1) Данный кластер свободный

2) Номер следующего кластера в этом же файле

3) Маркер конца файла (последний кластер в файле)

4) Этот кластер испорчен

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

АТРИБУТЫ ФАЙЛА.

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

Атрибуты файла могут быть разными в разных ОС.

Ни в одной ОС нет всех атрибутов, которые может иметь файл, но в тех или иных системах присутствует каждый из следующих атрибутов.

АТРИБУТ ЗНАЧЕНИЕ
Дата и время создания -
Объем в байтах -
Защита Кто и каким образом получает доступ к файлу
Пароль -
Создатель -
Владелец -
Только для чтения -
Скрытый (hidden) -
Системный (system) Файл ОС
Архивный -
ASCII Текстовый файл в ASCII кодах
Временный Файл должен быть удален по окончании процесса
Блокированный -
Время последнего доступа -
Время последнего изменения -
Максимальный размер Количество байт, до которого можно увеличить объем файла
Текущий размер -
Атрибуты файла обычно используются процессами, которые работают с этими файлами.

ОПЕРАЦИИ С ФАЙЛАМИ.

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

Наиболее часто встречаются следующие операции:

1) Create (Создать)

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

2) Delete (Удалить)

Уничтожение файла.

3) Open (Открыть)

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

4) Close (Закрыть)

Это операция, противоположная открытию. Из ОЗУ удаляется вся информация о файле.

5) Read (Прочитать)

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

6) Write (Записать)

Эта операция позволяет записывать данные в файл. При этом может возникнуть две ситуации:

А) Данные записываются в конец файла, и тогда объем файла увеличивается.

Б) Запись производится поверх данных, а старые данные уничтожаются.

7) Append (Добавить)

Запись производится всегда только в конец файла.

8) Seek (Поиск)

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

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

9) Get Attributes (Получить атрибуты)

Некоторым процессам для работы с файлами необходимо знать атрибуты файла.

10) Set Attributes (Установить атрибуты)

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

11) Rename (Переименовать)

Операция позволяет изменить имя файла.

Все перечисленные выше операции часто носят название – системные вызовы.

ПОНЯТИЕ КАТАЛОГА. СИСТЕМЫ КАТАЛОГОВ.

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

1) Одноуровневая каталоговая система.

Эта система состоит из всего одного каталога. Иногда этот каталог называют корневым. Преимуществом такой системы является ее простота и способность быстро находить файлы, т.к. они могут располагаться только в одном месте. Недостаток такой системы состоит в том, что файлы с одинаковыми именами не могут существовать в одном каталоге. Такая система каталогов использовалась в первых ПК.





Дата публикования: 2014-11-29; Прочитано: 279 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.023 с)...