Назначение и основные функции операционной системы

Введение

Трудно назвать другую сферу человеческой, которая развивалась  бы столь стремительно и порождала  бы такое разнообразие проблем, как  информатизация и компьютеризация  общества. История развития информационных технологий характеризуется быстрым  изменением концептуальных представлений, технических средств, методов и сфер их применения.

В современных реалиях  весьма актуальным для большинства  людей стало умение пользоваться промышленными информационными  технологиями. Проникновение компьютеров  во все сферы жизни общества убеждает в том, что культура общения с компьютером становится общей культуры человека.

При включении компьютера операционная система загружается  в память раньше остальных программ и затем служит платформой и средой для их работы. Без операционной системы невозможно представить работу с компьютером. Знание операционной системы необходимо для успешного пользования современными компьютерами.

Предшественником ОС следует считать служебные программы (такие, как загрузчики), а также  библиотеки часто используемых подпрограмм, начавшие разрабатываться с появлением универсальных компьютеров 1-го поколения (конец 1940-х годов). Служебные программы минимизировали физические манипуляции оператора с оборудованием, а библиотеки позволяли избежать многократного программирования одних и тех же действий (осуществления операций ввода-вывода, вычисления математических функций и т. п.).

На сегодняшний момент операционная система Windows фирмы Microsoft во всех ее проявлениях, бесспорно, считается  самой распространенной операционной системой на ПК. Очевидно, что ознакомление с ПК необходимо начинать с ознакомления с Windows, ведь без нее работа на ПК немыслима для большинства пользователей.

Целью данной работы является анализ общих основ операционных систем и характеристика развития самой популярной ОС — Windows.

В реферате будут рассмотрены  основные сущности операционных систем, такие как процесс и файл, управление ими и их основные свойства. Развитие системы Windows будет рассматриваться на различных модификациях, начиная с  первых графических надстроек на ОС MS-DOS, заканчивая самой последней версией – Windows Vista.

Информационными основами для этого реферата послужили  учебные и справочные пособия  по информатике, материалы веб-сайтов и Интернет изданий, посвящённые компьютерным технологиям.

 

 

1. Назначение и основные функции операционной системы

 

Операционная система  – это комплекс взаимосвязанных системных программ, функциями которого является контроль использования и распределения ресурсов вычислительной системы и организация взаимодействия пользователя с компьютером.

Операционная система (ОС) играет роль связующего звена между аппаратурой компьютера и выполняемыми программами, а также пользователем.

Операционные системы, развиваясь вместе с ЭВМ, прошли длинный путь от простейших программ в машинных кодах размером всего в несколько мегабайт до современных, написанных на языках высокого уровня, размер которых исчисляется гигабайтами. Такой значительный рост размера операционных систем обусловлен, главным образом, стремлением разработчиков «украсить» операционную систему, расширить ее возможности, добавить возможности, изначально несвойственные операционным системам, а также сделать интерфейс пользователя интуитивным. Все эти попытки дали свои результаты, и положительные, и отрицательные. Главным результатом стало усложнение настройки и программного интерфейса при упрощении пользовательского.

MS-DOS — одна из первых операционных систем и одна из самых известных. Пик популярности этой операционной системы приходится на 90-е годы, сейчас эта операционная система используется редко. Наибольшей популярностью в мире на данный момент пользуются операционные системы фирмы Microsoft. Их доля составляет около 90% среди всех операционных систем. Наиболее устойчивые системы этой фирмы основаны на технологии NT (Windows NT/XP/Vista).

Однако Windows, естественно, не единственная современная операционная система. У других современных ОС, например Linux, UNIX, OS/2, имеют свои преимущества и недостатки. Linux предоставляет наиболее совершенную защиту, чем Windows, и имеет более продуманный интерфейс; UNIX применяется там, где требуется высокая надежность систем. Большим недостатком OS/2 и UNIX является довольно скудный выбор программных средств, и здесь Windows выигрывает у остальных операционных систем.

Важной особенностью многих ОС является способность их взаимодействия друг с другом, посредством  сети, что позволяет компьютерам  взаимодействовать друг с другом, как в рамках локальных вычислительных сетей (ЛВС), так и в глобальной сети Интернет.

