Понятия и основные виды операционных систем

Понятия и основные виды операционных систем

Введение

Глава 1. Понятие операционной системы

  • Основы операционной системы
  • Назначение и классификация операционных систем
  • Функции операционной системы
  • Требования к операционной системе
  • Состав ОС и назначение компонент 
  • Обзор файловых систем

Глава 2. Характеристика современных операционных систем

  • Операционные системы семейства Windows 95, 98, ME
  • Операционные системы семейства Windows NT, 2000, XP

Заключение 

Список литературы

Введение

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

 

 

 

 

 

 

 

 

 

 

 

Глава 1. Понятие операционной системы

Основы операционной системы

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

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

Существуют (ОС), функции  которых этим и исчерпывают. Одна из хорошо известных систем такого тапа – дисковая операционная система  MS DOS. Более развитые ОС предоставляют также следующие возможности:

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

Назначение и  классификация операционных систем

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

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

Вариантов классификации  ОС может быть очень много, они  зависят от признака, по которому одна  ОС отличается от другой:

  • по назначению;
  • по режиму обработки;
  • по способу взаимодействия с системой;
  • по способу построения.

Основным предназначением  ОС является:

  • организация  эффективных и надёжных вычислений;
  • создание различных интерфейсов для взаимодействия с этими вычислениями и самой вычислительной системой.

ОС разделяют по назначению:

  • ОС общего назначения;
  • ОС специального назначения.

ОС специального назначения подразделяются на следующие:

  • для переносимых компьютеров и встроенных систем;
  • для организации и ведения баз данных;
  • для решения задач реального времени и т.д.

ОС разделяют по режиму обработки задач:

  • однопрограммный режим;
  • мультипрограммный режим.

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

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

Мультизадачый режим предполагает, сто забота о параллельном выполнении и взаимодействии приложений ложится  на прикладных программистов.

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

  • однопользовательские( однотерминальные);
  • мультитерминальные.

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

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

По способам построения (архитектура) ОС 
подразделяются на следующие:

  • микроядерные;
  • монолитные.

Это деление условно. К  микроядерным ОС относятся ОСРВ QNXа к монолитным-Windows 9x и Linux. Для ОС Windows 9x пользователь не может изменить ядро, так как не располагает исходными кодами и программой сборки ядер. Для ОС Linux такая возможность предоставлена, пользователь может сам собрать ядро, включив в него необходимые программные модули и драйверы.

Функции оперативной  системы:

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

Требования к  операционной системе:

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

Состав ОС и  назначение компонент:

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

Операционные  системы для автономного компьютера.


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

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

ОС как  виртуальная машина


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

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

Если бы программист работал  непосредственно с аппаратурой  компьютера, без участия ОС, то для  организации чтения блока данных с диска программисту пришлось бы использовать более десятка команд с указанием множества параметров: номера блока на диске, номера сектора  на дорожке и т. п. А после завершения операции обмена с диском он должен был бы предусмотреть в своей  программе анализ результата выполненной  операции. Учитывая, что контроллер диска способен распознавать более  двадцати различных вариантов завершения операции, можно считать программирование обмена с диском на уровне аппаратуры не самой тривиальной задачей. Не менее обременительной выглядит и работа пользователя, если бы ему  для чтения файла с терминала  потребовалось задавать числовые адреса дорожек и секторов.

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

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

ОС как  система управления ресурсами.


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

К числу основных ресурсов современных вычислительных систем могут быть отнесены такие ресурсы, как процессоры, основная память, таймеры, наборы данных, диски, накопители на магнитных  лентах, принтеры, сетевые устройства и некоторые другие. Ресурсы распределяются между процессами. Процесс (задача) представляет собой базовое понятие  большинства современных ОС и  часто кратко определяется как программа  в стадии выполнения. Программа —  это статический объект, представляющий собой файл с кодами и данными. Процесс — это динамический объект, который возникает в операционной системе после того, как пользователь или сама операционная система решает «запустить программу на выполнение», то есть создать новую единицу  вычислительной работы. Например, ОС может  создать процесс в ответ на команду пользователя run prgl. exe, где prgl. exe — это имя файла, в котором хранится код программы.

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

Управление ресурсами  включает решение следующих общих, не зависящих от типа ресурса задач:

  • планирование ресурса — то есть определение, какому процессу, когда и в каком количестве (если ресурс может выделяться частями) следует выделить данный ресурс;
  • удовлетворение запросов на ресурсы;
  • отслеживание состояния и учет использования ресурса — то есть поддержание оперативной информации о том, занят или свободен ресурс и какая доля ресурса уже распределена;
  • разрешение конфликтов между процессами.

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

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

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

Функциональные  компоненты операционной системы автономного  компьютера.


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

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


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

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

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

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

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

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

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

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

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

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

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

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

Управление  памятью.


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

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

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

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

Защита памяти — это избиpaтeльнaя способность предохранять выполняемую задачу от записи или чтения памяти, назначенной другой задаче. Правильно написанные программы не пытаются обращаться к памяти, назначенной другим. Однако реальные программы часто содержат ошибки, в результате которых такие попытки иногда предпринимаются. Средства защиты памяти, реализованные в операционной системе, должны пресекать несанкционированный доступ процессов к чужим областям памяти.

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

Управление  файлами и внешними устройствами.

Понятия и основные виды операционных систем