ЗНАЕТЕ ЛИ ВЫ?

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



Библиография

На русском языке

• Гордеев А.В. Операционные системы. - М.,Питер, 2007

• Дейтел Х.М. и др. Операционные системы. - М.,Бином, 2006

• Э. Таненбаум , Современные операционные системы, Питер, 2004,

На английском языке

Abraham Silberschatz and others. Operating System Concepts (7th Edition) -USA, BARENTS,

Group LLC, 2007

A. Nico Habermann . Introduction to Operation Systems Design. - USA, Science Research

Associates, 2005

http://citforum.ru/operating_system

http://cs.mipt.ru/docs/courses/osstud

=================================== ======================= =================

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

1. Роль ОС в вычислительных системах

2. Эволюция ОС

3. Классификация ОС

Осн. Компоненты компьютерной (вычислительной) системы

1. Человек (пользователь)

2. Компьютер (набор электронных взаимосвязанных элементов) – eng. Hardware

3. Компьютерные программы(логические сценарии работы и взаимодействия электронных

элементов) – eng. Software

4. Коммуникационные каналы

5. Информация

Место ОС в компьютерной (вычислительной) системе

— Операционная система составляет основу программного обеспечения ПК.

Операционная системапредставляет комплекс системных и служебных программных

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

всех других программ.

С одной стороны, она опирается на базовое программное обеспечение ПК, входящее в его систему

BIOS, с другой стороны, она сама является опорой для программного обеспечения более высоких

уровней – прикладных и большинства служебных приложений.

Операционная система как менеджер ресурсов

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

компьютера.

Операционная система, как менеджер ресурсов, осуществляет упорядоченное и контролируемое

распределение процессоров, памяти и других ресурсов между различными программами.

Операционная система как постоянно функционирующее ядро

можно дать и такое определение:

операционная система – это программа, постоянно работающая на компьютере и

взаимодействующая со всеми прикладными программами.

Казалось бы, это абсолютно правильное определение, но, во многих современных операционных

системах постоянно работает на компьютере лишь часть операционной системы, которую принято

называть ее ядром.

Операционная система как защитник пользователей и программ

Если вычислительная система допускает совместную работу нескольких пользователей, то

Возникает проблема организации их безопасной деятельности.

• Необходимо обеспечить сохранность информации на диске, чтобы никто не мог удалить или

Повредить чужие файлы.

• Нельзя разрешить программам одних пользователей произвольно вмешиваться в работу

Программ других пользователей.

• Нужно пресекать попытки несанкционированного использования вычислительной системы.

Всю эту деятельность осуществляет операционная система как организатор безопасной работы

Пользователей и их программ. полицейские и контрразведывательные функции.

Поколения операционных систем

— Нулевое поколение — В первых компьютерах операционные системы отсутствовали. Это

Период с момента появления первых компьютеров до середины 50-х годов XX века.

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

В середине 50-х годов XX века.

— Второе поколение — Многорежимные операционные системы, операционные системы

Реального времени. Появились в середине 60-х годов XX века.

— Третье поколение — Операционные системы для персональных компьютеров, сетевые

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

Х годов XX века.

— Четвертое поколение — Распределенные операционные системы. Появились на границе 80-х

И 90-х годов XX века.

— Пятое поколение — Поддержка беспроводной связи для мобильных устройств. Появились в

Середине 90-х годов XX века.

ОС появились и стали развиваться параллельно с вычислительной техникой

Таким образом, существуют ОС для разных компьютеров:

• для 8 bits – CP/M

• для 16-64 bits – MS-DOS,

• для 32-64 bits – Windows 95,

• Для компьютерных сетей – Unix, Novel Netware, OS/2,Windows NT,ect.

Первый период (1945-1955гг) /Ламповые машины./Операционных систем нет

• Программирование на машинном языке

• Организация вычислительного процесса вручную каждым программистом с пульта

Управления

• Загрузка программы с помощью панели переключателей, либо перфокарт

• ВС выполняет одновременно только одну операцию (ввод-вывод, либо собственно

Вычисления)

Возникают первые компиляторы Fortran, Assembler для IBM-701

Строго последовательная обработка данных

Второй период (1955г. – начало 60-х гг.)/Транзисторные машины/Пакетные операционные

Системы

Развитие алгоритмических языков LISP, COBOL, ALGOL-60, PL-1

