işletim sistemleri

Priority Queue (Öncelik Sırası, Rüçhan Sırası)

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinin özellikle veri yapıları (data structures) konusunda sıkça kullanılan bir veri yapısının ismidir. Basitçe klasik bir sıranın (queue) üzerine öncelik değerinin eklenmesi ile elde edilir. Bilindiği üzere normalde sıralar (queue) ilk giren ilk çıkar (FIFO , first in first out) mantığı ile çalışırlar. Yani bir bilet sırasında olduğu gibi [...]

Şadi Evren ŞEKER tarafından, 04/10/2009 tarihinde yazıldı. | işletim sistemleri, veri yapıları | 2 yorum var

Cluster Computing (Bilgisayar Kümeleri)

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde, daha fazla işlem gücü elde etmek amacıyla birden fazla bilgisayarın tek bir bilgisayar gibi çalışmasına verilen isimdir. Genelde birden fazla bilgisayar birbirine oldukça hızlı bir ağ bağlantısı ile bağlanır ve bilgisayarların üzerinde çalıştırılan özel yazılımlar ile istenen işin paylaştırılması hedeflenir. Literatürde kümeleme veya ingilizce olarak clustering terimleri de [...]

Turing Makinesi (Turing Machine)

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinin önemli bir kısmını oluşturan otomatlar (Automata) ve Algoritma Analizi (Algorithm analysis) çalıştırmalarının altındaki dil bilimin en temel taşlarından birisidir.1936 yılında Alan Turing tarafından ortaya atılan makine tasarımı günümüzde pekçok teori ve standardın belirlenmesinde önemli rol oynar. Turing Makinesinin Tanımı Basitçe bir kafadan (head) ve bir de teyp bandından [...]

Sanal Hafıza (Virtual Memory)

Yazan: Şadi Evren ŞEKER Sanal bellek olarak da isimlendirilen hafıza türü, bilgisayarın birincil hafızası (primary memory) olarak bilinen RAM‘in yetersiz kaldığı durumlarda ikincil hafıza (secondary memory) olarak bilinen diskin bir kısmının kullanılmasıdır. Unix/Linux terminolojisine göre takas alanı (Swap space) olarak isimlendirilen bu hafızada RAM ve disk arasında bulundurlan bilgiler sürekli olarak takaslanmaktadır (swapping). Kısacası işlemlerin [...]

Şadi Evren ŞEKER tarafından, 01/06/2009 tarihinde yazıldı. | işletim sistemleri | A yorum var

Sayfalama (Paging)

Yazan : Şadi Evren ŞEKER İçerik Hafıza Yönetim Problemleri Sayfalama (Paging) Sayfa Tablosu (Page Table) Bilgisayar bilimlerinin önemli konularından birisi olan işletim sistemlerinin bir görevi de hafızayı verimli yönetmektir (memory management). Kısaca sınırlı miktarda hafıza (RAM, Bellek, Memory) bulunmakta ve çalışan her program bir miktar hafızaya ihtiyaç duymaktadır. İşletim sistemi (operating system) bu hafızayı ne [...]

Şadi Evren ŞEKER tarafından, 31/05/2009 tarihinde yazıldı. | işletim sistemleri | 6 yorum var

Sayfa Değiştirme Algoritması (Page Replacement)

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde özellikle işletim sistemi konusunda kullanılan ve hafızanın daha verimli çalışması için geliştirilmiş algoritmaların ismidir. İçerik Arkaplan ve ön bilgiler FIFO LRU Optimal Replacement Algoritmanın arka planı ve gerekli ön bilgiler Bilindiği üzere bilgisayarda hafızanın yönetimini (Memory management) işletim sistemi yapmaktadır. Dolayısıyla başarılı bir hafıza yönetiminde, hafızada (RAM) bulunan [...]

Şadi Evren ŞEKER tarafından, 29/05/2009 tarihinde yazıldı. | işletim sistemleri | 27 yorum var

