Czym jest UNIX: rozwój, funkcje i zastosowanie systemu operacyjnego

Oficjalna definicja tego, czym jest Unix, leży w obszarze zarejestrowanego znaku towarowego The Open Group, rodziny systemów operacyjnych i narzędzi komputerowych. Aby zastosować znak towarowy Unix, sprzedawca systemu operacyjnego musi uiścić opłatę licencyjną i roczne tantiemy. Oficjalnie licencjonowane systemy operacyjne Unix to Apple, Oracle, AIX, IRIX (SGI) i Hewlett-Packard.

Historia systemu UNIX

Aby wyjaśnić czym jest Unix, należy zacząć od historii rozwoju. W latach sześćdziesiątych General Electric i Bell Labs z Mass. Tech Institute podjęły próbę stworzenia interaktywnego systemu Multics, który pozwoliłby wielu użytkownikom na dostęp do komputera mainframe w tym samym czasie. Rozczarowany wynikiem, Bell Labs opuścił projekt, ale specjaliści od komputerów, Ken Thompson i Dennis Ritchie, postanowili kontynuować pracę, która zakończyła się wraz z rozwojem Uniksa.


Thompson i Ritchie byli kierowani przez zespół badaczy w celu opracowania hierarchicznego systemu plików, interpretera wiersza poleceń, kilku małych programów biurowych oraz koncepcji procesów i plików urządzeń. Księżyc Thompson uruchomił samodzielny system operacyjny z asemblerem, edytorem i powłoką YEW-nihks, oparty na wcześniejszej wersji programu Multics. "Unix" był znacznie mniejszy i reprezentował system jednego zadania. Przed 1973 r. Był napisany na asembler, ale czwarta edycja Uniksa została przepisana na C. Wtedy była rewolucyjna, ponieważ system operacyjny był zbyt trudny do napisania w języku wysokiego poziomu. Ta zwiększona przenośnośćSystemy uniksowe na inne platformy komputerowe. W „Unix” na początku lat 80. był popularny w środowisku akademickim, a następnie firmach handlowych, takich jak Solaris i Sequent Technologies, zaczęły ją stosować na szerszą skalę.


W latach 1990, programiści sieci opracowany wspólnie dystrybucje Linuksa i Berkeley Software Distribution (BSD), doprowadziła do rosnącej popularności systemów uniksowych. Dziś najnowocześniejszy komputer i urządzenia mobilne z systemem operacyjnym Unix. Nowoczesny interfejs Unix i Single UNIX Specification są własnością The Open Group. Najnowsza wersja standardu certyfikacji UNIX V7 stała się czwartą wersją wydaną w 2013 roku.

Cechy koncepcji OS

Aby zrozumieć, co Unix, trzeba to unikalny zestaw koncepcji systemów operacyjnych rozważenia. Najważniejsze w tym, że używa zwykłego tekstu podczas przechowywania danych, hierarchiczny system plików i niektóre interakcje między procesorami (IPC). Użytkownicy systemu Unix mogą łączyć narzędzia programowe i małe programy za pomocą interpretera wiersza poleceń. To jest program na poziomie użytkownika. Programiści mogą napisać własną skorupę i dodać nowe polecenia bez zmiany samego zbiornika, ponieważ wykorzystuje język poleceń interaktywnych i skryptów. Unix Concepts są wpływowe z wielu powodów. System Unix był siłą napędową rozwoju Internetu i komputerów w sieci narzędzia transformacji. Uważa ona wszystkie typy plików jako prosty tablic bajtowych, który służy uproszczony model pliku w porównaniu do pozostałych przychodów operacyjnychsystemy.
Unix spopularyzował hierarchiczny system plików z dowolnie osadzonymi podkatalogami. Wcześniej systemy operacyjne mogły podzielić urządzenie pamięciowe na sekcje o stałej liczbie poziomów. Twórcy tego systemu zasługują na uznanie za wprowadzenie modułowości i możliwości wielokrotnego wykorzystania w praktykach tworzenia oprogramowania i promocji narzędzi programowych. Stworzyli także zbiór zasad kultury dla rozwoju oprogramowania i rozwinęli filozofię Unix, która miała wpływ na społeczność IT.

Architektura systemu operacyjnego UNIX

