Что значит состояние ос.  Что такое операционная система

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

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

В качестве ресурсов компьютера обычно рассматривают:

  • - время работы процессора;
  • - адресное пространство основной памяти;
  • - оборудование ввода-вывода;
  • - файлы, хранящиеся во внешней памяти.

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

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

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

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

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

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

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

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

На сегодняшний момент самой распространенной операционной системой на ПК является операционная система Windows фирмы Microsoft. Количество проданных копий Windows измеряется сотнями миллионов.

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

Из чего состоит операционная система?

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

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

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

1. По числу одновременно работающих пользователей ОС бывают: однопользовательские (старые версии, например, MS-DOS, Windows 3.x, ранние версии OS/2) и многопользовательские (например, UNIX, Windows NT).

2. По количеству одновременно выполняемых задач: однозадачные (например, MSX, MS-DOS) и многозадачные Windows 95, UNIX).

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

Рассмотрим теперь основные функции операционной системы:

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

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

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

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

Linux, Windows, Mac OS? Зачем они нужны? Понимание того, как работают операционные системы, поможет создавать качественные приложения.

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

Если стремитесь построить карьеру программиста, стоит понять, как работают операционные системы. Например, можно изучить курс «Введение в операционные системы» от Georgia Tech. В нем рассказывается, как работают ОС: механизмы работы, параллельное программирование (потоки и синхронизация), взаимодействие между процессами, распределённые ОС.

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

Что такое операционная система

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

Файловая система, планировщик и драйверы – всё это основные инструменты работы ОС.

Существует три ключевых элемента операционной системы:

  1. Абстракции (процессы, потоки, файлы, сокеты, память).
  2. Механизмы (создание, управление, открытие, запись, распределение).
  3. Реализации (алгоритмы LRU, EDF).

Кроме того, есть два основных принципа проектирования операционных систем:

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

Теперь подробнее разберём глобальные концепции, которые помогут сформировать понимание того, как работают операционные системы.

Процессы и управление

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

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

  • Stack: стек процесса содержит временные данные, такие как параметры метода, адрес возврата и локальные переменные.
  • Heap: это динамически распределяемая память процесса времени его выполнения.
  • Text: хранит состояние регистров, состояние программного счетчика, режим работы процессора, незавершенные операции ввода-вывода, информацию о выполненных системных вызовах.
  • Data: раздел содержит глобальные и статические переменные.

Когда процесс выполняется, он проходит через разные состояния. Эти этапы могут различаться в разных операционных системах.

Общая картина выглядит так:

  • Start: начальное состояние при создании процесса.
  • Ready: процесс ожидает исполнения на процессоре. В течение работы процессор может переключаться между процессами, переводя одни в режим готовности, другие – в режим исполнения.
  • Running: выполнение инструкций.
  • Wait: процесс переходит в состояние ожидания. Например, ждёт ввода данных или получения доступа к файлу.
  • Terminated: как только процесс завершится, он перейдёт в это состояние и будет ожидать удаления.

Немного терпения: мы уже близки к пониманию того, как работают операционные системы 😉

Блок управления процессов (Process Control Block) – это структура данных, поддерживаемая операционной системой для каждого процесса. PCB имеет идентификатор PID. Именно PCB хранит всю информацию, необходимую для отслеживания процесса.

  • Process ID: идентификатор каждого из процессов в ОС.
  • State: текущее состояние процесса.
  • Privileges: разрешения доступа к системным ресурсам.
  • Pointer: указатель на родительский процесс.
  • Priority: приоритет процесса и другая информация, которая требуется для планирования процесса.
  • Program Counter: указатель на адрес следующей команды, которая должна быть выполнена.
  • CPU registers: регистры процессора, необходимые для состояния исполнения.
  • Accounting Information: уровень нагрузки на процессор, статистика и другие данные.
  • I/O Information: список ресурсов, использующих чтение и запись.

Потоки и параллелизм

Поток (нить, thread) – это ход исполнения программы. Он также имеет свой program counter, переменные, стек.

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

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

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

Чем хороши потоки:

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

