КИЇВСЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ
Литература:
1. Вавренюк А.Б., Забродин Л.Д., Макаров В.В., Unix: основы командного интерфейса и программирования (в примерах и задачах). МИФИ, 2010
2. Бибарсова М.Р., Бибарсов Г.Ш., Кузьминов Ю.В., Операционные системы, среды, оболочки Уч. пособие. Ставропольский гос. - пед. ин-т, 2010
3. Соломенчук В. Linux. Краткий курс. Спб: Питер, 2001
4. Таненбаум Э. Современные операционные системы 2е издание Питер, 2002 Состав вычислительной системы
Аппаратура ВС
Пользователи <--> Системное ПО
Прикладные ПО <--> пользователи
Системное ПО:
1) Управляющие программы:
· Управление аппаратурой
· Интерфейс пользователя
2) Обслуживающие программы
· Системные утилиты
· Системы контроля и восстановления
· Программы генерации и загрузки
3) Системные программы
· Трансляторы
· Редакторы связей
· Отладчики
· Загрузчики
ОС - комплекс управляющих программ, обеспечивающих распределение ресурсов всей вычислительной системы и интерфейса пользователя.
Классификация ОС
Критерии :
ü вид и состав вычислительной системы;
ü отношение к пользователям;
ü режим вычислительного процесса;
ü технология разработки;
ü способ распространения.
По виду:
ü ОС универсальных ЭВМ 3го и последующих поколений.
ü ОС персональных компьютеров.
ü ОС СЦВМ (специализированная цифровая вычислительная машина)
ü ОС рабочих многотерминальных станций.
ü ОС сетевых и распределенных вычислительных систем.
ü ОС супер ЭВМ (векторно-конвейерных, кластерных систем и т.д.)
ü ОС мобильных устройств.
По отношению к пользователям: однопользовательские и многопользовательские.
Режим вычислительного процесса:
1) системы пакетной обработки заданий;
2) системы разделения времени;
3) системы реального времени.
1) Пакетная обработка заданий
Пакет заданий: Задание 1, Задание 2, ... Задание N --> ВС (рисунок)
В этом режиме решаемые задачи оформляются в виде последовательности заданий, которые в совокупности составляют пакет заданий. Каждое задание содержит в себе программы для решения задач, исходные данные для этой программы, а также описание всех необходимых ресурсов на специальном языке JCL. В основном выполняются большие расчётные задачи.
2) Режим разделения времени
Процессор ВС < -> (t) -> Активная задача 1, Активная задача 2, ..., Активная задача N. (рисунок)
В этом режиме всё время процессора делится на кванты, и каждый квант по очереди выделяется всем активным в данный момент задачам. В результате создается иллюзия параллельного выполнения. Все системы семейства UNIX.
3) Режим реального времени
событие 1,2,n (Внешние события) t1,t2,tn ->>> ВС ->>> t1+deltat1,....,tn+delta tn, команда 1, 2, n (рисунок)
Этот режим существует в ВС, которые включены в контуры управления конкретных объектов или в системе работы транзакций. Контуры управления вызывают прерывания, которые должны быть обработаны за определенное время. Масштаб времени разный. Прерывание -> обработка -> команда.
По технологии разработки и способам распространения:
o ПО с открытым кодом;
o свободно распространяемое;
o с закрытым кодом;
o распространяемое на основе платных лицензий.
Для многих ОС - платные и свободно распространяемые версии.
Типичный состав современной ОС.
1. Обработчики прерываний и супервизоры.
2. Планировщики.
3. Система управления процессами и ресурсами.
4. Программы управления основной памятью.
5. Программы управления виртуальной памятью.
6. Программы файловой системы.
7. Оболочки.
8. Системы генерации.
Слоистая структура современной ОС.
Впервые была предложена и реализована голландским математиком и программистом Эдсгером Дейкстра. "THE". Система состояла из пяти уровней, причем каждый вышележащий уровень имел право пользоваться только средствами нижележащего уровня.
Ядро ОС.
Ядро - комплекс небольших программ, постоянно присутствующих (резидентный) в оперативной памяти, выполняющее следующие основные функции:
Ø обработка прерываний;
Ø создание и уничтожение процессов;
Ø переключение процессов из одного состояния в другое;
Ø диспетчирование процессов;
Ø приостановка и активизация процесса;
Ø синхронизация процесса;
Ø поддержка операций ввода-вывода;
Ø поддержка распределения и перераспределения основной памяти;
Ø поддержка работы файловой системы;
Ø обслуживание аппаратного контроля ВС.
В ядро включают те программы, которые наиболее часто используются, не требуют частой динамической настройки и обеспечивают быструю реакцию на различные события. Такие программы называют супервизорными программами и обработчиками прерываний.
Они бывают трех типов:
1) полностью резидентными (всегда находятся в оперативной памяти);
2) частично резидентными;
3) по условию.
В любой операционной системе различают режим супервизора и режим задачи. В режиме супервизора имеется возможность выполнения любых команд как привилегированных, так и непривилегированных. В режиме задачи - непривилегированные. Переход из режима в режим осуществляется специальными командами посредством внутренних прерываний. Этим самым обеспечивается первый уровень защиты. Планировщик - это программа, отвечающая за распределение времени процессора конкретным процессам. Они различаются по уровням. Существуют 3 уровня (обычно): диспетчеры, планировщики 1ого уровня (оперативные), планировщики 2ого уровня (долговременные). Основная функция всех планировщиков - это обеспечить по очереди всех существующих в системе активных процессов процессорным временем с учетом приоритетов и текущего состояния системы. Для этого используются различные алгоритмы планирования. В настоящее время наиболее распространенным алгоритмом оперативного планирования является круговой циклический алгоритм (RR). В этом алгоритме каждому активному процессу по очереди выделяется определенный квант процессорного времени, по истечении которого происходит передача управление следующему процессу. Для долговременного планирования чаще всего используется такие приоритетные алгоритмы как: SYF кратчайшее задание выполняется первым, SRT – наибольшим приоритетом обладает задание, до окончания выполнения которого остается наименьшее время. Приоритет определяет место в очереди. Существуют статические и динамические алгоритмы. Классическим примером динамического приоритетного планирования называется алгоритм Корбато. В этом алгоритме поддерживается несколько приоритетных уровней. На каждом уровне реализована дисциплина обслуживания FIFO. После выделения процессу очередного кванта времени он переводится на уровень с более низким приоритетом. Этим обеспечивается равномерное продвижение в системе всех активных задач.
Управление процессами и ресурсами системы.
Процесс - совокупность программы и данных, обрабатываемых на микропроцессоре. (Задача - Синоним).
Ресурс - любой объект, который может быть распределен процессу.
Различают ресурсы 2х категорий: CR потребляемые (ресурсы исчезают),
SR - последовательно используемые, возвращаются в систему в неизменном виде (оперативная память, внешняя память и т.д.). К числу CR-ресурсов относятся изменяемые структуры данных и процедуры, а также информационные ресурсы (различные сигналы и сообщения). SR-ресурсы - аппаратные, а также неизменяемые. Под управлением процессами и ресурсами подразумевается решение следующих задач:
1) изменение статуса процесса;
2) синхронизация 2х и более процессов;
3) решение проблемы взаимных блокировок.
Изменение состояния процесса происходит из графа состояний.
![]() |
|
![](image002-67.gif)
![](image003-45.gif)
![](image004-72.gif)
![](image005-41.gif)
![](image006-65.gif)
![](image007-40.gif)
КИЇВСЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