Автоматные грамматики и конечные автоматы.

Пусть G=(N, Автоматные грамматики и конечные автоматы. - student2.ru )автоматная грамматика. Тогда сущ-ет такой конечный автомат К=(Q, Автоматные грамматики и конечные автоматы. - student2.ru ), что L(K)=L(G). Конечный автомат строится след образом: 1. Входные алфавиты КА и автоматной грамматики совпадают. 2. Q=N Автоматные грамматики и конечные автоматы. - student2.ru (E), где Е-заключительное состояние КА. 3. Автоматные грамматики и конечные автоматы. - student2.ru . 4. Если Автоматные грамматики и конечные автоматы. - student2.ru , то F={S,E}, в противном случае F={E}. 5. Функция переходов КА опр-ся след образом: а) Е Автоматные грамматики и конечные автоматы. - student2.ru ; б) если Автоматные грамматики и конечные автоматы. - student2.ru ; в) Автоматные грамматики и конечные автоматы. - student2.ru . Пусть К=(Q, Автоматные грамматики и конечные автоматы. - student2.ru ) – КА. Тогда сущ-ет такая автоматная грамматика L(K)=L(G). Автоматная грамматика опр-ся след образом: 1. Входные алфавиты автоматной грамматики и конечного автомата совпадают. 2. N = Q. 3. S=q0. 4. Правила вывода автоматной грамматики опр-ся след образом: а) Автоматные грамматики и конечные автоматы. - student2.ru ; б) Автоматные грамматики и конечные автоматы. - student2.ru

Алгоритм (решение проблемы принадлежности):

Вход: конечный автомат К=(Q, Автоматные грамматики и конечные автоматы. - student2.ru ) и цепочка w Автоматные грамматики и конечные автоматы. - student2.ru . Выход: ответ «да»,если w Автоматные грамматики и конечные автоматы. - student2.ru ; ответ «нет», если w Автоматные грамматики и конечные автоматы. - student2.ru .

Описание алгоритма: пусть w=a1a2…an. Найти посл-ть состояний Автоматные грамматики и конечные автоматы. - student2.ru . Если Автоматные грамматики и конечные автоматы. - student2.ru то выдать ответ да, в противном случае – ответ нет.

Алгоритм (решение проблем пустоты):

Вход: конечный автомат К=(Q, Автоматные грамматики и конечные автоматы. - student2.ru ). Выход: ответ «да»,если Автоматные грамматики и конечные автоматы. - student2.ru ; ответ «нет», если Автоматные грамматики и конечные автоматы. - student2.ru .

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

Проблема эквивалентности для конечных автоматов разрешима. Пусть К=(Q, Автоматные грамматики и конечные автоматы. - student2.ru ) – конечный автомат, a q1, q2 – его различные состояния. Говорят, что цепочка х Автоматные грамматики и конечные автоматы. - student2.ru различает состояния q1 и q2, если (q1, х)+(q3, Автоматные грамматики и конечные автоматы. - student2.ru ), (q2, х)+(q4, Автоматные грамматики и конечные автоматы. - student2.ru ) и одно из состояний q3, q4 принадлежит F, a другое нет.

Алгоритм (решение проблемы эквивалентности для конечных автоматов):

вход: два детерминированных полностью определенных конечных автомата К1=(Q1, Автоматные грамматики и конечные автоматы. - student2.ru ) и К2=(Q2, Автоматные грамматики и конечные автоматы. - student2.ru ), таких, что Q1 Автоматные грамматики и конечные автоматы. - student2.ru Q2= Автоматные грамматики и конечные автоматы. - student2.ru . Выход: ответ да, если Автоматные грамматики и конечные автоматы. - student2.ru ; нет в противном случае. Описание алгоритма: построить конечный автомат К=(Q1 Автоматные грамматики и конечные автоматы. - student2.ru ).

Состав программного обеспечения ПЭВМ. Общие принципы классификации операционных систем. Понятие процессов и потоков. Дисциплины диспетчеризации.

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

Составные части ПО:1)Системное – комплекс управляющих и обрабатывающих программ, обеспечивающих функционирование вычислит.сист.(ОС, драйверы, оболочки, утилиты). 2)Инструментальное – среды разработки. 3)Прикладное. Прикладные программы(офис, плеер).

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

Виды и классификация ОС: 1) Кол-во одновременно обслуживаемых системой пользов-лей (одно-, многопользовательские). 2)По числу процессов, одновременно выполняемых (одно-, многозадачные). 3)По типу доступа пользов-лей к ПЭВМ: -сист.с пакетной обработкой; -сист.разделения времени; -сист.реального времени; 4)По типу средств вычислит.техники для управления ресурсами которой система предназначена: -одно/многопроцессорные; -сетевые; -распределенные («облачные»); 5) Разрядность: 16-разрядная - 32-разрядная - 64-разрядная; 6) По ур. безопасности (-низкий, -высокий); 7) открытые (с возможностью редактировать исходный код) - закрытые (без возможности редактировать исходный код); 8) графические - текстовые (только командная строка);

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

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

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

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

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

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

Планирование вып-ся раз в неск. мин., диспетчеризация может запускаться каждые 30 или 100 мс.

Дисциплины диспетчеризации:

· Бесприоритетные:1) линейные (в порядке очереди, или случайный выбор процесса). 2)циклические (циклический алгоритм, или многоприоритетный циклический алгоритм).

· Приоритетные: 1)с фиксированным приоритетом (с относительным; с абсолютным; или адаптивное обслуживание). 2) с динамическим приоритетом (адаптивное обслуживание; приоритет зависит от времени ожидания; приоритет зависит от времени обслуживания)

Дисциплины:

· FCFS – первый пришел – первый обслужен («+»: простота реализации;«­­–»: рост времени простоя при решении объемных задач).

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

· SRT – следующее задание, то – которое требует меньше времени для завершения.

· RR – круговая, карусельная. Каждая задача получает квант времени, по окончании кванта, вып-ся след.задача. Снятая задача идет в конец очереди готовых к выполнению задач.

Эти дисциплины делятся на:

· Не вытесняющую многозадачность. (без перераспределения процессорного времени).FCFS, SJN, SRT.

· Вытесняющая многозадачность. (с перераспределением процессорного времени). RR. Реализована в большинстве современных ОС (WindowsNT, Linux, OS/2).

Наши рекомендации