Потоки имеют два уровня реализации:

  • Пользовательский уровень, то есть потоки, управляемые приложениями;
  • Уровень ядра, то есть потоки, управляемые ядром операционной системы.

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

Во втором случае ядро выполняет создание потоков, а ещё планирование и управление в пространстве ядра. Заметим, что потоки ядра обычно медленнее, чем потоки пользователей.

Планирование

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

ОС поддерживает все блоки управления процессом (PCB) в очередях планирования процесса:

  • Очередь задач (job queue) поддерживает все процессы в системе.
  • Очередь ожидания (ready queue) хранит информацию обо всех процессах, находящихся в основной памяти в состоянии ожидания. В эту очередь попадают и новые процессы.
  • Очереди из устройств (device queue) – это процессы, заблокированные из-за недоступности устройств ввода-вывода.

ОС может использовать разные методы реализации для управления очередями (FIFO, Round Robin, Priority). Планировщик ОС определяет, когда и как перемещать процессы между готовыми и запущенными очередями (могут иметь только одну запись на ядро ​​процессора в системе). На приведенной выше диаграмме он был объединен с процессором.

Модели состояния делятся на активные и неактивные:

  • Активные: при создании нового процесса он переходит в класс активных.
  • Неактивные: процессы, которые не выполняются, а ждут завершения других процессов. Каждая запись в очереди является указателем на конкретный процесс. Очередь реализуется с использованием связанного списка. Использование диспетчера заключается в следующем: когда процесс прерывается, то переносится в очередь ожидания. Если процесс завершен или отменен – он отменяется вовсе.

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

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

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

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

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

Адресное пространство процесса – набор логических адресов, к которым программа обращается в коде. Например, если используется 32-битная адресация, то допустимые значения варьируются от 0 до 0x7fffffff, то есть 2 Гб виртуальной памяти.

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

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

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

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

Межпроцессорное взаимодействие

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

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

Межпроцессная коммуникация (IPC) – это механизм, который позволяет процессам взаимодействовать друг с другом и синхронизировать действия. Связь между этими процессами может рассматриваться как сотрудничество.

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

Метод использования общей памяти

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

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

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

Аналогично потребитель сначала проверит наличие товара, и если ни один элемент не будет доступен, придётся ждать его освобождения.

Метод анализа сообщений

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

  • Устанавливается связь (если её ещё не существует).
  • Начинается обмен сообщениями с помощью базовых примитивов. Нам нужно как минимум два примитива – отправить (сообщение, пункт назначения) или получить (сообщение).

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

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

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

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

  • Блочные: то есть устройства, с которыми драйверы связываются, отправляя целые блоки данных. Например, жесткие диски, USB-камеры, Disk-On-Key.
  • Символьные: те устройства, с которыми драйвер связывается, отправляя и получая одиночные символы (байты или октеты). Например, последовательные порты, параллельные порты, звуковые карты и так далее.

ЦПУ должен иметь способ передачи информации на устройство ввода-вывода и обратно. И есть три способа сделать это:

  1. Специальные инструкции

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

  1. Входы и выходы с отображением памяти

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

  1. Прямой доступ к памяти (DMA)

Медленные устройства, такие как клавиатуры, генерируют прерывания ЦПУ после передачи каждого байта. Если бы быстрые устройства работали похожим образом, то ОС бы тратила большую часть времени впустую, на обработку этих прерываний. Поэтому для снижения нагрузки обычно используется прямой доступ к памяти (DMA).

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

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

Виртуализация

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

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

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

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

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

