
- •М онолитные
- •Модульные
- •Ос с микроядром
- •Виртуальные машины
- •М онолитные ос
- •Ос с микроядром
- •Процессы и потоки в ос. Необходимость синхронизации при работе с общими ресурсами. Способы синхронизации.
- •Механизмы синхронизации. Понятие семафора (Semaphore) и основные операции с ним. Двоичный семафор.
- •Механизмы синхронизации. Понятие мьютекса (Mutex) и основные операции с ним. Пример использование мьютекса для синхронизации нитей.
- •Права доступа к файлу
- •1. Стандарт cp/m
- •2. Операционные системы типа dos
- •3. Стандарт msx
- •4. Операционные системы, основанные на графическом интерфейсе
- •6. Операционные системы семейства unix
Задачи и функции операционной системы компьютера. Классификация ОС. Основные современные ОС.
Операцио́нная систе́ма, сокр. ОС (англ. operating system) — комплекс управляющих и обрабатывающих программ, которые, с одной стороны, выступают как интерфейс между устройствами вычислительной системы и прикладными программами, а с другой — предназначены для управления устройствами, управления вычислительными процессами, эффективного распределения вычислительных ресурсов между вычислительными процессами и организации надёжных вычислений.
Основные функции ОС:
Выполнение по запросу программ тех достаточно элементарных (низкоуровневых) действий (ввод и вывод данных, запуск и остановка других программ, выделение и освобождение дополнительной памяти и др.).
Загрузка программ в оперативную память и их выполнение.
Стандартизованный доступ к периферийным устройствам (устройства ввода-вывода).
Управление оперативной памятью (распределение между процессами, организация виртуальной памяти).
Управление доступом к данным на энергонезависимых носителях (таких как жёсткий диск, оптические диски и др.), организованным в той или иной файловой системе.
Обеспечение пользовательского интерфейса.
Сетевые операции, поддержка стека сетевых протоколов.
Дополнительные функции:
Параллельное или псевдопараллельное выполнение задач (многозадачность).
Эффективное распределение ресурсов вычислительной системы между процессами.
Разграничение доступа различных процессов к ресурсам.
Организация надёжных вычислений (невозможности одного вычислительного процесса намеренно или по ошибке повлиять на вычисления в другом процессе), основана на разграничении доступа к ресурсам.
Взаимодействие между процессами: обмен данными, взаимная синхронизация.
Защита самой системы, а также пользовательских данных и программ от действий пользователей (злонамеренных или по незнанию) или приложений.
Многопользовательский режим работы и разграничение прав доступа (см. аутентификация, авторизация).
Классификация ОС:
Универсальные ОС
использующие файловые системы
многопользовательские (разделение полномочий)
многозадачные (разделение времени)
Специализированные ОС
Системы реального времени
Сверхнадежные системы
Встроенные системы
Многозадачность и распределение полномочий требуют определённой иерархии привилегий компонентов самой ОС. В составе ОС различают три группы компонентов:
ядро, содержащее планировщик; драйверы устройств, непосредственно управляющие оборудованием; сетевая подсистема, файловая система;
системные библиотеки;
оболочка с утилитами.
Классификация вычислительных систем (ВС – машина + обеспечение):
Суперкомпьютер
Супер-сервер
Сервер масштаба подразделения
Сервер группы
Персональный компьютер
Современные ОС:
MS Windows
Apple Mac OS X
Linux
IPhone
Архитектура современных ОС. Структура ОС UNIX
М онолитные
Пользовательский режим >>> режим процессора >>> оборудование
Моноли́тное ядро́ — классическая архитектура ядер операционных систем. Монолитные ядра предоставляют богатый набор абстракций оборудования. Все части монолитного ядра работают в одном адресном пространстве.
Ранние Unix, Novell Netware, Mac OS, IBM OS/370
Модульные
Модуль – функционально законченный элемент системы, отвечающий требованиям межмодульного интерфейса. ВСЕ современные ОС модульные!
Модульное ядро — современная, усовершенствованная модификация архитектуры монолитных ядер операционных систем. В отличие от «классических» монолитных ядер, модульные ядра, как правило, не требуют полной перекомпиляции ядра при изменении состава аппаратного обеспечения компьютера. Вместо этого модульные ядра предоставляют тот или иной механизм подгрузки модулей ядра, поддерживающих то или иное аппаратное обеспечение (например, драйверов). При этом подгрузка модулей может быть как динамической (выполняемой «на лету», без перезагрузки ОС, в работающей системе), так и статической (выполняемой при перезагрузке ОС после переконфигурирования системы на загрузку тех или иных модулей).
Ос с микроядром
Микроядро — это минимальная реализация функций ядра операционной системы.
К
лассические
микроядра предоставляют лишь очень
небольшой набор низкоуровневых
примитивов, или системных вызовов,
реализующих базовые сервисы операционной
системы.
Сюда относятся:
управление адресным пространством оперативной памяти.
управление адресным пространством виртуальной памяти.
управление процессами и потоками (нитями).
средства межпроцессной коммуникации.
Виртуальные машины
Построение виртуальных ресурсов, их распределение и использование в настоящее время имеет место почти в каждой ОС. Этот принцип позволяет представить структуру системы в виде определенного набора планировщиков процессов и распределителей ресурсов и использовать единую централизованную схему распределения ресурсов. Понятие виртуальная машина является итогом концепции виртуальности. Любая ОС, являясь средством распределения ресурсов и организуя по определенным правилам управление процессами, скрывает от пользователя и его приложений реальные аппаратные и иные ресурсы, заменяя их абстракциями. Пользователь видит виртуальную машину как некое устройство, способное воспринимать его программы и команды. Пользователя не интересует реальная конфигурация вычислительной системы и способы управления ее компонентами. Он оперирует с теми ресурсами, которые ему предоставлены в рамках виртуальной машины. Виртуальная машина, предоставляемая пользователю, воспроизводит архитектуру реальной машины, но архитектурные элементы в таком представлении имеют новые или улучшенные характеристики, часто упрощающие работу с системой. Характеристики могут быть произвольными, но обычно пользователи хотят видеть идеальную по своим архитектурным характеристикам машину:
единообразная по логике работы память практически неограниченного объема.
произвольное количество (виртуальных) процессоров, способных работать параллельно и взаимодействовать во время работы.
произвольное количество (виртуальных) внешних устройств, способных работать с памятью виртуальной машины параллельно или последовательно, асинхронно или синхронно по отношению к работе того или иного виртуального процессора, которые инициируют работу этих устройств.
ОС Unix:
Особенности UNIX, отличающие данное семейство от других ОС:
Файловая система древовидная, чувствительная к регистру символов в именах, очень слабые ограничения на длину имён.
Нет поддержки структурированных файлов ядром ОС, на уровне системных вызовов файл есть поток байт.
Командная строка находится в адресном пространстве запускаемого процесса, а не извлекается системным вызовом из процесса интерпретатора команд .
Запуск процессов вызовом fork(), то есть возможность клонирования текущего процесса со всем состоянием.
Понятия stdin/stdout/stderr.
Ввод/вывод только через дескрипторы файлов.
Традиционно крайне слабая поддержка асинхронного ввода/вывода, по сравнению с VMS и Windows NT.
Архитектура современных ОС. Структура ОС Windows NT.
Архитектура Windows NT имеет модульную структуру и состоит из двух основных уровней — компоненты, работающие в режиме пользователя и компоненты режима ядра. Программы и подсистемы, работающие в режиме пользователя имееют ограничения на доступ к системным ресурсам. Режим ядра имеет неограниченный доступ к системной памяти и внешним устройствам. Ядро системы NT называют гибридным ядром или макроядром. Архитектура включает в себя само ядро, уровень аппаратных абстракций (HAL), драйверы и ряд служб (Executives), которые работают в режиме ядра (Kernel-mode drivers) или в пользовательском режиме (User-mode drivers).
Пользовательский режим Windows NT состоит из подсистем, передающих запросы ввода\вывода соответствующему драйверу режима ядра посредством менеджера ввода\вывода. Есть две подсистемы на уровне пользователя: подсистема окружения (запускает приложения, написанные для разных операционных систем) и интегрированная подсистема (управляет особыми системными функциями от имени подсистемы окружения). Режим ядра имеет полный доступ к аппаратной части и системным ресурсам компьютера. И также предотвращает доступ к критическим зонам системы со стороны пользовательских служб и приложений.
Windows API (application programming interfaces) — общее наименование целого набора базовых функций интерфейсов программирования приложений операционны систем семейств Windows и Windows NT корпорации «Майкрософт». Является самым прямым способом взаимодействия приложений с Windows.
Архитектура современных ОС. Системы с монолитным ядром и с микроядром.
Ядро́ — центральная часть операционной системы (ОС), обеспечивающая приложениям координированный доступ к ресурсам компьютера, таким как процессорное время, память и внешнее аппаратное обеспечение. Также обычно ядро предоставляет сервисы файловой системы и сетевых протоколов.