Главная страница
Начальные классы
Математика
Воспитательная работа
Другое
Дошкольное образование
Физика
Информатика
Классному руководителю
Химия
Биология
Доп
образование
Финансы
Экономика
Русский язык и литература
Школьному психологу
География
История
Технология
Иностранные языки
ОБЖ
Право
Юриспруденция
Казахский язык и лит
Ветеринария
Сельское хозяйство
Физкультура
Логопедия
Социальному педагогу
Этика
Религия
Логика
Философия
ИЗО, МХК
Языки народов РФ
Обществознание
Директору, завучу
Украинский язык
Музыка

1 Определение системного программного обеспечения


Название1 Определение системного программного обеспечения
Анкорsumm.doc
Дата17.12.2017
Размер163 Kb.
Формат файлаdoc
Имя файлаsumm.doc
ТипДокументы
#2843
КатегорияБиология. Ветеринария. Сельское хозяйство

1

  1. Определение системного программного обеспечения.

это набор программ, которые управляют компонентами вычислительной системы, такими как процессор, коммуникационные и периферийные устройства, а также которые предназначены для обеспечения функционирования и работоспособности всей системы. Большинство из них отвечают непосредственно за контроль и объединение в единое целое различных компонентов аппаратного оборудования вычислительной системы. Системное программное обеспечение противопоставляется прикладному программному обеспечению, которое напрямую решает проблемы пользователя. Конкретные виды системного программного обеспечения включают загрузчики, операционные системы, драйверы устройств, инструментальные программные средства, компиляторы, ассемблеры, компоновщики, утилиты.

2

  1. Windows - графический интерфейс пользователя.

(англ. graphicaluserinterface, GUI) в вычислительной технике — система средств для взаимодействия пользователя с компьютером, основанная на представлении всех доступных пользователю системных объектов и функций в виде графических компонентов экрана (окон, значков, меню, кнопок, списков и т. п.). При этом, в отличие от интерфейса командной строки, пользователь имеет произвольный доступ (с помощью клавиатуры или устройства координатного ввода — вроде мыши) ко всем видимым экранным объектам.Впервые концепция ГИП была предложена учеными из исследовательской лаборатории Xerox PARC в 1970-х, но получила коммерческое воплощение лишь в продуктах корпорации Apple Computer. В настоящее время ГИП является стандартной составляющей большинства доступных на рынке операционных систем и приложений.


3

1. Функции современных МП, реализованные аппаратурой и программами.
Процессор предназначен для выполнения арифметической и логической

обработки информации. Арифметические и логические операции можно выполнять

как на дискретных элементах и на основе микросхем малой и средней степени

интеграции, что приводит к росту размеров процессора, так и на БИС. В

последнем случае говорят о микропроцессоре (МП).
К функциям микропроцессора можно отнести:

> выбор из программной памяти ЭВМ команд, дешифрация и выполнение их;

> организация обращения к памяти и устройствам ввода-вывода;

> выполнение запросов на прерывание;

> подача сигналов ожидания для синхронизации работы с медленно

действующими устройствами памяти и ввода-вывода информации;

> подача сигналов прямого доступа к памяти и другие сигналы;

> формирование сигналов управления для обращения к периферийным

устройствам.

Работа МП организуется по командам, записанным в памяти и поступающим

в МП в порядке возрастания номеров ячеек, в которые они записаны.

2. Вызовы функций в Windows.


Благодаря данному интерфейсу доступ к системным ресурсам осуществляется через целый рад системных функций. Совокупность таких функций называется прикладным программным интерфейсом, или API (Application Programming Interfase). Для взаимодействия с Windows приложение запрашивает функции API, с помощью которых реализуются все необходимые системные действия, такие как выделение памяти, вывод на экран, создание окон и т.п.

Библиотека MFC инкапсулирует многие функции API. Хотя программам и разрешено обращаться к ним напрямую, все же чаще это будет выполняться через соответствующие функции-члены. Как правило, функции-члены либо аналогичны функциям API, либо непосредственно обращаются к нужной части интерфейса.

4

1. Задачи, решаемые СПО про распределении ресурсов вычислительной системы.

Вычислительная система (ВС) - это взаимосвязанная совокупность аппаратных средств вычислительной техники и программного обеспечения, предназначенная для обработки информации. Ресурсы вычислительной системы. Иногда под ВС понимают совокупность технических средств ЭВМ, в которую входит не менее двух процессоров, связанных общностью управления и использования общесистемных ресурсов (память, периферийные устройства, программное обеспечение и т.п.). К ресурсам вычислительной системы относят такие средства вычислительной системы, которые могут быть выделены процессу обработки данных на определенный квант времени. Основными ресурсами ВС являются процессоры, области оперативной памяти, наборы данных, периферийные устройства, программы.

