Домой / Игры / Какие функции выполняет операционная система? Понятие операционной системы(ОС). Назначение, основные функции и разновидности ОС

Какие функции выполняет операционная система? Понятие операционной системы(ОС). Назначение, основные функции и разновидности ОС

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

А)собственнике (владельце) системы

Б) потребителе информации

В) разработчике системы

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

А) на собственнике (владельце) системы

Б) на разработчике системы

В) на потребителе информации

Что не является операционной системой?

В) Ехсеl

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

А) размера экрана дисплея

Б) частоты процессора

В) напряжения питания

В) быстроты нажатия на клавиши

Какое устройство может оказывать вредное воздействие на здоровье человека?

А) Принтер

Б) Монитор

В) Системный блок

Файл - это...

А) единица измерения информации

Б) текст, распечатанный на принтере

В) программа или данные на диске

Какое устройство обладает наименьшей скоростью обмена информацией?

А) CD-ROM дисковод

Б) жесткий диск

В) дисковод для гибких дисков

Г) микросхемы оперативной памяти

Заражение компьютерными вирусами может произойти в процессе

А) печати на принтере

Б) работы с файлами

В) форматирования дискеты

Г) выключения компьютера

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

А) удаленный доступ по коммутируемому телефонному каналу

Б) постоянное соединение по оптоволоконному каналу

В) постоянное соединение по выделенному телефонному каналу

Гипертекст - это

А) очень большой текст

Б) текст, в котором используется шрифт большого размера

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

Электронная почта (e-mail) позволяет передавать...

А) только сообщения

Б) только файлы

В) сообщения и приложенные файлы

19. Задан адрес электронной почты в сети Интернет: [email protected]. Каково имя владельца этого электронного адреса?

Б) minzdravsoc.ru

В) user_name

Браузеры (например, Microsoft Internet Explorer) являются...

А) средством просмотра web-страниц

Б) серверами Интернета

В) антивирусными программами

Основным элементом электронных таблиц является...

А) ячейка

Б) строка

В) столбец

Г) таблица

22. Задан адрес электронной почты в сети Интернет: [email protected] Каково доменное имя, на котором хранится почта?

Б) user_name@ minzdravsoc.ru

Г)minzdravsoc.ru

А) на любую web-страницу любого сервера Интернета

Б) на любую web-страницу в пределах данного домена

В) на любую web-страницу данного сервера

Г) в пределах данной web-страницы

Компьютер, подключенный к Интернету, обязательно имеет...

А) IP – адрес

Б) web-сервер

В) домашнюю web-страницу

В) доменное имя

Модем - это...

А) почтовая программа

Б) сетевой протокол

В) сервер Интернета

Г) техническое устройство

26. Задан адрес электронной почты в сети Интернет: [email protected] . Каково имя домена верхнего уровня?

Б) minzdrasoc.ru

Какие функции выполняет операционная система?

А) обеспечение организации и хранения файлов

Б) подключения устройств ввода/вывода

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

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

28. Информационная система учреждения предназначена:

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

Б) для поиска и выдачи информации по запросу пользователя

29. Информационно-справочные системы предназначены:

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

Б) для поиска и выдачи информации по запросу пользователя

30. Единое информационное пространство:

А) информационная система, предназначенная для автоматизации всего технологического процесса деятельности специалиста

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

31. Компоненты единого информационного пространства:

А) информационный

Б) организационно-управленческий

В) кадровый

Г) программно-технический

32. Программно-технический компонент единого информационного пространства:

А) выработка единой системной программной политики

Б) формирование баз единой информации на всех уровнях информационного обмена

33. Организационно-управленческий компонент единого информационного пространства:

А) унификация формирования и функционирования информационно-аналитических подразделений и служб

Б) выработка единой системной программной политики

В) разработка и внедрение типовых взаимоувязанных по уровням схем информационного обеспечения управления

Принципы создания АРМ

А) гибкость

Б) системность

В) устойчивость

Г) эффективность

Д) верно все

35. Принцип гибкости при создании АРМ, это:

А)возможность приспособления АРМ к предполагаемой модернизации, как программного обеспечения, так и технических средств

Б) заключается в выполнении заложенных в АРМ функций, независимо от воздействия как внутренних, так и внешних факторов

36. Принцип устойчивости при создании АРМ, это:

А) возможность приспособления АРМ к предполагаемой модернизации как программного обеспечения, так и технических средств.

Б) заключается в выполнении заложенных в АРМ функций, независимо от воздействия как внутренних, так и внешних факторов

37. Информационная система:

А) совокупность взаимосвязанных аппаратно-программных средств, предназначенных для ввода информации

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

38. Требования к АРМ:

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

Б) минимальное время ответа на запросы пользователя

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

Г) надежность и простота обслуживания

Д) невозможность работы в составе вычислительной сети

