Определение операционной системы. Место ос в программном обеспечении вычислительных систем


Скачать 467.37 Kb.
НазваниеОпределение операционной системы. Место ос в программном обеспечении вычислительных систем
страница1/4
Дата публикации16.04.2013
Размер467.37 Kb.
ТипДокументы
userdocs.ru > Информатика > Документы
  1   2   3   4

  1. Основные функции операционной системы

ОС выполняет две по существу мало связанные функции:

обеспечение пользователю-программисту удобств посредством предоставления для него расширенной машины

повышение эффективности использования компьютера путем рационального управления его ресурсами.

ОС нужны, если:

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

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

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

- необходима возможность имитации «одновременного» исполнения нескольких программ на одном компьютере (даже содержащем лишь один процессор), осуществляемой с помощью приёма, известного как «разделение времени». При этом специальный компонент, называемый планировщиком, делит процессорное время на короткие отрезки и предоставляет их поочерёдно различным исполняющимся программам (процессам);

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

  1. ^ Основные характеристики ОС

использующие файловые системы (с универсальным механизмом доступа к данным),

многопользовательские (с разделением полномочий),

многозадачные (с разделением времени).

Многозадачность и распределение полномочий требуют определённой иерархии привилегий компонентов самой ОС.

  1. ^ Определение операционной системы. Место ОС в программном обеспечении вычислительных систем

«набор программ, управляющих оборудованием»

«набор программ, управляющих другими программами».

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

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

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



  1. ^ Назначение операционной системы

Вытекает из определения

Операционная система (ОС) есть набор программ, которые распределяют ресурсы процессам.

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

  1. ^ Место ОС в вычислительной системе

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

  1. ^ Функции операционных систем

Основные функции, выполняемые операционной системиой:

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

Загрузка программ в оперативную память и их выполнение.

Стандартизованный доступ к периферийным устройствам (устройства ввода-вывода).

Управление оперативной памятью (распределение между процессами, организация виртуальной памяти).

Управление доступом к данным на энергонезависимых носителях (жёсткий диск, оптические диски), организованным в той или иной файловой системе.

Обеспечение пользовательского интерфейса.

Сохранение информации об ошибках системы.

^ Дополнительные функции:

Параллельное или псевдопараллельное выполнение задач (многозадачность).

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

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

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

Взаимодействие между процессами: обмен данными, взаимная синхронизация.

Защита самой системы, а также пользовательских данных и программ от действий пользователей (злонамеренных или по незнанию) или приложений.

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

  1. ^ Состав операционной системы

Компоненты операционной системы:

Загрузчик

Ядро

Командный процессор (интерпретатор)[1]

Драйверы устройств

Интерфейс

^ Ядро операционной системы

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

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

Объекты ядра ОС:

Процессы

Файлы

События

Потоки

Семафоры

Мьютексы

Каналы

Файлы, проецируемые в память

  1. ^ Эволюция ОС и основные идеи

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

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

  1. ^ Ресурс. Классификация ресурсов

Ресурс - "средство системы обработки данных, которое может быть выделено процессу обработки данных на определенный интервал времени".

Ресурсы подразделяют на системные и пользовательские.

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

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

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

Ресурсы могут быть разделяемыми и неделимыми.

  1. ^ Операционная среда

операция - определенное управляющие воздействие.

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

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

  1. ^ Понятие процесса

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

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

Адресное пространство содержит: саму программу, данные к программе, стек программы.

Счетчика команд - регистр в котором содержится адрес следующей, стоящей в очереди на выполнение команды.

  1. ^ Поток. Контекст. Волокна.

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

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

Контекст — это структура, в которой сохраняются следующие элементы: регистры процессора, указатели на стек ядра и пользовательский стек, указатель на адресное пространство, в котором выполняется нить.

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

  1. ^ Прерывания. Типы и приоритеты прерываний

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

Тип – номер вызываемого прирывания.

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

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

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

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

  1. ^ Алгоритм выполнения прерываний. Главные функции механизма прерываний

Алгоритм выполнения прерываний.

1. Установление факта прерывания (прием сигнала запроса на прерывание) и идентификация прерывания.

2. Запоминание состояния прерванного процесса вычислений. Состояние процесса выполнения программы определяется, прежде всего, значением счетчика команд, содержимым регистров процессора, и может включать также спецификацию режима.

3. Управление аппаратно передается на подпрограмму обработки прерывания.

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

5. Собственно выполнение программы, связанной с обработкой прерывания. 6. Восстановление информации, относящейся к прерванному процессу (этап, обратный шагу 4).

7. Возврат на прерванную программу.

Шаги 1-3 реализуются аппаратно, шаги 4-7 — программно.

Главные функции механизма прерываний — это:

- распознавание или классификация прерываний;

- передача управления соответствующему обработчику прерываний;

- корректное возвращение к прерванной программе.

  1. ^ Классификация прерываний, возникающих при работе вычислительной системы

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

Внешние прерывания вызываются асинхронными событиями, которые происходят вне прерываемого процесса, например:

• прерывания от таймера;

• прерывания от внешних устройств (прерывания по вводу-выводу);

• прерывания по нарушению питания;

• прерывания с пульта оператора вычислительной системы;

• прерывания от другого процессора или другой вычислительной системы.

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

• при нарушении адресации (в адресной части выполняемой команды указан запрещенный или несуществующий адрес, обращение к отсутствующему сегменту или странице при организации механизмов виртуальной памяти);

• при наличии в поле кода операции незадействованной двоичной комбинации;

• при делении на ноль;

• вследствие переполнения или исчезновения порядка;

• от средств контроля (например, вследствие обнаружения ошибки четности, ошибок в работе различных устройств).

Программные прерывания

Программы могут сами вызывать прерывания с заданным номером. Для этого они используют команду INT. По этой команде процессор осуществляет практически те же действия, что и при обычных прерываниях, но только это происходит в предсказуемой точке программы – там, где программист поместил данную команду. Поэтому программные прерывания не являются асинхронными (программа "знает", когда она вызывает прерывание).

  1. Распределение прерываний по уровням приоритета

Распределение прерываний по уровням приоритета:

высший

  1. Средства контроля CPU

  2. Системный таймер

  3. Магнитные диски

  4. Сетевое оборудование

  5. Терминалы

  6. Программные прерывания

низший

  1. Планирование заданий процессов и потоков

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

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

  1. ^ Виды планирования, используемые в современных ОС

Делятся на:

- долгосрочное, среднесрочное, краткосрочное и планирование ввода-вывода.

Рассматривая частоту работы планировщика:

долгосрочное планирование выполняется сравнительно редко. Решение о добавлении задания (процесса) в пул выполняемых в системе

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

Краткосрочный планировщик, называемый часто диспетчер (dispatcher), обычно работает, определяя, какой из доступных процессов или потоков будет выполняться следующим.

планирование ввода-вывод - решение о том, какой из запросов процессов (потоков) на операцию ввода-вывода будет выполняться свободным устройством ввода-вывода

  1. ^ Алгоритмы планирования процессов и потоков. Достоинства и недостатки различных алгоритмов планирования.

Не вытесняющие (non-preemptive) алгоритмы основаны на том, что активному потоку позволяется выполняться, пока он сам, по своей инициативе, не отдает управление операционной системе, для того чтобы она выбрала из очереди готовый к выполнению поток. Механизм планирования распределяется между операционной системой и прикладными программами. Недостатком планирования является необходимость разработки такого приложения, которое будет "дружественным" по отношению к другим выполняемым одновременно с ним программам. Для этого в приложении должны быть предусмотрены частные передачи управления операционной системе. Крайним проявлением недружественности приложения является его зависание, которое приводит к общему краху системы. Достоинством планирования является более высокая скорость переключения потоков.

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

  1. ^ Разделение времени при работе с процессами и потоками. Понятие кванта времени. Алгоритмы, основанные на квантовании.

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

Смена активного потока происходит, если:

  1. поток завершается и покинул систему;

  2. произошла ошибка;

  3. поток перешел в состояние ожидания;

  4. исчерпан квант времени, отведенный данному потоку.

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

Две очереди потоков:

очередь 1 – для потоков, в состояние готовности -> исчерпания кванта времени.

очередь 2 – для потоков, у которых завершилась операция ввода-вывода.

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

Отметим три замечания об алгоритмах, основанных на квантовании.

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

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

3. В алгоритмах, основанных на квантовании, ОС не имеет никаких сведений о решаемых задачах (длинные или короткие, интенсивен "ввод-вывод" или нет, важно быстрое исполнение или нет и т.п.). Дифференциация обслуживания при квантовании базируется на "истории существования" потока в системе.

  1. ^ Понятие приоритетного обслуживания

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

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

  1. ^ Разновидности приоритетного планирования

Существует две разновидности приоритетного планирования:

1) с относительным приоритетом. На выполнение выбирается поток, имеющий наивысший приоритет. Активный поток выполняется до тех пор, пока он сам не покинет процессор, перейдя в состояние ожидания (по вводу-выводу, например), или не завершится, или не произойдет ошибка.

