Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Архитектура ПК, характеристики, назначение основных узлов компьютера



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

Архитектурная схема IBM-совместимого компьютера приведена на рис. 1.2.

     В основу построения большинства компьютеров положены принципы, сформулированные Джоном фон Нейманом.

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

2. Принцип однородности памяти - программы и данные хранятся в одной и той же памяти; над командами можно выполнять те же действия, что и над данными.

3. Принцип адресации - основная память структурно состоит из пронумерованных ячеек.

     Компьютеры, построенные на этих принципах, имеют классическую архитектуру. Архитектура компьютера определяет принцип действия, информационные связи и взаимное соединение основных логических узлов компьютера, к которым относятся:

· центральный процессор;

· основная память;

· внешняя память;

· периферийные устройства.

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

· системная плата;

· блок питания;

· накопитель на жестком магнитном диске;

· накопитель на гибком магнитном диске;

· накопитель на оптическом диске;

· разъемы для дополнительных устройств.

 

 

Рис. 1.2. Архитектурная схема IBM-совместимого компьютера

 

     На системной (материнской) плате в свою очередь размещаются:

· микропроцессор;

· математический сопроцессор;

· генератор тактовых импульсов;

· микросхемы памяти;

· контроллеры внешних устройств;

· звуковая карта и видеокарта;

· таймер.

     Архитектура современных персональных компьютеров основана на магистрально-модульном принципе.

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

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

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

1) между микропроцессором и основной памятью;

2) между микропроцессором и портами ввода-вывода внешних устройств;

3) между основной памятью и портами ввода-вывода внешних устройств.

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

     Память компьютера состоит из оперативной и внешней.

     Оперативная ( основная) памят ь предназначена для хранения и оперативного обмена информацией с прочими блоками компьютера.

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

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

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

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

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

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

     Основными функциональными характеристиками персонального компьютера являются:

1) производительность, быстродействие, тактовая частота. Производительность современных ЭВМ измеряют обычно в миллионах операций в секунду;

2) разрядность микропроцессора и кодовых шин интерфейса. Разрядность — это максимальное количество разрядов двоичного числа, над которым одновременно может выполняться машинная операция, в том числе и операция передачи информации; чем больше разрядность, тем выше производительность ПК;

3) емкость оперативной памяти. Она измеряется в Гигабайтах;

4) емкость накопителя на жестких магнитных дисках (винчестера). Емкость винчестера измеряется обычно в Гигабайтах или в Терабайтах;

5) наличие, виды и емкость кэш-памяти. Кэш-память — это буферная, недоступная для пользователя быстродействующая память. Она используемая компьютером для ускорения операций с информацией. Наличие кэш-памяти емкостью 256 Кбайт увеличивает производительность персонального компьютера примерно на 20%; (в современных процессорах кэш-память может быть трех уровней);

6) тип видеомонитора и видеоадаптера (битность - 64, 128, 256, 512; емкость 512 кбайт, 1, 2, 3 Гигабайта);

7) наличие и тип принтера;

8) наличие и тип накопителя на компакт дисках (CD-ROM, DVD-ROM;

9) наличие и тип модема (для выхода в интернет);

10) наличие и виды мультимедийных аудио/видео средств;

11) программное обеспечение и вид операционной системы;

12) возможность работы в вычислительной сети;

13) возможность работы в многозадачном режиме. Многозадачный режим позволяет выполнять вычисления одновременно по нескольким программам (многопрограммный режим) или для нескольких пользователей (многопользовательский режим);

14) надежность;

15) стоимость;

16) габариты и вес.

         


     Тема 2. Операционные системы. Основные понятия и определения
              {Источник: os-sks.narod.ru › testhelp}

          2.1. Назначение и функции операционных систем

         

     Операционная система - это комплекс программ, которые:

     1) обеспечивают управление аппаратными средствами компьютера (клавиатура, монитор, принтер, диски, память и т.д.);

     2) организуют работу с файлами;

     3) поддерживают выполнение прикладных программ;

     4) осуществляют ввод и вывод данных.

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

     Важнейшими функциями ОС являются.

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

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

3. Выделение ресурсов ПЭВМ (памяти, процессорного времени, внешних устройств) для выполняемых процессов (управление ресурсами). Это наиболее сложная функция операционных систем. В зависимости от того, как распределяются ресурсы ЭВМ, определяется тип ОС и ее возможности.

4. Организация взаимодействия между выполняемыми процессами (система прерываний). Данная система позволяет обеспечивать все виды передач управления и управлять работой «компьютера в диалоговом режиме.

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

              Основными свойствами операционной системы являются:

1) удобство - то есть операционная система делает работу компьютера простым и удобным;

2) эффективность то есть операционная система позволяет эффективно использовать ресурсы компьютерной системы;

