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

Операционная система компьютера

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

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

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

Современные операционные системы обеспечивают:

¨ установку операционной системы на компьютере;

¨ включение и исключение функциональных компонент в составе ОС;

¨ настройку параметров операционной системы;

¨ загрузку операционной системы при включении компьютера;

¨ тестирование устройств компьютера и функциональных подсистем ОС и исправление возможных нарушений;

¨ автоматическое определение текущей конфигурации устройств компьютера (Plug And Play);

¨ управление памятью;

¨ управление выполнением программ;

¨ управление вводом-выводом;

¨ управление файловой системой;

¨ обработку прерываний;

¨ управление работой аппаратных устройств компьютера;

¨ взаимодействие с ОС пользователей и программ (пользовательский интерфейс ОС);

¨ многозадачный режим;



¨ многопользовательский режим;

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

¨ корректность совместного владения данными несколькими программами или пользователями;

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

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

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

¨ определить номер порта ввода-вывода, соответствующего устройству;

¨ проверить физическое наличие устройства;

¨ установить, включено или выключено требуемое устройство;

¨ проверить, установлен ли на этом устройстве носитель информации (например, магнитный диск);

¨ сверить код носителя информации;

¨ найти место требуемой информации на носителе;

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

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

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

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

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

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

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

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

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

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

¨ параллельного (псевдопараллельного) выполнения нескольких программ;

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

¨ разделение между программами ресурсов процессора, памяти и доступа к внешним устройствам.

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

¨ разделение ресурсов процессора, памяти и доступа к внешним устройствам в соответствии с запросами и приоритетами пользователей;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Существует несколько видов операционных систем: 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, OS) - комплекс управляющих и обрабатывающих программ, которые, с одной стороны, выступают как интерфейс между устройствами вычислительной системы и прикладными программами, а с другой стороны - предназначены для управления устройствами, управления вычислительными процессами, эффективного распределения вычислительных ресурсов между вычислительными процессами и организации надёжных вычислений. Это определение применимо к большинству современных операционных систем общего назначения.

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

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

В большинстве вычислительных систем операционная система является основной, наиболее важной (а иногда и единственной) частью системного программного обеспечения. С 1990-х годов наиболее распространёнными операционными системами являются системы семейства Windows и системы класса UNIX (особенно Linux и Mac OS). Можно попробовать перечислить основные функции операционных систем.

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

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

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

Идентификация всех программ и данных.

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

Обслуживание всех операций ввода-вывода.

Обеспечение работы систем управлений файлами (СУФ) и/или-систем управления базами данных (СУБД), что позволяет резко увеличить эффективность всего программного обеспечения.

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

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

Организация механизмов обмена сообщениями и данными между выполняющимися программами.

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

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

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

Удовлетворение жестким ограничениям на время ответа в режиме реального времени (характерно для операционных систем реального времени).

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

Предоставление услуг на случай частичного сбоя системы.

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

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

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

Примеры ОС: 1) Windows – лидер среди ОС. Преимущества: простота использования и доступа в интернет, динамическая справочная система, высокая производительность и надежность, веб-совместимый интерфейс пользователя, возможность одновременного доступа в интернет с нескольких компьютеров через одно общее подключение. 2) UNIX – преимущества: простота, инструментальность, мобильность, эффективность. Недостатки: не поддерживается режим реального времени, слабая устойчивость к аппаратным сбоям, снижение эффективности при решении однотипных задач, слабо развиты средства взаимодействия и синхронизации. 3) Linux – бесплатная и стандартизированная система. Преимущества: более мощная и гибкая, чем DOS и Windows, некоммерческая операционная система, распространяется по генеральной открытой лицензии GNU. 4)Apple Mac OS X – позволяет настраивать интерфейс, использование стандарта PDF? Обеспечивающий высокую четкость изображения, способность обеспечить безопасность, сохранить конфиденциальность.


Похожая информация.


Операционная система (ОС) – это комплекс взаимосвязанных системных программ для организации взаимодействия пользователя с компьютером и выполнения всех других программ. ОС относятся к составу системного программного обеспечения и являются основной его частью. Операционные системы: MS DOS 7.0, Windows Vista Business, Windows 2008 Server, OS/2, UNIX, Linux.

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

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

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

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