CPU Utilization (MİB Meşguliyeti)

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde en önemli kaynaklardan birisi de merkezi işlem birimidir (MİB, central processing unit CPU). Özellikle işletim sistemi çalışmaları sırasında bir işletim sisteminin bu en kıymetli kaynağı daha verimli kullanması amaçlanır. MİB Meşguliyeti (Utilization) ise işlemcide çalışmak için bekleyen işlemler (process) için sistemin meşguliyet oranını (utilization) bulmaya yarayan bir hesaplamadır. [...]

Şadi Evren ŞEKER tarafından, 19/04/2009 tarihinde yazıldı. | Bilgisayar Matematiği, işletim sistemleri | A yorum var

Meşguliyet (Utilization, Kullanım)

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde sıra (queue) teorisinde, sıradaki bir varlığın ne kadar meşgul edildiğini ölçmeye ve bu ölçüme göre kararlar vermeye verilen isimdir. İstatistiksel olarak ρ sembolü ile gösterilir ve şayet ρ değeri 1′den büyükse sıranın uzadığı, 1′e eşitse sıranın ne kısalıp ne de uzadığı ve şayet 1′den küçükse sıranın kısaldığı veya [...]

Semafor (Semaphore, Flama, İşaret)

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde özellikle de işletim sistemi ve müşterek programlamada (concurrent programming, eş zamanlı programlamada)  sıkça kullanılan bir eşleme (synchronization) yöntemidir. Yani birden fazla işin (process) aynı anda çalışması halinde birbirleri için risk arzettikleri kritik zamanlarda (critical sections) birbirlerini beklemesini sağlayan bir mekanizmadır. Basitçe bir değişken veya bir mücerret veri yapısı [...]

Atomluluk (Atomicity)

Yazan: Şadi Evren ŞEKER Latince bölünemez anlamına gelen atom kökünden üretilen bu kelime, bilgisayar bilimlerinde çeşitli alanlarda bir bilginin veya bir varlığın bölünemediğini ifade eder. Örneğin programlama dillerinde bir dilin atomic (bölünemez) en küçük üyesi bu anlama gelmektedir. Mesela C dilinde her satır (statement) atomic (bölünemez) bir varlıktır. Benzer şekilde bir verinin bölünemezliğini ifade etmek [...]

Gizli Dosya (Hidden File)

Yazan : Şadi Evren ŞEKER İşletim sistemlerinde kullanılan dosya tiplerinden birisidir. Basitçe sistemde kullanılan kritik dosyaların kullanıcı müdahalesinden korumak için geliştirilmiştir. Örneğin Windows™ işletim sisteminde kullanılan gizli dosyaların ağırlıklı amacı sistem dosyalarını ve önemli ayarlamaları içeren klasörleri korumaktır. Linux / Unix gibi işletim sistemlerinde de gizli dosyaların isimleri “.” işareti ile başlamaktadır. İşletim sistemi otomatik [...]

C ile Zaman İşlemleri

Yazan : Şadi Evren ŞEKER C dilinde mevcut zamanı almak ve işlemek mümkündür. Bunun için time.h dosyasının içerisinde bulunan fonksiyonlar kullanılabilir. Ayrıca time.h dosyasında bulunan time_t oluşumu (struct) zaman tutmak için geliştirilmiştir ve zamanı oluşturan alt unsurları da içerir. Örneğin şu andaki zamanı ekrana basmak için aşağıdaki kod kullanılabilir: struct timeval tv;   time_t curtime; [...]

İşlem Çatallanması (Process Forking)

Yazan : Şadi Evren ŞEKER Yazılan her program ilk başta tek bir işlem olarak çalışmaya başlar. Temel olarak derlendikten(compile) hemen sonra bağlanarak (link) hafızaya yüklenir (load). Yüklenen programı, işletim sistemi (operating system) bir işlem (process) olarak çalıştırır. Ancak bazı işlemler yüklendikten ve çalışmaya başladıktan sonra yeni işlemler üretebilirler. Aslında bu işlem üretme çalışan işlem üzerinde [...]

