Лекция 1

1.

Лекция №1
Введение. Определение операционной системы

2.

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

3.

ОС выполняет две по
существу мало
связанные функции:
• обеспечение пользователюпрограммисту удобств
посредством предоставления
для него расширенной
машины (сверху вниз)
• повышение эффективности
использования компьютера
путем рационального
управления его ресурсами
(снизу вверх)
Пользователь vs.
программист
• Пользователь обращается к
интерфейсу ОС – встроенной
визуальной среде Windows;
GNOME, KDE, Cinnamon для Linux;
CLI (Command Line Interface) –
интерфейсу командной строки
• Программист использует
операционную среду - то есть
программную среду,
определяющую интерфейс прикладного программирования (API –
Application Programming Interface )
как множество системных функций
и сервисов (системных вызовов),
которые предоставляются
прикладным программам

4.

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

5.

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

6.

Эволюция ОС
• Первый компьютер был изобретен
английским математиком Чарльзом
Бэббиджем в конце восемнадцатого века
(аналитическая машина)
• Этот компьютер не имел операционной
системы, но появилась идея программы
Архитектура фон Неймана
• Все операции выполняются в единственном устройстве обработки
данных последовательно
• Программы и данные хранятся в единой последовательно адресуемой
памяти с линейной( или одномерной архитектурой)
• Отсутствие различия между данными и командами при их хранении в
памяти – семантический разрыв
Ада
Лавлейс алгоритм
вычисления
чисел
Бернулли
на
аналитичес
кой машине

7.

Первый период (1945 -1955). Электронные
лампы и коммутационные панели
• Созданы первые ламповые
вычислительные устройства
• Об операционных системах
не было и речи, все задачи
организации
вычислительного процесса
решались вручную каждым
программистом с пульта
управления
• Не было никакого другого
системного программного
обеспечения, кроме
библиотек математических и
служебных подпрограмм
• 1951-1952гг. первые
компиляторы языка Fortran
Внутри американского компьютера ENIAC было 18 000
радиоламп. На поиск сгоревших у технического персонала
уходила большая часть рабочего времени.

8.

Второй период (1955 - 1965).
Транзисторы и системы пакетной
обработки.
• Компьютеры второго поколения на базе
полупроводниковых элементов
• Системы пакетной обработки явились
прообразом современных операционных
систем, они стали первыми системными
программами, предназначенными для
управления вычислительным процессом
• Разработан формализованный язык
управления заданиями. Совокупность
нескольких заданий, как правило в виде
колоды перфокарт, получила название
пакета заданий.

9.

Третий период (1965 - 1980).
Интегральные схемы и
многозадачность
Спулинг (spooling –
• Вариант
Simultaneous
Peripheral Operation
On
Line)способ
организации
вычислительного
процесса, в соответствии с
которым
задания
считывались с перфокарт
на диск в том темпе, в
котором они появлялись в
помещении
вычислительного центра,
а затем, когда очередное
задание
завершалось,
новое задание с диска
загружалось
в
освободившийся раздел
мультипрограммирования, применяемый в
системах
разделения
времени, нацелен на
создание для каждого
отдельного
пользователя иллюзии
единоличного
использования
вычислительной
машины.

10.

Четвертый период (1980 настоящее время). Персональные
компьютеры
• Следующий период в эволюции операционных систем связан
с появлением больших интегральных схем (БИС)
• Разнообразие ОС: от однозадачной однопользовательской MS-DOS до
многозадачной многопользовательской UNIX, сетевые ОС Novell NetWare
• 12 августа 1981 года IBM Corporation (International Business Machines)
представила первую модель персонального компьютера - IBM 5150,
положившую начало эпохи современных ПК.
• Первый персональный компьютер стоил $4 385, был прост в использовании
и занимал сравнительно мало места. IBM 5150 был оснащен процессором
Intel 8088 с тактовой частотой 4,77 мегагерца и предустановленной
оперативной памятью размером 16 или 64 килобайт. В первом ПК не было
винчестера, а дисковод необходимо было приобретать за отдельную плату.
Монитор у этого дедушки-компа был монохромный и больше походил на
черно-белый телевизор.

11.

Основные понятия ОС: процесс, нить,
многозадачность
• Изначально процессом (process) называли экземпляр программы,
загруженной в память, то есть программу во время выполнения
• Первый вариант многозадачности основан на процессах
• Процессы конкурируют за системные ресурсы
• Современная многозадачность (потоковая) основана на понятии
нить (тред, поток) thread
• Нить – часть процесса, представляет собой последовательность
инструкций на выполнение. Каждый процесс содержит минимум
одну нить
• За ресурсы процессора конкурируют нити

12.

Процесс – контейнер для
набора ресурсов,
используемых нитями, которые
выполняют экземпляр
программы, включает
следующее:
• Закрытое виртуальное адресное
пространство – диапазон адресов
виртуальной памяти, которым может
пользоваться процесс
• Исполняемую программу – начальный код
и данные, размещаемые в виртуальном
адресном пространстве процесса
• Уникальный идентификатор процесса
• Список описателей системных ресурсов,
доступных всем нитям данного процесса
(например, файлов)
• Маркер доступа (access token),
содержащий информацию о том, какие
права имеет процесс
• Минимум одну нить
Нить – часть процесса, получающая
процессорное время для выполнения.
Содержит следующие наиболее
важные элементы:
• Содержимое набора регистров
процессора, отражающих состояние
процессора
• Два стека, один из которых используется в
режиме ядра, другой – в режиме
пользователя.
• Т.н. локальную память нити, т.е. область
памяти, доступной только этой нити
• Уникальный идентификатор нити. ID нитей
и процессов генерируются из единого
пространства имен и никогда не
перекрываются

13.

Вытесняющая и невытесняющая
многозадачность
• Non-preemptive multitasking
- невытесняющая многозадачность
активный процесс выполняется до тех
пор, пока он сам, по собственной
инициативе, не отдаст управление
планировщику операционной системы
Удачный пример: файл-сервер NetWare
Неудачный пример: Windows 3.х.
• Preemptive multitasking - вытесняющая
многозадачность –
решение о переключении процессора с
выполнения одного процесса на
выполнение другого процесса
принимается планировщиком
операционной системы, а не самой
активной задачей
во всех современных операционных системах
(UNIX, Windows NT, OS/2, VAX/VMS )
Часто называют ИСТИННОЙ МНОГОЗАДАЧНОСТЬЮ

14.

Виртуализация
• Виртуализация (виртуализация платформы) –
возможность создания виртуальной машины с
собственной операционной системой с помощью
комбинации аппаратного и программного обеспечения
• Виртуализация решает две проблемы:
• возможность запуска в одной операционной системе
приложений, разработанных для другой ОС;
• разделение аппаратных ресурсов между разными ОС
для устранения влияния приложений друг на друга
(DLL hell).
• RDS (Remote Desktop Services) – Citrix в 1998г. передала
Microsoft серверную часть продукта MultiWin, RDP
(Remote Desktop Protocol) протокол Microsoft, ICA
(Independent Computing Architecture) протокол Citrix.
Впервые концепция возникает
в
рамках
операционной
системы • Виртуализация платформы предложена VMWare в 1990-е
VM/370, работающей на мейнфрейме
годы.
фирмы IBM System/360 в 1964 году

15.

Виртуализация
Виртуализация платформы обеспечивает
работу нескольких гостевых ОС на одной
хост-машине
Гипервизор – ПО виртуализации, которое
эмулирует аппаратное обеспечение (hardware)
для работы гостевой ОС и распределяет
ресурсы ОС хоста между гостевыми ОС
Гипервизор 2 типа подразумевает наличие
полноценной ОС хоста (Microsoft Virtual PC,
VMware Workstation, QEMU, Parallels,
VirtualBox)
• Oracle VM VirtualBox - бесплатный
гипервизор с открытым исходным
кодом, распространяемый
корпорацией Oracle – позволяет
создать виртуальную инфраструктуру
на локальном компьютере
Гипервизор 1 типа не подразумевает
наличие полноценной ОС хоста, на
которой можно выполнять
пользовательские приложения, вместо
этого функции управления оборудованием
лежат на тонком слое ПО, который
распределяет ресурсы ОС хоста между
гостевыми операционными системами
(VMware ESXi, Citrix XenServer, KVM)
English     Русский Правила