Разделение персонала на программистов и операторов

Изменение процесса прогона программ: пользователь приносит задание (колода перфокарт) и

оператор вводит задание в память машины и запускает его на исполнение.

Поскольку смена запрошенных ресурсов вызывает остановку работы программ и процессор

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

создавая пакет заданий

Появляются первые системы пакетной обработки !

Третий период (начало 60-х – 1980г.) /Компьютеры на основе интегральных

Микросхем./Первые многозадачные ОС

Появление электронно-лучевых дисплеев

Time-sharing (системы разделения времени) - процессор переключается между операциями не только

на время операций ввода-вывода, но и просто по прошествии определенного времени =>

пользователи могут интерактивно взаимодействовать со своими программами => возможность

Одновременной работы нескольких пользователей на одной компьютерной системе

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

Внешняя эволюция: до этого вычислительные комплексы были несовместимы. Первое семейство

Программно совместимых компьютеров, построенных на ИС было IBM/360, затем последовала

Линия компьютеров PDT, совместимых с IBM. У нас серия ЕС ЭВМ и СМ

Дальнейшее повышение эффективности достигается за счет мультипрограммирования: пока одна

Программа выполняет операцию ввода-вывода, процессор не простаивает как при однопрограммном

Режиме, а выполняет другую программу

Мультипрограммные системы обеспечили возможность более эффективного использования

системных ресурсов, но они ещѐ долгое время оставались пакетными (пользователь не мог

непосредственно взаимодействовать с заданием и должен был заранее предусмотреть все возможные

Ситуации), отладка программ по-прежнему требовала распечатки содержимого регистров или

Использования отладочной печати.

Появление электронно-лучевых дисплеев и переосмысление возможностей использования клавиатур

Стали шагом к решению этой проблемы

Логическим расширением систем мультипрограммирования стали time-sharing (системы разделения

Времени), в них процессор переключается между операциями не только на время операций ввода-

вывода, но и просто по прошествии определенного времени => пользователи могут интерактивно

взаимодействовать со своими программами => возможность одновременной работы нескольких

Пользователей на одной компьютерной системе

В системах разделения времени пользователь получил возможность записывать вводить

информацию не посредством перфокарт, а непосредственно записывать еѐ с клавиатуры на диск.

Появление On-line файлов привело к необходимости разработки файловых систем

Параллельно внутренней эволюции происходит внешняя эволюция, до этого вычислительные

Комплексы были несовместимы: программу успешно работающую на одном типе машин

Приходилось переписывать для другого типа машин. Первое семейство программно совместимых

Компьютеров, построенных на интегральных схемах было IBM/360, затем последовала линия

Компьютеров PDT, совместимых с IBM

Четвертый период (с 1980г. по настоящее время)/Персональные компьютеры./Классические

Массовость, общедоступность

STAR-100, ASC.

Классификация ОС

Внешние устройства.

В зависимости от областей использования многозадачные ОС подразделяются на три типа:

— Системы пакетной обработки (Old)

— Системы с разделением времени (Unix, Linux, Windows)

Ресурсов

T2. Архитектура ОС

Функции ОС.

Структура ОС.

Архитектура ОС.

Сравнение и т.д.)

- Адреса, которые __________позволяют локализовать данные и инструкции.

Выпоняет.

Основные задачи (цели) ИС

Ø Предоставление некоторых объектов своим пользователям:

Системные команды, которые автоматизируют операции работы с компьютером

Системные функции, которые находятся в распоряжении программ . Эти функции в

Ex. : процессор, принтер.

Функции ОС

• Предоставление пользователю/программисту виртуальной машины (логического посредника)

вместо прямого управления электронными компонентами (=>упрощение работы)

• Управление ресурсами

• Процессами

• Памятью

• Взаимодействию с устройствами Ввода/Вывода (I/О)

• Взаимодействие с внешними информационными ресурсами (файловая система)

• Защита данных и администрирование

• Интерфейс прикладного программирования (API)

• Обеспечение пользовательского интерфейса

Структура ОС

Приложений.

Областей памяти и т.п.).

— Между числом привилегий, поддерживаемых аппаратурой и операционной системой нет

Детализация структуры ядра

Ядро, являясь структурным элементом ОС, может быть логически разложен на ряд слоев:

— Средства аппаратной поддержки ОС