39. Компоненты глобальной информационной сети Интернет:

А) аппаратный

Б) программный

В) информационный

Г) кадровый

40. Аппаратный компонент Интернета представлен:

В) представлен сетевыми документами, то есть документами, хранящимися на компьютерах, подключенных к сети

41. Программный компонент Интернета представлен:

А) программными продуктами, обеспечивающими слаженную и совместная работу технически несовместимого оборудования на компьютерах, входящих в сеть

Б) компьютерами самых разных моделей и систем, а так же линиями связи любой физической природы

В) сетевыми документами, то есть документами, хранящимися на компьютерах,подключенных к сети

42. Информационный компонент Интернета представлен:

А) программными продуктами, обеспечивающими слаженную и совместная работу технически несовместимого оборудования на компьютерах, входящих в сеть

Б) компьютерами самых разных моделей и систем, а так же линиями связи любой физической природы

В) сетевыми документами, то есть документами, хранящимися на компьютерах, подключенных к сети

©2015-2019 сайт
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-04-26

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

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

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

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

Основные функции операционных систем:

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

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

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

Пользовательский интерфейс.

Сетевые операции, поддержка стека протоколов.

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

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

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

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

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


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

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

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

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

Наиболее распространенными операционными системами являются:

Mac OS – операционная система корпорации Apple.

OS/2 - операционная система фирмы IBM.

Windows - операционная система корпорации Microsoft.

Linux - общее название Unix-подобных операционных систем на основе одноимённого ядра и собранных для него библиотек и системных программ, разработанных в рамках проекта GNU.

Билет 1

Понятие ОС. Основные функции ОС.

Причины развития ОС.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2) Главные цели разработчиков операционной системы:

· Эффективное использование всех компьютерных ресурсов.

· Повышение производительности труда программистов.

· Простота, гибкость, эффективность и надежность организации вычислительного процесса.

· Обеспечение независимости прикладных программ от аппаратного обеспечения (АО).

Билет2

Системное ПО. Состав системного ПО.

Билет 3

Система управления файлами.

Классификация ОС.

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

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

однозадачные (например, MS-DOS, MSX) и

многозадачные (OC EC, OS/2, UNIX, Windows 95).

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

однопользовательские (MS-DOS, Windows 3.x, ранние версии OS/2);

многопользовательские (UNIX, Windows NT).

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

невытесняющая многозадачность (NetWare, Windows 3.x);

вытесняющая многозадачность (Windows NT, OS/2, UNIX).

Основным различием между вытесняющим и невытесняющим вариантами многозадачности является степень централизации механизма планирования процессов. В первом случае механизм планирования процессов целиком сосредоточен в операционной системе, а во втором - распределен между системой и прикладными программами. При невытесняющей многозадачности активный процесс выполняется до тех пор, пока он сам, по собственной инициативе, не отдаст управление операционной системе для того, чтобы та выбрала из очереди другой готовый к выполнению процесс. При вытесняющей многозадачности решение о переключении процессора с одного процесса на другой принимается операционной системой, а не самим активным процессом.
Поддержка многонитевости. Важным свойством операционных систем является возможность распараллеливания вычислений в рамках одной задачи. Многонитевая ОС разделяет процессорное время не между задачами, а между их отдельными ветвями (нитями).
Многопроцессорная обработка. Другим важным свойством ОС является отсутствие или наличие в ней средств поддержки многопроцессорной обработки - мультипроцессирование . Мультипроцессирование приводит к усложнению всех алгоритмов управления ресурсами.
В наши дни становится общепринятым введение в ОС функций поддержки многопроцессорной обработки данных. Такие функции имеются в операционных системах Solaris 2.x фирмы Sun, Open Server 3.x компании Santa Crus Operations, OS/2 фирмы IBM, Windows NT фирмы Microsoft и NetWare 4.1 фирмы Novell.
Многопроцессорные ОС могут классифицироваться по способу организации вычислительного процесса в системе с многопроцессорной архитектурой: асимметричные ОС и симметричные ОС. Асимметричная ОС целиком выполняется только на одном из процессоров системы, распределяя прикладные задачи по остальным процессорам. Симметричная ОС полностью децентрализована и использует весь пул процессоров, разделяя их между системными и прикладными задачами.

Билет 4

Интерфейсные оболочки. Операционная среда. Эмулятор.

Билет 5

Билет 6

Билет 7

Сервисы, предоставляемые ОС.

Что такое контекст задачи?

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

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

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

4) контролируем доступ к файлам . При работе с файлами, управление его стороны операционной системы предназначено не только понимание природы устройств ввода/вывода и знание структур данных записанные в файлах. Многопользовательские операционные системы, кроме того, обеспечивают работу механизмов защиты при обращении к файлам;

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

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

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

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

Билет 8

Вычислительный ресурс.

?Системные и прикладные программные модули.

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

