Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

samples / Stacionar / OS

.doc
Скачиваний:
20
Добавлен:
25.03.2015
Размер:
111.1 Кб
Скачать

1. Определения ОС

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

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

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

Функции ОС:

  • Распределение ресурсов

  • Организация мультипрограммных режимов

  • Разработка программ

  • Отладка программ

  • Выполнение программ

  • Управление (заданиями, задачами, данными памятью, процессами)

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

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

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

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

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

??? 2. Схема взаимодействия ядра персонального компьютера с пользователем

Режимы работы ОС:

  1. Режим пакетной обработки

  2. Диалоговый режим

  3. Режим разделения времени

  4. Режим реального времени

Категории пользователей ОС:

  1. Программисты (системные и проблемные)

  2. Операторы

  3. Инженеры

  4. Административные работники

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

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

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

Логические уровни общения человек-ЭВМ:

ЭВМ и ОС => системные программисты

Языки программирования и прикладные программы => проблемные программисты

3. Классификация операционных систем

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

1) Особенности алгоритмов управления ресурсами

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

2) Поддержка многозадачности

По этому признаку ОС делятся на однозадачные и многозадачные.

3) Поддержка многопользовательского режима

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

4) Вытесняющая и невытесняющая многозадачность

5) Поддержка многонитиевости

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

6) Многопроцессорная обработка

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

7) Особенности аппаратных платформ

На свойства ОС непосредственное влияние оказывают аппаратные средства, на которые она ориентирована. По типу аппаратуры различают ОС ПК, мини компьютеров, мейнфреймов, кластеров и сетей ЭВМ.

8) Особенности областей использования

Многозадачные ОС разделяют на 3 типа в соответствии с использованными при их разработке критериями эффективности:

  • Системы пакетной обработки

  • Системы разделения времени

  • Системы реального времени

9) Особенностей методов построения

При описании ОС часто указывают особенности ее структурной организации и основные концепции, положенные в ее основу. К основным концепциям относится:

  • Способы построения ядра системы (монолитное и микроядерное ядра)

  • Построение ОС на базе ООП (подхода)

  • Наличие нескольких прикладных сред дает возможность в рамках одной ОС одновременно выполнять приложения, разработанные для нескольких ОС

  • Распределенная организация ОС позволяет упростить работу пользователей и программистов в сетевых средах.

4. Особенности методов построения операционных систем

При описании ОС часто указывают особенности ее структурной организации и основные концепции, положенные в ее основу. К основным концепциям относится:

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

  • Построение ОС на базе ООП (подхода) дает возможность использовать все его достоинства, зарекомендовавшие себя на уровне приложений внутри ОС, а именно:

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

  • Наличие нескольких прикладных сред дает возможность в рамках одной ОС одновременно выполнять приложения, разработанные для нескольких ОС

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

5. Атрибуты и права доступа к файлу

В разных файловых системах могут использоваться в качестве атрибутов разные характеристики:

  • Информация о разрешенном доступе

  • Пароль для доступа к файлу

  • Владелец файла

  • Создатель файла признак только для чтения

  • Признак скрытого файла

  • Признак системного файла

  • Признак архивного файла

  • Признак двоичного или символьного файла

  • Признак временного файла

  • Признак блокировки

  • Длина записи

  • Указатель на ключевое поле в записи

  • Длина ключа

  • Время создания, последнего доступа и последнего изменения

  • Текущий размер файла

  • Максимальный размер файла

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

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

        создание файла,

        уничтожение файла;

        открытие файла,

        закрытие файла;

        чтение файла;

        запись в файл;

        дополнение файла;

        поиск в файле,

        получение атрибутов файла;

        установка новых значений атрибутов;

        переименование;

        выполнение файла;

        чтение каталога;

        смена владельца;

        изменение прав доступа.