Architektura Unix to komputerowy system operacyjny, który ucieleśnia filozofię Unix. Jest zgodny ze standardami takimi jak Single UNIX Specification (SUS) lub równoważny standard IEEE POSIX. Szczegółowa analiza tego, czym UNIX jest w rodzinie systemów operacyjnych rozpoczyna się od wyjaśnienia struktury strukturalnej, która składa się z trzech części: jądra, powłoki i programy. Niektóre kluczowe cechy koncepcji architektury uniksowej wykorzystują rdzeń scentralizowanego systemu operacyjnego, który zarządza działaniami systemu i procesów. Wszystkie nie-rdzeniowe oprogramowanie jest zorganizowane w oddzielne procesy, kontrolowane przez jądro, które jest centrum systemu operacyjnego, przydziela Unix czas i programy pamięciowe, przetwarza repozytorium plików w odpowiedzi na wywołania systemowe.
Systemy uniksowe mają przytłaczającą wielozadaniowość - kilka procesów może być wykonywanych jednocześnie lub w krótkich odstępach czasu i niemal jednocześnie, orazkażdy proces może zostać przerwany przez jądro i usunięty z jego wykonania. Pliki są przechowywane na dysku w hierarchicznym systemie plików, z jedną górną lokalizacją w systemie (root lub "/"), z plikami, katalogami i podkatalogami. Z pewnymi wyjątkami urządzenie i niektóre rodzaje komunikacji między procesami są zarządzane i wyświetlane jako pliki lub pseudo-pliki w hierarchii systemu plików. System operacyjny UNIX obsługuje następujące funkcje i funkcje:
  • wielozadaniowość i interfejs wielu użytkowników.
  • Interfejs programistyczny.
  • Wykorzystanie plików jako abstrakcji urządzeń i innych obiektów.
  • Wbudowana sieć (standard TCP /IP).
  • Stałe procesy usług systemowych, zwane "demonami" i zarządzane przez init lub inet.
  • Pliki i procesy

    Wszystko w systemie UNIX to plik lub proces. Proces jest wykonywalnym programem identyfikowanym przez unikalny identyfikator PID procesu. Plik Unix jest zbiorem danych. Są tworzone przez użytkowników za pomocą edytorów tekstu i kompilatorów. Przykłady plików:
  • dokument (raport, streszczenie itp.);
  • tekst programu jest napisany w języku programowania wysokiego poziomu;
  • instrukcje zrozumiałe bezpośrednio dla maszyny i niejasne dla przeciętnego użytkownika, na przykład zestaw cyfr binarnych;
  • katalog zawierający informacje o jego zawartości, które mogą być mieszanką innych katalogów (podkatalogów) i zwykłych plików.
  • Wszystkie pliki uniksowe są zorganizowane w strukturze katalogów. System plików jest zorganizowany w hierarchiczną strukturę, podobną doodwrócone drzewo Górna część hierarchii jest tradycyjnie nazywana rootem, zapisana jako pochylenie ("/").

    Pliki tekstowe mogą być wyświetlane na ekranie i edytowane. W systemie UNIX dostępnych jest kilka programów do edycji tekstu, z których najważniejszymi są vi i Emacs. Wielu użytkowników używa pico, prostego edytora tekstu, który jest dostarczany z programem Pine mail. Na przykład, aby wyświetlić zawartość pliku, wpisz "$ pico", a następnie nazwę pliku, który chcesz utworzyć.
    Funkcje edycji Pico są wywoływane przez jednoczesne naciśnięcie klawiszy, na przykład Ctrl i R. Funkcja wycinania i wklejania Pico:
  • Przejdź do żądanego wiersza tekstu i naciśnij "^ K". Cała linia powinna zniknąć.
  • Przejdź na koniec tekstu i naciśnij "^ U". Spowoduje to wstawienie nowego wiersza tekstu.
  • Pisanie słów w tekście odbywa się za pomocą "^ W".
  • Aby zapisać pracę bez wychodzenia, wpisz "^ O".
  • Wpisz "^ X" dla wyniku. Jeśli istnieją niezmienione dane, użytkownik zostanie poproszony o zrobienie tego przed zakończeniem.
  • Pico nie ma wielu dodatkowych funkcji, które inne edytory, takie jak vi i Emacs, są, ale łatwe w użyciu i na pewno nadają się do edycji małych plików.

    Systemy uniksowe

    Obejmują one systemy operacyjne, które zachowują się jak systemy uniksowe i zapewniają podobne narzędzia, ale nie są licencjonowane przez The Open Group. Są one zwykle nazywane typami uniksowymi. To są różne dystrybucje Linuksa. Na przykład Red Hat Enterprise Linux, Ubuntu i CentOS oraz kilku potomków systemu operacyjnegoRodzina dystrybucji oprogramowania Unix Berkeley. Nie ma jasnej definicji "Unix" -like, ale termin odnosi się do systemu operacyjnego, który zachowuje się jak Unix. Może to odnosić się do wolnego i otwartego kodu źródłowego. Niektórzy programiści twierdzą, że istnieją trzy typy. Genetycznie podobne systemy są powiązane z oryginalną bazą danych Bell Labs, później AT & T, na przykład z BSD, który został wykorzystany przez naukowców z University of California pod koniec lat 70-tych i wczesnych 80-tych. Marki towarowe i podobne systemy są zgodne ze specyfikacją Unix Unix. Systemy funkcjonalne, takie jak Unix, Linux i Minix, zachowują się w przybliżeniu zgodnie ze specyfikacją. Na przykład powinny mieć program zarządzający sesjami logowania i monitami poleceń. Opatentowane systemy operacyjne Unix i podobne warianty działają na wielu różnych architekturach cyfrowych i są powszechnie stosowane na serwerach internetowych, komputerach typu mainframe i superkomputerach. W ostatnich latach smartfony, tablety i komputery osobiste z wersjami lub wersjami Unix zyskują na popularności.

    Do głównych elementów

    własne układy i warianty Unix charakteryzują kilku głównych składników:
  • rdzeń - to program główny system operacyjny, który kontroluje system połączeń pamięci i innych funkcji niskim poziomie wspólnych dla większości zastosowań, a Zapewnia sterowniki do zarządzania sprzętem.
  • powłoki skorupy - jest interaktywny program, który zapewnia połączenie pomiędzy użytkownikiem a jądra. Powłoka interpretuje polecenia wprowadzone przez użytkownika lubdostarczone przez skrypt powłoki i przesyła ich jądra do wykonania. Środowiska są dostępne do użytku w Unixopodobnych systemów operacyjnych zawierających SH (Shell Bourne) ciachnięcie (Shell Bourne ponownie), csh (membrana C) tcsh (Shell TENEX C) KSH (Shell Korn) oraz powłokę (zsh Z).
  • systemu plików używa hierarchicznej struktury katalogów z katalogiem głównym („/”), na górze. System plików jest zamontowany w każdym systemie korzeniowym AS /N, gdzie katalog domowy dla każdego użytkownika jest /N /u /i pliki związane z oprogramowaniem w /N /miękkich. Aby ustalić, które systemy plików są montowane w systemach uniksowych lub uniksowych, użyj polecenia mount. Większość zawiera narzędzia i biblioteki do pisania, kompilowania i debugowania programów w C, C ++ i Fortran.
  • zespoły systemów Unix i uniksopodobnych zawierać standardowe duże podstawowe narzędzia do edycji tekstu, pisania, kompilowania i zarządzanie programem, przetwarzanie, manipulacja środowisko użytkownika i uzyskać informacje o systemie i jego użytkowników. Polecenia pozwalają argumentom znanym jako opcje zmienić ich domyślne zachowanie. Użytkownicy wprowadzają dane w wierszu poleceń, a następnie powłoka wykonuje interpretację i przenosi jądra do wykonania.
  • W Unix użytkownik musi korzystać z linii sterowania (większą kontrolę i elastyczność), albo GUI (łatwiej). membranę

    argumentów Cel

    Użytkownik współdziała z UNIX za pomocą specjalnego programu zwanego powłokę wzywający komendy i przesyła je do wykonania po uruchomieniuwejście Składają się z dwóch części: nazwy polecenia i argumentów. Pewne argumenty, zwane opcjami, są zwykle wprowadzane za pomocą znaku "-", zmieniają zachowanie polecenia w określony sposób, podczas gdy inne argumenty wskazują na obiekty, takie jak nazwy plików, komputery i użytkownicy. W poniższym przykładzie: $ ls -l myfile "ls" jest nazwą polecenia, a "-l" i "myfile" są argumentami. "-L" jest opcją, która zmienia zachowanie polecenia "ls". Nie wszystkie polecenia wymagają parametrów lub argumentów. Wiele z nich ma domyślną inteligencję, gdy nic nie jest określone. Powłoka systemu uniksowego występuje w dwóch podstawowych wariantach: powłoka Bourne'a, sh i powłoka C, csh. Inne popularne powłoki pochodzą od nich, takich jak ksh, bash, tcsh. Każda powłoka używa określonego znaku lub ciągu znaków, aby poprosić użytkownika o polecenie o nazwie domyślne zaproszenie powłoki dla bash, symbol $. O ile nie określono inaczej, będą działać równie dobrze z większością innych powłok. Ponieważ system UNIX obsługuje wielu użytkowników jednocześnie, należy zidentyfikować się w systemie przed rozpoczęciem korzystania z niego. Ten proces nazywa się logowaniem. Kiedy użytkownik łączy się z komputerem to poprosił o dwa kawałki informacji Logowanie - zalogować się do systemu, który ma go zidentyfikować i hasła, co zwiększa prawdopodobieństwo, że część naprawdę jest ten, kto nazywa siebie.

    Podstawowe polecenia systemu UNIX

    Powłoka tcsh ma kilka funkcji, które pomagają komendom typu użytkownika. Aby uzupełnić nazwę pliku, wprowadź część nazwy polecenia,plik lub katalog. Po naciśnięciu klawisza [Tab], powłoka tcsh automatycznie uzupełnia część nazwy. Jeśli wykryje więcej niż jedną nazwę, zaczyna się od liter zainicjowanych przez użytkownika, rozlegnie się sygnał dźwiękowy sugerując kilka liter przed ponownym naciśnięciem klawisza tabulatora. Powłoka przechowuje listę poleceń, które wpisujesz. Jeśli chcesz powtórzyć polecenie, użyj klawiszy strzałek, aby przewinąć listę w górę lub w dół lub wprowadź historię dla listy poprzednich poleceń. Przykłady głównych poleceń systemu UNIX to:
  • ls: lista plików.
  • ls -l: wyświetla listę plików w długim formacie.
  • cd: przejdź do katalogu nad bieżącym.
  • cp nazwa_pliku1 nazwa_pliku2: kopiuje plik, nazwę pliku.
  • chmod: zmiana praw do odczytu, zapisu i wykonywania plików;
  • mkdir: tworzy katalog.

    Aplikacja terminalu

    Ta aplikacja działa, gdy użytkownik wysyła polecenia bezpośrednio do komputera, który zwraca wynik bezpośrednio do użytkownika. Istnieje program pośredni do tego, znany jako terminal lub wiersz poleceń. To, co pisze użytkownik, jest przesyłane do terminala, który oblicza polecenia do wykonania i wydaje polecenie do wykonania. W języku angielskim terminal jest nazywany powłoką, ponieważ obejmuje system operacyjny, aby ukryć część jego złożoności i uprościć interakcję z nim. Terminal jest programem, który może uruchamiać inne programy zamiast wykonywać same obliczenia. Najpopularniejszy terminal Unix nazywa się Bash - od Bourne Again Shell, ponieważ pochodzi z poprzedniej wersji napisanej przez Stephena Burna.Bash jest domyślnym terminalem w większości nowoczesnych implementacji Uniksa i większości pakietów udostępniających narzędzia podobne do Unix dla Windows. Używanie basha lub dowolnego innego terminala jest czasami wygodniejsze w programowaniu. Zespoły krótkie, długie, często tylko kilka znaków, których nazwy są często tajemnicze i ich zawarcia - ciągi tekstowe zamiast coś wizualne, takie jak grafika. Z drugiej strony, z kilkoma Terminal klucz pozwala na łączenie istniejących narzędzi do potężnych przenośników i przetwarzać duże ilości danych automatycznie. Ta automatyzacja sprawia, że ​​nie tylko bardziej wydajne, ale również poprawia powtarzalność operacji, ponieważ umożliwia powtarzanie identycznych procesów za pomocą kilku prostych poleceń. Ponadto linia poleceń jest często najłatwiejszym sposobem interakcji ze zdalnymi komputerami i superkomputerami. Wprowadzenie do terminalu jest praktycznie niezbędne do korzystania z różnych specjalistycznych narzędzi i zasobów, w tym wysokowydajnych systemów komputerowych. Klastry i cloud computing są coraz bardziej popularne do analizy danych naukowych i zdolność do interakcji z nimi jest niezbędne umiejętności. Użytkownik może wykorzystać umiejętności, które zdobędzie w linii poleceń, aby rozwiązać szeroki zakres zagadnień naukowych i zadań obliczeniowych.

    Tworzenie nowego katalogu

    Teraz, gdy użytkownik posiada podstawową wiedzę o systemie plików i jak je stosować, można przystąpić do tworzenia własnych plików i katalogów i zarządzanieich. Katalogi są tworzone przy użyciu mkdir i usuwane za pomocą rmdir. Na przykład, aby utworzyć dwa nowe katalogi, napisz: $ mkdir test test2. Teraz, aby usunąć drugi katalog, który właśnie został utworzony: $ rmdir test2. W takim przypadku rmdir usunie tylko puste katalogi. Jeśli katalog zawiera pliki, użytkownik musi najpierw usunąć je przed użyciem rmdir. Ponadto może rekurencyjnie usunąć katalog i jego zawartość, używając odpowiedniej opcji za pomocą polecenia rm. Jeśli chcesz skopiować niektóre istniejące pliki z reszty systemu plików do katalogu testowego, użyj polecenia cp. Przed przejściem do nowego katalogu "testowego", który właśnie został utworzony. Użytkownik użyje tego obszaru do eksperymentów, minimalizując w ten sposób potencjalne uszkodzenia innych plików w katalogu domowym:
  • $ cd test;
  • $ pwd;
  • /home /xxxxx /test.
  • Teraz możesz skopiować niektóre pliki do katalogu testowego, używając cp:
  • $ cp /etc /motd. $ Cp /etc /hosts;
  • $ cp /etc /group. $ Ls.
  • Trzy powyższe polecenia cp kopiują istniejące pliki z katalogu /etc do bieżącego katalogu (po którym następuje symbol "."). Teraz usuń plik, używając grupy rm:
  • $ rm;
  • $ ls;
  • hosty motd.
  • Następnie przenieś jeden z plików, używając mv:
  • $ mv motd;
  • $ ls.
  • Ponieważ cp, mv rm może niszczyć dane, oferują interaktywną opcję, która prosi użytkownika, aby kontynuował. Jest to wywoływane z opcją -i. Zwykle administrator systemu konfiguruje konto, aby domyślnie korzystał z tej opcji.Dla cp i mv potrzebujesz dwóch argumentów: bieżącej lokalizacji i miejsca docelowego pliku, który chcesz skopiować lub przenieść. Miejsce docelowe może być innym plikiem lub katalogiem.

    Korzyści lidera Internetu

    Żaden typ systemu operacyjnego nie oferuje uniwersalnych odpowiedzi na wszystkie wymagania użytkowników. Chodzi o wybór i podejmowanie świadomych decyzji. Mimo to Unix ma tak wiele zalet, że stał się najbardziej pożądanym systemem operacyjnym. Ogólne zalety systemu Unix:
  • Elastyczny i można go zainstalować na wielu typach komputerów, w tym na komputerach typu mainframe, superkomputerach i mikrokomputerach.
  • Stabilny i nie zawodzi tak często, jak Win, więc wymaga mniejszej administracji i konserwacji.
  • Ma więcej wbudowanych zabezpieczeń i uprawnień niż Win.
  • Posiada znacznie większą moc obliczeniową niż Win.
  • jest liderem w usługach internetowych. Około 90% użytkowników Internetu korzysta z systemów operacyjnych Unix z uruchomionym Apache - najczęściej używanym serwerem internetowym na świecie, który jest bezpłatny.
  • Aktualizacje oprogramowania firmy Microsoft często wymagają od użytkownika zakupu nowego sprzętu lub oprogramowania. To nie jest jak Unix.
  • Zasadniczo, bezpłatne lub tanie zintegrowane rodziny systemów operacyjnych z rodziny Unix, takie jak Linux i BSD, z ich elastycznością i kontrolą są bardzo atrakcyjne dla początkujących mistrzów komputerowych.
  • Wiele znajmądrzejsi programiści opracowują nowoczesne oprogramowanie za darmo dla szybko rosnącego ruchu typu open source. "
  • Unix inspiruje również nowe podejścia do rozwoju oprogramowania, takie jak rozwiązywanie problemów poprzez łączenie prostych narzędzi zamiast tworzenia dużych monolitycznych aplikacji.
  • Niedawno Unix doświadczył spadku wykorzystania, głównie ze względu na przejście z platform RISC na rozwiązania oparte na procesorach x86, które mogą obsłużyć wiele obciążeń dla systemu Unix przy wyższej wydajności przy niższych kosztach. Eksperci przewidują, że wiele organizacji będzie nadal używać Uniksa w krytycznych środowiskach, ale zmniejszy ich zależność od systemu poprzez strategie modernizacji i konsolidacji IT. Niemniej jednak, Unix jest nadal najlepszym systemem dla wielu aplikacji, takich jak oprogramowanie do skalowania pionowego i funkcji bezpieczeństwa, o czym świadczą liczne recenzje Uniksa. Oczekuje się, że w przyszłości spadnie sprzedaż serwerów, ale programy w sektorze finansowym, rządowym i telekomunikacyjnym będą nadal stymulować korzystanie z systemu Unix.

    Powiązane publikacje