Типы вычислительных ресурсов :

1.Процессорное время

2.Память (оперативная и виртуальная)

3.Место на жёстком диске (постоянная память)

4.Пропускная способность сети.

Программный модуль - согласно ГОСТ 19781-90 - программа или функционально завершенный фрагмент программы, предназначенный для:

1)хранения;
2) трансляции;

3) объединения с другими программными модулями;

4) загрузки в оперативную память.

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

Билет 9

Билет 10

Билет 11

Граф состояний процесса.

Регистры процессора .

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

1)либо он заканчивает свою деятельность;

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

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

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

Регистры в процессоре выполняют 2 ф-ии:

Адресные регистры.

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

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

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

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

Управляющие регистры. Регистры состояния.

Некоторые регистры доступны для команд исполняемых в режиме управления (режим ОС или режим супервизора).

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

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

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

Билет 12

Дескриптор процесса.

Билет 13

Дескриптор ОС РВ.

Билет 14

Процессы и потоки.

Билет 15

ОС как диспетчер ресурсов.

1)

2) Компьютер представляет собой набор ресурсов, поддерживающих выполнение задач, накопление, хранение, перемещение и обработки данных, также контролирует работу этих и других функций. Именно операционная система управляет ресурсами компьютера и контролирует его основные функции. Однако это управление имеет следующие особенности: 1) функции операционной системе работают так же, как и всё остальное программное обеспечение, т.е. они реализуются в виде отдельных программ или набора программ, исполняющихся процессов; 2) операционная система должна передавать управление другими процессами и ожидать, когда процессор снова позволит ей выполнить свои обязанности. Операционная система – это, по сущности, набор компьютерных программ, как и любая другая программа, она отдаёт процессору команды. Ключевым отличием является назначение этой программы. Операционная система //способна//: как использовать другие системные ресурсы, и как распределять время при использовании других программ, но для этого процессор должен приостановить работу с ней и перейти к выполнению других программ. Таким образом, операционная система уступает управление процессору, чтобы он смог выполнить некоторую полезную работу, а затем возобновляет контроль ровно на столько, чтобы подготовить процессор к следующей части работы. Часть операционной системы находится в оперативной памяти (основная, базовая). В эту часть входят ядро (Kernel ), содержащее основную часть наиболее часто используемых функций, там же находятся и некоторые другие компоненты операционной системы, использующиеся в данный момент времени. Остальная часть содержит другие программы и данные пользователя. Размещение этих данных в оперативной памяти управляется совместно операционной системой и аппаратной частью процессора, предназначенной для управления памятью. Операционная система принимает решение, когда исполняющая программа может испортить нужные ей устройства ввода/вывода и управляет доступом к файлам Процессор также является ресурсом, которому операционная система должна определить, сколько времени он должен уделить исполнению той или иной пользовательской программы. Многопроцессорные системы: решение должно быть принято по каждому процессу.

Билет 16

Билет 17

Билет 18

Взаимоблокировка процессов.

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

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

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

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

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

Ресурсы бывают выгружаемые и невыгружаемые, аппаратные и программные.

Выгружаемый ресурс - этот ресурс безболезненно можно забрать у процесса (например: память).

Невыгружаемый ресурс - этот ресурс нельзя забрать у процесса без потери данных (например: принтер).

Проблема взаимоблокировок процессов возникает при борьбе за невыгружаемый ресурсы.

Условия необходимые для взаимоблокировки:

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

Условие удержания и ожидания - процесс, удерживающий ресурс может запрашивать новые ресурсы.

Условие отсутствия принудительной выгрузки ресурса.

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

Билет 19

Структура ОС: экзоядро.

Сформулируйте требования к созданию потоков в прикладной программе.

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

Билет 20

Многопоточный Web-сервер

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

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

Клиент, которым обычно является веб-браузер, передаёт веб-серверу запросы на получение ресурсов, обозначенных URL-адресами. Ресурсы - это HTML-страницы, изображения, файлы, медиа-потоки или другие данные, которые необходимы клиенту. В ответ веб-сервер передаёт клиенту запрошенные данные. Этот обмен происходит по протоколу HTTP.

Билет 21

Прерывание и цикл команд

1) Систе́ма виртуа́льных маши́н (СВМ) - операционная система для ЕС ЭВМ, аналог системы VM фирмы IBM.

Основные особенности СВМ.

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

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

Цикл команд.

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

Билет 22

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

Модели потока

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

Модуль характеризуют:

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

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

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

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

Размер и сложность программного элемента в разумных рамках.

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

