İçeriğe atla

Durum (bilgisayar)

Bilgi teknolojisi ve bilgisayar biliminde eğer önceki olayları veya kullanıcı etkileşimlerini hatırlamak için tasarlandıysa biliminde bir sistem durumsal olarak ifade edilmiştir,[1] hatırlanan bilgiye ise sistemin durumu denir.

Bir sistemin kullanabileceği durumlar kümesi, sistemin durum alanı olarak bilinir. Ayrık bir sistemde, durum uzayı sayılabilir ve genellikle sonludur. Sistemin iç davranışı veya çevresi ile etkileşimi, sistemin durumunu değiştirmesine neden olabilecek veya vermeyecek, girdiyi kabul etme veya çıktı üretme gibi ayrı ayrı gerçekleşen bireysel eylem veya olaylardan oluşur. Bu tür sistemlerin örnekleri, dijital mantık devreleri ve bileşenleri, otomata ve biçimsel dil, bilgisayar programları ve bilgisayarlardır.

Dijital bir devrenin veya deterministik bilgisayar programının herhangi bir zamandaki çıkışı, tamamen mevcut girişleri ve durumu tarafından belirlenir.[2]

Dijital mantık devresi durumu

Dijital mantık devreleri iki türe ayrılabilir: çıkış sinyalleri yalnızca mevcut giriş sinyallerine bağlı olan kombinasyonel mantık ve çıkışları hem mevcut girişlerin hem de geçmiş giriş geçmişinin bir fonksiyonu olan sıralı mantık.[3] Sıralı mantıkta, geçmiş girişlerden gelen bilgiler, flip-floplar gibi elektronik bellek öğelerinde saklanır. Bu hafıza elemanlarının belirli bir zamanda depolanan içerikleri toplu olarak devrenin durumu olarak adlandırılır ve devrenin erişebildiği geçmişle ilgili tüm bilgileri içerir.[4]

Bir flip-flop gibi her ikili bellek elemanı, bir veya sıfır olmak üzere yalnızca iki olası duruma sahip olduğundan ve sonlu sayıda bellek elemanı olduğundan, bir dijital devre yalnızca belirli bir sonlu sayıda olası duruma sahiptir. N, devredeki ikili bellek elemanlarının sayısı ise, bir devrenin sahip olabileceği maksimum durum sayısı 2 üzeri N'dir.

Program durumu

Buna benzer şekilde, bir bilgisayar programı, verileri bilgisayarın belleğindeki saklama konumlarını temsil eden değişkenler halinde depolar. Bu bellek konumlarının içeriğine, programın yürütülmesinin herhangi bir noktasında, programın durumu denir.[5][6][7]

Ayrıştırıcılar, güvenlik duvarları, iletişim protokolleri ve şifreleme gibi veri akışlarında seri veya sıralı olarak çalışan bilgisayar programları için daha özel bir durum tanımı kullanılır. Seri programlar, gelen veri karakterleri veya paketleri üzerinde sırayla, birer birer çalışır. Bu programların bazılarında, alınan önceki veri karakterleri veya paketleri hakkındaki bilgiler değişkenler içinde saklanır ve mevcut karakter veya paketin işlenmesini etkilemek için kullanılır. Buna durum bilgisi olan bir protokol adı verilir ve önceki işlem döngüsünden taşınan verilere durum adı verilir. Diğerlerinde, programın önceki veri akışı hakkında hiçbir bilgisi yoktur ve her veri girişiyle yeniden başlar; buna durumsuz protokol denir.

Sabit kodlu programlama, hesaplamayı program durumu ve program durumunu değiştiren ifadeler açısından tanımlayan bir programlama paradigmasıdır (bir programlama dili tasarlama yolu). Bildirim temelli programlama dillerinde, program istenen sonuçları açıklar ve durumdaki değişiklikleri doğrudan belirtmez.

Sonlu durum makineleri

Sıralı bir devrenin veya bilgisayar programının herhangi bir zamanda çıktısı tamamen mevcut girişleri ve mevcut durumu tarafından belirlenir. Her ikili bellek elemanı sadece iki olası duruma sahip olduğundan, 0 veya 1, bir devrenin alabileceği farklı durumların toplam sayısı sonludur ve bellek elemanlarının sayısıyla sabitlenir. N ikili bellek öğesi varsa, bir dijital devre en fazla 2 üzeri N farklı duruma sahip olabilir. Durum kavramı, hem sıralı dijital devreleri hem de bilgisayar programlarını tasarlamak için kullanılan, sonlu durum makinesi olarak adlandırılan soyut bir matematiksel hesaplama modelinde resmîleştirilmiştir.

