Автор: Пользователь скрыл имя, 31 Марта 2012 в 18:11, курсовая работа
Современная компьютерная система состоит из одного или нескольких процессоров, оперативной памяти, дисков, клавиатуры, монитора, принтеров, сетевого интерфейса и других устройств, то есть является сложной комплексной системой. Написание программ, которые следят за всеми компонентами, корректно используют их и при этом работают оптимально, представляет собой крайне трудную задачу. По этой причине компьютеры оснащаются специальным уровнем программного обеспечения, называемым операционной системой. Операционная система отвечает за управление всеми перечисленными устройствами и обеспечивает пользователя имеющими простой, доступный интерфейс программами для работы с аппаратурой. Эти системы составляют предмет данной работы.
ВВЕДЕНИЕ 3
1. ПОНЯТИЕ ОБ ОПЕРАЦИОННОЙ СИСТЕМЕ 4
1.1. Структура компьютерной системы 4
1.2. Подходы к определению операционной системы 5
1.2.1. Операционная система как виртуальная машина 5
1.2.2. Операционная система как менеджер ресурсов 6
2. АРХИТЕКТУРНЫЕ ОСОБЕННОСТИ ОПЕРАЦИОННЫХ СИСТЕМ 8
2.1. Основные принципы построения операционных систем 8
2.2. Тенденции в структурном построении ОС 15
2.2.1. Монолитные системы 15
2.2.2 Слоеные (многоуровневые) системы 16
2.2.3. Виртуальные машины 18
2.2.4. Микроядерная архитектура 18
2.2.5. Смешанные системы 20
3. КЛАССИФИКАЦИЯ СОВРЕМЕННЫХ ОПЕРАЦИОННЫХ СИСТЕМ И ОБЗОР НАИБОЛЕЕ ПОПУЛЯРНЫХ 21
3.1. MS Windows 21
3.1.1. Windows Millennium Edition 21
3.1.2. Windows NT 22
3.1.3. Windows 2000 23
3.1.4. Windows XP 24
3.1.5. Windows Vista и Windows Seven 25
3.2. Mac OS 27
3.3. Linux 27
3.4. OS/2 Warp 30
ЗАКЛЮЧЕНИЕ 31
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 32
ВВЕДЕНИЕ
1. ПОНЯТИЕ ОБ ОПЕРАЦИОННОЙ СИСТЕМЕ
1.1. Структура компьютерной системы
1.2. Подходы к определению операционной системы
1.2.1. Операционная система как виртуальная машина
1.2.2. Операционная система как менеджер ресурсов
2. АРХИТЕКТУРНЫЕ ОСОБЕННОСТИ ОПЕРАЦИОННЫХ СИСТЕМ
2.1. Основные принципы построения операционных систем
2.2. Тенденции в структурном построении ОС
2.2.1. Монолитные системы
2.2.2 Слоеные (многоуровневые) системы
2.2.3. Виртуальные машины
2.2.4. Микроядерная архитектура
2.2.5. Смешанные системы
3. КЛАССИФИКАЦИЯ СОВРЕМЕННЫХ ОПЕРАЦИОННЫХ СИСТЕМ И ОБЗОР НАИБОЛЕЕ ПОПУЛЯРНЫХ
3.1. MS Windows
3.1.1. Windows Millennium Edition
3.1.2. Windows NT
3.1.3. Windows 2000
3.1.4. Windows XP
3.1.5. Windows Vista и Windows Seven
3.2. Mac OS
3.3. Linux
3.4. OS/2 Warp
ЗАКЛЮЧЕНИЕ
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
ПРИЛОЖЕНИЕ
Современная компьютерная система состоит из одного или нескольких процессоров, оперативной памяти, дисков, клавиатуры, монитора, принтеров, сетевого интерфейса и других устройств, то есть является сложной комплексной системой. Написание программ, которые следят за всеми компонентами, корректно используют их и при этом работают оптимально, представляет собой крайне трудную задачу. По этой причине компьютеры оснащаются специальным уровнем программного обеспечения, называемым операционной системой. Операционная система отвечает за управление всеми перечисленными устройствами и обеспечивает пользователя имеющими простой, доступный интерфейс программами для работы с аппаратурой. Эти системы составляют предмет данной работы.
Целью работы было рассмотреть операционную систему с точки зрения основного компонента системного программного обеспечения. Мной были поставлены следующие задачи:
определить расположение операционной системы в общей структуре компьютера;
выявить сущность понятия «операционная система»;
кратко рассмотреть современные концепции и технологии проектирования операционных систем;
дать классификацию операционных систем по различным параметрам и оформить соответствующую таблицу;
рассмотреть наиболее популярные операционные системы.
Работа состоит из 3 разделов. В первом разделе я попыталась ответить на вопрос, что такое операционная система. Во втором – рассказывается об архитектурных особенностях операционной системы, основных принципах и подходах к её построению. В третьем – даются некоторые сведения о классификации операционных систем и рассматриваются наиболее распространенные ОС на сегодняшний день.
В работе использованы материалы из литературы по данной теме таких авторов, как Гордеев А.В., Иртегов Д.В., Таненбаум Э., Коньков К. А., Карпов В. Е., Клименко Р.А. и др., а также информация из источников Интернет.
Что такое операционная система (ОС)?
В работе [Baron 1971] ОС определяют так: «Я не знаю, что это такое, но узнаю её, если увижу». [I, 7] Эта фраза сказана в 1-ой половине 1970-х гг. Но и на современном этапе неизвестно хорошего, общепринятого и приемлемо краткого определения операционной системы.
Чтобы определить суть понятия необходимо рассмотреть расположения её в общей структуре компьютера, а также обратиться к основным точкам зрения на данное понятие.
Любую компьютерную систему можно представить несколькими уровнями (рисунок 1).
Банковская система | Заказ авиабилетов | Web-браузер |
| |
Компиляторы | Редакторы | Интерпретаторы команд |
| |
Операционная система |
| |||
Машинный язык |
| |||
Микроархитектура | Оборудование, аппаратура | |||
Физические устройства |
|
Примечание. Источник: [I, 10, с.22, рисунок 1.1.].
Рисунок 1. Структура компьютерной системы
Внизу находится аппаратное обеспечение, которое состоит из двух или более уровней. Самый нижний уровень содержит физические устройства, состоящие из интегральных микросхем, источников питания, электронно-лучевых трубок и т. п.
Выше расположен микроархитектурный уровень, на котором физические устройства рассматриваются с точки зрения функциональных единиц. Обычно на этом уровне находятся внутренние регистры центрального процессора (CPU – Central Processing Unit) и арифметико-логическое устройство.
Определенная система команд передается по маршруту передачи данных.
Команды, видимые для работающего на ассемблере программиста, формируют уровень ISA (Instruction Set Architecture – архитектура системы команд), часто называемый машинным языком.
Далее следует программное обеспечение, которое частично избавляет от необходимости общения с аппаратурой напрямую, вместо этого предоставляя программисту более удобную систему команд. Программное обеспечение принято делить на две части: прикладное и системное.
Под системным программным обеспечением обычно понимают комплекс программ, которые обеспечивают эффективное управление компонентами вычислительной системы. В состав системного программного обеспечения и входит операционная система. Над операционной системой расположены остальные системные программы. Здесь находятся интерпретатор команд (оболочка), системы окон, компиляторы, редакторы и т. д.
Наконец, над системными программами расположены прикладные программы. Обычно они покупаются или пишутся пользователем для решения собственных проблем – обработки текста, электронных таблиц, технических расчетов или сохранения информации в базе данных.
Операционные системы выполняют две основные, но практически не связанные между собой функции: расширение возможностей машины и управление ее ресурсами. В соответствии с этим существуют 2 основных подхода к определению понятия «операционная система».
Архитектура большинства компьютеров на уровне машинного языка примитивна и неудобна для работы с программами, особенно в процессе ввода-вывода данных. Например, работа с диском предполагает знакомство с внутренним устройством его электронного компонента – контроллера для ввода команд вращения диска, поиска и форматирования дорожек, чтения и записи секторов и т.д. Ясно, что средний программист не в состоянии учитывать все особенности работы оборудования, а должен иметь простую высокоуровневую абстракцию, скажем, представляя информационное пространство диска как набор файлов. Файл можно открывать для чтения или записи, использовать для получения или сброса информации, а потом закрывать. Это концептуально проще, чем заботиться о деталях перемещения головок дисков или организации работы мотора. Аналогичным образом, с помощью простых и ясных абстракций, скрываются от программиста все ненужные ему подробности организации прерываний, работы таймера, управления памятью и т.д. Более того, на современных вычислительных комплексах может быть создана иллюзия неограниченного размера операционной памяти и числа процессоров. Всем этим занимается операционная система. [I, 5]
Таким образом, операционная система представляется пользователю расширенной или виртуальной машиной, в которой проще программировать и легче работать, чем непосредственно с аппаратным обеспечением.
Операционная система предназначена для управления всеми частями весьма сложной архитектуры компьютера. Представим для примера, что случится, если несколько программ, работающих на одном компьютере, будут пытаться одновременно осуществлять вывод на принтер. Мы получили бы неупорядоченную смесь строчек и страниц, выведенных различными программами. Операционная система предотвращает хаос такого рода за счет буферизации информации, предназначенной для печати, на диске и организации очереди на печать. Для многопользовательских компьютеров, необходимость управления ресурсами и их защиты еще более очевидна, поскольку пользователи могут обращаться к ним в абсолютно непредсказуемом порядке. К тому же часто приходится распределять между пользователями не только оборудование, но и информацию (файлы, базы данных и т. д.). С этой точки зрения основная задача операционной системы заключается в отслеживании того, кто и какой ресурс использует, в обработке запросов на ресурсы, в подсчете коэффициента загрузки и разрешении проблем конфликтующих запросов от различных программ и пользователей.
Управление ресурсами включает в себя их мультиплексирование (распределение) 2 способами: во времени и в пространстве. Когда ресурс распределяется во времени, различные пользователи и программы используют его по очереди. Здесь можно упомянуть пример с распределением заданий, посылаемых для печати на принтер.
Определение того, как долго ресурс будет использоваться, кто будет следующим и на какое время ему предоставляется ресурс – это задача операционной системы.
Другой вид распределения – это пространственное мультиплексирование. Вместо поочередной работы каждый клиент получает часть ресурса. Обычно оперативная память разделяется между несколькими работающими программами, так что все они одновременно могут постоянно находиться в памяти (например, используя центральный процессор по очереди). Если предположить, что памяти достаточно для того, чтобы хранить несколько программ, эффективнее разместить в памяти сразу несколько программ, чем выделить всю память одной программе. Другой ресурс, распределяемый пространственно, – это диск (жесткий). Распределение дискового пространства и отслеживание того, кто какие блоки диска использует, является типичной задачей управления ресурсами, которую также выполняет ОС. [I, 10]
Следовательно, операционная система как менеджер ресурсов, осуществляет упорядоченное и контролируемое распределение процессоров, памяти и других ресурсов между различными программами, их использующими.
Как видим, дать адекватное строгое определение операционной системе достаточно сложно. Проще сказать, не что есть операционная система, а для чего она нужна, и что она делает. Поэтому можно рассматривать её с двух точек зрения: как менеджер ресурсов и как расширенную (виртуальную) машину.
Каждая операционная система имеет определённую архитектуру, под которой понимают структурную организацию ОС на основе различных программных модулей. Существует несколько подходов к построению операционных систем.
Построение ОС опирается на некоторые принципы, к которым относят:
1) Принцип модульности. Он отражает технологические и эксплуатационные свойства системы. Под модулем в общем случае понимают функционально законченный элемент системы, выполненный в соответствии с принятыми межмодульными интерфейсами. По своему определению модуль предполагает возможность без труда заменить его на другой при наличии заданных интерфейсов.
Особо важное значение при построении ОС имеют привилегированные, повторно входимые и реентерабельные модули, так как они позволяют более эффективно использовать ресурсы вычислительной системы.
Наибольший эффект от использования принципа достижим, если он распространен одновременно на операционную систему, прикладные программы и аппаратуру.
2) Принцип функциональной избирательности. В ОС выделяется некоторая часть важных модулей, которые должны постоянно находиться в оперативной памяти для более эффективной организации вычислительного процесса. Эту часть в ОС называют ядром, так как это действительно основа системы. При формировании состава ядра требуется учитывать два противоречивых требования.
В состав ядра должны войти наиболее часто используемые системные модули.
Количество модулей должно быть таковым, чтобы объем памяти, занимаемый ядром, был бы не слишком большим.
В состав ядра, как правило, входят модули по управлению системой прерываний, средства по переводу программ из состояния счета в состояние ожидания, готовности и обратно, средства по распределению таких основных ресурсов, как оперативная память и процессор.
Помимо программных модулей, входящих в состав ядра и постоянно располагающихся в оперативной памяти, может быть много других системных программных модулей, которые получают название транзитных.
Транзитные программные модули загружаются в оперативную память только при необходимости и в случае отсутствия свободного пространства могут быть замещены другими транзитными модулями. В качестве синонима к термину «транзитный» можно использовать термин «диск-резидентный».
Информация о работе Операционные системы – основной компонент системного ПО