İçeriğe atla

Amoeba işletim sistemi

Amoeba
Geliştirici(ler)Andrew S. Tanenbaum
Frans Kaashoek
LisansMIT Lisansı[1]
Çekirdek türüMikro çekirdek
Platform desteğii386/i486, MIPS, Motorola 68030, NS 32016, Sun 3/50 ve 3/60, SPARC, VAX
Web sitesics.vu.nl/pub/amoeba/
Dil sayısıİngilizce

Amoeba Andrew S. Tanenbaum ve diğerleri tarafından Vrije Universiteit Amsterdam'da geliştirilen bir dağıtık işletim sistemi'dir. Amoeba projesinin amacı, tüm bir bilgisayar ağının kullanıcıya bir tek makine olarak görünmesini sağlayan bir zaman paylaşımı sistemi oluşturmaktı. Vrije Universiteit'teki geliştirme durduruldu: en son sürümün (5.3) kaynak kodu en son 30 Temmuz 1996'da değiştirildi.[2]

Python programlama dili ilk olarak bu platform için geliştirilmiştir.[3]

Genel Bakış

Amoeba projesinin amacı, bilgisayar ağları için, ağı kullanıcıya tek bir makineymiş gibi sunacak bir işletim sistemi oluşturmaktı. Bir Amoeba ağı, bir işlemci "havuzuna" bağlı bir dizi iş istasyonu'ndan oluşur ve bir terminalden bir program çalıştırmak, işletim sisteminin yük dengeleme sağladığı mevcut işlemcilerden herhangi birinde çalışmasına neden olur.[4] Çağdaş Sprite'ın aksine, Amoeba süreç geçişi'ni desteklemez.[5]

İş istasyonları tipik olarak yalnızca ağa bağlı terminaller olarak işlev görür. İş istasyonları ve işlemcilerin yanı sıra, ek makineler dosyalar, dizin hizmetleri, TCP/IP iletişimleri vb. için sunucu olarak çalışır.[4]

Amoeba mikro çekirdek tabanlı bir işletim sistemidir. Bu sistem multithreaded programlar ve iş parçacıkları arasında, potansiyel olarak ağ üzerinden iletişim için bir uzaktan yordam çağrısı (RPC-remote procedure call) mekanizması sunar; çekirdek iş parçacıkları bile iletişim için bu RPC mekanizmasını kullanır. Her iş parçacığına, iletişim için benzersiz, ağ çapında "adres" olarak hizmet veren "bağlantı noktası" adı verilen 48 bitlik bir sayı atanır.[4]

Amoeba'nın kullanıcı arayüzü ve API'ler Unix'ten sonra modellenmiş ve POSIX standardına uyum kısmen uygulanmıştır; Unix öykünme kodunun bir kısmı Tanenbaum'un diğer işletim sistemi MINIX'ten taşınan yardımcı programlardan oluşmaktadır. İlk sürümler, Amoeba yazarlarının "daha hızlı ... bizim görüşümüze göre, daha temiz ... daha küçük ve anlaşılması çok daha kolay" olarak gördükleri bir "homebrew" pencere sistemi kullandı, ancak sürüm 4.0 X Pencere Sistemi kullanıyor (ve X terminal'lere terminal olarak izin veriyor).[4] Sistem ağ protokolü olarak FLIP kullanır.

Ayrıca bakınız

Kaynakça

  1. ^ "Amoeba Licence". 13 Mayıs 2001 tarihinde kaynağından arşivlendi. Erişim tarihi: 3 Mart 2023. 
  2. ^ "Amoeba FTP". 1 Eylül 2000 tarihinde kaynağından arşivlendi. Erişim tarihi: 3 Mart 2023. 
  3. ^ "Why was Python created in first place?". Python FAQ. 23 Şubat 2008 tarihinde kaynağından arşivlendi. Erişim tarihi: 11 Şubat 2008. 
  4. ^ a b c d Andrew S. Tanenbaum, M. Frans Kaashoek, Robbert van Renesse & Henri E. Bal (1991), "The Amoeba distributed operating system - a status report", Computer Communications, 14, 7 Haziran 2013 tarihinde kaynağından arşivlendi, erişim tarihi: 11 Haziran 2023 
  5. ^ Fred Douglis, M. Frans Kaashoek, Andrew S. Tanenbaum & John Ousterhout (1991), "A comparison of two distributed systems: Amoeba and Sprite" [İki dağıtık sistemin karşılaştırılması: Amoeba ve Sprite], Computing Systems, 4 (4), ss. 353-384, 14 Mart 2016 tarihinde kaynağından arşivlendi, erişim tarihi: 11 Haziran 2023 

