ОПРЕДЕЛЕНИЕ ОПЕРАЦИОННОЙ СИСТЕМЫ. МЕСТО ОС В ПРОГРАММНОМ ОБЕСПЕЧЕНИИ


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

Предоставление пользователю или программисту вместо реальной аппаратуры компьютера расширенной виртуальной машины, с которой удобней работать и которую легче программировать;

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

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

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

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

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

К числу основных ресурсов современных вычислительных систем могут быть отнесены такие ресурсы, как

Процессоры,

Основная память,

Таймеры,

Наборы данных,

Накопители на магнитных лентах,

Принтеры,

Сетевые устройства и др.

Ресурсы распределяются между процессами.

Программа - это статический объект, представляющий собой файл с кодами и данными.

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

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

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

Управление ресурсами включает решение следующих общих, не зависящих от типа ресурса задач (рис.2):

Планирование ресурса - то есть определение, какому процессу, когда и в каком количестве (если ресурс может выделяться частями) следует выделить данный ресурс;

Удовлетворение запросов на ресурсы;

Отслеживание состояния и учет использования ресурса - то есть поддержание оперативной информации о том, занят или свободен ресурс и какая доля ресурса уже распределена;

Разрешение конфликтов между процессами.

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

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


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

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

Подсистемы управления процессами,

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

Подсистемы управления файлами и внешними устройствами,

Подсистемы защиты данных и администрирования,

Интерфейс прикладного программирования,

Подсистемы пользовательского интерфейса.


Управление процессами

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

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

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

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

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

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

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

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

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

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

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

С 1990-х наиболее распространёнными операционными системами являются ОС семейства Microsoft Windows и системы класса UNIX (особенно Linux ).

Функции

Интерфейсные функции:

    Управление аппаратными средствами, устройствами ввода/вывода

    Файловая система

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

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

    Компьютерная сеть

Внутренние функции:

    Обработка прерываний

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

    Планировщик задач

    Буферы ввода-вывода

    Обслуживание драйверов устройств

Понятие операционной системы

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

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

Операционные системы, в свою очередь, нужны, если:

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

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

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

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

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

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

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

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

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

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

    системные библиотеки

    оболочку с утилитами .

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

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

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

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

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

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

1. Расположение ОС в общей структуре компьютера.

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

§ аппаратный уровень;

§ системный уровень;

§ программный уровень.

Билет №2 Понятие операционной системы. Классификация операционных систем

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

Без Операционной системы ПК функционировать не может.

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

WINDOWS 95, WINDOWS 98, WINDOWS ME, WINDOWS XP.

Состав Операционной системы:

1) Программный модуль, управляющий файлами.

2) Командный процессор (выполняет команды пользователя).

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

4) Графический модуль.

5) Справочная система.

6) Приложения.

Этапы загрузки Операционной системы:

1) Включение ПК.

2) Процессор обращается к ПЗУ за командами начальной загрузки.

3) Тестирование подключенных устройств.

4) Вывод характеристик найденных устройств.

5) Загружается Операционная система из внешней памяти (HDD) в оперативную.

6) Операционная система готова принимать задания от пользователя (Рабочий Стол).

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

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

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

Интерфейса пользователя и программно-аппаратными средствами компьютера (интерфейс пользователя);

Интерфейс между программным и аппаратным обеспечением (аппаратно-программный интерфейс);

Интерфейс между разными видами программного обеспечения (программный интерфейс).

Даже для одной аппаратной платформы IBM PC, существует несколько операционных систем. Различия между ними рассматривают в двух категориях: внутренних и внешних.

Внутренние различия характеризуются методами реализации основных функций.

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

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

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

К функции обслуживания файловой структуры относятся следующие операции, происходящие под управлением ОС:

Создание файлов и присвоение им имён;

Создание каталогов (папок) и присвоение им имён;

Переименование файлов и каталогов (папок);

Копирование и перемещение файлов между дисками компьютера и между каталогами (папками) одного диска;

Удаление файлов и каталогов (папок);

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

Управление атрибутами файлов и каталогов (папок).

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

ДОС (Дисковые Операционные Системы).

Это системы, берущие на себя выполнение только четырех функций:

обеспечивать загрузку пользовательских программ в оперативную память и их исполнение (этот пункт не относится к ОС, предназначенным для прошивки в ПЗУ);

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

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

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

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

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

Дисковая операционная система MS DOS для IBM PC-совместимых машин является прямым наследником одного из таких резидентных мониторов.

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

ОС общего назначения.

К этому классу относятся системы, берущие на себя выполнение всех вышеперечисленных функций. Разделение на ОС и ДОС идет, по-видимому, от систем IBM DOS/360 и OS/360 для больших компьютеров этой фирмы, клоны которых известны у нас в стране под названием ЕС ЭВМ серии 10ХХ. (Кстати, у IBM была еще TOS/360, Tape Operating System - Ленточная Операционная Система).