2. Windows - динамически вызываемые библиотеки.

С самого рождения (или чуть позже) операционная система Windows использовала библиотеки динамической компоновки DLL (Dynamic Link Library), в которых содержались реализации наиболее часто применяемых функций. Наследники Windows - NT и Windows 95, а также OS/2 - тоже зависят от библиотек DLL в плане обеспечения значительной части их функциональных возможностей.Использование DLL.Практически невозможно создать приложение Windows, в котором не использовались бы библиотеки DLL. В DLL содержатся все функции Win32 API и несчетное количество других функций операционных систем Win32.

Вообще говоря, DLL - это просто наборы функций, собранные в библиотеки. Однако, в отличие от своих статических родственников (файлов . lib), библиотеки DLL не присоединены непосредственно к выполняемым файлам с помощью редактора связей. В выполняемый файл занесена только информация об их местонахождении. В момент выполнения программы загружается вся библиотека целиком. Благодаря этому разные процессы могут пользоваться совместно одними и теми же библиотеками, находящимися в памяти. Такой подход позволяет сократить объем памяти, необходимый для нескольких приложений, использующих много общих библиотек, а также контролировать размеры ЕХЕ-файлов.

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

Чаще всего проект подключается к DLL статически, или неявно, на этапе компоновки. Загрузкой DLL при выполнении программы управляет операционная система. Однако, DLL можно загрузить и явно, или динамически, в ходе работы приложения.


5

  1. Задачи системных программистов и системных операторов.

Системный программистпрограммист, работающий (т. е. создающий, отлаживающий, диагностирующий и т. п.) над системным программным беспечением.

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

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

Системный программист -- это специалист, который даст наиболее квалифицированную консультацию по поводу аппаратных и программных средств.

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

  1. Особенности программирования в Windows.

К особенностям программирования в Windows, можно отнести:

  1. Обработку сообщений

  2. Интерфейс графического устройства

  3. Программирование, основанное на ресурсах

  4. Способы управления памятью

Обработка сообщений.

Существенное различие между MS-DOS программой и Windows программой состоит в способе получения введенных пользователем данных: первая вызывает операционную систему, вторая использует поступающие от нее сообщения. Именно поэтому Windows – программы называют приложениями.

Интерфейс графического устройства.

Многие MS-DOS – программы записывают данные прямо в видеопамять и порт принтера. Недостаток этого метода состоит в том, что разработчику приходилось создавать отдельные драйверы для каждой из множества моделей видеоплат и принтеров. В Windows включен особый “слой абстракции” - интерфейс графического устройства (Graphics Device Interface, GDI). Драйверы для видеоплат и принтеров представляет сама Windows, благодаря чему вашей программе не надо знать, видеоплата и принтер, какого типа подключены к системе. Вместо того, чтобы обращаться к оборудованию, программа вызывает GDI – функции, ссылающиеся на структуру данных – контекст устройства (device context). Windows сопоставляет структуру контекста устройства с физическим устройством и выдает соответствующие команды ввода/вывода. GDI обеспечивает почти такую же скорость работы, как и прямой доступ к видеопамяти, и позволяет нескольким Windows – программам одновременно работать с дисплеем.

Программирование, основанное на ресурсах.

Программируя в MS-DOS, программисты обычно определяют данные при помощи инициализирующих констант, либо при помощи считывания их из отдельных файлов. Разрабатывая программу под операционную систему Windows, данные обычно хранят в файле ресурсов.

Стандартные ресурсы:

  • Диалоговые окна (Dialog)

  • Значки (Icons)

  • Определения меню (Menu)

  • Определения панелей инструментов (Toolbar)

  • Растровые изображения (Bitmap)

  • Курсоры мыши (Cursor)

Кроме стандартных, программист может сам определить свои собственные ресурсы.

Ресурсы можно создавать двумя способами:

  1. Описать ресурсы вашей программы в текстовом ASCII файле с расширением RC. (Этот способ практически не используется).

  2. Создать ресурс при помощи редактора ресурсов в режиме WYSIWYG (What You See Is What You Get – “что видишь, то и получаешь”).

Управления памятью.

Программируя под Windows, программисту теперь не стоит беспокоиться о нехватке и распределении памяти.

Каждая программа получает в свое распоряжение частное 4 – гигабайтное виртуальное адресное пространство, к каждому байту которого, она может обращаться используя один единственный 32 – разрядный линейный адрес.


