Операционные системы
Основные понятия и классификация операционных систем, их взаимодействие с периферийными устройствами. Основные функциональные задачи операционных систем, файлов и файловых систем. Многозадачность операционной системы. Синхронизация процессов и потоков.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | лекция |
Язык | русский |
Дата добавления | 31.10.2013 |
Размер файла | 40,3 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
1. ОС. Основные понятия и функции
ОС - это комплекс программ обеспечивающие возможность рационального использования оборудования, программного обеспечения удобного для пользователя образом. ОС призваны упростить управления ресурсами ПК разработка программного обеспечения и работу конечных пользователей. ОС являются частью комплекса, которые называются вычислительными системами. В состав вычислительной системы включают:
1. Аппаратную часть в составе процессор, память, монитор, дисковые устройства, устройства ввода, объединенные магистральным соединением которое называется шиной.
2. Программной обеспечение (системные, прикладное средство разработки оболочки).
3. Прикладное программное обеспечение - относятся:
- различные бизнес-программы, включая банковские системы;
- системы автоматизированного обеспечения, программное обеспечение автоматизированных рабочих предприятия), то есть удовлетворяющие непосредственной потребности пользователя.
4. Под системными понимают программы, способствующие функционированию и разработки прикладных программ.
Деление на системное и прикладное программное обеспечение является отчасти условным и зависит от того кто осуществляет это деление.
Техническое обеспечение вычислительных систем.
Оперативная память - используемая для основной памяти применяется для запоминания программ и данных в двоичном виде организованного вида упорядоченного массива ячеек, каждая из которых имеет уникальный цифровой адрес. Типовыми операциями являются считывание и запись содержимого ячейки с определенного адреса. Выполнение различных операций с данными изолированной части ПК называется процессором.
Центральный процессор также имеет ячейки для запоминания информации, называемые регистрами. Их разделяют на регистры общего назначения и специализированного регистры.
Регистры общего назначения используют для временного хранения данных и результатов операций. Для обработки информации обычно организовывается передача данных из ячеек памяти регистра общего назначения, выполняя операция выполнения операций центральным процессором и передачи результата операции основной памяти. Специализированные регистры используются для контроля работы процессора. Наиболее важными являются: программный счетчик, регистр команд и регистр содержащий информацию о содержании программ.
2. Взаимодействие с периферийными устройствами
Периферийные устройства предназначены для ввода и вывода информации. Каждое устройство в своем составе обычно имеет специализированный ПК, называемый контролером или адаптером. Когда контролер вставляется в разъем на материнской плате, он подключается к шине и получает уникальный номер (адрес). После этого контролер осуществляет наблюдения за сигналами, идущими по шине, и отвечает на сигналы, адресованные ему.
Любая операция ввода-вывода предполагает диалог между центральным процессором и контролером устройства. Когда процессору встречается команда, связанная с вводом или выводом, входящая в состав какой либо программы, он выполняет её, посылая сигналы контролеру устройства. Это называется программированный ввод, вывод.
В свою очередь, любые изменения, связанные с внешними устройствами, имеют в следствии передачу сигнала от устройства к центральному процессору. С точки зрения центрального процессора это является асинхронным событием и требует реакции. Для того чтобы обнаружить такое событие между машинными циклами, процессор опрашивает специальный регистр, содержащий информацию и тип устройства, создавшего сигнала. При наличии сигналов процессор выполняет специфичную для данного устройства программу, задача которой отреагировать на это событие надлежащим образом. Например: занести символ, введенный с клавиатуры, в специальный буфер. Такая программа называется обработка прерывания, а само событие прерыванием, поскольку оно нарушает плановую работу процессоров.
После завершения обработки прерывания процессор возвращается к выполнению программы. Эти действия ПК называются вводом-выводом с использованием прерываний.
3. Программное обеспечение вычислительных систем
Программы хранятся в виде последовательности машинных команд, которые должен выполнять центральный процессор. Каждая команда состоит из поля операции и полей операндов, то есть тех данных, на которых выполняется операция. Весь набор машинных программ называется машинным языком. Выполнение программы выполняется следующим образом:
1. Машинная команда, на которую указывает программный счетчик, считывается из памяти и копируется в регистр команд.
2. Она декодируется и затем выполняется.
3. После выполнения команды программный счетчик устанавливается на следующую программу.
Эти действия, называемые машинным циклом, многократно повторяются.
4. Основные функциональные задачи операционных систем
Операционные системы, как часть системного программного обеспечения, решают следующие важные задачи:
1. Организация программного интерфейса.
2. Организация программно-аппаратного взаимодействия.
3. Организация пользовательского интерфейса.
4. Организация меж машинного взаимодействия.
При решении функциональных задач операционная система может выступать в одной из следующих ролей:
1). Операционная система как виртуальная машина.
При разработке операционных систем широко применяется абстрагирование, которое является важным методом упрощения и позволяет сконцентрироваться на взаимодействии высоко уравненных компонентов системы, игнорируя детали их реализации. В этом смысле операционная система представляет собой интерфейс между пользователем и ПК.
Архитектура большинства ПК на уровне машинных команд очень не удобна для использования прикладными программами. Например: работа с диском предполагает знания внутреннего устройства его внутреннего компонента (контролера), с целью ввода команд вращения и форматирования дорожек и прочее. Эти операции на себя берет специальная программа - драйвер устройства, которая в свою очередь взаимодействует с прикладной программой, имеющий удобный пользовательский интерфейс. Таким образом, ОС представляется пользователю виртуальной машиной, с которой иметь дело проще, чем с непосредственно оборудованием ПК.
2). Операционная система как менеджер ресурсов.
ОС предназначена для управления всеми частями сложной архитектуры ПК. ОС предотвращает конфликты, возникающие при попытке конкурирующих программ получить доступ к ресурсам (принтерам и т.д.). Для предотвращения конфликтов используется механизм буферизации и диспетчеризации. Этот аспект касается многозадачных систем, его важность возрастает для многопользовательских систем. ОС как менеджер ресурсов, осуществляет порядочное и контролируемое распределение процессоров памяти и др. ресурсов между различными программами.
3). ОС как постоянное функционирующее ядро.
Операционная система - это программа, постоянно работающая на ПК и взаимодействующая со всеми прикладными программами, которые называются резидентами. В современных вычислительных системах работает лишь часть операционной системой, которую принято называть ядром.
В любой ОС поддерживается механизм, который позволяет пользовательской программе обращаться к услугам ядра ОС. Системные вызовы - это интерфейс между ОС и пользовательской программой. Системные вызовы используются для создания, удаления и использования различных объектов, главные из которых - процессы и их файлы. Пользовательская программа запрашивает сервис у ОС, используется системный вызов. В ОС имеются в библиотеке процедуры, которые загружают машинные регистры определенными параметрами и осуществляют прерывания процессоров, после чего управление передается обработчику данного вызова, входящему в ядро операционной системы. Цель таких библиотек сделать системный вызов, похожий на обычный вызов под программы. Основное отличие состоит в том, что при системе вызовов задачи переходит в привилегированный режим или режим ядра. Поэтому системные вызовы иногда называют программными прерываниями. В отличие от аппаратных прерываний, которые чаще называют просто прерываниями. В привилегированном режиме работает код ядра ОС, причем исполняется он в адресном пространстве и в контексте вызвавший его задачи. Таким образом, ядро ОС имеет полный доступ к памяти пользовательской программы и при системном вызове достаточно передать адреса одной или нескольких областей памяти с параметром вызова для результатов вызова. Программное прерывание - это синхронное событие.
Прерывание - это событие, генерируемое внешним по отношению к центральному процессору устройством. Посредством аппаратных прерываний аппаратура либо информирует пользователя, что произошло какое-то событие, требующие реакции (нажатие на клавишу), либо сообщает о завершение асинхронной операции ввода и вывода (о завершение чтения данных с диска с ОП).
Важный тип аппаратных прерываний - это прерывание тайное, которое генерируется периодически через фиксированный промежуток времени. Прерывание тайное используется ОС при планировании процессов. Каждый тип аппаратных прерываний имеет собственный номер, однозначно определяющий источник прерывания. Аппаратное прерывание - это асинхронное событие, которое возникает вне зависимости от того, какой код выполняется в данный момент.
Обработка АП не должно учитывать, какой процесс является текущим.
Исключительные ситуации.
Это событие возникающие в результате попытки выполнения программы команды, которая по каким-то причинам не может быть выполнена до конца. Примеры: попытки доступа к ресурсу, при отсутствии достаточных привилегий или обращение к отсутствующей странице памяти. Исключительные ситуации, как и системные вызовы, являются синхронными событиями, возникающими в контексте текущей задачи.
Исключительные ситуации можно разделить на исправимые и на неисправимые.
Исправимые - такие исключительные ситуации, как отсутствие нужной информации в оперативной памяти, после устранения причины исправимой исключительной ситуации программа может выполняться дальше. Возникновения в процессе работы ОС исправимых исключительных ситуаций является нормальным явлением.
Неисправимые исключительные ситуации - чаще всего, возникают в ошибках программы. Например, при делении на нуль. Чаще всего ОС реагируют завершением программы, вызвавшей исключительные ситуации.
5. Уровень 2. Файлы и файловые системы
Файлы предназначены для хранения информации на внешних носителях. Принято, чтобы информация, записанная на диске, находилась внутри файла. Под файлом понимают именованную часть пространства на носителе информации.
Файловые системы главные задачи - это скрытие особенностей ввода-вывода и возможность предоставления программисту простой абстрактной модели файлов, не зависимых от устройств. Для чтения, удаления, создания, записи, открытия и закрытия файлов каждая ОС имеет соответствующий набор системных вызовов. Иерархическая организация файлов поддерживается системным каталогом.
Процессы и нити.
Понятие процессы характеризует некоторую совокупность набора исполняющихся программ, ассоциированных с ними ресурсов, таких, как выделенная для исполнения память (адресное пространство), стеки, используемые файлы и устройства ввода и вывода и прочее, текущий момент выполнения процесса. Характеризуемые значениями регистров, программы счетчика, состояние стека, и значение переменных. Между процессами и потоками нет однозначного соответствия, также нет между процессом и выполняемой программой. Процесс находится под управление операционной системы, поэтому в нем может выполняться часть кода её ядра, как в случае запланированными авторами программ (при обработке системных вызовов), так и не в предусмотренных ситуациях. Например: при обработке внешних прерываний и исключительных ситуаций.
Основные функции классической операционной системы.
1. Планирование заданий и использования процессора.
2. Обеспечение программ средствами коммуникации и синхронизации.
3. Управление памятью.
4. Управление файловой системой.
5. Управление вводом, выводом.
6. Обеспечение безопасности.
6. Уровень 1. Классификация ОС. Уровень 2. Реализация многозначности
По числу выполняемых программ ОС можно разделить на два класса:
1. Многозадачные.
2. Однозадачные.
Многозадачная ОС, решая проблемы распределения ресурсов и конкуренции, полностью реализует мультипрограммные режимы. Многозадачный режим, который воплощает в себе идею разделения времени, называется вытесняющим. В каждой программе выделяется квант процессорного времени, по истечению которого передается управление другой программе. Говорят, что первая программ будет вытеснена. Как правило, в большинстве ОС не подлежит вытеснению код самой системы. Также не вытесняются задачи примерного времени.
УРОВЕНЬ 2. Поддержка многопользовательского режима.
ОС можно разделить на многопользовательские и однопользовательские. Наиболее существенные отличия между ними заключаются в наличии в многопользовательских систем механизма защиты персональных данных пользователя.
УРОВЕНЬ 2. Многопроцессорная обработка.
Многопроцессорные системы осуществляют параллельное выполнение программ вычислительных систем. Поддержка мультипроцессирования приводит к осложнению всех алгоритмов всех ресурсов.
Различают архитектуры многопроцессорных систем асимметричные и симметричные. В симметричных - на каждом процессоре функционирует одно и тоже ядро, и задача может быть выполнена на любом процессоре. При каждом из процессоров доступна вся память. В асимметричных ОС процессоры не равноправны. Обычно существует главный процессор и подчиненные, загрузку и характер которых определяет главный.
УРОВЕНЬ 2. Системы реального времени.
В разряд многозадачных ОС, наряду с пакетными системами и системами разделения времени, включаются системы реального времени. Они используются для управления различными техническими объектами или технологическими процессами. Такие системы характеризуются предельным допустимым временем реакциями на внешние события, в течение которого должна быть выполнена программа, управляющая объектом. Система должна обрабатывать поступающие данные быстрее, чем они могут поступать, причем от нескольких источников одновременно. Столь жесткие ограничения сказываются на архитектуре реального времени. Например, в них может отсутствовать виртуальная память, поддержка которой дает не предсказуемые поддержка которой дает не предсказуемые поддержки в выполнении программы.
7. Процессы в ОС. Многозадачность ОС
операционный система файл поток
Организация рационального использования ресурсов ПК - это одна из важнейших функций ОС. Многозадачность - это способ организации вычислительного процесса, при котором на одном процессоре выполняется несколько задач. Эти задачи совместно используют не только ресурсы процессора, но также оперативную и внешнюю память устройства ввода и вывода и прочее. Организация вычислительного процесса характеризуется несколькими критериями эффективности:
1. Пропускная способность - это количество выполняемых задач в единицу времени.
2. Удобства работы пользователя.
3. Реактивность системы - характеризует способность системы выдерживать промежутки времени между запуском программы и получением результата.
ОС по типу многозадачности делятся на:
1. Системы пакетной обработки - для повышения пропускной способности вычислительной системы, минимизации простоев ЦП используется организация продукта в виде пакета (исполняемых приложений). Схема работы имеет следующий вид: вначале формируется пакет заданий, причем каждое задание содержит требования к ресурсам; из пакета формируется мультипрограммная смесь, то есть множество одновременно выполняемых задач, причем выбираются наборы задач, предъявляющие различные требования ресурсам. Область использования - научные и технические расчеты.
2. Системы разделения времени - в этих системах пользователю предоставляется возможность интерактивной работы сразу же с несколькими видами работы. Для решения этой задачи ОС должна принудительно приостанавливать работу приложения и переключать работу процессора на обработку другого приложения. Всем приложениям выделяется некоторый квант некоторого времени, по истечению которого управление передается другой задаче. Достоинством является удобство работы пользователя. Недостаток - меньшая пропускная способность.
3. Системы реального времени - представляет собой вариант с разделением времени, в случае, если задача обработки информации должна быть выполнена в течение некоторого допустимого времени. Мультипрограммная смесь в системах реального времени - это фиксированный набор, заранее фиксированный разработанными программами. Выбор задач применяется по пребыванию или по расписанию плановых работ. Способность ОС к быстрому ответу зависит от скорости переключения с одной задачи на другую, в частности от скорости обработки прерывания. В системах реального времени при планировании загрузки устройств устанавливается некоторый запас вычислительной мощности системы. Для того, чтобы в момент пиковой загрузки система могла осуществить прерывание работы приложения. Область использования: управление техническими процессами или технологическими процессами.
Мультипроцессорная обработка.
Это способ организации вычислительного процесса с несколькими процессорами, который заключается в разделении процедуры разработки на разных процедурах. При мультипроцессорной обработке осложняется задача управления ресурсами. В частности, в планировании процессов для нескольких процессоров, использующих общую оперативную и внешнюю память и другие устройства. Возникает необходимость в планировании средств блокировки при доступе к разделяемым информационным структурам ядра. Различает следующие мультипроцессорные архитектуры:
1. Симметричная архитектура мультипроцессорной системы. Включает себя набор однородных процессоров, как правило, числом кратным двум, единообразно включенных в общую схему. Эти системы разделяют общую память между всеми процессами. Масштабирование в симметричных системах ограничено.
2. Ассиметричная архитектура - система, включающая разные типы процессоров, как по характеристикам, так и по функциональной роли. Функциональная неопределенность этих систем приводит к структурным отличиям. Масштабирование выполняется по горизонтали. Каждое устройство называется кластером, а система кластировая.
Потоки и процессы.
Основная задача ОС - это распределение ресурсов между процессорами и ресурсами. Процесс связан с программным кодом исполняемого модуля и рассматривается ОС как заявка на потребление всех ресурсов, кроме процессорного времени. Поток представляет собой экземпляр процесса, рассматриваемого как способ, распараллеливающий вычисления. Поток - это последовательность программ, выполняемых процессором. ОС распределяет процессорное время между потоками. К процессу назначается адресное пространство, и набор ресурсов которое используется его потомками.
Понятие процесса.
Процесс характеризуется некоторой совокупностью набора исполняющихся команд, ассоциированных с ним ресурсов, таких как выделенная для исполнения память или адресное пространство, стеки используемые файлы и т.д. И текущего момента его выполнения. Характеризуемого значения регистров программного счетчика, состояние стека, значения переменной и находящегося под управление ОС.
Процесс находится под управлением ОС, поэтому в нем может выполняться часть кода ее ядра, как в случаях запланированных авторами программы, например, при использовании системных вызовов, так и не предусмотренных ситуациях.
Состояния процесса.
Для мультипрограммных вычислительных систем, псевдо параллельная обработка нескольких процессов достигается с помощью переключения процессора с одного процессора на другой.
Пока один процесс выполняется, остальные ждут своей очереди. Каждый процесс может находиться как минимум в двух состояниях: процесс исполняется, процесс не исполняется.
Модель, процессор.
Всякий новый процесс попадает в состояние готовности. ОС, используя какой либо алгоритм планирования, выбирает один из готовых процессов, переводит его в состояние исполнения. В состоянии исполнения происходит непосредственное исполнение программного кода процесса. Выйти из состояния исполнения процесс может по трем причинам:
1. ОС прекращает его деятельность.
2. Он не может продолжать свою работу, пока не произойдет некоторое событие - ОС переводит его состояние ожидания.
3. В результате возникновения прерывания вычислительных систем, например, под таймером, по истечению некоторого промежутка времени процесс возвращают в состояние готовности.
Модель описывает поведение процессов не только во время их существования, но также их появление в системе или при их исчезновении. Для этого вводится еще два состояния рождения и закончил исполнение. При рождении процесс получает в свое распоряжение адресное пространство, в которое загружается код процесса. Процессу выделяется стек и системные ресурсы. Устанавливается начальное значение программного счетчика процесса. Родившийся процесс переводится в состоянии готовность. При завершении своей деятельности процесс из состояния «исполнение» попадает в состояние «закончил исполнение».
Набор операций над процессом.
Процесс не сможет перейти из одного состояние на другое самостоятельно. Изменением состояние процессов занимается ОС, выполняя операции над ними. Операция можно объединить в три пары:
1. Создание процесса, завершение процесса.
2. Приостановка процесса - это перевод из состояния исполнения в состояние готовность.
Запуск процесса - это и готовности в исполнение.
3. Блокирования процесса - из исполнения в ожидание.
Разблокирование процесса - из ожидания в готовность.
Операции создания и завершения процесса являются одноразовыми.
Все остальные операции связанные с изменением состояния процесса, будь то запуск или блокировка, являются одноразовыми.
Управление процессами.
Для того чтобы операционная система могла выполнять операции над процессами, каждый процесс представляет собой некоторую структуру данных. Эта структура содержит информацию для данного процесса:
1. Состояние, в котором находится процесс.
2. Программный счетчик процесса (адрес команды, которая должна быть выполнена).
3. Содержимое регистра в процессорах.
4. Данные, необходимые для планирования использования процессора и управление памятью. Такие, как приоритет процесса, размер и положение адресного пространства и др.
Учетные данные.
Индификационный номер процессора, индафикатор пользователя-инициатора, общее время исполнения процессора данным процессом, сведения ввода-вывода, связанных с процессорами. Например, какие устройства закреплены за процессом или таблица открытых файлов.
Блок управление процессом.
Для любого процесса, находящегося в вычислительной системе, вся информация, необходимая для совершения операций над ним, доступна операционной системе. В упрощенном виде считается, что она хранится в одной структуре данных, которая называется РСВ или Process Control Block. Блок управления процесса является моделью процесса для ОС. Любая операция, производимая ОС над процессом, вызывает определенные изменения в РСВ.
Контексты процесса.
Информацию, для хранения которой предназначен блок управления процессом, можно разделить на две части:
1. Регистровый контекст процесса, который включает в себя содержимое процессоров регистра, включая значения программного счетчика.
2. Системный контекст процесса, который включает всё остальное.
Знание регистрового и системного контекстов процесса достаточно для того чтобы управлять его работой в ОС, совершая над ним операции. Этого недостаточно, чтобы полностью охарактеризовать процесс. ОС не интересует, какими вычислениями занимается процесс. То есть, какой код и какие данные находятся в его адресном пространстве. С точки зрения пользователя наоборот, наибольший интерес представляет адресное пространство процесса, которое наряду с регистровым процессором, определяет последовательность преобразования данных и получает результат. Код и данные в адресном пространстве процесса называются пользовательским контекстом. Совокупность регистрового, системного и пользовательского контекста в любой момент времени полностью характеризуют процесс и называются просто контекстом процесса.
Одноразовые операции рождения процесса.
Любая ОС, поддерживающая концепцию процессов, обладает средствами для их создания. В очень простых системах все процессы могут быть рождены на старте системы. Более сложные создают процесс динамически, по мере необходимости. Инициатором рождения нового процесса после старта ОС может выступить либо процесс пользователя, совершивший специальный системный возов, либо сама ОС. То есть некоторый процесс.
Процесс, инициировавший создание нового процессора, принято называть родителем, а наш созданный процесс - процессом ребенка. Процессы-дети в свою очередь могут порождать новые процессы, образуя внутри системы, образуя внутри системы диалогическую систему или диалогический лес.
Одноразовые операции завершение процесса.
После того как процесс закончил свою работу, операционная система переводит его в состояние закончил исполнение и освобождает все ассоциированные с ним ресурсы, делая соответствующие записи в блоке управления процессом. При этом сам РСВ не уничтожается, а остается в системе еще некоторое время. Подобная информация сохраняется в РСВ отработавшего процессора до запроса процесса родителя или до конца его деятельности, после чего все следы завершившегося процесса окончательно исчезают из системы. В UNIX процессы принято называть зомби. При завершении процесса-родителя процессы не всегда завершают свою работу. Во втором случае в РСВ вносится соответствующая информация для поддержания целостного генеалогического леса.
Многоразовая операция.
Приостановка процесса.
Работа процесса, находящегося в состояния исполнения, приостанавливается при каком-либо прерывании. Процессор автоматически сохраняет счетчик команд и возможно один или несколько регистров в стеке исполняемого регистра, а затем передает управление по специальному адресу по обработке данного прерывания. По указанному адресу обычно располагается одна из частей операционной системы, она сохраняет динамическую и часть системного и регистрового контекста в его РСВ и переводит процесс в состояние готовность и приступает к обработке прерывания, то есть выполнения определенных действий, связанных с возникшем прерыванием.
Блокирование процесса.
Процесс блокируется, когда он не может продолжать работу, не дождавшийся какого либо процесса в вычислительной системе. Для этого он обращается к ОС с помощью определенного системного вызова. ОС обрабатывает системный вызов, инициализирует операцию ввода-вывода, добавляет процесс в очередь процесса, дожидающегося освобождения устройства или возникновения события, далее, при необходимости сохранив нужную часть контекста в его РСВ, переводит процессы из состояния исполнения в ожидание.
Разблокирование процесса.
После возникновения в системе какого-либо события ОС проверяет, что именно произошло. Затем ОС проверяет, не находится ли какой процесс в состояние ожидания для выполнения события и при наличии переводит в состояние готовности, выполняя при этом все необходимые действия, не связанные с выполнением событий. Действия: инициализации операции ввода-вывода для очередного ожидающего процесса.
Переключение контекста.
Многозадачная ОС выполняет цепочку операций над различными процессами, переключая процессор с одного процесса на другой. Операция разблокирование процесса ожидающего ввода-вывода может быть представлена следующим образом:
1. При исполнении процессором некого процесса возникает прерывание от устройства ввода вывода, сигнализирующая об окончании операции над устройством. Над выполняющимся процессом выполняется операция приостановка.
2. ОС разблокирует процесс, инсценировавший процесс на ввод и осуществляет запуск приставленного или нового процесса, выбранного при выполнении планирования. Для корректного переключения процессором с одного процесса на другой, ОС должна сохранить контекст исполнявшегося контекста и восстановить контекст, на который будет переключен процессор. Такая структура сохранения или восстановления работоспособности процесса называется переключение контекста. Время затраты от одной до тысячи микросекунд. Повышает накладные расходы многозадачных ОС. Существенно сократить накладные расходы в современных ОС позволяет расширенная модель процессов, включающая в себя понятия нити threads.
Планирование и диспетчеризация процесса.
Для реализации многозадачности ОС выполняет планировании и диспетчеризацию потоков. Планирование - это определение момента времени для смены текущего потока, а так же выбора нового потока для выполнения. Диспетчеризация - это реализация найденного в ходе планирования решения. Планирование может быть динамическим, когда решения принимаются системой на основе анализа текущей ситуации, это характерно для универсальных ОС или статическим, если потоки запускаются на основе заранее составленного расписания. Это характерно для ОС реального времени.
Динамическое планирование.
В процесс динамического планирования реализуются различные классовые алгоритмы:
1. Вытесняющие (способ планирования потоков, при котором решение о переключение на другой поток принимается ОС) и не вытесняющие (активный поток выполняется до того момента, пока не передаст управление ОС) алгоритмы.
2. Алгоритмы квантования. С концепцией квантовая каждому потоку поочередно представляется непрерывный промежуток времени квант. Смена поток происходим в одном из четырех случаев:
1. Поток завершился.
2. Произошла ошибка.
3. Поток перешёл в состояние ожидания.
4. Исчерпан квант времени.
В процессе динамического планирования - приоритетные и не приоритетные. В основе приоритетных алгоритмов лежит понятия приоритета. Это специальное число, характеризующее привилегированность данного потока при использовании вычислительных ресурсов. Приоритет потока изначально связан с приоритетом процесса и устанавливается при его запуске. В течение работы приоритет может быть изменен, в зависимости от этого изменяется приоритетное время, выделяемое диспетчером ОС.
Система прерывания ОС.
Это средство, позволяющее ОС реагировать на внешние события, происходящие асинхронно вычислительному процессу. Относятся:
1. Сигналы готовности устройства ввода и вывода.
2. Аварийные сигналы.
3. Информация о завершение потока и др.
В зависимости от источника прерывания делятся на три класса:
1. Внешнее прерывание, связанное сигналами от внешних устройств.
2. Внутреннее прерывание как результат ошибок вычислений.
3. Программное прерывание как механизм вызова процедур ОС.
Для упорядочения процессов обработки прерывания все источники прерывания делятся по нескольким приоритетным уровням, пароль арбитра выполняет диспетчер прерываний ОС. Существует два основных способа выполнения прерывания:
1. Векторный - процессору передается номер вызываемой процедуры обработки прерывания.
2. Опрашиваемый - процессор последовательно опрашивает потенциальные источники процесса прерывания.
Системные вызовы.
Предназначены для обеспечения возможности обслуживания приложения со стороны ОС. Системные вызовы функционируют на основе прерывания. Они могут выполняться синхронно, когда поток приостанавливается до завершения системного вызова или асинхронно, когда поток продолжает работу параллельно с системной процедурой, реализующей вызов. Реализация системных вызовов должна удовлетворять следующим требованиям:
1. Обеспечить переключения в прилигированный режим.
2. Обеспечить высокую скорость вызова процедур ОС.
3. Обеспечить единообразное обращение к системным вызовам для всех аппаратных платформ, на которых работает ОС.
4. Допускать расширение набора системных вызовов.
5. Обеспечить контроль со стороны ОС за корректное использование системных вызовов.
Синхронизация процессов и потоков.
Для обеспечения синхронизации процессов и потоков, выполняющих общие задачи и совместно использующих общие ресурсы, в ОС используется специальный механизм:
1. Критические секции.
2. Сигналы.
3. Симофоры.
4. События.
5. Таймеры и др.
При отсутствии таких механизмов возможны нежелательные последствия, такие, как гонки и тупики. Гонка - это ситуация, при которой два или более потока разделяют обрабатываемые данные и конечный результат зависит от соотношения скоростей потока. Тупик - иначе взаимная блокировка - это возможность ситуации, при которой два и более потока взаимно блокируют действия друг друга.
Управление памятью.
Оперативная память - важнейший ресурс вычислительной системы, требующий управления со стороны ОС. Важность оперативной памяти обусловлена тем, что в ней хранятся и обрабатываются процессы и потоки. Память распределяется между приложениями и модулями самой ОС. Функции ОС по управлению оперативной памятью:
1. Отслеживание наличия свободной и занятой памятью.
2. Вытеснение кодов и данных из оперативной памяти на диск, когда размеров памяти недостаточно до размещения всех процессов и возвращения их обратно.
3. Настройка адресов программы на конкретную область физической памяти.
4. Защита выделенных областей памяти процессов от взаимного вмешательства.
Для индификации переменных и программ команды используются разные типы адресов:
1. Символьные - имена переменных, функций и т.д.
2. Виртуальный - условные числовые значения вырабатываемые компиляторами.
3. Физические - это адреса фактического размещения в оперативной памяти.
8. Виртуальное пространство
Совокупность виртуальных адресов называют виртуальных адресным пространством. Диапазон возможных адресов виртуального пространства у всех процессов одинаков. Совпадения виртуальных адресов различных процессов не приводит к конфликтам, поскольку ОС отображает их на различные физические адреса. Различные ОС по разному организуют виртуальное адресное пространство:
1. Линейная организация - пространство представляется непрерывной линейной последовательностью адресов, иначе плоская структура адресного пространства.
2. Сегментная организация - в этом случае помимо линейного адреса, может быть использован виртуальный адрес, представляющий собой сигмент или смещение.
В виртуальном адресном пространстве выделяют две непрерывные части.
1. Системная - для размещения общих для всей системы. Там размещаются коды и данные ядра операционной системы, а также другие служебные модули.
2. Пользовательская - для размещения кода и данных пользовательских программ.
Системная область включает в себя область, подвергаемую страничному вытеснению и область, на которую страничное вытеснение не распространяется. Системные процессы, требующие быстрой реакции или постоянного присутствия в памяти, размещаются в области, на которую не распространяется вытеснение. Остальные сегменты подвергаются вытеснению, как и их пользовательские приложения. Для ускорения доступа к данным используется принцип кеширования. В вычислительных системах существует иерархия запоминающих устройств:
1. Нижний уровень - емкая, но относительно медленная дисковая память.
2. Оперативная память.
3. Верхний уровень - сверх оперативная память процессорного кеша.
Каждый уровень играет роль кеша по отношению к нижележащему модулю. Каждая запись в кеш памяти об элементах данных включает в себя:
1. Значение элемента данных.
2. Адрес, который этот элемент данных имеет в основной памяти.
3. Дополнительную информация, которая используется для реализации алгоритма для замещения данных кеша и включает признак модификации и актуальности данных.
Планирование и диспетчеризация процесса.
Для реализации многозадачности ОС выполняет планирование и диспетчеризацию потоков. Планирование - это определение момента времени для смены текущего потока, а также выбора нового потока для выполнения. Диспетчеризация - это реализация найденного в ходе планирования решения. Планирование может быть динамическим, когда решения принимаются системой на основе анализа текущей ситуации, это характерно для универсальных ОС или статическим, если потоки запускаются на основе заранее составленного расписания. Это характерно для ОС реального времени.
Динамическое планирование.
В процессе динамического планирования реализуются различные классовые алгоритмы:
1. Вытесняющие (способ планирования потоков, при котором решение о переключение на другой поток принимается ОС) и не вытесняющие (активный поток выполняется до того момента, пока не передаст управление ОС) алгоритмы.
2. Алгоритмы квантования. С концепцией квантовая каждому потоку поочередно представляется непрерывный промежуток времени квант. Смена поток происходим в одном из четырех случаев:
1. Поток завершился.
2. Произошла ошибка.
3. Поток перешёл в состояние ожидания.
4. Исчерпан квант времени.
В процессе динамического планирования приоритетные и не приоритетные. В основе приоритетных алгоритмов лежит понятия приоритета. Это специальное число, характеризующее привилегированность данного потока при использовании вычислительных ресурсов. Приоритет потока изначально связан с приоритетом процесса и устанавливается при его запуске. В течение работы приоритет может быть изменен, в зависимости от этого изменяется приоритетное время, выделяемое диспетчером ОС.
Система прерывания ОС.
Это средство, позволяющее ОС реагировать на внешние события, происходящие асинхронно вычислительному процессу. Относятся:
1. Сигналы готовности устройства ввода и вывода.
2. Аварийные сигналы.
3. Информация о завершение потока и др.
Зависимости от источника прерывания делятся на три класса:
1. Внешнее прерывание, связанное сигналами от внешних устройств.
2. Внутреннее прерывание как результат ошибок вычислений.
3. Программное прерывание, как механизм вызова процедур ОС.
Для упорядочения процессов обработки прерывания, все источники прерывания делятся по нескольким приоритетным уровням, пароль арбитра выполняет диспетчер прерываний ОС. Существует два основных способа выполнения прерывания:
1. Векторный - процессор передает номер вызываемой процедуры обработки прерывания.
2. Опрашиваемый - процессор последовательно опрашивает потенциальные источники процесса прерывания.
Системные вызовы.
Предназначены для обеспечения возможности обслуживания приложения со стороны ОС. Системные вызовы функционируют на основе прерывания. Они могут выполняться синхронно, когда поток приостанавливается до завершения системного вызова или асинхронно, когда поток продолжает работу параллельно с системной процедурой, реализующей вызов. Реализация системных вызовов должна удовлетворять следующим требованиям:
1. Обеспечить переключения в прилигированный режим.
2. Обеспечить высокую скорость вызова процедур ОС.
3. Обеспечить единообразное обращение к системным вызовам для всех аппаратных платформ, на которых работает ОС.
4. Допускать расширение набора системных вызовов.
5. Обеспечить контроль со стороны ОС за корректное использование системных вызовов.
Синхронизация процессов и потоков.
Для обеспечения синхронизации процессов и потоков выполняющие общие задачи и совместно использующие общие ресурсы в ОС используется специальный механизм:
1. Критические секции.
2. Сигналы.
3. Симофоры.
4. События.
5. Таймеры и др.
При отсутствии таких механизмов возможны нежелательные последствия, такие как гонки и тупики. Гонка - это ситуация, при которой два или более потока разделяют обрабатываемые данные и конечный результат зависит от соотношения скоростей потока. Тупик - иначе взаимная блокировка - это возможность ситуации, при которой два и более потока взаимно блокируют действия друг друга.
Управление памятью.
Оперативная память - важнейший ресурс вычислительной системы требующий управление со стороны ОС. Важность оперативной памяти обусловлено тем, что в ней хранятся и обрабатываются процессы и потоки. Память распределяется между приложениями и модулями самой ОС. Функции ОС по управлению оперативной памятью:
1. Отслеживание наличия свободной и занятой памятью.
2. Вытеснение кодов и данных из оперативной памяти на диск, когда размеров памяти не достаточно до размещения всех процессов и возвращения их обратно.
3. Настройка адресов программы на конкретную область физической памяти.
4. Защита выделенных областей памяти процессов от взаимного вмешательства.
Для индификации переменных и программ команды используются разные типы адресов:
1. Символьные - имена переменных, функций и т.д.
2. Виртуальный - условные числовые значения вырабатываемые компиляторами.
3. Физические - это адреса фактического размещения в оперативной памяти.
Размещено на Allbest.ru
...Подобные документы
Основные понятия об операционных системах. Виды современных операционных систем. История развития операционных систем семейства Windows. Характеристики операционных систем семейства Windows. Новые функциональные возможности операционной системы Windows 7.
курсовая работа [60,1 K], добавлен 18.02.2012Основные понятия операционных систем. Современное оборудование компьютера. Преимущества и недостатки операционной системы Linux. Функциональные возможности операционной системы Knoppix. Сравнительная характеристика операционных систем Linux и Knoppix.
реферат [1,5 M], добавлен 17.12.2014Основные понятия операционных систем. Синхронизация и критические области. Сигналы и взаимодействие между процессами. Управление памятью. Драйверы устройств. Особенности современных операционных систем. Центральный процессор, микросхемы часов и таймеров.
учебное пособие [1,2 M], добавлен 24.01.2014Особенности современного этапа развития операционных систем. Назначение операционных систем, их основные типы. Операционные системы мини-компьютеров. Принцип работы матричного принтера, проектирование и воспроизведение произвольных символов для них.
курсовая работа [258,2 K], добавлен 23.06.2011Классификация систем реального времени. Ядра и операционные системы реального времени. Задачи, процессы, потоки. Преимущества и недостатки потоков. Свойства, планирование, синхронизация задач. Связанные задачи. Синхронизация с внешними событиями.
реферат [391,5 K], добавлен 28.12.2007История появления первых операционных систем, мультипрограммные операционные системы для мэйнфреймов. Первые локальные и глобальные сети. Развитие операционных систем в 80-е годы. Построение двумерных графиков в MathCAD, решение систем уравнений.
контрольная работа [559,1 K], добавлен 11.06.2014Разграничение прав пользователя в операционной системе. Предварительная настройка операционной системы с последующей установкой драйверов для периферийных устройств и системных комплектующих. Классификация операционных систем и периферийных устройств.
реферат [2,1 M], добавлен 26.10.2022Основные классификации операционных систем. Операционные системы семейства OS/2, UNIX, Linux и Windows. Разграничение прав доступа и многопользовательский режим работы. Пользовательский интерфейс и сетевые операции. Управление оперативной памятью.
реферат [22,8 K], добавлен 11.05.2011Важность операционной системы для мобильных устройств. Популярность операционных систем. Доля LINUX на рынке операционных систем. История OS Symbian, BlackBerry OS, Palm OS. Отличия смартфона от обычного мобильного телефона. Учет ограничений по памяти.
презентация [477,3 K], добавлен 01.12.2015Понятие операционной системы. История ее создания и развития. Разновидности современных операционных систем. Основные функции ОС общего и специального назначения. Вычислительные и операционные системы, их функции. Генерация операционной системы.
курсовая работа [46,8 K], добавлен 18.06.2009Назначение, классификация, состав и назначение компонентов операционных систем. Разработка сложных информационных систем, комплексов программ и отдельных приложений. Характеристика операционных систем Windows, Linux, Android, Solaris, Symbian OS и Mac OS.
курсовая работа [2,1 M], добавлен 19.11.2014Мониторинг эффективности операционных систем. Обеспечение программам возможности осуществлять обмен данными с внешними устройствами. Методы управления памятью в операционных системах. Основные различия между статическим и динамическим связыванием.
практическая работа [3,0 M], добавлен 17.05.2022Эволюция и классификация ОС. Сетевые операционные системы. Управление памятью. Современные концепции и технологии проектирования операционных систем. Семейство операционных систем UNIX. Сетевые продукты фирмы Novell. Сетевые ОС компании Microsoft.
творческая работа [286,2 K], добавлен 07.11.2007Понятие операционных систем, их классификация и разновидности, отличительные признаки и основные свойства. Содержание операционных систем, порядок взаимодействия и назначение их компонентов. Организация дискового пространства. Описание современных ОС.
контрольная работа [42,4 K], добавлен 07.11.2009Основные моменты истории операционных систем, связывающих аппаратное обеспечение и прикладные программы. Характеристика операционной системы Microsoft Windows Seven, анализ операционной системы Linux. Преимущества и недостатки каждой операционной системы.
курсовая работа [63,0 K], добавлен 07.05.2011История разработок и совершенствования операционных систем компании Microsoft, их характеристика и отличительные признаки от систем других марок, преимущества и недостатки. Современное состояние и возможности операционных систем Microsoft и перспективы.
реферат [22,6 K], добавлен 22.11.2009Использование операционных систем Microsoft Windows. Разработка операционной системы Windows 1.0. Возможности и характеристика последующих версий. Выпуск пользовательских операционных систем компании, доработки и нововведения, версии Windows XP и Vista.
реферат [23,3 K], добавлен 10.01.2012Назначение и основные функции операционных систем. Загрузка в оперативную память подлежащих исполнению программ. Обслуживание всех операций ввода-вывода. Эволюция, классификация операционных систем. Формирование ведомости зарплаты, сортировка по отделам.
курсовая работа [2,7 M], добавлен 17.03.2009Операционные системы пакетной обработки, разделения времени, реального времени. Особенности алгоритмов управления ресурсами. Поддержка многопользовательского режима. Вытесняющая и невытесняющая многозадачность. Операционные системы и глобальные сети.
реферат [55,0 K], добавлен 11.12.2011Сущность и принцип работы операционной системы, правила и преимущества ее использования. Возможности различных операционных систем, их сильные и слабые стороны. Сравнительная характеристика систем Unix и Windows NT, их потенциал и выполняемые задачи.
реферат [10,5 K], добавлен 09.10.2009