Şadi Evren ŞEKER tarafından, 20/12/2008 tarihinde yazıldı. | C/C++, işletim sistemleri | 5 yorum var

Kabuk (Shell)

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde kabuk kelimesi daha çok çevreleyici, kaplayıcı anlamında kullanılmaktadır. Örneğin işletim sistemlerinde çekirdeğin (kernel) dış dünya ve kullanıcılar ile iletişim kurmasını sağlayan işletim sisteminin parçasına kabuk (shell) adı verilmektedir. İşletim Sistemlerinde Kabuk Kabuğun en temel görevini bir komtu satırı (command line interface) olarak tanımlayabiliriz. Örneğin DOS, LINUX veya UNIX [...]

Şadi Evren ŞEKER tarafından, 03/12/2008 tarihinde yazıldı. | Bilgisayar Kavramları, işletim sistemleri | 3 yorum var

Çekirdek (Kernel)

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinin farklı alanlarında kullanılmasına karşılık, çekirdek kavramı genelde birşeyin merkezi veya kalbi şeklinde tabir edilebilecek anlamlara gelmektedir. İşletim sistemlerinde çekirdek: İşletim sisteminin temel fonksiyonlarının icra edildiği kısmıdır. Kullanıcılar ile iletişim kuran kabuk (shell) sadece dış işleri yapmaktan sorumlu olup, işletim sisteminin bütün temel fonksiyonları çekirden üzerinde çözülür. Bir çekirdeğin [...]

Dahili Parçalar (Internal Fragments)

