Практика 1. Системное программное обеспечение. Информатика – 1. компьютерной техники

advertisement
Информатика – 1. Аппаратное и программное обеспечение
компьютерной техники
Практика 1. Системное
программное обеспечение.
Структура программного обеспечения



Программное обеспечение, можно разделить на три группы:
прикладное программное обеспечение;
системное программное обеспечение;
инструментальное программное обеспечение.
2
Практика №1.Программное обеспечение
компьютерной техники
Структура программного обеспечения
Прикладные программы используются для решения конкретной
задачи или группы задач в одной или нескольких областях
применения.
В первых компьютерах все функции по управлению
выполнением прикладной программы (ее запуском, слежением за
работой программы и обработкой ошибочных и аварийных ситуаций)
осуществляла сама прикладная программа.
Эти функции являются однотипными для разных программ,
поэтому были разработаны специальные программы, управляющие
выполнением прикладной программы, а позднее и одновременным
выполнением нескольких программ. Эти программы назвали
операционными системами (ОС).
3
Практика №1.Программное обеспечение
компьютерной техники
Структура программного обеспечения
Поскольку разные прикладные задачи используют одни и те же
устройства, управление памятью и устройствами ввода/вывода
стало выполняться с помощью специальных программ, названных
драйверами устройств.
Взаимодействие между прикладной программой и драйверами
устройств также выполняется с помощью ОС.
Компьютер является сложной системой и для него часто надо
выполнять действия, связанные с его обслуживанием: диагностикой,
настройкой, слежением за функционированием и оптимизацией
работы. Все эти действия выполняются с помощью специальных
программ, называемых утилитами.
ОС, драйверы устройств и утилиты и составляют системное
программное обеспечение компьютера.
4
Практика №1.Программное обеспечение
компьютерной техники
Структура программного обеспечения
Инструментальное программное обеспечение компьютера – это
программы, которые используется для создания новых программ.
Современные инструментальные программы, называемые также
системами программирования, включают мощные и удобные
средства для:
 создания программ;
 модификации программ;
 отладки программ;
 тестирования программ,
а также готовые программы (библиотеки) для реализации наиболее
часто используемых операций.
5
Практика №1.Программное обеспечение
компьютерной техники
Архитектура операционной системы
По областям применения ОС можно условно разделить на две
группы:
 ОС общего назначения, используемые в самых различных
областях ;
 специализированные ОС.
Под архитектурой ОС понимают:
 фундаментальную
организацию
(структуру)
системы,
реализованную в ее компонентах;
 связи
и
правила
взаимодействия
(интерфейсы)
между
компонентами системы, а также между системой и окружающей
средой (в частности, пользователем системы).
6
Практика №1.Программное обеспечение
компьютерной техники
Архитектура операционной системы
Для
операционной
системы
наиболее
важными
являются
представления:
 функциональное представление;
 программное представление;
 представление с точки зрения пользователя (пользовательский
интерфейс).
7
Практика №1.Программное обеспечение
компьютерной техники
Подсистема
защиты
данных
Подсистема
управления
памятью
Подсистема
управления
внешними
устройствами
Подсистема
управления
процессами
Подсистема
администрирования
Подсистема
управления
данными
Сетевая
подсистема
Подсистема
аудита
Функциональная структура операционной системы
8
Практика №1.Программное обеспечение
компьютерной техники
Архитектура операционной системы.
Подсистема управления процессами.
Процесс является абстрактным понятием, описывающим работу
выполняющейся на компьютере программы.
Выполнение каждой программы в мультипрограммной ОС можно
разбить на несколько этапов (процессов), которые запускаются
последовательно один за другим или параллельно один другому.
Часть процессов запускается прикладными
программами и их
обычно
называют
пользовательскими
или
прикладными
процессами.
Процессы, запускаемые самой ОС для выполнения своих функций,
называются системными процессами.
Три возможных состояния процесса:
 состояние активности;
 состояние ожидания;
 состояние блокировки.
9
Практика №1.Программное обеспечение
компьютерной техники
Архитектура операционной системы.
Подсистема управления процессами.
Основными задачами подсистемы управления процессами являются:
 генерация системных данных процесса при его запуске;
 присваивание приоритетов запускаемым процессам в соответствии с
заданными критериями;
 формирование очередей заявок процессов на ресурсы, например очереди
к процессору, к принтеру, к последовательному порту;
при освобождении ресурса выборка процесса из очереди в соответствии с
его приоритетом и перевод процесса в состоянии активности;
 перевод процесса в состояние блокировки и разблокировка процесса;
 прерывание выполнения активного процесса (если оно разрешено) и
перевод в состояние ожидания или блокировки;
 синхронизация процессов, например завершения операции вводавывода;
 удаление системных данных процесса при его завершении.
10
Практика №1.Программное обеспечение
компьютерной техники
Архитектура операционной системы.
Подсистема управления памятью
Подсистема управления памятью выполняет :
 распределение имеющейся физической памяти между всеми
существующими в системе в данный момент процессами;
 загрузку команд и данных процессов в отведенные им области
памяти;
 настройку команд и данных процессов на физические адреса
выделенной области;
 защиту областей памяти каждого процесса.
Совокупность всех областей оперативной памяти, выделенных
операционной системой процессу, называется его адресным
пространством.
11
Практика №1.Программное обеспечение
компьютерной техники
Архитектура операционной системы.
Подсистема управления памятью
Подсистема управления памятью не только защищает ресурсы,
выделенные одному процессу, но и организует их совместное
использование.
Подсистема управления памятью обеспечивает также средства
обмена данными между процессами, называемые
средствами
взаимодействия между процессами.
Новая концепция потоков или нитей (threads), которые стали
называть упрощенными процессами.
Подобно обычному процессу, поток является независимой
последовательностью выполняемых команд процессора.
Главные преимущества потоков:
 быстрый запуск;
 небольшие ресурсы для выполнения.