Örnekler

Bir durumu olan günlük bir cihaza örnek bir televizyon setidir. Bir TV'nin kanalını değiştirmek için, kullanıcı genellikle uzaktan kumandada bir "kanal yukarı" veya "kanal aşağı" düğmesine basar ve bu, sete kodlu bir mesaj gönderir. Kullanıcının istediği yeni kanalı hesaplamak için, televizyondaki dijital tuner, içinde bulunduğu mevcut kanalın numarasını kaydetmiş olmalıdır. Ardından, yeni kanalın numarasını almak için bu numaradan bir tane ekler veya bir çıkarır ve TV'yi bu kanalı alacak şekilde ayarlar. Bu yeni numara daha sonra mevcut kanal olarak saklanır. Benzer şekilde, televizyon da hoparlörün ürettiği ses seviyesini kontrol eden bir numara kaydeder. "Sesi artır" veya "Sesi kıs" düğmelerine basmak bu sayıyı artırır veya azaltır, yeni bir ses düzeyi ayarlar. Hem mevcut kanal hem de mevcut ses seviyesi numaraları TV'nin durumunun bir parçasıdır. Bunlar, TV kapatıldığında bilgileri koruyan uçucu olmayan bellekte depolanır, böylece tekrar açıldığında TV önceki istasyonuna ve ses seviyesine geri döner.

Başka bir örnek olarak, bir mikroişlemcinin durumu, içindeki tüm bellek öğelerinin içeriğidir: toplayıcılar, depolama kayıtları, veri önbellekleri ve bayraklar. Dizüstü bilgisayarlar gibi bilgisayarlar, işlemciyi kapatarak enerji tasarrufu yapmak için uyku moduna girdiğinde, işlemcinin durumu bilgisayarın sabit diskinde depolanır, böylece bilgisayar hazırda bekletme modundan çıktığında geri yüklenebilir ve işlemci, kaldığı yerden işlemlere devam eder.

Ayrıca bakınız

Kaynakça

  1. ^ "What is stateless? - Definition from WhatIs.com". WhatIs.com (İngilizce). 21 Mayıs 2012 tarihinde kaynağından arşivlendi. Erişim tarihi: 15 Aralık 2020. 
  2. ^ Harris, David; Harris, Sarah (26 Temmuz 2010). Digital Design and Computer Architecture (İngilizce). Morgan Kaufmann. ISBN 978-0-08-054706-0. 
  3. ^ Kaeslin, Hubert (28 Nisan 2008). Digital Integrated Circuit Design: From VLSI Architectures to CMOS Fabrication (İngilizce). Cambridge University Press. ISBN 978-0-521-88267-5. 
  4. ^ SRINATH, N. K. (1 Ocak 2005). 8085 MICROPROCESSOR: PROGRAMMING AND INTERFACING (İngilizce). PHI Learning Pvt. Ltd. ISBN 978-81-203-2785-6. 
  5. ^ Prata, Stephen (23 Kasım 2004). C Primer Plus (İngilizce). Pearson Education. ISBN 978-0-13-271360-3. 
  6. ^ Misra, Jayadev (26 Haziran 2001). A Discipline of Multiprogramming: Programming Theory for Distributed Applications (İngilizce). Springer Science & Business Media. ISBN 978-0-387-95206-2. 
  7. ^ Laplante, Philip A. (21 Aralık 2000). Dictionary of Computer Science, Engineering and Technology (İngilizce). CRC Press. ISBN 978-0-8493-2691-2. 

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">C (programlama dili)</span> programlama dili