Yazan : Şadi Evren ŞEKER Birden fazla işlemin bir işletim sistemi üzerinde çalıştırılması sırasında hafızdaki işlemlerini belirli bir düzene göre yerleştirilmesi gerekir. Bu yerleştirme sırasında çıkan problemlerden birisi de parçalar (fragments) ‘dir. Buna göre işletim sisteminin önünde iki ihtimal bulunmaktadır. Ya hafızayı sabit slotlara bölüp işlemlere bu slotlardan ihtiyaç duyduğu kadar verecektir (örneğin slotların boyu [...]

Kıtalamak (Bölütlemek, Segmentation)

Yazan : Şadi Evren ŞEKER İşletim sistemlerinin temel görevlerinden birisi olan hafıza yönetimi (memory management) için kullandıkları çözüm yöntemlerinden birisidir. Bilindiği üzere bir işletim sistemi birden fazla işlem (multi process) çalıştırıyorsa bu durumda işletim sisteminin hafızayı bu işlemler arasında ihtiyaçlarına uygun bir şekilde dağıtması gerekir. Bu dağıtımda bir işleme tam olarak ihtiyacı olduğu kadar yer [...]

Harici Parçalar (External Fragments)

Yazan : Şadi Evren ŞEKER Hafıza yönetimi sırasında kullanılan kıtalama (bölütleme, segmentation) hafızadaki her işleme tam olarak istediği kadar yer ayırmaya çalışır. Bu yaklaşımda, işlemler arasında oluşabilecek boşluklara verilen isim harici parçalar (dış parçalar, external fragments)’dir. Her işleme ihtiyaç duyduğu kadar yer ayırmak ilk başta daha verimli gibi görülse de bu çözümde de boşluklar ve [...]

Yükleyici (Loader)

Yazan : Şadi Evren ŞEKER Yükleyiciler basitçe bir programı diskten alıp hafızaya yüklemekle sorumlu programlardır. Bir program yazıldıktan ve derlendikten (compile) sonra programın makine dilindeki karşılığı elde edilir. Bu karşılık tam bir kod olmayıp harici kütüphanelerden faydalanıyor olabilir. Bu kütüphaneler de programa dahil edilip tam bir program elde edildikten sonra (yani bağlandıktan sonra (linker) ) [...]

Hafıza Yönetimi (Memory Management)

Yazan : Şadi Evren ŞEKER Bir işletim sisteminin (operating system) birden fazla işlem çalıştırması durumunda (multi process) bu işlemlerin hafızayı nasıl paylaşacakları ve hafızanın nasıl daha verimli kullanıcağı hafıza yönetiminin konusudur. Şayet işletim sisteminde tek işlem (process) çalışıyorsa bu çözülmesi çok daha kolay bir durumdur. İşlemler derlendikten (compile) sonra hafızaya yükleyici (loader) ismi verilen bir [...]

İşletim Sistemi (Operating System)

Yazan : Şadi Evren ŞEKER İşletim sisteminin görevi temel olarak donanım (ve diğer sistem kaynakları) ile bilgisayarda çalışan ve bu kaynakları talep eden program (veya processler) arasında ilişki kurmak ve kaynak yönetimini kontrol etmektir. Aşağıdakine benzer bir katmanlı yaklaşım bu anlamda doğru kabul edilebilir: İşletim sisteminin günümüzdeki anlamını anlamak için belkide kelimenin gelişimini ve kısa [...]

Yığın İş ( Batch Job, Batch Process )

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde, belirli bir zamanda yapılması planlanan çoğunlukla kullanıcı etkileşimi gerektirmeyen işlerin biriktirilmesidir. Örneğin sistemin yedeğinin alınması için 10 ayrı bilgisayara bağlanılarak her bilgisayardan dosyalar alınıp sunucuya kaydedilecek olsun. Bu işlemi şirketin kapalı olduğu gece 3.00′da yapmak isityoruz. Bunun için bir yığın iş (batch process) hazırlayarak sistemde saklanır. Beklenen zaman [...]

Şadi Evren ŞEKER tarafından, 22/11/2008 tarihinde yazıldı. | Bilgisayar Kavramları, işletim sistemleri | A yorum var

Kilitlenme (Deadlock)

Yazan : Şadi Evren ŞEKER İşletim sistemlerinde çeşitli sebeplerle iki işlemin birbirini kilitlemesi durumudur. Benzer bir örnek güncel hayatta da yaşanabilir. Örneğin Ali kapıdan geçmek için Ahmet’in önce geçmesini şart koşuyor. Benzer şekilde Ahmet de Ali’nin önce geçmesini şart koşuyor. İki kişide karşısındaki önce geçmezse geçmiyor bu durumda iki si de kapıdan sonsuza kadar geçemez [...]

Şadi Evren ŞEKER tarafından, 20/11/2008 tarihinde yazıldı. | işletim sistemleri | 6 yorum var

Kıtlık (Starvation)

Yazan : Şadi Evren ŞEKER Bir algoritmada sıra bekleyen işlere bir türlü sıra gelmemesi durumudur. Teorik olarak sıradaki her işe birgün sıra gelecektir ancak fiiliyatta bu bir türlü gerçekleşmeyebilir. Bu tip problemler genelde öncelik tanımlanmış olan algoritmalarda çıkar. Şöyle bir örnek düşünelim, elimizde uzunlukları 4,5,6 olan işler olsun ve en kısa işi tercih eden bir [...]

En Kısa İş İlk (Shortest Job First)

Yazan : Şadi Evren ŞEKER Bir zamanlama algoritması (CPU Scheduling) şekli olan en kısa iş ilk (Shortest job first, SJF veya Shortest Job Next, SJN) algoritmasında o anda elde bulunan işler biritilmek için gereken süreye göre sıralanırlar. En kısa olan işe öncelik verilerek sırayla işler alınır. Çalışma mantığı olarak kesintisiz (non-preemptive) bir algoritma olan bu [...]

Şadi Evren ŞEKER tarafından, tarihinde yazıldı. | işletim sistemleri | 10 yorum var