Автор работы: Пользователь скрыл имя, 24 Марта 2011 в 19:00, лекция
1. Определение, назначение, состав и функции операционных систем 2. Требования к современным операционным системам 3.Основные понятия, концепции ОС 4. Классификация операционных систем 5. Сетевые и распределенные ОС
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.
По числу одновременно
2.
По числу одновременно
3. По типу лицензии:
4. По архитектуре:
5. По использованию процессора:
6. По применению:
7.
По возможности сетевого
В однозадачных
системах используются средства управления
периферийными устройствами, средства
управления файлами, средства общения
с пользователями. Многозадачные ОС используют
все средства, которые характерны для
однозадачных, и, кроме того, управляют
разделением совместно используемых ресурсов:
процессор, ОЗУ, файлы и внешние устройства.
Системы
пакетной обработки предназначены
для решения задач, которые не
требуют быстрого получения результатов.
Главной целью ОС пакетной обработки является
максимальная пропускная способность
или решение максимального числа задач
в единицу времени.
Эти системы
обеспечивают высокую производительность
при обработке больших объемов
информации, но снижают эффективность
работы пользователя в интерактивном
режиме.
В системах
с разделением времени для выполнения
каждой задачи выделяется небольшой промежуток
времени, и ни одна задача не занимает
процессор надолго. Если этот промежуток
времени выбран минимальным, то создается
видимость одновременного выполнения
нескольких задач. Эти системы обладают
меньшей пропускной способностью, но обеспечивают
высокую эффективность работы пользователя
в интерактивном режиме.
Системы
реального времени применяются
для управления технологическим
процессом или техническим
1.3.1.
Системы реального
времени
В разряд
многозадачных ОС, наряду с пакетными
системами и системами
Они используются
для управления различными техническими
объектами или технологическими процессами.
Такие системы характеризуются предельно
допустимым временем реакции на внешнее
событие, в течение которого должна быть
выполнена программа, управляющая объектом.
Система должна обрабатывать поступающие
данные быстрее, чем они могут поступать,
причем от нескольких источников одновременно.
Столь
жесткие ограничения
1.3.2.
Однопользовательские
и многопользовательские
ОС
Наиболее
существенное отличие между этими
ОС заключается в наличии у
многопользовательских систем механизмов
защиты персональных данных каждого пользователя.
В многопользовательских
ОС каждый пользователь настраивает
для себя интерфейс пользователя,
т.е. может создать собственные наборы
ярлыков, группы программ, задать индивидуальную
цветовую схему, переместить в удобное
место панель задач и добавить в меню Пуск
новые пункты.