ведение файловой структуры.

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

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

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

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

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

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

Операционная среда Windows разработана фирмой Microsoft для IBM-совместимых компьютеров.

Windows выполняет следующие основные функции:

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

Особенности Windows:

  • Правила написания программы . Для работы в среде Windows программа должна быть написана по определенным правилам, существенно отличающимся от принятых в MS-DOS.

Windows позволяет запускать и программы, написанные для MS DOS, но при этом программы не могут использовать преимущества Windows.

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

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

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

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

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

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

В системном блоке находятся все основные узлы компьютера:

Материнская плата;

Электронные схемы (процессор, контроллеры устройств и т.д.);

Блок питания;

Дисководы (накопители).

Характеристики основных модулей ПК

Материнская плата

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

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

Порт – многоразрядный вход или выход в устройстве.

Процессор

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

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

Функции процессора :

1.обработка данных по заданной программе – функция АЛУ;

2.программное управление работой устройств ЭВМ – функция УУ (устройства управления).

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

Регистры выполняют две функции:

Кратковременное хранение числа или команды;

Выполнение над ними некоторых операций.

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

1. тактовой частотой;

2. степенью интеграции;

3. внутренней и внешней разрядностью обрабатываемых данных;

4. памятью, к которой может адресоваться CPU.

Память

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

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

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

1. Устройства ввода-вывода – предназначены для ввода информации в ПК, вывода в необходимом для оператора формате или обмена информацией с другими ПК. К такому типу ПУ можно отнести внешние накопители, модемы.

2. Устройства вывода – предназначены для вывода информации в необходимом для оператора формате. К этому типу периферийных устройств относятся: принтер, монитор, аудиосистема.

3. Устройства ввода – Устройствами ввода являются устройства, посредством которых можно ввести информацию в компьютер. Главное их предназначение - реализовывать воздействие на машину. К такому виду периферийных устройств относятся: клавиатура, сканер, графический планшет и т.д.

4. Дополнительные ПУ – такие как манипулятор «мышь», который лишь обеспечивает удобное управление графическим интерфейсом операционных систем ПК и не несет ярковыраженных функций ввода либо вывода информации; WEB-камеры, способствующие передаче видео и аудио информации в сети Internet, либо между другими ПК. Последние, правда, можно отнести и к устройствам ввода, благодаря возможности сохранения фото, видео и аудио информации на магнитных или магнитооптических носителях.

Графические редакторы

