Слайд 2
Ссылка на литературу
https://drive.google.com/file/d/0B6Sf_HlIH0B6MGJLa1EzUEs4bGM/view?usp=sharing
Слайд 3
Что такое программа?
Последовательность решения задачи:
1)Постановка задачи;
2)Составление алгоритма решения
задачи;
3)Составление программы, реализующей алгоритм;
4)Отладка программы;
5)Получение результата (решение задачи).
Программа –
это последовательность команд (операторов) определенного языка программирования составленная для выполнения алгоритма (решения задачи).
Совокупность программ образуют программное обеспечение.
Слайд 4
Классификация ПО
Системное ПО – совокупность программ для обеспечения
работы компьютера.
Используется всеми другими программами.
Инструментальное ПО - для
разработки других программ, в том числе и системных.
Прикладное ПО – приложения пользователей.
Слайд 5
Базовое ПО
Базовое ПО
Операционные системы (DOS, Windows,Linux и.т.д.)
Операционные оболочки
- интерфейс для взаимодействия пользователей с операционной системой. Операционные
оболочки переводят команды пользователя в команды операционной системы
Виды операционных оболочек:
Графические - для ввода команд ОС посредством меню, переключателей, кнопок, представленных в виде графических изображений (Проводник Windows, Тотаl Comander );
Текстовые - командная строка - для ввода команд ОС, представленных в виде текста с клавиатуры (cmd.exe в Windows, bash в Linux)
Программные – для доступа к функциям опрационной системы из других программ операционная система предлагает набор системных функций (вызовов), которые образуют интерфейс прикладного программирования- Application Program Interface, API
Слайд 6
Сервисное ПО (утилиты) - совокупность программ, расширяющих базовое
ПО.
Архиваторы для архивирования (сжатия) данных (WinRAR, WinZip и др.);
Дисковые
утилиты для обслуживания жесткого диска:
менеджер для работы с разделами жесткого диска для деления жесткого диска на разделы (Partition Magic, Acronis и.т.д. )
Дефрагментаторы (Defrag Pro);
программы для резервного копирования и восстановления жесткого диска (Acronis True Image, TestDisk, Paragon Drive Backup)
Программы диагностики оперативной памяти;
Программы диагностики процессора;
Программы очистки системного реестра (CCleaner, Reg Organizer);
Программы для шифрования данных;
Брандмауэры, сетевые экраны;
Программы диагностики сети.
Некоторые сервисные программы могут входить в состав ОС
(Брандмауэр Windows, chdisk, программа разбивки на разделы и.т.д.)
Слайд 7
Инструментальное ПО
Инструментальное ПО - совокупность программ, которые используют
при разработке программ прикладного и системного ПО
Языки и среды
программирования
Специализированные текстовые редакторы;
Компиляторы (GCC-для Cи в Linux);
интерпретаторы (VBScript, JavaScript, PHP, Perl, Python, Ruby);
Компоновщики(для сборки исполняемого файл из объектных файлов);
Отладчики (для поиска ошибок в программе;
Библиотеки (содержат процедуры и функции, которые могут использовать программисты в своих программах)
Интегрированная среда программирования - система для разработки программного обеспечения,
Включает основные виды инструментального ПО: специализированный текстовый редактор, транслятор, компоновщик, отладчик и библиотеки (Microsoft Visual Studio, Embarcadero Delphi).
Слайд 8
Прикладное ПО
Прикладное ПО общего назначения - совокупность программ
для решения общих универсальных задач.
Текстовые редакторы (MS Word) ,
электронные таблицы (MS Exel), графические редакторы (MS Paint, Adobe Photoshop) и др.
Прикладное ПО специального (профессионального) назначения - совокупность программ для решения более узких задач и профессиональных задач различных предметных областей.
Настольные издательские системы (Adobe Frame Maker), клиент-серверные СУБД (MS SQL Server , Oracle Database);
Системы автоматизированного проектирования (САПР, CAD/CAM/CAE - Компас, AutoCAD, PCAD )$
бухгалтерские системы (1C)
Слайд 9
Предпосылки возникновения ОС
Ввод – вывод данных
Любая программа требует
операций ввода-вывода данных.
Низкоуровневое программирование операций ввода-вывода относится к
одной из самых трудоемких областей создания программного обеспечения.
Выход – один раз создать набор подпрограмм управления операциями ввода-вывода и использовать его в программах, чтобы не заставлять программистов каждый раз заново программировать эти сложные операции.
Набор подпрограмм ввода-вывода стали организовывать в виде специальной библиотеки ввода-вывода которая в дальнейшем стала частью ОС.
Слайд 10
Предпосылки возникновения ОС
автоматизация процесса выполнения программы (как
было)
Жизненный цикл программы без ОС :
Программист составлял на
бумаге текст программы на языке высокого уровня;
Оператор №1 переносил текст на специальные носители (перфокарты, перфоленту);
Оператор №2 переключателями с пульта процессора загружал в память транслятор;
Транслятор считывал текст программы в память , переводил её в машинный код и результат сохранял на носителях;
Оператор №2 выгружал транслятор и загружал в память оттранслированную программу и программы управления вводом – выводом;
Оператор №2 запускал программу на выполнение.
Слайд 11
Возникновение ОС
Операционная система изначально была создана для:
Автоматизации труда
оператора ЭВМ.
Была разработана специальная управляющая программа, загрузив которую
в память один раз оператор мог ее далее использовать неоднократно и более не обращаться к процедуре программирования ЭВМ через пульт оператора.
Автоматизация труда прикладного программста.
Облегчение программирования операций ввода – вывода прикладными прораммистами.
Первая операционная система для компьютера IBM 704 GM-NAA I/O (General Motors & North American Aviation Input/Output system) - разработана в 1956 году Робертом Патриком
Слайд 12
Операционная система
Операционная система (ОС) это набор системных управляющих
программ, которые управляют устройствами компьютера (процессором, оперативной памятью, устройствами
ввода\вывода) и обеспечивают работу других программ, выполняя роль интерфейса между пользователем и компьютером
Слайд 13
Функции ОС
Обеспечивает интерфейс пользователя (интерфейс - унифицированная
система связи) между пользователем и компьютером);
Управление памятью (распределение памяти
между программами и организация виртуальной памяти);
Загрузка программ в оперативную память и запуск их на выполнение процессором;
Управление программами (параллельная работа нескольких программ и пользователей на одном процессоре создающая видимость их одновременного исполнения.):
Планирование и диспетчеризация выполнения ( программ) в соответствии с заданными стратегиями обслуживания.
Организация механизмов обмена сообщениями и данными между выполняющимися программами.
Защита одной программы от влияния другой, обеспечение сохранности данных, защита самой операционной системы от исполняющихся на компьютере приложений.
Слайд 14
Функции ОС
Управление файловой системой;
Управление вводом/выводом информации
Управление работой
с вычислительной сетью;
Обнаружение аппаратных и программных ошибок и их
обработка;
Управление ресурсами - обеспечивает разделение аппаратных ресурсов между программами и пользователями;
Прием и исполнение различных запросов от выполняющихся приложений на запуск входящих в ОС системных функций (сервисов). Эти запросы выполняются по определенным правилом, которые определяют интерфейс прикладного программирования этой операционной системы (Application Program Interface, API)
Слайд 15
Жизненный цикл программы с ОС
(как стало)
Программист запускает интегрированную
среду программирования и набирает текст программы (как правило на
языке высокого уровня, например, С, С#, C++, Java и т.д.) – исходный файл.
Программист с помощью среды программирования переводит программу (компиляция и интерпретация) на машинный язык, понятный компьютеру – объектный файл.
Компоновка программы - подключение к программе дополнительных модулей (из библиотек) и получение загрузочного модуля.
Операционная система по команде программиста загружает программу в память и запускает её на выполнение.
Во время выполнения программы операционная система контролирует её выполнение и предоставляет при необходимости определенные сервисы (ввод – вывод данных, файловую систему , дополнительную оперативную память и т.д. );
По окончании работы ОС выгружает программу из памяти и выводит результаты её работы.
Слайд 16
Поколения ОС
Нулевое поколение (45-55е гг. ХХ в). (электронные
лампы)
ОС на первых вычислительных машинах не было. Пользователи имели
доступ к машинному языку и все программы писались на машинных кодах.
Первое поколение (55-60е гг. ХХ в). (транзисторы)
Первая ОС для компьютера IBM 704 (1956 год) ;
Начало систем пакетной обработки.
операционные системы пакетной обработки – из программ, подлежащих выполнению, формируется пакет (набор) заданий, вводимых в ЭВМ и выполняемых в порядке очередности с возможным учетом приоритетности и максимальной загрузки оборудования компьютера;
Пользователь не мог вести диалог с программой.
Слайд 17
Поколения ОС
Второе поколение (1960-1965): (интегральные схемы)
Появление мейнфрэймов (серия
IBM System/360)
Появление:
Mногозадачных (мультипрограммных) и мультипроцессорных (многопроцессорных) ОС
– OS IBM360 1964г.
ОС разделения времени - CTSS (Compatible Time Sharing System 1962 г.) была разработана в Массачусетском технологическом институте
Слайд 18
Поколения ОС
Операционные системы с разделением времени -
Каждому пользователю
системы разделения времени предоставляется выносной терминал, с которого он
может вести диалог со своей программой.
Каждому пользователю выделяется только квант процессорного времени, ни одна задача не занимает процессор надолго. Если квант выбран достаточно небольшим, то у всех пользователей, одновременно работающих на одной и той же машине, складывается впечатление, что каждый из них единолично использует машину.
Интернет вернул популярность концепции разделения времени. Дорогие корпоративные серверные «фермы» стоимостью в миллионы долларов предоставляют тысячам пользователей доступ к одним и тем же общим ресурсам.
Слайд 19
Поколения ОС
Третье поколение (середина 65-х – конец 75-х
гг.).
Дальнейшее развитие больших универсальных машин System360/370 фирмы IBM
(серия ЕС в СССР).
Появление миникомпьютеров (линейка PDP компании DEC)
В 1969 году Кен Томпсон написал первую версию Unix lдля компьютера PDP7
Появление ОС реального времени (RT 11 – 1970г. Для PDP11)
Слайд 20
ОС реального времени
Операционные системы реального времени – используются
на компьютерах, управляющих технологическими процессами.
ОС реального времени обеспечивают
реакцию на предусмотренные события за время, не превышающее некоторое допустимое для данного события. Например, управление ядерным реактором.
В настоящее время широко используются во встраиваемых системах (системах на кристалле).
Слайд 21
Поколения ОС
Четвертое поколение (сверхбольшие интегральные схемы конец 75-х
– начало 90-х гг.).
Этот этап имеет следующие особенности:
Появление
персонального компьютера и ОС к ним;
1975 создание ОС CP/M для компьютера на базе процессора Intel 8080
1978 создание MS DOS для компьютеров IBM PC на базе процессора Intel 8086.
1983 год в Массачусетском технологическом институте Ричардом Столлманом начат проект свободного программного обеспечения под названием GNU ( GNU является рекурсивным акронимом,расшифровывающимся, как «GNU is Not Unix»).
Слайд 22
Четвертое поколение
1985 Windows 1.0 (надстройка над DOS).
1984
году создание первой графической операционной истемы Mac OS
1991 Linux
(Ли́нус То́рвальдс пишет ядро для проекта GNU )
распространение вычислительных сетей , появление и развитие сетевых ОС
1983 первая сетевая ОС NetWare.
1986 Cisco IOS
- большое внимание стало уделяться созданию ОС, ориентированных на неподготовленного пользователя, созданию дружественных пользовательских интерфейсов.
Слайд 23
Поколения ОС
Пятое поколение (начало 90-х гг.). Отличительные особенности
этого этапа :
1. Широкое распространение и развитие персонального компьютера.
2.
Развитие локальных и глобальных сетей, распространение Internetа, появление операционных систем управления коммуникационными устройствами (коммутаторами,маршрутизаторами.)
1996 сетевая ОС Windows NT Server(Windows Server 2003, 2008, 2012, 2104)
3. Развитие графических пользовательских интерфейсов.
4. Создание мобильных цифровых устройств и ОС для них.
2007 iPhone OS ( с 2010 iOS)
2007 Android
5. Появление многоядерных процессоров и ОС к ним.
Слайд 24
Классификация ОС
По числу одновременно выполняемых задач операционные системы
могут быть разделены на два класса:
-
однозадачные (например, MS-DOS, MSX),
- многозадачные (ОС ЕС, UNIX. Windows 9, Windows NT).
По числу одновременно работающих пользователей ОС делятся на:
- однопользовательские (MS-DOS, Windows 3.x, ранние версии OS/2);
- многопользовательские (UNIX, Windows NT).
Не всякая многозадачная система является многопользовательской.
Слайд 25
Классификация ОС
Классификация операционных систем по разрядности кода:
– 8-разрядные;
–
16-разрядные;
– 32-разрядные;
– 64-разрядные.
Разрядность показывает, какую разрядность внутренней шины данных
центрального процессора способна поддержать операционная система.
Слайд 26
Классификация ОС
По количеству процессоров (ядер) в компьютерной системе
ОС делятся на однопроцессорные (одноядерные) и многопроцессорные (многоядерные)
Слайд 27
Классификация ОС по типу доступа пользователя к ЭВМ
–
операционные системы пакетной обработки
– операционные системы разделения времени –
– операционные системы реального времени –