51 Операционные системы (1006440)
Текст из файла
-
Операционные системы, их основные функции. Архитектуры ОС. Понятие ядра ОС. Монолитные, иерархические и микроядерные ОС.
Операционная система (ОС) – это комплекс программ, который загружается при включении компьютера. ОС производит диалог пользователем, осуществляет управление компьютером, его ресурсами (оперативной памятью, местом на дисках и т.д.), запускает другие (прикладные) программы на выполнение. Операционная система обеспечивает пользователю и прикладным программам удобный способ общения (интерфейс) с устройствами компьютера.
Элементарные операции для работы с устройствами компьютера и управления ресурсами компьютера – это операции очень низкого уровня. Действия, необходимые пользователю и прикладным программам, состоят из нескольких сотен или тысяч таких элементарных операций. Именно их и выполняет ОС.
Операционная система скрывает от пользователя эти сложные и ненужные ему подробности и предоставляет ему удобный интерфейс для работы. Она выполняет так же различные вспомогательные действия, например, копирование или печать файлов. Кроме того, операционная система осуществляет загрузку в оперативную память всех программ, передаёт им управление в начале их работы, выполняет различные вспомогательные действия по запросу выполняемых программ и освобождает занимаемую программами оперативную память при их завершении.
Операционная система – это комплекс программ, организующих управление работой компьютера и его взаимодействие с пользователем. Операционные системы для персонального компьютера можно различать по нескольким параметрам: 1) однозадачные и многозадачные; 2) однопользовательские и многопользовательские.
Однозадачные операционные системы позволяют запустить одновременно несколько программ, которые будут работать параллельно, не мешая друг другу.
Однопользовательские операционные системы позволяют работать на компьютере только одному человеку. В многопользовательской системе работу можно организовать так, что каждый пользователь будет иметь доступ к информации общего доступа, введя пароль, к личной информации, доступной только ему. Например, UNIX позволят нескольким пользователям одновременно работать на одном компьютере с помощью так называемых терминалов, в роли которых могут выступать либо специализированные устройства (видеомонитор с клавиатурой), либо запущенная на ПК специальная программа. Терминал может находиться в нескольких метрах или в нескольких тысячах километров от компьютера. Терминал может быть связан с основным компьютером и через локальную сеть или Internet.
Основные функции:
-
Обеспечение интерфейса с пользователем
-
Обеспечение загрузки пользовательских программ в оперативную память и их исполнение
-
Разделение аппаратных ресурсов между пользователем
-
Обеспечение возможности работы с общими данными
-
Планирование доступа пользователя к общим ресурсам
-
Обеспечение работы с устройствами долговременной памяти, такими как магнитные диски, ленты, оптические диски и т.д. Как правило, ОС управляет свободным пространством на этих носителях и структурирует пользовательские данные
-
Обеспечение эффективного выполнения ввода/вывода
-
Осуществление восстановления информации после сбоев
-
Параллельное (точнее, псевдопараллельное, если машина имеет только один процессор) исполнение нескольких задач.
-
Распределение ресурсов компьютера между задачами.
-
Организация взаимодействия задач друг с другом.
-
Взаимодействие пользовательских программ с нестандартными внешними устройствами.
-
Организация межмашинного взаимодействия и разделения ресурсов.
-
Защита системных ресурсов, данных и программ пользователя, исполняющихся процессов и самой себя от ошибочных и зловредных действий пользователей и их программ.
Архитектура ОС.
Под архитектурой ОС обычно понимают структурную организацию ОС на основе программных модулей.
Единой архитектуры ОС не существует, но существуют универсальные подходы
к структурированию ОС.
Наиболее общим подходом к структуризации операционной системы является разделение всех ее модулей на две группы:
· ядро — модули, выполняющие основные функции ОС;
· модули, выполняющие вспомогательные функции ОС.
Ядро - центральная часть операционной системы, выполняющая основные функции управления системой:
- управление виртуальной памятью;
- поддержка выполнения процессов;
- организация взаимодействия процессов;
- обслуживание ввода/вывода данных и прерываний.
В состав ядра входят функции, решающие внутрисистемные задачи организации вычислительного процесса, такие как переключение контекстов, загрузка/выгрузка станиц, обработка прерываний. Эти функции недоступны для приложений. Другой класс функций ядра служит для поддержки приложений, создавая для них так называемую прикладную программную среду. Приложения могут обращаться к ядру с запросами — системными вызовами — для выполнения тех или иных действий, например для открытия и чтения файла, вывода графической информации на дисплей, получения системного времени и т. д. Функции ядра, которые могут вызываться приложениями, образуют интерфейс прикладного программирования — API.
Функции, выполняемые модулями ядра, являются наиболее часто используемыми функциями операционной системы, поэтому скорость их выполнения определяет производительность всей системы в целом. Для обеспечения высокой скорости работы ОС все модули ядра или большая их часть постоянно находятся в оперативной памяти, то есть являются резидентными.
Вспомогательные модули подразделяются на следующие группы:
-
утилиты - программы, которые решают отдельные задачи управления и сопровождения компьютерной системы (сжатие, дефрагментация …);
-
библиотеки процедур и функций различного назначения (библиотека математических функций, библиотека функций ввода-вывода и т.д.);
-
программы предоставления пользователю дополнительных услуг - специальный вариант пользовательского интерфейса, калькулятор, некоторые игры;
системные обрабатывающие программы - текстовые и графические редакторы, компиляторы, компоновщики, отладчики.
В монолитных ОС модули ядра связаны перекрестными связями, которые могут быть очень сложными. Любые изменения в модуле вызывают перекомпиляцию ядра.
Современные ОС создаются по многослойному принципу. Модуль или группа модулей определяют какую-либо функциональную возможность ОС. Здесь легче вносить изменения, проектировать, есть возможность работы группы программистов, легко наращивать ОС. Иногда, для универсализации проектирования, модули используют стандартные связи (обычно это избыточные ОС с избыточностью 30% по связям).
Модульный подход привел к тенденции проектирования ОС в виде слоев – модулей, где каждый слой реализует определенные функциональные возможности. Многослойный подход является универсальным и эффективным способом декомпозиции сложных систем любого типа, в том числе и программных. Число слоев зависит от концепций, используемых разработчиками компьютеров. Иерархичность состоит в том, что модуль одного уровня может обращаться к модулю предшествующего уровня. По этому принципу был построен целый ряд ОС. Такая организация системы имеет много достоинств. Она существенно упрощает разработку системы, так как позволяет сначала определить «сверху вниз» функции слоев и межслойные интерфейсы, а затем при детальной реализации постепенно наращивать мощность функций слоев, двигаясь «снизу вверх». Кроме того, при модернизации системы можно изменять модули внутри слоя без необходимости производить какие-либо изменения в остальных слоях, если при этих внутренних изменениях межслойные интерфейсы остаются в силе.
Многослойная архитектура ядра ОС:
Управление заданием
Ядро нулевого слоя
слой2 слой1
Уровень 1 – управление процессами нижнего уровня:
-
Семафоры синхронизации
-
Планирование процессов
Часть этих программ определяется виде микрокода.
Уровень 2 – управление памятью:
-
Выделение ЗУ
-
Высвобождение ЗУ
Уровень 3 – управление процессами, создание и удаление процессов, обмен сообщениями, остановка и запуск процессов.
Уровень 4 – Управление устройствами:
-
Отслеживание состояний устройств
-
Планирование ввода/вывода
-
Инициирование процессов ввода/вывода
Уровень 5 – управление информацией:
-
Создание и уничтожение файлов
-
Открытие и закрытие файлов
-
Чтение и запись файлов
В 1 слой попадают процессы ввода/вывода, могут попасть некоторые пользовательские процессы.
Во 2 слой попадают стандартно пользовательские процессы.
Микроядерная архитектура является альтернативой многослойному способу построения операционной системы. Суть микроядерной архитектуры состоит в следующем. В привилегированном режиме остается работать только очень небольшая часть ОС, называемая микроядром. Микроядро защищено от остальных частей ОС и приложений. В состав микроядра обычно входят машинно-зависимые модули, а также модули, выполняющие базовые (но не все!) функции ядра по управлению процессами, обработке прерываний, управлению виртуальной памятью, пересылке сообщений и управлению устройствами ввода-вывода, связанные с загрузкой или чтением регистров устройств. Все остальные более высокоуровневые функции ядра оформляются в виде приложений, работающих в пользовательском режиме.
Схематично механизм обращения к функциям ОС, оформленным в виде серверов, выглядит следующим образом:
Клиент, которым может быть либо прикладная программа, либо другой компонент ОС, запрашивает выполнение некоторой функции у соответствующего сервера, посылая ему сообщение. Непосредственная передача сообщений между приложениями невозможна, так как их адресные пространства изолированы друг от друга. Микроядро, выполняющееся в привилегированном режиме, имеет доступ к адресным пространствам каждого из этих приложений и поэтому может работать в качестве посредника. Микроядро сначала передает сообщение, содержащее имя и параметры вызываемой процедуры нужному серверу, затем сервер выполняет запрошенную операцию, после чего ядро возвращает результаты клиенту с помощью другого сообщения. Таким образом, работа микроядерной операционной системы соответствует известной модели клиент-сервер, в которой роль транспортных средств выполняет микроядро.
Операционные системы, основанные на концепции микроядра, в высокой степени удовлетворяют большинству требований, предъявляемых к современным ОС, обладая переносимостью, расширяемостью, надежностью и создавая хорошие предпосылки для поддержки распределенных приложений. За эти достоинства приходится платить снижением производительности, и это является основным недостатком микроядерной архитектуры.
Высокая степень переносимости обусловлена тем, что весь машинно-зависимый код изолирован в микроядре, поэтому для переноса системы на новый процессор требуется меньше изменений и все они логически сгруппированы вместе.
Расширяемость присуща микроядерной ОС в очень высокой степени. В традиционных системах даже при наличии многослойной структуры нелегко удалить один слой и поменять его на другой по причине множественности и размытости интерфейсов между слоями. Микроядерная структура позволяет не только добавлять, но и сокращать число компонентов операционной системы.
Использование микроядерной модели повышает надежность ОС.
3
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.















