Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Управление процессами и потоками
Одной из важнейших функцией ОС является выполнение прикладных программ. Код и данные прикладных программ сохраняются в компьютерной системе на диске в специальных исполняемых файлах. После того как пользователь или ОС решит запустить на исполнение такой файл, в системе будет создана базовая единица вычислительной работы, которая называется процессом. Процесс – это программа во время ее исполнения. ОС распределяет ресурсы между процессами. К таким ресурсам относится процессорное время, память, устройства ввода-вывода, дисковое пространство в виде файлов. При распределении памяти с каждым процессом связано его адресное пространство – набор адресов памяти, к которому ему разрешен доступ. В адресном пространстве сохраняется код и данные процесса. При распределении дискового пространства для каждого процесса формируется список открытых файлов, аналогично распределяются и устройства ввода-вывода. Процессы обеспечивают защиту ресурсов, которыми они владеют. Например, к адресному пространству невозможно непосредственно обратиться из других процессов, а при работе с файлами может быть задан режим, который запрещает доступ к файлу всем процессам, кроме поточного. Распределение процессорного времени необходимо из-за того, что процессор выполняет инструкции одна за одной, а для пользователя процессы должны выглядеть как последовательности инструкций, выполняемых параллельно. Что бы получить такой эффект, ОС дает процессор каждому процессу на некоторое короткое время, после чего переключает процессор на другой процесс при этом выполнение процессов возобновляется с места прерывания. В многопроцессорной системе процессы могут выполняться параллельно. Современные ОС кроме многозадачности могут поддерживать многопотоковость, которая подразумевает в рамках процесса наличие нескольких последовательностей инструкций, которые для пользователя выполняются параллельно, как и сами процессы в ОС. В отличии от процессов потоки не обеспечивают защиту ресурсов (например, они совместно используют адресное пространство своего процесса). Управление памятью Во время выполнения программного кода процессор берет инструкции и данные из оперативной (основной) памяти компьютера. При этом такая память отображается в виде массива байт, каждый из которых имеет адрес. ОС отвечает за выделение памяти под защищенное адресное пространство процесса и освобождение памяти после завершения выполнения процесса. Объем памяти, доступный процессу, может изменяться в ходе выполнения – это динамическое распределение памяти. ОС должна обеспечивать возможность выполнения программ, которые отдельно или в совокупности превышают по объему доступную основную память. Для этого в ней должна быть реализована технология виртуальной памяти. Такая технология дает возможность размещать в основной памяти только те инструкции и данные процесса, которые нужны в текущий момент времени, при этом содержимое другой части адресного пространства сохраняется на диске. ОС должна отслеживать свободную и занятую память; выделять память процессам; защищать память; освобождать память при завершении процесса; настраивать адреса программы на конкретную область физической памяти; вытеснять процессы из оперативной памяти на диск и обратно. Задачи подсистемы управления процессами: планирование выполнение процессов; создание и уничтожение процессов; обеспечение процессов необходимыми ресурсами; поддержка синхронизации процессов; обеспечение взаимодействия между процессами. Управление вводом-выводом ОС отвечает за управлениями устройствами ввода-вывода, подключенными к компьютеру. Поддержка таких устройств в ОС обычно выполняется на двух уровнях. К первому, нижнему, уровню относятся драйверы устройств – программные модули, которые управляют устройствами конкретного типа с учетом всех их особенностей. Ко второму уровню относится универсальный интерфейс ввода-вывода, удобный для использования в прикладных программах. ОС должна реализовывать общий интерфейс драйверов ввода-вывода, через который они взаимодействуют с другими компонентами системы. Такой интерфейс дает возможность упростить добавление в систему драйверов для других устройств. Современные ОС предоставляют большой выбор готовых драйверов для конкретных периферийных устройств. Чем больше устройств поддерживает ОС, тем больше у нее шансов на практическое использование. Управление файлами и файловыми системами Для пользователей ОС и прикладных программистов дисковое пространство предоставляется в виде совокупности файлов, организованных в файловую систему. Файл – это набор данных в файловой системе, доступ к которому осуществляется по имени. Термин «файловая система» может использоваться для двух понятий: принципа организации данных в виде файлов и конкретного набора банных (обычно соответственной части диска), организованных соответственно такому принципу. В рамках ОС может поддерживаться несколько файловых систем. Файловые системы рассматривают на логическом и физическом уровнях. Логический уровень определяет внешнее представление системы как совокупности файлов (кот. обычно находятся в каталогах), а также выполнение операций над файлами и каталогами. Физический уровень определяет принципы размещения структур данных файловой системы на диске или другом устройстве.
Сетевая поддержка Сетевые системы Современные ОС приспособлены для работы в сети, их называют сетевыми ОС. Средства сетевой поддержки дают ОС возможность: - предоставлять локальные ресурсы (дисковое пространство, принтеры и т.д.); - обращаться к ресурсам других компьютеров по сети, т.е. функционировать как клиент. Реализация функциональности сервера и клиента базируется на транспортных средствах, ответственных за передачу данных между компьютерами в соответствии сетевому протоколу. Распределенные системы Сетевые ОС не скрывают от пользователя наличие сети, сетевая поддержка не определяет в них структуру системы, а дает ей дополнительные возможности. Есть ОС, которые объединяют ресурсы нескольких компьютеров в распределенную систему. Для пользователя такая система выглядит как компьютер с несколькими процессорами. Безопасность данных Под защитой данных подразумевается обеспечение надежности системы (защиту данных от утраты в случае сбоев) и защиту данных от несанкционированного доступа, а так же аудит ОС, резервное копирование файлов и обеспечение отказоустойчивости аппаратуры и ПО. Для защиты от несанкционированного доступа ОС должна обеспечивать наличие средств аутентификации пользователей (система паролей) и их авторизации (проверка прав пользователя).
Интерфейс пользователя Есть два типа средств взаимодействия пользователя с ОС: командный интерпретатор и графический интерфейс пользователя. Командный интерпретатор дает возможность общения с ОС в командном режиме: интерактивно или через запуск командных файлов. Графический интерфейс пользователя дает возможность взаимодействовать с ОС, открывая окна и выполняя команды с помощью меню или кнопок. Подходы к реализации графического интерфейса различны: в Windows-системах средства его поддержи встроены в систему, а в Unix они являются внешними для системы и базируются на стандартных средствах управления вводом-выводом.
Классификация ОС Классификация ОС в зависимости от области их применения: ОС больших ЭВМ (мейнфреймов). Основной характеристикой аппаратного обеспечения, для которого их разрабатывают, является производительность ввода-вывода: большие ЭВМ оснащают значительным количеством периферийных устройств (дисплеев, терминалов, принтеров и т.д.). Такие ОС используют для надежной обработки значительных объемов данных, при этом ОС должна эффективно поддерживать эту обработку (в пакетном режиме или в режиме распределения времени). Примером такой ОС может быть OS/390 фирмы IBM. Серверные ОС. Главная характеристика таких ОС – способность обслуживать большое число запросов пользователей к совместно используемым ресурсам. Для таких систем важна сетевая поддержка. Сейчас для реализации серверов используют универсальные ОС Unix или системы линии Windows XP. Персональные ОС – самая массовая категория. Некоторые ОС этой категории разрабатыва с расчетом на непрофессионального пользователя (линия Windows 2000/ XP/7), другие являются упрощенными версиями универсальных ОС. Особенностью персональных ОС является поддержка графического интерфейса пользователя и мультимедиа-технологии. ОС реального времени. В такой системе каждая операция должна быть гарантированно выполнена в заданном временном интервале. Такие ОС могут управлять полетом космического корабля, технол. процессом и т.д. Существуют специализированные ОС реального времени, такие как QNX и VxWorks. Встроенные ОС. К ним относятся управляющие программы для разнообразных микропроцессорных систем, которые используют в военной технике, системах бытовой электроники, смарт-картах и др. устройствах. К таким системам предъявляют особые требования: размещение в малом объеме памяти, поддержка специализированных средств ввода-вывода, возможность прошивки в ПЗУ. Часто встроенные ОС разрабатывают под конкретное устройство. К универсальным встроенным ОС принадлежат Embedded Linux и Windows CE.
Лекция 2. Популярное:
|
Последнее изменение этой страницы: 2016-05-28; Просмотров: 968; Нарушение авторского права страницы