Здесь под ОС подразумеваются системы «общего назначения», т. е. рассчитанные на интерактивную работу одного или нескольких пользователей в режиме разделения времени, при не очень жестких требованиях ко времени реакции системы на внешние события. Как правило, в таких системах уделяется большое внимание защите самой системы, программного обеспечения и пользовательских данных от ошибочных и злонамеренных программ и пользователей. Обычно подобные системы используют встроенные в архитектуру процессора средства защиты и виртуализации памяти. К этому классу относятся такие широко распространенные системы, как Windows 2000, системы семейства Unix.

ОС реального времени.

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

ОС промежуточных типов.

Существуют системы, которые нельзя отнести к одному из вышеперечисленных классов. Такова, например, система RT-11, которая, по сути своей, является ДОС, но позволяет одновременное исполнение нескольких программ с довольно богатыми средствами взаимодействия и синхронизации. Другим примером промежуточной системы являются MS Windows 3.x и Windows 95, которые, как ОС, используют аппаратные средства процессора для защиты и виртуализации памяти и даже могут обеспечивать некоторое подобие многозадачности, но не защищают себя и программы от ошибок других программ, подобно ДОС.

Системы виртуальных машин.

Такие системы стоят несколько особняком. Система виртуальных машин - это ОС, допускающая одновременную работу нескольких программ, но создающая при этом для каждой программы иллюзию того, что машина находится в полном ее распоряжении, как при работе под управлением ДОС. Зачастую, «программой» оказывается полноценная операционная система - примерами таких систем являются VMWare для машин с архитектурой iх86 или VM для System/370 и её потомков.

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

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

  • 12. Классическая архитектура ОС. Монолитные и многослойные ОС.
  • 13. Микроядерная архитектура ОС.
  • 14. Многослойная модель ядра ОС.
  • 15. Функции ОС по управлению процессами.
  • 16. Процессы и потоки.
  • 17. Состояния потока.
  • 18. Планирование и диспетчеризация потоков, моменты перепланировки.
  • 19. Алгоритм планирования, основанный на квантовании.
  • 20. Приоритетное планирование.
  • 21. Алгоритмы планирования ОС пакетной обработки: «первым пришел – первым обслужен», «кратчайшая задача – первая», «наименьшее оставшееся время выполнения».
  • 22. Алгоритмы планирования в интерактивных ОС: циклическое, приоритетное, гарантированное, лотерейное, справедливое планирование.
  • 23. Алгоритм планирования Windows NT.
  • 24. Алгоритм планирования Linux.
  • 25. Планирование в ОС реального времени.
  • 26. Синхронизация процессов и потоков: цели и средства синхронизации.
  • 27. Ситуация состязаний (гонки). Способы предотвращения.
  • 28. Способы реализации взаимных исключений: блокирующие переменные, критические секции, семафоры Дейкстры.
  • 29. Взаимные блокировки. Условия, необходимые для возникновения тупика.
  • 30. Обнаружение взаимоблокировки при наличии одного ресурса каждого типа.
  • 31. Обнаружение взаимоблокировок при наличии нескольких ресурсов каждого типа.
  • 32. Предотвращение взаимоблокировки. Алгоритм банкира для одного вида ресурсов.
  • 33. Предотвращение взаимоблокировки. Алгоритм банкира для нескольких видов ресурсов.
  • 34. Синхронизирующие объекты ОС: системные семафоры, мьютексы, события, сигналы, ждущие таймеры.
  • 35. Организация обмена данными между процессами (каналы, разделяемая память, почтовые ящики, сокеты).
  • 36. Прерывания (понятие, классификация, обработка прерываний).
  • 37. Обработка аппаратных прерываний
  • 38. Функции ОС по управлению памятью.
  • 39. Виртуальная память.
  • 41. Страничное распределение памяти.
  • 42. Таблицы страниц для больших объемов памяти.
  • 43. Алгоритмы замещения страниц.
  • 44. Сегментное распределение памяти.
  • 46. Средства поддержки сегментации памяти в МП Intel Pentium.
  • 47. Сегментный режим распределения памяти в МП Intel Pentium.
  • 49. Средства защиты памяти в МП Intel Pentium.
  • 51. Случайное отображение основной памяти на кэш.
  • 52. Детерминированное отображение основной памяти на кэш.
  • 55. Кэширование в МП Intel Pentium. Кэш первого уровня.
  • 56. Задачи ОС по управлению файлами и устройствами.
  • 58. Физическая организация жесткого диска.
  • 59. Файловая система. Определение, состав, типы файлов. Логическая организация файловой системы.
  • 60. Физическая организация и адресация файлов.
  • 61. FAT. Структура тома. Формат записи каталога. FAT12, FAT16, FAT32.
  • 62. UFS: структура тома, адресация файлов, каталоги, индексные дескрипторы.
  • 64. NTFS: типы файлов, организация каталогов.
  • 65. Файловые операции. Процедура открытия файла.
  • 66. Организация контроля доступа к файлам.
  • 68. Отказоустойчивость файловых систем.
  • 69. Процедура самовосстановления NTFS.
  • 70. Избыточные дисковые подсистемы RAID.
  • 71. Многоуровневые драйверы.
  • 72. Дисковый кэш.
  • 73. Классификация угроз ВС.
  • 74. Системный подход к обеспечению безопасности.
  • 75. Шифрование.
  • 76. Аутентификация, авторизация аудит.
  • 77. Показатели эффективности ОС
  • 78. Настройка и оптимизация ОС.
  • Список вопросов к экзамену по дисциплине ОС 2013/14 уч. Год 1. Определение ОС. Назначение и функции операционной системы.

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

    Предоставление пользователю вместо реальной аппаратуры виртуальной машины (виртуальной аппаратуры);

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

    ресурсов.

    Ресурсы: память, процессорное время, устройства ввода\вывода.

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

    2. Место ОС в структуре вычислительной системы.

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

    Рисунок 1. Структура вычислительной системы

    Прикладные программы

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

    Управление логическими устройствами

    Управление физическими устройствами

    Аппаратные средства

    Таблица 1. Вычислительная система

    Аппаратные средства – нижний уровень - это аппаратура, то, что делается из металла, пластика и прочих материалов, используемых для производства «железа» компьютера.

    Управление физическими устройствами осуществляют программы, ориентированные на качества и свойства аппаратуры, взаимодействующие с аппаратными структурами, знающие «язык» аппаратуры.

    Реактивность (гарантированное время реакции системы на то или иное событие)

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

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

    Интерактивные ОС (ОС разделения времени)

    ОС реального времени

    Класс ОС

    ОС пакетной обработки

    Удобство работы пользователя

    Критерии эффективности и классы ОС.

    разрешение конфликтов между процессами

    отслеживание состояния и учёт использования ресурса

    удовлетворение запросов на ресурсы

    планирование ресурса (когда, кому и в каком объёме)

    например, компакт-диск)

    Управление ресурсами включает в себя решение следующих задач:

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

    Система программирования – это комплекс программ для поддержки всего технологического цикла разработки программного обеспечения.

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

    3. Понятие ресурса. Управление ресурсами в вычислительной системе.

    Ресурс – всякий объект, который может распределяться внутри ОС.

    процессоры (процессорное время)

    периферийные устройства (диски, таймеры, наборы данных, принтеры, сетевые устройства и

    Ресурсы могут быть:

    разделяемые (несколько процессов используют их одновременно) и неделимые

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

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

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

    5. Эволюция ОС.

    Первый период (1945 -1955). В середине 40-х были созданы первые ламповые вычислительные устройства (в США и Великобритании), в СССР первая ламповая вычислительная машина появилась в 1951 году. Программирование осуществлялось исключительно на машинном языке. Элементная база – электронные лампы и коммуникационные панели. Операционных систем не было, все задачи организации вычислительного процесса решались вручную программистом с пульта управления. Системное программное обеспечение - библиотеки математических и служебных подпрограмм.

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

    Третий период (1965 - 1975). Переход к интегральным микросхемам. Создание семейств программно-совместимых машин (серия машин IBM System/360, советский аналог - машины серии ЕС). В этот период времени были реализованы практически все основные концепции, присущие современным ОС: мультипрограммирование, мультипроцессирование, многотерминальный режим, виртуальная память, файловая система, разграничение доступа и сетевая работа. В процессорах появился привилегированный и пользовательский режим работы, специальные регистры для переключения контекстов, средства защиты областей памяти и система прерываний. Другое нововведение - спулинг (spooling). Спулинг в то время определялся как способ организации вычислительного процесса, в соответствии с которым задания считывались с перфокарт на диск в том темпе, в котором они появлялись в помещении вычислительного центра, а затем, когда очередное задание завершалось, новое задание с диска загружалось в освободившийся раздел. Появился новый тип ОС - системы разделения времени. В конце 60-х годов начаты работы по созданию глобальной сети ARPANET, ставшей отправной точкой для Интернета. К середине 70-х годов широкое распространение получили мини-компьютеры. Их архитектура была значительно упрощена по сравнению с мейнфреймами, что нашло отражение и в их ОС. Экономичность и доступность мини-компьютеров послужила мощным стимулом к созданию первых локальных сетей. С середины 70-х годов началось массовое использование ОС UNIX. В конце 70-х был создан рабочий вариант протокола TCP/IP, в 1983 году он был стандартизирован.

    Четвертый период (1980 - настоящее время). Следующий период в эволюции операционных систем связан с появлением больших интегральных схем (БИС). В эти годы произошел резкий рост степени интеграции и удешевление микросхем. Наступила эра персональных компьютеров. Компьютеры стали широко использоваться неспециалистами. Реализован графический интерфейс пользователя (GUI - Graphical User Interface), теория которого была разработана еще в 60-е годы. С

    1985 года стала выпускаться Windows, это была графическая оболочка MS-DOS вплоть до 1995г., когда вышла полноценная ОС Windows 95. IBM и Microsoft совместно разработали операционную систему OS/2. Она поддерживала вытесняющую многозадачность, виртуальную память, графический пользовательский интерфейс, виртуальную машину для выполнения DOS-приложений. Первая версия вышла 1987 г. В дальнейшем Microsoft отказалась от OS/2 и приступила к разработке Windows NT. Первая версия вышла в 1993г.

    В 1987г. была выпущена операционная система MINIX (прототип LINUX), она была построена по принципу микроядерной архитектуры.

    В 80-е годы были приняты основные стандарты на коммуникационное оборудование для локальных сетей: в 1980 году –Ethernet, в 1985 – Token Ring, в конце 80-х – FDDI. Это позволило обеспечить совместимость сетевых ОС на нижних уровнях, а также стандартизировать интерфейс ОС с драйверами сетевых адаптеров.

    В 90-е годы практически все ОС стали сетевыми. Появились специализированные ОС, предназначенные исключительно для решения коммуникационных задач (IOS компании Cisco Systems). Появление службы World Wide Web (WWW) в 1991 году придало мощный импульс развитию популярности Интернета. Развитие корпоративных сетевых операционных систем выходит на первый план. Возобновляется развитие ОС мейнфреймов. В 1991г. была выпущена LINUX. Чуть позже вышла FreeBSD (основой для нее послужила BSD UNIX).

    6. Современный этап развития ОС.

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

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

    7. Функциональные компоненты ОС персонального компьютера.

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

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

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

    4) Защита данных и администрирование: защита от сбоев аппаратуры (резервирование), ошибки ПО, защита от несанкционированного доступа, процедура логического входа (аутентификация), подтверждение прав доступа (авторизация), средства аудита

    5) Прикладной программный интерфейс

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

    Для начала нам необходимо понять, что такое операционная система и для чего она предназначена.

    Операцио́нная систе́ма , сокр. ОС (англ. operating system, OS) - комплекс взаимосвязанных программ, предназначенных для управления ресурсами компьютера и организации взаимодействия с пользователем. (Википедия)

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

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

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

    Виды операционных систем

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

    Существуют три основные и самые популярные операционные системы:

    1. Microsoft Windows (Microsoft – это фирма, выпускающая эту систему, а Windows (виндовс), в переводе с английского, означает – окна):

    2. Apple Mac Os X (сокращенно ее называют Mac, а Apple – это фирма (в переводе с английского, означает — яблоко);

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

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

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

    Вот список ОС Windows:

    1. Windows 1.0 (1985)
    2. Windows 2.0 (1987)
    3. Windows 3.0 (1990)
    4. Windows 3.1 (1992)
    5. Windows for Workgroups 1/3.11

    Семейство Windows 9x, в которых уже могли работать такие, как мы с вами:

    1. Windows 95 (1995)
    2. Windows 98 (1998)
    3. Windows ME (2000)

    Семейство Windows NT

    1. Windows NT 3.1 (1993)
    2. Windows NT 3.5 (1994)
    3. Windows NT 3.51 (1995)
    4. Windows NT 4.0 (1996)
    5. Windows 2000 - Windows NT 5.0 (2000)
    6. Windows XP - Windows NT 5.1 (2001)
    7. Windows XP 64-bit Edition - Windows NT 5.2 (2003)
    8. Windows Server 2003 - Windows NT 5.2 (2003)
    9. Windows XP Professional x64 Edition - Windows NT 5.2 (2005)
    10. Windows Vista - Windows NT 6.0 (2006)
    11. Windows Home Server - Windows NT 5.2 (2007)
    12. Windows Server 2008 - Windows NT 6.0 (2008)
    13. Windows Small Business Server - Windows NT 6.0 (2008)
    14. Windows 7 - Windows NT 6.1 (2009)
    15. Windows Server 2008 R2 - Windows NT 6.1 (2009)
    16. Windows Home Server 2011 - Windows NT 6.1 (2011)
    17. Windows 8 - Windows NT 6.2 (2012)
    18. Windows Server 2012 - Windows NT 6.2 (2012)
    19. Windows 8.1 - Windows NT 6.3 (2013)
    20. Windows Server 2012 R2 - Windows NT 6.3 (2013)
    21. Windows 10 - Windows NT 10.0 (2015)

    Семейство ОС для смартфонов.