Unix grafik sisteminin genel adı. UNIX ailesinin işletim sistemlerinin özellikleri

  • 13.05.2019

UNIX OS'nin gelişimi hakkında kısa bilgi

UNIX OS, 60'ların sonlarında PDP-7 mini bilgisayarı için bir işletim sistemi olarak ortaya çıktı. Kenneth Thomson ve Dennis Ritchie geliştirmede aktif rol aldı.

UNIX OS'nin özellikleri şunlardır: çok kullanıcılı mod, yeni dosya sistemi mimarisi, vb.

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

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

UNIX sürümleri

UNIX'in yayılmasının en başından itibaren, işletim sisteminin çeşitli sürümleri Amerikan üniversitelerinde görünmeye başladı.

AT&T, 1982'de düzene sokmak için çeşitli sürümleri OS varyantı - Sistem III olarak adlandırılan bir sürümde birleştirdi. 1983'te ticari versiyon System V piyasaya sürüldü.1993'te AT&T, UNIX haklarını Novell'e sattı ve ardından X / Open konsorsiyumu ve Santa Cruz Operasyonu'na (SCO) geçti.

UNIX OS'nin başka bir hattı olan BSD, California Üniversitesi'nde (Berkeley) geliştirilmektedir. FreeBSD, OpenBSD'nin ücretsiz sürümleri vardır.

OSF / 1 ailesi - Açık Yazılım Vakfı - IBM, DEC ve Hewlett Packard'ın işletim sistemi konsorsiyumunu içerir. Bu ailenin işletim sistemi şunları içerir: HP-UX, AIX, Digital UNIX.

Ücretsiz UNIX işletim sistemi sürümleri

UNIX'in birçok ücretsiz sürümü mevcuttur.

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

Ücretsiz UNIX sistemlerinin en popüler ailesi, Linux... İlk Linux varyantı 1991'de Linus Torvalds tarafından geliştirildi. Şu anda birkaç varyant var. Linux: Red Hat, Mandrake, Slackware, SuSE, Debian.

UNIX sistemlerinin ortak özellikleri

Farklı UNIX tatları birçok ortak noktayı paylaşır:

Önleyici çoklu göreve dayalı zaman paylaşımlı çoklu programlama;

Çok oyunculu mod desteği;

Sanal bellek ve takas mekanizmalarını kullanma;

Hiyerarşik dosya sistemi;

Dosya kavramının genişletilmiş kullanımına dayalı G/Ç işlemlerinin birleştirilmesi;

Sistem taşınabilirliği;

Ağ iletişim araçlarının mevcudiyeti.

UNIX sistemlerinin avantajları

UNIX tabanlı işletim sisteminin avantajları şunları içerir:



taşınabilirlik;

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

açıklık;

Standartlara uygunluk ve sıkı bağlılık;

Birleşik 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 bilgisayarlardan gelen istekleri işleyen ve verileri depolamak, işlemek ve iletmek için kendi kaynaklarını sağlayan bir bilgisayardır. Bir UNIX sunucusu aşağıdaki rolleri gerçekleştirebilir:

Dosya sunucusu;

Web sunucusu;

Posta sunucusu;

Uzaktan kayıt (kimlik doğrulama) sunucusu;

İkincil Web Hizmetleri Sunucuları (DNS, DHCP);

İnternet erişim sunucusu

UNIX Bilgisayar Yönetimi

Bir UNIX sistemi ile sunucu modunda çalışırken, kural olarak, bazı terminal programlarının yardımıyla uzaktan erişim modu kullanılır.

Oturum, kayıt adı ve erişim parolasının girilmesiyle başlar.

Genellikle, sunucu yönetimi görevlerini çözmek için, komut çalıştırma moduyla sınırlıdırlar. Bu durumda, kontrol için özel komutların komut satırına özel bir biçimde girilmesi kullanılır. Komut satırında aşağıdaki gibi özel bir bilgi istemi vardır:

Takımın genel görünümü:

  1. -bash-2.05b $ komut [seçenekler] [seçenekler]

Örneğin, işletim sistemi yardımını çağırmak şöyle görünür:

  1. -bash-2.05b $ man [anahtarlar] [konu]
  2. man komutunu kullanma konusunda yardım için şunu yazın
  3. -bash-2.05b $ adam adam

Komut satırını yorumlama

Komut girerken aşağıdaki kurallar kullanılır:

Komut satırındaki ilk kelime komut adıdır;

Geri kalan kelimeler argümanlardır.

Argümanlar arasında öne çıkan anahtarlar (seçenekler) - bir (kısa biçim) veya bir çift kısa çizgi (uzun biçim) ile başlayan, her komut için önceden tanımlanmış kelimeler (karakterler). Örneğin:

Bash-2.05b $ tar –c –f arch.tar * .c

Bash-2.05b $ tar - -create - -file = arch.tar * .c

Seçenekler belirlenirken bunlar birleştirilebilir. Örneğin, aşağıdaki komutlar eşittir:

Bash-2.05b $ ls –a –l

Bash-2.05b $ ls –l –a

Bash-2.05b $ ls –al

Diğer argümanlar, üzerinde çalışılacak nesnelere işaret eder.

Kabuk değişkenleri

Sistemde çalışırken, kabuk anahtarlarını kullanmanın yanı sıra, ortam değişkenlerini kullanarak parametreleri programlara aktarmanın bir yolu vardır. set komutu, ortam değişkenini ayarlamak için kullanılır. Komut biçimi:

Bash-2.05b $ değişken_adı ayarla = değer

Bir ortam değişkeninin kaldırılması, unset komutuyla yapılır.

Bir değişkenin değerine atıfta bulunmak için $değişken_adı gösterimi kullanılır, örneğin şu komut:

Bash-2.05b $ yankı $ YOL

PATH değişkeninin değerini yazdıracaktır.

Üst düzey bir dil ile. 1969 civarında, Ken Thompson, Dennis Ritchie'nin yardımıyla, BCPL dilinin basitleştirilmiş (mini bilgisayarlarda uygulama için) versiyonu olan B (B) dilini geliştirdi ve uyguladı. Bi, BCPL gibi, yorumlanan bir dildi. 1972 yılında serbest bırakıldı ikinci baskı Unix Bi'de yeniden yazıldı. 1969-1973'te. Bi temelinde, C (C) adı verilen derlenmiş bir dil geliştirildi.

Bölmek

Unix'teki bölünmenin önemli bir nedeni, 1980'de TCP / IP protokol yığınının uygulanmasıydı. O zamana kadar, Unix'te makineler arası iletişim emekleme dönemindeydi - en önemli iletişim yöntemi UUCP idi (bir Unix sisteminden diğerine dosya kopyalama, başlangıçta modemler kullanarak telefon ağları üzerinden çalışma).

İki ağ uygulaması programlama arabirimi önerilmiştir: Berkley yuvaları ve Aktarım Katmanı Arabirimi (TLI).

Berkley soket arayüzü, Berkeley Üniversitesi'nde geliştirildi ve orada geliştirilen TCP/IP protokol yığınını kullandı. TLI, AT&T tarafından OSI modelinin taşıma katmanı tanımına göre oluşturuldu ve ilk olarak System V sürüm 3'te ortaya çıktı. Bu sürüm TLI'leri ve akışları içermesine rağmen, başlangıçta TCP / IP veya diğer ağ protokollerini içermiyordu, ancak bu tür uygulamalar üçüncü tarafından sağlandı. partiler...

TCP / IP uygulaması, System V sürüm 4'ün temel dağıtımına resmi ve kesin olarak dahil edildi. Bu, diğer (çoğunlukla piyasa) hususlarla birlikte, iki Unix şubesi - BSD (Berkeley Üniversitesi) ve System V arasındaki nihai sınırın çizilmesine neden oldu. (ticari versiyon) AT&T'den). Daha sonra, birçok şirket AT&T'den System V lisansı aldı ve AIX, CLIX, HP-UX, IRIX, Solaris gibi kendi ticari Unix lezzetlerini geliştirdi.

Modern Unix uygulamaları genellikle saf V veya BSD sistemleri değildir. Hem System V hem de BSD'nin yeteneklerini uygularlar.

Ücretsiz Unix benzeri işletim sistemleri

GNU / Linux ve BSD ailesi şimdi ticari Unix sistemlerinden hızla pazar payı kazanıyor ve aynı anda hem son kullanıcı masaüstlerine hem de mobil ve gömülü sistemlere giriyor.

tescilli sistemler

AT&T'nin bölünmesinden sonra, Unix ticari markası ve orijinal kaynak kodunun hakları birkaç kez sahiplerini değiştirdi, özellikle uzun süre Novell'e aitti.

Unix'in işletim sistemlerinin evrimi üzerindeki etkisi

Unix sistemleri, günümüzde işletim sistemi ve yazılım alanındaki bazı popüler kavram ve yaklaşımların yayılmasına yardımcı oldukları için büyük tarihsel öneme sahiptir. Ayrıca Unix sistemlerinin geliştirilmesi sırasında C dili oluşturulmuştur.

Sistem programlamasında yaygın olarak kullanılan ve orijinal olarak Unix geliştirmesi için yaratılan C dili, popülerlik açısından Unix'i geride bıraktı. C dili, programcıya belirli bir programlama stili empoze etmeye çalışmayan ilk "hoşgörülü" dildi. C, referanslar, tablolar, bit kaydırmalar, artışlar vb. gibi tüm işlemci özelliklerine erişim sağlayan ilk üst düzey dildi. Öte yandan, C dilinin özgürlüğü, C standart kütüphane işlevlerinde arabellek taşması hatalarına yol açtı. alır ve scanf. Sonuç, ünlü Morris solucanında kullanılana benzer birçok kötü şöhretli güvenlik açığıydı.

İlk Unix geliştiricileri, modüler programlama ve yeniden kullanılabilirlik ilkelerinin mühendislik uygulamalarına getirilmesine öncülük ettiler.

Unix, TCP / IP protokollerini nispeten ucuz bilgisayarlarda kullanmayı mümkün kıldı ve bu da İnternet'in hızlı büyümesine yol açtı. Bu da Unix'in güvenlik, mimari ve sistem yardımcı programlarındaki birkaç büyük güvenlik açığının hızlı bir şekilde tespit edilmesini kolaylaştırdı.

Zaman içinde, önde gelen Unix geliştiricileri, yazılım geliştirme için Unix'in kendisi kadar önemli hale gelen kültürel normlar geliştirdiler. ( )

Unix benzeri işletim sistemlerinin en ünlü örneklerinden bazıları macOS'tur, kim? ] o zamanki Unix'in işletim sistemi verileriyle karşılaştırıldığında dezavantajları vardı (örneğin, ciddi veritabanı motorlarının olmaması), şuydu: a) daha ucuz ve bazen akademik kurumlar için ücretsiz; b) donanımdan donanıma taşınmış ve programların geliştirilmesini belirli donanımlardan "ayıran" taşınabilir C dilinde geliştirilmiştir. Ek olarak, kullanıcı deneyiminin donanımdan ve üreticiden "çözülmüş" olduğu ortaya çıktı - VAX'ta Unix ile çalışan bir kişi, 68xxx'te onunla kolayca çalıştı vb.

O zamanlar donanım üreticileri, Unix'i bir oyuncak olarak kabul ederek ve ticari yapılarda temel olarak DBMS ve bunlara dayalı iş uygulamaları gibi ciddi işler için tescilli işletim sistemlerini sunarak genellikle Unix'e karşı soğuk bir tavır sergilediler. Bu konuda DEC'in VMS'si ile ilgili bilinen yorumları var. Şirketler bunu dinledi, ancak Unix'te kendisi için her şeye sahip olan akademik ortam, genellikle üreticiden resmi destek gerektirmedi, bununla kendi başına başa çıktı ve Unix'in ucuzluğunu ve taşınabilirliğini takdir etti. Böylece Unix, farklı donanımlara taşınan neredeyse ilk işletim sistemi oldu.

Unix'in ikinci keskin yükselişi, 1989 civarında RISC işlemcilerinin piyasaya sürülmesiydi. Bundan önce bile, sözde. iş istasyonları - CAD'ler gibi ciddi uygulamalarla çalışmak için yeterli belleğe, sabit diske ve yeterince gelişmiş bir işletim sistemine (çoklu görev, bellek koruması) sahip, yüksek güçlü kişisel tek kullanıcılı bilgisayarlar. Bu tür makinelerin üreticileri arasında öne çıkan Sun Microsystems, adından söz ettirdi.

RISC işlemcilerin ortaya çıkmasından önce, bu istasyonlar genellikle Apple bilgisayarlarında olduğu gibi (Apple'dan daha gelişmiş bir işletim sistemi altında da olsa) Motorola 680x0 işlemcisini kullanıyordu. 1989 civarında, RISC mimarisi işlemcilerinin ticari uygulamaları pazara girdi. Bir dizi şirketin (Sun ve diğerleri) mantıklı kararı, Unix yazılımının tüm ekosisteminin hemen taşınmasını gerektiren Unix'i bu mimarilere taşımaktı.

VMS gibi tescilli ciddi işletim sistemleri o andan itibaren düşüşe başladı (işletim sisteminin kendisini RISC'ye aktarmak mümkün olsa bile, bu ekosistemlerde genellikle montajcıda veya içinde geliştirilen uygulamalarla her şey çok daha karmaşıktı. BLISS gibi tescilli diller ve Unix, dünyanın en güçlü bilgisayarları için işletim sistemi haline geldi.

Ancak bu sıralarda ekosistem, Windows 3.0 karşısında GUI'ye taşınmaya başladı. GUI'nin muazzam faydaları ve örneğin tüm yazıcı türleri için birleşik destek, hem geliştiriciler hem de kullanıcılar tarafından takdir edilmiştir. Bu, Unix'in PC pazarındaki konumunu ciddi şekilde zayıflattı - SCO ve Interactive UNIX gibi uygulamalar Windows uygulamalarını destekleyemedi. Unix için GUI'ye gelince, X11 (çok daha az popüler olan başka uygulamalar vardı), bellek gereksinimleri nedeniyle normal bir kullanıcı bilgisayarında tam olarak çalışamadı - normal çalışma için X11 16 MB gerektiriyordu, Windows 3.1 ise yeterli performansa sahip hem Word hem de Excel'i aynı anda 8 MB'de çalıştırıyordu (bu, o sırada standart PC belleği boyutuydu). Bellek fiyatlarının yüksek olması, sınırlayıcı faktördü.

Windows'un başarısı, Windows ile API uyumlu olan, ancak aynı zamanda ciddi bir işletim sisteminin aynı mimari özelliklerine sahip olan Windows NT adlı dahili bir Microsoft projesine ivme kazandırdı - çoklu görev, tam bellek koruması, çok işlemcili makineler için destek, dosya erişim hakları ve dizinleri, syslog. Windows NT ayrıca, o zamanlar yetenekler açısından tüm standart Unix dosya sistemlerini aşan NTFS günlük kaydı dosya sistemini de tanıttı - Unix benzerleri, Veritas ve diğerlerinden yalnızca ayrı ticari ürünlerdi.

Windows NT ilk başta popüler olmasa da, yüksek bellek gereksinimleri (aynı 16 MB) nedeniyle Microsoft'un örneğin bir veritabanı yönetim sistemi gibi sunucu çözümleri pazarına girmesine izin verdi. O zamanlar çoğu kişi, geleneksel olarak masaüstü yazılımlarında uzmanlaşan Microsoft'un, Oracle ve Sun gibi büyük isimleri zaten olan kurumsal yazılım pazarında bir oyuncu olabileceğine inanmıyordu. Bu şüpheye ek olarak, Microsoft'un SQL Server DBMS'sinin Sybase SQL Server'ın basitleştirilmiş bir sürümü olarak yola çıkması, Sybase'den lisanslanması ve onunla çalışmanın tüm yönleriyle %99 uyumlu olması da eklendi.

1990'ların ikinci yarısında Microsoft, Unix'i kurumsal sunucu pazarına da sıkıştırmaya başladı.

Profesyonel ekipmanlardan ev ekipmanı haline gelen 3D video kontrol cihazlarının fiyatlarındaki düşüşün yanı sıra, yukarıdaki faktörlerin kombinasyonu, 2000'lerin başında bir iş istasyonu kavramını esasen öldürdü.

Ayrıca, özellikle tipik kullanım durumlarında Microsoft sistemlerinin yönetimi daha kolaydır.

Ancak bu noktada Unix'in üçüncü keskin yükselişi başladı.

FreeBSD o zamanlar Linux'a ciddi bir rakipti, ancak Linux'un "pazar" tarzının aksine "katedral" geliştirme yönetimi tarzı ve ayrıca çok işlemcili makineler ve yürütülebilir dosya biçimleri için destek gibi konularda çok daha teknik arkaizm. , Linux'a kıyasla FreeBSD'nin gelişimini büyük ölçüde yavaşlattı ve ikincisini özgür yazılım dünyasının amiral gemisi haline getirdi.

Gelecekte, Linux yeni ve yeni zirvelere ulaştı:

  • Oracle gibi ciddi tescilli ürünlerin taşınması;
  • IBM'in dikey çözümlerinin temeli olarak bu ekosisteme olan güçlü ilgisi;
  • Windows dünyasından neredeyse tüm tanıdık programların analoglarının görünümü;
  • bazı donanım üreticilerinin Windows'un zorunlu ön kurulumunu reddetmesi;
  • sadece Linux ile netbook'ların piyasaya sürülmesi;
  • Android'de çekirdek olarak kullanın.

Linux, masaüstlerinde çok daha az popüler olmasına rağmen, şu anda haklı olarak popüler olan sunucu işletim sistemidir.

UNIX, 20 yılı aşkın bir süre önce AT&T Bell Laboratuvarlarında doğdu.

UNIXÇeşitli kullanıcıların programları ve dosyaları için yeterince güçlü koruma araçları içeren çok kullanıcılı, çok görevli bir işletim sistemidir. C dilinde yazılmıştır ve makineden bağımsızdır, bu da yüksek mobilitesini ve çeşitli mimarilerdeki PC'lerde uygulama programlarının kolay taşınabilirliğini sağlar. UNIX işletim sisteminin önemli bir özelliği, modülerliği ve programcılar için uygun bir işletim ortamı yaratan kapsamlı bir dizi hizmet programıdır.

Hiyerarşik dosya yapısını, sanal belleği, çok pencereli arayüzü, çok işlemcili sistemleri, çok kullanıcılı veritabanı yönetim sistemini, heterojen bilgisayar ağlarını destekler.

UNIX OS aşağıdaki ana özelliklere sahiptir:

taşınabilirlik;

- önleyici çoklu görev sanal bellekte yalıtılmış adres alanlarında çalışan işlemlere dayalı olarak;

Birçok kullanıcının eşzamanlı çalışması için destek;

Asenkron süreçler için destek;

Hiyerarşik dosya sistemi;

Cihazdan bağımsız I/O işlemleri için destek (cihaz özel dosyaları aracılığıyla);

Programlar (borular, IPC'ler) ve kullanıcılar (çekirdek dışındaki komut yorumlayıcısı) için standart arayüz;

Yerleşik sistem muhasebe araçları.

UNIX işletim sistemi mimarisi- çok seviyeli. Alt seviye çalışıyor çekirdek işletim sistemi. Çekirdek işlevlerine (süreç yönetimi, bellek yönetimi, kesme işleme vb.) aracılığıyla erişilebilir. sistem çağrısı arayüzü, ikinci seviyeyi oluşturuyor. sistem çağrılarıçekirdek prosedürlerine erişmek için bir programlama arabirimi sağlar. Bir sonraki seviye çalışıyor komut tercümanları , komutlar ve sistem yönetimi yardımcı programları, iletişim sürücüler ve protokoller , - genellikle olarak adlandırılan her şey sistem yazılımı ... Dış seviye oluşur Uygulama programları kullanıcı, ağ ve diğer iletişim hizmetleri, VTYS ve yardımcı programlar.

İşletim sistemi iki ana görevi yerine getirir: veri işleme ve depolama. Çoğu program esas olarak verileri manipüle eder, ancak nihayetinde bir yerde saklanırlar. UNIX'te bu depolama konumu dosya sistemi... Ayrıca, UNIX'te tüm cihazlar işletim sisteminin birlikte çalıştığı dosyalar da dosya sisteminde özel dosyalar olarak temsil edilir.

Mantıksal dosya sistemi UNIX OS'de (veya sadece dosya sistemi ) ile başlayan sistemdeki tüm dizinlerin ve dosyaların hiyerarşik olarak organize edilmiş bir yapısıdır. kök dizin. UNIX dosya sistemi, çeşitli ortamlarda ve çevresel aygıtlarda bulunan verilere erişmek için birleşik bir arabirim sağlar. Mantıksal bir dosya sistemi bir veya daha fazla dosyadan oluşabilir. fiziksel dosya (alt) sistemler, fiziksel ortamdaki bölümler (diskler, CD-ROM'lar veya disketler).


Dosya sistemi dosya izinlerini kontrol eder, dosya oluşturma ve silme işlemlerini gerçekleştirir ve dosya verilerini yazar / okur. Dosya sistemi, çevresel aygıtlara gönderilen isteklerin G / Ç alt sisteminin ilgili modüllerine yeniden yönlendirilmesini sağlar.

UNIX dosya sisteminin hiyerarşik yapısı, gezinmeyi kolaylaştırır. Kökten başlayarak her dizin ( / ), sırayla, dosyaları içerir ve alt dizinler.

UNIX OS'de alt dizinlerin sayısında teorik bir sınır yoktur, ancak bir dosya adının komutlarda belirtilen maksimum uzunluğu üzerinde bir sınır vardır - 1024 karakter.

UNIX'te işlevselliklerine göre farklılık gösteren birkaç dosya türü vardır:

Normal dosya - bir biçimde veri içeren en yaygın dosya türü. İşletim sistemi için bu tür dosyalar basitçe bir bayt dizisidir. Bu dosyalar metin dosyalarını, ikili verileri ve yürütülebilir programları içerir.

Katalog- içerdiği dosyaların adlarını ve ayrıca işletim sisteminin bu dosyaları işlemesine izin veren ek bilgilere yönelik işaretçileri içeren bir dosyadır. Dizinler yardımıyla dosya sisteminin mantıksal bir ağacı oluşturulur.

Cihaz özel dosyası - Fiziksel cihazlara erişim sağlar. Cihazlara özel bir cihaz dosyası açılarak, okunarak ve yazılarak erişilir.

FIFO adlandırılmış bir kanaldır. Bu dosya, sıralanmış bir temelde süreçler arasındaki iletişim için kullanılır.

Priz- bir ağ bağlantısını dosya olarak göstermenize izin verir.

Her UNIX dosyası, kullanıcının dosyayla nasıl etkileşime gireceğini belirleyen bir dizi izin içerir.

Her sabit sürücü bir veya daha fazla mantıksal bölümden oluşur - bölümlerden. Bölümün konumu ve boyutu, disk biçimlendirildiğinde belirlenir. UNIX OS'de bölümler, farklı depolama ortamları olarak erişilen bağımsız cihazlar olarak işlev görür. Bir bölüm yalnızca bir tane içerebilir fiziksel dosya sistemi.

FAT16 ve NTFS gibi farklı yapılara sahip birçok fiziksel dosya sistemi türü vardır. Ayrıca, birçok UNIX fiziksel dosya sistemi türü vardır ( ufs, s5fs, ext2, vxfs, jfs, ffs vesaire.).

Unix nedir (yeni başlayanlar için)


Dmitry Yu Karpov


Ne hakkında konuşuyorum?


Bu yapıt tamamlanmış olduğunu iddia etmez. Ayrıca, basitlik adına bazı ayrıntılar kasıtlı olarak atlanmıştır. İlk başta, döngü bir SSS (SSS - Sıkça Sorulan Sorular) olarak tasarlandı, ancak görünüşe göre "Genç bir askerin rotası" veya "Çavuş okulu" olacak.

Farklı işletim sistemlerinin karşılaştırmalı bir tanımını vermeye çalıştım - bence çoğu ders kitabında ve teknik kılavuzda eksik olan şey bu.

Deneyimli Unix "oid'lerinden açıklama beklemeden, gönüllü bir itirafta bulunuyorum - büyük bir Unix uzmanı gibi davranamam ve bilgim esas olarak FreeBSD ile ilgili. Umarım zarar vermez."

Bu dosya uzun bir süre "yapım aşamasında" durumunda kalacaktır. :-)

Unix nedir?


Unix, eksiksiz, yerel olarak çok kullanıcılı, çok görevli ve çok terminalli bir işletim sistemidir. Daha doğrusu, program kaynak kodları düzeyinde birbiriyle neredeyse tamamen uyumlu bütün bir sistem ailesidir.

Hangi Unix'ler var ve hangi makinelerde çalışıyorlar?


Bu listenin eksiksiz olduğunu iddia etmiyor, çünkü listelenenlere ek olarak, daha az yaygın olan Unix "s ve Unix benzeri sistemler var, eski makineler için eski Unix'lerden bahsetmiyorum bile.

System V ve Berkeley aileleri geçici olarak ayırt edilebilir. Sistem V ("Sistem Beş"i okuyun) çeşitli varyantlara sahiptir, ikincisi benim bildiğim kadarıyla Sistem V Sürümü 4'tür. Berkeley Üniversitesi yalnızca BSD'nin geliştirilmesiyle değil, aynı zamanda İnternet protokollerinin çoğuyla da ünlüdür. Ancak, birçok Unix her iki sistemin özelliklerini birleştirir.

Ücretsiz Unix'i nereden edinebilirim?


  • BSD ailesi: FreeBSD, NetBSD, OpenBSD.
  • Linux ailesi: RedHat, SlackWare, Debian, Caldera,
  • SCO ve Solaris, ticari olmayan kullanım için ücretsizdir (özellikle eğitim kurumları için).

    Unix ve diğer işletim sistemleri arasındaki temel farklar nelerdir?


    Unix, sürücüleri ve yardımcı programları (çekirdeğin dışındaki programlar) içeren bir çekirdekten oluşur. Yapılandırmayı değiştirmeniz gerekiyorsa (bir aygıt ekleyin, bağlantı noktasını değiştirin veya kesinti yapın), çekirdek nesne modüllerinden veya (örneğin, FreeBSD'de) kaynaklardan yeniden oluşturulur (bağlanır). / * Bu tamamen doğru değil. Bazı parametreler yeniden oluşturulmadan düzeltilebilir. Yüklenebilir çekirdek modülleri de vardır. * /

    Unix'in aksine, "Windows (hangisi belirtilmemişse, 3.11, 95 ve NT'yi kastediyoruz) ve OS / 2, aslında önyükleme sırasında sürücüleri anında bağlar. Aynı zamanda, birleştirilmiş çekirdeğin kompaktlığı ve Ortak kodun yeniden kullanımı, aşağıdakinden daha düşük bir büyüklük mertebesidir. Ek olarak, sistem yapılandırması değişmeden kalırsa, Unix çekirdeği değiştirilmeden ROM'a yazılabilir (yalnızca BIOS'un başlangıç ​​bölümünün değiştirilmesi gerekir) ve RAM'de _booting_olmadan yürütülebilir. Kodun kompaktlığı özellikle önemlidir, çünkü çekirdek ve sürücüler fiziksel işletim sisteminden asla ayrılmazlar.bellek diske geçmez.

    Unix, en çok platformlu işletim sistemidir. WindowsNT onu taklit etmeye çalışıyor, ancak şimdiye kadar başarısız oldu - MIPS ve POWER-PC'yi terk ettikten sonra, W "NT sadece iki platformda kaldı - geleneksel i * 86 ve DEC Alpha. Tabii ki, bir Unix'ten programların taşınabilirliği Unix uygulamalarında farklılıkları yok sayan, "tamsayı dört bayt olmalıdır" gibi mantıksız varsayımlar yapan yazılı bir program, büyük bir yeniden çalışma gerektirebilir, ancak yine de OS / 2'den NT'ye geçiş yapmaktan çok daha kolay, Örneğin.

    Neden Unix?


    Unix hem sunucu hem de iş istasyonu olarak kullanılmaktadır. Sunucu kategorisinde MS WindowsNT, Novell Netware, IBM OS/2 Warp Connect, DEC VMS ve mainframe işletim sistemleri ile yarışmaktadır. Her sistemin diğerlerinden daha iyi olduğu kendi uygulama alanı vardır.

  • WindowsNT, kaynakların ekonomik kullanımı ve yüksek performans yerine tanıdık bir arabirimi tercih eden yöneticiler içindir.
  • Netware - dosya ve yazıcı hizmetlerinin yüksek performansının gerekli olduğu ve diğer hizmetlerin çok önemli olmadığı ağlar için. Ana dezavantajı, uygulamaları Netware sunucusunda çalıştırmanın zor olmasıdır.
  • OS / 2, "hafif" bir uygulama sunucusuna ihtiyacınız olduğunda iyidir. NT'den daha az kaynak gerektirir, yönetimde daha esnektir (yapılandırılması daha zor olsa da) ve çoklu görev çok iyidir. Erişim haklarının yetkilendirilmesi ve farklılaştırılması, sunucu uygulaması düzeyindeki uygulama tarafından telafi edilenden daha fazla olan işletim sistemi düzeyinde uygulanmaz. (Çoğu zaman, ancak, diğer işletim sistemleri de aynı şeyi yapar.) Birçok FIDOnet ve BBS istasyonu OS / 2 tabanlıdır.
  • VMS, Unix'ten hiçbir şekilde aşağı olmayan (ve birçok yönden üstün) bir uygulama sunucusudur, ancak yalnızca DEC'in VAX ve Alpha platformları için güçlüdür.
  • Ana bilgisayarlar - çok sayıda kullanıcıya hizmet vermek için (birkaç bin civarında). Ancak bu kullanıcıların çalışması, kural olarak, bir istemci-sunucu etkileşimi şeklinde değil, bir ana bilgisayar-terminali şeklinde düzenlenir. Bu çiftteki terminalin bir istemci değil, bir sunucu olması daha olasıdır (World of the Internet, N3, 1996). Ana bilgisayarların avantajları, daha yüksek güvenlik ve arızalara karşı dayanıklılık içerir ve dezavantajlar, bu niteliklere karşılık gelen fiyattır.

    Unix, yetenekli (veya olmaya istekli) bir yönetici için iyidir, çünkü içinde meydana gelen süreçlerin işleyiş ilkeleri hakkında bilgi gerektirir. Unix'in dosya ve yazdırma hizmetlerinin performansı Netware'den daha düşük olsa da, gerçek çoklu görev ve sabit bellek paylaşımı, sistem çalışmasının yüksek güvenilirliğini sağlar.

    WindowsNT ile karşılaştırıldığında, dosyalara kullanıcı erişim hakları vermede esnekliğin olmaması, bence, basitlikle telafi edilen verilere (daha doğrusu dosyalara) grup erişiminin dosya sistemi düzeyinde düzenlenmesini zorlaştırıyor. daha düşük donanım gereksinimleri anlamına gelen uygulama. Ancak, SQL sunucusu gibi uygulamalar, verilere grup erişimi sorununu kendi başlarına çözer, bu nedenle Unix'te bulunmayan belirli bir kullanıcının bir _file_ erişimine erişimini reddetme yeteneği bence açıkça gereksizdir.

    İnternetin dayandığı protokollerin neredeyse tamamı Unix için geliştirildi, özellikle TCP/IP protokol yığını Berkeley Üniversitesi'nde icat edildi.

    Uygun yönetimle Unix'in güvenliği (ne zaman değil?) Novell veya WindowsNT'den hiçbir şekilde aşağı değildir.

    Unix'i anabilgisayarlara yakınlaştıran önemli bir özelliği, çok terminalli olması, birçok kullanıcının aynı Unix makinesinde programları aynı anda çalıştırabilmesidir. Grafik kullanmanız gerekmiyorsa, yavaş hatlar üzerinden bağlı ucuz metin terminalleri (uzman veya ucuz PC'lere dayalı) ile idare edebilirsiniz. Bu konuda sadece VMS onunla rekabet eder. Aynı ekranda farklı makinelerde çalışan işlemlerin pencereleri olduğunda grafiksel X terminallerini de kullanabilirsiniz.

    MS Windows *, IBM OS / 2, Macintosh ve Acorn RISC-OS, Unix iş istasyonu kategorisinde yarışıyor.

  • Windows - uyumluluğa daha fazla verimliliğe değer verenler için; büyük miktarda bellek, disk alanı ve megahertz satın almaya hazır olanlar için; Özüne inmeden sevenler için fare ile penceredeki butonlara tıklamanız yeterli. Doğru, er ya da geç hala sistem ve protokollerin ilkelerini incelemeniz gerekecek, ancak o zaman çok geç olacak - seçim yapıldı. Windows'un önemli bir avantajı, bir grup yazılımı çalma yeteneğidir.
  • OS/2, OS/2 sevenler içindir. :-) Bazı kaynaklara göre OS / 2, IBM ana bilgisayarları ve ağları ile diğerlerinden daha iyi etkileşime girse de.
  • Macintosh - grafik, yayıncılık ve müzik çalışmaları için olduğu kadar net, güzel bir arayüzden hoşlananlar ve sistemin işleyişinin ayrıntılarını anlamak istemeyenler (yapamayanlar) için.
  • ROM'da yanıp sönen RISC-OS, işletim sistemini kurmak ve arızalardan sonra kurtarmak için zaman kaybetmemenizi sağlar. Ayrıca, altındaki hemen hemen tüm programlar kaynakları çok ekonomik kullanır, bu nedenle takas gerektirmezler ve çok hızlı çalışırlar.

    Unix, hem PC'lerde hem de RISC işlemcili güçlü iş istasyonlarında çalışır, gerçekten güçlü CAD ve coğrafi bilgi sistemleri Unix için yazılmıştır. Çok platformlu olması nedeniyle Unix, bildiğim diğer tüm işletim sistemlerinden daha ölçeklenebilir bir büyüklük sırasıdır.

    Temel Unix Kavramları


    Unix, iki temel kavram üzerine kuruludur: "süreç" ve "dosya". Süreçler sistemin dinamik tarafıdır, öznedir; ve dosyalar statiktir, bunlar süreçlerin nesneleridir. İşlemlerin çekirdekle ve birbirleriyle etkileşiminin neredeyse tüm arayüzü, dosya yazma / okuma gibi görünüyor. / * Sinyaller, paylaşılan hafıza ve semaforlar gibi şeyler eklemeniz gerekse de. * /

    İşlemler programlarla karıştırılmamalıdır - bir program (genellikle farklı verilerle) farklı işlemlerde yürütülebilir. İşlemler kabaca iki türe ayrılabilir - görevler ve arka plan programları. Görev, hızlı bir şekilde tamamlama ve tamamlama çabasıyla işini yapan bir süreçtir. Daemon işlemesi gereken olayları bekler, meydana gelen olayları işler ve tekrar bekler; genellikle başka bir işlemin sırasına göre sona erer, çoğu zaman kullanıcı "işlem_numarası öldür" komutunu vererek onu öldürür. / * Bu anlamda, kullanıcı girdisini işleyen etkileşimli bir görevin bir görevden çok bir arka plan programı gibi olduğu ortaya çıkıyor. :-) * /

    Dosya sistemi


    Eski Unix'lerde isme 14 harf atanmıştı, yenilerinde bu kısıtlama kaldırıldı. Dosya adına ek olarak, dizin kendi inode tanımlayıcısını içerir - içinde bulunduğu bloğun numarasını belirleyen bir tam sayı. dosya öznitelikleri yazılır Bunlar arasında: dosyanın sahibi olan kullanıcının sayısı, sayı grupları, dosyaya bağlantı sayısı (aşağıya bakın) oluşturma tarihi ve saati, dosyaya son değişiklik ve dosyaya son erişim; Erişim öznitelikleri Erişim öznitelikleri dosya türünü (aşağıya bakın), başlangıçta hakların değiştirilmesine ilişkin öznitelikleri (aşağıya bakın) ve dosya sahibi, sınıf arkadaşı ve diğerlerinin okuma, yazma ve yürütme için dosyaya erişim haklarını içerir. Bir dosyayı silme hakkı yukarıdaki dizine yazma hakkı ile belirlenir.

    Her dosya (bir dizin değil) birkaç adla bilinebilir, ancak aynı bölümde bulunmaları gerekir. Dosyaya tüm bağlantılar eşittir; dosyaya son bağlantı kaldırıldığında dosya silinir. Dosya açıksa (okuma ve / veya yazma için), o zaman ona olan bağlantıların sayısı bir artar; geçici bir dosyayı açan pek çok program onu ​​hemen siler, böylece işletim sistemi durursa, işletim sistemi işlem tarafından açılan dosyaları kapattığında, geçici dosya işletim sistemi tarafından silinir.

    Dosya sisteminin bir başka ilginç özelliği daha var: Bir dosya oluşturulduktan sonra, dosyaya yazma art arda değil, büyük aralıklarla devam ediyorsa, bu aralıklar için disk alanı ayrılmamıştır. Böylece, bir bölümdeki dosyaların toplam hacmi, bölümün hacminden daha büyük olabilir ve böyle bir dosya silindiğinde, boyutundan daha az yer boş bırakılır.

    Dosyalar aşağıdaki türlerdendir:

    • düzenli doğrudan erişim dosyası;
    • dizin (diğer dosyaların adlarını ve tanımlayıcılarını içeren bir dosya);
    • sembolik bağlantı (başka bir dosyanın adına sahip bir dize);
    • blok aygıtı (disk veya manyetik bant);
    • seri aygıt (terminaller, seri ve paralel bağlantı noktaları; diskler ve bantlar ayrıca bir seri aygıt arabirimine sahiptir)
    • adlı kanal

    Cihazlarla çalışmak için özel dosyalar genellikle "/ dev" dizininde bulunur. İşte bunlardan bazıları (FreeBSD'ye aday gösterildi):

    • tty * - aşağıdakileri içeren terminaller:
      • ttyv - sanal konsol;
      • ttyd - DialIn terminali (genellikle bir seri bağlantı noktası);
      • cuaa - DialOut hattı
      • ttyp - ağ sözde terminali;
      • tty - görevin ilişkilendirildiği terminal;
    • wd * - aşağıdakiler dahil olmak üzere sabit sürücüler ve alt bölümleri:
      • wd - sabit sürücü;
      • wds - bu diskin bölümü (burada "dilim" olarak anılacaktır);
      • wds - bölüm bölümü;
    • fd - disket;
    • rwd *, rfd * - wd * ve fd * ile aynı, ancak sıralı erişime sahip;

    Bazen, bir kullanıcı tarafından başlatılan bir programın, onu başlatan kullanıcının değil, diğerlerinin haklarına sahip olması gerekir. Bu durumda, kullanıcının haklarına ilişkin hakları değiştirme özelliği - programın sahibi belirlenir. (Örnek olarak bir dosyayı soru cevaplarla okuyan ve okuduklarından yola çıkarak bu programı başlatan öğrenciyi test eden bir program vereceğim. Programın cevapları olan dosyayı okuma hakkı olmalı, ancak başlatan öğrenci yapmamalıdır.) Örneğin, passwd programı, kullanıcının şifresini değiştirebileceği ile çalışır. Kullanıcı passwd programını çalıştırabilir, sistem veritabanında değişiklik yapabilir - ancak kullanıcı yapamaz.

    Tam dosya adının "drive: \ path \ name" gibi göründüğü DOS ve "-file_system-drive: $. Path.name" (genellikle avantajları vardır) gibi göründüğü RISC-OS'tan farklı olarak, Unix, şeffaf bir "/ yol / ad" gösterimi kullanır. Kök, Unix çekirdeğinin yüklendiği bölümden ölçülür. Farklı bir bölüm kullanacaksak (ve önyükleme bölümü genellikle yalnızca önyükleme için gerekli olanları içerir), `mount / dev / partitionfile directory' komutunu kullanın. Aynı zamanda, daha önce bu dizinde bulunan dosyalar ve alt dizinler, bölümün bağlantısı kaldırılana kadar erişilemez hale gelir (doğal olarak, tüm normal insanlar bölümleri monte etmek için boş dizinler kullanır). Sadece süpervizör takma ve sökme hakkına sahiptir.

    Başlangıçta, her işlem kendisi için 0 tanımlayıcısında stdin olarak bilinen üç dosyanın zaten açık olduğunu varsayabilir; tanımlayıcı 1'de standart çıktı stdout'u; ve standart çıktı stderr tanımlayıcı 2'de. Oturum açıldığında, kullanıcı bir kullanıcı adı ve parola girdiğinde ve kabuk onun için başlatıldığında, üçü de / dev / tty'ye yönlendirilir; daha sonra bunlardan herhangi biri herhangi bir dosyaya yönlendirilebilir.

    Komut yorumlayıcısı


    Unix neredeyse her zaman iki komut yorumlayıcıyla birlikte gelir - sh (kabuk) ve csh (C benzeri kabuk). Bunlara ek olarak bash (Bourne), ksh (Korn) ve diğerleri de vardır. Detaylara girmeden genel prensipleri vereceğim:

    Geçerli dizini değiştirmek, ortam değişkenlerini ayarlamak ve yapılandırılmış programlama ifadeleri dışında tüm komutlar harici programlardır. Bu programlar genellikle / bin ve / usr / bin dizinlerinde bulunur. Sistem yönetim programları / sbin ve / usr / sbin dizinlerinde bulunur.

    Komut, çalıştırılacak programın adından ve bağımsız değişkenlerden oluşur. Bağımsız değişkenler komut adından ve birbirlerinden boşluklar ve sekmelerle ayrılır. Bazı özel karakterler kabuğun kendisi tarafından yorumlanır. Özel karakterler "" `\! $ ^ *? | &; (Başka ne?).

    Aynı komut satırında birden fazla komut verilebilir. Takımlar bölünebilir; (komutların sıralı yürütülmesi), & (komutların eşzamansız eşzamanlı yürütülmesi), | (senkronize yürütme, ilk komutun stdout'u ikincinin stdin'ine beslenecektir).

    Ek olarak, argümanlardan biri olarak dahil ederek bir dosyadan standart girdi alabilirsiniz.<файл" (без кавычек); можно направить стандартный вывод в файл, используя ">file "(dosya silinecek) veya" >> file "(dosyanın sonuna yazılır). Programın kendisi bu argümanı almaz; giriş veya çıkışın yeniden atandığını bulmak için programın kendisi yapmalıdır. bazı çok önemsiz jestler.

    Kılavuzlar - adam


    Bir komutla ilgili bilgiye ihtiyacınız varsa, "man komut_adı" komutunu verin. Bu, ekranda "more" programı aracılığıyla görüntülenecektir - "man more" komutuyla Unix'inizde nasıl yönetileceğini görün.

    Ek belgeler

  • Kum havuzu

    Demir Adam 19 Mart 2011, 23:16

    Linux'un UNIX'ten farkı nedir ve UNIX benzeri bir işletim sistemi nedir?

    UNIX
    UNIX (Değmez"UNIX benzeri işletim sistemi" tanımıyla karıştırılmıştır - bir işletim sistemi ailesi (Mac OS X, GNU / Linux).
    İlk sistem 1969'da eski bir Amerikan şirketi olan Bell Laboratories'de geliştirildi.

    UNIX'in ayırt edici özellikleri:

    1. Basit, genellikle metin dosyaları kullanarak kolay sistem yapılandırması.
    2. Komut satırının kapsamlı kullanımı.
    3. Boru hatlarını kullanma.
    Günümüzde UNIX, esas olarak sunucularda ve ekipman için bir sistem olarak kullanılmaktadır.
    UNIX sistemlerinin muazzam tarihsel önemine dikkat etmemek mümkün değil. Şu anda tarihsel olarak en önemli işletim sistemlerinden biri olarak kabul edilmektedirler. UNIX sistemlerinin geliştirilmesi sırasında C dili oluşturuldu.

    Yıllara göre UNIX çeşitleri

    UNIX benzeri işletim sistemi
    UNIX benzeri işletim sistemi (Bazen* nix kısaltmasını kullanın) - UNIX'ten etkilenen bir sistem.

    UNIX kelimesi hem uygunluk işareti hem de ticari marka olarak kullanılmaktadır.

    Open Group konsorsiyumu "UNIX" ticari markasına sahiptir, ancak en iyi UNIX ticari markasının sertifika kuruluşu olarak bilinir. Son zamanlarda, bir işletim sisteminin gururla Unix olarak adlandırılabilmesi için karşılaması gereken standartlar olan "Tek UNIX Spesifikasyonu"nun yayınlanmasıyla bağlantılı olarak The Open Group'a ışık tutuldu.

    UNIX benzeri işletim sistemlerinin soy ağacına göz atabilirsiniz.

    Linux
    Linux- GNU projesi (açık kaynak projesi) çerçevesinde geliştirilen UNIX tabanlı işletim sistemlerinin genel adı. Linux, ARM'den Intel x86'ya kadar çok çeşitli işlemci mimarilerinde çalışır.

    En ünlü ve yaygın dağıtımlar Arch Linux, CentOS, Debian'dır. Ayrıca birçok "yerli", Rus dağıtımı var - ALT Linux, ASPLinux ve diğerleri.

    GNU / Linux'un adlandırılması konusunda oldukça fazla tartışma var.
    Açık kaynak savunucuları Linux terimini kullanırken, özgür yazılım savunucuları GNU / Linux terimini kullanır. Ben ilk seçeneği tercih ederim. Bazen, GNU / Linux terimini ifade etmede kolaylık sağlamak için “GNU + Linux”, “GNU-Linux”, “GNU Linux” yazımları kullanılır.

    Ticari sistemlerin (MS Windows, Mac OS X) aksine Linux'un coğrafi bir geliştirme merkezi ve sistemin sahibi olacak belirli bir organizasyonu yoktur. Sistemin kendisi ve ona yönelik programlar, devasa toplulukların, binlerce projenin çalışmalarının sonucudur. Herkes projeye katılabilir veya kendi projesini yaratabilir!

    Çıktı
    Böylece zinciri öğrendik: UNIX -> UNIX benzeri işletim sistemi -> Linux.

    Özetlemek gerekirse Linux ve UNIX arasındaki farkların bariz olduğunu söyleyebilirim. UNIX, çok daha geniş bir kavramdır, tüm UNIX benzeri sistemleri oluşturmak ve onaylamak için temeldir ve Linux, UNIX'in özel bir durumudur.

    Etiketler: unix, linux, nix, linux, unix

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