Dış bağlantılar

İlgili Araştırma Makaleleri

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

MINIX, Andrew S. Tanenbaum tarafından ders kitabı olarak yazdığı Operating Systems: Design & Implementation'da anlatılan işletim sistemidir. Amacı, dersle birlikte öğrencilerin bir dönem içinde gerçek bir işletim sistemi ile deneyim kazanabilmeleri ve teorinin, pratikte nasıl uygulandığını öğretebilmektir. Bu nedenle Tanenbaum yıllarca comp.os.minix compuserve öbeğinden ve insanlardan gelen geliştirme taleplerini reddetmiş, Minix'i mümkün olduğunca küçük ve işlevsel bırakmıştır.

<span class="mw-page-title-main">İşletim sistemi</span> bilgisayar donanım kaynaklarını yöneten yazılım

İşletim sistemi ya da işletim dizgesi, bir bilgisayarın donanım kaynaklarını yöneten ve uygulama yazılımlarına hizmet sağlayan yazılımların bir bütünüdür. İşletim sistemleri, bilgisayarın donanımı ile uygulama yazılımları arasında bir köprü görevi görerek kullanıcıların sistemle etkileşim kurmasını sağlar. Öne çıkan örnekler arasında Microsoft Windows, macOS, GNU/Linux dağıtımları, Android ve iOS yer alır.

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

UNIX türevi işletim sistemleri çok işlemcili çok pahalı makinelerden tek işlemcili, basit ve çok ucuz ev bilgisayarlarına kadar pek çok cihaz üzerinde çalışabilen esnek ve sağlamlığı çok değişik koşullarda test edilmiş sistemlerdir. Fakat özellikle kararlı yapısı ve çok kullanıcılı-çok görevli yapısıyla çok işlemcili sunucularda adeta standart haline gelmiştir ve özellikle akademik dünyada iş istasyonları üzerinde çok yaygın bir kullanım alanı bulmuştur. UNIX, Interdata 7/32, VAX ve Motorola 68000 arasında hızla yayıldı.

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

<span class="mw-page-title-main">Andrew S. Tanenbaum</span>

Dr. Andrew Stuart "Andy" Tanenbaum işletim sistemleri ve bilgisayar ağları üzerine yazdığı kitaplarla ünlü bilgisayar profesörüdür.

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

Linus Benedict Torvalds Finlandiya asıllı Amerikalı bir bilgisayar bilimci ve yazılım mühendisidir. Linux işletim sistemi çekirdeğinin geliştiricisi ve proje yöneticisi olup, ABD'de yaşamaktadır. Transmeta'daki görevinden ayrıldığından beri OSDL'de tam zamanlı olarak Linux çekirdeği üzerinde çalışmaktadır. Helsinki Üniversitesi'nde bilgisayar bilimleri bölümünden mezun olmuştur.

Ağ Dosya Sistemi, Network file system, yani ağ dosya sistemi diğer bilgisayarlardaki dosyalara erişilebilmesini sağlayan bir yerel ağ işletim sisteminin parçasıdır. Bilgisayarlarda kullanılan programların network makinalarında kullanılmasını sağlar. Sun Microsystems tarafından 1984 yılında geliştirilmiş, ağdaki bilgisayarların ortak bir dosya sistemine, yerel diskleri kadar kolay ulaşmasını sağlayan, RPC temelli dağıtık dosya sistemi yapısıdır.

Çok çekirdekli işlemci, ikiden fazla işlemciden (çekirdek) oluşan bir hesaplama birimi. Bilgisayarlarda temel komut kümesi işlemlerini gerçekleştirir.

<span class="mw-page-title-main">ARPANET</span> Dünyanın ilk paket dağıtımı ağı

