
- •Лекция 5.
- •Категории программного обеспечения
- •Основные части ОС
- •Процессы
- •Процессы
- •Классификация ОС
- •Классификация ОС
- •Файловая система
- •Файловая система
- •Файловая система
- •Примеры файловых систем
- •Интерфейс
- •Интерфейс
- •Первая системаГрафическийс графическим интерфейсом 8010 Star InformationинтерфейсSystem группы PARC, таким образом, появилась за
- •Рис. 5.8. Взаимодействие типов операционных систем, пользовательских интерфейсов и технологий их реализации
- •По мере развития аппаратных средств вычислительной техники и средств связи функции операционных систем
- •Вопросы
- •Вопросы

Лекция 5.
Операционные системы

Категории программного обеспечения
Все программы, работающие на компьютере, можно условно разделить на три категории:
прикладные программы, непосредственно обеспечивающие выполнение необходимых пользователям работ;
системные программы, выполняющие различные вспомогательные функции (управление ресурсами ЭВМ, создание копий используемой информации, проверку работоспособности устройств компьютера, выдачу справочной информации о компьютере и др.);
инструментальные программные системы, облегчающие процесс создания новых программ для компьютера.
Операционная система (ОС) – это |
Рис. 5.1. Категории программного обеспечения |
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
комплекс взаимосвязанных программ, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
обеспечивает управление ресурсами ЭВМ с целью |
|
|
|
|
|
|
|
|
|
|
|
ОС |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
их эффективного использования. |
|
|
|
Разработка |
|
|
|
||||||||||
ОС обеспечивает: |
|
|
|
|
функции |
|||||||||||||
|
|
|
|
программ |
|
|||||||||||||
|
осуществление диалога с пользователем (интерфейс); |
|
|
|
|
|
|
|
|
|
|
|
||||||
|
Распреде- |
|
|
|
|
|
|
|
|
|
|
|||||||
|
ввод-вывод и управление данными; |
|
|
|
|
|
|
|
|
|
|
|
||||||
|
ление |
|
|
|
|
|
|
|
|
|
|
Управление:: |
||||||
|
планирование и организация процесса обработки |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
ресурсов |
|
|
|
|
|
Отладка |
|
• |
|||||||||
|
программ; |
|
|
|
|
|
|
Заданиями |
||||||||||
|
|
распределение ресурсов (оперативной памяти, |
|
|
|
|
|
|
|
программ |
|
|
•Задачами |
|||||
|
|
Организация |
|
|
|
|
|
|
|
|||||||||
|
процессора, внешних устройств и т.д.); |
|
|
|
|
|
|
|
|
•Данными |
||||||||
|
запуск программ на выполнение; |
|
Мультипро- |
|
|
|
|
|
|
|
|
•Памятью |
||||||
|
всевозможные вспомогательные операции обслуживания; |
граммных |
Выполнение•Процессорами |
|||||||||||||||
|
программ |
• |
||||||||||||||||
|
передача информации между различными внутренними |
|
режимов |
|
устройствами |
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
устройствами; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
программная поддержка работы периферийных устройств |
|
|
|
|
|
|
Рис. 5.2. |
|
|
|
|
||||||
|
(дисплея, клавиатуры, накопителей на дисках, принтера и |
|
|
|
|
|
|
|
|
|
|
др.).