2) В компьютерных науках пото́к выполне́ния (англ. Thread - нить) является наименьшей единицей обработки, исполнение которой может быть назначено операционной системой. Реализация потоков выполнения и процессов в разных операционных системах отличается друг от друга, но в большинстве случаев поток выполнения находится внутри процесса. Несколько потоков выполнения могут существовать в рамках одного и того же процесса и совместно использовать ресурсы, такие как память, тогда как процессы не разделяют этих ресурсов. В частности, потоки выполнения разделяют инструкции процесса (его код) и его контекст (значения переменных, которые они имеют в любой момент времени). В качестве аналогии потоки выполнения процесса можно уподобить нескольким вместе работающим поварам. Все они готовят одно блюдо, читают одну и ту же кулинарную книгу с одним и тем же рецептом и следуют его указаниям, причём не обязательно все они читают на одной и той же странице.

Билет 23

Классификация ресурсов

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


Прерывания в основном предназначены для повышения эффективности работы. Например, большинство устройств ввода-вывода работают намного медленнее, чем процессор. Предположим, что процессор передает данные на принтер по схеме, показанной рис. 1.2. После каждой операции процессор вынужден делать паузу и ждать, пока принтер не примет данные. Длительность этой паузы может быть в сотни и даже тысячи раз больше длительности цикла команды, в которой участвуют обращения к памяти. Ясно, что подобное использование процессора является неэффективным. Такое положение дел проиллюстрировано на рис. 1.5,а. Программа пользователя содержит ряд вызовов процедуры записи WRITE, в промежутках между которыми расположены другие команды. В отрезках 1, 2 и 3 находятся последовательности команд кода, в которых не используется ввод-вывод. При вызове процедуры WRITE управление передается системной утилите ввода-вывода, которая выполняет соответствующие операции. Программа ввода-вывода состоит из трех частей. Последовательность команд, обозначенных на рисунке цифрой 4, которые служат для подготовки к собственно операциям ввода-вывода. В эту последовательность могут входить копирование выводимых данных в специальный буфер и подготовка набора параметров, необходимых для управления устройством. Собственно команды ввода-вывода. Если программа не использует прерываний, ей следует ждать, пока устройство ввода-вывода не выполнит требуемые операции (или периодически проверять его состояние путем опроса). При этом программе не остается ничего другого, как просто ждать, постоянно проверяя, завершилась ли операция ввода-вывода. Последовательность команд, обозначенных на рисунке цифрой 5, которые служат для завершения операции. Эта последовательность может содержать в себе установку флагов, свидетельствующих об успешном или неудачном завершении операции.

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

2) Термин «ресурс» обычно применяется по отношению к неоднократно используемым, относительно стабильным и «дефицитным» объектам, которые запрашиваются, используются и освобождаются процессами в период их активности. Другими словами, ресурсом является любой объект, который может распределяться внутри системы. Ресурсы могут быть разделяемыми , когда несколько процессов могут их использовать одновременно (в один и тот же момент времени) или параллельно(в течение некоторого интервала времени процессы используют ресурс попеременно), а могут быть и неделимыми.

Билет 24

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

Супервизор ОС

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

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

На современных ПК обработчики основных аппаратных и программных прерываний находятся в памяти BIOS. Современная операционная система, во время своей загрузки, заменяет эти обработчики своими. При загрузке драйверов устройств, операционная система распределяет управление обработкой прерывания между ними. В операционных системах семейства Windows программные прерывания используются для вызовов многих API функций. В ассемблере X86 прерывание вызывается командой int.

2) Управление вводом-выводом осуществляется компонентом операционной системы, который часто называют супервизором ввода-вывода. Перечислим основные задачи, возлагаемые на супервизор.

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

2) Супервизор ввода-вывода получает запросы на ввод-вывод от супервизора задач или от программных модулей самой операционной системы.

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

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

5) При получении сигналов прерываний от устройств ввода-вывода супервизор идентифицирует эти сигналы (см. раздел «Прерывания» в главе 1) и передает управление соответствующим программам обработки прерываний.

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

7) Супервизор ввода-вывода посылает сообщения о завершении операции ввода-вывода запросившей эту операцию задаче и снимает ее с состояния ожидания ввода-вывода, если задача ожидала завершения операции.

Билет 25

Множественные прерывания.

Многопоточный Web-сервер.

1) билет 20

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

Сетевое обеспечение

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

Командный интерфейс системы

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

Создание и управление процессов;

Управление вводом/выводом;

Управление внешней памятью;

Управление основной памятью;

Доступ к файловой системе;

Поддержку работы сети.

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

Интерпретатор управляющих карт;

Процессор команд консолей;

-shell Unix ).

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

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

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

3. Защита памяти.

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

5. Управление данными

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

7.

8. Утили́та

9. Дра́йвер

10. Технология Plug-and-Play

11. Мультимедиа

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

По современным представлениям операционная система должна уметь делать следующее:

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

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

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

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

− предоставлять некоторый пользовательский интерфейс (слово некоторый здесь сказано не случайно - часть систем ограничивается командной строкой, в то время как другие на 90% состоят из интерфейсной подсистемы).

