İçeriğe atla

Bit akışı (bilişim)

Bilişim ve haberleşmede, bit akışı veya ikili değer dizesi, bir bitler dizesidir.

Bayt akışı, bir baytlar dizesidir. Genellikle, her bayt 8 adetlik bitten oluşur ve bu sebeple oktet akışı terimi ile değişimli kullanılabilir. Bir oktet, 8-bit dizesi olarak birkaç çeşitli yöntemle kodlanabilir, bu nedenle bit akışları ve bayt akışları arasında tek ve direkt bir dönüştürme metodu yoktur.

Bit akışları ve bayt akışları telekomünikasyonda ve bilgi işlemde yaygın olarak kullanılmaktadır. Örneğin, senkronize bit akışları SONET (Synchronous optical networking) tarafından taşınırken, asenkronize bayt akışları TCP (Transmission Control Protocol) tarafından taşınır.

Bit akışları ve bayt akışları arasındaki ilişki

Pratikte, bit akışları direkt olarak bayt akışlarını kodlamak için kullanılmaz. Bir iletişim yolu, bitlere direkt olarak dönüştürülmesini desteklemeyen bir sinyal verme biçimi kullanıyor olabilir (örneğin, birden fazla frekansın sinyallerini ileterek) ve genellikle aynı zamanda taşıdığı veriyle birlikte çerçeveleme ve hata bulma/düzeltme gibi diğer bilgileri de kodlar.

Örnekler

Bit akışı terimi konfigürasyon verilerinin FPGA'ya yüklenmesi işlemini tanımlamak için sıkça kullanılır. Çoğu FPGA (Alanda programlanabilir kapı dizisi) bunun yanında bayt-paralel bir veri yükleme metodunu desteklese de bu kullanım, yaygın bir method olan ve seri bir bit akışına dayanan, FPGA'yı genellikle sıralı bir PROM veya flaş bellek çipinden konfigüre etme metodundan ortaya çıkmış olabilir. Belirli bir FPGA için bir bit akışının detaylı formatı genellikle FPGA sağlayıcısına tescillidir.

Unix benzeri ve Windows gibi çoğu işletim sisteminde, standart I/O (giriş/çıkış) kütüphaneleri daha düşük seviyeli, ara belleğe alınmış dosya ulaşımını bir bayt akışı değerler dizisine çevirir. Daha detaylı olarak, Unix benzeri işletim sistemlerinde, her sürecin tek yönlü bayt akışlarının örneği olan üç standart akış bulunmaktadır. Unix taşıma mekanizması farklı süreçler arasındaki bayt akışı iletişimini sağlar.

Bir bayt (erişilebilir en küçük bellek birimi) tarafından sunulan 8-bit kullanımına fazla gelebileceğinden, veri sıkıştırma algoritmaları sık sık bit akışında kodlar. Çoğunlukla düşük seviye programlama dillerinde uygulansa da Python ve Java gibi bazı yüksek seviye programlama dilleri I/O bit akışı için kendi arayüzlerini sunmaktadır.

Akış Kontrolü

Çoğu zaman bir bit akışının içeriği dinamik olarak yaratılır, örneğin bir klavyeden veya diğer elektronik ekipmanlardan alınan veri (/dev/tty) ya da bir yalancı rastgele sayı üretecinden gelen veri (/dev/urandom), vb.

Bu belirtilen durumlarda, eğer bir bayt akışının varış noktası (tüketici) baytları üretilmelerine elverişli olan hızdan daha yüksek bir hızda kullanırsa, sistem varış noktasını bir sonraki bayt kullanılabilir olana kadar işlem senkronizasyonu kullanarak bekletir.

Baytlar varış noktasının kullanabileceği miktardan daha fazla üretilirse, bu durumla baş etmenin birkaç yolu vardır:

  • Üreticinin bir yazılım algoritması olması durumunda, sistem aynı işlem senkronizasyon tekniğini kullanarak üreticiyi durdurur.
  • Üreticinin akış kontrolünü desteklemesi durumunda, sistem hazır sinyalini ancak tüketici bir sonraki baytı kullanmaya hazırsa gönderir.
  • Üreticinin durdurulamadığı durumlarda -akış kontrolünü desteklemeyen bir klavye veya donanım mevcutsa- sistem, genellikle bir kuyruğu kullanarak, tüketici kullanmaya hazır olana kadar veriyi geçici olarak muhafaza etme girişiminde bulunur. Çoğu zaman kullanıcı ara belleği tamamen dolmadan boşaltabilir. Arabellek dolduktan sonra bile veri üretmeye devam eden bir üretici, arabellek aşımı, paket kaybı, ağ tıkanıklığı veya DoS saldırısı gibi istenmeyen sorunlara yol açabilir.