12
Практика №1.Программное обеспечение
компьютерной техники
Архитектура операционной системы.
Подсистема управления памятью
Операционная система представляет отдельный набор данных,
хранящихся
на
внешнем
накопителе,
в
виде
файла
–
последовательности байтов, имеющей символьное имя.
Для удобства работы с данными файлы группируются в каталоги (в
Unix) или папки (в Windows).
Выполнение операций над файлами и каталогами осуществляет ОС.
Файловая система ОС задает:
 структуру размещения файлов и каталогов на носителях данных;
 виды и правила задания атрибутов файла (имени, типа, даты
создания и/или модификации и т.п.).
13
Практика №1.Программное обеспечение
компьютерной техники
Архитектура операционной системы.
Подсистема управления данными
Подсистема управления данными выполняет для файловых систем
следующие задачи:
 преобразование символьных имен файлов или каталогов (папок),
с которыми работает процесс, в физические адреса данных на диске;
 организация совместного доступа к данным.
При выполнении этих задач подсистема управления данными тесно
взаимодействует
с
подсистемой
управления
внешними
устройствами, называемой также подсистемой ввода/вывода,
которая по запросам файловой системы осуществляет передачу
данных между внешними устройствами и оперативной памятью.
14
Практика №1.Программное обеспечение
компьютерной техники
Архитектура операционной системы.
Подсистема управления внешними устройствами
Для передачи данных используются специальные программы,
управляющие взаимодействием конкретной модели внешнего
устройства с операционной системой и называемые драйверами этих
устройств.
В современных ОС непосредственный доступ прикладных программ
к драйверам устройств запрещен (он может выполняться только с
использованием подсистемы ввода/вывода).
Для наиболее распространенных устройств драйверы обычно
входят в состав ОС, а для большинства устройств драйверы для
конкретных ОС поставляются фирмой-производителем вместе с
устройством.
15
Практика №1.Программное обеспечение
компьютерной техники
Архитектура операционной системы.
Программная архитектура
С программной точки зрения ОС представляет собой одну большую
программу, состоящую из головной программы, запускаемой первой
при загрузке ОС, и набора подпрограмм.
И головная программа, и подпрограмма называются программными
модулями.
В современных ОС все составляющие ее программные модули
разделяют на две группы:
 ядро;
 вспомогательные модули.
16
Практика №1.Программное обеспечение
компьютерной техники
Программное обеспечение компьютера
Прикладные
программы
Вспомогательные
модули ОС
Ядро ОС
Аппаратные средства компьютера
Двухуровневая архитектура операционной системы
17
Практика №1.Программное обеспечение
компьютерной техники
Архитектура операционной системы.
Программная архитектура. Ядро ОС
В состав ядра ОС входят программные модули, решающие основные
задачи организации работы операционной системы, такие как:
 управление процессами и памятью;
 обработка обращений к аппаратуре.
Эти функции недоступны для прикладных программ.
Другие программные модули ядра обеспечивают поддержку
прикладных задач, создавая для них прикладную программную
среду.
Прикладные программы могут обращаться к ядру с запросами –
системными вызовами – для выполнения тех или иных действий.
например для открытия и чтения файла, вывода данных на дисплей,
получения системного времени и т. д.
18
Практика №1.Программное обеспечение
компьютерной техники
Архитектура операционной системы.
Программная архитектура. Вспомогательные модули ОС.
Вспомогательные модули ОС, называемые также системными
программами или системными модулями, оформляются либо в
виде прикладных программ, либо в виде библиотек программ.
В современных ОС в ее состав в качестве системных модулей часто
включают и наиболее часто используемые прикладные программы:
 программы, решающие задачи управления и сопровождения
компьютера;
 текстовые и графические редакторы;
 телекоммуникационные программы;
 игры;
 библиотеки процедур различного назначения, упрощающие
разработку прикладных программ, например библиотека функций
ввода-вывода или библиотека API.
19
Практика №1.Программное обеспечение
компьютерной техники
Характеристики операционной системы
Основными характеристиками ОС являются:
 количество одновременно выполняемых задач;
 количество пользователей, которые могут одновременно работать
с операционной системой;
 разрядность и максимальное количество процессоров;
 интерфейс пользователя;
 возможность работы в сети;
 используемая сетевая технология (для сетевых ОС);
 расширяемость;
 переносимость;
 совместимость;
 надежность и отказоустойчивость;
 безопасность;
 производительность;
 масштабируемость;
 стоимость.
20
Практика №1.Программное обеспечение
компьютерной техники
Пользовательский интерфейс
Когда появилась возможность непосредственно «общаться» с
компьютером с помощью терминалов пользователь мог ввести с помощью
клавиатуры указание (команду) компьютеру на выполнение какой-либо
операции, например, запуск программы или копирование данных.
Компьютер, в свою очередь, мог выдать сообщение о ходе операции,
запросить ввод исходных данных и вывести результаты. Такой вид
интерфейса называется интерфейсом командной строки или просто
командным интерфейсом.
При работе с интерфейсом командной строки пользователь имеет в
своем
распоряжении
систему
команд,
набор
которых
отражает
функциональные возможности данной ОС. Обычно командный язык ОС
позволяет запускать и останавливать прикладные задачи,
выполнять
различные операции с файлами и каталогами, а также получать информацию
о состоянии ОС.
Команды могут вводиться не только в интерактивном режиме с
терминала, но и считываться из так называемого командного файла,
содержащего некоторую последовательность команд.
21
Практика №1.Программное обеспечение
компьютерной техники
Download