Операционные системы. 2
Министерство образования Российской Федерации
Уфимский
государственный авиационный
КУРСОВАЯ РАБОТА ПО ИНФОРМАТИКЕ НА ТЕМУ:
ОПЕРАЦИОННЫЕ
СИСТЕМЫ
Выполнил: студент группы
МО-126(ФИРТ)
Кинзин
Р.А.
Проверила: доц. каф. ВМиК
Николаева
М.А.
Уфа 2009
СОДЕРЖАНИЕ
Введение…………………………………………………………
- Общие
сведения…………………………………………………………
…..3 - Определение
ОС……………………………………...….….......…
..3 - Назначение ОС……………………………………………………....3
- Функции ОС………………………………...…....……....……
…….4 - Архитектура
ОС…………………………………………...….…...………
..5 - Ядро……………………………………………………...………
…...5 - Вспомогательные
модули...…………………………...……...…..
...6 - Классификация ОС………………………………………………………..11
3.1. Операционные системы пакетной обработки…………………….12
3.2. Операционные системы разделения времени…………………….12
3.3. Операционные системы реального времени……………………...13
3.4. Диалоговые операционные системы…………….……….......…...13
3.5. Сетевые операционные системы……
3.6. Поддержка многозадачности……………
3.7. Поддержка
3.8. Поддержка многонитевости………………
3.9. Многопроцессорная обработка………
4.
Эволюция ОС…………………………………………………………….....
5.
Семейство Windows (Microsoft)………………………………………....
6.
Семейство MacOS (Apple)……………………………………....……...
7.
Семейство Unix……………………………………………………………...
7.1 Операционная система UNIX………………………….....………..24
7.2 Операционная система LINUX…………………………………….25
7.2.1 Общая характеристика ОС LINUX……………………….….25
7.2.2 Дистрибутивы LINUX…………………………………...…...26
7.2.3 Графические интерфейсы LINUX…………………………...26
8.
Заключение……………………………………………………
9.
Вывод…………………………………………………………………
Список
литературы……………………………………………………
Введение
Среди всех системных программ, с которыми приходится иметь дело пользователям компьютеров, особое место занимают операционные системы.
Операционная система (ОС) управляет
компьютером, запускает
Таким
образом, выбор ОС очень важен, так
как она определяет, с какими программами
вы сможете работать на своем компьютере.
От выбора ОС зависят также
- Общие сведения.
- Определение ОС.
Операционная
система –
это программа, контролирующая работу
прикладных программ и системных приложений
и исполняющая роль интерфейса между приложениями
и аппаратным обеспечением компьютера.
Операционная
система выполняет функции
- Назначение ОС.
Основная цель ОС, обеспечивающей работу ЭВМ в любом из описанных режимов, - динамическое распределение ресурсов и управление ими в соответствии с требованиями вычислительных процессов (задач).
Операционная
система является посредником между
ЭВМ и её пользователем. Она делает
работу с ЭВМ более простой, освобождая
пользователя от обязанностей распределять
ресурсы и управлять ими. Операционная
система осуществляет анализ запросов
пользователя и обеспечивает их выполнение.
Запрос отражает необходимые ресурсы
и требуемые действия ЭВМ и
представляется последовательностью
команд на особом языке директив операционной
системы. Такая последовательность команд
называется заданием.[1]
- Функции ОС.
Основными функциями, которые выполняются операционной системой, являются:
1) приём от пользователя заданий или команд, сформулированных на соответствующем языке и их обработка;
2) приём и исполнение программы
запроса на запуск или
3) загрузка в оперативную память программ, подлежащих исполнению;
4)инициализация программ (передача
им управления), в результате чего
процессор использует
5) идентификация программ;
6) обеспечение работы системы
управления файлами базы
7) обеспечение режима
8) обеспечение функции по
9) удовлетворение жёстким
10) распределение памяти:
а) организация виртуальной
б) в большинстве современных систем.
11) планирование и
12) организация обмена
13) защита одной программы от влияния других программ, обеспечение сохранности данных;
14) предоставление услуг на
15) обеспечение работы систем
программирования, с помощью которых
пользователи готовят свои
- Архитектура ОС.
Большинство современных операционных систем представляют собой хорошо структурированные модульные системы, способные к развитию, расширению и переносу на новые платформы. Какой-либо единой архитектуры ОС не существует, но существуют универсальные подходы к структурированию ОС.
Наиболее общим подходом к структуризации операционной системы является разделение всех ее модулей на две группы:
ядро — модули, выполняющие основные функции ОС;
модули,
выполняющие вспомогательные
- Ядро.
Модули ядра выполняют такие базовые функции ОС, как управление процессами, памятью, устройствами ввода-вывода и т. п. Ядро составляет сердцевину операционной системы, без него ОС является полностью неработоспособной и не сможет выполнить ни одну из своих функций.
В состав ядра входят функции, решающие внутрисистемные задачи организации вычислительного процесса, такие как переключение контекстов, загрузка/выгрузка страниц, обработка прерываний. Эти функции недоступны для приложений. Другой класс функций ядра служит для поддержки приложений, создавая для них так называемую прикладную программную среду. Приложения могут обращаться к ядру с запросами — системными вызовами — для выполнения тех или иных действий, например для открытия и чтения файла, вывода графической информации на дисплей, получения системного времени и т. д. Функции ядра, которые могут вызываться приложениями, образуют интерфейс прикладного программирования — API.
Функции, выполняемые модулями ядра, являются наиболее часто используемыми функциями операционной системы, поэтому скорость их выполнения определяет производительность всей системы в целом. Для обеспечения высокой скорости работы ОС все модули ядра или большая их часть постоянно находятся в оперативной памяти, то есть являются резидентными.
Поскольку
некоторые компоненты ОС оформлены
как обычные приложения, то есть
в виде исполняемых модулей
- Вспомогательные модули.
Вспомогательные модули ОС обычно подразделяются на следующие группы:
- утилиты — программы, решающие отдельные задачи управления и сопровождения компьютерной системы, такие, например, как программы сжатия дисков, архивирования данных на магнитную ленту;
- системные обрабатывающие программы — текстовые или графические редакторы, компиляторы, компоновщики, отладчики;
- программы предоставления пользователю дополнительных услуг — специальный вариант пользовательского интерфейса, калькулятор и даже игры;
- библиотеки процедур различного назначения, упрощающие разработку приложений, например библиотека математических функций, функций ввода-вывода и т. д.
Как и обычные приложения, для выполнения своих задач утилиты, обрабатывающие программы и библиотеки ОС, обращаются к функциям ядра посредством системных вызовов .
Разделение операционной системы на ядро и модули-приложения обеспечивает легкую расширяемость ОС. Чтобы добавить новую высокоуровневую функцию, достаточно разработать новое приложение, и при этом не требуется модифицировать ответственные функции, образующие ядро системы.
Модули ОС, оформленные в виде утилит, системных обрабатывающих программ и библиотек, обычно загружаются в оперативную память только на время выполнения своих функций, то есть являются транзитными. Постоянно в оперативной памяти располагаются только самые необходимые коды ОС, составляющие ее ядро. Такая организация ОС экономит оперативную память компьютера.
Важным свойством архитектуры ОС, основанной на ядре, является возможность защиты кодов и данных операционной системы за счет выполнения функций ядра в привилегированном режиме.[2]
Ядро в привилегированном режиме
Для надежного управления ходом выполнения приложений операционная система должна иметь по отношению к приложениям определенные привилегии. Иначе некорректно работающее приложение может вмешаться в работу ОС и например, разрушить часть ее кодов. Ни одно приложение не должно иметь возможности без ведома ОС получать дополнительную область памяти, занимать процессор дольше разрешенного операционной системой периода времени, непосредственно управлять совместно используемыми внешними устройствами.
Обеспечить привилегии операционной системе невозможно без специальных средств аппаратной поддержки. Аппаратура компьютера должна поддерживать как минимум два режима работы — пользовательский режим (user mode) и привилегированный режим, который также называют режимом ядра (kernel mode), или режимом супервизора (supervisor mode). Подразумевается, что операционная система или некоторые ее части работают в привилегированном режиме, а приложения — в пользовательском режиме.
Так как ядро выполняет все основные функции ОС, то чаще всего именно ядро становится той частью ОС, которая работает в привилегированном режиме. Иногда это свойство — работа в привилегированном режиме — служит основным определением понятия «ядро».
Приложения ставятся в подчиненное положение за счет запрета выполнения в пользовательском режиме некоторых критичных команд, связанных с переключением процессора с задачи на задачу, управлением устройствами ввода-вывода, доступом к механизмам распределения и защиты памяти.
Повышение
устойчивости операционной системы, обеспечиваемое
переходом ядра в привилегированный
режим, достигается за счет некоторого
замедления выполнения системных вызовов.
Системный вызов
Архитектура
ОС, основанная на привилегированном
ядре и приложениях
Многослойная структура ядра
Ядро может состоять из следующих слоев.
- Средства аппаратной поддержки ОС. До сих пор об операционной системе говорилось как о комплексе программ, но, вообще говоря, часть функций ОС может выполняться и аппаратными средствами. Поэтому иногда можно встретить определение операционной системы как совокупности программных и аппаратных средств, что и отражено на рис. 3.8. К операционной системе относят, естественно, не все аппаратные устройства компьютера, а только средства аппаратной поддержки ОС, то есть те, которые прямо участвуют в организации вычислительных процессов: средства поддержки привилегированного режима, систему прерываний, средства переключения контекстов процессов, средства защиты областей памяти и т. п.
- Машинно-зависимые компоненты ОС. Этот слой образуют программные модули, в которых отражается специфика аппаратной платформы компьютера. В идеале этот слой полностью экранирует вышележащие слои ядра от особенностей аппаратуры. Это позволяет разрабатывать вышележащие слои на основе машинно-независимых модулей, существующих в единственном экземпляре для всех типов аппаратных платформ, поддерживаемых данной ОС. Примером экранирующего слоя может служить слой HAL операционной системы Windows NT.
- Базовые механизмы ядра. Этот слой выполняет наиболее примитивные операции ядра, такие как программное переключение контекстов процессов, диспетчеризацию прерываний, перемещение страниц из памяти на диск и обратно и т. п. Модули данного слоя не принимают решений о распределении ресурсов — они только отрабатывают принятые «наверху» решения, что и дает повод называть их исполнительными механизмами для модулей верхних слоев. Например, решение о том, что в данный момент нужно прервать выполнение текущего процесса А и начать выполнение процесса В, принимается менеджером процессов на вышележащем слое, а слою базовых механизмов передается только директива о том, что нужно выполнить переключение с контекста текущего процесса на контекст процесса В.
- Менеджеры ресурсов. Этот слой состоит из мощных функциональных модулей, реализующих стратегические задачи по управлению основными ресурсами вычислительной системы. Обычно на данном слое работают менеджеры (называемые также диспетчерами) процессов, ввода-вывода, файловой системы и оперативной памяти. Разбиение на менеджеры может быть и несколько иным, например менеджер файловой системы иногда объединяют с менеджером ввода-вывода, а функции управления доступом пользователей к системе в целом и ее отдельным объектам поручают отдельному менеджеру безопасности. Каждый из менеджеров ведет учет свободных и используемых ресурсов определенного типа и планирует их распределение в соответствии с запросами приложений. Например, менеджер виртуальной памяти управляет перемещением страниц из оперативной памяти на диск и обратно. Менеджер должен отслеживать интенсивность обращений к страницам, время пребывания их в памяти, состояния процессов, использующих данные, и многие другие параметры, на основании которых он время от времени принимает решения о том, какие страницы необходимо выгрузить и какие — загрузить. Для исполнения принятых решений менеджер обращается к нижележащему слою базовых механизмов с запросами о загрузке (выгрузке) конкретных страниц. Внутри слоя менеджеров существуют тесные взаимные связи, отражающие тот факт, что для выполнения процессу нужен доступ одновременно к нескольким ресурсам — процессору, области памяти, возможно, к определенному файлу или устройству ввода-вывода. Например, при создании процесса менеджер процессов обращается к менеджеру памяти, который должен выделить процессу определенную область памяти для его кодов и данных.
- Интерфейс системных вызовов. Этот слой является самым верхним слоем ядра и взаимодействует непосредственно с приложениями и системными утилитами, образуя прикладной программный интерфейс операционной системы. Функции API, обслуживающие системные вызовы, предоставляют доступ к ресурсам системы в удобной и компактной форме, без указания деталей их физического расположения.
Рис. 3.3. Многослойная структура ядра ОС
Приведенное разбиение ядра ОС на слои является достаточно условным. В реальной системе количество слоев и распределение функций между ними может быть и иным.
Одна и та же операционная система не может без каких-либо изменений устанавливаться на компьютерах, отличающихся типом процессора или/и способом организации всей аппаратуры. В модулях ядра ОС не могут не отразиться такие особенности аппаратной платформы, как количество типов прерываний и формат таблицы ссылок на процедуры обработки прерываний, состав регистров общего назначения и системных регистров, состояние которых нужно сохранять в контексте процесса, особенности подключения внешних устройств и многие другие.
Однако опыт разработки операционных систем показывает: ядро можно спроектировать таким образом, что только часть модулей будут машинно-зависимыми, а остальные не будут зависеть от особенностей аппаратной платформы. В хорошо структурированном ядре машинно-зависимые модули локализованы и образуют программный слой, естественно примыкающий к слою аппаратуры. Такая локализация машинно-зависимых модулей существенно упрощает перенос операционной системы на другую аппаратную платформу.
Объем
машинно-зависимых компонентов
Особое место среди модулей ядра занимают низкоуровневые драйверы внешних устройств. С одной стороны эти драйверы, как и высокоуровневые драйверы, входят в состав менеджера ввода-вывода, то есть принадлежат слою ядра, занимающему достаточно высокое место в иерархии слоев. С другой стороны, низкоуровневые драйверы отражают все особенности управляемых внешних устройств, поэтому их можно отнести и к слою машинно-зависимых модулей. Такая двойственность низкоуровневых драйверов еще раз подтверждает схематичность модели ядра со строгой иерархией слоев.
Для компьютеров на основе процессоров Intel x86/Pentium разработка экранирующего машинно-зависимого слоя ОС несколько упрощается за счет встроенной в постоянную память компьютера базовой системы ввода-вывода — BIOS. BIOS содержит драйверы для всех устройств, входящих в базовую конфигурацию компьютера: жестких и гибких дисков, клавиатуры, дисплея и т.д.
Переносимость операционной системы
Если код операционной системы может быть сравнительно легко перенесен с процессора одного типа на процессор другого типа и с аппаратной платформы одного типа на аппаратную платформу другого типа, то такую ОС называют переносимой (portable), или мобильной.
Для того чтобы обеспечить свойство мобильности ОС, разработчики должны следовать следующим правилам.
- Большая часть кода должна быть написана на языке, трансляторы которого имеются на всех машинах, куда предполагается переносить систему. Такими языками являются стандартизованные языки высокого уровня. Большинство переносимых ОС написано на языке С, который имеет много особенностей, полезных для разработки кодов операционной системы, и компиляторы которого широко доступны. Программа, написанная на ассемблере, является переносимой только в тех случаях, когда перенос операционной системы планируется на компьютер, обладающий той же системой команд. В остальных случаях ассемблер используется только для тех непереносимых частей системы, которые должны непосредственно взаимодействовать с аппаратурой (например, обработчик прерываний), или для частей, которые требуют максимальной скорости (например, целочисленная арифметика повышенной точности).
- Объем машинно-зависимых частей кода, которые непосредственно взаимодействуют с аппаратными средствами, должен быть по возможности минимизирован. Так, например, следует всячески избегать прямого манипулирования регистрами и другими аппаратными средствами процессора. Для уменьшения аппаратной зависимости разработчики ОС должны также исключить возможность использования по умолчанию стандартных конфигураций аппаратуры или их характеристик. Аппаратно-зависимые параметры можно «спрятать» в программно-задаваемые данные абстрактного типа. Для осуществления всех необходимых действий по управлению аппаратурой, представленной этими параметрами, должен быть написан набор аппаратно-зависимых функций. Каждый раз, когда какому-либо модулю ОС требуется выполнить некоторое действие, связанное с аппаратурой, он манипулирует абстрактными данными, используя соответствующую функцию из имеющегося набора. Когда ОС переносится, то изменяются только эти данные и функции, которые ими манипулируют. Например, в ОС Windows NT диспетчер прерываний преобразует аппаратные уровни прерываний конкретного типа процессора в стандартный набор уровней прерываний IRQL, с которыми работают остальные модули операционной системы. Поэтому при переносе Windows NT на новую платформу нужно переписать, в частности, те коды диспетчера прерываний, которые занимаются отображением уровней прерывания на абстрактные уровни IRQL, а те модули ОС, которые пользуются этими абстрактными уровнями, изменений не потребуют.
- Аппаратно-зависимый код должен быть надежно изолирован в нескольких модулях, а не быть распределен по всей системе. Изоляции подлежат все части ОС, которые отражают специфику как процессора, так и аппаратной платформы в целом. Низкоуровневые компоненты ОС, имеющие доступ к процессорно-зависимым структурам данных и регистрам, должны быть оформлены в виде компактных модулей, которые могут быть заменены аналогичными модулями для других процессоров. Для снятия платформенной зависимости, возникающей из-за различий между компьютерами разных производителей, построенными на одном и том же процессоре (например, MIPS R4000), должен быть введен хорошо локализованный программный слой машинно-зависимых функций.[4]
- Классификация ОС.
Операционная
система может выполнять
| Операционные системы | Характеристики операционной системы | ||
| Характер взаимодействия пользователя с заданием | Число одновременно обслуживаемых пользователей | Обеспечиваемый режим работы ЭВМ | |
| Пакетной обработки | Взаимодействие невозможно или ограничено | Один или несколько | Однопрограммный или мультипрограммный |
| Разделения времени | Диалоговый | Несколько | Мультипрограммный |
| Реального времени | Оперативный | Многозадачный | |
| Диалоговая | Диалоговый | Один | Однопрограммный |
3.1. Операционные системы пакетной обработки.
Операционная
система пакетной обработки –
это система, которая обрабатывает
пакет заданий, т. е. несколько заданий,
подготовленных одним или разными
пользователями. Взаимодействие между
пользователем и его заданием
во время обработки невозможно или
крайне ограничено. Под управлением
операционной системы пакетной обработки
ЭВМ может функционировать в
однопрограммном и
3.2. Операционные системы разделения времени.
Такие
системы обеспечивают одновременное
обслуживание многих пользователей, позволяя
каждому пользователю взаимодействовать
со своим заданием в режиме диалога.
Эффект одновременного обслуживания достигается
разделением процессорного

- Операционные системы
- Операционные системы
- Операционные Системы
- Операционные системы Microsoft Windows
- Операционные системы Windows NT
- Операционные системы – основной компонент системного ПО
- Операционные системы реального времени
- Операционные бюджеты
- Операционные оболочки
- Операционные риски
- Операционные риски в безналичных расчетах
- Операционные рычаги
- Операционные систем и ее разновидности
- Операционные системы