6

1. 0пределение и виды метапрограмм.

О программах, которые работают с целью обработки других программ, являющихся для них входными данными говорят как о метопрограммах. Примером метопрограмм явл.:ассемблер,операц.сист,компилятор.

2.Характеристика системы прерывания


Для оценки эффективности систем прерывания используют следующие характеристики:

1) Общее количество запросов прерывания.

2) Время реакции - время между появлением запроса прерывания и началом выполнения прерывающей программы.

Рис.2.6. Схема временных диаграмм процесса прерывания

tp - время реакции;

t3 - время в течении которого происходит запоминание состояния прерванной программы;

tB - время восстановления прерванной программы;

3) Затраты времени на переключение программы (t). Они равны суммарному расходу времени на восстановление и заполнение программы. t = tз + tв

4) Глубина прерывания - это максимальное число программ, которые могут прерывать друг друга. Если после перехода к прерывающей программе и вплоть до ее окончания прием других запросов запрещается, то говорят, что система имеет глубину прерывания = 1. Глубина = N, если допускается последовательное прерывание до N-программ. Глубина прерывания, как правило, совпадает с числом уровней приоритета системы прерывания. Системы с большим значением глубины прерывания обеспечивают более быструю реакцию на строчные запросы.

5) Допустимые моменты прерывания программы. Большей частью прерывания допускаются после окончания любой текущей команды. В этом случае время реакции определяется длительность выполнения одной команды. Это время может оказаться недопустимо большим для ЭВМ, предназначенных для работы в реальном масштабе времени. В таких машинах часто допускаются прерывания после любого такта выполнения команды. Однако при этом возрастает количество информации, подлежащее заполнению и восстановлению при переключении программ, т.к. в этом случае необходимо сохранять в момент прерывания состояние счетчиков и некоторых регистров. Потому такая организация возможна только в машинах, имеющих быстродействующую ОП.

6) Число классов (уровней) прерываний. В ЭВМ число различных запросов на прерывания может достигать нескольких десятков или даже сотен. В том случае запросы делятся на отдельные классы или уровни. Совокупность запросов, требующих выполнения одной и той же прерывающей программы, образует класс или уровень прерывания. Запросы от всех источников поступают на регистр - запросов, устанавливая соответствующие его разряды в единичное состояние, указывающее на наличие запроса определенного источника. Все запросы одного класса объединяются, и им в регистре запросов соответствует 1 разряд. Информация о действительной причине запроса на прерывания содержится в коде прерывания. После принятия запроса прерывания на исполнение и передачи управления прерывающей программе соответствующие триггеры регистра запроса сбрасываются. Объединение запросов в классы уменьшают объем аппаратуры, но приводят к замедлению работы.


7

1. Определение языкового процессора. Виды языковых процессоров.

В терминологии операцион. Сист. О программе, кот. Обрабатывает программу на некотором символьном языке говорят как о языковом процессоре. В форме кот, назыв исходным уровнем программы в символич форме – вход яз.процессора, а выход яз.процессора- программа на машинном языке, называем объектной программой.

Те яз проц используются для перевода программы, написанной на языке высокого уровня, в соответствующую машинную программу. Различают два вида языковых процессоров: интерпретаторы и трансляторы.Интерпретатор — это программа, которая получает исходную программу и по мере распознавания конструкций входного языка реализует действия, описываемые этими конструкциями.Транслятор — это программа, которая принимает исходную программу и порождает на своем выходе программу, записываемую на объектном языке программирования (объектную программу). В частном случае объектным может служит машинный язык, и в этом случае полученную на выходе транслятора программу можно сразу же выполнить на ЭВМ. В общем случае объектный язык необязательно должен быть машинным  или близким к нему (автокодом). В качестве объектного языка может служить и некоторый промежуточный язык.

Для промежуточного языка может быть использован другой транслятор или интерпретатор — с промежуточного языка на машинный. Транслятор, использующий в качестве входного язык, близкий к машинному (автокод или язык Ассемблера) традиционно называют Ассемблером. Транслятор с языка высокого уровня называют компилятором.

2. Роль системы прерывания в современных компьютерах.

Применение системных прерываний в универсальных компах позволяет:

  • Повысить эффективность использования устройств компа за счёт параллелной их работы во времени.

  • Сократить время реакции компа на случайно поступающую инфу и на другие воздействия.

  • Повысить устойчивость вычислительного процесса к сбоям и отказам аппаратуры.

