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

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

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

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

Файлы: 1 файл

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

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

1.3  Основные понятия,  концепции ОС 

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

1.3.1. Системные вызовы 

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

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

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

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

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

1.3.2. Прерывания 

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

1.3.3. Исключительные ситуации 

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

1.3.4. Файлы 

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

Главная задача файловой системы (file system)  скрыть особенности ввода-вывода и дать программисту простую абстрактную модель файлов, независимых от устройств. Для чтения, создания, удаления, записи, открытия и закрытия файлов также имеется обширная категория системных вызовов (create, delete, open, close, read, write ).. Пользователям хорошо знакомы такие понятия, связанные с организацией файловой системы, как каталог, текущий каталог, корневой каталог, путь, для манипулирования которыми в операционной системе имеются системные вызовы. Файловая система ОС описана в главах 11-12. 

1.3.5.  Процессы, потоки (нити) 

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

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

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

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

1.3. Классификация операционных систем 

Существует  несколько схем классификации операционных систем.

Так, в зависимости от алгоритма управления процессором, операционные системы делятся на:

      1. По числу одновременно выполняемых  задач:

    • однозадачные (MS DOS) и
    • многозадачные
      1. Системы пакетной обработки (ОС ЕС)
      1. Системы с разделением времени (Unix, Linux, Windows)
      2. Системы реального времени (RT11, QNX)

      2. По числу одновременно работающих  пользователей на ЭВМ ОС разделяются  на

    • однопользовательские (MS DOS);
    • многопользовательские (Unix, Linux, Windows 95 - XP)

      3. По типу лицензии:

    • проприетарная или собственническая (семейство Windows) – это несвободное программное обеспечение, не удовлетворяющее критериям свободы ПО. Правообладатель сохраняет за собой монополию на его использование, копирование и модификацию, полностью или в существенных моментах.
    • свободная или открытая (большинство Linux и UNIX систем). Свобода ПО означает право пользователя свободно запускать, копировать, распространять, изучать, изменять и улучшать его. Его современная версия определения свободы ПО состоит из четырех пунктов, пронумерованных от 0 до 3:
      • Свобода запускать программу в любых целях (свобода 0).
      • Свобода изучения работы программы и адаптация ее к вашим нуждам (свобода 1). Доступ к исходным текстам является необходимым условием.
      • Свобода распространять копии, так что вы можете помочь вашему товарищу (свобода 2).
      • Свобода улучшать программу и публиковать ваши улучшения, так что все общество выиграет от этого (свобода 3). Доступ к исходным текстам является необходимым условием..

      4. По архитектуре:

    • микроядерные (VxWorks, QNX);
    • монолитные (Windows XP);
    • гибридные (Windows NT, большинство Linux);

      5. По использованию процессора:

    • однопроцессорные;
    • многопроцессорные системы (начиная с OS/2, Net Ware, Widows NT, большинство современных ОС).

      6. По применению:

    • офисные, для рабочих станций (DOS, МАС OS, Windows 98, XP, Vista),
    • серверные (Net Ware, AIX, Windows 2000, Windows Server 2003, Windows Vista Server 2008),
    • специализированные: промышленного назначения (ОС реального времени - VxWorks, QNX), для сетевых маршрутизаторов (IOS от Cisco), обучение и т.п. ;
    • встраиваемые ОС (VxWorks, QNX, Nucleus),
    • для мобильных устройств (Windows CE, Pocket PC, Windows Mobile, Palm OS, Symbian OS).

      7. По возможности сетевого взаимодействия:

    • локальные (DOS);
    • сетевые (Netware 3.x – 6.x, UNIX, Linux, FreeBSD).
 

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

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

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

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

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

1.3.1. Системы реального  времени 

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

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

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

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

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

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

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