Определение операционной системы ос. Список операционных систем: особенности, характеристики и отзывы. Объектами ядра ОС являются

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

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

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) Прикладной программный интерфейс

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

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

    Назначение ОС

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

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

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

    Основные функции:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Разновидности операционных систем

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

    Существует несколько видов операционных систем: DOS, Windows, UNIXразных версий и др. Наиболее распространенной является операционная системаWindows. Существует несколько версий Windows: Windows-3.1, Windows-95,Windows-98, Windows-2000, Windows NT. Все они близки между собой посодержанию, поэтому в дальнейшем рассмотрим операционные системы DOS иWindows-9х

    Операционная система DOS состоит из следующих частей:

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

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

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

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

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

    Windows 3.1 может работать в одном из трех режимов: Real (реальном), Standart (стандартном), 386 Enhanced (расширенном). В процессе установки Windows анализирует имеющиеся аппаратные ресурсы и автоматически устанавливает режим, наиболее полно использующий возможности имеющейся аппаратуры.

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

    Windows 95 представляет собой продукт эволюционного развития системы Windows 3.1x и не означает полного разрыва с прошлым. Хотя она несет в себе много важных изменений по сравнению с 16-разрядной архитектурой Windows, в ней сохранены некоторые важнейшие свойства ее предшественницы. Результатом стало появление гибридной ОС, способной работать с 16-разрядными прикладными программами Windows, программами, унаследованными от DOS, и старыми драйверами устройств реального режима и в то же время совместимой с истинными 32-разрядными прикладными программами и 32-разрядными драйверами виртуальных устройств.

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

    Windows NT по существу представляет собой операционную систему сервера, приспособленную для использования на рабочей станции. Этим обусловлена архитектура, в которой абсолютная защита прикладных программ и данных берет верх над соображениями скорости и совместимости. Чрезвычайная надежность Windows NT обеспечивается ценой высоких системных затрат, поэтому для получения приемлемой производительности необходимы быстродействующий процессор и по меньшей мере 16 Mb ОЗУ. Как и в OS/2 Warp, в системе Windows NT безопасность нижней памяти достигается за счет отказа от совместимости с драйверами устройств реального режима. В среде Windows NT работают собственные 32-разрядные NT-прикладные программы, а также большинство прикладных программ Windows 95. Так же, как OS/2 Warp и Windows 95, система Windows NT позволяет выполнять в своей среде 16-разрядные Windows- и DOS-программы.

    В апреле 1987 г. компании IBM и Microsoft объявили о совместных планах по созданию новой операционной системы: OS/2. Прошло несколько лет, и мир стал свидетелем "бракоразводного процесса", в результате чего у OS/2 остался один родитель - компания IBM, а фирма Microsoft отдала все симпатии любимому детищу, имя которому Windows. Важно помнить, что OS/2 - это новая операционная система с графическим интерфейсам пользователя (ГИП), в то время как Windows представляет собой ГИП, работающий "поверх" DOS.

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

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

    программа интерфейс операционный вычислительный

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

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

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

    Функции

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

    Процессоры,

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

    Таймеры,

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

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

    Принтеры,

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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



    
    Top