Системные прерывания рассматриваются как аппаратно программный комплекс. Благодаря С.П. комп реагирует на различные ситуации, кот возник как во внешней, так и во внутренней среде компа. Появились программы целенаправленно реагирующие на внешние события, а также на события происходящие внутри этих программ, могут быть составной часть. Операц.сист, либо BIOSA.


8

1. Принципы работы Ассемблера

Рассмотрим теперь работу ассемблера в целом. Ассемблер берет программу, написанную на языке ассемблера, и превращает ее в машинный язык. Файл, который содержит программу на языке ассемблера, называют исходным файлом. Выход и ассемблера в действительности является не собственно машинным языком, а некоторым промежуточным представлением программы. Этот выходной файл называют объектным файлом. Данные в нем называются объектным кодом. Для получения из него настоящего машинного кода объектный код должен быть несколько изменен. Для IBM PC это делает программа редактор связей LINK. Шаг преобразования объектных кодов в машинные принято называть построением связей или редактированием связей. Помимо преобразования исходного кода в объектный ассемблер создает несколько других выходных файлов. Один из них - ассемблерный листинг ( иногда называемого распечаткой). Он содержит сообщение о действиях ассемблера. Этот файл содержит исходный код вместе с комментариями, а также объектный код, сформированный ассемблером. Другой создаваемый ассемблером файл - файл перекрестных ссылок. Этот файл описывает все связи между метками и командами, которые их используют. Такая информация незаменима, когда вы пытаетесь изменить программу. Вы можете воспользоваться перекрестными ссылками для того, чтобы выявить все команды, которые обращаются к определенному участку памяти. Это позволяет программисту определить все команды, на которые может повлиять изменение в другой части программы.

Прогр. Ассемблер – это программа компа, кот. транслирует прогу написанную на яз. Ассемблера в программу на машинном яз. О процедуре трансляции говорят, как о процессе ассемблирования(простановки адресов). Асс. Выполняется в 2 прохода:

1прох.- приписываются адреса символов, определённые в поле адреса, опознаются макросы (макро опред, вызов из микробиблиотеки) и выполняется их расширение.

2прох.- по исходной проге, символические коды операций, операнды, заменяются внутренними кодами и адресами. Вырабатывается объектный модуль, листинг программы, а так же выполняется. контроль ошибок и в листинге прогр и соответствующим образом обозначаются ошибочные операции.

Ассемблер явл. По существу процессом непосредственной подстановки, в общем случае логич схема программы написанная на яз. Ассемблера не анализирует и пользователь должен использовать при программировании особенности компьютера.

Для опер. Сист. Выполнение программ ассемблера это просто одна из работ, во многом похожая на выполнение программы пользователя. Ассемблер использует возможность опер. Сист при вводе и выводе данных и распределение памяти, но не более, чем это делает любая др. прога пользователя.

2. Режимы пакетной обработки и разделения времени. 

Различают два основных режима многопрограммной работы ЦВМ: пакетной (групповой) обработки и разделения времени. Пакетная обработка заключается в комплектовании пакетов задач по мере поступления заявок от потребителей и в последовательной обработке каждого из этих пакетов так, чтобы обеспечить максимальную загрузку устройств. Пакет рекомендуется комплектовать из задач с различными объёмами информации и частотами обмена ею между устройствами ЦВМ. Программы задач вводят во внешнюю память и по очереди выполняют. При вынужденных прерываниях текущей программы ЦВМ переключается на выполнение очередной программы пакета, а прерванная программа после устранения причины прерывания снова ставится в очередь. При пакетной обработке учитываются приоритет поступивших заявок, момент их поступления и др. Режим пакетной обработки увеличивает производительность ЦВМ, снижает до минимума простои оборудования и является типичным режимом использования ЦВМ в вычислительных центрах. Однако пакетная обработка малоэффективна с точки зрения потребителей, т. к., не работая непосредственно с ЦВМ, они не могут быстро обнаруживать и исправлять ошибки в своих программах. Сроки получения результатов также возрастают.

Режим разделения времени создаёт у каждого потребителя впечатление, что ЦВМ обслуживает только его одного. Каждый потребитель снабжается устройством для ввода — вывода данных (типа «дисплей») или др. оборудованием, обеспечивающим взаимодействие потребителя с ЦВМ, в том числе и по каналам связи. Периодически каждый потребитель в отведённое для него машинное время решает свою задачу, изучает полученные результаты и готовит следующее задание для ЦВМ. Обычно потребитель пользуется общей библиотекой программ, но может иметь и частный архив. При пользовании общей библиотекой диспетчер-программа планирует и осуществляет вынужденные прерывания программ в зависимости от приоритета потребителя и отведённого ему машинного времени, а также от характера решаемой задачи. Режим разделения времени позволяет потребителю вести эффективный диалог с машиной, что наиболее удобно в системах управления технологическими процессами, в автоматизированных системах управления (АСУ) предприятиями и отраслями народного хозяйства, в информационно-справочных службах, в мощных вычислительных центрах и т. д. В свободное от обслуживания потребителей время ЦВМ могут проводить пакетную обработку данных.