— Машинно-зависимые компоненты ОС (включает модули, отражающие специфику

аппаратной платформы компьютера)

— Базовые __________механизмы ядра (включает наиболее примитивные операции ядра –

Монолитные

Модульные

Микроядерные (Micro-kernel)

Виртуальные машины

Экзоядерные (Exo-kernel)

UNIX)

• Код абстрактизации, контроля и администрации ресурсов полностью располагается в ядре

ОС.

• Каждая из процедур видима другими процедурами

Микроядре)

— Расширяемость (добавление новых функций связано с включением новых серверов

ОС)

— Надежность (обусловлена изолированностью процессов)

— Поддержка распределенных вычислений (используется механизм взаимодействия

Недостаток

— Производительность (обладают меньшей производительностью)

Программами.

Аппаратная зависимость ОС

Модули.

Для обеспечения переносимости следуют следующим правилам:

— Большая часть кода написана на языке, трансляторы которого существуют для всех

планируемых платформ;

— Объем машино-зависимых частей кода должен быть минимизирован;

— Аппаратно-зависимый код должен быть изолирован в нескольких модулях

Других ОС.

Выделяют

— Двоичная совместимость – на уровне кодов (программные модули могут быть просто

Перенесены и запущены)

— Совместимость исходных текстов – приложения могут быть перекомпилированы в

Инструкций исполнителю.

“Задание” - совокупность программы, набора команд языка управления заданиями, необходимых

Системных ресурсов.

Подсистема управления процессами (eng. PCB – Process Control Block)

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

Как набор процессов

— Реально на однопроцессорной компьютерной системе в каждый момент времени может

Жизненный цикл процесса

V идентификатор процесса,

V состояние процесса,

Аппаратно.

Цели планирования

1. Справедливость: гарантировать каждому заданию или процессу некоторую часть времени

Фактически не выполняется

2. Эффективность: постараться занять процессор на все 100% рабочего времени, не позволяя

Время

Нагрузки

Статические параметры планирования

Статические параметры (предельные значения ресурсов):

• размер оперативной памяти,

• максимальное количество памяти на диске для осуществления свопинга,

• количество подключенных устройств ввода-вывода

• каким пользователем запущен процесс или сформировано задание

• насколько важной является поставленная задача, т. е. каков приоритет ее выполнения

• сколько процессорного времени запрошено пользователем для решения задачи?

• какие ресурсы ВС и в каком количестве необходимы заданию?

Динамические параметры планирования

Динамические параметры:

• сколько времени прошло со времени выгрузки процесса на диск или его загрузки в

Оперативную память

• сколько оперативной памяти занимает процесс

• сколько процессорного времени было уже предоставлено процессу

• промежуток времени непрерывного использования процессора (CPU brust)

• промежуток ввода-вывода – I/O burst

Алгоритм планирования First-Come, First-Served (FCFS)

Невытесняющее планирование

— Процесс, получивший в свое распоряжение процессор, занимает его до истечения своего

Текущего CPU burst

— После этого для выполнения выбирается новый процесс из начала очереди

Может исполняться

Алгоритм планирования Shortest-Job-First (SJF)

— Для алгоритмов FCFS и RR является существенным порядок расположения процессов в

Возрастает

— Если знать время следующих CPU burst для готовых процессов, то можно выбрать для

Времени)

— ―Кратчайшая работа первой‖, или Shortest Job First (SJF).

— В качестве алгоритма краткосрочного планирования SJF может быть как вытесняющим, так и

Невытесняющим

— При невытесняющем планировании процессор предоставляется избранному процессу на все

Планирование по принципу SRT («по наименьшему остающемуся времени»)

— Принцип SRT - это аналог принципа SJF, но с переключением, применимый в системах с

Случае SJF.

Планирование по принципу HRN («по наибольшему относительному времени реакции»)

— Бринк Хансен разработал стратегию планирования HRN, которая компенсирует некоторые из

слабостей присущих дисциплине SJF, в частности чрезмерное предубеждение против

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

HRN это дисциплина планирования без переключений, согласно которой приоритет каждого

задания является не только функцией времени и обслуживания этого задания, но также

времени, затраченного заданием на ожидание обслуживания. После того как задание

Немедленно.

Сеть очередей

• Для каждой группы процессов создается своя очередь процессов, находящихся в состоянии

Готовность

• Очередям приписываются фиксированные приоритеты