Любая операционная система  оперирует некоторыми сущностями, которые  вместе со способами управления ими  во многом характеризуют ее свойства. К таким сущностям могут относиться понятия процесса, объекта, файла и т.д. Каждая ОС имеет свой набор таких сущностей. К примеру, в ОС Windows к таким сущностям можно отнести понятие объекта, и уже через управление этой сущностью предоставляются все возможные функции.

1.1. Процесс. Управление процессами

Процесс — это некоторая сущность, которая присутствует практически во всех ОС, это программа, использующая множество ресурсов. Рассмотрим две программы (то есть код и данные, которые используются) и рассмотрим все те ресурсы, которые принадлежат программе (это могут быть: пространство оперативной памяти, данные на внешнем запоминающем устройстве, права владения линиями связи и тд). Если множества ресурсов, принадлежащих двум программам, совпадают, то в этом случае мы не можем говорить об этих программах, как о двух процессах, - это один процесс. Если у каждой программы есть свое множество ресурсов, причем, эти множества могут пересекаться, но не совпадать, то мы говорим о двух процессах.

В том случае, когда  множества ресурсов нескольких процессов  имеют непустое пересечение, то у  нас возникает вопрос об использовании, так называемых, разделяемых ресурсов. Может быть несколько процессов, каждый из которых имеет в качестве своего ресурса устройство и в каждый момент времени может обратиться к этому ресурсу с заказом на какое-то действие. Синхронизация работы процессов иллюстрирует одну из функций ОС, заключающуюся в управлении функционированием процессов. Под управление процессами понимается:

1)    Управление использованием  времени центрального процессора. Это ещё иногда называют планированием ЦП, то есть управление тем, в какой момент времени какая из задач или какой из процессов будет владеть активностью ЦП: на какой из процессов будет работать ЦП.

2) Управление «подкачкой» и буфером ввода. Процессором обрабатывается  несколько процессов, и перед нами стоит задача освободить реальную оперативную память для других задач. В этом случае возникает необходимость какие-то из обрабатываемых задач откачать на внешнее запоминающее устройство. Как более или менее выгодно организовать процесс откачки является одной из задач ОС. Если в системе образовывается масса задач, то вся вычислительная система не может принять для работы в мультипрограммном режиме все задачи. В этом случае образуется, так называемый, буфер ввода задач, или буфер ввода процессов, то есть буфер, в котором аккумулируются те процессы, которые ожидают начала своей обработки процессором. Возникает проблема очередности выбора процессов из этого буфера для начала обработки. Это задача планирования буфера.

  1.   Управление разделяемыми ресурсами. Имеется набор ресурсов, доступ к которым в определенные моменты времени организуется от имени различных процессов. Одна из функций, которая во многом определяет свойства ОС, это функция, обеспечивающая организацию взаимодействия процессов и использования общих ресурсов. Проблема с простым устройством легко решается, а вот если две программы имеют общий фрагмент оперативной памяти, то управление таким разделяемым ресурсом - сложная задача.

 

1.2. Типы операционных систем

Если ЦП выделен одному из процессов, то этот процесс будет занимать ЦП до наступления одной из следующих ситуаций:

  1. Обращение к внешнему устройству.
  2. Завершение процесса.
  3. Зафиксированный факт зацикливания процесса.
  4. Исчерпание выделенного данному процессу времени Dt.

Как только наступила  одна из этих ситуаций, управление передается другому процессу. Количество передач управления от одного процесса к другому минимизировано. Так как при передаче управления с одного процесса на другой ОС должна выполнить набор некоторых действий, а это потеря времени, то здесь эти потери минимизированы. Такой режим работы ОС называется пакетным режимом. ОС, которая работает в таком режиме, называется пакетной ОС.