9

1.Принципы работы компилятора.

Процесс трансляции на внутренний машинный язык проги записанной на процедурно ориентированном языке(яз. Высокого ур.) называется компиляцией. Она выполняется с помощью компилирующей программы, кот. Представляет собой другой тим языкового процессора, транслятора. Использование яз. Высок. Уровня позволяет возложить детали программирования на компилирующую прогу. Для каждого оператора яз.выс.ур компилятор обычно генерирует несколько команд на машинно-ориентир. Яз. Компиляторы в силу необходимости зависит от обрабатываемого ими языка, однако все они включ след. Шаги:

  1. Исх. прогр .считывается последовательно оператор за оператором.

  2. Прогр. Лексического анализа, входящая в состав компилятора, просматривает кажд. Исходный оператор и проверяет зарезервированные слова, переменных, констант.

  3. Подпрограмма синтаксич. Анализа входящий в состав компилятора, определяет тип операторов и проверяет допустимость структуры каждого оператора по соответствующим ограничителям.

  4. В таблицы из списка символов выражения и операторы, обслуживаются таким образом, чтобы можно было выполнить анализ связей между операторами.

  5. выполняется анализ логической схемы программы и проводится глобальный анализ ошибок.

  6. В промежуточной символич форме внутри компилятора генерируется командой машинного языка и если требуется выполняется оптимизации.

  7. С промежуточного яз. Генерируется объектный модуль и создается листинг проги.

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

2.Прерывания при вводе и выводе данных.

Прерывания, связанные с вводом-вводом, возникают при появлении в работающей на компе команд, относящихся к вводу и выводу информации. При поступлении синхронизирующего сигнала со стороны ввода- вывода, а также сигналов занятости, готовности, сбоя ввода-вывода или вмешательства оператора ввода-вывода. При работе оператора с пультом, или клавиатурой, или мышкой, также вырабатываются сигналы ввода-вывода. Прерывания ввода-вывода возникают при появлении одного или нескольких ук. Сигналов, что тоже связано с сигналом qв-в,I = 1 при появлении i ого сигнала, и =0 в остальных случ.

Прерывания этого типа дает возможность процессору подготовить и давать запрограмир. Процесс(ответ) на запрос устройств в-выв. Эти ответы выдаются программными реакциями на указанные выше сигналы ввода-выв. Для каждого из упомянутых сигналов требуется своя реакция. Если имеется несколько прерываний типа ввода-вывода либо с одним входом, то для этого существует нужная только одна прога., реакции со многими входами, по сигналу от каждого устройства(клавиши) либо с 1 входом передающим управление(определяющего номер устройства вызываемого прерывания).


10

1. Принципы работы интерпретатора.

Интерпретаторпрограмма, которая допускает в качестве входа исходную программу, записанную на языке, называемом исходным языком, и производит вычисления, предписываемые этой программой.

И. В отличие от компилятора генерируют машинный код для каждого оператора, выполняют его, передают результат следующему оператору и стирают машинный код после его выполнения. Результат работы И.- решение задач, экономия памяти, но сильное замедление хода отладки и вычисления.

2. Программные прерывания.

Для того чтобы максимально уменьшить зависимость программ от особенностей аппаратного обеспечения компьютера используется многоступенчатая схема доступа программ к устройствам ввода/вывода. Согласно этой схеме программа никогда (в идеальном случае) не обращается непосредственно к портам аппаратуры. Вместо этого она взывает программное прерывание с нужным номером и запрашивает ту или иную функцию, загружая соответствующим образом регистры процессора.

Все программные прерывания можно разделить на две группы. Первая группа - это прерывания базовой системы ввода/вывода BIOS. Обработчик этих прерываний записан в микросхеме постоянного запоминающего устройства (ПЗУ), расположенной на основной плате компьютера (motherboard). Обработчики прерываний BIOS работают с портами ввода/вывода стандартных устройств компьютера и обслуживают соответствующие аппаратные прерывания.В мире выпускается очень много различных моделей основных плат для компьютеров, совместимых в той или иной степени с IBM PC. Использование BIOS позволяет до некоторой степени стандартизовать программный интерфейс с аппаратурой, так как производитель основной платы может учесть в BIOS все аппаратные особенности. Вторая группа - прерывания MS-DOS. Обработчики этих прерываний находятся в файлах io.sys и msdos.sys.

