Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2-52.docx
Скачиваний:
6
Добавлен:
23.09.2019
Размер:
183.92 Кб
Скачать

2. Функции ос

Основные функции (простейшие ОС):

  • Загрузка приложений в оперативную память и их выполнение.

  • Стандартизованный доступ к периферийным устройствам (устройства ввода-вывода).

  • Управление оперативной памятью (распределение между процессами, виртуальная память).

  • Управление доступом к данным на энергонезависимых носителях (таких как жёсткий диск, компакт-диск и т. д.), организованным в той или иной файловой системе.

  • Пользовательский интерфейс.

  • Сетевые операции, поддержка стека протоколов.

Дополнительные функции:

  • Параллельное или псевдопараллельное выполнение задач (многозадачность).

  • Взаимодействие между процессами: обмен данными, взаимная синхронизация.

  • Защита самой системы, а также пользовательских данных и программ от действий пользователей (злонамеренных или по незнанию) или приложений.

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

Операционные системы реального времени (Real-time operating system, RTOS) – используются для управления машинами, научной аппаратурой и промышленными системами.

Однопользовательские однозадачные – как видно из названия, такие системы предназначены для управления компьютером таким образом, чтобы в любой заданный момент времени один пользователь мог эффективно выполнять одну задачу либо действие.

Однопользовательские многозадачные – такие ОС большинство пользователей в настоящее время применяют в своих настольных компьютерах и ноутбуках. Windows от Microsoft и MacOS от Apple – примеры операционных систем, позволяющих одному пользователю одновременно выполнять несколько программ.

Многопользовательская система позволяет многим разным людям одновременно пользоваться ресурсами одного компьютера.

Понятие ресурса. Управление ресурсами в вычислительной системе

Ресурс – всякий объект, который может распределяться внутри ОС.

  • процессоры (процессорное время)

  • память

  • периферийные устройства (диски, таймеры, наборы данных, принтеры, сетевые устройства и т.п.)

Ресурсы могут быть:

  • разделяемые (несколько процессов используют их одновременно) и неделимые

  • выгружаемые (могут быть отобраны у процесса без негативных последствий – например, оперативная память) и невыгружаемые (принудительная выгрузка приводит к сбою – например, компакт-диск)

Управление ресурсами включает в себя решение следующих задач:

  • планирование ресурса (когда, кому и в каком объёме)

  • удовлетворение запросов на ресурсы

  • отслеживание состояния и учёт использования ресурса

  • разрешение конфликтов между процессами в начало

Процессы и потоки

Программа - статический объект на диске.

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

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

Преимущества потоков:

  • меньше затрат на создание по сравнению с процессами;

  • возможность взаимодействия между собой в пределах одного процесса, не обращаясь к ОС;

  • повышение производительности одной программы.

3. Архитектура программного обеспечения (англ. software architecture) — это структура программы или вычислительной системы, которая включает программные компоненты, видимые снаружи свойства этих компонентов, а также отношения между ними. Этот термин также относится к документированию архитектуры программного обеспечения. Документирование архитектуры ПО упрощает процесс коммуникации между заинтересованными лицами (англ. stakeholders), позволяет зафиксировать принятые на ранних этапах проектирования решения о высокоуровневом дизайне системы и позволяет использовать компоненты этого дизайна и шаблоны повторно в других проектах.

Виды

Архитектура ПО обычно содержит несколько видов, которые аналогичны различным типам чертежей в строительстве зданий. В онтологии, установленной ANSI / IEEE 1471-2000, виды являются экземплярами точки зрения, где точка зрения существует для описания архитектуры с точки зрения заданного множества заинтересованных лиц.

Примеры видов:

* Функциональный/логический вид

* Вид код/модуль

* Вид разработки/структурный

* Вид параллельности выполнения/процесс/поток

* Физический вид/вид развертывания

* Вид с точки зрения действий пользователя

* Вид с точки зрения данных

Хотя было разработано несколько языков для описания архитектуры программного обеспечения, но в настоящий момент нет согласия по поводу того, какой набор видов должен быть принят в качестве эталона. В качестве стандарта "для моделирования программных систем" был создан язык UML.