При наступлении одного из упомянутых событий планировщик ОС выбирает из процессов, готовых к выполнению, некоторый процесс и передает ему ресурсы ЦП. А выбирает он этот процесс в зависимости от того алгоритма планирования, который был использован в данной конкретной ОС. Например, процесс может выбираться случайно. Второй способ заключается в том, что происходит как бы последовательный обход процессов, то есть мы взяли в работу сначала один из процессов, затем он освободился, и время ЦП будет предоставлено следующему по порядку процессу из готовых к выполнению. Третьим критерием, по которому отбирается очередная задача, может быть время, которое данный процесс не обслуживался ЦП. В этом случае система может выбирать процесс, у которого такое время самое большое. Эти алгоритмы должны быть реализованы в ОС, а значит, они  должны быть простыми, иначе система будет работать неэффективно, сама на себя (хотя такие системы есть: в частности, этим страдает семейство Windows). Такой тип ОС называется ОС разделения времени. Она работает в режиме, при котором минимизируется время реакции системы на запрос пользователя. В идеале, за счет того, что время ответа на запрос  минимально, у пользователя должна создаваться иллюзия, что все ресурсы системы предоставлены только ему.

Предположим, у нас  система разделения времени. Одним  из качеств системы разделения времени  является неэффективность за счет того, что в системе предусмотрено большое количество переключений с процесса на процесс, а эта функция достаточно трудоемка. Для решения такого рода задач нужны свои средства планирования. В этом случае используются, так называемые, ОС реального времени, основным критерием которых является время гарантированной реакции системы на возникновение того или иного события из набора заранее предопределенных событий. То есть в системе есть набор событий, на которые система в любой ситуации прореагирует и обработает их за некоторое наперед заданное время. Для ОС этого класса используются достаточно простые алгоритмы.

 

 

1.3. Файловая система

Каждая из операционных систем оперирует некоторыми сущностями, одной из которых является процесс. Есть вторая сущность, которая также важна - это понятие файла. Файловая система - это компонент операционной системы, обеспечивающий организацию создания, хранения и доступа к именованным наборам данных. Эти именованные наборы данных называются файлами.

 

1.3.1. Основные свойства файлов

1. Файл - это некий объект, имеющий имя, и позволяющий оперировать с содержимым файла через ссылку на это имя. Обычно имя - это последовательность некоторых символов, длина которой зависит от конкретной операционной системы.

2. Независимость  файла от расположения. Для работы с конкретным файлом не требуется иметь информацию о местоположении этого файла на внешнем устройстве.

3. Набор функций  ввода/вывода. Практически каждая операционная система однозначно определяет набор функций, обеспечивающий обмен с файлом. Обычно, этот набор функций состоит из следующих запросов:

    1. Открыть файл для работы. Открыть можно либо уже существующий, либо новый файл. Может возникнуть вопрос - зачем открывать файл? Почему нельзя сразу читать и писать в этот файл? На самом деле, это есть средство, для того чтобы централизованно объявить операционной системе, что файл будет работать с конкретным процессом. А она уже из этих сведений может принять какие-то решения (например, блокирование доступа в этот файл для других процессов).
    2. Чтение/запись. Обычно обмен с файлами может организовываться некоторыми блоками данных. Блок данных, с которым происходит обмен, несет двоякую сущность. С одной стороны, для любой вычислительной системы известны размеры блоков данных, которые наиболее эффективны для обмена, то есть это программно-аппаратные размеры. С другой стороны, эти блоки данных при реальном обмене могут варьироваться достаточно произвольно программистом. В функциях чтения/записи обычно фигурирует размер блока данных для обмена и количество блоков данных, которые необходимо прочесть или записать. От выбранного размера блока данных может зависеть эффективность реальных обменов. Здесь есть элементы неэффективности, хотя они могут сглаживаться «умной» операционной системой.
    3. Управление файловым указателем. Практически с каждым открытым файлом связывается понятие файлового указателя. Этот указатель, в каждый момент времени показывает на следующий относительный адрес по файлу, с которым можно произвести обмен. После обмена с данным блоком указатель переносится на позицию через блок. Для организации работы с файлом требуется уметь управлять этим указателем. Имеется функция управления файловым указателем, которая позволяет произвольно (в пределах доступного) перемещать указатель по файлу. Указатель есть некоторая переменная, доступная программе, которая связана с функцией открытия файла (создающей эту переменную).
    4. Закрытие файла. Эта операция может осуществляться двумя функциями: закрыть и сохранить текущее содержимое файла либо уничтожить файл.

 

 

 