C, yapısal bir programlama dilidir. Bell Laboratuvarları'nda, Ken Thompson ve Dennis Ritchie tarafından UNIX işletim sistemini geliştirebilmek amacıyla B dilinden türetilmiştir. Geliştirilme tarihi 1972 olmasına rağmen yaygınlaşması Brian Kernighan ve Dennis M. Ritchie tarafından yayımlanan "C Programlama Dili" kitabından sonra hızlanmıştır. Günümüzde neredeyse tüm işletim sistemlerinin yapımında %95'lere varan oranda kullanılmış, hâlen daha sistem, sürücü yazılımı, işletim sistemi modülleri ve hız gereken her yerde kullanılan oldukça yaygın ve sınırları belirsiz oldukça keskin bir dildir. Keskinliği, programcıya sonsuz özgürlüğün yanında çok büyük hatalar yapabilme olanağı sağlamasıdır. Programlamanın gelişim süreciyle beraber programlamanın karmaşıklaşması, gereksinimlerin artması ile uygulama programlarında nesne yönelimliliğin ortaya çıkmasından sonra C programcıları büyük ölçüde nesne yönelimliliği destekleyen C++ diline geçmişlerdir.

<span class="mw-page-title-main">Cep bilgisayarı</span>

Cep bilgisayarı - PDA, taşınabilir küçük cep bilgisayarları.

<span class="mw-page-title-main">RAM</span> herhangi bir sırada okunabilen ve değiştirilebilen bir tür geçici veri deposu

Rastgele erişimli hafıza veya rastgele erişimli bellek mikroişlemcili sistemlerde kullanılan, genellikle çalışma verileriyle birlikte makine kodunu depolamak için kullanılan herhangi bir sırada okunabilen ve değiştirilebilen bir tür geçici veri deposudur. Buna karşın diğer hafıza aygıtları saklama ortamındaki verilere önceden belirlenen bir sırada ulaşabilmektedir, çünkü mekanik tasarımları ancak buna izin vermektedir.

<span class="mw-page-title-main">Mikrodenetleyici</span>

Mikrodenetleyici bir VLSI entegre devre çipinde küçük bir bilgisayar'dır. Mikrodenetleyici, bellek ve programlanabilir giriş/çıkış çevre birimleri ile birlikte bir veya daha fazla CPU kapsar.

Mikroprogramlama, kontrol işaretlerini oluşturan ikili sayıların mikrokomutlar yazılarak oluşturulmasıdır. Bu sembolik mikroprogram, ikili kontrol işaretlerine mikroassembler anlamında dönüştürülür. Mikroprogramlama yazılım ile donanım arasındaki özyinelemeyi sağlayan bilgisayarın en gerekli parçasıdır. İşlemcinin denetim birimini tasarlamak için yazmaç aktarımı işlemleri düzeyinde programlama yapılması yöntemidir. Birçok işlemcide mikroprogramlama makine kodu buyruklarını doğrudan donanım üzerinde yürütür. Fakat bazı yeni mimarilerde mikroprogramlama uygulanmaz onun yerine yazılım, dijital mantık düzeyindeki işlemleri doğrudan çalıştırır.

<span class="mw-page-title-main">Merkezî işlem birimi</span> bir bilgisayar programının talimatlarını, talimatlar tarafından belirtilen temel aritmetik, mantıksal, kontrol ve giriş/çıkış (G/Ç) işlemlerini gerçekleştirerek yürüten ve diğer bileşenleri koordine eden bir bilgisayar içindeki elektro

Merkezî işlem birimi, dijital bilgisayarların veri işleyen ve yazılım komutlarını gerçekleştiren bölümüdür. Çalıştırılmakta olan yazılımın içinde bulunan komutları işler. Mikroişlemciler ise tek bir yonga içine yerleştirilmiş bir merkezî işlem birimidir. 1970'lerin ortasından itibaren gelişen mikroişlemciler ve bunların kullanımı, günümüzde MİB teriminin genel olarak mikroişlemciler yerine de kullanılması sonucunu doğurmuştur.

i386

Intel 80386 veya i386, 80286'dan sonraki Intel mikroişlemcisi.

Bellek bilgisayarı oluşturan 3 ana bileşenden biridir.. İşlemcinin çalıştırdığı programı, lar ve programa ait bilgiler bellek üzerinde saklanır. Bellek geçici bir depolama alanıdır. Bellek üzerindeki bilgiler güç kesildiği anda kaybolurlar. Bu nedenle bilgisayarlarda programları daha uzun süreli ve kalıcı olarak saklamak için farklı birimler mevcuttur.

<span class="mw-page-title-main">Arabellek</span>