6. Методы распределения памяти

  1. Без использования внешней памяти

  • Фиксированными разделами

  • Динамическими разделами

  • Перемещаемыми разделами

  • С использованием внешней памяти

    • Страничное распределение

    • Сегментное размещение

    • Сегментно-страничное распределение

    Распределение памяти фиксированными разделами

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

    Подсистема управления памятью, задачи:

    • Сравнив размер программы поступившей на выполнение , выбирает подходящий раздел

    • Загрузка программы и настройка адресов

    «+» - простота реализации

    «-» - жесткость, неэффективное использование памяти – даже маленькая программа занимает весь раздел

    Разделение памяти разделами переменной величины

    Память не делится на разделы. Сначала вся ОП свободна. Каждой вновь поступившей задаче выделяется необходимая ей память. Если достаточный объем памяти отсутствует, то задача не принимается и стоит в очереди.

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

    Задачи ОС в данном методе:

    • Ведение таблиц свободных и занятых областей

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

    • Загрузка задачи в выделенный ей раздел и корректировка таблиц свободных и занятых областей

    • После завершения задачи корректировка таблиц свободных и занятых областей

    «+» - гибкость

    «-» - фрагментация

    Перемещаемые разделы

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

    7. Файловая система в структуре операционной системы

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

    Понятие ФС включает:

    Совокупность всех файлов на диске

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

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

    8 Типы и имена файлов.

    Файл (File) в переводе с английского — это некая совокупность

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

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

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

    • Исполняемые файлы (программы).

    • Файлы конфигурации, содержащие параметры, необходимые для работы программы.

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

    • Документы — т. е. некие совокупности информации, создаваемые пользователем (или компьютером) с помощью программ.

    Как правило, пользователь непосредственно работает лишь с двумя

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

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

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

    противопоказано. Обычно расширение состоит из трех (редко — из четырех) букв и отделено от имени файла точкой.

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

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

    • Только для чтения (Read-Only) — а вот эти файлы всегда открыты. Но и только. Изменить их содержание нельзя — по крайней мере, без специального команды пользователя, дабы последний был полностью уверен в том, что именно он делает,

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

    • Архивный (Archive) Этот атрибут устанавливается обычно во время работы с файлом, при его изменении. По окончании сеанса работы он, как правило, снимается.

    9 Понятие виртуального ресурса и машины.

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

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

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

    — версия операционной системы;

    — собственная системно-независимая программа;

    — подсистема СВМ„ например подсистема диалоговой обработки (ПДО);

    — подсистема операционной системы, основанная на концепции ВМ.

    Пользователи отдельных ВМ полностью независимы.

    Система виртуальных машин решает проблемы «традиционных» операционных систем, упомянутые ранее.

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

    2. Пользователь имеет иллюзию обладания отдельной ЭВМ. В действительности же он обладает отдельной виртуальной машиной. Управляющая программа в большей степени «прозрачна».

    3. Виртуальная основная память позволяет снизить остроту проблемы «фрагментации» памяти.

    4. Уровень реального мультипрограммирования повышается. В результате возрастает интенсивность использования ресурсов, в первую очередь ЦП и оперативной т памяти.

    5. Виртуализация расширяет объем ресурсов, в первую очередь основной памяти.

    6. На одной реальной ЭВМ можно выполнить одновременно несколько операционных систем, их версий, подсистем, системно-независимых программ.

    10 Понятие и основные виды интерфейсов.

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

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

    Современными видами интерфейсов являются:

    1) Командный интерфейс. Командный интерфейс называется так по тому, что в этом виде интерфейса человек подает "команды" компьютеру, а компьютер их выполняет и выдает результат человеку. Командный интерфейс реализован в виде пакетной технологии и технологии командной строки.

    2) WIMP - интерфейс (Window - окно, Image - образ, Menu - меню, Pointer - указатель). Характерной особенностью этого вида интерфейса является то, что диалог с пользователем ведется не с помощью команд, а с помощью графических образов - меню, окон, других элементов. Хотя и в этом интерфейсе подаются команды машине, но это делается "опосредственно", через графические образы. Этот вид интерфейса реализован на двух уровнях технологий: простой графический интерфейс и "чистый" WIMP - интерфейс.

    3) SILK - интерфейс (Speech - речь, Image - образ, Language - язык, Knowlege - знание). Этот вид интерфейса наиболее приближен к обычной, человеческой форме общения. В рамках этого интерфейса идет обычный "разговор" человека и компьютера. При этом компьютер находит для себя команды, анализируя человеческую речь и находя в ней ключевые фразы. Результат выполнения команд он также преобразует в понятную человеку форму. Этот вид интерфейса наиболее требователен к аппаратным ресурсам компьютера, и поэтому его применяют в основном для военных целей.

    11 Состояния процессов в системах с абсолютными и относительными приоритетами.

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

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

    2) с абсолютным приоритетом. Всегда обслуживаются задачи с наивысшим приоритетом. Для реализации этой дисциплины при запросе на обработку процесса маскируются все процессы с низшим приоритетом. При этом возможно многоуровневое прерывание, т. е. прерывание программы обработки прерывания. Число уровней прерывания в этом режиме изменяется и зависит от приоритета запроса по принципу стека: LCFS – last come first served, т. е. запрос с более высоким приоритетом может прервать запрос с более низким приоритетом. При появлении запроса на прерывание система прерываний идентифицирует сигнал и если прерывания разрешены, то управление передается на соотв. программу обработки прерываний.

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

    12 Вытесняющие и невытесняющие алгоритмы планирования процессов.

    Существует два основных типа процедур планирования процессов - вытесняющие (preemptive) и невытесняющие (non-preemptive).

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

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

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

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

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

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

    13 Понятие критической секции при синхронизации процессов.

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

  • Соседние файлы в папке Stacionar