Государство (информатика)
В информационных технологиях и информатике система описывается как сохраняющая состояние , если она предназначена для запоминания предыдущих событий или взаимодействий пользователя; [1] запоминаемая информация называется состоянием системы.
Набор состояний, которые может занимать система, известен как ее пространство состояний . В дискретной системе пространство состояний счетно и часто конечно . Внутреннее поведение системы или взаимодействие с ее средой состоит из отдельно происходящих отдельных действий или событий, таких как принятие входных данных или создание выходных данных, которые могут или не могут привести к изменению состояния системы. Примерами таких систем являются цифровые логические схемы и компоненты, автоматы и формальный язык , компьютерные программы и компьютеры .
Выход цифровой схемы или детерминированной компьютерной программы в любой момент времени полностью определяется ее текущими входами и ее состоянием. [2]
Состояние цифровой логической схемы
[ редактировать ]Цифровые логические схемы можно разделить на два типа: комбинационная логика , выходные сигналы которой зависят только от текущих входных сигналов, и последовательная логика , выходные сигналы которой являются функцией как текущих входов, так и прошлой истории входов. [3] В последовательной логике информация прошлых входов сохраняется в элементах электронной памяти, таких как триггеры . Сохраненное содержимое этих элементов памяти в данный момент времени в совокупности называется состоянием схемы и содержит всю информацию о прошлом, к которой схема имеет доступ. [4]
Поскольку каждый элемент двоичной памяти , например триггер, имеет только два возможных состояния: одно или ноль , а число элементов памяти ограничено, цифровая схема имеет только определенное конечное число возможных состояний. Если N — количество элементов двоичной памяти в схеме, максимальное количество состояний, которые может иметь схема, равно 2. Н .
Состояние программы
[ редактировать ]Аналогично, компьютерная программа хранит данные в переменных , которые представляют собой места хранения в памяти компьютера . Содержимое этих ячеек памяти в любой момент выполнения программы называется состоянием программы . [5] [6] [7]
Более специализированное определение состояния используется для компьютерных программ, которые последовательно или последовательно работают с потоками данных , таких как анализаторы , межсетевые экраны , протоколы связи и шифрование . Последовательные программы обрабатывают входящие символы или пакеты данных последовательно, по одному. В некоторых из этих программ информация о предыдущих полученных символах данных или пакетах сохраняется в переменных и используется для воздействия на обработку текущего символа или пакета. Это называется протоколом с отслеживанием состояния , а данные, перенесенные из предыдущего цикла обработки, называются состоянием . В других программа не имеет информации о предыдущем потоке данных и запускается заново при каждом вводе данных; это называется протоколом без сохранения состояния .
Императивное программирование — это парадигма программирования (способ разработки языка программирования ), которая описывает вычисления с точки зрения состояния программы и операторов, которые изменяют состояние программы. Изменения состояния являются неявными и управляются средой выполнения программы, поэтому подпрограмма имеет видимость изменений состояния, внесенных другими частями программы, известных как побочные эффекты .
В декларативных языках программирования программа описывает желаемые результаты и не указывает изменения состояния напрямую.
В функциональном программировании состояние обычно представляется с помощью темпоральной логики в виде явных переменных, которые представляют состояние программы на каждом этапе ее выполнения: переменная состояния передается как входной параметр функции преобразования состояния, которая возвращает обновленное состояние как часть его возвращаемой стоимости. подпрограмма Чисто функциональная имеет видимость только изменений состояния, представленных переменными состояния в ее области действия.
Конечные автоматы
[ редактировать ]Выход последовательной схемы или компьютерной программы в любой момент времени полностью определяется ее текущими входами и текущим состоянием. Поскольку каждый элемент двоичной памяти имеет только два возможных состояния: 0 или 1, общее количество различных состояний, которые может принять схема, конечно и фиксировано количеством элементов памяти. При наличии N элементов двоичной памяти цифровая схема может иметь не более 2 Н отдельные государства. Понятие состояния формализовано в абстрактной математической модели вычислений, называемой конечным автоматом , используемой для проектирования как последовательных цифровых схем, так и компьютерных программ.
Примеры
[ редактировать ]Примером повседневного устройства, имеющего состояние, является телевизор . Чтобы изменить канал телевизора, пользователь обычно нажимает кнопку «канал вверх» или «канал вниз» на пульте дистанционного управления, которая отправляет на телевизор закодированное сообщение. Чтобы рассчитать новый канал, который желает пользователь, цифровой тюнер телевизора должен сохранить в себе номер текущего канала, на котором он находится. Затем он добавляет единицу или вычитает единицу из этого числа, чтобы получить номер нового канала, и настраивает телевизор для приема этого канала. Этот новый номер затем сохраняется как текущий канал . Точно так же телевизор также хранит число, которое контролирует уровень громкости динамика. Нажатие кнопок «увеличить» или «уменьшить громкость» увеличивает или уменьшает это число, устанавливая новый уровень громкости. И текущий канал , и текущие номера громкости являются частью состояния телевизора. Они хранятся в энергонезависимой памяти , которая сохраняет информацию при выключении телевизора, поэтому при повторном включении телевизор вернется к предыдущей станции и уровню громкости.
Другой пример: состояние микропроцессора — это содержимое всех элементов памяти в нем: аккумуляторов , регистров хранения , кэшей данных и флагов . Когда компьютеры, такие как ноутбуки, переходят в режим гибернации для экономии энергии путем выключения процессора, состояние процессора сохраняется на жестком диске компьютера , поэтому его можно восстановить, когда компьютер выйдет из спящего режима, и процессор может продолжить работу. операции с того места, где они остановились.
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «Что такое лицо без гражданства? — Определение с сайта WhatIs.com» . techtarget.com .
- ^ Харрис, Дэвид Мани; Харрис, Сара Л. (2007). Цифровой дизайн и компьютерная архитектура . США: Морган Кауфманн. п. 103. ИСБН 978-0123704979 .
- ^ Кэслин, Хьюберт (2008). Проектирование цифровых интегральных схем: от архитектуры СБИС до изготовления КМОП . Великобритания: Издательство Кембриджского университета. п. 735. ИСБН 978-0521882675 .
- ^ Шринатх, Северная Каролина (август 2005 г.). Микропроцессор 8085: программирование и интерфейс . Прентис-Холл Индии Pvt. ООО с. 326. ИСБН 978-8120327856 . Проверено 7 декабря 2012 г.
стр. 46
- ^ Лапланте, Филип А. (2000). Словарь по информатике, технике и технологиям . США: CRC Press. п. 466. ИСБН 978-0849326912 .
- ^ Мисра, Джаядев (2001). Дисциплина мультипрограммирования: теория программирования распределенных приложений . Спрингер. п. 14. ISBN 978-0387952062 .
- ^ Прата, Стивен Прата (2004). C Primer Plus, 5-е изд . Пирсон Образование. стр. 113–114. ISBN 978-0132713603 .