ARPANET,, bir bilgisayar ağıdır ve ilk olarak 1968'den itibaren Amerika Birleşik Devletleri Hava Kuvvetleri adına Massachusetts Teknoloji Enstitüsü ve ABD Savunma Bakanlığı liderliğindeki küçük bir araştırmacı grubu tarafından geliştirilmiştir. Günümüz internetinin öncüsüdür. Paul Baran ve Donald Watts Davies, ARPANET'in geliştirilmesinde iletişim için temel olarak kullanılan kısmî ağ düzeni ve paket şifreleme ağlar alanında önemli bulgular sağlamıştır.

Argus (Audit Record Generation and Utilization System), Perl programlama dili ile açık kaynaklı olarak geliştirilmiş, servis, ağ ve sunucu sistemlerini izleme yazılımıdır. Ağ bağlantılarını ve bu bağlantılarla ilgili performans ölçülerini kayıt altına alabilen bir araçtır. Herhangi bir şekilde sorun algıladığında uyarı verebilir. Analiz ve izleme kayıtlarını, içerisinde barındırdığı araçlar ile RMON, ASCII ve XML biçimlerinde çıktı olarak almanızı sağlayabilir. İçsel desteği sayesinde sistemin kayıt dosyalarına ulaşmak amacıyla Perl betikleri yazmanıza olanak sağlar.

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

QNX, gömülü sistemler pazarına yönelik Unix benzeri, gerçek zamanlı işletim sistemidir.

Uzak yordam çağrısı (ya da uzak prosedür çağrısı; İngilizce: Remote Procedure Call , bir diğer adres uzayı üzerinde programcı açıkça bu uzaktan etkileşim detayları kodlama olmadan çalıştırmak için bir alt yordam veya prosedürü sağlayan bilgisayar programına izin veren süreçler arası iletişim teknolojisidir. Sunucu üzerindeki servisleri kontrol ettiğimizde karşımıza çıkan RPC, arka plânda birçok şeyi gerçekleştiren bir servistir. RPC, temelde istemci ve sunucu arasında yapılan işlemlerin iletişimi için tasarlandı. Bir işlemin gerçekleşmesi için bir gönderici ve bir de istemci vardır.. Yani programcı, alt prosedür ister çalışan programın yerelinde ister uzağında olsun, temelde aynı kodu yazar. Bu bir tür istemci-sunucu etkileşimidir ve tipik olarak bir istek-yanıt mesaj geçirme sistemi aracılığıyla uygulanır. Nesne yönelimli programlama modelinde, RPC'ler uzaktan yöntem çağırma ile temsil edilir. RPC modeli bir konum şeffaflığı seviyesini ifade eder, yani çağrı prosedürleri yerel ya da uzak olsun büyük ölçüde aynıdır, ancak genellikle aynı değildirler, bu nedenle yerel çağrılar uzak çağrılardan ayırt edilebilir. Uzak çağrılar genellikle yerel çağrılardan çok daha yavaş ve daha az güvenilirdir, bu nedenle bunları ayırt etmek önemlidir.

<span class="mw-page-title-main">Çoklu kullanım</span>

Çoklu kullanım özelliğine sahip bilgisayarlar birden fazla iş parçacığını donanım desteği sayesinde çalıştırabilir. Çoklu işlem yapabilen sistemlerden gelişen bu yöntem tek bir çekirdeğin kaynaklarını paylaşmak zorundadır. Bu kaynaklar: aritmetik mantık birimi, yazmaçlar (registers), işlemci ön belleği ve adres dönüştürme ön belleğidir. Çoklu işlem yapabilen sistemlerde, işlem birimlerinin tamamı ayrı çekirdeklerde olmasına rağmen, çoklu kullanım tek bir çekirdeğin kullanılabilirliğini iş-parçacığı seviyesinde ve buyruk düzeyinde daha verimli hale getirir. Bu iki teknik birbirini tamamlayan tekniklerdir.

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

Microsoft tarafından üretilen ve satılan bir işletim sistemi satırı olan Windows NT'nin mimarisi, kullanıcı modu ve çekirdek modu olmak üzere iki ana bileşenden oluşan katmanlı bir tasarımdır. Tek işlemcili ve simetrik çok işlemcili (SMP) tabanlı bilgisayarlarla çalışmak üzere tasarlanmış, önleyici, yeniden gelen bir işletim sistemidir. Giriş/çıkış isteklerini işlemek için, I / O istek paketlerini (IRP'ler) ve zaman uyumsuz G / Ç'yi kullanan paket odaklı G / Ç kullanırlar. Windows XP'den başlayarak, Microsoft Windows'un 64 bit sürümleri hazırlanmaya başladı; Bundan önce, bu işletim sistemleri yalnızca 32-bit sürümlerde mevcuttu.

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