Arabellek ya da tampon bellek, bir cihazda verilerin topluca yazılmadan önce biriktirildikleri bellektir. Bu işlemdeki amaç, ilgili belleğin o anda başka bir işle uğraşırken o işin bitmesini beklemeden emir verebilmek, başka bir deyişle hızı artırmaktır. Bir önbellekten farklı olarak bir arabellekteki tüm veriler er ya da geç ilgili belleğe yazılacaktır. Birçok donanım ve yazılımda arabellek kullanılır:

<span class="mw-page-title-main">PowerPC</span>

PowerPC, AIM olarak bilinen Apple-IBM-Motorola ittifakının 1991'de geliştirdiği bir RISC mikroişlemcisidir. Genel olarak kişisel bilgisayarlar içindir. PowerPC merkezi işlem birimleri (CPU) gömülü (embedded) ve yüksek performans işlemcileri olduğu için popüler olmuştur. PowerPC 1990'da AIM' in ve PReP'in temel taşı oldu, fakat mimari Apple'ın Macintosh'unun 1994–2006 modellerinde daha başarılı bulundu.

<span class="mw-page-title-main">Bilgisayar mimarisi</span>

Bilgisayar mimarisi, en küçüğe ve en başarılıya ulaşmayı hedeflerken aynı zamanda maliyeti de göz önünde bulundurduğu için sanat ve bilimin ortak buluştuğu nokta olarak da tanımlanır. Bilgisayar Mimarisi, bilgisayar parçalarının iç yapıları ve aralarındaki haberleşme bağlantıları ile ilgilidir.

<span class="mw-page-title-main">P2PTV</span>

P2PTV televizyon ya da herhangi dijital yayın görüntülerinin, bir P2P ağında, veri paylaşım yazılımları ile dağıtılmasını ön gören sistemin kısaltmasıdır. Bu girişimdeki uygulamaların öneminin altı, bütün dünyadaki yerel kanalları küresel ölçeğe taşıma potansiyeline sahip olduğu için, çizilebilir. Ancak yeni bir telif hakları sorununa neden olacak olması da bu uygulamaların düşündüren kısmıdır.

<span class="mw-page-title-main">Merkezî işlem birimi tasarımı</span>

Merkezî işlem birimi tasarımı bilgisayarın temel bileşenlerinden birisi olan Merkezî işlem birimini (MİB) etkin kullanmayı yönelik bir tasarımdır. MİB bilgisayar donanımının temel bileşenlerinden birisidir. İşlemcisi olmayan bir bilgisayar düşünülemez. Bu yüzden işlemcinin tasarımı ne kadar iyi olursa sistem de o derece hızlı olacaktır. İşlemciyi hızlandırmanın değişik yolları vardır. Bunlardan bazıları:

  1. Buyrukların paralel çalışmasını sağlamak
  2. Çok vuruşluk işlemciler kullanmak
  3. Boru hattı kullanmak
  4. Çoklu işleme kullanmak

Sanal bellek, fiziksel belleğin görünürdeki miktarını arttırarak uygulama programına (izlence) fiziksel belleğin boyutundan bağımsız ve sürekli bellek alanı sağlayan bilgisayar tekniğidir. Ana belleğin, diskin (ikincil saklama) önbelleği (cache) gibi davranmasıyla; yani disk yüzeyini belleğin bir uzantısıymış gibi kullanmasıyla gerçekleştirilir. Ancak gerçekte, yalnızca o anda ihtiyaç duyulan veri tekerden ana belleğe aktarılıyor olabilir. Günümüzde genel amaçlı bilgisayarların işletim sistemleri çoklu ortam uygulamaları, kelime işlemcileri, tablolama uygulamaları gibi sıradan uygulamalar için sanal bellek yöntemi kullanılmaktadır.

Sayfalama ya da bellek adresleme, durgun sanal bellek sayfalarının ikincil bellekte (teker) saklanarak daha sonra ihtiyaç duyulduğunda ana belleğe yüklenmesi işlemini içerir. Bir diğer anlamı, adres uzayının belli oranlarda bloklara ayrılmasıdır. Sayfalama, bellek mahallerine ulaşımı ve adreslemeyi kolaylaştırır. 6502 mikroişlemcili bir sistemde 65536'lık adres uzayı 256 adet 256 Baytlık hayalı sayfalara ayrılır. Genelde 6502 işlemcili sitemlerde 1. sayfa yığın olarak ayrılırken 0. sayfaya bakış tabloları veya veri blokları yerleştirilir.