3) возможностьразвития: операционная система должна допускать разработку новых приложений и системных функций без нарушения нормального функционирования вычислительной системы.

     При рассмотрении основ функционирования ОС принято выделять четыре основных группы функций, выполняемых системой.

1) Управление устройствами (все периферийные устройства, подключенные к компьютеру).

2) Организация интерфейса с пользователем.

3) Защита данных от несанкционированного доступа.

4) Ведение статистики. В ходе работы ОС собирается и хранится разнообразная информация.

     2.2. Классификация операционных систем

 

     В основе классификация операционных систем лежат следующий принцип:

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

 

Рис. 2.1 - Классификация операционных систем

 

     Наиболее простыми являются однозадачные ОС, т.е.
такие, которые позволяют держать в памяти и выполнять одновременно
только одну задачу. Примером такой операционной системы является DOS.

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

     Истинная многозадачность подразумевает распределение
пpoцecсopного времени между задачами во время их выполнения па основе
вытесняющего или не вытесняющего переключения. В последнем слуге
переключение на новую задачу происходит как бы по инициативе
выполняемой задачи - в моменты освобождения процессора. Первым примером таких OC является Windows 9х.

     Вытесняющая многозадачность - это когда решение о переключении
на другую задачу принимает сама ОС. Например, на основе квантования (распределения) процессорного времени между выполняемыми процессами. Такая возможность реализована начиная с Windows NT, в UNIX, ОС/2.

     Если однопользовательские OC могут быть как одно, так и много многозадачными, то многопользовательские ОС - только многозадачными. На эти операционные системы ложится функции обеспечения разграничения доступа к данным по приоритетам и паролям пользователей. Чacтo таим OC
приходится вести учет потребленных ресурсов каждым пользователем (например, в случаях использования ЭВМ на коммерческой основе).

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

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

     Примерами таких ОС являются Windows 2000, Solaris 2.х (UNIX), NetWаre-4.l и другие

 

     2.3. Операционная среда

         

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

     Любая программа имеет дело с некоторыми исходными данными, которые она обрабатывает и порождает выходные данные. В абсолютном большинстве случаев исходные данные попадают в оперативную память. Результаты вычислений также выводятся на внешние устройства. Одной из важных задач, решаемых операционной системой, являются операции ввода/вывода. Набор операций называется операционной средой.

 

     2.4. Прерывания

 

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

     Все прерывания можно разделить на три основных типа:

1. Аппаратные прерывания от периферийных устройств

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

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

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

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

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

1) при переходе в состояние готовности;

2) при возникновении ошибки выполнения операции.

     Состояние готовности - это такое состояние устройства, в котором оно готово принять и выполнить команды от процессора. Для устройства ввода готовность означает наличие в устройстве данных, которые могут быть переданы в процессор. Например, клавиатура переходит в состояние " Готово" при нажатии клавиши. Для устройства вывода готовность - это возможность принять от процессора данные, которые следует вывести. Например, матричный принтер принимает символы, которые нужно напечатать. Если буфер принтера заполнен, он переходит в состояние " Не готово" до тех пор, когда часть символов будет напечатана и в буфере освободится место.

     Дисковый накопитель при начале выполнения новой операции " чтения или записи" на диск переходит в состояние " Не готово", а после завершения операции возвращается в состояние " Готово". Переход устройств в состояние " Готово" - это повод для устройства напомнить о себе процессору.

     Ошибка операции также требует вмешательства системы или пользователя. Например, при ошибке отсутствия бумаги в лотке принтера система должна оповестить об этом пользователя; при ошибке чтения с диска либо система, либо пользователь должен решить, что делать: повторить операцию, завершить программу или продолжить выполнение.

     Не каждое устройство генерирует прерывания. Например, монитор ПК не выдает прерываний: он всегда готов, т.е. всегда может принять данные для отображения, и он никогда не ошибается.

 

     2.5. Файлы и файловые системы

         

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

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

     Среди основных задач, решаемых подсистемой управления данными, можно выделить следующие:

1) выполнение операций создания, удаления, переименования, поиска файлов, чтения и записи данных в файлы;

2) обеспечение эффективного использования дискового пространства и высокой скорости доступа к данным;

3) обеспечение надежности хранения данных и их восстановления в случае сбоев;

4) защита данных пользователя от несанкционированного доступа;

5) управление одновременным совместным использованием данных со стороны нескольких процессов.

 

     2.6. Память

 

     Основная или оперативная память (ОЗУ) является важнейшим ресурсом, эффективное использование которого решающим образом влияет на общую производительность системы.

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

     Процедуры управления памятью решают следующие задачи:

1) выделение памяти для процесса пользователя при его запуске и освобождение этой памяти при завершении процесса;

2) обеспечение настройки запускаемой программы на выделенные адреса памяти;

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

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

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

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

2. эффективное использование ограниченного объема основной памяти, в том числе с использованием дисков для расширения памяти;