Типы виртуализации

  1. Данные: позволяет компаниям обеспечивать вычислительные мощности для объединения данных из нескольких источников, размещения новых источников и преобразования данных в соответствии с потребностями пользователя.
  2. Рабочий стол: легко спутать с виртуализацией операционной системы. Виртуализация рабочего стола позволяет центральному администратору одновременно развёртывать смоделированные среды на сотнях физических машин. Виртуальные системы позволяют администраторам выполнять массовые конфигурации, обновления и проверки безопасности на всех устройствах сразу.
  3. Серверы : программная имитация с помощью специального ПО аппаратного обеспечения компьютера: процессор, память, жесткий диск, и т. д. На такой виртуальный компьютер можно установить операционную систему, и она будет на нем работать точно так же, как и на простом, «железном» компьютере. Самое интересное достоинство этой технологии – это возможность запуска нескольких виртуальных компьютеров внутри одного физического. При этом, все виртуальные компьютеры могут работать независимо друг от друга.
    Сервер – компьютер, спроектированный под выполнение большого объема специфических задач. Виртуализация сервера позволит ему выполнять больше этих специальных задач, а также разделить функционал на разные компоненты.
  4. ОС : это способ одновременного запуска Linux и Windows-сред. Преимущество в том, что это уменьшает затраты на оборудование, повышает безопасность и экономит время на обслуживании.
  5. Сетевые функции : разделяет ключевые функции сети (например, службы каталогов, общий доступ к файлам и IP-конфигурацию) для распределения между средами. Виртуальные сети сокращают количество физических компонентов: коммутаторов, маршрутизаторов, серверов, кабелей.

Система файловой дистрибуции

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

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

Сетевая файловая система Sun Microsystems (NFS), Novell NetWare , распределенная файловая система Microsoft и DFS от IBM являются примерами распределенных файловых систем.

Распределенная общая память

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

Преимущества распределенной общей памяти:

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

Облачные вычисления

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

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

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

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

Итоги

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

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

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

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

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

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

ОС реализует много различных функций, в том числе:

Создает рабочую среду и поддерживает пользовательский интерфейс ;

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

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

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

Планирует доступ пользователей к общим ресурсам;

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

Осуществляет восстановление информации в случае аппаратных сбоев и программных ошибок.

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

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

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

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

Управляющая программы;

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

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

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


Осуществление диалога с пользователем;

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

Планирование и организация процесса обработки программ;

Распределение ресурсов (оперативной памяти и кэша, процессора, внешних устройств);

Запуск программ на выполнение;

Всевозможные вспомогательные операции обслуживания;

Передача информации между различными внутренними устройствами;

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

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

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

Совместимость - ОС должна включать средства для выполнения приложений, подготовленных для других ОС;

Переносимость - обеспечение возможности переноса ОС с одной аппаратной платформы на другую;

Надежность и отказоустойчивость - предполагает защиту ОС от внутренних и внешних ошибок, сбоев отказов;

Безопасность - ОС должна содержать средства защиты ресурсов одних пользователей от других;

Расширяемость - ОС должна обеспечивать удобство внесения последующих изменений и дополнений;

Производительность - система должна обладать достаточным быстродействием.

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

По числу одновременно выполняемых задач выделяют ОС:

Однозадачные (MS DOS, ранние версии PS DOS);

Многозадачность бывает:

Невытесняющая (Net Ware, Windows 95/98), когда активный процесс по окончании сам передает управление ОС для выбора из очереди другого процесса;

Вытесняющая (Windows NT, OS/2, UNIX) - решение о переключении процессора с одного процесса на другой принимает ОС.

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

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

Многопользовательские (UNIX, Windows 2000, NT, XP, Vista). В многопользовательских системах присутствуют средства защиты информации пользователей от несанкционированного доступа.

В настоящий момент около 90% компьютеров используют ОС Windows.

Различают четыре основных класса операционных систем:

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

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

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

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

Операционная система для персонального компьютера, ориентированного на профессиональное применение, должна содержать следующие основные компоненты:

Программы управления вводом/выводом;

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

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

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

Обращаться к каталогу;

Выполнять разметку внешних носителей;

Запускать программы;

Другие действия.

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

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

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

ОС Linux - сетевая ОС, ядро которой разработано на базе ОС Unix. Linux распространяется в исходных кодах и применяется для создания серверов в вычислительных сетях и в Интернете.

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

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

Операционная система: назначение и состав

На IBM-совместимых персональных компьютерах используются операционные системы корпорации Microsoft Windows 9х/МЕ, свободно распространяемая операционная система Linux. На персональных компьютерах фирмы Apple используются различные версии операционной системы Mac OS. На рабочих станциях и серверах наибольшее распространение получили операционные системы Windows NT/2000/XP и UNIX.

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

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

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

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

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

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

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

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