К программным средствам создания и обработки векторной графики относятся графические редакторы (например Adobe Illustrator, Macromedia Freehand, CorelDraw) и векторизаторы (трассировщики) - специализированные пакеты преобразования растровых изображений в векторные (например Adobe StreamLine, CorelTrace). Векторный редактор Adobe Illustrator является одним из общепризнанных лидеров среди программ этого класса. Его особое преимущество заключается в хорошо отлаженном взаимодействии с другими продуктами компании Adobe, прежде всего с пакетами Photoshop и PageMaker. Эти приложения выполнены в едином стиле и образуют законченный пакет. Векторный редактор Macromedia Freehand с простым и дружественным интерфейсом служит удобным инструментом работы для начинающих. Программа отличается небольшим размером и хорошим быстродействием. Нетребовательность к аппаратным ресурсам позволяет работать на компьютерах среднего уровня. Инструментальные средства программы достаточны для разработки сложных документов и лишь в некоторых элементах уступают более мощным средствам Adobe Illustrator и CorelDraw. Пакет специально адаптирован для совместной работы с программой компьютерной верстки QuarkXPress. Векторный редактор CorelDraw исторически, особенно в России, считается основным пакетом создания и обработки векторной графики на платформе Windows. К его преимуществам относятся развитая система управления и обширные средства настройки параметров инструментов. По возможностям создания самых сложных художественных композиций CorelDraw заметно превосходит конкурентов. Однако интерфейс программы сложен для освоения. Трассировщик Adobe StreamLine по праву занимает ведущее место в своем классе программ. Хотя имеются более мощные пакеты, ориентированные на обработку чертежей, они очень требовательны к аппаратным ресурсам, да и по стоимости много дороже. StreamLine позволяет проводить тонкую настройку параметров векторизации, что улучшает ее точность. Более всего векторизация удобна для преобразования чертежей, черно-белых рисунков и другой простой графики без полутонов. Полутоновые и цветные изображения обрабатываются хуже, и результат требует значительной доработки для приближения к оригиналу. Среди программ для создания изображений на платформе Macintosh стоит отметить пакет для редактирования растровой живописи и изображений PixelPaint Pro компании Pixel Resources. Среди программ компьютерной живописи для графических станций Silicon Graphics (SGI) особое место занимает пакет StudioPaint 3D компании Alias Wavefront, который позволяет рисовать различными инструментами («кистями») в режиме реального времени прямо на трехмерных моделях. Пакет работает с неограниченным количеством слоев изображения и предоставляет 30 уровней отмены предыдущего действия (undo), включает операции цветокоррекции и «сплайновые кисти», «мазок» которых можно редактировать по точкам как сплайновую кривую. StudioPaint 3D поддерживает планшет с чувствительным пером, что дает возможность художнику сделать традиционный эскиз от руки, а затем позволяет перенести рисунок в трехмерные пакеты для моделирования или анимации и построить по эскизу трехмерную модель. Программа создания и обработки трехмерной графики 3D Studio Max фирмы Kinetix изначально создавалась для платформы Windows. Этот пакет считается «полупрофессиональным». Однако его средств вполне хватает для разработки качественных трехмерных изображений объектов неживой природы. Отличительными особенностями пакета являются поддержка большого числа аппаратных ускорителей трехмерной графики, мощные световые эффекты, большое число дополнений, созданных сторонними фирмами. Сравнительная нетребовательность к аппаратным ресурсам позволяет работать даже на компьютерах среднего уровня. Вместе с тем по средствам моделирования и анимации пакет 3D Studio Max уступает более развитым программным средствам.

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

Она опирается на базовое программное обеспечение – базовую систему ввода-вывода BIOS (Base Input-Output System). Программы, работающие под управлением операционной системы, называются приложениями. Под ресурсами вычислительной системы понимаются объем оперативной памяти, процессорное время, объем внешней памяти, внешние устройства.

Операционная система обеспечивает следующие виды интерфейсов:

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

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

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

Все операционные системы обеспечивают пакетный и диалоговый режим работы.

В пакетном режиме операционная система автоматически исполняет заданную последовательность команд.

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

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

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

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

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

1. возможность одновременного выполнения нескольких приложений;

2. возможность обмена данными между приложениями;

3. возможность совместного использования программных, аппаратных и сетевых ресурсов вычислительной системы несколькими приложениями.


Похожая информация.


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

Операционная система - это комплекс программ, обеспечивающих:

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

Такое определение операционной системы уже апеллирует к ее функциям, поэтому рассмотрим эти функции подробнее.

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

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

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

Все эти аппаратные устройства обобщенно называют ресурсами компьютера.

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

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

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

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

При многозадачном режиме:

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

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

Суть режима разделения времени состоит в следующем. Каждой программе, находящейся в оперативной памяти и готовой к исполнению, выделяется для исполнения фиксированный, задаваемый в соответствии с приоритетом пользователя интервал времени (интервал мультиплексирования). Если программа не выполнена до конца за этот интервал, ее исполнение принудительно прерывается, и программа переводится в конец очереди. Из начала очереди извлекается следующая программа, которая исполняется в течение соответствующего интервала мультиплексирования, затем поступает в конец очереди и т.д. в соответствии с циклическим алгоритмом. Если интервал мультиплексирования достаточно мал (~200 мс), а средняя длина очереди готовых к исполнению программ невелика (~10), то очередной квант времени выделяется программе каждые 2 с. В этих условиях ни один из пользователей практически не ощущает задержек, так как они сравнимы со временем реакции человека.

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

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

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

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

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

Рис. 1.

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

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

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

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

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

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

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

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

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

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

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

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