Расширение базовой системы ввода/вывода MS-DOS, расположенное в файле io.sys, является как бы прослойкой между операционной системой MS-DOS и BIOS. Для выполнения операций ввода/вывода ядро MS-DOS обращается как к самой базовой системе ввода/вывода BIOS, так и к ее расширению, загружаемому в оперативную память из файла io.sys.

В результате применения такой многоступенчатой схемы была достигнута потрясающая совместимость операционной системы MS-DOS с аппаратурой. MS-DOS способна работать практически на любом компьютере, созданном любой фирмой. Лишь бы этот компьютер был хоть немного совместим с IBM PC.


11

1. Стэк.

Стек (англ. stack = стопка) — структура хранения данных, подмножество структур типа «список» со специфическим методом доступа к элементам.

Метод доступа к элементам стека в одной фразе можно определить как «последним пришёл — первым вышел» (LIFO, Last In — First Out). Добавление элемента возможно только в вершину стека (добавленный элемент становится первым в стеке), удаление — также только из вершины стека. Операцию добавления элемента в стек принято называть словом «push», извлечения — «pop».

Стек широко используется в программировании на низком уровне (т. е., как правило, на языке ассемблера), и даже поддерживается аппаратурой процессора. Компиляторы с языков программирования высокого уровня используют стек для передачи параметров при вызове подпрограмм, процессоры — для хранения адреса возврата из подпрограмм.

2. Временные прерывания.

Временные прерывания осуществляются при поступлении сигналов от датчиков времени, которые, как привило, встраиваются в схемную часть компа. Эти прерывания служат для обеспечения работы компа в реальном масштабе времени, а так же для реализации алгоритмов управления объектами, требующих выполнения опред. Программы в некоторые фиксированные промежутки времени. Временные прерывания действуют qв-в,I = 1 если получ сигнал от i ого датчика, и =0 в остальных случ.

Датчики времени могут быть стабилизированные генераторы передачи сигнала, поступающего в систему прерываний, а также счётчики относительного и абсолютного времени, реализуемые программами или аппаратными программными способами. Независимо от способа реализации датчики в определённые моменты времени посылают сигналы в фиксированные промежутки времени или вызовов вр.прер.

Примером счётчика относительного времени может быть регистр или ячейка памяти, содержание которой уменьшается за регулярный промежуток времени. Когда ячейка при регистре устанавливается в определённое состояние формируется сигнал временного прерывания. Программа реализуемая датчиком времени организуется в ячейках оперативной памяти компа, отведённых для этой цели. Содержимое данных ячеек изменяется операционной системой по сигналам периодического прерывания от стабилизированного генератора с помощью спец. Командной ячейки опрашиваются в опред. Моменты врем. И их содержимое с кодом текущего времени. сигнал врем прерывания формируется в момент сравнения величин и поэтому сигналу начинаются выполнения соответствующей программной реакции. В некоторых комп. Системах используются проги, кот. Необходимо выполнять в опр. время суток, этот алгоритм реализуется посредством вр. Пр. Часто в компе существуют несколько часов, которые совместно с программой календарь показывают текущее время суток или могут вызывать прерывание, по истечении задан. Интервала времени.


12

1. Очередь.

Очередьструктура хранения данных, подмножество структур типа «список» со специфическим методом доступа к элементам.

Метод доступа к элементам очереди в одной фразе можно определить как «первым пришёл — первым вышел» (FIFO, First In — First Out). Добавление элемента возможно только в вершину стека (добавленный элемент становится первым в очереди), удаление — также только из конечной точки очереди. Операцию добавления элемента в очередь принято называть словом «push», извлечения — «pop».

2. Дисциплины обслуживания прерываний.