4. Защита данных. Многие стратегические решения повторяются как на аппаратном уровне, так и на уровне операционной системы. Если мы вспомним мультипрограммный режим, то одним из необходимых условий его существования является обеспечение защиты (памяти и данных). Если мы рассмотрим файловую систему, то она так же, как и операционная система, может быть однопользовательской. В этом случае проблемы защиты данных не существует, потому что человек, который работает с этой операционной системой, является хозяином всех файлов. Примеры однопользовательских систем - MS-DOS или Windows 95. Можно загрузить машину и уничтожить все файлы других пользователей, которые размещены на диске, потому что в этих системах защиты нет никакой. Многопользовательская система обеспечивает корректную работу многих пользователей. MS-DOS также может работать в режиме мультипрограммирования, но он не достаточно корректен, потому что ошибка в одном процессе может привести к затиранию операционной системы и соседнего процесса. Также и в операционной системе Windows 95 может работать много пользователей, но эта работа некорректна, потому что эта операционная система не обеспечивает все права защиты. Итак, многопользовательская система должна обеспечивать защиту информации от несанкционированного доступа. На самом деле, проблема защиты связана не только с файловой системой. Реально операционная система обеспечивает защиту данных во всех областях: это и файлы, и процессы, и ресурсы, принадлежащие процессам, запущенным от имени одного пользователя. Во всех последних версиях ОС поддерживаются многопользовательские режимы, и соответственно обеспечена защита файловых систем.

 

1.3.2. Основные свойства файловых систем

Файловая система естественно  включает в себя все те свойства, которые были перечислены для файлов, но добавляет еще некоторые. Эти свойства связаны со структурной организацией файловой системы.

 

Одноуровневая организация файлов непрерывными сегментами.

Термин «одноуровневая»  означает, что система обеспечивает работу с файлами уникально именованными. В пределах пространства запоминающего устройства выделяется некоторая область для хранения данных, которая называется каталог. Каталог имеет следующую структуру:

 

имя

начальный блок

конечный блок

 

   

 

«Начальный блок» ссылается  на некоторый относительный адрес пространства запоминающего устройства, с которого начинается файл с заданным именем. «Конечный блок» определяет последний блок данного файла. Функция открытия файла сводится к нахождению в каталоге имени файла и определении его начала и конца (реально данные могут занимать несколько меньше места, об этом будет сказано позже). Это действие очень простое, к тому же каталог можно хранить в памяти операционной системы, и тем самым уменьшить количество обменов. Если создается новый файл, то он записывается на свободное место. Аналогично каталогу имен может иметься таблица свободных пространств (фрагментов).

Чтение/запись происходит почти без дополнительных обменов, так как при открытии мы получаем диапазон размещения данных. Чтение происходит в соответствии с этой блочной структурой и никакая дополнительная информация не требуется, соответственно обмен происходит очень быстро.

Что будет, когда нужно  записать в такой файл дополнительную информацию, а свободного пространства за этим файлом нет? В этом случае система может поступить двояко. Первое, она скажет, что нет места и вы должны сделать что-то сами, например, запустить некий процесс, который перенесет этот файл в другое место и добавит нужную информацию. Этот перенос - функция достаточно дорогостоящая по времени и загрузке процессов. Вторая возможность - в обмене будет отказано. Это означает, что при открытии файла нужно было заранее зарезервировать дополнительное место; при этом файловая система проверяет размер свободного буфера, и если его мало, то ищет свободное место там, где этот файл разместится.

Итак, мы видим, что эта  организация проста, при обменах  эффективна, но в случае нехватки пространства для файла начинается неэффективность. К тому же, при долговременной работе такой файловой системы на диске случается то же, что случается с оперативной памятью - фрагментация. То есть ситуация, когда есть свободные фрагменты, но среди них нет такого, куда можно было бы разместить файл. Борьба с фрагментацией для такой организации файловой системы - это периодическая компрессия, когда запускается долгий, тяжелый и опасный для содержимого файловой системы процесс, который прижимает все файлы плотно друг к другу.

Такая организация может  быть пригодна для однопользовательской файловой системы, потому что при большом количестве пользователей очень быстро произойдет фрагментация, а постоянный запуск компрессии - смерть для системы. С другой стороны, система проста и не требует почти никаких накладных расходов.

 

 

Файловая система  с блочной организацией файлов.

