Локальная компьютерная система. Обработка данных
Компьютерная система служит для автоматизации информационных процессов, происходящих в информационных системах. Схематично компьютерная система представлена на рис. 2.2. В компьютерных системах обработка данных может осуществляться двумя способами: · мультипроцессорная обработка данных; · мультипрограммная обработка данных. При мультипроцессорной обработке данных осуществляется параллельная работа устройств аппаратной части компьютерной системы, при этом в процессоре в каждый момент времени выполняется только одна задача. Мультипрограммирование используется в: · системах пакетной обработки; · системах разделения времени; · системах реального времени. В системах пакетной обработки используется следующая система функционирования: в начале работы компьютерной системы формируется пакет заданий, каждое из которых содержит требование к ресурсам компьютерной системы; из этого пакета заданий формируется мультипрограммная смесь, т.е. множество одновременно выполняемых задач. Для одновременного выполнения выбираются задачи, предъявляющие разные требования к ресурсам так, чтобы обеспечивалась сбалансированная нагрузка всех устройств.
Рис. 2.2. Схема компьютерной сети Главная цель – минимизация простоев всех устройств компьютерной системы и, прежде всего, центрального процессора. Например, в мультипрограммной смеси желательно одновременное присутствие вычислительных задач и задач с интенсивным вводом – выводом. Системы пакетной обработки предназначались для решения задач в основном вычислительного характера, не требующих быстрого получения результата. В системе разделения времени пользователям (или одному пользователю) предоставляется возможность интерактивной работы сразу с несколькими приложениями. Для этого ОС принудительно периодически приостанавливает приложения, не дожидаясь, когда оно добровольно освободит процессор. Всем приложениям попеременно выделяется квант процессорного времени, таким образом, пользователи, работающие с приложениями (программами) получают возможность поддерживать с ними диалог. Каждому пользователю в этом случае предоставляется терминал, с которого он может вести диалог со своей программой. Если квант выбран достаточно небольшой, то у всех пользователей, одновременно работающих с компьютерной системой, складывается впечатление, что он использует ее единолично.
Системы реального времени используются для управления различными техническими объектами (например, научной экспериментальной установкой и т. д.) или технологическими процессами (например, гальванической линией, доменным процессом и т. д.). Во всех этих случаях существует предельно допустимое время, в течение которого должна быть выполнена та или иная управляющая объектом программа. В системе реального времени мультипрограммная смесь представляет собой фиксированный набор заранее разработанных программ, а выбор программы на выполнение осуществляется по прерываниям (исходя из текущего состояния объекта) или в соответствии с расписанием плановых работ. Мультипроцессорная обработка данных осуществляется в компьютерных системах с несколькими процессорами, при этом несколько приложений могут одновременно выполняться на нескольких процессорах. Причем мультипроцессирование не исключает мультипрограммирования: на каждом из процессоров может выполняться некоторый закрепленный за данным процессором набор задач. Мультипроцессорная организация компьютерной системы приводит к усложнению всех алгоритмов управления ресурсами. Сложности заключаются и в возрастании числа конфликтов по обращению к устройствам ввода - вывода, данным, общей памяти и совместно используемым программам. К настоящему времени стало обычным включение нескольких процессоров в архитектуру даже персонального компьютера. Более того, многопроцессорность теперь является одним из необходимых требований, которые предъявляются компьютерам, используемым в качестве центрального сервера в компьютерных сетях.
В наши дни становится общепринятым введение в ОС функций поддержки мультипроцессорной обработки данных. Такие функции имеются во всех популярных ОС, таких как Sun Solaris 2.x, Santa Grus Operations Open Server 3.x, IBM OS/2, Microsoft Windows, начиная с NT. Любая компьютерная система располагает ресурсами двух типов (системными ресурсами): · аппаратные ресурсы, к которым относятся процессоры, оперативная память, накопители на магнитных дисках, устройства ввода и вывода, сетевые устройства и т. д.; · информационные ресурсы, к которым относятся программы и данные. В компьютерных системах выполняются программы различного назначения. Программа (приложение, код приложения) записывается на одном из языков высокого уровня с помощью соответствующего редактора. Программа, записанная на языке высокого уровня, называется исходным модулем. Файл, содержащий этот исходный номер, имеет расширение, соответствующее используемой системе программирование. Затем исходный модуль должен быть преобразован в объектный модуль. Объектный модуль – это программа, предоставленная в двоичном коде, но не настроенная на определенное адресное пространство. Совокупность всех областей оперативной памяти, выделенных операционной системой процессу, называется его адресным пространством. Каждое приложение работает в своем адресном пространстве. Преобразование исходного модуля в объектный осуществляется программой, называемой транслятором. Различают два вида трансляторов: компиляторы и интерпретаторы. Далее объектный модуль преобразуется в загрузочный модуль, т. е. программу, готовую к выполнению и имеющую выделенное ей адресное пространство. Модуль, хранящий готовую для выполнения программу в виде файла, имеет расширение.exe. Преобразование объектного модуля в загрузочный выполняется программой загрузчик.
Обработка данных представлена на рис. 2.3.
Рис. 2.3. Обработка данных Для выполнения программы (загрузочного модуля) ей должны быть выделены ресурсы: оперативная память, процессорное время, устройства ввода-вывода, внешняя память и т. д. Программа может быть выполнена только тогда, когда она и обрабатываемые ею данные находятся в оперативной памяти. Для описания действий, выполненных в компьютерной системе, используются два основополагающих понятия: процесс и поток. Для поддержки режима мультипрограммирования в компьютерной системе должны быть определены и оформлены внутренние единицы работы, между которыми разделяется процессор и другие ресурсы. Для выполнения процессу нужны доступ одновременно к нескольким ресурсам – процессору, области памяти, возможно к определенному файлу или устройству ввода-вывода. Например, процессу выделяется определенная область памяти для его кодов и данных. Процесс – это планируемая единица работы ОС. Например: 1. Подключить устройство ввода. 2. Осуществить вычисления по формуле. 3. Подключить устройство вывода. Поток – выполненная единица работы ОС. При планировании процессов генерируются специальные информационные структуры, которые содержат данные о потребностях процесса в ресурсах компьютерной системы, а также о фактически выделенных ему ресурсах. В настоящее время в большинстве компьютерных систем можно определить два типа единиц работы. Более крупная единица работы называется процессом. Для ее выполнения требуется более мелкие работы, для обозначения которых используется термин поток. В операционных системах процесс рассматривается как заявка на потребление всех видов ресурсов, кроме одного - процессорного времени. Процессорное время распределяется между потоками. Процессу назначается адресное пространство и набор ресурсов, которые совместно используются всеми его потоками. Процессы порождают потоки. Понятию поток соответствует последовательный переход процессора от выполнения одной команды к другой.
Часть процессов происходит в компьютерной системе по инициативе пользователя, и такие процессы обычно называют пользовательским. Другие процессы, называемые системными, инициализируются самой ОС для выполнения своих функций. 2.1.1. Системные программные средства Как отмечалось ранее, компьютерная система состоит из аппаратной части и программной части, включающая в себя системные программные средства, прикладные информационные технологии и системы программирования языки программирования. Основным системным программным средством компьютерной системы служит операционная система. Операционная система Большинство современных компьютерных систем представляют собой хорошо сконструированные модульные системы, способные · ядро – модули, выполняющие основные функции ОС; · модули – выполняют вспомогательные функции ОС. В состав ядра входят функции, решающие внутрисистемные задачи организации вычислительного процесса, такие как переключение контекстов, загрузка/ выгрузка страниц, обработка прерываний. Эти функции недоступны для приложений. Другой класс функций ядра служит для поддержки приложений, создавая для них так называемую прикладную программную среду. Приложения могут обращаться к ядру с запросами – системными вызовами – для выполнения тех или иных действий, например для открытия и чтения файла, вывода графической информации на дисплей, получение системного времени и т. д. Функции ядра, которые могут вызываться приложениями, образуют интерфейс прикладного программирования API. Интерфейс – набор аппаратных и программных средств, который позволяет осуществлять взаимодействие устройств и программ компьютерной системы. Наиболее часто ОС использует функции, выполняемыми модулями ядра, поэтому скорость их выполнения определяет производительность всей системы в целом. Для обеспечения высокой скорости работы ОС все модули ядра или большая их часть постоянно находятся в оперативной памяти, т.е. являются резидентными. Обычно ядро оформляется в виде программного модуля некоторого специального формата, отличающегося от формата пользовательских приложений. Вспомогательные модули ОС обычно подразделяются на следующие группы: a) Утилиты – программы, решающие отдельные задачи управления и сопровождения компьютерных систем, такие, например, как программы сжатия дисков, архивирование данных и т. п.
b) Системные обрабатывающие программы – текстовые или графические редакторы, компиляторы, компоновщики, отладчики. c) Библиотеки процедур различного назначения, упрощающие разработку приложений, например библиотека математических функций, функций ввода-вывода и т. д. Как и обычные приложения, для выполнения своих задач утилиты, обрабатывающие программы и библиотеки ОС, обращаются к функциям ядра посредством системных вызовов. Вспомогательные модули ОС обычно загружаются в оперативную память только на время выполнения своих функций, то есть являются транзитными. Важным свойством архитектуры ОС, основанной на ядре, является возможность защиты кодов и данных операционной системы за счет выполнения функций ядра в привилегированном режиме. 2.1.2. Основные функции, выполняемые ос Любая операционная система выполняет следующие основные функции: · управление процессами и потоками; · управление памятью; · управление внешними устройствами и файлами; · управление файловой системой.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|