Правило выбора запроса прерывания для обслуживания наз дисциплиной обслуживания:

  • Д.О. с циклической очерёдностью, она заключается в жёстком порядке обработки запросов прерывания и связана с циклическим опросом разрядов регистров прерывания с различной частотой. Опрос может быть организован по разному.В простейшем случае все разряды регистра программного поля опрашиваются и как только обнаружив, что один регистр в 1-ом состоянии дальнейший опрос прекращается и начинается обслуживание обнаруженного прерывания. По окончанью его обработки опрос разряда возобновляется, причем если обновл i-ый разряд, то сл. опр i+1 разряд. При условии, что время опроса мало по сравнению с временем обработки прерывания. Реализуется как упорядоченная дисциплина обслуживания, по своим характеристикам приближённая характеристике первып пришёл, 1-ый обслуж.

  • с относительным приоритетом. При этом обслуживание не прерывается даже при наличии запросов с более высокими приоритетами. после окончания обслуживания данного запроса (текущего) обслуживается запрос с наивысшим приоритетом. для организации такой дисциплины необходимо в программе обслуживания данного запроса наложить маски на все остальные прерывания или просто отключить систему прерываний.

  • с абсолютным приоритетом. Всегда обслуживаются задачи с наивысшим приоритетом. Для реализации этой дисциплины при запросе на обработку прерываний маскируются все прерывания с низшим приоритетом. При этом возможно многоуровневое прерывание, т. е. прерывание программы обработки прерывания. Число уровней прерывания в этом режиме изменяется и зависит от приоритета запроса по принципу стека: LCFS – last come first served, т . е. запрос с более высоким приоритетом может прервать запрос с более низким приоритетом. При появлении запроса на прерывание система прерываний идентифицирует сигнал и если прерывания разрешены, то управление передается на соотв. программу обработки прерываний.

  • Разделения времени. При нем для каждого запроса выделяется квант времени, в течении которого запрос должен обслуживаться. Если кванта достаточно, то запрос полностью обслуживается, в ином случае выполнение его прерывается и выполняется следующая по порядку запрос и так циклически опрашивая происходит обработка всех запросов, пока не будут обработаны все запросы.


13

1. Магазин.

Магазин представляет собой ленту, в которой для записи и чтения доступны лишь верхние ячейки( вершина магазина).В режиме записи содержимое магазина сдвигается на 1 яч. Вниз, а в освободивш. Вершину записывается некоторый символ из алфавита данного магазина. При чтении содержимое вершины магазина стирается а остальная часть смещается на 1 яч. Вверх.Таким образом символ записанный последний воспроизводится как первый.2 разновидности магазина стек и счётчик. Магазине счётчике явл. Ограничение режимов обращения к ленте, введение естественной очерёдности на порядок считывания символов записанных на ленту.

2. Общая структура системы прерывания.

Структуры систем прерываний могут быть самыми различными, но все они

имеют общую особенность – прерывание непременно ведет за собой изменение

порядка выполнения команд процессором. Механизм обработки прерываний

включает в себя следующие элементы:

1. Установление факта прерывания (прием и идентификация сигнала на

прерывание).

2. Запоминание состояния прерванного процесса (состояние процесса

определяется значением счетчика команд, содержимым регистра

процессора, спецификацией режима: пользовательский или

привилегированный)

3. Управление аппаратно передается программе обработки прерывания. В этом

случае, в счетчик команд заносится начальный адрес подпрограммы

обработки прерывания, а в соответствующие регистры из слова

состояния.

4. Сохранение информации прерванной программе, которую не удалось спасти

с помощью действий аппаратуры.

5. Обработка прерывания. Работа может быть выполнена той же

подпрограммой, которой было передано управление на 3-ем шаге, но в ОС

чаще всего эта обработка реализуется путем вызова соотв. подпрограммы.

6. восстановление информации относящейся к прерванному процессу.

7. Возврат в прерванную программу.

Первые 3 шага реализуются аппаратными средствами, а остальные –

программно.


14

1. Функции операционной системы при управлении языковым процессором.

Функции операционной системы при управлении языковым процессором.

Под ОС обычно понимают комплект управляющих программ, которые вступают

как интерфейс между аппаратурой компьютера, и предназначены для наиболее

эффективного использования ресурсов вычислительной системы, организации

надежных вычислений. Любой из компонентов программного обеспечения работает

под управлением ОС, и ни один из компонентов ПО, за исключением самой ОС не

имеет доступа непосредственно к аппаратуре.

Основные функции ОС:

1) Управление процессором путем передачи управления программам.

2) Обработка прерываний, синхронизация доступа к ресурсам.

3) Управление памятью.

4) Управление устройствами ввода-вывода.

5) Управление инициализацией программ, межпрограммные связи.

6) Управление данными на долговременных носителях путем поддержки файловой системы.

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

2. Функционирование системы прерывания.

  1. Появление условия прерывания и формирование сигналов прерывания.

  2. Прерывание текущей программы.

  3. Сохранение состояния основных регистров компа для прерванной проги.

  4. Опознавание условия прерывания. Выделения одного условия из множества для дальнейшей обработки.

  5. Выполнение программной реакции на опознанные условия прерывания.

  6. Гашение разряда программного прерывания.

  7. Переход на прерванную программу.





16

1. Объектный модуль.

