Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Лекция №3 Понятие, основные функции и типы ОС





Из чего состоит любая вычислительная система? В первую очередь, это то, что в англоязычных странах принято называть словом hardware, или техническое обеспечение: процессор, память, монитор, дисковые устройства и т.д., обычно объединенные магистральным соединением, которое называется шиной

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

Рис. 1.1. Слои программного обеспечения компьютерной системы.

 

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

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

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

- управление распределением ресурсов вычислительной системы для обеспечения ее эффективной работы; ОС является менеджером ресурсов;

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

Интерфейс

Приложения пользователей


ОС

Аппаратура

Схематично роль ОС в организации вычислительного процесса представлена на ри сунке

ОС в организации вычислительного процесса

Рис.1.2. ОС в организации вычислительного процесса

 

ОС как менеджер ресурсов должна обеспечивать:

• загрузку пользовательских программ в оперативную память;

• выполнение этих программ путем организуя работу процессора;

• работу с устройствами долговременной памяти, такими как магнитные диски, лен ты, оптические диски и т.д. (как правило, ОС управляет свободным пространством на этих носителях и структурирует пользовательские данные.);

• стандартный доступ к различным устройствам ввода/вывода, таким как терминалы, модемы, печатающие устройства.

При этом в современных вычислительных системах реализуются следующие воз можности:

• параллельное (или псевдопараллельное, если машина имеет только один про цессор) исполнение нескольких задач;

• распределение ресурсов компьютера между задачами;

• организация взаимодействия задач друг с другом;

• взаимодействие пользовательских программ с нестандартными внешними уст ройствами;

• организация межмашинного взаимодействия и разделения ресурсов;

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

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

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

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

■ пользовательском, предназначенном для работы с готовыми приложениями; это все интерфейсные средства в диапазоне от командной строки до развитых графических оболочек;

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

 

Классификация ОС

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

• область использования ОС;

• типы аппаратной платформы;

• методы проектирования;

• реализация внутренних алгоритмов управления ресурсами. Классификация по области использования:

- настольные ОС (Desktop Operating System) - ОС, ориентированные на работу отдельного пользователя в различных предметных областях (разработка программ, работа с документами и т.п.); основными чертами настольных ОС являются универсальность и ориентированность на пользователя; представите ли - MacOS, Windows;

- серверные ОС, использующиеся в серверах сетей как центральное звено, а так же в качестве элементов систем управления; основной чертой серверных ОС является надежность; представители - семейство UNIX, Windows NT;

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

- мобильные ОС - вариант развития настольных ОС на аппаратной платформе КПК; основные черты - удобство использования и компактность; представители -PalmOS, Windows CE.

Безусловно, данная классификация не является абсолютно жесткой, т.е. одна и та же система может исполнять различные функции. Примером тому служит использование Linux с графической оболочкой в качестве настольной ОС или Windows NT в качестве серверной. Однако каждая ОС «сильна» только в своем классе.

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

- ОС для платформы х86, однопроцессорные варианты;

- ОС для платформы х86, многопроцессорные варианты;

- ОС для RISC платформ;

- ОС для мобильных устройств;

- встраиваемые ОС (ОС таких устройств, как принтеры, ЦФК и т.п.).

По внутренним алгоритмам управления ресурсами можно создать несколько бинарных классификаций:

- многозадачные /однозадачные ОС

- многопользовательские /однопользовательские ОС и т.п.

 

Функциональные компоненты ОС

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

Основные ресурсы:

- аппаратные - процессоры, память, внешние устройства;

- информационные - данные и программы.

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

- по типам локальных ресурсов, которыми управляет ОС; соответствующие под системы - подсистемы управления ресурсами;

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

Основные подсистемы управления ресурсами - это подсистемы:

• управления процессами;

• управления памятью;

• управления файлами и внешними устройствами. Общие для всех ресурсов - это подсистемы:

• прикладного программного и пользовательского интерфейсов;

• защиты данных и администрирования.

Охарактеризуем их и далее перейдем к их рассмотрению в рамках отдельных тем. Управление процессами.

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

Подсистема управления процессами планирует выполнение процессов и выполня ет следующие функции:

- распределяет процессорное время между несколькими одновременно существу ющими в системе процессами;

- занимается созданием, переключением состояния и уничтожением процессов;

- обеспечивает процессы необходимыми системными ресурсами;

- поддерживает синхронизацию процессов;

- обеспечивает взаимодействие процессов.

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

Функциями подсистемы управления памятью являются:

- отслеживание свободной и занятой памяти;

- выделение памяти процессам и ее освобождение при завершении процесса;

- защита памяти процесса;

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

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

Управление файлами и внешними устройствами осуществляется совместной работой двух подсистем - файловой системы и подсистемы ввода-вывода.

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

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

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

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

Интерфейс прикладного программирования и пользовательский интерфейс.

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

В программах обращения к ОС используются по крайней мере в следующих слу чаях:

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

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

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

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

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

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

Функции WinAPI находятся в системных загружаемых библиотеках, таких как system32.dll, kernel32.dll, user32.dll, gdi32.dll и др. (каталог g:\WINDOWS\system32). Эти библиотеки используются самой ОС, поэтому они всегда находятся в памя ти. Каждое приложение должно самостоятельно подключать библиотеки, содер жащие необходимые ему функции.

Описания функций WinAPI на языке Си можно посмотреть через меню Пуск/Про-граммы/Borland Delphi 7/Help/MS SDK Help Files/Win32 Developer's References.

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

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

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

- командный язык для работы с терминалом; команды вводятся по одной с терми нала либо их последовательность считывается из командного файла и выполняют ся командным интерпретатором (разновидности Unix в их исходном варианте);

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

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

• Защита данных и администрирование

Безопасность данных обеспечивается:

- средствами отказоустойчивости ОС (защита от сбоев и отказов аппаратуры и ошибок программного обеспечения);

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

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

Рассмотрим функциональные компоненты сетевой ОС

Сетевые и распределенные ОС.

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

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

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

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

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

В настоящее время практически все сетевые ОС далеки от идеала истинной рас пределенности.

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

- взаимно согласованный набор коммуникационных протоколов для

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

- разделения ресурсов этих компьютеров между пользователями сети;

- подсистемы, организующие работу по этим протоколам.

В итоге ОС получает возможность предоставления своих ресурсов в общее пользо вание и/или потребления ресурсов других компьютеров.

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

ОС Windows, начиная с NT, различные варианты ОС Unix (HP-UX компании Hewlett-Packard, Solaris компании Sun, FreeBSD и др.), различные варианты ОС Linux, ОС MacOS, ОС NetWare компании Novell являются сетевыми.

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

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

- серверная часть ОС - средства предоставления локальных ресурсов и услуг в общее пользование;

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

- транспортные, или коммуникационные средства ОС - средства, совместно с коммуникационной системой обеспечивающие обмен сообщениями в сети.

Правила взаимодействия компьютеров при передаче сообщений по сети фиксируются в коммуникационных протоколах (Ethernet, Token Ring, IP, IPX и пр.).

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

Рис.1.3 Структура сетевой ОС

 

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

Фактически существуют два типа редиректоров, используемых в сети:

· клиентский редиректор (client redirector)

· серверный редиректор (server redirector).

Date: 2015-09-18; view: 1643; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.007 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию