Операционные системы. Информатика для СПО

Содержание

Слайд 2

Операционные системы (ОС) Операционная система (ОС) – это программа, которая обеспечивает

Операционные системы (ОС)

Операционная система (ОС) – это программа, которая обеспечивает возможность

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

Что такое ОС? Операционная система (ОС) – это комплекс программ, обеспечивающих

Что такое ОС?

Операционная система (ОС) – это комплекс программ, обеспечивающих пользователю

и прикладным программам удобный интерфейс (способ обмена данными) с аппаратными средствами компьютера.

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

Слайд 4

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

Операционные системы

Первые: II поколение компьютеров, однозадачные

Пакетный режим:
в памяти несколько программ
выполняются последовательно

Режим

разделения времени: с мощным компьютером одновременно работают несколько пользователей.
терминал = монитор + клавиатура

терминал

терминал

терминал

терминал

мэйнфрейм

Слайд 5

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

Состав ОС

начальный загрузчик – небольшая программа, расположенная в самом первом секторе

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

Операционная система как виртуальная машина При разработке ОС широко применяется абстрагирование,

Операционная система как виртуальная машина

При разработке ОС широко применяется абстрагирование, которое

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

Операционная система как виртуальная машина Архитектура большинства компьютеров на уровне машинных

Операционная система как виртуальная машина

Архитектура большинства компьютеров на уровне машинных команд

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

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

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

Операционная система предназначена для управления всеми частями

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

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

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

Если вычислительная система допускает совместную

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

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

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

Операционная система – это программа, постоянно

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

Основные понятие операционной системы В процессе эволюции возникло несколько важных концепций,

Основные понятие операционной системы

В процессе эволюции возникло несколько важных концепций, которые

стали неотъемлемой частью теории и практики ОС.
Слайд 12

Системные вызовы В любой операционной системе поддерживается механизм, который позволяет пользовательским

Системные вызовы

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

обращаться к услугам ядра ОС. В операционных системах наиболее известной советской вычислительной машины БЭСМ-6 соответствующие средства "общения" с ядром назывались экстракодами, в операционных системах IBM они назывались системными макрокомандами и т.д. В ОС Unix такие средства называют системными вызовами.
Слайд 13

Системные вызовы Системные вызовы (system calls) – это интерфейс между операционной

Системные вызовы

Системные вызовы (system calls) – это интерфейс между операционной системой

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

Системные вызовы Основное отличие состоит в том, что при системном вызове

Системные вызовы

Основное отличие состоит в том, что при системном вызове задача

переходит в привилегированный режим или режим ядра (kernel mode). Поэтому системные вызовы иногда еще называют программными прерываниями, в отличие от аппаратных прерываний, которые чаще называют просто прерываниями.
Слайд 15

Системные вызовы В этом режиме работает код ядра операционной системы, причем

Системные вызовы

В этом режиме работает код ядра операционной системы, причем исполняется

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

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

Системные вызовы

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

(INT). Программное прерывание – это синхронное событие, которое может быть повторено при выполнении одного и того же программного кода.
Слайд 17