<span class="mw-page-title-main">Dijital ses işleme istasyonu</span>

Digital Audio Workstation (DAW) yani dijital ses işleme istasyonu, elektronik bir sistemde, ses kayıt ve editleme işlemlerinin yapıldığı ortama verilen isimdir. Bu işlemi ses editleme programlarında MIDI ile dijital sesi ilişkilendirip yapmak da mümkündür. Eski tip analog sistemlere göre DAW; kayıt, edit, mix, mastering gibi konular üzerinde çalışan kişilere büyük bir kolaylık ve hız sağlamaktadır. Bant kayıtlarındaki edit hataları, elektromanyetik alandan etkilenerek ortaya çıkan kayıplar gibi problemler yaşatmaz. Ses üzerinde yapılan işlemler pek çok kablo üzerinden geçerek değil virtual processor(sanal işlemci) üzerinden yapılır. Stüdyo gibi çalışma ortamlarında yerden de büyük kazanç sağlayarak pek çok hardware ekipmanları ufak bir kutuya (PC-MAC) sokar. Bu tip çalışma şekline "in the box" adı verilir. Günümüzde pek çok üst düzey ses mühendisi, mastering mühendisi, prodüktör vb. kişiler de tercihini DAW'dan yana kullanmaktadır. Başlıca programlar arasında Pro Tools, Cubase, Ableton Live, Cakewalk Sonar, Logic Pro, Adobe Audition, LMMS, Digital Performer ve Reaper sayılabilir.

<span class="mw-page-title-main">İşlem yönetimi</span>

İşlem yönetimi günümüz işletim sistemlerinin önemli bir parçasıdır. İşletim sisteminin işlemlere yer alması, aralarında haberleşmeyi sağlaması onun önemli görevlerindendir. İşletim sistemi kaynakları işlemlere göre ayırmalı, işlemleri veri aktarımı ve paylaşımına uygun hale getirmeli, her işlemin kaynağını diğer işlemlerden korumalı ve işlemler arası senkronizyonu sağlamalıdır. Bunları yapabilmek için işletim sistemi her işlem için o işlemin mevkisini ve sahipibi tanımlayan ve işletim sistemini her veriği üzerinde kontrol uyguladığı bir veri yapısı sağlamalıdır.

<span class="mw-page-title-main">Önbellek tutarlılığı</span>

Ön bellek tutarlılığı, paylaşılan kaynağın yerel ön belleğinde kaydedilen verinin tutarlılığını ifade eder. Bir bilgisayar sistemindeki istemciler ortak bir bellek kaynağının ön belleğini kullandıklarında, tutarsız verilerle ilgili sorunlar ortaya çıkabilir. Bu, bilhassa, çoklu işleme yapan sistemlerdeki merkezi işlem birimi için geçerlidir.

Simülasyon yazılımı, matematik formülleri kullanılarak gerçek olayların modellendiği bir süreçtir. Simülasyon ile kullanıcılar gerçeğe en yakın olacak şekilde ürünlerin tasarlanmasını sağlayabilir ve çıktının nasıl olacağını anlayabilirler. Simülasyon yazılımı daha çok oyunlarda kullanılan gerçek zamanlı uygulamalardır. Oyunlar dışında birçok endüstriyel alanda da uygulanmaktadır. Endüstriyel alanlarda sorun yaratacak durumlarda; benzetim sayesinde olağan tehlikelerin önceden anlaşılması ve ne tip sonuçlara yol açabileceği anlaşılır. Örneğin; pilotlar, nükleer güç santralinde çalışan operatörler, kimya santrallerinde çalışan operatörler, kontrol panellerin modelleri gibi insan ve araç gereçlerin süreçte neler yaşayacağına ve ne sorunlarla karşılaşılacağına yönelik fiziksel tehlikeler benzetim sayesinde gerçek zamanlı gibi önceden fark edilebilir.

Merdiven mantığı, imalat ve proses kontrolde kullanılan röle raflarının tasarımını ve yapımını belgelemek için yazılı bir yöntemdi. Röle rafındaki her cihaz, gösterilen cihazlar arasındaki bağlantılarla birlikte merdiven diyagramında bir sembolle gösterilir. Ayrıca, pompa, ısıtıcı vb röle rafının dışındaki diğer öğeler de merdiven şemasında gösterilir.