Введение в операционные системы

Автор работы: Пользователь скрыл имя, 24 Марта 2011 в 19:00, лекция

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

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

Файлы: 1 файл

Лекция 1 - Сетевые ОС - Введение.doc

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

Лекция 1. (2 учебных часа – 1 ч 20 мин)

Введение  в операционные системы (ОС) 

1.1. Определение, назначение, состав и функции  операционных систем 

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

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

Рис.1.1. Уровни (слои) вычислительной (микропроцессорной) системы 

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

С 1990-х  наиболее распространёнными операционными  системами для персональных компьютеров и серверов являются ОС семейства Microsoft Windows, Mac OS, системы класса UNIX, и Unix‐подобные (особенно GNU/Linux). 
 
 

Основные  простейшие функции  ОС:

  • Управление аппаратными средствами, обеспечение доступа к периферийным устройствам (устройствам ввода-вывода);
  • управление оперативной памятью (распределение между процессами, программами, защита доступа, виртуальная память или swap (англ. swap), кэширование и т.п.);
  • обеспечение файлового ввода-вывода, как правило с помощью файловой системы (в основном для обеспечения управления доступом к данным на энергонезависимых носителях, таких как «жёсткий» диск, компакт-диск и т. п.);
  • загрузка приложений в оперативную память и их выполнение;
  • обеспечение пользовательского интерфейса от простейшей командной строки (некоторые сетевые ОС) до многофункциональных графических (Windows, MAC OS, KDE для UNIX подобных ОС);
  • обеспечение сетевого взаимодействия  (поддержка стека сетевых протоколов).
 

Более сложные функции:

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

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

  • ядро обеспечивает:
    1. управление процессами, занимается планировкой задач  (планировщик);
    1. обработку прерываний;
    2. операции ввода/вывода,
    3. базовое управление памятью;
  • системные библиотеки предоставляют приложениям интерфейс к функциям ядра на более абстрактном уровне и обеспечивают дополнительную функциональность;
  • оболочка представляет пользовательский интерфейс — интерфейс командной строки или графический пользовательский интерфейс. В некоторых операционных системах (напр. UNIX) ядро и оболочка совершенно независимы и могут независимо заменяться.

Рис. 1.2. Структура ОС 

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

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

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

1.2. Требования к современным операционным системам 

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

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

В 90-е  годы практически все операционные системы, занимающие заметное место  на рынке, стали сетевыми. Сетевые  функции сегодня встраиваются в ядро ОС, являясь ее неотъемлемой частью. Операционные системы получили средства для работы со всеми основными технологиями локальных (Ethernet, Fast Ethernet, Gigabit Ethernet, Token Ring, FDDI, ATM) и глобальных (Х.25, frame relay, ISDN, ATM) сетей, а также средства для создания составных сетей (IP, IPX, AppleTalk, RIP, OSPF, NLSP). В операционных системах используются средства мультиплексирования нескольких стеков протоколов, за счет которого компьютеры могут поддерживать одновременную сетевую работу с разнородными клиентами и серверами.  

Во второй половине 90-х годов все производители  операционных систем резко усилили  поддержку средств работы с Интернетом (кроме производителей UNIX-систем, в которых эта поддержка всегда была существенной). Кроме самого стека TCP/IP в комплект поставки начали включать утилиты, реализующие такие популярные сервисы Интернета, как telnet, ftp, DNS и Web. Влияние Интернета проявилось и в том, что компьютер превратился из чисто вычислительного устройства в средство коммуникаций с развитыми вычислительными возможностями.  

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

Корпоративные операционные системы  отличаются:

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

К настоящему времени наибольшее признание получила справочная служба NDS компании Novell, выпущенная впервые в 1993 году для первой корпоративной  версии NetWare 4.O. Роль централизованной справочной службы настолько велика, что именно по качеству справочной службы оценивают пригодность операционной системы для работы в корпоративном масштабе. Длительная задержка выпуска Windows NT 2000 во многом была связана с созданием для этой ОС масштабируемой справочной службы Active Directory, без которой этому семейству ОС трудно было претендовать на звание истинно корпоративной ОС.  

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