Пространство запоминающего устройства разделено на блоки (те самые блоки, которые эффективны для обмена). В общем случае, с каждым именем файла связан набор номеров блоков устройства, в которых размещены данные этого файла. Причем, номера этих блоков имеют произвольный порядок, то есть блоки могут быть разбросаны по всему устройству в произвольном порядке. При такой организации нет фрагментации, хотя могут быть потери кратные блоку (если файл занял хотя бы один байт в блоке, то весь блок считается занятым). Следовательно, нет проблем компрессии, и эта система может использоваться при многопользовательской организации.

В этом случае с каждым файлом связан набор атрибутов: имя  файла, имя пользователя, по которым  происходит доступ к файлу. Такая организация позволяет уйти от уникальности имен, которая требовалась в предыдущем случае. В такой системе требуется уникальность имен лишь среди файлов одного пользователя.

Организация таких файлов может быть через каталог. Структура  каталога может быть следующая. Каталог содержит строки; каждая i-тая строка соответствует i-тому блоку файловой системы. В этой строке содержится информация о том, является ли этот блок свободным или занятым. Если он занят, то в этой строке указывается имя файла (либо ссылка на него), имя пользователя, и может находиться какая-то дополнительная информация.

При обмене система может действовать  по-разному. Либо при открытии файла  система пробегает по всему каталогу и строит таблицу соответствия логических блоков файла, их размещению на диске. Либо при каждом обмене осуществляется поиск этого соответствия.

Такая организация файловой системы  является одноуровневой в рамках одного пользователя, то есть все файлы  связаны в группы по принадлежности к какому-то пользователю.

 

 



Иерархическая файловая система.

Все файлы файловой системы построены  в структуру, которая называется деревом. В корне дерева находится, так называемый, корень файловой системы. Если узел дерева является листом, то это  файл, который может содержать данные пользователя, либо являться файлом-каталогом. Узлы дерева отличные от листа являются файлами-каталогами. Именование в такой иерархической файловой системе может происходить разными способами. Первый тип - именование файла относительно ближайшего каталога, т. е. если мы посмотрим файлы, которые являются ближайшими для каталога F0, - это файл F1, который является также каталогом, и файл F2. Для успешного именования в такой системе на одном уровне не могут повторяться имена. С другой стороны, так как все файлы связаны с помощью дерева, мы можем говорить о, так называемом, полном имени файла, которое составляется из всех имен файлов, которые составляют путь от корня файловой системы к конкретному файлу. Полное имя файла F3 будет обозначаться так: /F0/F1/F3. Такая организация хороша тем, что она позволяет работать как с коротким именем файла (если системно подразумевается, что мы работаем в данном каталоге), так и с полным именем файла. Полные имена файлов есть пути, а в любом дереве от его корня до любого узла существует единственный путь, следовательно, этим решается проблема унификации имен. Первый раз такой подход был использован в операционной системе Multix, которая разрабатывалась в университете Беркли в конце 60-х годов. Это решение применяется в большинстве операционных систем. Согласно этой иерархии, каждому из файлов можно привязывать какие-то атрибуты, связанные с правами доступа. Правами доступа могут обладать как пользовательские файлы, так и каталоги. Структура этой системы хороша для организации многопользовательской работы, за счет отсутствия проблемы именования, и такая система может очень хорошо наращиваться.

 

Персонификация и защита данных в файловой системе.

Персонификация - это возможность  операционной системы идентифицировать конкретного пользователя и в соответствии с этим принимать те или иные действия, в частности, по защите данных.

В операционной системе MS-DOS, не было понятия пользователя со всеми вытекающими последствиями - она однопользовательская.

Второй уровень операционных систем - это операционные системы, которые позволяют регистрировать пользователей, но все пользователи представляются в виде единого набора некоторых субъектов и не связаны друг с другом никак. Примером таких операционных систем могут служить некоторые операционные системы фирмы IBM для mainframe-компьютеров. При такой одномерной персонификации обеспечиваются все функции, о которых говорилось, но такая организация пользователей не предполагает образования групп пользователей.