ОБЪЕКТНЫЙ МОДУЛЬ (object module). Программный модуль, являющийся результатом компиляции исходного модуля. О. м. представляет собой последовательность машинных команд, готовую к объединению с другими О. м. с помощью редактора связей (компоновщика). О. м. реализует машинными командами в точности те действия, которые были описаны в исходном модуле посредством операторов исходного языка системы программирования. Обычно О. м. выполнен в относительных (иногда в абсолютных) адресах и обладает свойством перемещаемости. Если О. м. не нуждается в редактировании связей и представляет законченную программу, готовую к загрузке и исполнению, то он является загрузочным модулем. Так как О. м. не нужна трансляция и они могут непосредственно обрабатываться редактором связей, то, в целях экономии машинного времени и памяти ЭВМ, многие подпрограммы и часто используемые другими программами программные модули хранятся в библиотеках программ в виде О. м.

Объектный модуль – код программы после трансляции (компиляции), преобразованный в машинные коды. Помимо них содержит внешние ссылки и информацию для редактора связей и может также содержать отладочную информацию (debug info).

17

1. Загрузочный модуль.

ЗАГРУЗОЧНЫЙ МОДУЛЬ (load module). Программный модуль в виде, пригодном для загрузки и выполнения. 3. м. получается из объектного модуля при редактировании связей и представляет собой программу в виде последовательности машинных команд, имеющую принятый для данной операционной системы формат. 3. м. обычно выполнен в относительных (иногда в абсолютных) адресах и содержит информацию для их настройки загрузчиком в соответствии с отведенной для него областью оперативной памяти. 3. м. являются исполняемые файлы


19

1. Редактирование связей.

Редактирование связей – разрешение внешних ссылок и создание исполняемого модуля из объектных.

Сборкой всех частей программы занимается редактор связей. Он размещает все модули в памяти и настраивает адресные константы внутри них так, чтобы они соответствовали фактическому местоположению в памяти.

Редакторы бывают 3 разновидностей.

1) Загрузчик – загружает объектный модуль и передает управление на точку входа программы.

2) Компоновщик – формирует исполняемый файл, точно соответствующий образу программы в памяти, привязывая его к абсолютным адресам.

3) Компоновщик, генерирующий псевдоперемещаемый код – записывает в исполняемый файл таблицу перемещений (relocation table), где содержатся данные о ячейке внутри кода, которая зависит от местоположения в памяти. Такой исполняемый файл перед запуском программы требует настройки. Этим занимается операционная система, в формате которой создается исполняемый модуль.

20

1. Разрешение внешних ссылок.

Внешние ссылки из сегмента позволяют получать доступ к данным, которые объявлены в другом модуле. Для объявления внешних ссылок в компиляторах с ассемблера используется директива EXTRN. Пример использования:

EXTRN maybe:far

Статическое и динамическое разрешение внешних ссылок.

Процесс разрешения внешних ссылок на этапе создания исполняемого модуля – статическое разрешение ссылок. Возможно и динамическое подсоедиение нужных модулей на этапе работы программы.

а) Динамически вызываемый загрузчик, т.е. программа вызывает загрузчик и подсоединяет недостающие части. Такой подход невыгоден (сложен и требует много времени)

б) DLL – принцип разделяемых библиотек. DLL – это пакет функций, отредактированный для исполнения в позиционно-независимом стиле. Имеет таблицу всех содержащихся функций. Для работы с ним программа выполняет 1) функцию загрузки DLL, 2)переход по смещению в таблице функций.


21

2.Многозадачность и многопоточность.

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

Собственными у тредов являются программные счетчики, свой стек,

рабочие регистры процессора, потоки-потомки и состояния. В следствие того,

что треды относятся у определенному процессу выполняются в одном и том же

виртуальном адресном пространстве между ними можно организовать тесное

взаимодействие, в отличие от процессов для которых нужны специальные

механизмы обмена сообщениями и данными. Программист, создающий

многопоточное приложение должен заранее продумать работу многих тредов

процесса таким образом, чтобы они могли взаимодействовать наиболее выгодным

способом, а не участвовали в конкуренции за предоставление ресурсов тогда,

когда этого можно избежать.

22

1. Выполнение задания.

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

Выполнение одной обрабатываемой программы- шаг задания(компилятора, асемблера, редактора связи).

Когда вып. выдает(передает) на рассмотрение(выполнение) ОС единой работы он передаст на рассматриваемому заданию, которое включает 1 и более шагов. При оформлении задание включ: управлением им, программ и данные особенности.







Рис.2.6. Схема временных диаграмм процесса прерывания
написать администратору сайта