Tasarımda Unix ve Linux arasındaki temel fark ve diğer yönler var mı? [kapalı]


24

Bu cümleyi okumaya devam ediyorum:

Linux, Unix benzeri bir sistemdir, ancak Unix değildir.

İkisi arasındaki asıl farkın ne olduğunu bilmiyorum. Linux'un Unix'ten birçok fikir aldığını ve ikisinin lisanslarının farklı olduğunu biliyorum. Bunun dışında, ikisinde de uzman olmadığım için, tasarımda veya diğer önemli hususlarda aralarında temel farklar olup olmadığını bilmek istiyorum.


2
Bunu nerede okudun açıklığa kavuşturur musun? web arama bana Robert Love'ın Linux Çekirdeği Gelişimini (3. Baskı) gösteriyor , öyle mi?
gnat

Yanıtlar:


30

Bir "Unix benzeri" sistem, bir Unix sistemi olarak nitelendirilen standartların ortak adı olan Tek UNIX Özelliği ile tam uyumlu olabilir , ancak aynı zamanda Unix, Açık Grup'un tescilli ticari markasıdır ve Unix benzeri sistemlerin tedarikçileridir. sistemlerini resmi olarak Unix olarak nitelendirmek için kayıt ettirmek. Şu anda kayıtlı UNIX 03 sistemleri :

  • Apple Inc .: Intel tabanlı Macintosh bilgisayarlarda Mac OS X Sürüm 10.5 Leopard
  • Apple Inc .: Mac OS X Sürüm 10.6 Intel tabanlı Macintosh bilgisayarlarda Snow Leopard
  • Fujitsu Limited: Fujitsu PRIMEPOWER® 64-bit SPARC® Tabanlı Platformlarda Solaris ™ 10 İşletim Sistemi
  • Hewlett-Packard Company: HP Bütünlüğü Sunucularında HP-UX 11i V3 Sürüm B.11.31 veya üstü
  • IBM Corporation: 8-2004 veya daha sonra APAR'larla birlikte verilen POWER V5.2 için AIX 5L: iS59610, IY60869, IY61405, VAC 6.0.0.8 veya üzeri ile pSeries CHRP sistemlerinde
  • IBM Corporation: POWER ™ işlemcili CHRP sistem mimarisini kullanan sistemler üzerine 7-2006 veya daha sonraki POWER V5.3 için AIX 5L
  • IBM Corporation: POWER ™ işlemcili ve 2, 8 veya 128 portlu async kartlı CHRP sistem mimarisi kullanan Sistemlerde, SP1 veya üstü ile AIX 6 İşletim Sistemi V6.1.2
  • Oracle Corporation: Oracle Solaris 11 FCS ve üstü SPARC tabanlı platformlarda, 32 bit ve 64 bit ve X86 tabanlı platformlarda, 32 bit ve 64 bit
  • Oracle Corporation: Solaris 10 İşletim Sistemi artı X86 ve üstü için 6488 X86 tabanlı sistemlerde 118844-06 yaması
  • Oracle Corporation: Solaris 10 İşletim Sistemi ve üzeri, 32 bit ve 64 bit SPARC tabanlı sistemlerde
  • Oracle Corporation: Solaris 10 İşletim Sistemi ve üzeri, 32 bit X86 tabanlı sistemler

Açık kaynak kodlu Unix benzeri sistemlerin satıcıları (çoğunlukla Linux ve FreeBSD) genellikle sertifikalandırma maliyetlerinden kaçınmak için veya Açık, bu nedenle çok fazla değer bulamadıkları için Açık Grup'a kaydolmazlar. Teoride, Unix benzeri bir sistemin teknik olarak Unix olması ve eksik olan tek şey sertifikasyondur.

Öte yandan, Linux Vakfı, Linux'u standardize etmek amacıyla ISO standardı olan Linux Standart Tabanını yarattı . POSIX ile uyumluluk , hem SUS hem de LSB'nin merkezinde, Unix ve Linux arasındaki bağı koruyor.

Unix ve Unix benzeri sistemler farklı olduğundan daha benzer olma eğilimindedirler, teoride tüm popüler Unix lezzetleri, kayıtlı olsun ya da olmasın, POSIX uyumludur (dolu ya da çoğunlukla), bu nedenle çekirdek bir programlama arayüzü, kabukları ve yardımcı programlarını (ve diğer birçokını paylaşırlar) paylaşırlar. şey). IEEE ve Açık Grup , POSIX uyumluluğunun gerçekte ne anlama geldiğiyle ilgili daha fazla bilgi bulabileceğiniz en son sürüm olan POSIX.1-2008'in ücretsiz bir kopyasını sunar .

