Egoera (informatika)
Konputazio Zientzietan eta Informazioaren Teknologian, egoera bat programa edo makina baten informazio konfigurazio bakarra da. Sistema bat egoeradun bezala deskribatzen da, gertaerak edo erabiltzaile-elkarreraginak gogoratzeko diseinatua bada[1].
Sistema batek har dezakeen estatu multzoari espazio egoera deritzo. Automata egoera finituen makina bat, piladun automata bat edo Turing makina bat bada, egoera makinaren sarrerari erantzuteko exekutatuko den jarraibide multzo berezi bat da. Egoerak, kasu batzuetan, ordenagailu baten memoria nagusiaren antzeko eginkizunak hartzen ditu. Zirkuitu digital baten edo ordenagailu determinista baten irteera, edozein unetan, bere sarrerek eta bere egoerak zehazten dute[2].
Motak
aldatu- Egoera bateragarriak: Egoera-makina baten egoerak dira, inolako sarrera-baliorako gatazkarik ez dutenak. Horrela, sarrera bakoitzerako, bi egoerek irteera bera eta oinordeko bera izan behar dute (edo zehaztu gabeko ondorengoak) edo biek ez dute aldatu behar. Egoera bateragarriak erredundanteak dira egoera-makina berean agertzen badira.
- Egoera baliokideak: Egoera-makina baten egoerak dira, sarrera-sekuentzia bakoitzerako irteera-sekuentzia bera sortuko dutenak (hasierako egoera zein den kontuan hartu gabe).
- Egoera bereizgarriak: Egoera-makina baten egoerak dira, gutxienez sarrera-sekuentzia bat dutenak. Sekuentzia horrek irteera-sekuentzia desberdinak eragiten ditu (hasierako egoera zein den kontuan hartu gabe).
Zirkuitu logikoko egoera digitala
aldatuZirkuitu logiko digitalak bi motatan bana daitezke: logika konbinazionala (bere irteera-seinaleak bere egungo seinaleen menpe bakarrik daude) eta logika sekuentzialak (bere irteera-seinaleak bere egungo sarreren eta iraganeko sarreren arteko funtzioa dira)[3]. Logika sekuentzialean, iraganeko sarreren informazioa memoria elektronikoko elementuetan biltegiratzen da, hala nola flip-flopetan. Memoria elementu horien edukia, une jakin batean, zirkuituaren egoera deitzen da, eta zirkuituak iraganari buruzko informazio guztia jasotzeko erabiltzen da[4].
Elementu bitar bakoitzak, hala nola flip-flop batek, bi egoera posible bakarrik ditu, bat edo zero. N zirkuituko memoria elementu binarioen kopurua bada, zirkuitu batek izan dezakeen gehieneko egoera kopurua 2N da.
Programaren egoera
aldatuEra berean, programa informatiko batek datuak gordetzen ditu aldagaietan, ordenagailuaren memorian biltegiratzeko lokalak irudikatzen dituztenak. Memoria lokalen edukiari, programaren exekuzioko edozein unetan, programaren egoera deritzo [5][6][7].
Programazio inperatiboa programazio-paradigma bat da (programazio-lengoaia bat diseinatzeko modua), programazio-egoeraren eta programazio-egoera aldatzen duten adierazleen araberako konputazioa deskribatzen duena. Programazio deklaratiboko lengoaietan, programak nahi dituen emaitzak deskribatzen ditu, eta ez dio egoerari zuzenean aldaketak zehazten.
Egoera finituetako makinak
aldatuZirkuitu edo programa informatiko sekuentzial baten irteera, edozein momentutan, erabat determinatuta dago egungo sistema eta egoerarekin. Memoria bitarreko N elementuk gehienez 2N egoera desberdinak sor ditzaketela kontuan hartuta, egoera kontzeptua konputazio eredu matematiko abstraktu batean formalizatzen da, egoera-makina finitua deritzona. Zirkuitu digital sekuentzialak eta ordenagailu-programak diseinatzeko erabiltzen da.
Erreferentziak
aldatu- ↑ (Ingelesez) «What is stateless? - Definition from WhatIs.com» WhatIs.com (Noiz kontsultatua: 2020-11-22).
- ↑ (Ingelesez) Harris, David; Harris, Sarah. (2010-07-26). Digital Design and Computer Architecture. Morgan Kaufmann ISBN 978-0-08-054706-0. (Noiz kontsultatua: 2020-11-22).
- ↑ (Ingelesez) Kaeslin, Hubert. (2008-04-28). Digital Integrated Circuit Design: From VLSI Architectures to CMOS Fabrication. Cambridge University Press ISBN 978-0-521-88267-5. (Noiz kontsultatua: 2020-11-22).
- ↑ (Ingelesez) SRINATH, N. K.. (2005-01-01). 8085 MICROPROCESSOR: PROGRAMMING AND INTERFACING. PHI Learning Pvt. Ltd. ISBN 978-81-203-2785-6. (Noiz kontsultatua: 2020-11-22).
- ↑ (Ingelesez) Laplante, Philip A.. (2000-12-21). Dictionary of Computer Science, Engineering and Technology. CRC Press ISBN 978-0-8493-2691-2. (Noiz kontsultatua: 2020-11-22).
- ↑ (Ingelesez) Misra, Jayadev. (2001-06-26). A Discipline of Multiprogramming: Programming Theory for Distributed Applications. Springer Science & Business Media ISBN 978-0-387-95206-2. (Noiz kontsultatua: 2020-11-22).
- ↑ (Ingelesez) Prata, Stephen. (2004-11-23). C Primer Plus. Pearson Education ISBN 978-0-13-271360-3. (Noiz kontsultatua: 2020-11-22).