Соответственно, аналогично файловой системе, появляется иерархическая организация пользователей. То есть существуют отдельные понятия «все пользователи» и «группа пользователей». В группе есть реальные пользователи. Такая иерархическая организация персонификации влечет за собой следующие моменты. При регистрации какого-то пользователя необходимо сначала привязать его к какой-то группе. Так как пользователи объединены в группы, то появляется возможность разделения прав доступа к ресурсам пользователей. То есть пользователь может, например, заявить, что все его ресурсы доступны для всех пользователей группы. Такая схема может быть многоуровневой (группы делятся на подгруппы и т.д.) с соответственным распределением прав и возможностей. Также существуют операционные системы (например современные версии Windows), в которых права доступа могут определяться не только такой иерархической структурой, но и могут быть более сложными, т. е. права доступа можно добавлять, нарушая эту иерархию.

 

 

1.4. Конструкция ОС

Практически любая ОС имеет понятие ядра. Ядром ОС обычно  является  ее резидентная часть, то есть та часть ОС, которая не участвует в процессах подкачки (она всегда присутствует в оперативной памяти) и работает в режиме ОС. В ядро входят базовые средства управления основными сущностями, характерными для данной ОС, а также может входить набор программ, обеспечивающих управление некоторыми физическими устройствами. В функции ядра, в частности, входит обработка прерываний.

Программы, управляющие  ресурсами, иногда называют драйверами устройств (физических или логических). К примеру, в ядро ОС должен входить драйвер оперативного запоминающего устройства.

Далее, вокруг ядра наращиваются программы управления ресурсами вычислительной системы. Первый уровень в основном состоит из драйверов физических устройств. Следующий уровень - управление логическими устройствами и так далее. Таких уровней может быть достаточно много. Вовсе не обязательно, что все компоненты работают в режиме ОС. Многие из компонентов, которые логически достаточно удалены от ядра, могут работать в обыкновенном пользовательском режиме. Так же не обязательно, чтобы все эти компоненты ОС работали в резидентном режиме. Обычно, для многих функций это не требуется.

Одной из главных частей ОС является интерфейс — универсальный механизм управления любым приложением ОС, независимо от его назначения и предметной области. Интерфейс является удобная оболочкой, с которой общается пользователь. Именно на неё обращают внимание при выборе ОС, - о ядре же, главной части ОС, вспоминают во вторую очередь. Поэтому нестабильная и ненадёжная с точки зрения ядра ОС, как, например, Windows 95, и пользовалась успехом благодаря красивой обёртке-интерфейсу.

 

2. Семейство Microsoft Windows

2.1. Первые версии Windows

Первая версия Windows вышла в свет в конце 80-х годов и осталась совершенно незамеченной. Аналогичная участь постигла и следующую версию — лишь версия Windows 3.0 (1992) сумела пробить себе дорогу и стать «продуктом года». А еще через два года были выпущены версии 3.1 и 3.11 (последняя включала такой значительный элемент, как полную поддержку мультимедиа и работу в локальной сети — потому и носила уточняющее название Windows For Workgroups), окончательно утвердившие господство Windows.

Хотя вопрос о том, а были ли первые версии Windows полноценными операционными системами, до сих пор остается открытым. Ведь устанавливалась Windows поверх уже имеющейся на компьютере ОС DOS и лишь расширяла ее возможности. Фактически, она представляла собой лишь графическую оболочку, настройку над установленным на компьютере комплектом MS-DOS. Однако корпорация Microsoft с самого начала предпочитала позиционировать Windows как ОС.

 

2.2. Поколение 9х

Windows 95. Выход новой ОС, должен было состояться еще в 1994 году — именно тогда появились официальные сообщения о завершении разработки новой ОС, получившей название Chicago. Однако время представления «Чикаго» постоянно откладывалось, корпорация Microsoft делала обнадеживающее заявление за заявлением. В августе 1995 года. Windows 95 все-таки вышла в свет. Причем сделала это с грандиозной, невиданной ранее рекламной.

Windows превратилась из  графической надстройки для DOS в полноценную операционную систему.  По крайней мере, так заявляли  ее разработчики. На самом же  деле все было сложнее: в  качестве основы в Windows 95 по-прежнему использовалась добрая старая DOS. Чуть модернизированная, конечно, и не заявленная в качестве отдельного продукта. Впрочем, большинство потребителей такой вариант устраивал. Ведь у них оставалась возможность работать в привычном DOS-режиме, не загружая графическую оболочку Windows, — и, следовательно, не расставаться с привычными DOS-программами.

Назначение и основные функции операционной системы