рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

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

Универсальные операционные системы и ОС специального назначения - раздел Философия, Материалы к аттестации по операционным системам   Универсальная Ос (Ос Общего Назначения) Предназначена Для Шир...

 

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

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

Некоторые ОС, например, знаменитая OS/360 (IBM, 1965) для семейства программно совместимых ЭВМ IBM/360, русифицированная для компьютеров ЕС ЭВМ под названием ОС ЕС, могли работать в нескольких режимах: мультипрограммная пакетная обработка, разделение времени и управление в реальном времени, но это делает систему слишком громоздкой, неповоротливой и сложной.

 

Классификация операционных систем[1 c. 26 – 28; 2 разд. 3.2]

 

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

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

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

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

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

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

 

Модульная структура построения ОС и их переносимость[1 c. 46 – 50; 2 разд. 3.7 –3.8]

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

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

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

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

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

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

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

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

Микроядерная реализация ОС – технология разработки семейства ОС или создания множества операционных сред в одной ОС на основе общего микроядра.

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

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

Примеры микроядерных ОС: микроядро Mach (Стив Джобс, университет Карнеги-Меллон); Windows NT, в среде которой можно выполнять DOS-, Windows-, OS/2- и POSIX-программы; семейство микроядерных ОС реального времени QNX; микроядерные реализации UNIX и др.

В архитектуре клиент/сервер процесс-сервер – процесс, отвечающий на запросы клиента посредством сообщений. Процесс-клиент – процесс, запрашивающий сервисы у процесса-сервера, отправляя ему сообщения.

 

Управление процессором [1 c. 30 – 31; 2 разд. 3.4.1]

 

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

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

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

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

Планирование (scheduling) процессора – распределение времени процессора.

Планирование долгосрочное (на верхнем уровне) – решение о допуске нового процесса (или задания) в систему для выполнения.

Планирование среднесрочное (на промежуточном уровне) – часть свопинга: решение о (полном или частичном) помещении процесса в основную память для начала конкуренции за процессорное время.

Планирование краткосрочное (на нижнем уровне) – определение процесса (или потока), который получит процессорное время.

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

Алгоритмы краткосрочного планирования – выбора среди готовых к выполнению процессов: первым поступил – первым обслужен (FCFS – first-come-first-served), круговое планирование – циклическое обслуживание с квантованием времени, выбор самого короткого процесса; выбор процесса с меньшим временем оставшейся работы, снижение приоритета процессам, затратившим много времени и др.

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

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

 

Понятие процесса и ядра [1 c. 22 – 24, 46; 2 разд. 3.1, 3.7]

 

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

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

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

К ресурсам ОС относятся:

- аппаратура: процессоры, устройства памяти и ввода-вывода и др.;

- данные: файлы, базы данных, системные переменные и т. п.;

- программы: библиотеки программ, программы управления файлами и вводом - выводом, сервисные программы (утилиты) и т. д.

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

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

 

– Конец работы –

Эта тема принадлежит разделу:

Материалы к аттестации по операционным системам

дополнение к пособиям осень... Требования ГОС к обязательному минимуму содержания...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Универсальные операционные системы и ОС специального назначения

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

ОПД Ф.09 Операционные системы: 140 час.
  Назначение и функции операционных систем (ОС). Мультипрограммирование. Режим реального времени. Многопользовательский режим работы. Режим работы и ОС реального времени. Универсальны

Иерархия процессов
  При порождении процессов создается иерархическая (древовидная) структура процессов, в которой родительский процесс может порождать несколько («дочерних») процессов-потомков, но у ка

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

Способы реализации мультипрограммирования
Понятие прерывания [1 c. 28 – 29; 2 разд. 3.3]   Прерывание (interrupt – прерывать) – аппаратный сигнал, заставляющий ЭВМ изменить обычный

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

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

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги