internet pencereler Android
Genişletmek

Unix. Linux, UNIX'ten ne farklılık gösterir ve UNIX benzeri bir işletim sistemi nedir? BT uzmanları toplumundaki sosyal rol ve tarihsel rol

UNIX®'in tarihi 1969'da başlıyor. Çoğu modern UNIX sistemleri, UNIX kaynak dağılımlarının ticari versiyonlarıdır. Solaris Sun, HP-UX Hewlett-Packard, IBM'den AIX®, Buna ek olarak, kendi benzersiz unsurlarına ve kendi temel çözümlerine sahip olan Unix'in en iyi temsilcileridir. Örneğin, Sun Solaris Unix'dir, ancak ek olarak, özellikle iş istasyonlarına ve güneş üretim sunucularına göre tasarlanmış çok sayıda araç ve uzantılar içermektedir.

Linux®, Ticari Unix ortamlarına ücretsiz bir alternatif oluşturmak için tasarlanmıştır. Hikayesi 1991'de ya da 1983'te bile, ilk hedefi ücretsiz bir UNIX alternatifi sağlayacak olan GNU projesi oluşturulduğunda. Linux, Intel® / AMD X86 gibi çok sayıda platformda çalışır. Çoğu UNIX OS, yalnızca bir platformda çalışabilir.

Linux ve Unix ortak tarihi köklere sahip, ancak ciddi farklılıklar var. Çok sayıda araç, yardımcı program ve Ücretsiz uygulamalarLinux için standart olan, başlangıçta UNIX programlarına ücretsiz bir alternatif olarak tasarlandı. Linux sıklıkla, UNIX'ten en iyi veya en popüler işlevselliği ödünç alan seçenekler ve uygulama kümeleri için destek sağlar.

Linux ile çalışmaya alışkın olan Yönetici veya Geliştirici, UNIX sistemi kullanım için çok uygun görünmeyebilir. Öte yandan, UNIX benzeri işletim sisteminin temeli (araçlar, dosya sistemiAPI arayüzleri) yeterince standartlaştırılır. Bununla birlikte, sistemlerin bazı detayları önemli farklılıklar olabilir. Ayrıca, bu farklılıklar makalede dikkate alınacaktır.

Teknik Farklılıklar

UNIX ticari dağıtım geliştiricileri, işletim sistemi için belirli bir müşteri dairesi ve sunucu platformuna güveniyorlar. Hangi uygulamaların uygulanması gerektiğinin desteklenmesi ve optimizasyonunu iyi sunarlar. UNIX üreticileri, farklı sürümler arasında uyumluluk sağlamak için mümkün olan her şeyi yapıyorlar. Ek olarak, işletim sistemlerinin standartlarını yayınladılar.

Öte yandan GNU / Linux'un gelişimi, belirli platformlara ve müşteri dairelerine odaklanmamış ve GNU / Linux geliştiricilerin farklı deneyim ve görüşlere sahiptir. Linux topluluğu, sıkı bir standart aracı veya medya seti yoktur. Bu sorunu çözmek için, Linux Standartları Base (LSB) projesi başlatıldı, ancak istediğim kadar üretken değildi.

Bu yetersiz standardizasyon, Linux içindeki önemli tutarsızlıklara yol açar. Bazı geliştiriciler için başkalarının en iyi başarılarını kullanma fırsatı işletim sistemleri Bununla birlikte, bir artı, örneğin, Linux içindeki cihaz adları AIX'ten alınabildiğinde, Linux'taki Unix öğelerini kopyalamak her zaman uygun değildir. . Bu tür bir uyumsuzluk, farklı Linux dağılımları arasında da bulunur. Örneğin, Gentoo ve Redhat, çeşitli güncellemeler yöntemlerini uygular.

Karşılaştırma için, UNIX sisteminin her yeni sürümü, yeni özelliklerin ve UNIX değişikliklerinin iyi belgelenmiş bir açıklaması ile çıkıyor. Komutlar, araçlar ve diğer elemanlar nadiren değişir ve genellikle uygulamalar için aynı komut satırı argümanları bu yazılımın sürümleri boyunca değişmeden kalır. Bu elemanlarda önemli değişiklikler meydana geldiğinde, Ticari UNIX sistemi tedarikçileri genellikle bu aracın erken sürümleriyle uyumluluğu sağlamak için gereken bir kabuk sağlar.

Bu tür bir uyumluluk, yardımcı programların ve uygulamaların kaynak kodlarını kontrol etmeden ve değiştirmeden işletim sistemlerinin yeni sürümlerinde kullanılabileceği anlamına gelir. Bu nedenle, geçiş yeni sürüm UNIX, içinde genellikle temel fark yoktur. eski versiyonKullanıcılar veya yöneticiler için bir Linux dağıtımından diğerine geçişten daha az çabayla ilişkilendirilir.

Donanım mimarisi

UNIX'in çoğu ticari versiyonu bir veya az sayıda donanım mimarisi için yaratılmıştır. HP-UX, yalnızca PA-RISC ve Itanium, Solaris Platformları - SPARC ve X86'da çalışır ve AIX yalnızca güç işlemcileri için tasarlanmıştır.

Bu kısıtlamalar sayesinde UNIX üreticileri bu mimariler için kodlarını nispeten serbestçe değiştirebilir ve mimarilerinin herhangi bir avantajını kullanabilirler. Onlar tarafından desteklenen cihazları bildikleri için, sürücüleri daha iyi çalışırlar ve PC'lerin BIOS sınırlamalarını dikkate almaları gerekmez.

Diğer taraftan Linux, maksimum uyumluluk sağlamak için tarihsel olarak geliştirilmiştir. Linux çeşitli mimarilerde ve bu işletim sisteminden kullanılabilecek G / Ç aygıtlarının ve diğer çevre birimlerinin sayısı, neredeyse sınırsızdır. Geliştiriciler, bilgisayara hangi özel ekipmanın kurulacağını bilemezler ve genellikle etkili bir şekilde kullanılamaz. Bir örnek, belleyi Linux'ta yönetmektir. Önceden, Linux, başlangıçta X86 için tasarlanmış bir segment bellek modeli kullandı. Artık sayfa hafızasını kullanmak için uyarlanmıştır, ancak yine de segmentli hafıza için bazı gereksinimleri kaydeder, bu da mimarinin bölümlenmiş belleği desteklememesi durumunda sorunlara neden olur. Bu, Unix üreticileri için bir sorun değil. UNIX'in hangi ekipman üzerinde nasıl çalışacağını tam olarak biliyorlar.

Çekirdek

Çekirdek işletim sisteminin kalbidir. Ticari dağılımların nükleüsünün kaynak kodu, geliştiricilerinin mülküdür ve şirketin ötesinde geçerli değildir. Linux ile tamamen karşıt durum. Çekirdek ve sürücülerin derleme ve düzeltilmesi prosedürleri çok farklıdır. Linux ve diğer açık kaynaklı işletim sistemleri için, yama kaynak kodu olarak serbest bırakılabilir ve son kullanıcı ayarlayabilir, kontrol edebilir ve hatta değiştirebilir. Bu yamalar genellikle ticari işletim sistemi Unix'in tedarikçilerinden yapılan yamalar kadar dikkatli değillerdir. Linux'ta doğru bir şekilde çalışmak için alınması gereken bir uygulama ve ortamın eksiksiz bir listesi olmadığı için, Linux geliştiricileri son kullanıcılara ve hataları yakalayacak diğer geliştiricilere bağlıdır.

Ticari UNIX-Dağıtım Tedarikçiler, çekirdekleri yalnızca yürütülebilir kod biçiminde açar. Bazı sürümler monolitiktir, diğerleri yalnızca belirli bir çekirdek modülü güncellemenizi sağlar. Ancak her durumda, bu sürüm sadece yürütülebilir kod şeklinde sağlanır. Bir güncellemeye ihtiyacınız varsa, yönetici, üretici yamayı serbest bırakana kadar beklemelidir. ikili kodBununla birlikte, üreticinin geriye dönük uyumluluk için yamasını kapsamlı bir şekilde kontrol edeceği gerçeğini konsolabilir.

Unix'in tüm ticari versiyonları bir dereceye kadar modüler çekirdeğe gelişti. Sürücüler ve bireysel işletim sistemi özellikleri bireysel bileşenler olarak mevcuttur ve çekirdeğinden yüklenebilir veya boşaltılabilir. Ancak açık modüler Linux mimarisi çok daha esnektir. Bununla birlikte, Linux'un esnekliği ve uyarlanabilirliği sürekli değişim anlamına gelir. Linux kaynak kodu sürekli değişiyor ve geliştiricinin hevesiyle API değişebilir. UNIX'in ticari versiyonu için modül veya sürücü yazıldığında, Linux için aynı sürücüden daha uzun süre çalışacaktır.

Dosya Sistemi Desteği

Linux'un oldukça güçlü bir işletim sistemi olmasının nedenlerinden biri, diğer işletim sistemleriyle geniş uyumluluğu. En belirgin özelliklerden biri, mevcut olan dosya sistemlerinin bolluğudur. UNIX ticari versiyonlarının çoğu, iki veya üç tür dosya sistemi desteği. Bununla birlikte, Linux, modern dosya sistemlerinin çoğunu destekler. Hangi dosya sistemlerinin UNIX tarafından desteklendiğini gösterir. Bu dosya sistemlerinden herhangi biri Linux'a monte edilebilir, ancak bu sistemlerin tümü tam okuma ve yazma verilerini korumaz.

Tablo 1. UNIX için standart olan dosya sistemleri

Çoğu UNIX Ticari versiyonları, günlük dosya sistemlerini desteklemektedir. Örneğin, standart bir dosya sistemi olarak HP-UX, HFS kullanır, ancak VXFS Journallied dosya sistemini de destekler. Solaris, UFS ve ZFS'yi destekler. Bir günlük dosya sistemi, işletme için herhangi bir sunucu ortamının önemli bir bileşenidir. Linux'ta, Gazetecilik dosya sistemleri için destek geç kalmıştır, ancak şimdi Linux (Ext3, Reiserfs) özel dosya sistemlerine (XFS, JFS) klonlarından (Ext3, Reiserfs) için birkaç seçenek vardır.

Dosya sistemlerinin diğer özellikleri, kota desteği, dosya erişim kontrolü listesi, ayna kopyası, sistem anlık görüntüleri ve boyutları içerir. Bir formda veya başka bir şekilde, Linux dosya sistemleri tarafından desteklenirler. Bu özelliklerin çoğu Linux için standart değildir. Bazı özellikler aynı dosya sisteminde çalışabilir, diğerleri ise başka bir dosya sistemi gerektirir. Bu özelliklerin bazıları, bazı Linux dosya sistemlerinde mevcut değildir, diğerleri ise ek alet ayarı, örneğin, belirli bir LVM sürümü veya disk dizisi desteği (yazılım RAID paketi) gerektirir. Tarihsel olarak, Linux yazılım arayüzlerinde ve standart araçlarda zorlukla elde edildiğinden çok şey var, bu nedenle birçok dosya sistemi bu özellikleri farklıdır.

Ticari UNIX sistemleri sınırlı sayıda dosya sistemini desteklediğinden, araçları ve onlarla çalışma yöntemleri daha standarttır. Örneğin, IRIX'de yalnızca bir ana dosya sistemi desteklendiğinden, erişim kontrol listelerini ayarlamanın tek bir yolu vardı. Son kullanıcı için ve bu işletim sisteminin daha fazla destek için çok daha uygundur.

Erişilebilirlik Uygulamaları

Çoğu temel uygulama, hem UNIX hem de Linux'ta aynıdır. Örneğin, CP, LS, VI ve CC komutları Unix ve Linux'ta mevcuttur ve tamamen aynı değilse, çok benzer. Bu araçların Linux versiyonları, bu araçların GNU sürümlerine dayanırken, UNIX için bu araçların versiyonları geleneksel UNIX araçlarına dayanır. UNIX için bu araçlar uzun bir geçmişi var ve nadiren değişti.

Ancak bu, UNIX'in ticari sürümlerinin GNU araçlarıyla kullanılamayacağı anlamına gelmez. Aslında, birçok ticari UNIX OS üreticisi, dağılımlarına çok sayıda GNU aleti veya bunları ücretsiz bir ek olarak sunar. GNU araçları sadece standart araçlar değildir. Bu ücretsiz yardımcı programların bazıları ticari analoglar (EMacs veya Perl) yoktur. Çoğu üretici bu programları tahmin eder ve sistemle otomatik olarak yüklenirler veya ek bir bileşen olarak kullanılabilir.

Ücretsiz açık kaynaklı uygulamalar neredeyse her zaman tüm Linux dağıtımlarına gömülüdür. Var olmak çok sayıda Linux için ücretsiz yazılım ve bu uygulamaların birçoğu UNIX'in ticari versiyonlarına taşınmıştır.

Ticari ve / veya kapalı kaynak kodu uygulaması (CAD, Finansal Programlar, grafik editörü) Linux için analoglar olmayabilir. Bazı üreticiler Linux için başvurularının sürümlerini üretse de, çoğu üretici bunu yapmak için acelesi değilken, Linux kullanıcılarının popülaritesi artmaz.

Öte yandan, Unix'in ticari versiyonları, tarihsel olarak Oracle veya SAP gibi çok sayıda kurumsal düzeyde uygulamanın desteğine sahiptir. Linux, büyük uygulamaların sertifikalandırılmasının zorluğu nedeniyle büyük ölçüde kaybederken, UNIX'in ticari versiyonları serbest bırakma işleminden çok fazla değişmez. Linux, yalnızca her yeni dağıtımla değil, bazen aynı dağılımın sürümleri arasındaki aralıkta değişebilir. Bu nedenle, yazılım üreticisi, hangi tür bir ortamın başvurusunda kullanılacağını anlamak çok zordur.

Sistem Yönetimi

Her ne kadar bazı Linux dağıtımları, SUSE "ın YAST gibi bir sistemi yönetmek için standart bir araç seti ile birlikte verilmesine rağmen, Linux Standart Alet Aracı Araçları için ortak bir şekilde bulunmamaktadır. Metin dosyaları ve komut satırı araçları mevcuttur, ancak bazen kullanımı olabilir. Uygunsuz olun. Her ticari sürüm UNIX'in kendi sistem yönetimi arayüzüne sahiptir. Bu arayüzde, sistem elemanlarını kontrol edebilir ve bunları değiştirebilirsiniz. Aşağıda HP-UX için bir sistem yönetimi yöneticisinin bir örneğidir.

Bu SAM aşağıdaki modülleri içerir:

  • Yönetilmesi gereken kullanıcılar veya gruplar.
  • Değiştirilebilecek çekirdek parametreleri.
  • Ağ yapılandırması.
  • Disklerin ayarlanması ve başlatılması.
  • X sunucusunu yapılandırma.

Bu paket yardımcı programlarının kalitesi harika ve bu paket yardımcı programları metin dosyalarıyla iyi etkileşime girer. Linux için bu aracın analogu mevcut değil. SUSE'deki bile bile aynı işlevselliğe sahip değil.

UNIX ve Linux'teki bir başka yönü, sistemin her bir sürümüyle neredeyse değişiyor gibi görünen bir başka yönü - sistem başlatma senaryolarının yeri. Neyse ki, / sbin / init ve / etc / Inittab standart dizinlerdir. Ancak sistem fırlatma senaryoları farklı dizinlerdedir. Sistem başlatma senaryolarının çeşitli Unix ve Linux dağıtımları için depolandığı yerleri gösterir.

Tablo 2. Unix'in çeşitli versiyonları için sistem başlatma senaryolarının yeri
HP-UX./ssbin/init.d.
Aix./etc/rc.d/init.d.
İRix./etc/init.d.
Solaris./etc/init.d.
Kırmızı şapka./etc/rc.d/init.d.
Suse./etc/rc.d/init.d.
Debian./etc/init.d.
Slackware./etc/rc.d.

Çok sayıda Linux dağıtımı ve neredeyse hiç sonsuz sayıda mevcut uygulama nedeniyle (bu uygulamanın versiyonlarının da pek çok kişidir) bu işletim sistemi için, Linux'daki programların yönetimi bir meydan okuma haline gelir. Doğru aracın seçimi, hangi dağılımın çalıştığınıza bağlıdır. Sonra, rahatsızlıklar, bazı dağılımların, programları uyumsuz olmasına rağmen, bazı dağılımların Redhat Package Manager (RPM) dosya formatını kullanmasından kaynaklanmaktadır. Böyle bir ayırma, paketlerle çalışmak için çok sayıda seçeneğin görünümüne yol açar ve belirli bir ortamda hangi sistemin kullanıldığını her zaman temizlememektedir.

Öte yandan, UNIX ticari dağılımları standart paket yöneticileri içerir. Bu bile var Çeşitli versiyonlar UNIX'in çeşitli sürümleri için uygulamalar ve belirli biçimler, uygulama yönetimi ortamı değişmeden. Örneğin, Solaris, kuruluşundan bu yana aynı uygulama paketi yönetim araçlarını kullanır. Ve büyük olasılıkla Solaris'teki yazılım paketlerini tanımlama, ekleme veya silme araçları, hepsi değişmeden olacaktır.

Ticari Dağılımların Üreticileri Unix, işletim sistemlerinin amaçlandığı çalışmaları da sağlayacak şekilde donanım sağlar, bu nedenle Linux için yapılması çok daha zor olan OS'sinde herhangi bir yeni cihaz uygulayabilirler. Örneğin, Linux'un en son sürümlerinde, bileşenlerin desteğini "sıcak değişim" olasılığı ile uygulamak için girişimler vardı (değişen başarı ile). UNIX'in ticari versiyonları, uzun yıllar boyunca böyle bir olasılık var. Ayrıca Unix'in ticari versiyonlarında Linux'tan daha iyidir, donanım için izleme uygulanır. Üreticiler, sürücüleri yazabilir ve sistemlerin durumunu, örneğin ECC bellek hataları, güç parametrelerinin veya başka bir donanım bileşeninin sayısını izleyecek olan işletim sistemlerine yazabilirler. Linux için bu tür için destek yalnızca uzak gelecekte bekleniyor.

Ticari UNIX sistemleri için donanım ayrıca daha gelişmiş önyükleme seçeneklerine de sahiptir. İşletim sistemi yüklenmeden önce, indirmesini özelleştirmek için birçok olasılık vardır, sistemin "sağlığını" kontrol edin veya donanım parametrelerini yapılandırın. Standart PC kişisel bilgisayarın BIOS'u, eğer bu seçeneklerde ise daha küçük bir parçaya sahiptir.

Destek

Linux ve Unix arasındaki en önemli farklardan biri değerlidir. Ticari UNIX sistemleri, yalnızca donanım platformlarıyla birlikte kullanılabilmesine rağmen, Unix'lerinde yüksek bir fiyat kurdu. Dağıtımlar LinuxÖte yandan, hiç özgür değilse, nispeten ucuzdur.

UNIX'in ticari bir versiyonunu satın alırken, üreticiler genellikle sağlar teknik Destek. Çoğu Linux kullanıcısı işletim sistemi üreticisi için destekden yoksundur. Sadece forumlardan ve çeşitli Linux kullanıcılarından e-posta kullanılarak desteklenebilirler. Ancak, bu gruplar sadece Linux kullanıcıları için değil. UNIX ailesinin ticari işletim sistemlerinin birçok yöneticisi, yardım sağlayabilmek için bu açık destek gruplarına katılmak ve gerekirse kullanın. Birçok insan, bu gibi karşılıklı yardım gruplarını, işletim sistemi üreticisi tarafından sunulan destek sisteminden daha da faydalıdır.

Sonuç

Unix ve Linux'un temel temelleri çok benzer. Kullanıcı veya sistem yöneticisine, Unix'teki Linux'tan geçiş, çalışmaya rahatsızlık verecektir, ancak genel olarak geçiş ağrısız olacaktır. Dosya sistemleri ve çekirdekleri içinde farklı olsa bile ve gelişimleri için biraz zaman alacak, araçlar ve API'ler değişmeden kalır. Temel olarak, bu farklılıklar, UNIX'in ana sürümleri arasındaki farklardan daha fazla değildir. Tüm şubeler UNIX ve Linux giderek gelişmektedir ve birbirlerinden biraz farklı olacaktır, ancak UNIX kavramlarının vadesi nedeniyle işletim sisteminin bazları çok fazla değişmez.

UNIX OS'nin geliştirilmesi hakkında kısa bilgiler

UNIX os, 60'ların sonunda, mini-bilgisayar PDP-7 için bir işletim sistemi olarak ortaya çıktı. Kenneth Thomson ve Dennis Ritchi, kalkınmaya aktif katılımını kabul etti.

UNIX OS: Çok oyunculu mod, yeni dosya sistemi mimarisi, vb. Özellikleri.

1973'te, işletim sistemi çekirdeğinin çoğu, C'nin yeni dilinde yeniden yazıldı.

1974'ten beri UNIX, kaynak kodlarında ABD üniversitelerinde dağıtıldı.

Unix sürümleri

UNIX'in dağılımının en başından itibaren, OS'nin çeşitli versiyonları Amerikan üniversitelerinde görünmeye başladı.

Sipariş vermek için, AT & T, 1982'de birkaç versiyonu OS Varyant - Sistem III adlı birine birleştirdi. 1983 yılında, Ticari bir versiyon yayınlandı - 1993 yılında System V., AT & T, X / Open ve Santa Cruz operasyonunu (SCO) daha fazla konsorsiyum olan Unix Company Novell'e aittir.

Diğer Unix - BSD satırı California Üniversitesi'nde (Berkeley) geliştirilmektedir. FreeBSD, OpenBSD'nin ücretsiz sürümleri var.

OSF / 1 - Açık Yazılım Vakfı ailesi bir IBM, DEC ve Hewlett Packard Consortium içerir. Bu ailenin sayısı - HP-UX, AIX, Digital Unix.

Unix ailesinin ücretsiz sürümleri

Çok sayıda var ücretsiz sürümler Unix.

FreeBSD, NetBSD, OpenBSD - BSD işletim sistemi temelinde geliştirilen varyantlar.

Ücretsiz Unix sistemlerinin en popüler ailesi bir aile sistemidir. Linux.. İlk Linux versiyonu 1991 yılında Linus Torvalds tarafından geliştirilmiştir. Şu anda birkaç seçenek var. Linux: Kırmızı şapka, mandrake, Slackware, SUSE, DEBIAN.

UNIX sistemlerinin genel özellikleri

Çeşitli UNIX seçenekleri çok sayıda ortak özellik vardır:

Multirogram işleme Zaman ayırma modunda yer değiştirme çoklu görevi temel alarak;

Çok oyunculu mod için destek;

Sanal bellek ve takas mekanizmaları kullanımı;

Hiyerarşik dosya sistemi;

Kavram dosyasının gelişmiş kullanımına dayanarak G / Ç işlemlerinin birleştirilmesi;

Sistemin toleransı;

Ağ etkileşimi araçlarının kullanılabilirliği.

Unix Sistemlerinin Avantajları

Unix ailesinin avantajlarının sayısına göre:



Taşınabilirlik;

Çoklu görevin etkili bir şekilde uygulanması;

Açıklık;

Standartların kullanılabilirliği ve katı uygunluğu;

Tek dosya sistemi;

Güçlü Komut Dili;

Önemli sayıda yazılım ürününün varlığı;

TCP / IP protokol yığınının uygulanması;

Sunucu veya iş istasyonu olarak çalışabilme.

UNIX tabanlı sunucular

Sunucu, ağdaki diğer bilgisayarları işleyen ve verilerin depolanması, işlenmesi ve iletilmesi için kendi kaynaklarınızı sağlayan bir bilgisayardır. UNIX sunucusu aşağıdaki rolleri gerçekleştirebilir:

Dosya sunucusu;

Web sunucusu;

Posta sunucusu;

Uzak kayıt sunucusu (kimlik doğrulaması);

Web Servisi Yardımcı Sunucular (DNS, DHCP);

İnternet Erişim Sunucusu İnternet

Unix çalışan bilgisayar yönetimi

Sunucu modunda bir UNIX sistemi ile çalışırken, kural olarak, mod kullanılır. uzaktan erişim Bazı terminal programını kullanarak.

Çalışma oturumu, kayıt adının ve erişim şifresinin girişi ile başlar.

Genellikle, sunucu yönetimi görevlerini çözmek için, komut çalışma moduyla sınırlıdır. Bu durumda, özel komutların girişini özel bir formatta komut satırına kontrol etmek için kullanılır. Komut satırı özel bir davetiye sahiptir, örneğin:

Ekibin Genel Görünümü:

  1. -Bash-2.05b $ komut [Seçenekler] [Parametreler]

Örneğin, işletim sisteminde bir sertifika çağrısı formu vardır:

  1. -Bash-2.05B $ Adam [Keys] [Konu]
  2. Adam komutunu kullanmak için Yardım'ı aramak için girin
  3. -Bash-2.05B $ Adam Man

Komut satırının yorumlanması

Komutları girerken, aşağıdaki anlaşmalar kullanılır:

İlk Kelime B. komut satırı takım adıdır;

Kalan sözler argümanlardır.

Argümanların arasından ayrılan tuşlar (seçenekler) - bir (kısa format) veya tire çiftleri (uzun format) ile başlayan her Word komutu (semboller) için önceden tanımlanmıştır. Örneğin:

Bash-2.05B $ TAR -C -F ARME.TAR * .C

Bash-2.05b $ Tar - -create - -File \u003d ARCH.AR * .C

Seçenek belirlerken, birleştirilebilirler. Örneğin, aşağıdaki komutlar eşittir:

Bash-2.05b $ ls -a -l -l

Bash-2.05b $ ls -l -a

Bash-2.05b $ ls -al

Diğer argümanlar, işlemlerin gerçekleştirildiği nesneleri gösterir.

Değişken kabuk

Sistemde çalışırken, komut kabuğu tuşlarını kullanmak dışında, parametreleri programa aktarmanın bir yolu vardır - çevre değişkenlerinin kullanımı. Çevre değişkenini belirlemek için SET komutunu kullanın. Takım formatı:

Bash-2.05b $ set_name_name \u003d değer

Çevre değişkenini silmek, Ayarsız komut tarafından gerçekleştirilir.

Değişken değere atıfta bulunmak için, atama, örneğin komut: örneğin, $ _NAME_NAME kullanılır:

BASH-2.05B $ ECHO $ \u200b\u200bYOL

Yol değişkeninin değeri olacaktır.

Rusça Eğitim ve Bilim Bakanlığı

Federasyon

Federal Eğitim Ajansı

Devlet Eğitim Kurumu

Yüksek Profesyonel Eğitim

Taganrog Eyalet Radyo Mühendisliği Üniversitesi

Disiplin "Bilişim"

"İşletim sistemi Unix"

Yapılan: orda-zhigulin d.v., gr. E-25

Kontrol edildi: Vishnevetsky v.yu.

Taganrog 2006.


Giriş

UNIX 3 nedir

Ücretsiz unix 7 nereden alınır

Ana bölüm. (Açıklama Unix)

1. Temel Kavramlar UNIX 8

2. Dosya sistemi 9

2.1 Dosya Türleri 9

3. Komut tercümanı 11

4. UNIX 12'nin sesi

4.1 Geleneksel Çekirdek OS UNIX 13 Genel Kuruluşu

4.2 Temel Çekirdek Fonksiyonları 14

4.3 Çekirdek 15 ile Etkileşim İlkeleri

4.4 İşleme Prensipleri 17

5. Giriş / Çıkış Kontrolü 18

5. 1 I / O sistem tamponlama ilkeleri 19

5. 2 Sistem (21) girme / çıkışa çağrıları

6. Arayüzler ve sürücü giriş noktaları 23

6. 1 Blok Sürücüleri 23

6. 2 Sembolik Sürücüler 24

6. 3 Akış Sürücüleri 25

7. Komutlar ve Yardımcı Programlar 25

7. UNIX 26'da 1 Komuta Organizasyonu

7. 2 G / Ç Yönlendirme ve Konveyör Organizasyonu 26

7. 3 Dahili, Kütüphane ve Özel Komutlar 26

7. 4 Komut Programlama 27

8. Kullanıcı Grafik Arabirimi Araçları 27

8.1 Kullanıcı tanımlayıcıları ve kullanıcı grubu 30

8.2 Dosya Koruması 32

8.3 Perspektif OS, Çarşamba günü OS UNIX 33'ü destekleyen

Sonuç

Unix'in diğer OS 36'sından ana farklılıkları

UNIX 37 Uygulamaları


Giriş

Unix nedir

UNIX terimi ve BT tam olarak eşdeğer değil, farklı değerlerde kullanılır. Şartların ikinci ikincisi ile başlayalım. Özetle, UNIX (bu formda), başlangıçta uzun ömürlü için birçok mali değiştiren AT & T Corporation'a ait olan ve şu anda Açık Grup adı verilen bir kuruluşun mülkiyeti olan tescilli bir ticari markadır. UNIX adını kullanma hakkı, belirli referans işletim sistemi özelliklerine uygunluk testleri (tek Unix standardı - bu durumda UNIX üzerindeki tek standart olarak çevrilebilen) bir tür "kanalizasyon kontrolü" ile elde edilir. Bu prosedür sadece karmaşık değil, aynı zamanda artık artık yok ve bu nedenle şimdi hindistan cevabından sadece birkaç işlemdi ve hepsi özeldir, yani bazı şirketlere aittir.

UNIX hakkını alan şirketler arasında, daha sonra geliştiriciler / testerler ve kan (daha kesin olarak, dolar) sahipleri aşağıdakiler olarak adlandırılabilir:

Sunos'u ile güneş (Solaris adı altında dünyada daha iyi bilinir);

AIX sistemi tarafından geliştirilen IBM;

Hewlett-Packard - HP-UX sisteminin sahibi;

IRIX - SGI operasyonları.

Ek olarak, UNIX'in adı sistemler için geçerlidir:

Aralık tarafından geliştirilen True64 Unix, tasfiye, ve şimdi, aynı Hewlett-Packard'ın mülkü olan ikincisi ile birlikte ikincisi ile birlikte;

UNIXWare - SCO özelliği (Ürün Birleştirme Firmaları Caldera ve Santa Cruz Operasyonu).

Özel olmak, tüm bu sistemler önemli (hatta Amerikan ölçeği) parası için satılmaktadır. Bununla birlikte, bu, UNIX Kanunu'nun yayılmasının ana engeli değildir. Ortak bir özellik için, belirli bir donanım platformlarına bir bağlayıcıdır: AIX, Güç İşlemcileriyle Sunucular ve IBM iş istasyonlarında, HP-PA'nın kendi makinelerinde (Kısa Mimarlık), IRIX - SGI taşıma MIPS işlemcilerinin grafik istasyonlarında, True64 Unix - alfa işlemciler için tasarlanmıştır (ne yazık ki, bose zaten iyi olmuştur). Sadece UNIXware, "Demokratik" platform PC'sine odaklanıyor ve Solaris var. İki mimari için seçeneklerde - kendi, sparc ve tüm aynı PC. Bununla birlikte, yeni PC çevre için nispeten zayıf destek nedeniyle, prevalanslarına büyük ölçüde katkıda bulunmadı.

Böylece, Unix öncelikle yasal bir kavramdır. Fakat UNIX terimi için teknolojik yorum yapıldı. Bu nedenle, BT endüstrisini kullanırken, tüm işletim sistemlerini ararlar veya "bozulmamış" Unix AT & T şirketinin "bozulmamış" UNIX AT & T Şirketi'nden veya "Pure Sheet'ten", Linux, FreeBSD ve Diğer BSD'ler, uygunluk için doğrulama yok, tek bir UNIX standardı hiç bulamadı. Ve bu nedenle genellikle Unix benzeri denir.

İşletim sistemi ailesini, standartlar kümesine karşılık gelen "POSIX uyumlu sistemler" terimi de yaygındır. POSIX standartlarının kendileri (UNIX'teki taşınabilir işletim sistemi arayüzü), UNIX sistemlerinde benimsenen uygulamaya dayanarak geliştirilmiştir ve bu nedenle ikincisi, POSIX uyumlu bir tanımına göredir. Bununla birlikte, bu oldukça eş anlamlı değildir: POSIX standartları şikayeti, UNIX ile ilişkili SNIX, yalnızca dolaylı olarak (QNX, hece) veya hiç ilgisiz (Windows NT / 2000 / XP'ye) ilgisizdir.