Прерывания Прерывание (hardware interrupt) – это событие, генерируемое внешним (по отношению

Прерывания

Прерывание (hardware interrupt) – это событие, генерируемое внешним (по отношению к

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

Прерывания Важный тип аппаратных прерываний – прерывания таймера, которые генерируются периодически

Прерывания

Важный тип аппаратных прерываний – прерывания таймера, которые генерируются периодически через

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

Прерывания Аппаратное прерывание – это асинхронное событие, то есть оно возникает

Прерывания

Аппаратное прерывание – это асинхронное событие, то есть оно возникает вне

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

Исключительные ситуации Исключительная ситуация (exception) – событие, возникающее в результате попытки

Исключительные ситуации

Исключительная ситуация (exception) – событие, возникающее в результате попытки выполнения

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

Исключительные ситуации Исключительные ситуации можно разделить на исправимые и неисправимые. К

Исключительные ситуации

Исключительные ситуации можно разделить на исправимые и неисправимые. К исправимым

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

Исключительные ситуации Неисправимые исключительные ситуации чаще всего возникают в результате ошибок

Исключительные ситуации

Неисправимые исключительные ситуации чаще всего возникают в результате ошибок в

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

Файлы Файлы предназначены для хранения информации на внешних носителях, то есть

Файлы

Файлы предназначены для хранения информации на внешних носителях, то есть принято,

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

Файлы Главная задача файловой системы (file system) – скрыть особенности ввода-вывода

Файлы

Главная задача файловой системы (file system) – скрыть особенности ввода-вывода и

дать программисту простую абстрактную модель файлов, независимых от устройств. Для чтения, создания, удаления, записи, открытия и закрытия файлов также имеется обширная категория системных вызовов (создание, удаление, открытие, закрытие, чтение и т.д.). Пользователям хорошо знакомы такие связанные с организацией файловой системы понятия, как каталог, текущий каталог, корневой каталог, путь. Для манипулирования этими объектами в операционной системе имеются системные вызовы.
Слайд 25

Файловые системы Файловая система – это порядок размещения, хранения и именования

Файловые системы

Файловая система – это порядок размещения, хранения и именования данных

на носителе информации.

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

Слайд 26

Монолитное ядро По сути дела, операционная система – это обычная программа,

Монолитное ядро

По сути дела, операционная система – это обычная программа, поэтому

было бы логично и организовать ее так же, как устроено большинство программ, то есть составить из процедур и функций. В этом случае компоненты операционной системы являются не самостоятельными модулями, а составными частями одной большой программы. Такая структура операционной системы называется монолитным ядром (monolithic kernel).
Слайд 27

Драйверы устройств Драйверы (англ. driver – водитель) – это программы специального

Драйверы устройств

Драйверы (англ. driver – водитель) – это программы специального типа,

которые находятся в оперативной памяти и обеспечивают обмен данными между ядром ОС и внешними устройствами.

Драйвер

Ядро ОС

ничего не «знает» об устройстве

Слайд 28

Монолитное ядро Монолитное ядро представляет собой набор процедур, каждая из которых

Монолитное ядро

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

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

Монолитное ядро Во многих операционных системах с монолитным ядром сборка ядра,

Монолитное ядро

Во многих операционных системах с монолитным ядром сборка ядра, то

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

Монолитное ядро Монолитное ядро – старейший способ организации операционных систем. Примером

Монолитное ядро

Монолитное ядро – старейший способ организации операционных систем. Примером систем

с монолитным ядром является большинство Unix-систем.
Слайд 31

Монолитное ядро Даже в монолитных системах можно выделить некоторую структуру. Сервисные

Монолитное ядро

Даже в монолитных системах можно выделить некоторую структуру. Сервисные процедуры

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

Многоуровневые системы (Layered systems) Продолжая структуризацию, можно разбить всю вычислительную систему

Многоуровневые системы (Layered systems)

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

более мелких уровней с хорошо определенными связями между ними, так чтобы объекты уровня N могли вызывать только объекты уровня N-1. Нижним уровнем в таких системах обычно является hardware, верхним уровнем – интерфейс пользователя. Чем ниже уровень, тем более привилегированные команды и действия может выполнять модуль, находящийся на этом уровне. Впервые такой подход был применен при создании системы THE (Technishe Hogeschool Eindhoven) Дейкстрой (Dijkstra) и его студентами в 1968 г.
Слайд 33

Многоуровневые системы (Layered systems) Эта система имела следующие уровни:

Многоуровневые системы (Layered systems)

Эта система имела следующие уровни:

Слайд 34

Многоуровневые системы (Layered systems) Слоеные системы хорошо реализуются. При использовании операций

Многоуровневые системы (Layered systems)

Слоеные системы хорошо реализуются. При использовании операций нижнего слоя

не нужно знать, как они реализованы, нужно лишь понимать, что они делают. Слоеные системы хорошо тестируются. Отладка начинается с нижнего слоя и проводится послойно. При возникновении ошибки мы можем быть уверены, что она находится в тестируемом слое. Слоеные системы хорошо модифицируются. При необходимости можно заменить лишь один слой, не трогая остальные. Но слоеные системы сложны для разработки: тяжело правильно определить порядок слоев и что к какому слою относится. Слоеные системы менее эффективны, чем монолитные. Так, например, для выполнения операций ввода-вывода программе пользователя придется последовательно проходить все слои от верхнего до нижнего.
Слайд 35

Виртуальные машины В начале лекции мы говорили о взгляде на операционную

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

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

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

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

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

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

не упрощая ему жизнь, а, наоборот, усложняя. Каждая такая виртуальная машина предстает перед пользователем как голое железо – копия всего hardware в вычислительной системе, включая процессор, привилегированные и непривилегированные команды, устройства ввода-вывода, прерывания и т.д. И он остается с этим железом один на один.
Слайд 37

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

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

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

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

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

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

Слайд 39

Виртуальные машины Первой реальной системой такого рода была система CP/CMS, или

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

Первой реальной системой такого рода была система CP/CMS, или VM/370,

как ее называют сейчас, для семейства машин IBM/370. Недостатком таких операционных систем является снижение эффективности виртуальных машин по сравнению с реальным компьютером, и, как правило, они очень громоздки. Преимущество же заключается в использовании на одной вычислительной системе программ, написанных для разных операционных систем.
Слайд 40

Микроядерная архитектура Современная тенденция в разработке операционных систем состоит в перенесении

Микроядерная архитектура

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

части системного кода на уровень пользователя и одновременной минимизации ядра. Речь идет о подходе к построению ядра, называемом микроядерной архитектурой (microkernel architecture) операционной системы, когда большинство ее составляющих являются самостоятельными программами.
Слайд 41

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

Микроядерная архитектура

В этом случае взаимодействие между ними обеспечивает специальный модуль ядра,

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

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

Микроядерная архитектура

В этом случае взаимодействие между ними обеспечивает специальный модуль ядра,

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

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

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

Слайд 44

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

Микроядерная архитектура

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

через микроядро.
Слайд 45

Микроядерная архитектура Основное достоинство микроядерной архитектуры – высокая степень модульности ядра

Микроядерная архитектура

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

системы. Это существенно упрощает добавление в него новых компонентов. В микроядерной операционной системе можно, не прерывая ее работы, загружать и выгружать новые драйверы, файловые системы и т. д. Существенно упрощается процесс отладки компонентов ядра, так как новая версия драйвера может загружаться без перезапуска всей операционной системы.
Слайд 46

Микроядерная архитектура Компоненты ядра операционной системы ничем принципиально не отличаются от

Микроядерная архитектура

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

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

Микроядерная архитектура В то же время микроядерная архитектура операционной системы вносит

Микроядерная архитектура

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

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

Микроядерная архитектура В то же время микроядерная архитектура операционной системы вносит

Микроядерная архитектура

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

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

Смешанные системы Все рассмотренные подходы к построению операционных систем имеют свои

Смешанные системы

Все рассмотренные подходы к построению операционных систем имеют свои достоинства

и недостатки. В большинстве случаев современные операционные системы используют различные комбинации этих подходов. Так, например, ядро операционной системы Linux представляет собой монолитную систему с элементами микроядерной архитектуры. При компиляции ядра можно разрешить динамическую загрузку и выгрузку очень многих компонентов ядра – так называемых модулей. В момент загрузки модуля его код загружается на уровне системы и связывается с остальной частью ядра. Внутри модуля могут использоваться любые экспортируемые ядром функции..
Слайд 50

Смешанные системы Другим примером смешанного подхода может служить возможность запуска операционной

Смешанные системы

Другим примером смешанного подхода может служить возможность запуска операционной системы

с монолитным ядром под управлением микроядра. Так устроены 4.4BSD и MkLinux, основанные на микроядре Mach. Микроядро обеспечивает управление виртуальной памятью и работу низкоуровневых драйверов. Все остальные функции, в том числе взаимодействие с прикладными программами, осуществляется монолитным ядром. Данный подход сформировался в результате попыток использовать преимущества микроядерной архитектуры, сохраняя по возможности хорошо отлаженный код монолитного ядра.
Слайд 51

Смешанные системы Наиболее тесно элементы микроядерной архитектуры и элементы монолитного ядра

Смешанные системы

Наиболее тесно элементы микроядерной архитектуры и элементы монолитного ядра переплетены

в ядре Windows NT. Хотя Windows NT часто называют микроядерной операционной системой, это не совсем так. Микроядро NT слишком велико (более 1 Мбайт), чтобы носить приставку "микро". Компоненты ядра Windows NT располагаются в вытесняемой памяти и взаимодействуют друг с другом путем передачи сообщений, как и положено в микроядерных операционных системах. В то же время все компоненты ядра работают в одном адресном пространстве и активно используют общие структуры данных, что свойственно операционным системам с монолитным ядром. По мнению специалистов Microsoft, причина проста: чисто микроядерный дизайн коммерчески невыгоден, поскольку неэффективен.
Слайд 52

Смешанные системы Таким образом, Windows NT можно с полным правом назвать гибридной операционной системой.

Смешанные системы

Таким образом, Windows NT можно с полным правом назвать гибридной

операционной системой.
Слайд 53

ОС персональных компьютеров Однозадачные – в каждый момент выполняется только одна

ОС персональных компьютеров

Однозадачные – в каждый момент выполняется только одна задача

(программа), она получает все ресурсы компьютера. Примеры: MS DOS, FreeDOS
Многозадачные – может одновременно выполняться несколько задач; ОС распределяет кванты времени процессора между задачами.
Windows 95/98/Me
Windows NT/2000/XP/2003/Vista/7/8
Mac OS, iOS – ОС фирмы Apple
Linux, FreeBSD – UNIX-подобные ОС
QNX – ОС реального времени
Слайд 54

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

Реализация многозадачности

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

два класса:
многозадачные (Unix, OS/2, Windows);
однозадачные (например, MS-DOS).
Слайд 55

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

Реализация многозадачности

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

мультипрограммный режим в соответствии с требованиями раздела "Основные понятия, концепции ОС".
Слайд 56

Реализация многозадачности Многозадачный режим, который воплощает в себе идею разделения времени,

Реализация многозадачности

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

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

Реализация многозадачности В некоторых ОС (Windows 3.11, например) пользовательская программа может

Реализация многозадачности

В некоторых ОС (Windows 3.11, например) пользовательская программа может монополизировать

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

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

Реализация многозадачности

По приведенным примерам можно судить о приблизительности классификации. Так, в

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

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

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

По числу одновременно работающих пользователей ОС можно разделить на:


однопользовательские (MS-DOS, Windows 3.x);
многопользовательские (Windows NT, Unix).
Наиболее существенное отличие между этими ОС заключается в наличии у многопользовательских систем механизмов защиты персональных данных каждого пользователя.
Слайд 60

Многопроцессорная обработка Вплоть до недавнего времени вычислительные системы имели один центральный

Многопроцессорная обработка

Вплоть до недавнего времени вычислительные системы имели один центральный процессор.

В результате требований к повышению производительности появились многопроцессорные системы, состоящие из двух и более процессоров общего назначения, осуществляющих параллельное выполнение команд. Поддержка мультипроцессирования является важным свойством ОС и приводит к усложнению всех алгоритмов управления ресурсами. Многопроцессорная обработка реализована в таких ОС, как Linux, Solaris, Windows NT, и ряде других.
Слайд 61

Многопроцессорная обработка Многопроцессорные ОС разделяют на симметричные и асимметричные. В симметричных

Многопроцессорная обработка

Многопроцессорные ОС разделяют на симметричные и асимметричные. В симметричных ОС

на каждом процессоре функционирует одно и то же ядро, и задача может быть выполнена на любом процессоре, то есть обработка полностью децентрализована. При этом каждому из процессоров доступна вся память.
Слайд 62

Многопроцессорная обработка В асимметричных ОС процессоры неравноправны. Обычно существует главный процессор

Многопроцессорная обработка

В асимметричных ОС процессоры неравноправны. Обычно существует главный процессор (master)

и подчиненные (slave), загрузку и характер работы которых определяет главный процессор.
Слайд 63

Системы реального времени В разряд многозадачных ОС, наряду с пакетными системами

Системы реального времени

В разряд многозадачных ОС, наряду с пакетными системами и

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

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

Системы реального времени

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

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

Системы реального времени Столь жесткие ограничения сказываются на архитектуре систем реального

Системы реального времени

Столь жесткие ограничения сказываются на архитектуре систем реального времени,

например, в них может отсутствовать виртуальная память, поддержка которой дает непредсказуемые задержки в выполнении программ.
Слайд 66

ОС персональных компьютеров Microsoft Windows (www.microsoft.com) > 90% ПК Mac OS

ОС персональных компьютеров

Microsoft Windows (www.microsoft.com) > 90% ПК

Mac OS (www.apple.com) ≈

5% ПК

Linux ≈ 1% ПК, большинство суперкомпьютеров

Ubuntu (ubuntu.com)
Fedora (fedoraproject.org)
OpenSUSE (opensuse.org)
Slackware (www.slackware.com)
Gentoo (www.gentoo.org)
ALT Linux (www.altlinux.org)

Дистрибутивы (распространяемые сборки)

улучшенная поддержка русского языка

Слайд 67

ОС Linux бесплатность ОС и многих программ высокий уровень безопасности и

ОС Linux

бесплатность ОС и многих программ
высокий уровень безопасности и защиты от

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

сложность настройки
нет драйверов для некоторых устройств
нет версий некоторых программ (Adobe Photoshop)
нет поддержки современных игр

Слайд 68

Современные ОС ОС для мобильных устройств Google Android (на основе ядра

Современные ОС

ОС для мобильных устройств
Google Android (на основе ядра Linux)
iOS (для

iPhone, iPad)
Windows Phone

ОС реального времени
QNX (www.qnx.com)
Windows CE (www.microsoft.com)
VxWorks (www.windriver.com)
LynxOS (www.lynuxworks.com/rtos)

Слайд 69

UNIX-подобные ОС Linux, Mac OS, QNX, VxWorks, LynxOS настройка и управление

UNIX-подобные ОС

Linux, Mac OS, QNX, VxWorks, LynxOS

настройка и управление через текстовые

файлы
текстовый ввод данных и вывод результатов
утилиты, запускаемые в командной строке
каждая утилита выполняет одну задачу
утилиты можно объединять в «конвейер», направляя результаты работы одной утилиты на вход следующей
все устройства рассматриваются как файлы

высокий уровень безопасности и защиты от вирусов

Слайд 70

Утилиты Проверка диска chkdsk (Windows) fcsk (Linux) Управление жёстким диском Управление

Утилиты

Проверка диска
chkdsk (Windows)
fcsk (Linux)
Управление жёстким диском
Управление дисками (Windows)
GNU Parted (Linux)
Файловые менеджеры
Проводник

(Windows)
Free Commander (www.freecommander.com)
Far manager (farmanager.com)
Finder (Mac OS)
Konqueror (Linux)
Midnight Commander (Linux)

Утилита – служебная программы для проверки и настройки компьютера.

Слайд 71

Утилиты Сетевые утилиты ping – проверка доступности узла в сети tracert

Утилиты

Сетевые утилиты
ping – проверка доступности узла в сети
tracert (traceroute) – трассировка

маршрута
Архиваторы
WinRAR (www.rarlab.com)
WinZip (www.winzip.com)
7Zip (www.7-zip.org)
Ark (http://utils.kde.org)
FileRoller (fileroller.sf.net)
Запись CD/DVD
Nero Burning ROM (www.nero.com)
CDBurnerXP (cdburnersp.se)
DeepBurner (www.deepburner.com)
K3b (k3b.org)

бесплатно!

бесплатно!