|
Основные понятия |
|
|
|
|
|
|
|
|
|
||
|
|
|
управляющих |
|
|
|
||||||
|
|
|
|
|
|
ОС |
|
|
|
|
||
Функцией ОС является распределение процессоров, |
|
|
|
|
Набор |
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
||
памяти, устройств и данных между процессами, |
|
|
|
программ |
|
|
|
|
||||
конкурирующими за эти ресурсы. |
|
|
|
|
|
|
|
|
|
|
|
|
ОС должна управлять всеми ресурсами вычислительной |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
машины таким образом, чтобы обеспечить |
|
|
|
Управление |
|
|
|
|||||
максимальную эффективность ее функционирования. |
|
|
|
ресурсами |
|
|
|
|
||||
Управление ресурсами включает решение двух общих, |
|
|
|
|
|
|
|
|
|
|
|
|
не зависящих от типа ресурса задач: |
|
|
|
|
|
|
|
|
|
|
|
|
Статическое |
|
|
|
|
Динамическое |
|
||||||
|
планирование (статическое распределение) |
|
|
|
|
|
||||||
распределение |
|
|
|
|
||||||||
|
|
распределение |
|
|||||||||
|
ресурса – то есть определение, кому, когда, а для |
(планирование) |
|
|
|
|||||||
|
|
|
|
|
ресурсов |
|
||||||
|
делимых ресурсов и в каком количестве, |
ресурсов |
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|||
|
необходимо выделить данный ресурс; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рис. 5.3. Виды распределений ресурсов |
|||||||||||
|
отслеживание состояния ресурса – то есть |
|||||||||||
|
поддержание оперативной информации о том, |
|
|
|
|
|
ОС |
|
|
|
|
|
|
занят или не занят ресурс, а для делимых ресурсов |
|
|
|
|
|
|
|
|
|
||
|
– какое количество ресурса уже распределено, а |
|
|
Режимы работы |
||||||||
|
какое свободно (динамическое распределение). |
вычислительной системы |
Для управления каждым из устройств – своя
|
специальная программа – драйвер. Драйверы |
Режим пакетной |
|
||||
|
стандартных устройств образуют в совокупности |
обработки |
|
|
|
||
|
базовую систему ввода-вывода (BIOS), которая обычно |
|
|
|
|
||
|
заносится в постоянное запоминающее устройство |
Диалоговый |
|
|
|
||
|
|
компьютера. |
|
|
|
||
|
Ядро ОС – небольшая часть кода ОС, относящаяся к |
режим |
|
|
Рис. 5.4. |
||
|
числу наиболее используемых компонент системы. |
Режим |
Основные |
||||
|
Функции ядра заключаются в следующем: |
режимы |
|||||
|
|
|
обработка прерываний; |
разделения |
|
|
функциони- |
|
|
|
|
||||
|
|
времени |
рования ОС |
||||
|
|
|
управление процессами; |
Режим |
|
||
|
|
|
поддержка операций ввода-вывода; |
|
|||
|
|
реального |
|
|
|
||
|
|
|
поддержка управления памятью; |
|
|
|
|
|
|
времени |
|
||||
|
|
|
поддержка работы файловой системы. |
|
|||
|
|
|
|
|
|

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

Процессы
Важнейшей частью операционной системы, непосредственно влияющей на функционирование вычислительной машины, является подсистема управления процессами. Процесс (или по-другому, задача) - абстракция, описывающая
выполняющуюся программу. Для операционной системы процесс представляет собой единицу работы, заявку на потребление системных ресурсов. Подсистема управления процессами планирует выполнение процессов, то есть распределяет процессорное время между несколькими одновременно существующими в системе процессами, а также занимается созданием и уничтожением процессов, обеспечивает процессы необходимыми системными
Рис. 5.6. Основные состояния процесса ресурсами, поддерживает взаимодействие между процессами.
Вмногозадачной (многопроцессной) системе процесс может находиться в одном из трех основных состояний:
ВЫПОЛНЕНИЕ - активное состояние процесса, во время которого процесс обладает всеми необходимыми ресурсами и непосредственно выполняется процессором; ОЖИДАНИЕ - пассивное состояние процесса, процесс заблокирован, он не может выполняться по
своим внутренним причинам, он ждет осуществления некоторого события, например, завершения операции ввода-вывода, получения сообщения от другого процесса, освобождения какого-либо необходимого ему ресурса; ГОТОВНОСТЬ - также пассивное состояние процесса, но в этом случае процесс заблокирован в
связи с внешними по отношению к нему обстоятельствами: процесс имеет все требуемые для него ресурсы, он готов выполняться, однако процессор занят выполнением другого процесса.
Входе жизненного цикла каждый процесс переходит из одного состояния в другое в соответствии с алгоритмом планирования процессов, реализуемым в данной операционной системе. Типичный граф состояний процесса показан на рис. 5.8.

Процессы
Процессы получают возможность работать, если им выделены физические процессоры. Распределение процессоров по процессам называется планированием загрузки процессоров. Этим занимается ОС.
Существует три уровня планирования заданий (рис. 5.9):
планирование на верхнем уровне (планирование заданий): решается, какие процессы могут конкурировать за захват ресурсов машины;
планирование на промежуточном уровне: решается, какие процессы могут захватывать процессор;
планирование на нижнем уровне: решается, какой процесс захватит процессор.
При планировании заданий необходимо руководствоваться следующими принципами:
справедливость;
максимальная пропускная способность;
приемлемое время ответа;
предсказуемость; |
•Рис. 5.7. Уровни планирования заданий |
исключение тупиковых ситуаций;
учет приоритетов.

