Похожие презентации:
Lekciya_2_1741133234
1. Операционные системы
Лекция №2ОСНОВНЫЕ ПОНЯТИЯ ОС
1
2. Виды программного обеспечения (ПО)
• Системное ПО - программы, которые используются всемиостальными программами, без них невозможно создание и
выполнение прикладных программ.
• Прикладное ПО - программы выполняющие научные,
технические и иные задачи, непосредственно не связанные с
управлением компьютером.
2
3. В составе системного ПО выделяют
• Базовое ПО – это минимальный набор программных средств,обеспечивающих работу компьютера. В него входят:
операционная система и операционные оболочки.
• Сервисное ПО – программы и программные комплексы, которые
расширяют возможности базового ПО и организуют более
удобную среду работы пользователя. К сервисному ПО также
относятся средства разработки (редакторы) и создания программ
(компиляторы и интерпретаторы).
3
4. Прикладное ПО
• Цель создания вычислительной системы – решение задачпользователя.
• Для решения определенного круга задач создается
прикладная программа (приложение, application).
• Примерами прикладных программ являются текстовые
редакторы и процессоры (Блокнот, Microsoft Word), графические
редакторы (Paint, Microsoft Visio), электронные таблицы
(Microsoft Excel), системы управления базами данных (Microsoft
Access, Microsoft SQL Server), браузеры (Internet Explorer) и т. п.
• Все множество прикладных программ называется прикладным
программным обеспечением (application software).
4
5. *Инструментальное ПО
• Создается программное обеспечение при помощиразнообразных средств программирования (среды
разработки, компиляторы, отладчики и т. д.), совокупность
которых называется инструментальным программным
обеспечением.
• Представителем инструментального ПО является среда
разработки Microsoft Visual Studio.
5
6. Место операционной системы в общей структуре компьютера
Веб-браузерБазы данных
Игры
Компиляторы
Редакторы
Интерпретаторы
Операционная система
Прикладное ПО
Системное ПО
Машинный язык
Микроархитектура
Аппаратура
Физические устройства
6
7. Уровни в структуре компьютера
1. Физические устройства входящие в состав компьютера:интегральные микросхемы, платы, источники питания, дисплей,
клавиатура и т.д.
2. Микроархитектура компьютера: внутренние регистры ЦПУ,
арифметико-логическое устройство и т.д.
3. Аппаратное обеспечение и команды, доступные программисту
на языке ассемблера, образуют архитектуру набора команд.
Зачастую данный уровень называют также машинным языком.
Ассемблер подробно описывает все действия, которые
необходимо выполнить, чтобы управлять многочисленными
устройствами компьютера.
7
8. Системные вызовы
• Взаимодействие всех программ с операционной системойосуществляется при помощи системных вызовов
(system calls) – запросов программ на выполнение
операционной системой необходимых действий.
• Набор системных вызовов образует API – Application
Programming Interface (интерфейс прикладного
программирования).
8
9. Понятие операционной системы
• Операционная система (ОС) - комплекс управляющих иобрабатывающих программ, которые, с одной стороны,
выступают как интерфейс между аппаратурой компьютера и
пользователем с его задачами, а с другой стороны,
предназначены для наиболее эффективного расходования
ресурсов вычислительной системы и организации надежных
вычислений.
• Операционная система изолирует аппаратное обеспечение
компьютера от прикладных программ пользователей. И
пользователь, и его программы взаимодействуют с компьютером
через интерфейсы операционной системы.
• Примеры операционных систем: UNIX, OS/2, Windows, Linux, QNX,
MacOS, BeOS.
9
10. Основные функции операционной системы:
• обеспечение выполнения программ – загрузка программ в память,предоставление программам процессорного времени, обработка
системных вызовов;
• управление оперативной памятью – эффективное выделение памяти
программам, учет свободной и занятой памяти;
• управление внешней памятью – поддержка различных файловых систем;
• управление вводом-выводом – обеспечение работы с различными
периферийными устройствами;
• предоставление пользовательского интерфейса;
• обеспечение безопасности – защита информации и других ресурсов
системы от несанкционированного использования;
• организация сетевого взаимодействия.
10
11. Режимы работы процессоров
Современные процессоры имеют минимум два режима работы:• привилегированный (supervisor mode) и
• пользовательский (user mode).
Отличие между ними заключается в том, что в пользовательском
режиме недоступны команды процессора, связанные с
управлением аппаратным обеспечением, защитой оперативной
памяти, переключением режимов работы процессора.
В привилегированном режиме процессор может выполнять все
возможные команды.
Приложения, выполняемые в пользовательском режиме, не могут
напрямую обращаться к адресным пространствам друг друга –
только посредством системных вызовов.
11
12. Режимы работы процессоров
Все компоненты операционной системы можно разделить надве группы:
• работающие в привилегированном режиме и
• работающие в пользовательском режиме,
причем состав этих групп меняется от системы к системе.
12
13. Ядро операционной системы
• Основным компонентом операционной системы является ядро(kernel).
• Функции ядра могут существенно отличаться в разных системах,
но во всех системах ядро работает в привилегированном
режиме (который часто называется режим ядра, kernel mode).
• Термин "ядро" также используется в разных смыслах. Например,
в Windows термин "ядро" (NTOS kernel) обозначает совокупность
двух компонентов – исполнительной системы (executive layer) и
собственно ядра (kernel layer).
13
14. Виды ядер ОС
• Существует два основных вида ядер – монолитные ядра(monolithic kernel) и микроядра (microkernel).
• В монолитном ядре реализуются все основные функции
операционной системы, и оно является, по сути, единой
программой, представляющей собой совокупность процедур.
• В микроядре остается лишь минимум функций, который должен
быть реализован в привилегированном режиме: планирование
потоков, обработка прерываний, межпроцессное
взаимодействие.
• Остальные функции операционной системы по управлению
приложениями, памятью, безопасностью и пр. реализуются в
виде отдельных модулей в пользовательском режиме.
14
15. Виды ядер ОС
Ядра, которые занимают промежуточные положение междумонолитными и микроядрами, называют гибридными (hybrid
kernel).
Примеры различных типов ядер:
• монолитное ядро – MS-DOS, Linux, FreeBSD;
• микроядро – Mach, Symbian, MINIX 3;
• гибридное ядро – NetWare, BeOS, Syllable.
15
16. Ядро в Windows NT
• Windows NT имеет монолитное ядро, однако, поскольку вWindows NT имеется несколько ключевых компонентов,
работающих в пользовательском режиме (например,
подсистемы окружения и системные процессы), то относить
Windows NT к истинно монолитным ядрам нельзя, скорее к
гибридным.
16
17. Привилегированный режим
Кроме ядра в привилегированном режиме (в большинствеоперационных систем) работают драйверы (driver) – программные
модули, управляющие устройствами.
В состав операционной системы также входят:
• системные библиотеки (system DLL – Dynamic Link Library,
динамически подключаемая библиотека), преобразующие
системные вызовы приложений в системные вызовы ядра;
• пользовательские оболочки (shell), предоставляющие
пользователю интерфейс – удобный способ работы с
операционной системой
17
18. Виды пользовательского интерфейса
Пользовательские оболочки реализуют один из двух основныхвидов пользовательского интерфейса:
• текстовый интерфейс (Text User Interface, TUI), другие
названия – консольный интерфейс (Console User Interface, CUI),
интерфейс командной строки (Command Line Interface, CLI);
• графический интерфейс (Graphic User Interface, GUI).
Пример реализации текстового интерфейса в Windows интерпретатор командной строки cmd.exe.
Пример графического интерфейса - проводник Windows
(explorer.exe).
18
19. Требования к операционным системам
• расширяемость – возможность приобретения системой новыхфункций в процессе эволюции; часто реализуется за счет добавления
новых модулей;
• переносимость – возможность переноса операционной системы на
другую аппаратную платформу с минимальными изменениями;
• совместимость – способность совместной работы; может иметь
место совместимость новой версии операционной системы с
приложениями, написанными для старой версии, или совместимость
разных операционных систем в том смысле, что приложения для
одной из этих систем можно запускать на другой и наоборот;
• надежность – вероятность безотказной работы системы;
• производительность – способность обеспечивать приемлемые
время решения задач и время реакции системы.
19
20. Операционные среды
Операционные среды• Прикладная программа, созданная для работы в некоторой
операционной системе, не будет работать в другой
операционной системе, поскольку API у этих операционных
систем различаются.
• Стремясь преодолеть это ограничение, разработчики
операционных систем стали создавать так называемые
операционные среды.
• Операционная система (в общем случае) может поддерживать
несколько операционных сред, связанных с другими
операционными системами.
20
21. Основная программная среда
• Та программная среда, которая непосредственно образуетсякодом операционной системы, называется основной,
естественной, или нативной (native – по английски «туземец»).
• Помимо основной операционной среды в операционной системе
могут быть организованы (путем эмуляции иной операционной
среды) дополнительные программные среды.
21
22. Эмуляция
• Эмуляция (англ. emulation) – воспроизведение программнымиили аппаратными средствами (либо их комбинацией) работы
других программ или устройств. В отличие от симуляции
(simulation), которая лишь воспроизводит поведение программы,
при эмуляции ставится цель точного моделирования состояния
имитируемой системы, для выполнения оригинального
машинного кода.
22
23. Цели использования эмуляции
1. Создание нового микропроцессора. В этом случае при помощиэмулятора на другом микропроцессоре выполняются команды
этого еще не существующего процессора.
2. Необходимость выполнения программного обеспечения,
написанного для другого устройства или операционной
системы.
3. Тестирование программ написанных для различных систем.
23
24. Портирование
• При использовании языков высокого уровня, иногда в целяхсохранения быстродействия исполняемой программы, вместо
эмуляции делают портирование программ в новую среду.
• В этом случае производится переписывание заново аппаратнозависимых участков кода.
• Если в операционной системе организована работа с различными
операционными средами, то в такой системе можно выполнять
программы, созданные не только для данной, но и для других
операционных систем.
24
25. Эмуляция 16-разрядных приложений в Windows
• Операционные системы семейства Windows начиная с версии XPпозволяют выполнять помимо основных приложений, созданных
с использованием Win32API, 16-разрядные приложения для
Windows 3.х, 16-разрядные DOS-приложения, 16-разрядные
приложения для первой версии OS/2.
25
26. Эмуляция Windows в UNIX
• Эмуляцию Windows в UNIX можно осуществить с помощьюпрограммы WineHQ (http://www.winehq.com).
• Необходимо заметить, что WineHQ не является обычным
эмулятором.
• Вместо действия в качестве полного эмулятора Wine создает
«слой совместимости», обеспечивая альтернативное
подсоединение динамически связываемых библиотек (Dynamic
Link Library), которые вызывают программы Windows, и
выполнение процессов, совместимых с ядром Windows NT.
26
27. Операционная среда
• Операционная среда – это то системное программноеокружение, в котором могут выполняться программы, созданные
по правилам работы этой среды.
• Операционная среда может быть либо нативной (естественной),
либо может быть организована в чужой операционной системе
путем эмуляции.
27
28. Операционные оболочки
• Как правило, все операционные системы имеют интерфейскомандной строки. Хотя системному администратору без него не
обойтись, пользоваться им не всегда удобно, поскольку
необходимо держать в голове множество команд, принятых в
данной операционной системе.
• Для преодоления этого недостатка было создано множество
программных «оболочек» – shell (по английски – «раковина»).
28
29. К операционным оболочкам относятся
• Norton Commander – программа, созданная как надстройка над DOS,• FAR Manager – текстовая оболочка для Windows 95/98/NT/2000/XP,
• Midnight Commander – программная оболочка системы Linux и т.п.
Программные оболочки предлагают пользователю меню, из которого
он может выбрать желаемое действие.
В настоящее время операционные оболочки практически полностью
вытеснены графическими интерфейсами (Graphical User Interface – GUI).
По-видимому, операционные оболочки можно рассматривать как нечто
промежуточное между интерфейсом командной строки и графическими
интерфейсами.
29
Информатика