Существуют ОС, функции которых этим и исчерпываются. Одна из хорошо известных систем такого типа - дисковая операционная система MS DOS.

Более развитые ОС предоставляют также следующие возможности:

− параллельное (или псевдопараллельное, если машина имеет только один процессор) исполнение нескольких задач,

− организацию взаимодействия задач друг с другом,

− организацию межмашинного взаимодействия и разделения ресурсов,

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

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

Система прерываний

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

Можно считать, что центральный процессор переключает свое внимание с устройства на устройство и с функции на функцию. На что именно обращено внимание ЦП в каждый данный момент, определяется выполняемой им программой.

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

Для того чтобы ЦП, выполняя свою работу, имел возможность реагировать на события, происходящие вне его зоны внимания, наступления которых он “не ожидает”, существует система прерываний ЭВМ.

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

Механизм прерывания обеспечивается соответствующими аппаратно-программными средствами компьютера.

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

Рис. 1.3.1. Выполнение прерывания в компьютере: tр - время реакции процессора на запрос прерывания; tс - время сохранения состояния прерываемой программы и вызова обработчика прерывания; tв - время восстановления прерванной программы

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

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

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

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

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

Время реакции определяется для запроса с наивысшим приоритетом.

Глубина прерывания – максимальное число программ, которые могут прерывать друг друга. Глубина прерывания обычно совпадает с числом уровней приоритетов, распознаваемых системой прерываний. Работа системы прерываний при различной глубине прерываний (n) представлена на рис. 1.3.2. Здесь предполагается, что с увеличением номера запроса прерывания увеличивается его приоритет.

Рис. 1.3.2. Работа системы прерываний при различной глубине прерываний

Без учета времени реакции, а также времени запоминания и времени восстановления:

Прерывания делятся на аппаратные и программные.

Аппаратные прерывания используются для организации взаимодействия с внешними устройствами. Запросы аппаратных прерываний поступают на специальные входы микропроцессора. Они бывают:

· маскируемые, которые могут быть замаскированы программными средствами компьютера;

· немаскируемые, запрос от которых таким образом замаскирован быть не может.

Программные прерывания вызываются следующими ситуациями:

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

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

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

При поступлении запроса прерывания компьютер выполняет следующую последовательность действий:

· определение наиболее приоритетного незамаскированного запроса на прерывание (если одновременно поступило несколько запросов);

· определение типа выбранного запроса;

· сохранение текущего состояния счетчика команд и регистра флагов;

· определение адреса обработчика прерывания по типу прерывания и передача управления первой команде этого обработчика;

· выполнение программы - обработчика прерывания;

· восстановление сохраненных значений счетчика команд и регистра флагов прерванной программы;

· продолжение выполнения прерванной программы.

Этапы 1-4 выполняются аппаратными средствами ЭВМ автоматически при появлении запроса прерывания. Этап 6 также выполняется аппаратно по команде возврата из обработчика прерывания.

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

Распознавание наличия сигналов запроса прерывания и определение наиболее приоритетного из них может проводиться различными методами. Рассмотрим один из них.

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

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

Данная схема используется для анализа запросов аппаратных прерываний. Приоритет запросов прерываний (ЗПi) уменьшается с уменьшением номера запроса. В тот момент, когда компьютер должен определить наличие и приоритет внешнего аппаратного прерывания (обычно после окончания выполнения каждой команды), процессор выдает сигнал опроса. Если на входе ЗП3 присутствует сигнал высокого уровня (есть запрос), то на элементе 11 формируется общий сигнал наличия запроса прерывания и дальнейшее прохождение сигнала опроса блокируется. Если ЗП3=0, то анализируется сигнал ЗП2 и так далее. На шифраторе (элемент 12) формируется номер поступившего запроса прерывания.

Этот номер передается в процессор лишь при наличии общего сигнала запроса прерывания.

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

Рис. 1.3.3. Схема определения номера наиболее приоритетного запроса прерывания

Микропроцессоры типа х86 имеют два входа запросов внешних аппаратных прерываний:

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

· INT - маскируемое прерывание, запрос от которого можно программным образом замаскировать путем сброса флага IF в регистре флагов.

Рис. 1.3.4. Структура контроллера приоритетных прерываний

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

· восприятие и фиксация запросов прерываний от внешних устройств;

· определение незамаскированных запросов среди поступивших запросов;

· проведение арбитража: выделение наиболее приоритетного запроса из незамаскированных запросов в соответствии с установленным механизмом назначения приоритетов;

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

· передача в микропроцессор по шине данных типа прерывания, выбранного в процессе арбитража, для запуска соответствующей программы - обработчика прерывания; это действие выполняется по сигналу разрешения прерывания INTA от микропроцессора, который выдается в случае, если прерывания в регистре флагов микропроцессора не замаскированы (IF=1).