Классификация ОС
Операционные системы могут различаться особенностями реализации внутренних алгоритмов управления основными ресурсами компьютера (процессорами, памятью, устройствами), особенностями использованных методов проектирования, типами аппаратных платформ, областями использования и многими другими свойствами.
Взависимости от особенностей использованного алгоритма управления процессором, операционные системы делятся:
на многозадачные и однозадачные;
многопользовательские и однопользовательские;
на системы, поддерживающие многонитевую обработку и не поддерживающие ее;
на многопроцессорные и однопроцессорные системы.
Взависимости от количества одновременно обрабатываемых задач и числа пользователей, которое могут обслуживать ОС, различают 4 основных класса ОС:
однопользовательские однозадачные: поддерживают одного пользователя и могут работать (в данный момент) только с одной задачей;
однопользовательские однозадачные с фоновой печатью: позволяют помимо основной задачи запускать одну дополнительную задачу, ориентированную, как правило, на вывод информации на печать;
однопользовательские многозадачные;
многопользовательские многозадачные (требуют значительных машинных ресурсов).
Поддержка многозадачности. По числу одновременно выполняемых задач операционные системы могут быть разделены на два класса:
однозадачные (например, MS-DOS) и многозадачные (OS/2, UNIX, MS Windows).
Однозадачные ОС в основном выполняют функцию предоставления пользователю виртуальной машины, делая более простым и удобным процесс взаимодействия пользователя с компьютером. Однозадачные ОС включают средства управления периферийными устройствами, средства управления файлами, средства общения с пользователем.
Многозадачные ОС, кроме вышеперечисленных функций, управляют разделением совместно используемых ресурсов, таких как процессор, оперативная память, файлы и внешние устройства.

Классификация ОС
Мультипрограммирование – это способ организации вычислительного процесса, при котором на одном процессоре попеременно выполняются несколько программ. Пока одна программа выполняет операцию ввода-вывода, процессор не простаивает, как это происходило при последовательном выполнении программ (однопрограммный режим), а выполняет другую программу (многопрограммный режим). При этом каждая программа загружается в свой участок оперативной памяти, называемый разделом.
Поддержка многопользовательского режима. По числу одновременно работающих пользователей ОС делятся на:
однопользовательские (примеры: MS-DOS, Windows 3.x, ранние версии OS/2); многопользовательские (примеры: UNIX, Windows NT).
Главным отличием многопользовательских систем от однопользовательских является наличие средств защиты информации каждого пользователя от несанкционированного доступа других пользователей. Следует заметить, что не всякая многозадачная система является многопользовательской, и не всякая однопользовательская ОС является однозадачной.
Многопроцессорная обработка. Другим важным свойством ОС является отсутствие или наличие в ней средств поддержки многопроцессорной обработки - мультипроцессирование.
Мультипроцессирование приводит к усложнению всех алгоритмов управления ресурсами.
В наши дни становится общепринятым введение в ОС функций поддержки многопроцессорной обработки данных. Такие функции имеются в операционных системах Solaris фирмы Sun, OS/2 фирмы IBM, Windows NT фирмы Microsoft и NetWare фирмы Novell.

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

Файловая система
Файловая система— регламент, определяющий способ организации, хранения и именования данных на носителях информации. Она определяет формат физического хранения информации, которую принято группировать в виде файлов. Конкретная файловая система определяет:
размер имени файла,
максимальный возможный размер файла,
набор атрибутов файла.
Некоторые файловые системы предоставляют сервисные возможности, например, разграничение доступа или шифрование файлов.
Файловая система устанавливает, где и как будет записан файл на физическом носителе (например: жестком диске, CD или блоке флэш-памяти). С точки зрения операционной системы весь диск представляет из себя набор кластеров размером от 512 байт и выше. Драйверы файловой системы организуют кластеры в файлы и каталоги (реально являющиеся файлами, содержащими список файлов в этом каталоге). Эти же драйверы отслеживают, какие из кластеров в настоящее время используются, какие свободны, какие помечены как неисправные. Однако файловая система не обязательно напрямую связана с физическим носителем информации. Существуют виртуальные и сетевые файловые системы, которые являются лишь способом доступа к файлам, находящимся на удалённом компьютере.
Файл – именованная область памяти для хранения данных.
Файлы можно разделить на текстовые и бинарные (по другому - двоичные ) файлы.
Текстовые - файлы, в которых используются в качестве информационных символы с шестнадцатеричными кодами 20h-7Eh (32 -126 десятичными) и 80h-7Eh (128–254 десятичными), можно выделить подмножество чистых ASCII файлов, информационные символы которых имеют только коды с номерами 20h–7Eh.
Двоичные файлы - из любых символов. Их длина определяется из заголовка файла.
Назначение и обработка бинарных и текстовых файлов в операционных системах различаются.
Также файлы можно разделить на
исполняемые (программы) и неисполняемые (файлы данных и документов).
Далее можно разделить файлы на
основные, обязательны для работы ОС и программных продуктов,
служебные, хранящие конфигурацию и настройки основных файлов,
рабочие, содержимое которых изменяется в результате работы основных программных файлов,
а также временные файлы, создающиеся в момент работы основных и хранящие промежуточные результаты.