К настоящему времени достаточно явно определилась тройка лидеров в классе корпоративных ОС — это семейство ОС от компании Novell NetWare, семейство Microsoft Windows (NT 4.0, Windows 2000, XP, Vista и т.п.), а также UNIX-системы различных производителей аппаратных платформ.  

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

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

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

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

  1. Расширяемость. В то время как аппаратная часть компьютера устаревает за несколько лет, полезная жизнь операционных систем может измеряться десятилетиями. Примером может служить ОС UNIX. Поэтому операционные системы всегда изменяются со временем эволюционно, и эти изменения более значимы, чем изменения аппаратных средств. Изменения ОС обычно заключаются в приобретении ею новых свойств, например поддержке новых типов внешних устройств или новых сетевых технологий. Если код ОС написан таким образом, что дополнения и изменения могут вноситься без нарушения целостности системы, то такую ОС называют расширяемой. Расширяемость достигается за счет модульной структуры ОС, при которой программы строятся из набора отдельных модулей, взаимодействующих только через функциональный интерфейс.
  2. Переносимость или многоплатформенность. В идеале код ОС должен легко переноситься с процессора одного типа на процессор другого типа и с аппаратной платформы (которые различаются не только типом процессора, но и способом организации всей аппаратуры компьютера) одного типа на аппаратную платформу другого типа. Переносимые ОС имеют несколько вариантов реализации для разных платформ, такое свойство ОС называют также многоплатформенностъю.
  3. Совместимость. Существует несколько «долгоживущих» популярных операционных систем (разновидности UNIX, MS-DOS, Windows 3.x, Windows NT, OS/2), для которых наработана широкая номенклатура приложений. Некоторые из них пользуются широкой популярностью. Поэтому для пользователя, переходящего по тем или иным причинам с одной ОС на другую, очень привлекательна возможность запуска в новой операционной системе привычного приложения. Если ОС имеет средства для выполнения прикладных программ, написанных для других операционных систем, то про нее говорят, что она обладает совместимостью с этими ОС. Следует различать совместимость на уровне двоичных кодов и совместимость на уровне исходных текстов. Понятие совместимости включает также поддержку пользовательских интерфейсов других ОС.
  4. Надежность и отказоустойчивость. Система должна быть защищена как от внутренних, так и от внешних ошибок, сбоев и отказов. Ее действия должны быть всегда предсказуемыми, а приложения не должны иметь возможности наносить вред ОС. Надежность и отказоустойчивость ОС прежде всего определяются архитектурными решениями, положенными в ее основу, а также качеством ее реализации (отлаженностью кода). Кроме того, важно, включает ли ОС программную поддержку аппаратных средств обеспечения отказоустойчивости, таких, например, как дисковые массивы или источники бесперебойного питания.
  5. Безопасность. Современная ОС должна защищать данные и другие ресурсы вычислительной системы от несанкционированного доступа. Чтобы ОС обладала свойством безопасности, она должна как минимум иметь в своем составе средства аутентификации — определения легальности пользователей, авторизации — предоставления легальным пользователям дифференцированных прав доступа к ресурсам, аудита — фиксации всех «подозрительных» для безопасности системы событий. Свойство безопасности особенно важно для сетевых ОС. В таких ОС к задаче контроля доступа добавляется задача защиты данных, передаваемых по сети.
  6. Производительность. Операционная система должна обладать настолько хорошим быстродействием и временем реакции, насколько это позволяет аппаратная платформа. На производительность ОС влияет много факторов, среди которых основными являются архитектура ОС, многообразие функций, качество программирования кода, возможность исполнения ОС на высокопроизводительной (многопроцессорной) платформе.

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