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

Автор работы: Пользователь скрыл имя, 18 Сентября 2015 в 11:36, лекция

Описание работы

1. Операционная система. Операционные оболочки и среды
1.1. Определение и основные функции ОС
1.2. Операционные оболочки и среды
2. История развития и поколения ОС
3. Классификация ОС
4. Функциональные компоненты ОС
5. Требования к современным ОС

Файлы: 1 файл

TEMA1.Общие сведения об ОС.DOC

— 353.50 Кб (Скачать файл)

ОС 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.

Рассмотрим пример использования функции WinAPI CreateWindowEx (создание экземпляра окна) в Delphi-программе из лабораторной работы № 3. Фрагмент описания этой функции:

В Delphi-программе присутствует строка подключения внешнего модуля windows, содержащего необходимые описания типов и самой функции:

uses windows, messages;{интерфейсы к системным DLL}


Фрагмент модуля windows с описанием рассматриваемой функции (файл g:\Program Files\Borland\Delphi7\Source\Rtl\Win\Windows.pas):

{*******************************************************}

{       Borland Delphi Run-time Library                 }

{       Win32 API Interface Unit                        }

{       Copyright (c) 1985-1999, Microsoft Corporation  }

{       Translator: Borland Software Corporation        }

{*******************************************************}

unit Windows;

………………………..

interface

uses Types{$IFDEF LINUX}, Libc {$ENDIF};

………………………………………..

function CreateWindowEx(dwExStyle: DWORD; lpClassName: PChar;

  lpWindowName: PChar; dwStyle: DWORD; X, Y, nWidth, nHeight: Integer;

  hWndParent: HWND; hMenu: HMENU; hInstance: HINST; lpParam: Pointer): HWND;

………………………………………..

implementation

………………………………………..

function _CreateWindowEx(dwExStyle: DWORD; lpClassName: PChar;

  lpWindowName: PChar; dwStyle: DWORD; X, Y, nWidth, nHeight: Integer;

  hWndParent: HWND; hMenu: HMENU; hInstance: HINST; lpParam: Pointer): HWND;

  stdcall; external user32 name 'CreateWindowExA';


Назначение этих модулей – только установление связей с библиотеками функций WinAPI, поэтому в разделе implementation функция описана как внешняя и указано ее имя в библиотеке user32.dll.

Stdcall – описатель стандартного способ передачи параметров через стек CPU (справа - налево), в противовес принятому в паскале. Применяется при обращении к находящимся в DLL  процедурам и функциям, написанных на другом языке программирования

Определения типов и цепочки переопределений типов, к которым принадлежат параметры (например, LPCTSTR = PAnsiChar;), находятся либо в самом модуле Windows, либо в подключаемом им модуле Types (файл g:\Program Files\Borland\Delphi7\Source\Rtl\Sys\Types.pas); также их можно найти в Delphi Help.

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

И, наконец, вызов функции с конкретными параметрами окна:

  hwnd:=CreateWindowEx(

         0, { параметр, относящийся к стилю окна}

         Timer, {имя класса окна, то, что было определено в lpszClassName}

         'Программа-таймер',    {заголовок  окна}

         ws_overlappedWindow,     {стиль окна}

         10,           {левая  граница}

         10,           {верхняя  граница}

         500,                     {ширина}

         200,                     {высота}

         0,                       {хэндл родительского окна}

         0,                       {хэндл оконного меню}

         hInstance,               {хэндл экземпляра приложения}

         nil);                    {дополнительные параметры создания окна}


С рядом элементов WinAPI мы познакомимся на лабораторных работах.

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

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

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

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

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

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

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

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

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

4.3. Функциональные компоненты сетевой ОС

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

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

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

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

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

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

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

· Уточнение термина «сетевая ОС»

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

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

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

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

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

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

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

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

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

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

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

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

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

Рис. 1.3. Упрощенная схема работы сетевых ОС

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

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

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

5. Требования к современным ОС

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

Помимо этого, к операционным системам предъявляется целый ряд важных эксплуатационных требований.

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

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

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

· Надежность и отказоустойчивость. Система должна быть защищена от внутренних и внешних ошибок, сбоев и отказов. Ее действия должны быть предсказуемы, а приложения не должны иметь возможности наносить вред ОС.

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

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

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 В данном случае подходит общий перевод термина interface: нечто, соединяющее две отдельные сущности

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

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


Информация о работе Общие сведения об операционных системах