Jak mogę porównać systemy operacyjne? [Zamknięte]

1

tło

Kilka lat temu słyszałem, jak ludzie mówili, że OSX i Linux są lepsze niż Windows. Pamiętam też, że przeczytałem coś, co mówiło, że system operacyjny Solaris nie podzielił plików i że system plików Linux był prawie w tym samym kroku. ale żadne z tych twierdzeń nie miało podstaw ani odniesień.

Pytanie

Jakie są obiektywne kryteria, które można zastosować do porównania systemów operacyjnych?

Billy Rubina
źródło
3
Myślę: „Porównując systemy operacyjne, jakie są główne punkty do porównania?” jest poprawnym pytaniem. Punkt 2 zwraca się o opinię i debatę, narażając cały post na ryzyko upadku Wielkiego Młota. Popraw pytanie zgodnie z FAQ .
CodeGnome
Czy nie ma na ten temat wcześniej przygotowanych opinii? Nie chciałem zabiegać o debaty, interesuje mnie zdrowy rozsądek lub przynajmniej cytaty o możliwych kontrowersjach.
Billy Rubina

Odpowiedzi:

4

Myślę, że możesz wziąć metody porównywania systemów operacyjnych i podzielić je na dwie grupy:

  1. cechy
  2. Różnice strukturalne

Po pierwsze, różnice strukturalne: obecnie systemy operacyjne są bardzo podobne pod maską. Zasadniczo wszyscy mają pewien wpływ Briana Kernighana i Dennisa Ritchiego, tych dwóch, którzy pracowali nad językiem programowania C, a także UNIX. W rzeczywistości wiele dzisiejszych systemów operacyjnych, takich jak Linux, Solaris i OS X, jest sklasyfikowanych jako „podobne do UNIX-a”, ponieważ w taki czy inny sposób są potomkami UNIX-a. Filozofia UNIX polegała zasadniczo na tym, aby uczynić wszystko prostszym, a dokładniej „podstawowym”, a każdy program powinien mieć jedną i dokładnie jedną funkcję. Te pojęcia są nadal używane do dziś.

Jeśli chodzi o system Windows, ten dziwny, na który miał wpływ również praca K&R. Chociaż Windows nie jest systemem „podobnym do UNIX-a”, jest napisany w C, wymyślonym przez K&R języku i wykazuje pewne podobieństwa. Na przykład „Niebieski ekran śmierci” to po prostu wersja paniki jądra systemu Windows , która została wymyślona wraz z systemem UNIX.

Wszystkie dzisiejsze główne systemy operacyjne oparte są na schemacie projektowania jądra zwanym jądrem „monolitycznym”. Oznacza to po prostu, że jądro działa jako jeden program. Jedną z implikacji tego jest to, że cały kod w tym jednym programie ma pełną kontrolę nad wszystkimi zasobami komputera, co może spowodować, że błędy spowodują poważne szkody. Odbyła się dobrze znana debata na temat możliwości „podziału” jądra systemu operacyjnego na osobne programy w celu poprawy stabilności i bezpieczeństwa. Ten projekt nazywa się „mikro-jądrem”. Jak wspomniałem, wszystkie dzisiejsze systemy operacyjne są oparte na monolitycznym projekcie jądra, być może ze względu na ich lepszą wydajność, a może po prostu dlatego, że tak było od bardzo dawna.

Jeśli chodzi o funkcje, jest to prawdopodobnie duże porównanie, ponieważ jak wspomniano powyżej, wszystkie obecnie główne systemy operacyjne są bardzo podobne strukturalnie. W rzeczywistości funkcje różnią się tylko nieznacznie moim zdaniem. To naprawdę zależy od tego, kogo pytasz. Na przykład Mac OS X ma kilka fajnych funkcji, takich jak XGrid i OpenCL (chociaż teraz działa to również na innych platformach). Jest również bardzo przyjazny dla użytkownika. Ale został również skrytykowany jako „przewóz bagażu”, być może odnoszący się do jego stosunkowo przestarzałego systemu plików. Działa również tylko na sprzęcie Apple.

Linux jest świetny dla serwerów i superkomputerów ze względu na jego otwartość i pozorną przewagę nad wieloprocesowym przetwarzaniem. Jest to również jeden z bezpieczniejszych wyborów. Ale został również skrytykowany jako niezbyt przyjazny dla użytkownika na komputerze i nie jest oficjalnie obsługiwany przez żadną dużą firmę. Jednak Linux jest prawdopodobnie drogą do najnowocześniejszego oprogramowania, ponieważ często się zmienia. W rzeczywistości Linux może wkrótce uzyskać nowy system plików i nowy menedżer okien .

Potem jest Windows. Windows, podobnie jak OS X, jest obsługiwany przez dużą firmę i na tej platformie znajduje się wiele programów. Z powyższego omówienia funkcji i struktury systemu operacyjnego widać, że nie różnią się one tak bardzo, więc ta ilość dostępnego oprogramowania jest prawdopodobnie tym, co utrzymuje udział tego rynku w rynku. Oprócz tej wyraźnej przewagi, istnieje również fakt, że będzie działał na wielu różnych urządzeniach, w przeciwieństwie do OS X.

Widzisz więc, że dzisiejsze systemy operacyjne nie różnią się tak bardzo od siebie. Wiele funkcji, które są obecnie tworzone, ma formę oprogramowania typu open source, z którego można korzystać w dowolnym z tych systemów operacyjnych. Istnieją jednak pewne wyraźne różnice, takie jak sprzęt, na którym mogą legalnie działać, otwartość kodu itp. Jeśli chcesz, możesz zadawać więcej pytań.

Hassan
źródło
2

Wszelkie porównania systemów operacyjnych należy przeprowadzać w kontekście „przydatności do użycia”. Musisz określić, co chcesz zrobić w systemie operacyjnym , zanim zdecydujesz, który jest najlepszy dla konkretnego przypadku użycia.

Istnieją jednak z pewnością obiektywne punkty porównania. Niewyczerpująca lista obejmuje:

  • Wsparcie sprzętowe
  • Ekosystem aplikacji
  • Ekosystem rozwoju
  • Obsługa systemu plików
  • Zarządzanie zasobami
    • Zarządzanie pamięcią
    • Planowanie procesów
    • Sterowanie we / wy
    • Implementacja stosu TCP
    • Rachunkowość na poziomie zasobów
  • Bezpieczeństwo
    • Mechanizmy bezpieczeństwa na poziomie systemu operacyjnego
    • Mechanizmy bezpieczeństwa na poziomie systemu plików
    • Funkcje audytu
    • Rachunkowość procesów
    • Zarządzanie użytkownikami / rolami
  • Natywne usługi systemowe
  • Testy wydajności specyficzne dla aplikacji

Istnieje wiele szczegółowych informacji na temat każdego z tych tematów, dlatego jest mało prawdopodobne, aby znaleźć kanoniczną odpowiedź na swoje pytanie.

CodeGnome
źródło