3. изоляция памяти процессов, исключающая случайное или намеренное несанкционированное обращение одного процесса к областям памяти, которая занята другим процессом

4. предоставление процессам возможности обмена данными через общие области памяти.

 

     2.7. Пользователи

 

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

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

 

     2.8. Режимы работы

 

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

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

     В однопрограммном режиме работы в памяти ЭВМ находится и выполняется только одна программ. Такой режим обычно характерен для микро-ЭВМ и персональных ЭВМ, то есть для ЭВМ индивидуального пользования.

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

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

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

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

 

     Для закрепления материала:

              https: //www.youtube.com/watch? v=FDVGRWdtsWI                                               https: //www.youtube.com/watch? v=r4hKmM5hk1A

 


     Тема 3. Процессы. Управление процессами

     3.1. Концепция процесса

 

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

     Понятие процесса тесно связано с понятием задача:

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

     Следует отличать понятия " процесс" и " задача" от понятий " программа" и " задание".

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

     Об отношении " процесса" и " программы" можно сказать, что процесс - это программа во время ее выполнения. Всякая программа становится процессом, когда начинает выполняться в ЭВМ.

     В период своего существования процесс может находиться в одном из следующих основных состояний:

1. Порождение, во время которого подготавливаются условия для первого исполнения на центральном процессоре.

2. Активное состояние выполнения, когда процессу принадлежит центральный процессор.

3. Ожидание, во время которого процесс блокирован по причине занятости каких-либо необходимых ему ресурсов.

4. Готовность, при котором процесс получил все необходимые ему ресурсы, кроме центрального процессора.

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

 

     3.2. Идентификатор, дескриптор и контекст процессов

 

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

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

1) условное число, обозначающее данный процесс;

2) текущее состояние процесса;

3) приоритет процесса;

4) владелец процесса (идентификатор пользователя, запустившего процесс);

5) статистика затраченного процессом времени (общего и процессорного);

6) указатель местоположения контекста процесса и др.

     Дескрипторы всех процессов, существующих в системе, собраны в таблицу процессов.

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

1) значения всех регистров процессора, включая указатель текущей команды;

2) таблицу файлов, открытых процессом;

3) указатели на области памяти, которые должен занимать процесс при его выполнении;

4) значения системных переменных, используемых процессом (например, текущий диск и каталог, информация о последней ошибке при выполнении системных функций);

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

     Точный состав дескриптора и контекста сильно зависят от конкретной ОС.

     3.3. Диспетчеризация процессов

 

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

 

     3.4. Понятие приоритета и очереди процессов

 

     Приоритет - это свойство процесса, определяющее важность или необходимость его выполнения.

     Назначение приоритетов выполняется пользователем либо администратором системы. Возможно также программное изменение приоритета процесса. На выбор оптимального уровня приоритета влияют в два фактора:

1) важность, ответственность данного процесса либо привилегированное положение запускающего процесс пользователя;

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

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

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

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

 

     3.5. Синхронизация процессов

 

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

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

1) сигналы и сообщения;

2) семафоры и мьютексы;

3) каналы (англ. pipe);

4) совместно используемая память.

 

     3.6. Средства обработки сигналов

 

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

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

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

     1) Процесс реагирует на сигнал стандартным образом, установленным по умолчанию для большинства сигналов действие по умолчанию - это завершение процесса.

     2) Процесс может установить специальную обработку сигнала . В этом случае по приходу сигнала вызывается функция-обработчик (сигнал перехватывается).

     3) Процесс может проигнорировать сигнал.

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

     Если в процесс одновременно доставляется несколько различных сигналов, то порядок их обработки не определен и зависит от конкретной реализации ОС.

 

     3.7. Понятие событийного программирования

 

     Событийно-ориентированное программирование (СОП) - это парадигма программирования, в которой выполнение программы определяется событиями. Под событиями подразумеваются:

1) действия пользователя (клавиатура, мышь);

2) сообщения других программ;

3) события операционной системы.

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

1) выборки события;

2) обработки события.

     При написании событийно-ориентированных программ часто применяют автоматное программирование.

 

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

 

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

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

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

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

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

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

За пределами этих средств действует изоляция процессов.

     Понятие взаимодействия процессов включает в себя несколько видов взаимодействия, основными из которых являются:

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

2) обмен данными между процессами.

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

     Для " разруливания" этой ситуации голландский ученый Дейкстр предложил использовать новый вид программных объектов - семафоры. Они могут быть:

1) простые (двоичные);

2) Множественные.

     Двоичным семафором называется системная переменная PS, которая может принимать значения 0 и 1. Для нее определены только две операции:


Поделиться:



Последнее изменение этой страницы: 2020-02-16; Просмотров: 194; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.12 с.)
Главная | Случайная страница | Обратная связь