Технология "Plug and Play" (подключи и играй) позволяет автоматизировать подключение к компьютеру новых устройств и обеспечивает их конфигурирование. В процессе установки Windows определяет тип и конкретную модель установленного устройства и подключает необходимый для его функционирования драйвер. При включении компьютера производится загрузка драйверов в оперативную память.

Пользователь имеет возможность вручную установить или переустановить драйверы.

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

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

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

Что такое операционная система и как она управляет ПК

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

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

т

Пользователь

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

Аппаратные средства и программы компьютера

Рис. 2.1

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

Обслуживание нестандартных ситуаций в ходе выполнения программы;

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

Организация хранения и поиска программ и данных на внешних носителях; - организация взаимодействия пользователя и операционной системы - прием и выполнение команд пользователя;

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

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

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

    1. Краткий обзор операционных систем

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

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

    операционная система MS DOS фирмы Microsoft или совместимые с ней операционные системы - PC DOS фирмы IBM и Novell DOS фирмы Novell и др. Мы будем называть эти ОС общим названием DOS;

    операционная система Windows фирмы Microsoft, точнее, Windows версий 3.1 или 3.11 или Windows for Workgroups 3.11 (это расширение Windows с поддержкой одноранговых локальных сетей);

    операционные системы Windows 95 и Windows NT Workstation (версий 3.51 и 4.0), Windows 2000, Windows XP фирмы Microsoft ;

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

Что такое Windows XP?

Это OC от Microsoft, начиная с которой сделана попытка объединить две, ранее существовавшие независимо, версии Windows 9Х и NT. Первоначально этот проект назывался Whisler, но сейчас он разделился на две линии, Windows XP, позиционирующуюся на замену W9x и W2kPro, и Windows.NET, позиционирующуюся на замену NT Server всех сортов. Вне зависимости от названия, все они является прямыми наследниками Windows 2000, и продолжателями линейки Windows NT. Этот факт и определяет основные особенности Windows XP. Это полностью 32 разрядная ОС с приоритетной многозадачностью. В её основе лежат те же принципы, на которых базировались все NT.

    1. Рабочий стол и его структура

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

Рабочий стол

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

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

Рис. 2.2

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

На рабочем столе размещены следующие объекты (рис 2.3):

Рис. 2.3

Мои документы – содержат документы пользователя (рис. 2.4)

Рис.2.4

Internet Explorer – содержит программу для просмотра Интернет страниц (рис 2.5)

Рис. 2.5

Мой компьютер – отображает список дисков и дополнительных устройств хранения информации (рис. 2.6)

Рис. 2.6

Сетевое окружение – отображает список подключенных компьютеров к сети (рис 2.7)

Рис. 2.7

Корзина – содержат список удаленных объектов (рис. 2.8)

Рис. 2.8

    1. Структура окна Windows

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

Рис. 2.9


Рис. 2.10

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

Кроме окон, на экране Windows могут присутствовать пиктограммы - значки окон. Многие окна Windows могут быть «свернуты» в пиктограммы, это делается тогда, когда соответствующее окно временно не нужно (пиктограммы обычно помещаются в нижней части экрана). А когда окно снова становится необходимым, его можно сразу же «развернуть» из пиктограммы двойным щелчком по пиктограмме.

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

Окна Windows

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

Рис. 2.11

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

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

Под строкой заголовка окна может располагаться строка меню (рис. 2.12).

Рис. 2.12

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

Рис. 2.13

При работе с Windows на экране могут появляться три разновидности окон:

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

    так называемые вторичные окна, создаваемые программами.

    • Например

      • Редакторы документов - в них выводят обрабатываемые документы,

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

        Диспетчер Программ - группы программ и т.д.;

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

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

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

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

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

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

Работа со всеми типами окон с помощью мыши осуществляется практически одинаково. А при использовании клавиатуры следует помнить, что переход от одного окна программы к другому осуществляется нажатием комбинации клавиш , а от одного вторичного окна к другому (открытому той же программой) - нажатием (Ctrl + F 6) (см. ниже). Закрытие окна программы осуществляется комбинацией клавиш (Alt + F4), вторичного окна - , окна запроса - нажатием .