Kaynakça

https://en.wikipedia.org/wiki/Bitstream 26 Ekim 2020 tarihinde Wayback Machine sitesinde arşivlendi.

İ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.

Komut kümesi mimarisi, CPU'nun yazılım tarafından nasıl kontrol edileceğini tanımlayan bilgisayar soyut modelinin bir parçasıdır. ISA, işlemcinin ne yapabileceğini ve bunu nasıl yapacağını belirterek donanım ve yazılım arasında bir arayüz gibi davranır.

<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.

<span class="mw-page-title-main">Mikro çekirdek</span>

Bilgisayar biliminde, bir mikro çekirdek, bir işletim sistemini uygulamak için gereken mekanizmaları minimuma yakın sağlayan işletim sistemi çekirdeği türüdür. Ana çekirdek sadece birimler arası iletişim ve süreçleri sıralama işlerini yapar. Bellek yönetimi, kayıt ortamı yönetimi, sürücüler ve ağ ile ilgili çok sayıda sürec birbirleriyle iletişim kurarak haberleşir. Bu sayede; parçalardan oluşan yapı ve tasarımın sadeleştirilmesi, bir parçadaki hatanın diğer parçaları etkilememesi ve çalışma anında işletim sisteminin güncelleştirilebilmesi mümkün olabilmektedir.

Telnet, Internet ağı üzerindeki çok kullanıcılı bir makineye uzaktaki başka bir makineden bağlanmak için geliştirilen bir TCP/IP protokolü ve bu işi yapan programlara verilen genel isimdir. Telnet iki bileşenden oluşur: (1) iki tarafın nasıl iletişim kuracağını belirleyen protokolün kendisi ve (2) hizmeti sağlayan yazılım uygulaması.Kullanıcı verileri, İletim Kontrol Protokolü (TCP) üzerinden 8 bitlik bayt yönlendirmeli bir veri bağlantısında Telnet kontrol bilgisi ile bant içi serpiştirilir. Telnet, 1969'da RFC 15 ile başlayarak geliştirildi, RFC 855'te genişletildi ve ilk İnternet standartlarından biri olan İnternet Mühendisliği Görev Gücü (IETF) İnternet Standardı STD 8 olarak standartlaştırıldı. encryption sağlayan bazı Telnet eklentileri geliştirilmiştir. Bağlanılan makineye girebilmek (login) için orada bir kullanıcı isminizin (İng:username) ve bağlantının gerçekleşebilmesi için bir telnet erişim programınızın olması gereklidir. Fakat bazı kütüphane ve herkese açık telnet bazlı web servisleri, bağlantı sırasında kullanıcı ismi (numarası) istemeyebilirler; ya da, kullanıcı isim ve parola olarak ne yazmanız gerektiği bağlandığınızda otomatik olarak karşınıza çıkar. Telnet, BBS sistemlere İnternet üzerinden erişimde günümüzde yaygın olarak kullanılmaktadır. Telnet erişim programları, günümüzdeki işletim sistemlerinin çoğunda işletim sistemi ile birlikte gelmektedir. Çok kullanıcılı işletim sistemleri genellikle kullanıcılara metin tabanlı bir arayüz sunar ve bu sistemlerde tüm işlemler klavye vasıtası ile komut isteminden gerçekleştirilir.

<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.

<span class="mw-page-title-main">Bayt</span> 8 bite eşit dijital bilgi birimi

Bayt, elektronik ve bilgisayar bilimlerinde genellikle 8 bitlik dizilim boyunca 1 veya 0 değerlerini bünyesine alan ve kaydedilen bilgilerin türünden bağımsız bir bellek ölçüm birimi. Bir bayt, Latin alfabesini baz alan 8-bitlik bir kodlamada herhangi bir harfi temsil eder.

IP adresi, interneti ya da TCP/IP protokolünü kullanan diğer paket anahtarlamalı ağlara bağlı cihazların, ağ üzerinden birbirleri ile veri alışverişi yapmak için kullandıkları adres.

Arabellek aşımı ya da arabellek taşkını, iki yazılım arasında veri iletişimi için ayrılmış olan bir arabelleğe boyutundan daha fazla veri konulması ile ortaya çıkan durumdur.

Arabellek altaşımı, bilgi işlemde iki cihaz veya işlem ile haberleşmede kullanılan arabelleğe, verinin okuma hızından daha düşük bir hızla beslenmesi durumudur. Bu durum, arabellekten okuma yapan program veya cihazın arabellek tekrar doldurulurken işlemini durdurmasını gerektirir ve arabelleğe konulan verinin genellikle böyle işlem başlama ve durdurma erişimlerine uygun olmaması nedeniyle istenilmeyen ve bazen çok önemli yan etkilere neden olabilir.

<span class="mw-page-title-main">Seri bağlantı noktası</span>

Seri port seri bir bağlantı noktası, seri iletişim, her seferinde içeriye veya dışarıya doğru bir bit bilgi transfer eden fiziksel bir arayüzdür. Kişisel bilgisayarların tarihi boyunca terminaller veya modemler gibi cihazlar ile bilgisayarlar arasındaki veri transferi çoğunlukla seri bağlantı noktaları üzerinden sağlanmıştır. Fare, klavye, diğer çevre birimleri de bu yolla bilgisayara bağlanmaktadır.

Veri türü, bilgisayar programlamasının tür sisteminde veriyi açıklamak üzere kurulmuştur. İlkel türleri de içeren programlama dillerindeki verinin ortak türleri, tuple'ler, kayıtlar, cebirsel veri türleri, soyut veri türleri, referans türleri, sınıflar ve işlev türleridir. Bir veri türü, temsil etmeyi, yorumlamayı ve algoritmaları veya bilgisayar belleğini veya diğer yapılarını tanımlar. Tür sistemi, veri türü bilgisini, veriyi kullanan veya veriye erişen bilgisayar programlarının doğruluğunu kontrol etmek amaçlı kullanır.

Boru hattı (pipeline), yazılım mühendisliğinde, her bir elemanın çıktısı bir sonraki elemanın girdisi olacak şekilde sıralanmış işlemler zinciridir. Genellikle, ardışık birimlerin aralarına bir miktar arabellek (buffer) konulmaktadır. Bu boruhatları arasındaki bilgi akışı çoğunlukla bayt katarları (stream) ve bit katarları şeklindedir.

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">Karakter kodlaması</span> yazıdaki karakterleri rakamsal değerlerle temsil etmek

Bilişimde karakter kodlaması kavramı bir çeşit kodlama sistemi kullanılarak kodlanmış karakter gruplarını temsil etmektedir. Soyutlama düzeyi ve kullanıldığı bağlama bağlı olarak karakterlere karşılık gelen kod noktaları ve bunların oluşturdukları kod alanı, bit örüntüleri, oktetler, doğal sayılar, elektrik sinyalleri vb. şeklinde algılanabilir. Metinsel verilerin işlenmesi, depolanması ve iletimi esnasında karakter kodlamaları kullanılır. Karakter seti, karakter eşlem veya kod sayfası gibi ifadeler karakter kodlaması kavramıyla eş anlamlıymış gibi kullanılsa da aralarında bazı anlam farkları bulunmaktadır.

Güvenli kodlama, bilgisayarın yazılımsal olarak güvenlik zafiyetlerinden korumayı amaçlayan bir yöntemdir. Yazılım hata ve kusurları ile mantıksal hatalar yazılımı sömürme amaçlı kullanılan güvenlik zafiyetlerin başında gelir. Raporlanan zafiyetlerden elde edilen bilgiler ışığında güvenlik uzmanları çoğu zafiyetin ufak programlama hatalarından kaynaklandığını keşfetmiştir. Güvenli olmayan bu kodlar incelenerek eğitimci yazılım geliştiren kişiler ve kurumlar bu açıklıkları azaltmayı hedeflemektedir.

<span class="mw-page-title-main">Metin tabanlı kullanıcı arayüzü</span> bir metin ekranına çıktı vermeye veya onu kontrol etmeye dayalı arabirim türü

Metin tabanlı kullanıcı arayüzü, metinsel kullanıcı arayüzü veya terminal kullanıcı arabirimi olarak da adlandırılır, grafik kullanıcı arayüzlerinin (GUI) icadından bir süre sonra ortaya çıkan ve onu grafik kullanıcı arayüzünden ayırt etmek için türetilen yeni bir terimdir. TUI'de bilgisayar grafikleri metin kipinde görüntülenir. Gelişmiş bir TUI, GUI'ler gibi tüm ekran alanını kullanabilir ve fare ve diğer girişleri kabul edebilir.

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

Proxmark3, RFID güvenlik analizi, araştırma ve geliştirme için çok yönlü bir donanım aracıdır. Bu araç, yüksek frekanslı (13.56 MHz) ve düşük frekanslı (125/134 kHz) yakınlık kartlarını destekler ve kullanıcılara RFID protokollerinin çoğunu okuma, taklit etme, karıştırma yapma ve kaba kuvvet saldırıları gerçekleştirme gibi imkanlar sunar.