
- •1.Понятие и назначение ос
- •2.Функциональные компоненты операционной системы
- •3.Эволюция и классификация ос
- •4.Понятие программного интерфейса и операционного окружения
- •5.Ос как виртуальная машина
- •6.Сетевые и распределенные ос, ос разделения времени
- •7.Обобщенная архитектура ос
- •8.Концепция микроядерной архитектуры
- •9.Классификация периферийных устройств
- •10.Многослойная архитектура ос
- •11.Понятие процессов и потоков
- •12.Механизмы взаимодействия процессов
- •13.Вытесняющие и невытесняющие алгоритмы
- •14.Синхронизация выполнения процессов и потоков
- •15.Мультипрограммирование в системе разделения времени и в системе реального времени
- •16.Взаимоблокировки. Решение тупиковых ситуаций
- •17.Прерывания и системные вызовы ос
- •18.Методы реализации виртуальной памяти
- •19.Управление памятью в ос
- •20.Иерархия запоминающих устройств
- •21.Драйверы
- •22.Сегментная организация виртуальной памяти
- •23.Страничная организация виртуальной памяти
- •24.Управление кэш-памятью в ос
- •25.Логическая организация файловой системы
- •26.Физическая организация файловой системы
- •27.Восстанавливаемость и отказоустойчивость файловой системы
- •28.Файловая система fat
- •29.Файловая система ntfs
- •30.Файловая система ufs
- •31.Атрибуты файлов файловые операции.
- •32.Контроль доступа к файлам в ос.
- •33.Подсистема ввода вывод.
- •34.Файловые менеджеры.
- •35.Архивация данных.
- •38.Особенности ос ms dos.
- •39.Команды ms dos.
- •40.Командные файлы.
- •41.Сетевые утилиты.
- •42.Характеристика Windows xp.
- •43.Архитектура Windows xp
- •44. Процесс загрузки windows xp
- •49.Средства сопровождения и Стандартные средства администрирования Windows xp
- •50.Технология dde ole dcom activx в windows xp
- •51. Особенности os linux
- •52. Команды linux
- •53 Особенности unix
- •55.Особенности windows 7
4.Понятие программного интерфейса и операционного окружения
Программный интерфейс — функциональность, которую некоторый программный компонент предоставляет другим программным компонентам.
Можно различать два вида такой функциональности:
та, что используется при создании прикладных программ — интерфейсом программирования приложений (API);
та, что используется при создании системных компонентов и может называться интерфейсом программирования компонентов операционной системы или интерфейсом системного программирования (SPI, англ. system programming interface).
Кроме того, программные интерфейсы могут быть разноуровневыми, относясь либо к уровню программного кода (API и SPI), либо к уровню кода машинного (ABI, англ. application binary interface, и SBI, англ. system binary interface).
Операцио́нное окруже́ние (англ. operating environment) — среда, в которой пользователь запускает программу. Например, операционное окружение DOS состоит из всех команд DOS, доступных пользователю. С другой стороны, операционное окружение Macintosh включает в себя графический интерфейс пользователя, использующий иконки и меню вместо команд.
В различных операционных системах состав среды окружения может сильно различаться.
К составу среды окружения обычно относят:
системные переменные
Текущие пути на различных дисках (в случае поддержки нескольких дисков операционной системой)
Точка монтирования каталогов (в том числе корневого), используется в unix-подобных операционных системах для обеспечения режима «тюрьмы» (англ. jail)
Связь стандартных потоков ввода-вывода с файловыми хэндлерами или устройствами (используется для перенаправления ввода-вывода)
Ограничения на количество одновременно открытых файлов, стеков и т. д.
Набор прав (обычно соответствует правам пользователя, запустившего процесс, но может изменяться как в сторону большего набора прав, так и в сторону ужесточения)
Дисковые квоты, ограничение на максимальный объём оперативной памяти, загрузки процессоров и т. д.
Значения показателей использования ресурсов, получаемые от родительского процесса (на некоторых системах)
Между операционным окружением и shell пролегает очень тонкая грань. Исторически shell создавались как интерфейс к операционной системе. Он не добавлял новых возможностей и свойств. В задачу shell входило создание более удобного пользовательского интерфейса. Но со временем появились «интеллектуальные» shell. И в данный момент есть некоторые отличия между интеллектуальным shell и операционным окружением.
Также операционное окружение иногда называют контролирующей программой (control program).
В сфере бизнеса существует понятие стандартного операционного окружения (SOE — Standart Operating Environment)
5.Ос как виртуальная машина
Для того чтобы успешно решать свои задачи, современный пользователь или даже прикладной программист может обойтись без досконального знания аппаратного устройства компьютера. Ему не обязательно быть в курсе того, как функционируют различные электронные блоки и электромеханические узлы компьютера. Более того, очень часто пользователь может не знать даже системы команд процессора. Пользователь-программист привык иметь дело с мощными высокоуровневыми функциями, которые ему предоставляет операционная система.
Так, например, при работе с диском программисту, пишущему приложение для работы под управлением ОС, или конечному пользователю ОС достаточно представлять его в виде некоторого набора файлов, каждый из которых имеет имя. Последовательность действий при работе с файлом заключается в его открытии, выполнении одной или нескольких операций чтения или записи, а затем в закрытии файла. Такие частности, как используемая при записи частотная модуляция или текущее состояние двигателя механизма перемещения магнитных головок чтения/записи, не должны волновать программиста. Именно операционная система скрывает от программиста большую часть особенностей аппаратуры и предоставляет возможность простой и удобной работы с требуемыми файлами.
Если бы программист работал непосредственно с аппаратурой компьютера, без участия ОС, то для организации чтения блока данных с диска программисту пришлось бы использовать более десятка команд с указанием множества параметров: номера блока на диске, номера сектора на дорожке и т. п. А после завершения операции обмена с диском он должен был бы предусмотреть в своей программе анализ результата выполненной операции. Учитывая, что контроллер диска способен распознавать более двадцати различных вариантов завершения операции, можно считать программирование обмена с диском на уровне аппаратуры не самой тривиальной задачей. Не менее обременительной выглядит и работа пользователя, если бы ему для чтения файла с терминала потребовалось задавать числовые адреса дорожек и секторов.
Операционная система избавляет программистов не только от необходимости напрямую работать с аппаратурой дискового накопителя, предоставляя им простой файловый интерфейс, но и берет на себя все другие рутинные операции, связанные с управлением другими аппаратными устройствами компьютера: физической памятью, таймерами, принтерами и т. д.
В результате реальная машина, способная выполнять только небольшой набор элементарных действий, определяемых ее системой команд, превращается в виртуальную машину, выполняющую широкий набор гораздо более мощных функций. Виртуальная машина тоже управляется командами, но это уже команды другого, более высокого уровня: удалить файл с определенным именем, запустить на выполнение некоторую прикладную программу, повысить приоритет задачи, вывести текст из файла на печать. Таким образом, назначение ОС состоит в предоставлении пользователю/программисту некоторой расширенной виртуальной машины, которую легче программировать и с которой легче работать, чем непосредственно с аппаратурой, составляющей реальный компьютер или реальную сеть.