• Внутри очередей для планирования могут применяться разные алгоритмы

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

процессов), может использоваться алгоритм FCFS, а для интерактивных процессов –

алгоритм RR

• Подход многоуровневых очередей повышает гибкость планирования: для процессов с

Нижележащего уровня.

— Обычно в системе предусматривается некоторая очередь самого нижнего уровня, которая

Увеличивается.

— Таким образом, чем дольше находится процесс в сети очередей, тем больший квант времени

Взаимодействия.

Процесса.

Создание процесса в Windows

Программы.

Обращении к серверу.

— Контекст нити - содержит текущее состояние регистров, стеков и индивидуальной области

Выполняться нить.

— Время выполнения нити - суммарное время выполнения нити в пользовательском режиме и в

Асинхронной процедуры.

— Счетчик приостановок - текущее количество приостановок выполнения нити.

Алгоритмы планирования потоков в Windows

В ОС Windows реализовано вытесняющее приоритетное планирование, когда каждому потоку

Round Robin (карусель).

Полноценным потоком.

— Со временем для улучшения производительности системы в базовом алгоритме планирования

Карты.

Единица в противном случае.

Остановится.

Классы приоритетов

Процессов

Критичный

Ко времени

Самый

Высокий

Выше

Нормы

Нормальный

Ниже

Нормы

Самый

Низкий

Неработающий

Неработающий 15 6 5 4 3 2 1

Ниже нормы 15 8 7 6 5 4 1

Нормальный 15 10 9 8 7 6 1

Выше нормы 15 12 11 10 9 8 1

Высокий 15 15 14 13 12 11 1

Запуска новой программы.

Процесс, сделавший вызов fork() называется родительским, а вновь созданный процесс — дочерним.

Использовании ключа -f).

• В колонке S - state (состояние) - указывается состояние процесса. Состояния бывают

Следующие: O (ON PROC) - процесс находится в процессоре и выполняется; S (Sleeping) -

процесс ждет завершения события (например, ввода-вывода); R (Runnable) - процесс готов к

Сигналов.

• PPID - идентификатор родительского процесса.

• CMD - команда, которой был запущен процесс.

Основным средством управления процессами является команда kill, передающая процессу сигналы:

kill [-ключи] номер_процесса

Например, для завершения процесса sendmail можно выполнить следующие действия:

: ps auxw | grep sendmail

Kill 2057

Kill 2057

Kill: (2057) - No such pid

Т4. Управление памятью в ОС

Иерархия памяти

Методы разделения памяти

Виртуальная память

Иерархия памяти

Пространство

Программы)

Выполнения

— Обычно программа проходит нескольких шагов: текст на языке программирования ->

объектный модуль -> загрузочный модуль -> бинарный образ в памяти

Связывание адресов

Процессор

Физическое адресное пространство – совокупность всех доступных физических адресов в

Вычислительной системе

Однозадачной ОС.

— В памяти размещается один пользовательский процесс.

— Остается определить, где располагается пользовательская программа по отношению к ОС -

Участков

Место

Пустое место

Внутренняя фрагментация

Достаточного размера.

Виртуальная память (ВП)

Виртуальная память - это совокупность программно-аппаратных средств, позволяющих

пользователям писать программы, размер которых превосходит имеющуюся оперативную память;

для этого виртуальная память решает следующие задачи:

1. размещает данные в запоминающих устройствах разного типа, например, часть

программы в оперативной памяти, а часть на диске;

Пользователю.

Ряд преимуществ

Небольшого размера.

Смыслового значения данных.

Библиография

На русском языке

• Гордеев А.В. Операционные системы. - М.,Питер, 2007

• Дейтел Х.М. и др. Операционные системы. - М.,Бином, 2006

• Э. Таненбаум , Современные операционные системы, Питер, 2004,

На английском языке

Abraham Silberschatz and others. Operating System Concepts (7th Edition) -USA, BARENTS,

Group LLC, 2007

A. Nico Habermann . Introduction to Operation Systems Design. - USA, Science Research

Associates, 2005

http://citforum.ru/operating_system

http://cs.mipt.ru/docs/courses/osstud

=================================== ======================= =================

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

1. Роль ОС в вычислительных системах

2. Эволюция ОС

3. Классификация ОС





Последнее изменение этой страницы: 2016-08-16; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.219.31.204 (0.044 с.)