Переход к соответствующему обработчику прерывания осуществляется (в реальном режиме работы микропроцессора) посредством таблицы векторов прерываний. Эта таблица (рис. 1.3.5) располагается в самых младших адресах оперативной памяти, имеет объем 1 Кбайт и содержит значения сегментного регистра команд (CS) и указателя команд (IP) для 256 обработчиков прерываний.

Рис. 1.3.5. Структура таблицы векторов прерываний

Обращение к элементам таблицы осуществляется по 8-разрядному коду - типу прерывания (табл. 1.3.1).

Таблица 1.3.1.

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

· программные прерывания вводят его изнутри процессора или содержат его в номере команды INT n;

· аппаратные маскируемые прерывания вводят его от контроллера приоритетных прерываний по шине данных;

· немаскируемому аппаратному прерыванию назначен тип 2.

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

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

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

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

Устанавливает необходимый режим обработки пребывания;

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

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

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

Восстановление контекста задачи;

Установка прежнего режима работы системы прерываний;

Передачу управления выбранной задаче.

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

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

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

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

Защита памяти.

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

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

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

· разрешается доступ к данному блоку, как для записи, так и для считывания;

· разрешается только считывание;

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

· разрешается обращение по адресу из любого реестра кроме счетчика команд.

Если нарушается защита памяти, использование программы приостанавливается и вырабатывается запрос прерывания по нарушению защиты памяти.

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

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

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

В настоящее время эта технология имеет аппаратную поддержку на всех современных процессорах.

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

Также существует термин swap (англ. swap, /swɔp/) также означающий виртуальную память (точнее способ её представления), или же означает подкачку данных с диска.

Применение механизма виртуальной памяти позволяет:

· упростить адресацию памяти клиентским программным обеспечением;

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

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

Управление данными

Управление данными (англ. data management) - процесс, связанный с накоплением, организацией, запоминанием, обновлением, хранением данных и поиском информации.

К управлению да́нными относятся:

§ Анализ данных

§ Моделирование данных

§ Управление базами данных

§ Работа с хранилищами данных

§ Извлечение, преобразование и загрузка данных

§ Добыча данных

§ Обеспечение качества данных

§ Защита данных

§ Управление метаданными (репозиториями данных)

· Архитектура данных

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

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

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

Существуют два класса методов, реализующих доступ к данным по ключу:

· методы поиска по дереву,

· методы хеширования.

Деревом называется конечное множество, состоящее из одного или более элементов, называемых узлами, таких, что:

· между узлами имеет место отношение типа "исходный-порожденный";

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

· все узлы за исключением корня имеют только один исходный; каждый узел может иметь несколько порожденных;

· отношение "исходный-порожденный" действует только в одном направлении, т.е. ни один потомок некоторого узла не может стать для него предком.

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

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

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

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

Файловая система связывает носитель информации, с одной стороны, и API для доступа к файлам - с другой. Когда прикладная программа обращается к файлу, она не имеет никакого представления о том, каким образом расположена информация в конкретном файле, так же, как и на каком физическом типе носителя (CD, жёстком диске, магнитной ленте или блоке флеш-памяти) он записан. Всё, что знает программа - это имя файла, его размер и атрибуты. Эти данные она получает от драйвера файловой системы. Именно файловая система устанавливает, где и как будет записан файл на физическом носителе (например, жёстком диске).

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

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

Иерархия каталогов

Практически всегда файлы на дисках объединяются в каталоги.

В простейшем случае все файлы на данном диске хранятся в одном каталоге. Такая одноуровневая схема использовалась в CP/M и первых версиях MS-DOS. Иерархическая файловая система со вложенными друг в друга каталогами впервые появилась в UNIX.

Каталоги на разных дисках могут образовывать несколько отдельных деревьев, как в DOS/Windows, или же объединяться в одно дерево, общее для всех дисков, как в UNIX-подобных системах.

На самом деле, в DOS/Windows системах также, как и в UNIX-подобных существует один корневой каталог со вложенными директориями, имеющими названия «c:», «d:» и т. д. В эти каталоги монтируются разделы жёсткого диска. То есть, c:\ - это всего лишь ссылка на file:///c:/. Однако, в отличие от UNIX-подобных файловых систем, в Windows запись в корневой каталог запрещена, как и просмотр его содержимого.

В UNIX существует только один корневой каталог, а все остальные файлы и каталоги вложены в него. Чтобы получить доступ к файлам и каталогам на каком-нибудь диске, необходимо примонтировать этот диск командой mount. Например, чтобы открыть файлы на CD, нужно, говоря простым языком, сказать операционной системе: «возьми файловую систему на этом компакт-диске и покажи её в каталоге /mnt/cdrom». Все файлы и каталоги, находящиеся на CD, появятся в этом каталоге /mnt/cdrom, который называется точкой монтирования (англ. mount point). В большинстве UNIX-подобных систем съёмные диски (дискеты и CD), флеш-накопители и другие внешние устройства хранения данных монтируют в каталог /mnt, /mount или /media. Unix и UNIX-подобные операционные системы также позволяет автоматически монтировать диски при загрузке операционной системы.