Şimdi, yasal ve teknik sebeplerin yanı sıra, Linux, "Unix değil" mantrasını, GNU ile olan ilişkisinden , Richard Stallman tarafından başlatılan bir Unix benzeri işletim sistemi olan devraldı . GNU, "GNU'nun Unix değil" anlamına gelir; çünkü Stallman'ın amacı, özgür bir Unix uyumlu sistem kurmaktı ve bunu yapmak için Unix'in özel olduğu için Unix kodu içermemesi gerekiyordu.

İlk Linux geliştiricileri GNU araçlarını Linux'a taşımaya başladı ve ortaya çıkan sistem 1992 gibi erken bir tarihte GNU / Linux olarak anıldı . Orada bir olduğu uzun ömürlü tartışma Linux Linux veya GNU / Linux (o GNU çeşitli yerlerinde birleştirir gibi) olarak anılacaktır gerekip gerekmediğini üzerinde, ama bu sorunuzun alakasız ne alakalı "değil Unix" sadece dernek anlamlara gelebilir olmasıdır GNU ile ve bağlama bağlı olarak, tasarımı ile ilgisi yok.

"Geçmiş Linux'un" makale Wikipedia'da Linux kökenlerini ve (via Unix ile 's ilişkisini açıklar Minix bazı ayrıntılı olarak ve GNU) ve ilgilenen varsa da, yazının referanslar okumaya biraz zaman gerekir daha fazla öğrenmek.


iyi cevap, bekleyeceğim ve senin cevabın olarak seninkini seçip
seçmediğini göreceğim

8
@Gnijuohz Cevapları kabul etme konusunda acele etmeyin, her zaman sorunuzun bir veya iki gün boyunca olgunlaşmasına izin verin (ya da daha fazla, isterseniz), daha önce kabul etmiş olduklarını gördüklerinde cevap vermeyen insanlardan büyük cevaplar alabilirsiniz. Cevap. Bir cevabı kabul etmek tamamen size bağlıdır, cevabın hiçbiri size yardımcı olmadıysa, topluluğun onlara nasıl cevap verdiğinden bağımsız olarak kabul etmeniz gerekmez.
yannis

1
İlginçtir ki, görünüşe göre OS X'in son sürümü "resmen" UNIX değil.
Kris Harper,

@ root45 Beklendiği gibi, uyumluluk için bir sürümü kontrol etmek için bir süre gerekli.
yannis,

@YannisRizos Ah tamam. Bu mantıklı. Bilgi için teşekkürler.
Kris Harper,

4

UNIX, bir işletim sistemi ailesidir ve günümüzde UNIX, Açık Grup'a ait bir markadır. UNIX markalı bir işletim sistemi için bir uygunluk testine tabi tutulmalı ve Linux için bu, her dağıtımın (Ubuntu, Debian, Fedora, Red Hat, vb.) Her sürüm için ayrı ayrı bu uygunluk testinden geçmesi gerektiği anlamına gelir. . Bu, Linux'un UNIX değil unix benzeri bir sistem olmasının ana nedenlerinden biri.

Bahsettiğim bu test, işletim sisteminin şu anda sürüm 4 SUSv4'te (Tek Unix Belirtimi sürüm 4) Tek Unix Belirtimi'ne uygunluğunu sağlamak içindir. Bu şartname, bir sistemin UNIX adı için nitelikli olması için uygulamalarda bulunması gereken bir API kümesini tanımlar.


İzlenmesi iyi bir standart mı? Linux yazarları dener mi?
İş

1
İyi ancak eksik bir standart. Linux çekirdeğinin katkıda bulunanları bu standarda uymaya çalışır ve Linux gayri resmi bir UNIX sistemi olarak kabul edilebilir. Unix standartlarına karşı bir uygulama geliştiriyorsanız, muhtemelen bir Linux sisteminde derlenecek ve çalışacaktır. Ne yazık ki, daha önce de söylediğim gibi, UNIX oldukça eksik.
Raphael,

POSIX sertifikasyon sürecini başlatan Linux-FT adlı bir dağıtım vardı, ancak şaşırtıcı bir şekilde sponsorların paraları tükendi. ukuug.org/newsletter/linux-newsletter/linux@uk12/ftinfo.shtml

Bu bilgi için teşekkürler! Dışarıda birinin bir dağıtımı onaylamaya çalışıp çalışmadığını merak ettim.
Raphael,

3

Mevcut cevaplar, aradığınız farklılıkların bir kısmından zaten bahsetti. Linux çekirdeği uzmanı olmadan, GNU / Linux ve çeşitli Unices arasındaki tasarım / uygulama farklarının çoğunun Linux çekirdeği tasarım desenleri serisinde yer aldığını da eklerim .


2

"UNIX" aşağı çekmek için karmaşık bir şey. Standartlara uygunluk açısından, hem Solaris hem de Mac OS X “resmi olarak” UNIX'tir, ancak ikisi arasında oldukça büyük farklar bulmadan önce çok zaman harcamak zorunda değilsiniz. Bir var harika diyagram o belgeler işletim sistemleri gibi UNIX-UNIX veya çeşitli tatlar bırakma ve nasıl etkilemiş ve birbirinden uzaklaştığı.

UNIX gibi görünen, yürüyen ve şüphe duyan şeylerin büyük şemasında, bir Linux sistemi [*] daha geleneksel sürümlerden biridir. İnsanların Unices veya * nix'e başvurmaları ve muhtemelen Linux içeren "UNIX benzeri herhangi bir şey" anlamına gelmeleri oldukça yaygındır. Ancak UNIX, ticari olarak nasıl uygulanabileceği konusunda kısıtlamaları olan tescilli bir ticari markadır; hiçbir Linux dağıtımı bu sınırlamalara uymaz.

[*] Çünkü bu soru bir anlamsal kıl bölme seviyesini davet ettiğinden, bu durumda Linux'un kendisinin bir işletim sisteminin kurulabileceği bir çekirdeğe işaret ettiğini belirtmek ister. Linux üzerine UNIX benzeri bir sistem kurmak, bunun için tasarlandı ve bu sistem genellikle GNU proje bileşenlerinden oluşur. Yukarıdaki cevapta “Linux”, “Linux çekirdeğini içeren bir işletim sistemi” için kısa yol olarak okunabilir.


@YannisRizos Cevabına bir referans ekleyeceğim, kesinlikle onaylandı.

Evet, kesinlikle haklısın, Leopard ve sonrası Mac OS, UNIX 03 sertifikalı ve işte başka bir referans .
yannis

2

Bir keresinde Linux'un bir bilgisayar geliştiricisi aldığınızda ve bir Unix işletim sistemi yazmasını istediğinizi alırken Linux’un ne olduğunu okudum, oysa bir Unix geliştiricisi aldığınızda ve bir bilgisayar işletim sistemi yapmasını istediğinizde FreeBSD ne elde ettiğinizi söyleyin. Karşılaştırmada BSD'leri unutma!

Farklılıklar temel olarak Çekirdek'tedir, çünkü kullanıcı uygulamaları (ls gibi şeyler de dahil) GNU projesinin bir parçasıdır. Bu, Unix, FreeBSD ve Linux'un hemen hemen aynı şey gibi göründüğü anlamına gelir.

Ancak yakından baktığınızda farklılıklar vardır. Dizin düzeni farklı olacaktır (ancak birçok Linux dağıtımı kendilerine göre çoğunlukla uyumlu ama yine de farklı düzenler kullanır), dosya sistemleri farklıdır (Unix UFS'yi kullanır, FreeBSD FFS'yi kullanır, Linux Ext3'ü basitleştirmek için kullanır - hepsi portlarını kullanabilir ortak FS'ler, örneğin ZFS)

Ardından çekirdek API'leri farklılıklar vardır, Linux size verecektir Inotify dosyalar değişiklikleri, Mac OSX size verdiğinde söylemek API FSEvents ve FreeBSD size verir kqueue .

Böylece aynı aile olarak kabul edilebilirler - bir Windows sistemini bir Linux sistemiyle aynı GNU araçlarıyla karşılaştırıp aynı araçlarla karşılaştırırlar. Sadece yüzeysel olarak aynı gözükecekler, ancak bir Unix veya FreeBSD sistemi hala karşılaştırılabilir görünecek. Yakından bakıldığında, FreeBSD, Unix ve Linux arasındaki uygulamaları Windows gibi alternatif işletim sistemlerine aktarmaya kıyasla nispeten kolay bulacaksınız.


1

Unix artık tek bir İşletim Sistemi değil. Bell Labs / AT&T tarafından bir uygulama olarak kullanılmış ancak şimdi bir standart.

Teknik olarak, Linux sadece bir çekirdektir. Bu çekirdek, en popüler olan Android olan Unix'e benzemeyen işletim sistemlerinde bulunabilir. Öte yandan, Unix'e benzeyen birçok Linux tabanlı işletim sistemi vardır. Bunların çoğu (hepsi değilse) Gnu kütüphanelerini ve yardımcı programlarını kullanıyor. Bu kombinasyon, Linux dağıtımları sağlar ve Unix API'sini ve standartlara uygunluk (veya uyumsuzluk) sağlar.