UNIX, UNIX ve POSIX ilişkilerinin sorununu netleştirmek için, tarihin derinliklerine geçmeniz gerekecektir. Aslında, bu konunun tarihi, "ücretsiz Unix: Linux, FreeBSD ve diğerleri" kitabının ilgili bölümünde ayrıntılı olarak tartışılmaktadır (yakın gelecekte Bhv-Petersburg'a gidiyor) ve tarihindeki makalelerde Linux ve BSD sistemleri.

UNIX işletim sistemi (daha kesin olarak, ilk seçeneği) 1969-1971'de Bell Laboratuvarları (AT & T Bölümleri) çalışanları tarafından geliştirilmiştir. İlk yazarlar - Ken Thompson ve Dennis Richie, özellikle kendi amaçları için, özellikle de favori bir oyun startravel olması için eğlenmek için yaptılar. Ve bir dizi yasal neden için, şirketin kendisi ticari bir ürün olarak kullanamadı. Ancak, Unix'in pratik uygulaması oldukça hızlı bir şekilde bulundu. İlk olarak, zil laboratuvarlarında her türlü teknik (patent dahil) belgeleri hazırlamak için kullanıldı. İkincisi, UUCP iletişim sistemi UNIX'e dayanıyordu (UNIX kopya programına UNIX - UNIX'teki UNIX'ten kopyalayın).

70'lerde UNIX uygulamasının bir başka kapsamı - geçen yüzyılın 80'lerin başlarında tamamen olağandışı. Yani, kaynak metinlerde, bilgisayar bilimi alanında çalışan bilimsel kurumlar arasında yayıldı. Bu tür dağılımın amacı (mevcut anlayışta oldukça özgür değildi, ancak aslında çok liberal olduğu ortaya çıktı), yukarıdaki bilgi alanında eğitim ve araştırma.

Berkeley Üniversitesi'nde oluşturulan BSD UNIX sistemi, California en büyük şöhreti aldı. Buna kademeli olarak, bozulmamış UNIX'in özel kodundan, sonunda, dramatik peripetias (burada açıklandıktan sonra), modern ücretsiz BSD sistemlerine yol açtı - FreeBSD, NetBSD ve diğerleri.

Üniversite bilgisayar korsanlarının çalışmalarının en önemli sonuçlarından biri, ArPpanet ağına dayanan (ve modern internetin temellerinin temelini oluşturan) TCP / IP protokolü için UNIX desteğinde (1983) giriş yapıldı. Dünya çapında ağ ile ilişkili tüm alanlarda hakimiyeti UNIX için bir uyum haline geldi. Ve bu operasyonların bir sonraki pratik uygulaması olduğu ortaya çıktı - birleşik Unix'in artık konuşmak zorunda kalmadığı zaman. Çünkü daha önce söylendiği için, şubelerinin ikisi, bozulmamış UNIX'ten (zaman içinde V) ve Berklian kökenli sisteminin sistemini (zaman içinde) ve Berklian kökenli sistemi. Öte yandan, Sistem V, aslında bu adı talep etme konusunda yasal bir hakkına sahip olan bu çeşitli özel UNIX "OV'sine dayanıyordu.

Son durum, bir kez tek işletim sisteminin birkaç satıra dönüşmesi, yavaş yavaş uyumluluğu kaybeder, - Unix ideolojisinin temel taşlarından biri ile çelişkilidir: sistemin farklı platformlar arasındaki taşınabilirliği ve onların bir UNIX sisteminden diğerine uygulamaları. Sonunda sona eren çeşitli standardizasyon organizasyonlarının faaliyetlerine neden olan, daha önce belirtilen bir dizi POSIX standartları oluşturur.

Linus Torvalds'ın güvendiği, "sıfırdan" (daha önce var olan kodu kullanmadan) işletim sistemi - Linux'u güvendiği POSIX standartlarıydı. Ve bu, UNIX sistemlerinin geleneksel uygulamalarına (yazılım geliştirme, iletişim, internet), onlar için zaman içinde açılan ve yeni - masaüstü özel genel amaçlı platformlar. İnsanlarda popülerliği sağladığı gibi - popülerlik, diğer tüm Unix sistemlerinden, birlikte, hem özel hem de özgür olanları.

O zaman, UNIX sistemlerinde, herhangi bir tür markayı ve diğer yasal problemleri hariç, kelimenin en geniş anlamında çalışmaktan bahsediyoruz. Her ne kadar çalışma teknikleri ile ilgili ana örnekler, ücretsiz uygulamalarının alanından - Linux, daha az kapsamlı bir FreeBSD ve hatta diğer BSD sistemlerinden bile alınacaktır.

Ücretsiz bir UNIX nereden alınır?

FreeBSD Baz - www.freebsd.org;

Www.sco.com adresinde iletişime geçebilirsiniz.


Ana bölüm. (Açıklama Unix)

1. Temel Unix Kavramları

UNIX, iki temel konsepte dayanmaktadır: "Süreç" ve "Dosya". İşlemler sistemin dinamik tarafıdır, bunlar sübvansiyonlardır; Ve dosyalar statiktir, bunlar işlemlerin nesneleridir. Çekirdekle ve birbirleriyle işlemlerin etkileşiminin neredeyse bütün arayüzü, kayıt / okuma dosyaları gibi görünüyor. Sinyaller, paylaşılan hafıza ve semafor gibi şeyler eklemek gerekliliğine rağmen.

İşlemler çok geleneksel olarak iki türe ayrılabilir - görevler ve şeytanlar. Görev, çalışmasını gerçekleştiren, hızlı bir şekilde bitirmeye ve bitmeyi deneyen bir işlemdir. Demon, işleme koyması gereken olayları bekliyor, meydana gelen ve tekrar bekleyen olayları işler; Başka bir işlemin sırasına göre bir kural olarak tamamlanır, çoğu zaman kullanıcı onu "Kill_Number_Process" ekibine vererek onu öldürür. Bu anlamda, kullanıcı girişinin işlenen etkileşimli görevin işlenmesinin, görevden daha şeytan olduğuna benzer olduğu ortaya çıktı.

2. Dosya sistemi

Eski UNIX "AH, adına 14 harf atandı, yeni kısıtlamada kaldırıldı. Dizinde, dosya adına ek olarak, inode tanımlayıcısıdır - dosyanın içindeki blok numarasını tanımlayan bir tamsayıdır. öznitelikler kaydedilir. Aralarında: Kullanıcı Numarası - Dosya Ana Bilgisayarı; Sayı Grupları; Dosyaya (CM. Bayi) Tarihleri \u200b\u200bve Oluşturma Zamanları, Son Değişiklik ve Son Dosya Erişimi; Erişim Nitelikleri. Erişim nitelikleri Bkz. Sahip, tek kayıt defteri ve diğer okuma, yazma ve yürütme için başlangıçta (bkz.) ve haklarına erişim hakkındaki özelliklere bakın. Dosyayı silme hakkı, üst üste gelme hakkı tarafından belirlenir. .

Her dosya (ancak dizin değil) birkaç isim altında bilinebilir, ancak mutlaka aynı bölümde yatar. Dosyaya tüm referanslar eşittir; Dosya, dosyanın son bağlantısı silindiğinde silinir. Dosya açıksa (okuma ve / veya kayıt için), referans sayısı bir başkasını arttırır; Geçici bir dosyayı açan birçok program hemen onu silmek, böylece bir işletim sistemi dosyaları işlemeye açıldığında, bu geçici dosya işletim sistemi tarafından kaldırılmıştır.

Dosya sisteminin başka bir ilginç özelliği var: eğer bir dosya oluşturduktan sonra, girişi üst üste değildi, ancak büyük aralıklarla, daha sonra bu aralıklarla, disk alanı tahsis edilmez. Böylece, bölümdeki toplam dosya hacmi bölüm hacminden daha büyük olabilir ve dosya silindiğinde, boyutundan daha az alan serbest bırakılır.

2.1 Dosya Türleri

Dosyalar aşağıdaki türlerdir:

düzenli Doğrudan Erişim Dosyası;

dizin (diğer dosya adlarını ve tanımlayıcıları içeren dosya);

sembol bağlantısı (başka bir dosya adı olan dize);

blok cihazı (disk veya manyetik bant);

seri cihaz (terminaller, seri ve paralel bağlantı noktaları; diskler ve manyetik bantlar ayrıca seri aygıt arayüzüne sahiptir)

yarış kanalı.

Cihazlarla çalışmak üzere tasarlanmış özel dosyalar genellikle "/ dev" dizininde yoğunlaşır. İşte bunlardan bazıları (FreeBSD adaylığında):

tTY * - Terminaller: TTYV - Sanal Konsol;

tTYD - Dialin terminali (genellikle seri port);

cuaa - Dialout Line

tTYP - Ağ Pseudo-Terminali;

tTY - görevin ilişkili olduğu terminal;

wD * - Sabit sürücüler ve alt bölümleri dahil: wd - sabit disk;

wDS - bu diskin bölümü (bundan sonra "" dilim "olarak adlandırılır);

wDS - Bölüm bölümü;

fD - Disket;

rWD *, RFD * - WD * ve FD * ile aynı, ancak tutarlı erişim ile aynı;

Bazen, kullanıcının kullandığı programın kullanıcısını ve bazılarını yönetme hakkına sahip olmadığı gereklidir. Bu durumda, değiştirme niteliği, kullanıcının haklarına ayarlanır - programın ana bilgisayarı. (Örnek olarak, dosyayı sorular ve cevaplar içeren ve bu öğrenci programını başlatan okuma testleri temelinde okuyan bir program vereceğim. Programın dosyayı cevaplarla okuma hakkına sahip olmalı ve çalıştıran öğrenciyi değil.), örneğin, Passwd programı, hangi kullanıcının şifresini değiştirebileceğini yardımcı olmakla birlikte çalışır. Kullanıcı, Passwd programını çalıştırabilir, sistem veritabanında değişiklik yapabilir - ve kullanıcı yapamaz.

Dosyanın tam adının "Disk: Pavimia" gibi göründüğü DOS'un aksine ve "-File_System-disk: $. Yolu" gibi göründüğü RISC-OS'ye benziyor. (Genel olarak konuşan olan şeyleri var), UNIX, "/ yol / isim" formunda şeffaf gösterimi kullanır. Kök, Unix çekirdeğinin yüklendiği bölümden sayılır. Başka bir bölüm kullanmanız gerekirse (ve açık önyükleme bölümü Kural olarak, yalnızca indirilmesi en gerekli olanıdır), `mount / dev / file_ seçim sunucusu dizinini kullanın. Aynı zamanda, daha önce bu dizinde bulunan dosyalar ve alt alanlar, bölüm çıkarılıncaya kadar erişilemez hale geliyor (doğal olarak, tüm normal insanlar boş dizinleri monte etmek için kullanılır). Montaj ve sökme sadece bir amirin sağına sahiptir.

Başlarken, her işlem, bir tanımlayıcı 0 için standart STDIN girişi olarak bilinen üç dosyanın zaten açık olduğunu hesaplayabilir; Bir tanımlayıcı 1 üzerinde standart çıkış stdout; ve tanımlayıcıya standart stderr çıkışı 2. Sisteme kaydolurken, kullanıcı adı ve şifreyi girdiğinde ve Shell başladığında, üçü de / dev / tty'ye yönlendirilir; Daha sonra, bunlardan herhangi biri herhangi bir dosyaya yönlendirilebilir.

3. Komut tercümanı

UNIX'te neredeyse her zaman iki komut tercümanı - SH (Shell) ve CSH (CSH (C benzi kabuğu) vardır. Bunların yanı sıra, bash (Bourne), KSH (Korn) ve diğerleri var. Ayrıntılara girmeden, genel ilkeler vereceğim:

Geçerli dizini değiştirmekten başka komutlar, ortam değişkenlerini (çevre) ve yapısal programlama operatörleri - harici programlar. Bu programlar genellikle / bin ve / usr / bin dizinlerinde bulunur. Sistem Yönetimi Programları - / SBIN ve / USR / SBIN dizininde.

Komut, başlatılan programın adından ve argümanlardan oluşur. Argümanlar ekibin adından ve birbirinden boş ve tablolara ayrılır. Bazı özel karıştırıcılar, Shell "Ohm. SpecialSimols" "`! $ ^ *? | &; (Başka ne?).

Bir komut satırında, birkaç komut verebilirsiniz. Komutlar bölünebilir; (Sıralı Komutun Yürütme), & (eşzamansız komutların eşzamanlı olarak yürütülmesi), | (Senkron yürütme, Standart STDIN girişi için ilk komutun standart stdout çıkışı yapılır).

Ek olarak, dosyadan standart bir giriş yaparak, dosyayı argümanlardan biri olarak açarak (dosya sıfırlanır) veya "\u003e\u003e dosyayı" (kayıt dosyasının sonuna kadar yapılır).

Herhangi bir komut hakkında bilgi almanız gerekirse, "Man_Name" komutunu komut verin. Ekrana "daha" programı aracılığıyla verilecek - UNIX'inizde nasıl yönetildiğini "erkek daha 'tarafından nasıl yönetilecek.

4. Çekirdek OS Unix

Başka bir çok oyunculu işletim sisteminde olduğu gibi, birbirinden kullanıcı koruması sağlamak ve sistem verilerinin bir imtiyazsız kullanıcıdan korunması, Bilgisayar kaynaklarını yöneten ve kullanıcılara temel bir hizmet seti sunan Unix'te korumalı bir çekirdek var.

Unix için modern seçeneklerin rahatlığı ve etkinliği, çekirdek dahil tüm sistemin mümkün olan en iyi şekilde tasarlandığı ve yapılandırıldığı anlamına gelmez. UNIX OS yılları arasında gelişti (bu, bu kadar olgun bir yaşta popülerlik kazanmaya devam eden tarihteki ilk işletim sistemidir). 25 yıldan fazla). Doğal olarak, sistem yetenekleri arttı ve büyük sistemlerde olduğu gibi, UNIX işletim sistemi yapılarındaki yüksek kaliteli iyileştirmeler, yeteneklerinin büyümesi için uyum sağlamadılar.

Sonuç olarak, Unix için en modern ticari seçeneklerinin çekirdeği çok iyi yapılandırılmış büyük ölçüde bir monolit değildir. Bu nedenle, UNIX OS çekirdeğinde programlama, sanat olmaya devam ediyor (harici aygıtlar sürücüleri geliştirmek için egzoz ve anlaşılabilir bir teknoloji olmadıkça). UNIX OS Nucleus'un organizasyonunun bu yetersiz teknolojisi birçokını tatmin etmiyor. Bu nedenle, UNIX OS ortamını tamamen farklı bir sistem kuruluşu ile tam olarak çoğaltma arzusu.

En büyük prevalans nedeniyle, UNIX sistemi V çekirdeği genellikle tartışılır (geleneksel olarak kabul edilebilir).

4.1 Geleneksel Çekirdek OS Unix Genel Kuruluşu

UNIX işletim sisteminin ana başarılarından biri, sistemin yüksek hareketlilik özelliğine sahip olmasıdır. Bu kalitenin anlamı, çekirdeği de dahil olmak üzere tüm işletim sisteminin, nispeten basitçe çeşitli donanım platformlarına transfer olmasıdır. Çekirdeği saymayan, sistemin tüm parçaları tamamen makineden bağımsızdır. Bu bileşenler, Si dilinde düzgünce yazılmıştır ve yeni bir platforma transferleri için (en az 32 bit bilgisayar sınıfında), kaynak metinleri yalnızca hedef bilgisayarın kodlarına geri dönüştürür.

Tabii ki, en büyük sorunlar, kullanılan bilgisayarın özelliklerini tamamen gizleyen bir sistem çekirdeğiyle ilişkilendirilir, ancak kendisi bu özelliğe bağlıdır. Çekirdeğin makineye bağlı ve makineden bağımsız bileşenlerinin düşünceli ayrılması sonucunda (görünüşte, işletim sistemlerinin geliştiricilerin bakış açısına göre, bu, Geleneksel Nükleer Sistem Unix'in geliştiricilerinin en yüksek başarısından oluşur) Çekirdeğin ana kısmının, hedef platformun mimari özelliklerine bağlı olmadığından emin olun, tamamen SI dilinde yazılır ve yeni bir platforma transfer için yalnızca yeniden derlemesi gerekenler.

Bununla birlikte, çekirdeğin nispeten küçük bir kısmı makineye bağımlıdır ve SI ve Hedef İşlemci Assembler dili karışımı üzerine yazılmıştır. Sistemi yeni bir platforma aktarırken, çekirdeğin bu bölümünün yeniden yazılması, assembler dili kullanılarak ve hedef ekipmanın belirli özelliklerini dikkate alarak gereklidir. Çekirdeğin makinenin bağımlı parçaları, ana makineden bağımsız kısımdan izole edilir ve her bir makineye bağlı bileşenin amacı, makineye bağlı parçanın yeniden yazılması esasen teknik görevdir (yüksek olmasına rağmen) programlama yeterlilikleri).

Geleneksel UNIX OS çekirdeğinin makineye bağlı kısmı aşağıdaki bileşenleri içerir:

sistemin düşük seviyede tanıtımı ve başlatılması (şu ana kadar ekipmanın özelliklerine bağlıdır);

iç ve dış kesintilerin birincil işlenmesi;

bellek Yönetimi (sanal bellek için donanım desteğinin özellikleriyle ilgili olan kısımda);

kullanıcı ve çekirdek modları arasındaki işlemlerin bağlamını değiştirin;

aygıt sürücülerinin bir kısmının hedef platformunun ilgili özellikleri.

4.2 Temel Çekirdek Fonksiyonları

UNIX OS çekirdeğinin ana fonksiyonları aşağıdaki gibi alınır:

(a) Sistem başlatma, başlangıç \u200b\u200bve tanıtım işlevidir. Sistemin çekirdeği, bilgisayarı yüklemek ve çekirdeği başlatmak için tam çekirdek sağlayan tanıtım (Bootstrap) aracı sağlar.

(b) İşlem ve İplik Yönetimi - Oluşturma fonksiyonu, mevcut işlemlerin ve ipliklerin tamamlanması ve takibi (genel sanal bellekte gerçekleştirilen "işlemler". UNIX çok parçalanma bir işletim sistemi olduğundan, çekirdek, çalışan işlemci zaman işlemleri (veya çok parçalama sistemlerinde işlemciler) ve diğer bilgisayar kaynakları arasında işlemlerin paralel olarak gerçekleştirildiği harici bir duyum oluşturmak için ayrılık sağlar.

(c) Hafıza yönetimi, işlemlerin neredeyse sınırsız sanal belleğini, sınırlı boyutlara sahip bilgisayarın fiziksel hafızasına görüntüleme işlevidir. Çekirdeğin karşılık gelen bileşeni aynı alanların ayrılmış kullanımını sağlar rasgele erişim belleği Harici bellek kullanan çoklu işlemler.

(d) Dosya yönetimi - Dosya sisteminin soyutlamasını uygulayan bir fonksiyon, dizinlerin ve dosyaların hiyerarşisidir. UNIX dosya sistemleri birden fazla dosya türünü destekler. Bazı dosyalar ASCII formatında veri içerebilir, diğerleri harici cihazlara karşılık gelir. Dosya sistemi, nesne dosyalarını yürüttüler, vb. Dosyalar genellikle harici bellek cihazlarında saklanır; Bunlara erişim, çekirdeğin vasıtasıyla sağlanır. UNIX dünyasında, birkaç tür dosya sistemi kuruluşu vardır. Unix için modern seçenekler aynı anda dosya sistemlerinin çoğunu desteklemektedir.

(e) İletişim araçları - Yerel veya global veri ağının farklı düğümlerinde çalışan işlemler arasında, tek bir bilgisayarın içinde çalışan işlemler (IPC - işlemler arası iletişim), dışın süreçleri ve sürücüleri arasında olan işlemler arasında veri alışverişi sağlayan bir fonksiyon aygıtlar.

(f) Programlama arayüzü, bir işlev kütüphanesi olarak tasarlanan sistem çağrılarının mekanizmasına dayanan kullanıcı işlemleri tarafından çekirdeğin özelliklerine erişim sağlayan bir fonksiyondur.

4.3 Çekirdek ile Etkileşim İlkeleri

Kullanıcı programlarının işletim sistemi çekirdeği hizmetleri için başvuru yapmalarını sağlayan herhangi bir işletim sisteminde belirli bir mekanizma desteklenir. En ünlü Sovyet bilgi işlem makinesinin işletim sistemlerinde BESM-6, çekirdeğin uygun iletişim araçları, IBM işletim sistemlerinde sistemik makrolar, vb. UNIX OS'de, bu tür fonlar denir sistem zorlukları.

Ad, işlemcinin "özel komutlarının" "özel komutlarının" OS çekirdeği işlevlerine hitap etmek için kullanıldığı anlamına gelmez; , bu tür kesintilerin tuzak - tuzak denir). Bu tür kesintileri işlerken (şifre çözme), OS çekirdeği gerçekte, kesintinin, kullanıcı programının belirli işlemleri gerçekleştirmesi için çekirdeğin bir istek olduğunu kabul eder, işleme parametrelerini seçer ve işler, ardından "geri dönüşü gerçekleştirir. Kesintisiz ", kullanıcı programının normal yürütülmesini yenileyerek.

Kullanıcı programının inisiyatifindeki iç kesintilerin uyarılmasının spesifikleştirilmesinin farklı donanım mimarilerinde farklılık göstermesi açıktır. UNIX, özel programların tamamen mobil olabileceği bir ortam sağlamak için çaba gösterdiğinden, belirli bir mekanizmanın özelliklerini heyecanlandıran iç kesintileri gizleyen ek bir seviyedir. Bu mekanizma, sözde sistem arama kütüphanesi tarafından sağlanır.

Kullanıcı için, sistem arama kütüphanesi önceden geleneksel bir kütüphanedir. gerçekleştirilen fonksiyonlar Sistem Programlama Sistemleri SI. SI dilinde programlama yaparken, sistem arama kütüphanesinden herhangi bir işlevin kullanılması, herhangi birinin veya kütüphane SI işlevinin kullanımından farklı değildir. Bununla birlikte, belirli bir sistem arama kütüphanesinin herhangi bir fonksiyonunun içinde, genellikle bu donanım platformuna özgü olan kod içermektedir.

4.4 Kesme işleme prensipleri

Tabii ki, işletim sistemlerinde kullanılan işletim sistemi, iç ve dış kesintilerin işleme mekanizması esas olarak, kesinlikle kesintaların işlenmesi için donanım desteğinin belirli bir donanım platformu tarafından sağlandığı bağlıdır. Neyse ki, bugüne kadar (ve oldukça uzun bir süredir), ana dialo bilgisayarların ana üreticileri temel kesme mekanizmalarına ilişkin bir anlaşmaya varmıştır.

Çok doğru ve spesifik olarak değilse, bugün için kabul edilen mekanizmanın özü, işlemcinin her olası kesilmesinin (iç veya dış kesinti olsun) belirli bir fiziksel RAM adresine karşılık gelmesidir. İşlemcinin, bir iç veya dış kesinti işleminin varlığı nedeniyle kesmesine izin verildiğinde, ilgili adresle fiziksel RAM hücresinde kontrolün bir donanım iletimi var - genellikle bu hücrenin adresi " kesme vektörü "(kural olarak, iç kesinteki uygulamalar, T. Doğrudan işlemcilerden gelen uygulamalar hemen memnun olur).

İşletim sisteminin çalışmaları, kesintinin ilk işlenmesini sağlayan ve tam işleme başlatmak için uygun RAM yazılım kodu oranlarına yerleştirilmelidir.

Temel olarak, UNIX OS genel bir yaklaşıma uyuyor. Harici kesintiye karşılık gelen kesinti vektöründe, yani Belirli bir harici cihazdan keser, işlemci seviyesini ayarlayan komutlar içerir (yürütme seviyesi, hangi harici kesme işlemcisinin hemen yanıt vermesi gerektiğini belirler) ve karşılık gelen aygıt sürücüsünde tam kesme işlem programına geçişi gerçekleştirir. Dahili kesinti için (örneğin, kullanıcı programında, ana belleğe, kullanıcı programında, vb. Olağanüstü bir durum oluştuğunda, vb. İçinde olağanüstü bir durum ortaya çıktığında veya Kesinti vektör, UNIX OS çekirdeğinin uygun sistemine geçiş içerir.

5. Giriş / Çıkış Yönetimi

Geleneksel olarak, UNIX OS üç tür G / Ç örgütü ve buna göre, üç tip sürücü vurguladı. Blok giriş / çıkışı, temel olarak dizinlerle çalışmak üzere tasarlanmıştır ve taban seviyesinde bulunan sıradan dosya sistemi dosyaları blok Yapısı. Kullanıcı seviyesinde, artık dosyalarla çalışmak mümkündür, doğrudan sanal belleğin segmentlerinde görüntülenir. Bu özellik olarak kabul edilir üst seviye Blok girişi / çıkışı. Alt seviyede, blok giriş / çıkışı blok sürücüler tarafından korunur. Dahası, sistem tamponlaması ile desteklenen blok giriş / çıkışı.

Karakter girişi / çıkışı, kullanıcının adres alanı ile ilgili cihaz arasındaki doğrudan (tamponlama olmadan) değiş tokuşları içindir. Tüm sembolik çekirdek destek sürücüleri için ortak, kullanıcı ve nükleer adres boşlukları arasındaki veri aktarım fonksiyonlarını sağlamaktır.

Son olarak, akış girişi / çıkışı karakter girişine / çıkışına benzer, ancak ara işleme modüllerinin akışına dahil edilme olasılığının kullanılabilirliği nedeniyle önemli ölçüde daha fazla esnekliğe sahiptir.

5. 1 Sistem tamponizasyonunun ilkeleri I / O

Bir blok yapısına sahip harici bellek aygıtlarıyla borsalar yaparken ek yükü azaltmanın geleneksel yolu, bir blok giriş / çıkış tamponlamasıdır. Bu, harici bellek cihazının herhangi bir biriminin öncelikle, UNIX sistemi adı verilen ana bellek alanının bir tamponunda okunması ve zaten oradan tamamen veya kısmen (değişim türüne bağlı olarak) uygun kullanıcı alanına kopyalandığı anlamına gelir.

Geleneksel tamponlama mekanizmasının organizasyonunun ilkeleri, öncelikle, blok içeriğinin bir kopyasının, tampon eksikliği nedeniyle değiştirilmesi gerekene kadar sistem tamponunda tutulması (LRU algoritmasının bir varyasyonu kullanılır) bir ikame politikası düzenlemek. İkincisi, herhangi bir harici bellek bloğunu kaydederken, yalnızca önbellek tamponunun bir güncelleştirmesi (veya oluşumu ve doldurulması) gerçekleştirilir. Cihazla gerçek değişim, içeriğinin ikame edilmesinden dolayı tamponu iterken veya özel bir senkronizasyon sistemi çağrısı (veya FSYNC) gerçekleştirilirken, özellikle güncellenmiş önbellek tamponlarının harici belleğine iterek özel olarak desteklenir.

Bu geleneksel tamponlama şeması, UNIX sanal bellek yönetimi araçlarının modern sürümlerinde geliştirilen ve özellikle de sanal bellek bölümlerdeki ekran mekanizması ile birlikte geliştirilmiş bir çelişkilidir. Bu nedenle, sistem V serbest bırakma 4 ortaya çıktı yeni şema Eski şemaya paralel olarak kullanılırken tamponlama.

Yeni şemanın özü, çekirdek düzeyinde, sanal bellek bölümlerindeki ekran mekanizmasının aslında oynanmasıdır. İlk olarak, Unix çekirdeğinin gerçekten kendi sanal belleğinde çalıştığını hatırlıyoruz. Bu hafıza daha karmaşık, ancak temelde kullanıcı sanal belleği ile aynı yapıya sahiptir. Başka bir deyişle, çekirdek sanal belleği bir segment sayfasıdır ve kullanıcı işlemlerinin sanal belleği ile birlikte sanal bellek yönetiminin genel alt sistemi tarafından desteklenmektedir. Bundan sonra, ikinci olarak, kullanıcılar için çekirdek tarafından sağlanan neredeyse her türlü fonksiyonun diğer bileşenler için bir çekirdek bileşeniyle sağlanabilir. Özellikle, bu aynı zamanda dosyaları sanal bellek bölümlerine görüntüleme olanakları için de geçerlidir.

UNIX'in nükleer sistemindeki yeni tamponlama şeması esas olarak tamponlama organizasyonunun, neredeyse özel bir şeyi yapamayacağınız gerçeğine dayanmaktadır. Kullanıcı işlemlerinden biri, bu zamana kadar açılmayan dosyayı açtığında, çekirdek yeni bir segment oluşturur ve dosyayı bu bölüme bağlar. Bundan sonra (kullanıcı işleminin okuma ve yazma sistem çağrılarını okuma ve yazma kullanarak geleneksel moddaki dosyayla çalışıp çalışmayacağına bakılmaksızın veya dosyayı sanal belleğinizin kesimine bağlayın) çekirdek düzeyinde, çalışma nükleer ile yapılacaktır. Dosyanın seviye çekirdeğine bağlı olduğu segment. Yeni yaklaşımın ana fikri, boşluğun sanal bellek yönetimi ile sistem genişliğinde tamponlama arasında ortadan kalkmasıdır (uzun zaman önce yapılır, çünkü işletim sistemindeki ana tamponunun yapılması gerektiğinden açıktı. Sanal bir bellek yönetimi bileşeni üretin).

Eski tamponlama mekanizmasından neden terk edilmeyebilir? Mesele şu ki, yeni şemanın harici bellek nesnesinin içindeki bazı sürekli adreslerin varlığını varsaymasıdır (görüntülenen ve görüntülenen nesneler arasında bir izomorfizma olmalıdır). Bununla birlikte, UNIX dosya sistemlerini düzenlerken, özellikle I-düğümleriyle ilgili olan harici belleği dağıtmak oldukça zordur. Bu nedenle, harici bellek bloklarından bazıları izole edilmiş olarak kabul edilmelidir ve eski tamponlama şemasını (muhtemelen, yarının UNIX sürümlerinde olsa da, birleşik yeni bir şemaya tamamen geçebilecek olsa da) daha karlı olduğu ortaya çıktı. .

5. 2 Sistem giriş / çıkış çağrısı

Erişim için (yani, G / Ç işlemlerinin daha sonra uygulanmasını) herhangi bir türün dosyasına (özel dosyalar dahil), kullanıcı işlemi, sistem çağrılarından birini kullanarak dosyaya bir ön bağlantı yapması gerekir, Dup veya boru.

Sistem Çağrı Kuvveti Açık (PathName, Mod) Sonraki:

giriş parametrelerinin tutarlılığı analiz edilir (çoğunlukla dosya erişim modu bayrakları ile ilgilidir);

İşlemin sistem alanındaki (U-bölge) dosya tanımlayıcısı için bir alan var;

sistem çapında bölgede, dosyanın sistem tanımlayıcısını (dosya yapıları) yerleştirilmesi için mevcut bir alan vardır;

bir nesnenin "PathName" adıyla bir nesnenin arşivinde bir arama ve dosya sistemi seviye dosyasının tanımlayıcısı tarafından oluşturulur (VNode, UNIX V sistemi 4);

vnode önceden oluşturulmuş bir dosya dosyası ile yapılandırılmıştır.

Açık ve sistem çağrıları oluşturma (neredeyse) işlevsel olarak eşdeğerdir. HEDEF SYSTEM ARAMASI kullanılarak mevcut herhangi bir dosya açılabilir ve açık sistem çağrısı kullanılarak herhangi bir yeni dosya oluşturulabilir. Bununla birlikte, doğal kullanımı durumunda (bir dosya oluşturmak için), bu sistem çağrısının ilgili dizinin yeni bir öğesini oluşturduğunu vurgulamak önemlidir (belirtilen PathName değerine göre) ve ayrıca yeni bir I'yi oluşturur ve başlatır. -Node.

Son olarak, DUP sistemi çağrısı (yinelenen - kopya), önceden yeni bir tanımlayıcının oluşumuna yol açar. açık dosya. Bu UNIX'e özgü sistem çağrısı yalnızca G / Ç azaltma amaçları içindir). Yürütme, yeni oluşturulmuş bir dosya tanımlayıcısı (tamsayı) içeren yeni bir açık dosyanın tanımlayıcısıdır, ancak dosyanın zaten mevcut sistem genelinde yapısını içeren ve aynı açık numune dosyasına karşılık gelen aynı işaretleri ve bayrakları içeren yeni bir açık dosya tanımlayıcısıdır.

Diğer önemli sistem zorlukları okunur ve sistem çağrıları yazar. Okuma sistemi çağrısı aşağıdaki gibi gerçekleştirilir:

sistem genişliğinde dosyaların tablosunda belirtilen dosyanın bir tanımlayıcı vardır ve temyizenin yasal olarak olup olmadığı belirlenir bu süreç için bu dosya belirtilen modda;

bazı (kısa) bir zamanda, bu dosyanın VNode'sinde bloke etme senkronizasyonu ayarlanır (tanımlayıcının içeriği, okuma işleminin kritik anlarında değişmemelidir);

gerçek okuma, eski veya yeni bir tamponlama mekanizması kullanılarak gerçekleştirilir, ardından veriler kullanıcı adres alanında bulunmak için kopyalanır.

Kayıt işlemi aynı şekilde gerçekleştirilir, ancak tampon havuz tamponunun içeriğini değiştirir.

Yakın sistem çağrısı, sürücünün karşılık gelen kullanıcı işlemiyle başarısız olduğu ve (en son kapanış süresi durumunda) sistem genelinde "Sürücü ücretsiz" ayarlar.

Son olarak, özel dosyalar için başka bir "özel" sistem çağrısı IOCTL tarafından desteklenir. Bu, özel dosyalar için sağlanan ve diğer dosya çeşitleri için sağlanmayan tek sistem mücadelesidir. Aslında, IOCTL sistemi araması, herhangi bir sürücünün arayüzünü rastgele genişletmenize olanak sağlar. IOCTL parametreleri bir işlem kodu ve bazı kullanıcı işlemi hafıza alanına bir işaretçi içerir. Çalışma kodunun tüm yorumlanması ve ilgili spesifik parametreler sürücü tarafından gerçekleştirilir.

Doğal olarak, sürücüler çoğunlukla harici cihazları yönetmeyi amaçladığından, sürücünün program kodu, cihazdan kesintileri işlemek için uygun araçlar içermelidir. Sürücüde bireysel bir kesme işlem programını aramak işletim sistemi çekirdeğinden geliyor. Benzer şekilde, "zaman aşımı" girişi, sürücüde, zaman sipariş edilen zaman sürücüsü (çok akıllı cihazları kontrol ederken bu tür geçici bir kontrol gereklidir), çekirdeğin çizildiği sürücüye ilan edilebilir.

Sürücü organizasyonunun genel şeması Şekil 3.5'te gösterilmiştir. Bu çizim gösterdiği gibi, arayüzler ve sistem çapında kontroller açısından iki tür sürücü vardır - sembolik ve bloklar vardır. İç organizasyonun bakış açısına göre, başka bir sürücü türü tahsis edilir - akış (akış) sürücüler. Bununla birlikte, harici arayüzü ile akış sürücüleri sembolikten farklı değildir.

6. Arayüzler ve sürücü giriş noktaları

6. 1 Blok Sürücüleri

Blok sürücüleri, blok yapısı olan harici cihazların korunması amaçlanmıştır ( manyetik diskler, Bantlar, vb.) Ve sistem tamponlama kullanılarak geliştirildikleri ve yürütüldükleri diğer şeylerden farklıdır. Başka bir deyişle, bu tür sürücüler her zaman bir sistem tamponu havuzunda çalışır. Şekil 3.5'te görülebileceği gibi, okuma veya yazma için blok sürücüsüne yapılan herhangi bir temyiz başvurusu, tampon havuzundaki istenen bloğun bir kopyasını bulma girişimi olan önceden işlemeden geçer.

Gerekli bloğun bir kopyasının tampon havuzunda olmadığı veya herhangi bir nedenden dolayı bazı güncellenmiş arabelleklerin içeriğini değiştirmesi durumunda, UNIX OS çekirdeği, ilgili blok sürücünün strateji prosedürünü belirtir. Strateji, çekirdek ile sürücü arasında standart arayüz sağlar. Sürücüleri yazmak için kütüphane alt yordamlarını kullanma, strateji prosedürü, örneğin, diskteki manyetik kafaların hareketini optimize etmek için bir cihazla birlikte değişim kuyruğu düzenleyebilir. Blok sürücüsü tarafından yapılan tüm borsalar tampon hafızası ile gerçekleştirilir. İlgili kullanıcı işleminin hafızasındaki gerekli bilgilerin nüfus sayımı, çekirdek programları, tampon yönetimi yöneticileri tarafından yapılır.

6. 2 Sembolik Sürücüler

Sembolik sürücüler çoğunlukla cihazları korumak için tasarlanmıştır, geçerli olan borsaları veya alternatif karakterlerin satırları. Bir karakter cihazının tipik bir örneği, bir değişim için bir karakter alan basit bir yazıcıdır.

Sembolik sürücüler sistem tamponlaması kullanmaz. Kendi tamponunuzu kullanarak okuma işlemlerini gerçekleştirirken kayıt işlemlerini gerçekleştirirken veya kullanıcı işlemi hafızasında, kullanıcı işlem belleğinden doğrudan veri kopyalayın.

Bir blok cihazı için bir karakter arayüzü sağlama mümkün olduğu belirtilmelidir. Bu durumda, blok sürücüsü, sistem tamponlama kullanmadan değiş tokuş etmenizi sağlayan strateji prosedürünün ek özelliklerini kullanır. Blok ve sembolik arabirim içeren bir sürücü için aynı anda, iki iki başlayacak Özel dosya., Blok ve sembol. Her dolaşım, sürücü, hangi modun kullanıldığı hakkında bilgi alır.

6. 3 akış sürücüleri

Akış mekanizmasının (akışların) ana amacı, karmaşık iç mantığa sahip olan sürücülerin modülerlik ve esnekliği seviyesini arttırmaktır (tüm bunların çoğu, geliştirilen ağ protokollerini uygulayan sürücüleri ifade eder). Bu tür sürücülerin özellikleri, program kodunun çoğunun donanım cihazının özelliklerine bağlı olmadığıdır. Ayrıca, program kodunun bölümlerini farklı şekilde birleştirmek için genellikle avantajlıdır.

Bütün bunlar, çift yönlü konveyör işleme modülleri olan sürücülerin akış mimarisinin ortaya çıkmasına neden oldu. Konveyörün başlangıcında (kullanıcı işlemine daha yakın), kullanıcı girişiminin ilk olarak kullanıldığı bir akış başlığı vardır. Konveyörün sonunda (cihaza daha yakın) normal bir aygıt sürücüsü var. Aralıkta, her biri zorunlu akış arayüzüne uygun olarak verilen keyfi sayıda işleme modülü bulunabilir.

7. Takımlar ve Yardımcı Programlar

UNIX OS ortamında etkileşimli çalışma ile, çeşitli yardımcı programları veya harici kabuk dil komutlarını kullanın. Bu yardımcı programların çoğu komut tercümanından daha az karmaşık program değildir (ve bu arada, Shell Komuta tercümesinin kendisi komut satırından çağrılabilecek yardımcı programlardan biridir).

7. UNIX'te 1 Komuta Organizasyonu

Yeni bir ekip oluşturmak için, Si dilinde programlama kurallarını takip etmeniz yeterlidir. Her doğru şekilde dekore edilmiş SI programı, gerçek fonksiyondan yürütülmesine başlar. Bu "yarı sistem" özelliği, kabuk ortamında çağrılabilecek komutların organizasyonunun temeli olan standart bir arayüze sahiptir. Harici komutlar, çatal sistem çağrısı demetini ve Exec Seçeneklerinden birini kullanarak kabuk tercüman tarafından gerçekleştirilir. Sistem çağrısı parametreleri çalıştırıcı bir dizi metin dizesi içerir. Bu metin dizeleri kümesi, başlatılan programın ana işlevinin girişine iletilir.

Daha doğru bir şekilde, ana özellik iki parametre - argc (iletilen metin dizeleri sayısı) ve argv (metin dizelerine işaretçi dizisine işaretçi) alır. Bir kabuk komutu olarak kullanımına başvuran program tam olarak tanımlanmış olmalıdır harici arayüz (Parametreler genellikle terminalden girilir) ve giriş parametrelerini izlemeli ve doğru şekilde sökülmelidir.

Ek olarak, kabuk stilini eşleştirmek için, böyle bir program standart giriş, standart çıkış ve standart hata çıkışına karşılık gelen dosyaları geçersiz kılmamalıdır. Ardından, komut normal olarak giriş / çıktıyı yönlendirebilir ve konveyörlere dahil edilebilir.

7. 2 G / Ç Yönlendirme ve Konveyör Organizasyonu

Önceki noktanın son cümlesinden görülebileceği gibi, yönlendiren G / Ç ve konveyörün organizasyonunu sağlamak, komutların programlanması özel bir şey yapmanız gerekmez. Üç başlangıçtaki dosya tanımlayıcısına dokunmamak ve bu dosyalarla düzgün bir şekilde çalışmamak, yani dosyayı stdout tanımlayıcısı ile görüntülemek için, STDIN dosyasından veri girin ve STDERROR dosyasına hata mesajlarını görüntüleyin.

7. 3 Dahili, Kütüphane ve Özel Komutlar

Dahili komutlar, komut tercüman program kodunun bir parçasıdır. Tercümanın alt yordamları olarak yürütülürler ve değiştirilemez veya yeniden tanımlanamazlar. Gömülü komutların sözdizimi ve semantiği uygun komut dilinde tanımlanır.

Kütüphane komutları sistem yazılımının bir bölümünü oluşturur. Bu, işletim sistemiyle birlikte verilen (yardımcı programlar) bir dizi programdır. Bu programların çoğu (örneğin VI, Emacs, GREP, Bul, Yapı, vb.) Uygulamada son derece faydalıdır, ancak değerlendirmeleri bu dersin dışında (VI ve Emacs'in editörleri hakkında ve Bütünlük Yardımcı Programı yazılım dosyalarını oluşturur. Kalın kitaplar).

Kullanıcı komutu, bu şekilde belirtilen şartlara uygun olarak düzenlenen herhangi bir Yürütülen programdır, herhangi bir UNIX OS kullanıcısı, komut dilinin harici komutlarının repertuarını sınırsız olarak genişletebilir (örneğin, kendi komut tercümanınızı yazabilirsiniz).

7. 4 Komut dilinde programlama

Bahsedilen kabuk dillerinden herhangi biri prensip olarak programlama dili olarak kullanılabilir. UNIX kullanıcıları arasında kabuğa oldukça ciddi programlar üzerinde yazan birçok insan var. Programlamak için programlama dillerini (SI, C ++, Pascal vb.) Kullanmanız daha iyidir ve komut dillerini değil.


8. Medya grafik arayüzü

UNIX OS'de çalışan birçok profesyonel programcı, bugün sistemle geleneksel hat etkileşimini kullanmayı tercih etmesine rağmen, yüksek çözünürlüklü kalite ile yaygın nispeten ucuz renk grafik terminalleri, UNIX'in tüm modern sürümlerinde, sistemle grafik kullanıcının arayüzlerinin olduğu gerçeğine yol açtı. desteklenir. Ve kullanıcılar, programları geliştirildikleri ile grafiksel arayüzlerin geliştirilmesi için araç araçlarına verilir. Son kullanıcının bakış açısına göre, UNIX işletim sisteminin farklı sürümlerinde ve diğer sistemlerde (örneğin, MS Windows veya Windows NT), stillerinde aynı şekilde desteklenen grafiksel arayüz araçları.

İlk olarak, her durumda, terminal ekranıyla çok renkli çalışma modu desteklenir. İstediğiniz zaman, kullanıcı yeni bir pencere oluşturabilir ve bu pencere ile çalışan istenen programla ayrı bir terminal olarak ilişkilendirebilir. Windows taşınabilir, boyutlarını değiştirebilir, geçici olarak yakın, vb.

İkincisi, grafiksel arayüzün tüm modern çeşitlerinde, fare kontrolü desteklenir. UNIX durumunda, genellikle terminalin normal klavyesinin yalnızca geleneksel satır arayüzüne geçerken kullandığını ortaya çıkarır (çoğu durumda, terminal penceresinden en az birinin kabuk ailesi tercümanlarından birini çalıştırır).

Üçüncüsü, "farenin" çalışma tarzının böyle bir yayılımı, simgeler (simgeler) ve menülere dayalı arayüz ortamının kullanılmasıyla mümkündür. Çoğu durumda, bazı pencerelerde çalışan bir program, kullanıcıya olası fonksiyonların (simgelerin) sembolik görüntülerini (simgeler) eşleştirerek veya çok seviye bir menü sağlayarak gerçekleştiren herhangi bir işlevi seçmesini sunar. Her durumda, daha fazla seçim için, fareyi kullanarak ilgili pencerenin imlecini yeterince kontrol etmek ortaya çıkıyor.

Son olarak, modern grafik arayüzleri, herhangi bir fırsat için derhal etkileşimli bir ipucu elde etme olasılığını sağlayan "kullanıcıya göre arkadaşlığa" sahiptir. (Grafik arayüzleri kullanan iyi bir programlama stilinin, bu tür ipuçlarının gerçekten sağlandığı bir stil olduğunu söylemek daha doğru olur.)

Modern grafik arayüz araçlarının tüm bu ortak özelliklerini aktardıktan sonra, doğal bir soru oluşabilir: Grafiksel arayüzler alanında bu tür üniformalar varsa, UNIX ortamındaki grafik arayüzleri hakkında özellikle belirtilebileceğine dair bu tür üniformalar varsa? Cevap oldukça basittir. Evet, son kullanıcı gerçekten bugünün sisteminde, aynı arabirim yetenekleri kümesi ile ele alındığında, ancak farklı sistemlerde, bu özellikler farklı şekillerde elde edilir. Her zamanki gibi, UNIX OS'nin avantajı, grafiksel arayüzlerle mobil uygulamalar oluşturmanıza olanak sağlayan standart teknolojilerin varlığıdır.

8. Koruma İlkeleri

UNIX OS OS, kökenli bir çok oyunculu işletim sistemi olarak tasarlandığından beri, çeşitli kullanıcıların dosya sistemi dosyalarına erişimini yetkilendirme sorunu her zaman alakalıdır. Erişim yetkisi altında, kullanıcı erişiminin haklarına ve dosyaya yüklenen erişim kısıtlamalarının haklarına bağlı olarak bu dosyaya erişmesine izin veren veya bu dosyaya erişim sağlayan eylemleridir. UNIX'te kullanılan Erişim Yetkilendirme Programı çok basit ve rahat ve aynı zamanda modern işletim sistemlerinin gerçek standardı (çok seviye korumalı sistemleri talep etmiyor) haline gelmiştir.

8.1 Kullanıcı tanımlayıcıları ve kullanıcı grubu

Her bir yürütülebilir işlemle, UNIX, gerçek kullanıcı kimliği, geçerli kullanıcı kimliği ve kaydedilmiş kullanıcı kimliği (Kayıtlı Kullanıcı Kimliği) ile ilişkilidir. UNIX işletim sistemi (etkili kullanıcı kimliği) ile ilişkilendirilir. Tüm bu tanımlayıcılar, yalnızca Superuser modunda gerçekleştirilebilecek SetuID sistem çağrısı kullanılarak yüklenir. Benzer şekilde, her işlem, üç kullanıcı grubu tanımlayıcısı - gerçek grup kimliği, etkili grup kimliği ve kaydedilmiş grup kimliği ile ilişkilidir. Bu tanımlayıcılar SETGID ayrıcalıklı sistem çağrısı tarafından belirlenir.

Kullanıcı sistem girişinde oturum açtığında, kullanıcının sisteme kaydedildiğini kontrol eder ve doğru şifreyi (yüklüyse), yeni bir işlem oluşturur ve bu kullanıcı için gerekli kabuğu başlatır. Ancak bundan önce, oturum açma, dosyalar / etc / passwd ve / etc / grubunda depolanan bilgileri kullanarak yeni oluşturulan işlem için kullanıcı ve grup tanımlayıcıları ayarlar. Kullanıcı ve grup tanımlayıcıları işlemi işlemiyle ilişkilendirildikten sonra, kısıtlamalar dosyalara erişim için hareket etmeye başlar. İşlem dosyaya erişebilir veya çalıştırabilir (dosya icra programını içeriyorsa) yalnızca erişim kısıtlama dosyasının bunu yapmasına izin verilirse. İşlemle ilgili tanımlayıcılar, onlar tarafından oluşturulan işlemlere iletilir, bunlar üzerindeki aynı sınırlamaları yayar. Bununla birlikte, bazı durumlarda, işlem, SetuID ve SetGID sistem çağrıları kullanarak haklarını değiştirebilir ve bazen sistem işlem erişimini otomatik olarak değiştirebilir.

Örneğin, aşağıdaki durum düşünün. / Etc / Passwd dosyasına, SuperUser hariç, giriş tarafından yasaktır (Superuser herhangi bir dosyaya yazabilir). Bu dosya, diğer şeylerin yanı sıra, kullanıcı şifrelerini içerir ve her kullanıcının şifrelerini değiştirmesine izin verilir. Parolaları değiştiren özel bir program / bin / passwd var. Ancak, kullanıcı bu programda bile yapamaz, çünkü / etc / vb. / Passwd'a giriş yasaktır. UNIX sisteminde, bu sorunun aşağıdaki gibi izin verilir. Dosya yürütüldüğünde, başlatıldığında, kullanıcı kimlikleri ve / veya grubunun yüklenmesi gerektiği belirtilebilir. Kullanıcı böyle bir programın yürütülmesini isterse (Exec sistemi çağrısını kullanarak), kullanıcı tanımlayıcısı, yürütülebilir dosyanın sahibinin ve / veya bu sahibi grubunun tanımlayıcısının tanımlayıcısına karşılık gelen uygun bir işleme ayarlanır. . Özellikle, / bin / Passwd programı başladığında, işlem bir süper kullanıcı tanımlayıcısı alacak ve program / etc / passwd dosyasına kaydedebilecektir.

Ve kullanıcı kimliği için ve grubun tanımlayıcısı için, gerçek kimlik gerçek bir tanımlayıcıdır ve çalışma kimliği geçerli yürütme tanımlayıcısıdır. Geçerli kullanıcı kimliği Superuser'a karşılık gelirse, grubun bu tanımlayıcısı ve tanımlayıcısı, SetuID ve SetGID sistem çağrılarının herhangi bir değerine sıfırlanabilir. Geçerli kullanıcı kimliği, Superuser tanımlayıcısından farklıysa, Setuid ve SetGID sisteminin yürütülmesi, mevcut tanımlayıcının sırasıyla gerçek bir tanımlayıcı (kullanıcı veya grup) değiştirilmesine yol açar.

8.2 Dosya Koruması

Çok oyunculu işletim sisteminde kabul edildiği gibi, UNIX, dosyalara ve dosya sistemi dizinlerine erişimi kontrol etmek için tek tip bir mekanizmayı desteklemektedir. Herhangi bir işlem bir dosyaya erişebilir ve yalnızca dosyada açıklanan erişim hakları bu işlemin özelliklerine karşılık geldiğinde.

Dosyaların UNIX OS'ye yetkisiz erişime karşı korunması üç gerçeğe dayanmaktadır. İlk olarak, bir dosya (veya dizin) oluşturan herhangi bir işlemle, gelecekte yeni oluşturulan dosyanın sahibinin tanımlayıcısı olarak yorumlanabilecek bazı benzersiz kullanıcı tanımlayıcısını (UID - kullanıcı tanımlayıcısı) ilişkilidir. İkincisi, her bir işlem dosyaya biraz erişim yapmaya çalışırken, mevcut kullanıcı kimliği ve grup tanımlayıcıları bir çift tanımlayıcısı ilişkiliydi. Üçüncüsü, her bir dosya kesinlikle tanımlayıcısı - i-düğümüne karşılık gelir.

Dosya sisteminde kullanılan herhangi bir I düğümü her zaman bir ve tek bir dosyayı tanımlar. I-düğümü çok çeşitli bilgi içerir (çoğu kullanıcılar tarafından sistem çağrıları istatistikleri ve FSTAT aracılığıyla kullanılabilir) ve bu bilgi arasında, bu bilgilerin bu işlemin bu işlemin bu dosyaya erişim kuralını değerlendirmesini sağlayan bir parçasıdır. İstenilen modda.

Genel Hükümler mevcut tüm sistem seçenekleri için aynıdır: i-düğüm bilgileri, dosyanın mevcut sahibinin UID ve GID'sini içerir (bir dosya oluşturduktan hemen sonra, mevcut sahibinin tanımlayıcıları ilgili geçerli Creator ID tarafından belirlenir, ancak Gelecekte, chown ve chgrp sistemi zorluklarını değiştirebilir). Ek olarak, dosyanın i-düğümü, kullanıcının dosyayla yapabileceği ölçeği saklar - sahibi, sahibi kullanıcılarla aynı grup kullanan kullanıcılarla sahibiyle giren kullanıcılarla ne yapabilir ve ne yapabilirsiniz? diğer dosya kullanıcıları ile. Sistemin farklı versiyonlarında uygulamanın küçük detayları farklıdır.

8.3 Perspektif OS UNIX Çarşamba günü Destek

Mikroicier, modüler ve taşınabilir uzantıların temelinde hizmet veren işletim sisteminin asgari çubuk kısmıdır. Görünüşe göre, bir sonraki nesil işletim sistemlerinin çoğu mikronlara sahip olacaktır. Bununla birlikte, Microner ile ilgili olarak işletim sistemi hizmetlerinin nasıl düzenleneceği konusunda çok farklı görüşler vardır: En büyük verimliliği sağlamak için cihaz sürücüleri nasıl tasarlanır, ancak sürücülerin işlevlerini ekipmandan mümkün olduğu kadar bağımsız olarak kaydedin. Çekirdek alanında veya kullanıcı alanında çekirdek ile ilgili olmayan işlemleri gerçekleştirmelidir; Programları mevcut alt sistemleri (örneğin, UNIX) tutmaya değer mi, yoksa her şeyi atmak ve sıfırdan başlamak daha iyidir.

Bir mikro operasyonun geniş bir kullanımı halinde, Microicer Mach'in kullanıldığı işletim sisteminde şirketin yanında tanıttı. Bu işletim sisteminin küçük bir ayrıcalıklı çekirdeği, etrafında kullanıcı modunda gerçekleştirilen alt sistemlerin bulunduğu, teorik olarak sistemin benzeri görülmemiş esnekliği ve modülerliğini sağlamak zorunda kaldı. Ancak pratikte, bu avantaj, bir sonraki Mach Microkernel kabuğu olarak seçilen UNIX BSD 4.3 işletim sistemini uygulayan bir monolitik sunucunun varlığıyla biraz zarar görmüştü. Bununla birlikte, MACH desteği, şebeke yapılandırma grafikleri, sistem yönetimi ve yazılım geliştirme ile zarif bir son kullanıcı arayüzü oluşturmayı başardığınıza bağlı olarak, mesajlaşma araçlarını ve bir dizi nesne yönelimli servis işlevini etkinleştirmeyi mümkün kıldı.

Bir sonraki mikroer işletim sistemi, MicroKernel'in kullanımının temel avantajının sadece modülerlik değil, aynı zamanda tolere edilebilirliğin olduğu Microsoft Windows NT'di. (Aslında NT'nin Mikronik OS'ye bağlanması gerektiği hakkında oybirlim görülmediğine dikkat edin.) NT, Intel işlemcilere, MIPS ve ALPHA'yı (ve kimlere) dayanan tek ve çok parçalama sistemlerinde kullanılabilecek şekilde kullanılabilir. onlardan sonra gel). Programlar, DOS, Windows, OS / 2 ve POSIX standartlarıyla uyumlu sistemler için yazılan programlar, Microsoft, mevcut işletim sistemlerinden hiçbirinin yerini almayan mevcut NT yapısını tekrarlamayan genel bir NT yapısı oluşturmak için bir mikronomi kullandı. . Her işletim sistemi ayrı bir modül veya alt sistem olarak öykünür.

Daha sonra, işletim sistemlerinin mikronükleer mimarileri, Novell / USL, Açık Yazılım Vakfı (OSF), IBM, Apple ve diğerleri tarafından açıklandı. Mikronükleer OS alanındaki ana NT rakiplerinden biri, Hem IBM hem de OSF'nin ticari bir türe getirdiği Carnegie Melon Üniversitesi'nde oluşturulan bir sistem olan Mach 3.0'tan biri. (NextStep için temel olarak, Mach 2.5, Mach 2.5'i kullanır, ancak aynı zamanda Mach 3.0'a dikkatlice kısa görünüyor.) Başka bir rakip, Chorus Systems Chorus Systems Microker 3.0 Şirketi'nde, USL'yi yeni UNIX işletim sistemi uygulamalarının temeli olarak seçti. Solaris işletim sisteminin nesnel yönelimli bir halefi olan Güneş'in Springos'ta bazı Microkernel kullanılacak (Güneş, Springo'lar üzerinde sonuna kadar çalışacak). Monolitikten Mikro Terry sistemlerine geçişe yönelik eğilim açıktır (bu işlem basit değildir: IBM geri adım attı ve Mikronükleus teknolojisine gitmeyi reddetti). Bu arada, bu, birkaç yıl boyunca başarılı olan mikro rediri işletim sistemleri üreten QNX yazılım sistemleri ve Unisys şirketlerinin haberleri değildir. QNX OS, gerçek zamanlı pazar pazarında talepte olup, Unisys CTO'ları bankacılık alanında popülerdir. Her iki sistemde de, MicronUcleus işletim sisteminde var olan modülerlik başarıyla kullanılmıştır.


Sonuç

Unix'in diğer işletim sistemlerinden temel farklılıkları

UNIX, içinde bulunan ve kamu hizmetlerinden (çekirdek programın dışına) olan sürücüler içeren bir çekirdekten oluşur. Yapılandırmayı değiştirmek istiyorsanız (bir cihaz ekleyin, portu değiştirin veya kesintiye uğrayın), daha sonra çekirdek nesnelerin nesnelerinden veya (örneğin, FreeBSD) kaynaklarından yeniden oluşturulur (overcline). Bu tamamen doğru değil. Bazı parametreler yeniden inşa etmeden ateşi çözer. Yüklenebilir çekirdek modülleri de vardır.

UNIX'in aksine, "Windows (eğer belirtilmemişse, bu durum 3.11, 95 ve nt anlamına gelirse) ve OS / 2 takılırken. Bu durumda, monte edilmiş çekirdeğin kompaktlığı ve yeniden kullanmak Genel kod, UNIX'ten daha düşük bir büyüklük sırasıdır. Ek olarak, Unix çekirdek sistemi yeniden işleme olmadan yapılandırıldığında (sadece BIOS başlangıç \u200b\u200bbölümünü değiştirmek gerekli olacaktır) ROM'da kaydedilebilir ve RAM'de _ne_bow_ çalıştırılabilir. Kod kompaktlığı özellikle önemlidir, çünkü Çekirdek ve sürücüler asla fiziksel hafızayı bırakmaz, diskte sarhoş olmaz.

UNIX, en çok platformlu işletim sistemidir. Windowsnt onu taklit etmeye çalışıyor, ama şu ana kadar kötüdür - MIPS ve Power-PC'nin başarısızlığından sonra, W "NT sadece iki platformda kaldı - geleneksel i * 86 ve dec alfa. Bir sürümden gelen programların taşınabilirliği UNIX sınırlıdır. UNIX uygulamalarında farklılıkları dikkate almamak, "tamsayı değişkeni dört bayt işgal etmemeli", ciddi bir değişiklik gerektirebilir. Ancak yine de, çok fazla sipariş siparişidir, Örneğin, NT'de OS / 2 ile Perrrest.

Unix kapsamı

UNIX, hem sunucu hem de iş istasyonu olarak kullanılır. MSNT, Novell NetWare, IBM OS / 2 Warp Connect, Ara VMS ve ana bilgisayar işletim sistemleri, sunucu adaylığında onunla rekabet eder. Her sistemin diğerlerinden daha iyi olduğu kendi kapsamı vardır.

WindowsNT - ekonomik olarak harcama kaynakları ve yüksek performans için uygun bir arayüzü tercih eden yöneticiler için.

NetWare - Yüksek performans dosyasının ve yazıcı hizmeti gerekli olduğu ağlar için ve diğer hizmetler çok önemli değil. Ana dezavantaj - NetWare sunucusunda, uygulamaları çalıştırmak zordur.

OS / 2, "kolay" bir uygulama sunucusuna ihtiyacınız olan yerler iyidir. Kaynaklar, esnek yönetiminde NT'den daha az gerektirir (olabilir ve daha zor ayarda olmasına rağmen) ve çoklu görev çok iyidir. Erişim haklarının yetkilendirilmesi ve sınırlandırılması, uygulama uygulamaları düzeyinde ödeme yapmaktan daha fazlası olan işletim sistemi düzeyinde uygulanmaz. (Ancak, genellikle kalan işletim sistemi aynı şekilde yapar). OS / 2 tabanında birçok fidon ve BBS istasyonu yapılır.

VMS, güçlü bir olan, UNIX'ten (ve birçok açıdan ve üstündeki) uygulama sunucusuna, ancak yalnızca Platformlar VAX ve ALPHA DEC için.

Ana Bilgi - Çok sayıda kullanıcıyı korumak için (yaklaşık birkaç bin). Ancak bu kullanıcıların çalışmaları genellikle bir istemci-sunucu etkileşimi olarak düzenlenir, ancak ana bilgisayar terminali şeklindedir. Bu çiftin terminali, bir müşteri değil, ancak sunucu (internet dünyası, N3 1996. yılı için). Ana bilgisayarların faydaları, daha yüksek güvenlik ve başarısızlıklara karşı dirençten ve bu niteliklere karşılık gelen fiyata atfedilmelidir.

Unix, nitelikli (ya da böyle olmak isteyen) yöneticisi için iyidir, çünkü İçinde meydana gelen süreçlerin çalışma prensiplerinin bilgisini gerektirir. Gerçek çoklu görev ve sert bellek ayrımı, NetWare UNIX dosyalarının performans ve yazdırma hizmetlerinde daha düşük olmasına rağmen, sistemin yüksek güvenilirliğini sağlar.

Kullanıcı erişim hakları sağlama konusunda yetersiz esneklik, Windowsnt ile karşılaştırıldığında dosyalara göre, _A_EUROVNA_FILENE_SYSTEM_ DATA_NIGNIGNIGNA_FILENE_SYSTEM_ DATA_NIGN verilerini (daha kesin bir şekilde dosyalara) organize etmeyi zorlaştırır, bu da bence uygulamanın sadeliği ile telafi edilir ve bu nedenle ekipman için daha küçük gereksinimler. Bununla birlikte, SQL Server gibi uygulamalar, grup erişimi sorununu bu kuvvetlere çözer, böylece UNIX'in _yle_'sine erişimi yasaklayabilme yeteneğinin fikrimdeki belirli bir kullanıcıya açıkça aşırı olmasıdır.

İnternetin UNIX'e, özellikle Berkeley Üniversitesi'ndeki TCP / IP Protokolü yığınına dayandığı hemen hemen tüm protokoller.

Doğru yönetimi (ve ne zaman öyle değil?) UNIX güvenliğini NOVELL NO NO NOTACH NOT.

Bir UNIX'in önemli bir özelliği, onu Mainframes'e getiren, çoklu terminalidir, birçok kullanıcı aynı anda bir UNIX makinede programları çalıştırabilir. Grafik kullanmanız gerekmiyorsa, yavaş çizgiler boyunca bağlı ucuz metin terminallerini (uzmanlaşmış veya ucuz PC'ye göre) yapabilirsiniz. Sadece VMS onunla yarışıyor. Grafik X terminalleri, farklı makinelerde çalışan işlemler bir ekranda mevcut olduğunda kullanılabilir.

Unix ile iş istasyonlarının aday gösterilmesinde MS Windows *, IBM OS / 2, Macintosh ve Acorn RISC-OS ile rekabet edin.

Windows - Uyumluluğu takdir edenler için daha fazla verimlilik; Çok sayıda bellek, disk alanı ve megahertz satın almaya hazır olanlar için; Özüne bağlı olmayanlar için, penceredeki düğmelerin üzerinden fareyi tıklatın. Doğru, er ya da geç, sistemin ve protokollerin ilkelerini incelemelidir, ancak o zaman çok geç olacak - seçim yapılır. Windows'un önemli bir avantajı da bir demet yazılımı çalma yeteneği olarak da tanınmalıdır.

OS / 2 - OS / 2 sevenler için. :-) Bazı OS / 2 bilgisi, ana bilgisayarlar ve IBM ağlarıyla daha iyi etkileşime girmesine rağmen.

Macintosh - Grafik, yayıncılık ve müzikal işler için, net, güzel bir arayüzü sevenler için ve istemiyorlar (edemez), sistemin işleyişinin ayrıntılarını anlamalar.

ROM'a dikilmiş RISC-OS, işletim sisteminin kurulumunda zaman kaybetmemesine ve başarısızlıktan sonra geri yüklememesini sağlar. Buna ek olarak, neredeyse tüm programlar, swallop'a ihtiyaç duymadıkları ve çok hızlı çalıştıkları sayesinde ekonomik olarak kaynak harcamaktadır.

UNIX, hem PC'de hem de RISC işlemcileriyle güçlü iş istasyonlarında, UNIX altında gerçek güçlü CAD ve coğrafi bilgi sistemleri yazılmıştır. Multiplatform nedeniyle UNIX'in ölçeklenebilirliği ile, bazı yazarlara göre bir büyüklük sırası başka bir işletim sistemini aşıyor.


Bibliyografi

1. Öğretici KUZNETSOVA S.D. "İşletim sistemi UNIX" 2003;

2. Polyakov A.D. "X86'daki UNIX 5-th Edition, ya da hikayeyi unutma";

3. Karpov D.Yu. "Unix" 2005;

4. Fedorchuk A.V. "UNIX İş Beceri", 2006

5. Sitenin malzemeleri http://www.citforum.ru/operating_systems/1-16;

Rusya Federasyonu Milli Eğitim ve Bilim Bakanlığı Federal Eğitim Devleti Devlet Eğitim Kurumu Yüksek Mesleki Eğitim Kurumu Taganrog Devlet Radyo Mühendisliği Üniversitesi Disiplin Üniversitesi

UNIX'in uzun ve ilginç bir hikayesi var. Genç araştırmacıların anlamsız ve neredeyse "oyuncak" projesi olarak başlayan UNIX, yörüngesinde, çok uluslu şirketler, hükümetler ve uluslararası standardizasyon organizasyonlarında üniversiteler de dahil olmak üzere çok milyon dolarlık bir endüstri olmuştur.

UNIX, 20 yıldan fazla bir süre önce AT & T Bell Labs Laboratuarlarında ortaya çıktı. O zamanlar, Çan Laboratuvarları, MIT ve General Electric ile birlikte çok oyunculu bir multict (çoklu bilgilendirilmiş bilgi ve bilgi işlem hizmeti) gelişiminde bulundu, ancak bu sistem, kısmen bilgisayarların seviyesini karşılamayan çok iddialı amaçlardan dolayı başarısız oldu. O zaman ve kısmen ve pl / 1'de tasarlandığı ve PL / 1 derleyicisi nedeniyle gecikti ve genellikle geç görünümünden sonra iyi çalıştı. Bu nedenle, Bell Laboratuvarları genellikle, Çan Laboratuarları işletim ortamını geliştirme yönünde çalışmak üzere, araştırmacılarından birinin Kentu Thompson'a olan fırsatı veren çoklu projelere katılmayı reddetti. Thompson, ayrıca bir Çan Laboratuvar Çalışanı Denis Ritchie ve diğerleri, birçok özelliğin kökenlerini çoklardığından yöneten yeni bir dosya sistemi geliştirdi. Yeni Tompson dosya sistemini test etmek için, OS çekirdeğini ve GE-645 bilgisayarı için bazı programları, GECOS zaman bölünmüş sisteminin kontrol sistemi altında çalışan bazı programları yazın. Ken Thompson, "uzay yolculuğu" - "Uzay Yolculuğu" - çok sayıda oyun üzerinde çalışmalar sırasında onlara yazılmıştır. GE-645 bilgisayarında başlattı, ama zaman ayrılmasının düşük verimliliği nedeniyle çok iyi değildi. Ek olarak, motor zamanı GE-645 çok pahalıydı. Sonuç olarak, Thompson ve Ritchi, oyunu 4096 18 bit kelime, teletype ve iyi bir grafik ekran olan Aralık PDP-7 makinesinin köşesine taşımaya karar verdi. Ancak PDP-7'nin önemsiz bir yazılıma sahipti ve oyunun transferini bitirerek Thompson, GE-645'te çalıştığı PDP 7'deki dosya sistemini uygulamaya karar verdi. Bu çalışmadan, ilk UNIX versiyonu, o zaman hiçbir isim olmamasına rağmen ortaya çıktı. Ancak, Endeks Endeksi tanımlayıcılarına dayanan UNIX'in özelliği olan bir dosya sistemini zaten içermiştir ve bir süreç ve bellek alt sistemine sahipti ve iki kullanıcının zaman ayırma modunda çalışmasına izin verdi. Sistem montajcıyla yazılmıştır. UNIX adı (UNIX, BİLGİSİ VE BİLGİSAYAR HİZMETLERİ), ilk diğer Bell Laboratuvarları olan Brian Kernigan'a, başlangıçta, çok oyunculu multipl'ten farkını vurgulayan Brian Kernigan'a verildi. Yakında UNICS UNIX'i aramaya başladı.

UNIX'in ilk kullanıcıları "a, metin oluşturma için uygun bir ortam bulduğu Bell Labs patent departmanının çalışanları oldu.

Unix'in kaderi üzerinde büyük bir etki, bu amaçlar için özel olarak geliştirilen Denis Ritchie ile üst düzey dilinin nüfus sayımıydı. Bu 1973'te gerçekleşti, UNIX zaten bu süre zarfında zaten 25 kurulum ve Bell Labs, özel bir UNIX destek grubu yarattı.

UNIX, 1974'ten bu yana yaygınlaştı, bu sistemi, CACM bilgisayar dergisinde Thompson ve Ritchie'yi tarif ettikten sonra. Unix, üniversitelerde yaygınlaştı, çünkü C. için orijinal kodlarla birlikte, verimli C-Derleyicilerin geniş dağılımı, çeşitli bilgisayarları aktarma olasılığı nedeniyle, verimli C-derleyicilerinin geniş dağılımı. Üniversiteler, UNIX'in iyileştirilmesine ve daha da popüler hale getirilmesine önemli katkı sağlamıştır. Standart bir ortam olarak UNIX tanıma elde etmek için başka bir adım Stdio G / Ç kütüphanesinin geliştirilmesiydi. C derleyicisi için bu kütüphanenin kullanımı sayesinde UNIX programı kolayca tolere edilmiştir.

İncir. 5.1. Birleşmiş Milletler Geliştirme Unix

UNIX'in geniş dağılımı, sayısız sürümünün uyumsuzluğunu oluşturdu. Açıkçası, kullanıcı, bir UNIX'in bir versiyonu için satın alınan paketin, UNIX'in başka bir sürümü üzerinde çalışmayı reddettiği çok hoş değil. Periyodik olarak yapıldı ve Unix'i standartlaştırmaya çalışır, ancak hala sınırlı bir başarıya sahipti. UNIX'in çeşitli sürümlerinin yakınlaştırma işlemi ve bunların tutarsızlığı sikliktir. Diğer herhangi bir işletim sisteminden yeni bir tehdit yüzünün önünde, çeşitli Unix sürümleri üreticileri ürünlerini bir araya getirir, ancak daha sonra rekabetçi bir mücadele, onları orijinal gelişmeler ve sürümleri tekrar ayrılmalarını zorlar. Bu süreçte, pozitif bir taraf var - hem Unix'i hem de uzun yıllarında çok faydalı varoluş yapan diğer birçok işletim sistemini geliştiren yeni fikirlerin ve fonların ortaya çıkması.

Şekil 5.1, çeşitli sürümlerin sürekliliğini ve alınan standartların üzerindeki etkisini göz önünde bulunduran UNIX Geliştirme'nin basitleştirilmiş bir resmini göstermektedir. İki Uyumsuz UNIX Versiyonu çizgisi en büyük dağıtım elde edildi: AT & T - UNIX System V ve Berkeley-BSD Üniversitesi Hattı. Bu sürümlere dayanan birçok şirket, UNIX'in sürümlerini geliştirmiş ve desteklemiştir: Sunos ve Solaris, Suns Microsystems, Ux Hewlett-Packard, Xenix Company Microsoft, IBM, UNIXware Company Novell (şimdi SCO şirketini sattı), ve bu liste hala uzun sürüyor.

SviD firmaları AT & T, POSIX gibi bu standartlar, IEEE'nin himayesinde yaratılan ve XPG4 X / Open XPG4'ün Unix sürümlerinin birleşmesi üzerinde en büyük etkiye sahipti. Bu standartlar, uygulamaların UNIX'in çeşitli sürümlerini başarıyla çalıştırmasını sağlayan uygulamalar ve işletim sistemleri arasındaki arayüz için gereksinimleri formüle eder.

Sürümden bağımsız olarak, UNIX özellikleri için ortak:

  • yetkisiz erişimden veri korumalı çok oyunculu mod,
  • Çoklu görevi yerine getirme için algoritmaların kullanımına dayanarak zaman ayırma modunda çok yönlü işleme uygulanması (önleyici çoklu görev),
  • Çok programlama seviyelerini geliştirmek için sanal bellek ve takas mekanizmaları kullanımı
  • "Dosya" kavramının genişletilmiş kullanımına dayanan G / Ç işlemlerinin birleşmesi
  • dosyaları yerleştirmek için kullanılan fiziksel cihaz sayısından bağımsız olarak tek bir dizin ağacı oluşturan hiyerarşik dosya sistemi,
  • sistemin ana kısmını C'ye yazarak taşınabilirliği,
  • ağ üzerinden dahil olmak üzere, işlemlerin çeşitli etkileşimi,
  • dosyalara ortalama erişimi azaltmak için disk önbelleğe alma.

UNIX System V Yayın 4, işletim sisteminin bitmemiş bir ticari versiyonudur, çünkü Kodlarında, Yönetim Yardımcı Programı veya Grafik Arabirim Yöneticisi gibi işletim sisteminin başarılı bir şekilde çalışması için sistem yardımcı programı yoktur. SVR4 versiyonu, bellek dosyalarında görüntülenen VFS sanal dosya sistemi gibi, Unix çekirdeğinin çeşitli sürümlerinden en popüler ve etkili çözümleri en popüler ve etkili çözümleri etkinleştiren standart uygulamayıdır. SVR4 kodu (kısmen değiştirilmiş), HP-UX, Solaris, Aix, vb. Gibi, Unix'in birçok modern ticari versiyonunun temelini oluşturur.

Kum havuzu

Neşeli usach 19 Mart 2011 tarihinde 23:16

Linux, UNIX'ten ne farklılık gösterir ve UNIX benzeri bir işletim sistemi nedir?

  • Kereste odası *
Unix
Unix (değmez UNIX benzeri işletim sisteminin tanımı ile karıştı) bir işletim sistemleri ailesidir (Mac OS X, GNU / Linux).
İlk sistem 1969 yılında eski bir Amerikan şirketi olan Bell Laboratories'te geliştirilmiştir.

Unix'in ayırt edici özellikleri:

  1. Basit, genellikle metin, dosyaları kullanarak sistemin basit konfigürasyonu.
  2. Komut satırının geniş kullanımı.
  3. Konveyörlerin kullanımı.
Günümüzde, UNIX esas olarak sunucularda ve ekipman için bir sistem olarak kullanılır.
UNIX sistemlerinin büyük tarihsel önemini not etmemek imkansızdır. Halen, en tarihsel olarak önemli işletim sistemlerinden biri olarak kabul edilirler. UNIX sistemlerinin geliştirilmesi sırasında, C dili oluşturuldu.

Yıllarca UNIX seçenekleri

Unix benzeri işletim sistemi
Unix benzeri işletim sistemi (ara sıra Bir Azaltma * Nix kullanarak) - UNIX'in etkisi altında oluşan bir sistem.

UNIX Word, uygunluk ve bir ticari marka olarak kullanılır.

Açık Grup Konsorsiyumu'nun bir "UNIX" ticari markasına sahiptir, ancak UNIX markası için belgelendirme yetkisi olarak en ünlüdür. Son zamanlarda, Açık Grup, UNIX olarak adlandırılacak gurur duyan, OS'u tatmin etmesi gereken tek Unix spesifikasyon şartnamesinin yayınlanmasıyla bağlantılı olarak kaybolan bir ışığa sahiptir.

UNIX benzeri işletim sistemlerinin şecere ağacına bakabilirsiniz.

Linux
Linux. - GNU Projesi içinde tasarlanan UNIX destekli işletim sistemlerinin ortak adı (spoun geliştirilmesinde proje). Linux, Ending Intel X86 kolundan çıkan çok sayıda işlemci mimarisinde çalışır.

En ünlü ve dağıtılan dağılımlar, Kave Linux, Centos, Debian. Ayrıca birçok "yerli", Rus dağılımları - Alt Linux, Asplinux ve diğerleri var.

Oldukça birkaç GNU / Linux adlandırma anlaşmazlığı var.
Destekleyenler "Açık Kaynak" "Linux" terimini ve "ücretsiz yazılım" destekçilerini kullanın - "GNU / Linux". İlk seçeneği tercih ederim. Bazen GNU / Linux terimini, "GNU-Linux", "GNU-Linux", "GNU Linux" olarak görüntüleme rahatlığı için yazıyor.

Ticari sistemlerin aksine (MS Windows, Mac OS X) Linux'un coğrafi gelişim merkezi ve sisteme sahip olacağı belirli bir organizasyon yoktur. Kendisi için sistem ve programlar, binlerce projenin büyük toplulukların çalışmalarının sonucudur. Projeye katılın veya kendi herkesin oluşturun!

Çıktı
Böylece bir zincirimiz vardı: UNIX -\u003e UNIX benzeri OS -\u003e Linux.

Özetle, Linux ve Unix arasındaki farkların açık olduğunu söyleyebilirim. UNIX, çok daha geniş bir konsept, tüm Unix benzeri sistemleri inşa etme ve belgelendirme vakası ve Linux, bir UNIX'in belirli bir örneğidir.

Etiketler: Unix, Linux, Nix, Linux, Unix

Bu makale, yazar henüz olmadığı için yoruma tabi değildir.