Классификация файловых систем

По предназначению файловые системы можно классифицировать на следующие категории:

Для носителей с произвольным доступом (например, жёсткий диск): FAT32, HPFS, ext2 и др. Поскольку доступ к дискам в разы медленнее, чем доступ к оперативной памяти, для прироста производительности во многих файловых системах применяется асинхронная запись изменений на диск. Для этого применяется либо журналирование, например в ext3, ReiserFS, JFS, NTFS, XFS, либо механизм soft updates и др. Журналирование широко распространено в Linux, применяется в NTFS. Soft updates - в BSD системах. Reiser4 не применяет журналирование, все операции в ней атомарны.

Для носителей с последовательным доступом (например, магнитные ленты): QIC и др.

Для оптических носителей - CD и DVD: ISO9660, ISO9690, HFS, UDF и др.

Виртуальные файловые системы: AEFS и др.

Сетевые файловые системы: NFS, CIFS, SSHFS, GmailFS и др.

Для флэш-памяти: YAFFS, ExtremeFFS.

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

Задачи файловой системы

Основные функции любой файловой системы нацелены на решение следующих задач:

· именование файлов;

· программный интерфейс работы с файлами для приложений;

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

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

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

Графи́ческий интерфе́йс по́льзователя

Графи́ческий интерфе́йс по́льзователя (ГИП), графический пользовательский интерфейс (ГПИ) (англ. Graphical user interface, GUI) - разновидность пользовательского интерфейса, в котором элементы интерфейса (меню, кнопки, значки, списки и тп.), представленные пользователю на дисплее, исполнены в виде графических изображений.

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

История

Впервые концепция ГИП была предложена учеными из исследовательской лаборатории Xerox PARC в 1970-х.

В 1973 году в лаборатории Xerox PARC собрали молодых людей, недовольных политикой США (войной во Вьетнаме) и дали свободу исследований. В результате на свет появляется концепция графического интерфейса WIMP (Windows, Icons, Menus, Point-n-Click). В рамках этой концепции создаётся компьютер Alto.

В 1979 году Three Rivers Computer Company выпускает рабочую станцию PERQ, похожую по принципам построения на Alto. В 1981 Xerox выпускает продолжение Alto - Star.

Коммерческое воплощение концепция ГИП получила в продуктах корпорации Apple Computer. В операционной системе AmigaOS ГИП с многозадачностью был использован в 1985 году. В настоящее время ГИП является стандартной составляющей большинства доступных на рынке операционных систем и приложений.

Примеры систем, использующих ГИП: Mac OS, Solaris, GNU/Linux, Microsoft Windows, NeXTSTEP, OS/2, BeOS.

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

Можно выделить следующие виды ГИП:[источник не указан 121 день]

· простой: типовые экранные формы и стандартные элементы интерфейса, обеспечиваемые самой подсистемой ГИП;

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

· трёхмерный: на данный момент слабо классифицирован.

Одним из требований к хорошему графическому интерфейсу программной системы является концепция «делай то, что я имею ввиду» или DWIM (англ. Do What I Mean). DWIM требует, чтобы система работала предсказуемо, чтобы пользователь заранее интуитивно понимал, какое действие выполнит программа после получения его команды.

Утили́та

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

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

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

Аннотация: Функции операционной системы. Структура операционной системы. Классификация операционных систем. Требования к операционным системам.

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

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

Для более полного понимания роли операционной системы рассмотрим составные компоненты любой вычислительной системы (рис.1.1).


Рис. 1.1.

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

Цель создания вычислительной системы – решение задач пользователя. Для решения определенного круга задач создается прикладная программа ( приложение , application ). Примерами прикладных программ являются текстовые редакторы и процессоры (Блокнот, Microsoft Word ), графические редакторы ( Paint , Microsoft Visio), электронные таблицы (Microsoft Excel ), системы управления базами данных (Microsoft Access, Microsoft SQL Server ), браузеры ( Internet Explorer) и т. п. Все множество прикладных программ называется прикладным программным обеспечением ( application software ).

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

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

Взаимодействие всех программ с операционной системой осуществляется при помощи системных вызовов ( system calls) – запросов программ на выполнение операционной системой необходимых действий. Набор системных вызовов образует API – Application Programming Interface ( интерфейс прикладного программирования).

Функции операционной системы

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

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

Структура операционной системы

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

Современные процессоры имеют минимум два режима работы – привилегированный (supervisor mode) и пользовательский (user mode).

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

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

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

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

