Классификация ос и этапы развития ос.

Классификация ОС и этапы развития ОС.

По числу одновременно выполняемых задач выделяют ОС: однозадачные ОС (MS-DOS, ранние версии PSDOS); многозадачные (OS/2, UNIX, Windows).

По числу одновременно работающих пользователей выделяют ОС: однопользовательские (MS-DOS, Windows 3. x, ранние версии OS/2); многопользовательские (UNIX, WindowsNT).

Первый период (1945–1955 гг.). Ламповые машины. Операционных систем нет

Второй период (1955 г.–начало 60-х). Компьютеры на основе транзисторов. Пакетные операционные системы

Третий период (начало 60-х – 1980 г.). Компьютеры на основе интегральных микросхем. Первые многозадачные ОС

Четвертый период (с 1980 г. по настоящее время). Персональные компьютеры. Классические, сетевые и распределенныесистемы.Компьютер стал доступен всем, эра ПК

Классификация

Так, в зависимости от алгоритма управления процессором, операционные системы делятся на:

1 Однозадачные и многозадачные

2 Однопользовательские и многопользовательские

3 Однопроцессорные и многопроцессорные системы

4 Локальные и сетевые.

По числу одновременно выполняемых задач операционные системы делятся на два класса:

1 Однозадачные (MS DOS)

2 Многозадачные (OS/2, Unix, Windows)

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

В зависимости от областей использования многозадачные ОС подразделяются на три типа:

1 Системы пакетной обработки (ОС ЕС)

2 Системы с разделением времени (Unix, Linux, Windows)

3 Системы реального времени (RT11)

Основные задачи ОС. Назначение и функции.

Основные функции ОС:

1)Обмен данными между компьютером и периферийными устройствами ( клавиатурой, принтером, модемом, сканером и т.д.). Такой обмен данными называется "ввод/вывод" данных.

2)Обеспечение системы организации и хранения файлов.

3)Загрузка программ в память и обеспечение их выполнения.

Назначение ОС:
ОС предназначена для решения следующих задач:

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

Основные понятия, концепции ОС

В процессе эволюции возникло несколько важных понятий, концепций, которые стали неотъемлемой частью теории и практики ОС. ^ Системные вызовы. В любой ОС существует механизм для обращения пользовательских программ у услугам ядра ОС.Системные вызовы – это интерфейс между ОС и пользовательской программой. Они создают, удаляют и используют различные объекты, главные из которых процессы и файлы. Программа запрашивает услуги ОС, осуществляя системный вызов Существуют библиотеки процедур, которые передают управление обработчику данного вызова, входящего в состав ядра ОС. Цель этих библиотек - сделать системный вызов похожим на обычный вызов подпрограмм. При системном вызове задача переходит в защищенный режим или режим ядра, поэтому системные вызовы называются программным прерыванием, в отличие от аппаратных. Обычно системный вызов осуществляется компьютерной программой прерывания INT. Прогр. прерывание - синхронное событие.

Прерывания. Прерывание – (событие) сигнал, генерируемый внешним устройством для немедленной реакции ЦП на событие(нажатие клавиши), либо для извещения о завершении асинхронной операции ввода/вывода. (конец чтения данных с магнитного диска в ОЗУ).

Каждый тип аппаратных прерываний имеет номер однозначно определяющий источник прерываний. Аппаратное прерывание – асинхронное событие, т.е. оно возникает вне зависимости от кода программы.

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

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

С организацией файловой системы связаны такие понятия как каталог, текущий каталог, корневой каталог и путь.

Для манипулирования этими объектами в ОС имеются системные вызовы.

^ Процессы. Нити. Под процессом понимается экземпляр выполняющийся в ОС задачи со всеми ее данными. Понятие процессов как основных динамических объектов, над которыми системы выполняют опер-е действия явл-ся фундаментальными понятиями д/изучения работы ОС. Термины «прога» и «задание » предназначены д/описания статически неактивных объектов. Прога динамически активна. Д/выполнения проги ОС должна выделить определённое кол-во опер. памяти. Вместо терминов «прога» и «задание » используется термин «процесс». Понятие процесса хар-ет нелин-ую сов-ть набора исполняющих команд, связанных с ним ресурсов (выделенная д/исполнения память или адресное прост-во в стеке , использ-е файлы, устр. вв/выв и т.д.) и текущего момента его выполнения (значение регистра программного счётчика, сост-е стека и значение переменных),находящихся под управлением ОС. Не сущ-ет взаимнооднозначного соответствия м/у процессами и прогами, выполняемыми вычислительной системой.