2) с абсолютным приоритетом. Выполнение активного потока прерывается еще и по причине появления потока, имеющего более высокий приоритет, чем у активного потока. В этом случае прерванный поток переходит в состояние готовности.

  1. ^ Система приоритетного обслуживания Windows

В классе приоритетов реального времени все потоки имеют фиксированный приоритет (от 16 до 31), который никогда не изменяется, и все активные потоки с определенным уровнем приоритета располагаются в круговой очереди данного класса (продолжительность кванта tкв=20 мс для W2K Professional, 120 мс – для однопроцессорных серверов).

В классе переменных приоритетов поток начинает работу с базового приоритета процесса, который может принимать значение от 1 до 15. Каждый поток, связанный с процессом имеет, свой базовый приоритет, равный базовому приоритету процесса, или отличающийся от него не более чем на 2 уровня в большую или меньшую сторону. После активации потока его динамический приоритет может колебаться в определенных пределах – он не может упасть ниже наименьшего базового приоритета данного класса, т.е. 15 (для потоков с приоритетом 16 и выше никогда не делается никаких изменений приоритетов).

Величина, на которую увеличивается приоритет, зависит от устройства ввода-вывода. Как правило, это 1 – для диска, 2 – для последовательной линии, 6 – для клавиатуры и 8 – для звуковой карты. Если поток ждал семафора, мьютекса, то когда он отпускается, к его приоритету добавляется 2 единицы, если это поток переднего, и одна единица – в противном случае.

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

Задача мьютекса — защита объекта от доступа к нему других потоков, отличных от того, который завладел мьютексом. В каждый конкретный момент только один поток может владеть объектом, защищённым мьютексом. Если другому потоку будет нужен доступ к переменной, защищённой мьютексом, то этот поток засыпает до тех пор, пока мьютекс не будет освобождён.

  1. ^ Физическая организация памяти

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

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

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

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

- посредством системы программирования;

- посредством операционной системы (с помощью специальных программных модулей управления памятью и использования соответствующих аппаратных средств вычислительной системы).

  1. ^ Виртуальная память

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

Виртуальное адресное пространство зависит от:

- архитектуры процессора;

- системы программирования.

  1   2   3   4

Похожие:

Определение операционной системы. Место ос в программном обеспечении вычислительных систем iconПонятие операционной системы (ОС)
Определение операционной системы. Место ос в программном обеспечении вычислительных систем
Определение операционной системы. Место ос в программном обеспечении вычислительных систем iconТренировочный лист. По обкатке системы торговли на Форекс. Дело не...
Тренировочный лист. По обкатке системы торговли на Форекс. Дело не только в аналитике, но и в мощном программном обеспечении, а также...
Определение операционной системы. Место ос в программном обеспечении вычислительных систем iconДжеф Раскин, Интерфейс: новые направления в проектировании компьютерных систем
...
Определение операционной системы. Место ос в программном обеспечении вычислительных систем iconОсновные функции операционной системы
Ос определяет облик всей вычислительной системы вцелом, несмотря на это пользователи, активно использующие вычислительную технику,...
Определение операционной системы. Место ос в программном обеспечении вычислительных систем iconВопросы к экзамену по курсу «Операционные системы» для потока ас-09
Эволюция вычислительных систем: третий этап (компьютеры на основе интегральных микросхем)
Определение операционной системы. Место ос в программном обеспечении вычислительных систем iconРабочая программа Производственная (профессиональная) практика для...
«оператор электронно-вычислительных и вычислительных машин» или другой родственной профессии
Определение операционной системы. Место ос в программном обеспечении вычислительных систем iconОперационная система это …
Укажите наиболее точное определение. Приложения это … 1 прикладные программы, созданные для работы под управлением конкретной операционной...
Определение операционной системы. Место ос в программном обеспечении вычислительных систем iconАрхитектуры вычислительных систем
К таким сетям относится сети научно-технической и справочной информации. Сюда же входят сети спецслужб. Вычислительные сети отличаются...
Определение операционной системы. Место ос в программном обеспечении вычислительных систем iconПобилетная программа по оториноларингологии
Оториноларингология – определение, ее место в ряду клинических дисциплин. Взаимосвязь заболеваний лор органов с патологией других...
Определение операционной системы. Место ос в программном обеспечении вычислительных систем iconВопросы к экзамену по дисциплине
Определение, классификация, базовые параметры и характеристики вычислительных сетей (ВС)
Вы можете разместить ссылку на наш сайт:
Школьные материалы


При копировании материала укажите ссылку © 2020
контакты
userdocs.ru
Главная страница