Unix standardı, özel bir sistemin tescilli olmasını veya herhangi bir özel lisansa sahip olmasını gerektirmez. BSD'ler, OpenSolaris / Illumos, darwin, Linux olmayan Unix uygulamalarının örnekleridir.

Uyumlu sistemler genellikle ancak her zaman özel ve açık kaynaklı bileşenlerin bir karışımı değildir; Gnu / Linux tamamen Açık Kaynak olabilir veya özel mülkler de içerebilir.

Bir Unix uyumu söz konusu olduğunda, fazla bir fark yoktur. Çoğu Linux dağıtımı ve Unix uygulaması, aynı seçenek kümesini kullanarak aynı komut kümesini paylaşır. Ancak, standart komutların birçoğunu, özellikle Gnuisms olarak adlandırılan Gnu tarafında ve ilk sırada standartlar tarafından tanımlanmayan birçok komut (derleyiciler, idari komutlar, kurulum, paketleme, grafik çevre). Burası çok fazla sapma, uyumsuzluk ve bazen kutsal savaşlar bulabileceğiniz bir alan.

Gnu / Linux geliştirme modeli genellikle "organik" ve "çarşı" gibi kabul edilirken, diğer Unix benzeri sistemler daha "tasarlanmış" ve "katedral" gibidir. Alt sistemlere bağlı olarak, fark çok net değildir ve arkalarındaki bireylere ve / veya şirketlere bağlıdır.


1

Linux gibi birçok araçla birlikte gelir:

  • GUI sistemi
  • GNU programları (cp, mv, ls, tarih, bash gibi)
  • kurulum ve yönetim araçları
  • GNU C / C ++ Derleyicileri
  • Editörler (vi)
  • ve çeşitli uygulamalar (OpenOffice, Firefox gibi).

Ancak, çoğu UNIX işletim sistemi, her şey tek bir kaynaktan veya satıcıdan geldiği için eksiksiz bir işletim sistemi olarak kabul edilir.

Paylaşdıkları bazı şeyler:

  • GUI, dosya ve windows yöneticileri (KDE, Gnome)
  • Kabuklar (ksh, csh, bash)
  • OpenOffice.org gibi çeşitli ofis uygulamaları
  • Geliştirme araçları (perl, php, python, GNU C / C ++ derleyicileri)
  • POSIX arayüzü

Linux ayrıca Unix felsefesini de genişletiyor ...
İş

2
Linux sadece bir çekirdek değil, Linux çekirdeği de çekirdek. Linux genellikle, Linux çekirdeği etrafında oluşturulan tam bir sistem anlamına gelir.
yannis

@ İsimsiz - Bazen, cevabınızı düzenler ve düzeltirseniz, indirmenler, indirmeyi kaldırabilir. Garantili değil, ama bazen yardımcı oluyor. (Sadece oy vermeye yardımcı olmadım.
jmort253

-7

Gerçekten de, Linux birlikte Unix'in tersine mühendislik mühendisliği yapıyordu, bu yüzden çekirdek tasarımı Ken Thompson'ın felsefesini takip etti. Linux yolu, Unix felsefesini, orijinal düşünceye sahip olanları hiç zorlamadan, mümkün olduğunca yakın taklit ediyor gibi görünmektedir.


@YannisRizos Ne demek "ama gerçekten kullanışlı değildi". AFAIK tamamen kullanışlıdır, ancak PDP montajında ​​yazıldığı için başka mimarilere anlatılması zordu.
sakisk

@ samual-johnson -1 Çünkü ifadelerinizi referanslarla yedeklemiyorsunuz. İlk defa “Ken Thompson felsefesi” hakkında duyuyorum (ve bu Thompson, Thomson değil).
sakisk

1
@faif Referanslarımı incelerken, atıfta bulunduğum ilkel çekirdek, PDP için değil, GE-645 için yazılmıştı, bu yüzden Unix çekirdeği olarak adlandırmak çok zordu. Yorumu sildim, çünkü asıl mesele zaten referansların eksikliğinden kaynaklanıyordu ve yorumunuz bu mesajı iletmek için yeterli. - samual lütfen taleplerinizi sağlam referanslarla desteklemek veya daha az görüşe dayalı bir şeyi gözden geçirmek için biraz zaman ayırın.
yannis,

@YannisRizos İlginç. Wikipedia’ya göre Multics’in geliştirilmiş bir sürümü olan GE-645’i hiç duymadım . Bilgi için teşekkürler.
sakisk
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.