В некот. ОС д/опред-я прог можно организовываться один, более одного процесса или один и тот же процесс м. послед-но исполнять неск. прог. Более того, процесс нах-ся под управлением ОС, поэтому в нём и выпол-ся часть кода её ядра (не нах-ся в исполнительном файле). Это происходит в случае специально запланированных прог-ми (напр., при исполнении сист-х вызовов), так и в непредусмотренных ситуациях(напр., при обраб-ке внеш. прерываний)

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

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

Архитектура ОС

Монолитная архитектура ОС

Монолитная архитектура самостоятельно реализует все фун-ии ОС(традиционное ядро)

достоинства: быстродействие, устойчивость к сбоям\

недостатки: Громоздкость, Сложность изменении конфигурации ОС

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

Архитектура типа «клиент-сервер». Пример архитектуры реальных систем.

Архитектура типа клиент-сервер в настоящее время является наиболее совершенной с точки зрения расширяемости и переносимости операционных систем.

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

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

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

Достоинства: Переносимость ОС, Расширяемость ОС, Гибкость ОС

Недостатки: низкая производительность,

Планирование процессов: уровни, основные цели, критерии и параметры.

Управление процессами. Планирование процессов и потоков. Создание процессов и потоков. Планирование и диспетчеризация

Потоков.

Планирование

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

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

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

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

9) Алгоритмы планирования. Shortest-Job-First(SJF).

Для алгоритмов FCFS и RR является существенным порядок расположения процессов в очереди процессов готовых к исполнению

Если короткие задачи расположены в ближе к началу очереди, то общая производительность возрастает

Если знать время следующих CPUburst для готовых процессов, то можно выбрать для исполнения процесс с минимальной длительностью CPUburst

Если таких процессов несколько, то для выбора можно использовать FCFS (без квантования времени)

“Кратчайшая работа первой”, или ShortestJobFirst (SJF).

В качестве алгоритма краткосрочного планирования SJF может быть как вытесняющим, так и невытесняющим

При невытесняющем планировании процессор предоставляется избранному процессу на все требующееся ему время, независимо от событий в ВС

При вытесняющем SJF-планировании учитывается появление новых процессов в очереди готовых к исполнению во время работы выбранного процесса

Если CPUburst нового процесса меньше, чем остаток CPUburst у исполняющегося, то исполняющийся процесс вытесняется новым

10) Алгоритмы планирования. Round-Robin(RR).

Вариант FCFS, реализованный в режиме вытесняющего планирования

Готовые процессы организованы циклически - сидят на карусели

Карусель вращается так, что каждый процесс находится около процессора небольшой фиксированный квант времени, обычно 10 - 100 миллисекунд

Пока процесс находится рядом с процессором, он получает процессор в свое распоряжение и может исполняться

11) Алгоритмыпланирования. First-Come, First-Served(FCFS)

Невытесняющее планирование

Процесс, получивший в свое распоряжение процессор, занимает его до истечения своего текущего CPUburst

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

Преимущество: простота реализации

Недостатки:

Среднее время ожидания и среднее полное время выполнения для этого алгоритма существенно зависят от порядка расположения процессов в очереди

При наличии процесса с длительным CPUburst короткие процессы, перешедшие в состояние готовность после длительного процесса, будут очень долго ждать начала своего выполнения

Алгоритм FCFS практически неприменим для систем разделения времени

Классификация ОС и этапы развития ОС.

По числу одновременно выполняемых задач выделяют ОС: однозадачные ОС (MS-DOS, ранние версии PSDOS); многозадачные (OS/2, UNIX, Windows).

По числу одновременно работающих пользователей выделяют ОС: однопользовательские (MS-DOS, Windows 3. x, ранние версии OS/2); многопользовательские (UNIX, WindowsNT).

Первый период (1945–1955 гг.). Ламповые машины. Операционных систем нет

Второй период (1955 г.–начало 60-х). Компьютеры на основе транзисторов. Пакетные операционные системы

Третий период (начало 60-х – 1980 г.). Компьютеры на основе интегральных микросхем. Первые многозадачные ОС

Четвертый период (с 1980 г. по настоящее время). Персональные компьютеры. Классические, сетевые и распределенныесистемы.Компьютер стал доступен всем, эра ПК

Классификация

Так, в зависимости от алгоритма управления процессором, операционные системы делятся на:

1 Однозадачные и многозадачные

2 Однопользовательские и многопользовательские

3 Однопроцессорные и многопроцессорные системы

4 Локальные и сетевые.

По числу одновременно выполняемых задач операционные системы делятся на два класса:

1 Однозадачные (MS DOS)

2 Многозадачные (OS/2, Unix, Windows)

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

В зависимости от областей использования многозадачные ОС подразделяются на три типа:

1 Системы пакетной обработки (ОС ЕС)

2 Системы с разделением времени (Unix, Linux, Windows)

3 Системы реального времени (RT11)

Наши рекомендации