XNU, MacOS işletim sisteminde kullanılmak üzere Aralık 1996'dan beri Apple'da geliştirilen ve Darwin işletim sisteminin bir parçası olarak ücretsiz ve açık kaynaklı yazılım olarak piyasaya sürülen bilgisayar işletim sistemi çekirdeğidir. Ayrıca, iOS, tvOS ve watchOS işletim sistemlerinin çekirdeği olarak da kullanılır. XNU, "X Not Unix"'in bir kısaltmasıdır.

Mach, Carnegie Mellon Üniversitesi'nde öncelikle dağıtık hesaplama ve paralel hesaplama bilgi işlem olmak üzere işletim sistemi araştırmalarını desteklemek için geliştirilen bir işletim sistemi çekirdeğidir. Mach bir mikrokernelin en eski örneklerinden biri olarak sıklıkla bahsedilir. Bununla birlikte, Mach'ın tüm versiyonları mikrokernel değildir. MacOS'un temel aldığı NextStep ve OpenStep, hepsi de daha önce bir mikro çekirdek olmayan Mach içeren XNU işletim sistemi çekirdeğini büyük bir bileşen olarak içerir. Mach türevleri, GNU Hurd ve Apple'ın işletim sistemleri macOS, iOS, tvOS ve watchOS'daki modern işletim sistemi çekirdeklerinin temelini oluşturmaktadır.

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

Xinuos OpenServer, daha önce SCO UNIX ve SCO Open Desktop, Santa Cruz Operation (SCO) tarafından geliştirilen, daha sonra SCO Group tarafından satın alınan ve şimdi Xinuos'a ait olan kapalı kaynaklı bir bilgisayar işletim sistemidir. OpenServer'in ilk sürümleri UNIX System V'i temel alırken, daha sonraki OpenServer 10, FreeBSD 10'u temel aldı.

Bilgisayar alanında, Kendini Onaylayan Dosya Sistemi (SFS), Unix benzeri işletim sistemleri için küresel ve merkezi olmayan, dağıtık bir dosya sistemi olarak kullanılır. Aynı zamanda kimlik doğrulamanın yanı sıra iletişimlerin şeffaf bir şekilde şifrelenmesini sağlar. SFS, herhangi bir mevcut sunucuya tek tip erişim sağlayarak evrensel bir dağıtık dosya sistemi olma amacını taşır, ancak SFS istemcilerinin düşük yaygınlaşması nedeniyle kullanışlılığı sınırlıdır. David Mazières'in 15 Mart 2023 tarihinde Wayback Machine sitesinde arşivlendi. Haziran 2000 tarihli doktora tezinde geliştirilmiştir.

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

Minix 3, Unix benzeri bir küçük bir işletim sistemidir. BSD-3-Lisansı altında yayınlanır ve önceki sürümler olan Minix 1 ve 2'nin devamı niteliğinde bir projedir.

Dağıtık sistemler, sanal ve/veya fiziksel ağlar ile birbirine bağlanmış sistemler üzerinde çalışan yazılımların bütün olarak bir yazılımın yürütülmesine imkân verecek şekilde kullanılmasıdır. Dağıtık sistemler, bir yazılımın kesintisiz ve maliyeti az bilişim altyapılarına ihtiyaç duyulması ile ortaya çıkmış bir konudur. Temel olarak bir yazılımın birden fazla bilgisayar üzerinde koşturulması, nasıl ne şekilde koşturulacağının tasarlanması dağıtık sistemler altında incelenir.