Термин "ядро" также используется в разных смыслах. Например, в Windows термин "ядро" (NTOS kernel) обозначает совокупность двух компонентов – исполнительной системы (executive layer) и собственно ядра (kernel layer) .

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

Ядра, которые занимают промежуточные положение между монолитными и микроядрами, называют гибридными (hybrid kernel).

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

  • монолитное ядро – MS-DOS, Linux, FreeBSD;
  • микроядро – Mach, Symbian, MINIX 3;
  • гибридное ядро – NetWare, BeOS, Syllable.

Обсуждение того, к какому типу относится ядро Windows NT, приведено в [ ; ]. В говорится о том, что Windows NT имеет монолитное ядро, однако, поскольку в Windows NT имеется несколько ключевых компонентов, работающих в пользовательском режиме (например, подсистемы окружения и системные процессы – см. Лекцию 4 "Архитектура Windows"), то относить Windows NT к истинно монолитным ядрам нельзя, скорее к гибридным.

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

В состав операционной системы также входят:

  • системные библиотеки (system DLL – Dynamic Link Library, динамически подключаемая библиотека), преобразующие системные вызовы приложений в системные вызовы ядра;
  • пользовательские оболочки (shell), предоставляющие пользователю интерфейс – удобный способ работы с операционной системой.

Пользовательские оболочки реализуют один из двух основных видов пользовательского интерфейса:

  • текстовый интерфейс (Text User Interface, TUI), другие названия – консольный интерфейс (Console User Interface, CUI), интерфейс командной строки (Command Line Interface, CLI);
  • графический интерфейс (Graphic User Interface, GUI).

Пример реализации текстового интерфейса в Windows – интерпретатор командной строки cmd.exe; пример графического интерфейса – Проводник Windows (explorer.exe).

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

Классификацию операционных систем можно осуществлять несколькими способами.

  1. По способу организации вычислений:
    • системы пакетной обработки (batch processing operating systems) – целью является выполнение максимального количества вычислительных задач за единицу времени; при этом из нескольких задач формируется пакет, который обрабатывается системой;
    • системы разделения времени (time-sharing operating systems) – целью является возможность одновременного использования одного компьютера несколькими пользователями; реализуется посредством поочередного предоставления каждому пользователю интервала процессорного времени;
    • системы реального времени (real-time operating systems) – целью является выполнение каждой задачи за строго определённый для данной задачи интервал времени.
  2. По типу ядра:
    • системы с монолитным ядром (monolithic operating systems);
    • системы с микроядром (microkernel operating systems);
    • системы с гибридным ядром (hybrid operating systems).
  3. По количеству одновременно решаемых задач:
    • однозадачные (single-tasking operating systems);
    • многозадачные (multitasking operating systems).
  4. По количеству одновременно работающих пользователей:
    • однопользовательские (single-user operating systems);
    • многопользовательские (multi-user operating systems).
  5. По количеству поддерживаемых процессоров:
    • однопроцессорные (uniprocessor operating systems);
    • многопроцессорные (multiprocessor operating systems).
  6. По поддержке сети:
    • локальные (local operating systems) – автономные системы, не предназначенные для работы в компьютерной сети;
    • сетевые (network operating systems) – системы, имеющие компоненты, позволяющие работать с компьютерными сетями.
  7. По роли в сетевом взаимодействии:
    • серверные (server operating systems) – операционные системы, предоставляющие доступ к ресурсам сети и управляющие сетевой инфраструктурой;
    • клиентские (client operating systems) – операционные системы, которые могут получать доступ к ресурсам сети.
  8. По типу лицензии:
    • открытые (open-source operating systems) – операционные системы с открытым исходным кодом, доступным для изучения и изменения;
    • проприетарные (proprietary operating systems) – операционные системы, которые имеют конкретного правообладателя; обычно поставляются с закрытым исходным кодом.
  9. По области применения:
    • операционные системы мэйнфреймов – больших компьютеров (mainframe operating systems);
    • операционные системы серверов (server operating systems);
    • операционные системы персональных компьютеров (personal computer operating systems);
    • операционные системы мобильных устройств (mobile operating systems);
    • встроенные операционные системы (embedded operating systems);
    • операционные системы маршрутизаторов (router operating systems).

Требования к операционным системам

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

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

Резюме

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

В следующей лекции будет представлен обзор операционных систем Microsoft Windows.

Контрольные вопросы

  1. Дайте определение понятию "операционная система".
  2. Назовите примеры прикладного, инструментального и системного программного обеспечения.
  3. Дайте определение понятий "системный вызов", "API", "драйвер", "ядро".
  4. Какие виды ядер вы знаете? К каким видам относятся ядра известных вам операционных систем?
  5. Чем ядро отличается от операционной системы?
  6. Приведите несколько способов классификации операционных систем.
  7. Назовите требования к современным операционным системам и объясните, что они означают.