Понятие и основные виды операционных систем. 2
МИНИСТЕРСТВО СЕЛСЬКОГО ХОЗЯЙСТВА
РОССИЙСКОЙ ФЕДЕРАЦИИ
ФГОУ ВПО «ВОРОНЕЖСКИЙ ГОСУДАРСТВЕННЫЙ
АГРАРНЫЙ УНИВЕРСИТЕТ ИМЕНИ К.Д. ГЛИНКИ»
Кафедра информационного обеспечения
и моделирования агроэкономических систем
КУРСОВАЯ РАБОТА
ПО ИНФОРМАТИКЕ
НА ТЕМУ:
«ПОНЯТИЕ И ОСНОВНЫЕ ВИДЫ ОПЕРАЦИОННЫХ СИСТЕМ»
заочной формы обучения
Руководитель: к.э.н., доц.
Кусмагамбетов С.М.
Усмань-2010
Содержание
Введение
Глава 1. Понятие операционной системы
1.1. Назначение и классификация операционных систем
1.2. Требования к операционной системе
1.3. Состав операционной системы и назначение компонент
1.4. Обзор файловых систем
Глава 2. Характеристика современных операционных систем
2.1. Операционные системы семейства Windows 95, 98, ME
2.2. Операционные системы семейства Windows NT, 2000, ХР
Выводы и предложения
Список используемой литературы
24
Введение
Сегодня существует огромное разнообразие операционных систем различных фирм, среди которых и необходимо выбрать наиболее надежную, эффективную и удобную в использовании ОС.
Операционная система – это тот минимальный набор программ, который превращает платы, микросхемы и жгуты проводов в то, что принято называть современным компьютером. Именно благодаря операционной системе компьютер взаимодействует с внешним миром, принимает сигналы, интерпретирует их как команды или данные. Под управлением операционной системы команды выполняются, а данные хранятся, обрабатываются и передаются.
Цель работы - изучить современные операционные системы и выявить наиболее надежные и признанные.
Необходимо решить следующие задачи:
1. определить состав операционных систем;
2. изучить требования, предъявляемые к ОС;
3. охарактеризовать современные операционные системы. Необходимо отметить, что общение с внешним миром – не единственная функция операционной системы. Она выступает посредником между аппаратным и программным обеспечением. Зная о наличии известной операционной системы на компьютере пользователя, разработчики могут не задумываться над тем, как их программы будут работать с неизвестным оборудованием. В свою очередь, конструкторы оборудования могут не утруждать себя решением задач взаимодействия с другим, ранее установленным оборудованием и неизвестными программами. Функции посредника берет на себя операционная система, и единственной заботой разработчиков становится обеспечение с ней связи. Чем совершеннее операционная система, тем удобнее с ней работать, тем больше она «знает» об оборудовании, тем меньше неразрешенных аппаратных и программных конфликтов остается на долю пользователя.
На операционную систему помимо технических задач в момент выхода ее в свет часто возлагают и другие задачи. Новая система должна стать общепризнанной и получить тройную поддержку: со стороны пользователей, производителей аппаратного обеспечения и разработчиков программ. Если такая цель не достигнута, система не сможет достаточно долго и полноценно выполнять и технические задачи. Признание становится всеобщим, если система обеспечивает следующие преимущества по сравнению со своими предшественниками:
• расширение операционного пространства;
• расширение поддержки аппаратных средств;
• расширение поддержки программных средств;
• повышение надежности эксплуатации оборудования и программ;
• повышение эффективности работы;
• повышение комфортности работы;
• упрощение обслуживания компьютера и самой операционной системы.
24
Глава 1. Понятие операционной системы
1.1. Назначение и классификация операционных систем
Операционная система – это совокупность программ, предназначенных для управления ресурсами ЭВМ, исполнения программ и организации диалога с пользователем.
Операционная система обычно хранится во внешней памяти компьютера – на диске. При включении машины она считывается с диска и размещается в оперативной памяти ЭВМ. Во время работы она постоянно находится в оперативной памяти и управляет всеми компонентами вычислительной машины, выделяя нужные ресурсы для решения задач пользователя. Кроме того. Она обеспечивает пользователю удобный интерфейс с прикладными программами и устройствами компьютера.
Существует два основных вида пользовательского интерфейса: графический и интерфейс командной строки.
Команда пользователя или действие, выполняемое прикладной программой, при реализации фактически разбивается на множество элементарных операций. Назначение операционной системы состоит в том, чтобы скрыть от пользователя эти сложные и ненужные ему подробности и представить ему удобный для работы интерфейс. С точки зрения пользователя, ОС выступает в роли посредника между человеком и компьютером, воспринимая получаемые от него команды и организуя их выполнение.
Любая ОС должна обеспечивать решение двух главных задач:
поддержка работы компьютерных программ и обеспечение их взаимодействия с аппаратурой;
предоставление пользователю возможности общего управления ЭВМ.
В рамках первой задачи ОС обеспечивает взаимодействие программ с внешними устройствами и друг с другом: распределение оперативной памяти между программами, управление устройствами, обработка ошибок и т.д. Цель управления ресурсами заключается в том, чтобы добиться эффективного их использования, а также освободить пользователя от необходимости управлять ими самостоятельно.
Вторая задача решается с помощью средств ОС, позволяющих, например, просматривать файлы и каталоги на экране дисплея, запускать программы на исполнение, устанавливать режимы работы дисплея, принтера и т.д.
В современных ЭВМ используются ОС с разной архитектурой и возможностями, требующие различных аппаратных ресурсов и предоставляющих пользователям далеко не одинаковый уровень сервиса при практической работе.
Скорость работы программ и выполнения операций с файлами зависит от количества информации, обрабатываемой ОС в единицу времени. Чем больше этот объем, тем быстрее выполняются операции. Различают 16-, 32-, 64-разрядные ОС и т.д.
В зависимости от количества одновременно обрабатываемых задач (процессов) выделяют однозадачные и многозадачные операционные системы.
В однозадачной ОС в любой момент времени может выполняться (быть активной) только одна прикладная программа, которой представляются все ресурсы ЭВМ. В то же время, некоторые однозадачные ОС позволяют выполнять параллельно (в фоновом режиме) одну или несколько вспомогательных (резидентных) программ. Резидентные программы после запуска остаются в оперативной памяти и обычно обрабатывают операции ввода-вывода, следя за конкретными событиями, не мешая активной задаче.
В многозадачной ОС могут одновременно выполняться несколько независимых друг от друга задач (процессов, программ). Многозадачность основана на принципе квантования времени. Эффект одновременной работы достигается разделением процессорного времени и других ресурсов между несколькими вычислительными процессами. Операционная система выстраивает очередь из поступающих заданий, выделяет квант времени для доступа к центральному процессору каждому заданию согласно очереди. Выполнив первое задание, операционная система отсылает его в конец очереди и переходит ко второму и т.д. Достоинство этого режима, по сравнению с однозадачным, заключается в более эффективном использовании аппаратуры и повышении ее пропускной способности. Многозадачные ОС в этом смысле предпочтительнее, но вместе с тем они более сложные, поскольку появляется необходимость реализации механизма управления заданиями.
Многозадачные ОС при выполнении программ используют кооперативную или приоритетную многозадачность. При кооперативной многозадачности все приложения делят процессорное время, периодически опрашивая друг друга. Каждое приложение получает фактически столько процессорного времени и аппаратных ресурсов, сколько оно считает нужным.
При этом вполне возможны ситуации, когда приложение заняло ресурс, и при этом в ее работе возникла ошибка. На запросы других программ она не реагирует, и чаще всего это приводит к необходимости перезагрузки компьютера.
В режиме приоритетной многозадачности каждому приложению отводится строго определенное количество времени, и оно не имеет возможности монопольного использования аппаратуры. В этом режиме при зависании программы ОС может выгрузить ее из памяти, не нарушая работы других. Такие ОС являются более стабильными, но не все программы могут работать в них.
В зависимости от количества одновременно работающего числа пользователей различают одно- и многопользовательские ОС.
Однопользовательская операционная система позволяет работать на компьютере в определенный момент времени только одному пользователю, в то время как многопользовательская позволяет запускать на одном ПК несколько задач различным пользователям одновременно. [1]
Важным свойством операционных систем является возможность распараллеливания вычислений в рамках одной задачи. Многонитевая ОС разделяет процессорное время не между задачами, а между их отдельными ветвями (нитями).
Другим важным свойством ОС является отсутствие или наличие в ней средств поддержки многопроцессорной обработки - мультипроцессирование. Мультипроцессирование приводит к усложнению всех алгоритмов управления ресурсами.
В наши дни становится общепринятым введение в ОС функций поддержки многопроцессорной обработки данных. Такие функции имеются в операционных системах Solaris 2.x фирмы Sun, Open Server 3.x компании Santa Cms Operations, OS/2 фирмы IBM, Windows NT фирмы Microsoft и NetWare 4.1 фирмы Novell. [1]
Многопроцессорные ОС могут классифицироваться по способу организации вычислительного процесса в системе с многопроцессорной архитектурой: асимметричные ОС и симметричные ОС. Асимметричная ОС целиком выполняется только на одном из процессоров системы, распределяя прикладные задачи по остальным процессорам. Симметричная ОС полностью децентрализована и использует весь пул процессоров, разделяя их между системными и прикладными задачами.
По типу аппаратуры различают операционные системы персональных компьютеров, мини-компьютеров, мейнфреймов, кластеров и сетей ЭВМ. Среди перечисленных типов компьютеров могут встречаться как однопроцессорные варианты, так и многопроцессорные. В любом случае специфика аппаратных средств, как правило, отражается на специфике операционных систем. [3]
Очевидно, что ОС большой машины является более сложной и функциональной, чем ОС персонального компьютера. Так в ОС больших машин функции по планированию потока выполняемых задач, очевидно, реализуются путем использования сложных приоритетных дисциплин и требуют большей вычислительной мощности, чем в ОС персональных компьютеров. Аналогично обстоит дело и с другими функциями.
При описании операционной системы часто указываются особенности ее структурной организации и основные концепции, положенные в ее основу.
К таким базовым концепциям относятся:
• Способы построения ядра системы - монолитное ядро или микроядерный подход. Большинство ОС использует монолитное ядро, которое компонуется как одна программа, работающая в привилегированном режиме и использующая быстрые переходы с одной процедуры на другую, не требующие переключения из привилегированного режима в пользовательский и наоборот. Альтернативой является построение ОС на базе микроядра, работающего также в привилегированном режиме и выполняющего только минимум функций по управлению аппаратурой, в то время как функции ОС более высокого уровня выполняют специализированные компоненты ОС - серверы, работающие в пользовательском режиме. При таком построении ОС работает более медленно, так как часто выполняются переходы между привилегированным режимом и пользовательским, зато система получается более гибкой - ее функции можно наращивать, модифицировать или сужать, добавляя, модифицируя или исключая серверы пользовательского режима.
• Наличие нескольких прикладных сред дает возможность в рамках одной ОС одновременно выполнять приложения, разработанные для нескольких ОС. Многие современные операционные системы поддерживают одновременно прикладные среды MS-DOS, Windows, UNIX (POSIX), OS/2 или хотя бы некоторого подмножества из этого популярного набора. Концепция множественных прикладных сред наиболее просто реализуется в ОС на базе микроядра, над которым работают различные серверы, часть которых реализуют прикладную среду той или иной операционной системы. [5]
• Распределенная организация операционной системы позволяет упростить работу пользователей и программистов в сетевых средах. В распределенной ОС реализованы механизмы, которые дают возможность пользователю представлять и воспринимать сеть в виде традиционного однопроцессорного компьютера. Характерными признаками распределенной организации ОС являются: наличие единой справочной службы разделяемых ресурсов, единой службы времени, использование механизма вызова удаленных процедур (RPC) для прозрачного распределения программных процедур по машинам, многонитевой обработки, позволяющей распараллеливать вычисления в рамках одной задачи и выполнять эту задачу сразу на нескольких компьютерах сети, а также наличие других распределенных служб.
Сетевая операционная система составляет основу любой вычислительной сети. Каждый компьютер в сети в значительной степени автономен, поэтому под сетевой операционной системой в широком смысле понимается совокупность операционных систем отдельных компьютеров, взаимодействующих с целью обмена сообщениями и разделения ресурсов по единым правилам - протоколам.
В сетевой операционной системе отдельной машины можно выделить несколько частей:
• Средства управления локальными ресурсами компьютера: функции распределения оперативной памяти между процессами, планирования и диспетчеризации процессов, управления процессорами в мультипроцессорных машинах, управления периферийными устройствами и другие функции управления ресурсами локальных ОС.
• Средства предоставления собственных ресурсов и услуг в общее пользование - серверная часть ОС (сервер). Эти средства обеспечивают, например, блокировку файлов и записей, что необходимо для их совместного использования; ведение справочников имен сетевых ресурсов; обработку запросов удаленного доступа к собственной файловой системе и базе данных; управление очередями запросов удаленных пользователей к своим периферийным устройствам.
• Средства запроса доступа к удаленным ресурсам и услугам и их использования - клиентская часть ОС (редиректор). Эта часть выполняет распознавание и перенаправление в сеть запросов к удаленным ресурсам от приложений и пользователей, при этом запрос поступает от приложения в локальной форме, а передается в сеть в другой форме, соответствующей требованиям сервера. Клиентская часть также осуществляет прием ответов от серверов и преобразование их в локальный формат, так что для приложения выполнение локальных и удаленных запросов неразличимо.
• Коммуникационные средства ОС, с помощью которых происходит обмен сообщениями в сети. Эта часть обеспечивает адресацию и буферизацию сообщений, выбор маршрута передачи сообщения по сети, надежность передачи и т.п., то есть является средством транспортировки сообщений.
Первые сетевые ОС представляли собой совокупность существующей локальной ОС и надстроенной над ней сетевой оболочки. При этом в локальную ОС встраивался минимум сетевых функций, необходимых для работы сетевой оболочки, которая выполняла основные сетевые функции.
Принцип построения сетевых ОС в виде сетевой оболочки над локальной ОС используется и в современных ОС, таких, например, как LANtastic или Personal Ware. [2]
1.2. Требования к операционной системе
Главным требованием, предъявляемым к операционной системе, является способность выполнения основных функций: эффективного управления ресурсами и обеспечения удобного интерфейса для пользователя и прикладных программ.
Надежность. Операционная система должна быть надежной, как и аппаратура, с которой она взаимодействует. Она должна иметь возможность определения и диагностирования собственных ошибок, а также восстановления работоспособности компьютера после большинства характерных ошибок, происходящих по вине пользователя. Кроме того, ОС должна минимизировать вред, который пользователь может причинить системе своими неправильными действиями.
Защита программ и данных. Операционная система должна защищать выполняемые программы и данные от взаимного влияния их друг на друга.
Предсказуемость. Операционная система должна отвечать на запросы пользователя предсказуемым образом. Результаты выполнения любых команд пользователя должны быть одними и теми же, вне зависимости от последовательности, в которой эти команды посылаются на исполнение.
Удобство. Операционная система должна облегчать работу пользователю, освобождая его от задач по управлению ресурсами ЭВМ и распределению их между программами. Система должна быть спроектирована с учетом основных факторов человеческой психологии.
Эффективность. При распределении ресурсов операционная система должна использовать минимум системных ресурсов для собственных нужд, максимально предоставляя их выполняющимся задачам (программам) пользователя.
Гибкость. ОС должна позволять увеличивать или уменьшать используемые аппаратные ресурсы для того, чтобы улучшать эффективность и скорость работы программ.
Модифицируемость. ОС должна иметь возможность добавления новых функциональных модулей, позволяющих в процессе ее совершенствования.
Ясность. Пользователь может оставаться в неведении относительно механизма внутренних операций ОС, но в то же время должен иметь возможность получения полного отчета о ходе их выполнения. [1]
Расширяемость. Код должен быть написан таким образом, чтобы можно было легко внести дополнения и изменения, если это потребуется, и не нарушить целостность системы.
Расширяемость может достигаться за счет модульной структуры ОС, при которой программы строятся из набора отдельных модулей, взаимодействующих только через функциональный интерфейс. Новые компоненты могут быть добавлены в операционную систему модульным путем, они выполняют свою работу, используя интерфейсы, поддерживаемые существующими компонентами.
Переносимость. Код должен легко переноситься с процессора одного типа на процессор другого типа и с аппаратной платформы (которая включает наряду с типом процессора и способ организации всей аппаратуры компьютера) одного типа на аппаратную платформу другого типа.
Для легкого переноса ОС при ее разработке должны быть соблюдены следующие требования:
Переносимый язык высокого уровня. Большинство переносимых ОС написано на языке С (стандарт ANSI ХЗ. 159-1989). [1]
Изоляция процессора. Некоторые низкоуровневые части ОС должны иметь доступ к процессорно зависимым структурам данных и регистрам. Однако код, который делает это, должен содержаться в небольших модулях, которые могут быть заменены аналогичными модулями для других процессоров.
Изоляция платформы. Зависимость от платформы заключается в различиях между рабочими станциями разных производителей, построенными на одном и том же процессоре.
Отказоустойчивость. Система должна быть защищена как от внутренних, так и от внешних ошибок, сбоев и отказов. Ее действия должны быть всегда предсказуемыми, а приложения не должны быть в состоянии наносить вред ОС.
Совместимость. ОС должна иметь средства для выполнения прикладных программ, написанных для других операционных систем. Кроме того,
пользовательский интерфейс должен быть совместим с существующими системами и стандартами.
Одним из аспектов совместимости является способность ОС выполнять программы, написанные для других ОС или для более ранних версий данной операционной системы, а также для другой аппаратной платформы.
Необходимо разделять вопросы двоичной совместимости и совместимости на уровне исходных текстов приложений. Двоичная совместимость достигается том случае, когда можно взять исполняемую программу и запустить ее на выполнение на другой ОС. Для этого необходимы: совместимость на уровне команд процессора, совместимость на уровне системных вызовов и даже на уровне библиотечных вызовов, если они являются динамически связываемыми.
Совместимость на уровне исходных текстов требует наличия соответствующего компилятора в составе программного обеспечения, а также совместимости на уровне библиотек и системных вызовов. При этом необходима перекомпиляция имеющихся исходных текстов в новый выполняемый модуль.
Безопасность. ОС должна обладать средствами защиты ресурсов одних пользователей от других.
Производительность. Система должна обладать настолько хорошим быстродействием и временем реакции, насколько это позволяет аппаратная платформа.[1]
1.3. Состав операционной системы и назначение компонент
Важнейшим достоинством большинства ОС является модульность. Это свойство позволяет объединить в каждом модуле определенные логически связанные группы функций. Если возникает необходимость в замене или расширении такой группы функций, это можно сделать путем замены или модификации лишь одного модуля, а не всей системы.
Большинство ОС состоит из следующих основных модулей: базовая система ввода-вывода (BIOS – Basic Input Output System); загрузчик операционной системы (Boot Record); ядро ОС; драйверы устройств; командный процессор; внешние команды (файлы).
Базовая система ввода-вывода (BIOS – Basic Input Output System) – это набор микропрограмм, реализующих основные низкоуровневые (элементарные) операции ввода-вывода. Они хранятся в ПЗУ компьютера и записываются туда при изготовлении материнской платы. Данная система, по сути, «встроена» в компьютер и является одновременно его аппаратной частью и частью операционной системы.
Первая функция BIOS – автоматическое тестирование основных компонентов компьютера при его включении. При обнаружении ошибки на экран выводится соответствующее сообщение и/или выдается звуковой сигнал.
Далее BIOS осуществляет вызов блока начальной загрузки операционной системы, находящейся на диске. Загрузив в ОЗУ этот блок, BIOS передает ему управление, а он в свою очередь загружает другие модули ОС.
Еще одна важная функция BIOS – обслуживание прерываний. При возникновении определенных событий вызывается одна из стандартных подпрограмм BIOS по обработке возникшей ситуации.
Загрузчик операционной системы – это короткая программа, находящаяся в первом секторе любого загрузочного диска. Функция этой программы заключается в считывании в память основных дисковых файлов ОС и передаче им дальнейшего управления ЭВМ.
Ядро ОС реализует основные высокоуровневые услуги, загружается в ОЗУ и остается в ней постоянно. В ядре ОС выделяют несколько подсистем, каждая из которых отвечает за выполнение той или иной задачи:
файловая система (отвечает за размещение информации на устройствах хранения);
система управления памятью (размещает программы в памяти);
система управления программами (осуществляет запуск и выполнение программ);
система связи с драйверами устройств (отвечает за взаимодействие с внешними устройствами);
система обработки ошибок;
служба времени (предоставляет всем программам информацию о системном времени).[1]
Модуль расширения BIOS придает гибкость операционной системе, позволяя добавлять драйверы, обслуживающие дополнительные устройства.
В состав операционной системы входит специальная программа – командный процессор, - которая запрашивает у пользователя команды и выполняет их.
Пользователь может дать команду запуска программы, выполнения какой-либо операции над файлами (копирование, удаление, переименование), вывода документа на печать и так далее. Операционная система должна эту команду выполнить.
Некоторые команды пользователя, например, Type, Dir или Сор командный процессор выполняет сам. Такие команды называются внутренними. Для выполнения остальных (внешних) команд пользователя командный процессор ищет на дисках программу с соответствующим именем и если находит ее, то загружает в память и передает ей управление. По окончании работы программы командный процессор удаляет программу из памяти и выводит сообщение о готовности к выполнению команд. [3]