Dzwon.

Są ci, którzy przeczytali tę wiadomość przed tobą.
Subskrybuj odbieranie artykułów świeżych.
E-mail
Nazwa
Nazwisko
Jak chcesz przeczytać dzwonek
Bez spamu

Unix powstał w Laboratoriach AT & T Bell Labs ponad 20 lat temu.

Unix. - Ten multiplayer, multitasking OS, obejmuje wystarczająco silne narzędzia do ochrony programów i plików różnych użytkowników. Napisany w języku C i jest niezależny od maszyn, który zapewnia wysoką mobilność i tolerancję światła stosowane oprogramowanie Na PC Różna architektura. Ważną cechą rodziny UNIX jest jego modułowość i obszerny zestaw. programy serwisowektóre pozwalają na utworzenie korzystnego środowiska pracy dla użytkowników programistów.

Obsługuje hierarchiczną strukturę plików, pamięci wirtualnej, interfejsu wieloczynkowego, systemy wieloprocesorowe, system zarządzania bazami danych wieloosobowych, niejednorodne sieci komputerowe.

UNIX OS ma następujące główne cechy:

Ruchliwość;

- Przesiewanie wielozadaniowości na podstawie procesów biegających w odosobnionych ukierunkowanych przestrzeniach w pamięci wirtualnej;

Wsparcie dla jednoczesnych prac wielu użytkowników;

Wsparcie dla procesów asynchronicznych;

Hierarchiczny system plików;

Wsparcie dla operacji we / wy niezależnie (za pośrednictwem plików urządzeń specjalnych);

Standardowy interfejs programu (kanały oprogramowania, IPC) i użytkownicy (tłumacz poleceń, nie zawartych w jądrze OS);

Wbudowane narzędzia do korzystania z systemu.

Architektura OS UNIX. - Wielopoziomowy. Na niższym poziomie działa rdzeń system operacyjny. Podstawowe funkcje (zarządzanie procesami, pamięć, przerywana obsługa itp.) interfejs połączenia systemowego, tworzący drugi poziom. Połączenia systemowe. Zapewniać interfejs programu. W celu uzyskania dostępu do procedur jądra. Następna praca tłumacze poleceń , Zespoły i narzędzia administracji systemowej, komunikacja kierowcy. i protokoły - Wszystko, co zwykle się nazywa oprogramowanie systemowe . Formularz zewnętrzny programy aplikacji. użytkownik, sieć i inne usługi komunikacyjne, DBMS i Utilities.

System operacyjny wykonuje dwa główne zadania: manipulacja danych i przechowywanie. Większość programów manipuluje głównie dane, ale ostatecznie są one przechowywane gdzieś. W systemie UNIX to miejsce przechowywania jest system plików. Ponadto w UNIX wszystkie urządzeniaz którymi działa system operacyjnyZaprezentowano również w formie specjalnych plików w systemie plików.

Logiczny system plików. w systemie systemowym UNIX (lub po prostu system plików ) jest hierarchicznie zorganizowaną strukturą wszystkich katalogów i plików w systemie, począwszy od korzeń katalog. System plików UNIX zapewnia ujednolicony interfejs dostępu do danych znajduje się na różnych mediach i urządzeniach peryferyjnych. Logiczny system plików może składać się z jednego lub więcej systemy fizyczne (poniżej), Jesteśmy partycjami mediów fizycznych (dyski, CD-ROM lub dyskietki).


System plików kontroluje prawa dostępu do plików, wykonuje operacje do tworzenia i usuwania plików, a także zapisuje / czytanie danych plików. System plików zapewnia przekierowanie żądań adresowanych do urządzeń peryferyjnych odpowiadających modułom podsystemu we / wy.

Hierarchiczna struktura systemu plików UNIX upraszcza w niej orientację. Każdy katalog, zaczynający się od korzenia ( / ), z kolei zawiera pliki i podkatalogi.

W Unix nie ma żadnych ograniczeń teoretycznych liczby zagnieżdżonych katalogów, ale istnieją ograniczenia maksymalnej długości nazwy pliku, która jest wskazana w poleceń - 1024 znaków.

W UNIX istnieje kilka typów plików, które różnią się w celach funkcjonalnych:

Normalny plik -najczęstszym typem plików zawierających dane w pewnym formacie. W systemie operacyjnym takie pliki są po prostu sekwencją bajtów. Te pliki obejmują pliki tekstowe., Dane binarne i wykonane programy.

Katalog-ten plik zawierający nazwiska plików w nim, a także wskaźniki do dodatkowe informacjepozwalając systemowi operacyjnemu wykonywać działania z tymi plikami. Korzystając z katalogów, formowany jest logiczne drzewo systemu plików.

Specjalny plik urządzenia -Zapewnia dostęp do urządzeń fizycznych. Dostęp do urządzeń jest wykonywany przez otwieranie, odczytanie i zapis do specjalnego pliku urządzenia.

FIFO - nazwany kanał.Ten plik służy do komunikacji między procesami na zasadzie kolejki.

Gniazdo elektrycznepozwól, aby przesłać połączenie sieciowe jako plik.

Każdy plik w systemie UNIX zawiera zestaw uprawnień dostępowych, który jest zdefiniowany jako użytkownik współdziała z tym plikiem.

Każdy dysk twardy składa się z jednej lub więcej części logicznych - sekcji. Lokalizacja i rozmiar partycji jest określony, gdy dysk jest formatowany. W UNIX partycje działają jako niezależne urządzenia, do których dostęp jest przeprowadzany jako różne nośniki danych. Sekcja może zawierać tylko jeden fizyczny system plików..

Istnieje wiele rodzajów systemów fizycznych plików, takich jak FAT16 i NTFS, z inną strukturą. Ponadto istnieje wiele typów systemów plików fizycznych UNIX ( uFS., s5FS., eXT2., vXFS., jFS., fFS. itp.).

Piaskownica

człowiek z żelaza 19 marca 2011 o 23:16

Co różni się Linux od UNIX, a co jest systemem osiSopodobnym?

Unix.
Unix. (nie warte Zmieszany z definicją systemu operacyjnego podobnego do UNIX) jest rodzina systemów operacyjnych (Mac OS X, GNU / Linux).
Pierwszy system został opracowany w 1969 r. W Bell Laboratories, dawna amerykańska korporacja.

Charakterystyczne cechy UNIX:

  1. Prosta konfiguracja systemu za pomocą prostego, zwykle tekstu, plików.
  2. Szerokie użycie linii poleceń.
  3. Stosowanie przenośników.
Obecnie Uniks jest używany głównie na serwerach i jako system do sprzętu.
Nie można zwrócić uwagę na ogromne znaczenie historyczne systemów UNIX. Obecnie są one uznawane za jeden z najbardziej historycznie ważnych systemów operacyjnych. W trakcie rozwoju systemów UNIX powstało język C.

Opcje UNIX przez lata

UNIX-LIKE OS
UNIX-LIKE OS (czasami Korzystanie z redukcji * nix) - system utworzony pod wpływem UNIX.

Słowo UNIX jest używane jako znak zgodności i jako znak towarowy.

Konsorcjum Open Group ma znak towarowy "UNIX", ale jest najbardziej znany jako autorytet certyfikujący dla marki UNIX. Ostatnio otwartą grupę ma światło znikające w związku z publikacją specyfikacji specyfikacji pojedynczej UNIX, która musi spełnić system operacyjny, aby być dumnym, że nazywa się UNIX.

Możesz spojrzeć na drzewo genealogiczne systemu operacyjnego UNIX.

Linux.
Linux. - Wspólna nazwa systemów operacyjnych UNIX, które są zaprojektowane w ramach projektu GNU (projekt na temat rozwoju SPO). Linuksa działa na ogromnej mnóstwie architektur procesorowych, od zakończenia ramienia Intel X86.

Najbardziej znani i dystrybuowane dystrybucje są Arch Linux, Centos, Debian. Istnieje również wiele "krajowych", rosyjskich dystrybucji - Alt Linux, Asplinux i innych.

Istnieje wiele sporów nazywanych GNU / Linux.
Zwolennicy "Open Source" używają terminu "Linux", a zwolennicy "Darmowe oprogramowanie" - "GNU / Linux". Wolę pierwszą opcję. Czasami dla wygody oglądania terminu GNU / Linux, "GNU + Linux", pisze pisanie "GNU-Linux", "GNU-Linux", "GNU Linux".

W przeciwieństwie do systemów komercyjnych (MS Windows, Mac OS X) Linux nie ma geograficznego centrum rozwoju i pewnej organizacji, która byłaby właścicielami systemu. System i programy same są wynikiem pracy ogromnych społeczności, tysięcy projektów. Dołącz do projektu lub stwórz wszystkich wszystkich!

Wynik
W ten sposób mieliśmy łańcuch: UNIX -\u003e UNIX - jak OS -\u003e Linux.

Podsumowując, mogę powiedzieć, że różnice między Linuksem i Uniks są oczywiste. UNIX jest znacznie szerszym koncepcją, fundamentem do budowy i certyfikacji wszystkich systemów podobnych do UNIX, a Linux jest konkretnym przypadkiem UNIX.

Tagi: UNIX, Linux, Nix, Linux, Unix

Ten artykuł nie podlega komentarzu, ponieważ jego autor jeszcze nie jest

Ministerstwo Edukacji i Nauki Rosji

Federacja

Agencja Edukacji Federalnej

Państwowa instytucja edukacyjna.

Wyższa edukacja zawodowa

Taganrog State Radio Engineering University

Dyscyplina "Informatyka"

"System operacyjny UNIX"

Ukończone: Orda-Zhigulina D.V., Gr. E-25.

Sprawdzone: Vishnevetsky V.yu.

Taganrog 2006.


Wprowadzenie

Co to jest Unix 3

Gdzie uzyskać darmowy UNIX 7

Głównym elementem. (Opis UNIX)

1. Podstawowe koncepcje UNIX 8

2. System plików 9

2.1 Typy plików 9

3. Tłumacz polecenia 11

4. Dźwięk UNIX 12

4.1 Ogólna organizacja tradycyjnego jądra OS UNIX 13

4.2 Podstawowe funkcje rdzenia 14

4.3 Zasady interakcji z jądrem 15

4.4 Zasady przetwarzania 17

5. Kontrola wejścia / wyjścia 18

5. 1 Zasady Buforowania systemu we / wy 19

5. 2 Wezwania systemowe do wprowadzania / wyjścia 21

6. Interfejsy i punkty wejścia sterownika 23

6. 1 Sterowniki blokowe 23

6. 2 Symboliczne sterowniki 24

6. 3 sterowniki strumieniowe 25

7. Polecenia i narzędzia 25

7. 1 Organizacja poleceń w UNIX 26

7. 2 I / O Organizacja Przekierowań i przenośnika 26

7. 3 Wbudowany, biblioteka i niestandardowe drużyny 26

7. 4 Programowanie poleceń 27

8. Narzędzia graficzne graficznego użytkownika 27

8.1 Identyfikatory użytkowników i grupa użytkowników 30

8.2 Ochrona plików 32

8.3 Perspektywa OS, wspieranie środa OS UNIX 33

Wniosek

Główne różnice z UNIX z innego systemu operacyjnego 36

Aplikacje UNIX 37.


Wprowadzenie

Co to jest Unix.

UNIX kadencja i nie w pełni równoważny z nim Uniks jest używany w różnych wartościach. Zacznijmy od drugiego terminu jako prostsze. W skrócie UNIX (w tym formularzu) jest zastrzeżonym znakiem towarowym, pierwotnie należał do AT & T Corporation, który zmienił wielu właścicieli za jego długą żywotność, a obecnie jest nieruchomość organizacji o nazwie Otwarta Grupa. Prawo do użycia nazwy Unix jest osiągane przez rodzaj "kontroli ścieków" - przechodzące testy zgodności z pewnymi specyfikacjami OS Referencyjnymi (standardowy standard UNIX - że w tym przypadku można przetłumaczyć jako jedyny standard w systemie UNIX). Procedura ta jest nie tylko skomplikowana, ale także bardzo nie ma już, a zatem było to tylko kilka operacji od haired, i wszystkie są zastrzeżone, czyli są one własnością niektórych korporacji.

Wśród korporacji, które podjęły prawo do Unix, potem deweloperów / testerów i krwi (dokładniej, właściciele dolara) można nazwać:

Słońce z jej Sunos (lepiej znany na świecie pod nazwą Solaris);

IBM opracowany przez system AIX;

Hewlett-Packard - właściciel systemu HP-UX;

IRIX - Operacje SGI.

Ponadto nazwa UNIX dotyczy systemów:

TRUE64 UNIX, opracowany przez DEC, z likwidacją, której przekazywał Compaq, a teraz wraz z tymi ostatnie, która stała się własnością tego samego Hewlett-Packard;

Unixware - Nieruchomość SCO (produkt Merge Firmy Caldera i Santa Cruz).

Bycie zastrzeżonym, wszystkie te systemy są sprzedawane dla znacznej (nawet amerykańskiej skali) pieniędzy. Nie jest to jednak główna przeszkoda w zakresie rozpowszechniania ustawy UNIX. W przypadku wspólnej funkcji jest wiązanie z niektórymi platformami sprzętowymi: AIX działa na serwerach i IBM Workstations z procesorami energetycznymi, HP-UX - na własnych maszynach HP-PA (OSTRZEŻENIE WŁASNE Architektura), Irix - w stacjach graficznych z procesorów MIPS SGI, TREY64 UNIX - jest przeznaczony dla procesorów alfa (niestety, w Bose już byli już dobrze). Tylko nawaśnie unixware koncentruje się na "Demokratycznym" Platform PC, a Solaris istnieje W opcjach dla dwóch architektur - własnych, sparc i tego samego komputera. Co jednak nie przyczyniło się znacznie do ich częstości występowania - ze względu na stosunkowo słabe wsparcie dla nowego peryferii PC.

W ten sposób UNIX jest koncepcją głównie legalną. Ale na termin UNIX, interpretacja technologiczna została zakorzeniona. Tak więc, w stosowaniu przemysłu IT, nazywają całą rodziną systemów operacyjnych lub z "podstawowej" firmy UNIX AT & T, lub funkcje reprodukowania " czysty arkusz", W tym darmowy system operacyjny, taki jak Linux, FreeBSD i inne BSD, bez inspekcji za zgodność z pojedynczym standardem UNIX w historii

Określenie "Systemy zgodne z POSIX", które łączy rodzinę operacyjną, odpowiadają również zestawowi standardów, jest również rozpowszechniony. Sami standardy POSIX (przenośny interfejs systemowy oparty na UNIX) zostały opracowane na podstawie praktyki przyjętych w systemach UNIX, a zatem te ostatnie są wszystkim z definicji kompatybilnej POSIX. Nie jest to jednak dość synonimy: Składanie Składki Snix związanych z UNIX twierdzi tylko pośrednio (QNX, sylaba), albo niepowiązany (do systemu Windows NT / 2000 / XP).

Aby wyjaśnić kwestię związków UNIX, UNIX i POSIX, będziesz musiał wziąć głęboko w historię. W rzeczywistości historia tej kwestii jest szczegółowo omówiony w odpowiedniej rozdziale książki "DARMOWY UNIX: Linux, FreeBSD i inne" (w najbliższej przyszłości trafi do wydawnictwa BHV-Petersburg) oraz w artykułach na temat historii Systemy Linux i BSD.

System operacyjny UNIX (dokładniej, jego pierwsza opcja) została opracowana przez pracowników Bell Labs (Dywizwy AT & T) w latach 1969-1971. Pierwsi autorzy - Ken Thompson i Dennis Richie zrobili to wyłącznie do własnych celów, w szczególności, aby bawić się mieć ulubioną grę StarTravel. Z wielu powodów prawnych sama firma nie mogła go użyć jako produktu komercyjnego. Jednak praktyczne zastosowanie Uniksa było dość szybko znalezione. Po pierwsze, został użyty w Bell Labs, aby przygotować wszelkiego rodzaju dokumentację techniczną (w tym patentową). A po drugie, na Unix system komunikacji UUCP (UNIX do UNIX Copy Program - Kopiuj z UNIX w UNIX).

Kolejny zakres zastosowania UNIX w latach 70. - na początku lat 80. ubiegłego wieku był całkowicie niezwykły. Mianowicie, w tekstach źródłowych rozprzestrzenił się wśród instytucji naukowej prowadzących pracę w dziedzinie informatyki. Celem takiej dystrybucji (nie było to dość wolne w obecnym zrozumieniu, ale w rzeczywistości okazało się bardzo liberalne), było: edukacja i badania w powyższym obszarze wiedzy.

System BSD UNIX stworzony na University of Berkeley w Kalifornii otrzymał największą sławę. Które, stopniowo uwalniając od zastrzeżonego kodeksu nieskazitelnego UNIX, w końcu, po dramatycznych perypetii (szczegółowo opisany tutaj), dał początek nowoczesnych bezpłatnych systemów BSD - FreeBSD, NetBSD i innych.

Jednym z najważniejszych wyników pracy hakerów uniwersyteckich był (1983) Wprowadzenie w UNIX Obsługa protokołu TCP / IP, który opierał się na sieci Arpanet (i która stała się podstawą fundamentów nowoczesnego Internetu). Stało się spokrewnieniem Dominansem Unix we wszystkich obszarach związanych z siecią World Wide. Okazało się, że jest kolejnym praktycznym zastosowaniem tej rodziny operacji - do czasu, gdy zjednoczony Unix nie musiał już mówić. Ponieważ została powiedziana wcześniej, obaj jego gałęzie zostały zarzucane - co dzieje się z dziewiczego UNIX (z czasem otrzymała system imienia V) i system pochodzenia Berklińskiego. Z drugiej strony system V był oparty na tych zróżnicowanych właściwości UNIX "OV, które w rzeczywistości miał prawo do odebrania tej nazwy.

Ostatnią okolicznością jest rozgałęzienie niegdyś pojedynczego systemu operacyjnego na kilka linii, stopniowo utraty kompatybilności, - w sprzeczności z jednym z korgulatów Ideologii UNIX: przenośność systemu między różnymi platformami oraz jego aplikacje z jednego systemu UNIX do innego. Co spowodowało, że działania różnych rodzajów standaryzujących organizacji, które zakończyły się w końcu, tworząc zestaw standardów POSIX, które wcześniej zostało określone.

To było na standardy Posix, które oparli linus Torvalds, tworząc "od podstaw" (to znaczy, bez użycia wcześniej istniejącego kodu) jego system operacyjny - Linux. I to szybko i pomyślnie opanował tradycyjne zastosowania systemów UNIX (rozwój oprogramowania, komunikacji, Internetu), otwierany z czasem dla nich i nowych - niestandardowych platform ogólnych ogólnego przeznaczenia. Jak pod warunkiem jego popularności w ludziach - popularność lepsza od wszystkich innych systemów UNIX, razem, zarówno zastrzeżonych, jak i wolnych.

Następnie porozmawiamy o pracy w systemach UNIX w najszerszym znaczeniu tego słowa, z wyłączeniem wszelkiego rodzaju marek i innych problemów prawnych. Chociaż główne przykłady dotyczące technik pracy zostaną pobrane z dziedziny swoich wolnych implementacji - Linuksa, w mniejszym stopniu FreeBSD, a nawet w mniej - z innych systemów BSD.

Gdzie zdobyć darmowy UNIX?

Baza FreeBSD - www.freeebsd.org;

Możesz skontaktować się z www.sco.com


Głównym elementem. (Opis UNIX)

1. Podstawowe koncepcje UNIX

UNIX opiera się na dwóch podstawowych pojęć: "Proces" i "Plik". Procesy są dynamiczną stroną systemu, są to subsydidy; A pliki są statyczne, są to obiekty procesów. Prawie cały interfejs interakcji procesów z jądrem i ze sobą wygląda jak pliki rekordów / czytania. Chociaż konieczne jest dodanie takich rzeczy jak sygnały, wspomagana pamięć i semafory.

Procesy mogą być bardzo konwencjonalnie podzielone na dwa typy - zadania i demony. Zadanie jest procesem, który wykonuje swoją pracę, próbując szybko go zakończyć i zakończyć. Demon czeka na wydarzenia, które muszą przetworzyć, przetwarza zdarzenia, które miały miejsce i czeka ponownie; Jest ona zakończona zgodnie z kolejnością innego procesu, najczęściej użytkownik zabija go, dając zespołowi "kill_number_process". W tym sensie okazuje się, że interaktywne przetwarzanie zadań, które wprowadzanie danych wejściowych jest raczej podobny do demona niż zadanie.

2. System plików.

W starym UNIX "AH, 14 listów zostało przypisanych do nazwy, w nowym ograniczeniu został usunięty. W katalogu, oprócz nazwy pliku, jest to jego identyfikator widzenia - liczb całkowity, który definiuje numer bloku, w którym plik, który określa numer bloku, w którym plik atrybuty są rejestrowane. Wśród nich: Numer użytkownika - Gospodarz plików; Grupy liczbowe; Liczba odniesień do pliku (CM. DEALER) Daty i czas tworzenia, ostatniej modyfikacji i ostatniego dostępu do pliku; Atrybuty dostępu. Atrybuty dostępu zawierają typ dostępu zawierają typ dostępu zawierają typ dostępu zawierają typ dostępu ( Zobacz dealer), atrybuty do zmiany praw w uruchamianiu (patrz) i dostęp do praw do niej dla właściciela, jednego dziennika i innego czytania, pisania i wykonania. Prawo do usuwania pliku jest określony przez prawo do nagrywania do katalogu przewijania .

Każdy plik (ale nie katalog) można znać pod kilku nazwami, ale koniecznie leżąc na tej samej sekcji. Wszystkie odniesienia do pliku są równe; Plik zostanie usunięty po usunięciu ostatniego linku do pliku. Jeśli plik jest otwarty (do odczytu i / lub nagrywania) liczba odniesień do niego zwiększa inny; Tak wiele programów, które otwierają plik tymczasowy natychmiast go usunąć, tak, że gdy system operacyjny zamyka pliki otwarte na proces, ten plik tymczasowy został usunięty przez system operacyjny.

Istnieje kolejna interesująca funkcja systemu plików: Jeśli po utworzeniu pliku wpis w nim nie był z rzędu, ale z dużymi odstępami, a następnie w przypadku tych odstępów, miejsce na dysku nie jest przydzielane. W ten sposób całkowita objętość plików w sekcji może być większa niż objętość partycji, a gdy plik zostanie usunięty, mniej miejsca jest zwolnione niż jego rozmiar.

2.1 Typy plików.

Pliki są następujące typy:

regularny plik dostępu do bezpośredniego;

katalog (plik zawierający inne nazwy plików i identyfikatory);

link symbolu (ciąg z inną nazwą pliku);

urządzenie blokowe (taśma magnetyczna);

urządzenie szeregowe (zaciski, porty szeregowe i równoległe; dyski i taśmy magnetyczne mają również interfejs urządzenia szeregowego)

kanał wyścigowy.

Specjalne pliki przeznaczone do pracy z urządzeniami są zwykle skoncentrowane w katalogu "/ Dev". Oto niektóre z nich (w Nominacji FreeBSD):

tTY * - terminale, w tym: TTYV - Wirtualna konsola;

ttyd - terminal dialin (zwykle port szeregowy);

cuaa - Linia Dialout

tTYP - Network Pseudo-Terminal;

tTY - terminal, z którym zadanie jest związane;

wD * - dyski twarde i ich podsekcje, w tym: WD - dysk twardy;

wDS - partycja tego dysku (zwana dalej "plasterkiem");

wDS - partycja partycji;

fd - dyskietka;

rWD *, RFD * - taki sam jak WD * i FD *, ale z konsekwentnym dostępem;

Czasami konieczne jest, aby program działający przez Użytkownika nie ma prawa prowadzić swojego użytkownika i innych innych. W tym przypadku atrybut zastępczy jest ustawiony na prawa użytkownika - gospodarza programu. (Jako przykład, dam program, który odczytuje plik z pytaniami i odpowiedziami oraz na podstawie testów odczytu, które uruchomieni ten program studencki. Program musi mieć prawo do przeczytania pliku z odpowiedziami, a uczeń go prowadził nie jest.) Tak, na przykład, program PASSWD działa, z pomocnikiem, który użytkownik może zmienić jego hasło. Użytkownik może uruchomić program PASWD, może wprowadzić zmiany podstawa systemu Dane - a użytkownik nie może.

W przeciwieństwie do DOS, w której pełna nazwa pliku wygląda jak "DISC: Pavimia", a RISC-OS, w którym wygląda jak "-File_System-Disk: $. Ścieżka" (Co ogólnie mówienie ma swoje zalety), UNIX wykorzystuje przezroczystą notację w formie "/ ścieżkę / nazwa". Korzeń jest liczony z sekcji, z której załadowano jądro UNIX. Jeśli chcesz użyć innej sekcji (i w sekcji rozruchu, zwykle znajduje się tylko najbardziej niezbędne do pobrania), używany jest "Mount / Dev / File_ selection_). Jednocześnie, pliki i podkatalogi poprzednio znajdują się w tym katalogu stają się niedostępne, dopóki partycja nie zostanie nieznana (naturalnie, wszyscy normalni ludzie są używane do montażu pustych katalogów). Montaż i odmontowanie ma prawo tylko przełożonego.

Po uruchomieniu każdy proces może obliczyć, że trzy pliki są już otwarte dla niego, co jest znane jako standardowy wpis STDIN dla deskryptora 0; Standardowy wyjście Stdout na deskryptorze 1; oraz standardowe wyjście stdderr na deskryptorze 2. Podczas rejestracji w systemie, gdy użytkownik wprowadza nazwę i hasło, a początek powłoki, wszystkie trzy są skierowane do / dev / tty; Później każde z nich można przekierować do dowolnego pliku.

3. Tłumaczenie poleceń.

W UNIX istnieją prawie zawsze dwa tłumaczy poleceń - sh (powłokę) i CSH (CSH (C-podobna powłoka). Oprócz ich, są bash (Bourne), KSH (Korn) i inne. Bez szczegółów, dam ogólne zasady:

Wszystkie polecenia inne niż zmiana bieżącego katalogu, ustawienie zmiennych środowiskowych (środowiskowych) i operatorów programowania strukturalnego - programy zewnętrzne. Programy te znajdują się zwykle w katalogach / katalogach bin i / usr / bin. Programy administracyjne systemu - katalog w / sbin i / usr / sbin.

Polecenie składa się z nazwy rozpoczęcia programu i argumentów. Argumenty są oddzielone od nazwy zespołu iz siebie z pustymi i tabulacjami. Niektóre specjalne miksery są interpretowane przez Shell "Ohm. Specialsimols są" "` $ ^ *? | &; (Co jeszcze?).

W jednej linii poleceń możesz podać kilka poleceń. Polecenia można podzielić; (Wykonanie kolejnych poleceń sekwencyjnych) i (asynchroniczne jednoczesne wykonywanie poleceń), | (Wykonanie synchroniczne, standardowe wyjście stdout pierwszego polecenia zostanie złożone dla standardowego wejścia STDIN).

Ponadto można wykonać standardowy wpis z pliku, włączając plik jako jeden z argumentów (plik zostanie zresetowany) lub "\u003e\u003e Plik" (rekord zostanie wykonany na końcu pliku).

Jeśli chcesz uzyskać informacje na dowolnym poleceniem, pozwól polecenia polecenia "man_name". Zostanie wydany przez "więcej" programu na ekranie - zobacz, jak jest zarządzany na swoim UNIX "przez człowiek więcej`.

4. Core OS UNIX

Podobnie jak w dowolnym innym systemie operacyjnym wieloosobowym, zapewniając ochronę użytkownika przed sobą i ochronę danych systemu z dowolnego nieuprzywilejowanego użytkownika, w UNIX znajduje się chroniony jądro w UNIX, który zarządza zasobami komputera i zapewnia użytkownikom podstawowy zestaw usług.

Wygoda i skuteczność nowoczesnych opcji Unix nie oznacza, że \u200b\u200bcały system, w tym jądro, jest zaprojektowany i uporządkowany w najlepszy możliwy sposób. UNIX OS opracował przez lata (jest to pierwszy system operacyjny w historii, który nadal zdobywa popularność w takim starszym wieku - ponad 25 lat). Oczywiście, możliwości systemowe wzrosły, a jak często dzieje się w dużych systemach, wysokiej jakości ulepszenia w strukturach UNIX OS nie spały dla wzrostu jego możliwości.

W rezultacie jądro większości nowoczesnych opcji komercyjnych dla UNIX nie jest bardzo dobrze skonstruowanym monolitem wielokrotnego rozmiaru. Z tego powodu programowanie w Kernel Unix OS nadal jest sztuką (chyba że wydechowa i zrozumiała technologia rozwijania sterowników urządzeń zewnętrznych). Ta niewystarczająca technologia organizacji jądra UNIX OS nie spełnia wielu. Stąd pragnienie w pełni rozmnażania środowiska UNIX OS z w pełni inną organizacją systemu.

Ze względu na największe rozpowszechnienie, jądro systemowe UNIX V jest często omawiane (można go uznać).

4.1 Ogólna organizacja tradycyjnego podstawowego systemu systemu operacyjnego

Jednym z głównych osiągnięć systemu systemu UNIX jest to, że system ma charakterystykę wysokiej mobilności. Znaczenie tej jakości jest to, że cały system operacyjny, w tym jego jądro, jest stosunkowo przeniesiony na różne platformy sprzętowe. Wszystkie części systemu, nie licząc jądra, są całkowicie niezależne od maszynowo. Komponenty te są starannie zapisywane w języku C i do ich transferu nowa platforma (Przynajmniej w klasie 32-bitowe komputery) wymagane są tylko teksty źródłowe do kodów komputera docelowego.

Oczywiście największe problemy są związane z rdzeniem systemowym, który całkowicie ukrywa specyfikę stosowanej komputera, ale sama zależy od tej specyfiki. W wyniku przemyślanego oddzielenia zależnych od maszynowych i niezależnych części składowych jądra (najwyraźniej, z punktu widzenia deweloperów systemów operacyjnych, składa się to z najwyższych osiągnięć deweloperów tradycyjnego systemu jądrowego UNIX) Upewnij się, że główna część jądra nie zależy od cech architektonicznych platformy docelowej, jest napisany w całości w języku SI i przeniesienie do nowej platformy wymaga ponownego skompilowania.

Jednakże stosunkowo mała część jądra jest zależna od maszynowej i napisana w mieszaninie języka zespołu procesora SI i docelowego. Podczas przesyłania systemu na nową platformę przepisanie tej części jądra jest wymagane przy użyciu języka asemblera i z uwzględnieniem konkretnych cech sprzętu docelowego. Części zależne od maszyny jądra są dobrze odizolowane z głównej części niezależnej niezależnej, oraz o dobrym zrozumieniu celu każdego elementu zależnego od maszyny, przepisanie części zależnej od maszyny jest głównie zadaniem technicznym (choć wymaga wysokiego Kwalifikacje programistyczne).

Część zależna od maszyny tradycyjnego rdzenia UNIX OS obejmuje następujące elementy:

promocja i inicjalizacja systemu na niskim poziomie (do tej pory zależy to od charakterystyki sprzętu);

pierwotne przetwarzanie przerwania wewnętrznego i zewnętrznego;

zarządzanie pamięci (w części, która odnosi się do funkcji obsługi sprzętu do pamięci wirtualnej);

przełącz kontekst procesów między trybami użytkownika i jądra;

powiązane cechy platformy docelowej części sterowników urządzeń.

4.2 Podstawowe funkcje rdzenia

Główne funkcje jądra UNIX są traktowane w następujący sposób:

(A) Inicjalizacja systemu to funkcja startowa i promocyjna. Rdzeń systemu zapewnia narzędzie promocji (Bootstrap), która zapewnia pełne jądro do załadowania komputera i uruchamia jądro.

(B) Zarządzanie procesem i wątkami - funkcja tworzenia, zakończenie i śledzenie istniejących procesów i wątków ("procesy" wykonywane na ogólnej pamięci wirtualnej). Ponieważ UNIX jest systemem operacyjnym multiprocesci, jądro zapewnia rozdzielanie procesów czasu procesora (lub procesorów w systemach wieloprocesorowych) i innych zasobów komputerowych, aby utworzyć zewnętrzne odczucia, że \u200b\u200bprocesy są faktycznie wykonywane w równoległym.

(C) Zarządzanie pamięci jest funkcją wyświetlania niemal nieograniczonej pamięci wirtualnej procesów w pamięci fizycznej komputera, który ma ograniczone wymiary. Odpowiedni składnik jądra zapewnia oddzielne wykorzystanie tych samych obszarów losowy pamięć dostępu wiele procesów za pomocą pamięć zewnętrzna.

(D) Zarządzanie plikami - funkcja implementacji abstrakcji systemu plików jest hierarchia katalogów i plików. Systemy plików UNIX obsługują wiele typów plików. Niektóre pliki mogą zawierać dane w formacie ASCII, inne będą odpowiadać urządzeniom zewnętrznym. System plików przechowuje pliki obiektów wykonywane pliki itp. Pliki są zwykle przechowywane na zewnętrznych urządzeniach pamięci; Dostęp do nich jest dostarczany za pomocą środka jądra. W świecie UNIX istnieje kilka typów organizacji systemów plików. Nowoczesne opcje Unix jednocześnie obsługują większość systemów plików.

(e) Narzędzia komunikacyjne - funkcja zapewnia wymianę danych między procesami pracującymi wewnątrz pojedynczego komputera (IPC - Inter-proces komunikacji) między procesami pracującymi w różnych węzłach lokalnej lub globalnej sieci danych, a także między procesami a kierowcami zewnętrznych urządzenia.

f) Interfejs programowania jest funkcją, która zapewnia dostęp do możliwości jądra przez procesów użytkowników opartych na mechanizmie połączeń systemowych, zaprojektowanych jako biblioteka funkcji.

4.3 Zasady interakcji z jądro

Pewny mechanizm jest obsługiwany w dowolnym systemie operacyjnym, który umożliwia ubieganie się programom użytkownikowi na usługi jądra OS. W systemach operacyjnych najbardziej znanej radzieckiej maszyny obliczeniowej BESM-6, odpowiednie środki komunikacji z jądrem zostały wywołane ekstrakty, w systemach operacyjnych IBM, nazywano one makra układowe itp. W UNIX takie fundusze nazywane są wyzwaniami systemowymi.

Nazwa nie zmienia znaczenia, że \u200b\u200b"Polecenia specjalne" procesora są wykorzystywane do odwołania się do funkcji jądra OS, podczas wykonywania specjalnego rodzaju wewnętrznej przerwy procesora, co przekłada go do trybu jądra (w większości nowoczesnych opcji OS , Ten rodzaj przerwania nazywa się pułapką - pułapką). Podczas przetwarzania takich przerwaniach (deszyfrowanie), jądro OS rozpoznaje, że w rzeczywistości przerwanie jest żądaniem do jądra z części programu użytkownika do wykonywania pewnych czynności, wybiera parametry obsługi i przetwarza go, po czym wykonuje "powrót Z przerwania "odnawiając normalne wykonanie programu użytkownika.

Jest jasne, że specyficzne mechanizmy wzbudzenia przerw wewnętrznych z inicjatywy programu użytkownika różnią się w różnych architekturach sprzętowych. Ponieważ UNIX dąży do zapewnienia środowiska, w którym programy niestandardowe mogą być całkowicie mobilne, dodatkowy poziom, który ukrywa cechy danego mechanizmu ekscytującego wewnętrznego przerywania. Mechanizm ten zapewnia tak zwaną bibliotekę połączeń systemowych.

Dla użytkownika, biblioteka połączeń systemowych jest konwencjonalną biblioteką z góry określonych funkcji systemu programowania języka SI. Podczas programowania języka SI, użycie dowolnej funkcji z biblioteki połączeń systemowej nie różni się od użycia własnej lub funkcji Biblioteki SI. Jednak wewnątrz dowolnej funkcji konkretnej biblioteki połączeń w systemie zawiera kod, który ogólnie mówi specyficzny dla tej platformy sprzętowej.

4.4 Zasady przetwarzania przerwania

Oczywiście system operacyjny stosowany w systemach operacyjnych, mechanizm przetwarzania przerwania wewnętrznego i zewnętrznego zależy głównie od którego wsparcie sprzętowe do przetwarzania przerwania jest dostarczane przez określoną platformę sprzętową. Na szczęście, do tej pory (i przez długi czas) główni producenci DE Facto Computers osiągnęły porozumienie w sprawie podstawowych mechanizmów przerwania.

Jeśli nie bardzo dokładnie, a konkretnie, istota mechanizmu przyjętego na dzisiaj jest to, że każda ewentualna przerwa procesora (przerwa wewnętrzna lub zewnętrzna) odpowiada określonym stałym adresowi fizycznego pamięci RAM. W momencie, gdy procesor może przerywać z powodu istnienia wewnętrznej lub zewnętrznej aplikacji przerwania, istnieje sprzętowa transmisja kontroli do komórki fizycznej pamięci RAM z odpowiednim adresem - zwykle adres tej komórki nazywa się " Przerywanie wektora "(Z reguły wnioski o wewnętrzną przerwę, T. Aplikacje pochodzące bezpośrednio z procesora są natychmiast zadowoleni).

Prace systemu operacyjnego należy umieścić w odpowiednich szybkości kodu oprogramowania RAM, który zapewnia wstępne przetwarzanie przerwania i inicjowanie pełnego przetwarzania.

Zasadniczo UNIX OS przestrzega ogólnego podejścia. W przerwie wektor odpowiadający zewnętrznym przerwieniu, tj. Przerywanie z określonego urządzenia zewnętrznego, zawiera polecenia, które ustawiają poziom procesora (poziom wykonania określa, które zewnętrzne przerywania procesor musi natychmiast reagować) i przeprowadzić przejście do pełnego programu przetwarzania przerwania w odpowiednim sterowniku urządzenia. W przypadku przerwy wewnętrznej (na przykład przerywa inicjatywę programu użytkownika w przypadku braku niezbędnej strony pamięci wirtualnej w pamięci głównej, gdy wystąpi wyjątkowa sytuacja w programie użytkownika itp.) Lub przerywa z timera w Wektorek przerywania, zawiera przejście do odpowiedniego systemu rdzenia UNIX OS.

5. Zarządzanie wejściem / wyjściem

Tradycyjnie system OS Unix podkreślił trzy typy organizacji we / wy, a odpowiednio trzy typy kierowców. Wejście / wyjście blokowe jest przeznaczone głównie do pracy z katalogami i zwykłymi plikami systemu plików, które mają strukturę bloków na poziomie podstawowym. Na poziomie użytkownika można teraz pracować z plikami, bezpośrednio wyświetlając je w segmentach pamięci wirtualnej. Ta funkcja jest uważana za górny wejście / wyjście / wyjście. Na niższym poziomie wejście / wyjście blokowe jest utrzymywane przez sterowniki blokowe. Wejście blokowe / wyjście, ponadto obsługiwane przez buforowanie systemu.

Wejście / wyjście znaków jest dla bezpośrednich (bez buforowania) wymiany między przestrzenią adresową użytkownika a odpowiednim urządzeniem. Wspólne dla wszystkich symbolicznych sterowników wspierających jądro jest zapewnienie funkcji transferu danych między użytkownikami i przestrzenie adresów jądrowych.

Wreszcie, wejście / wyjście strumieniowe jest podobne do wejścia / wyjścia / wyjścia znaków, ale ze względu na dostępność możliwości włączenia do przepływu pośrednich modułów obróbki ma znacznie większą elastyczność.

5. 1 Zasady bufery systemu I / O

Tradycyjny sposób zmniejszenia kosztów ogólnych podczas wykonywania wymiany z zewnętrznymi urządzeniami pamięci o strukturze blokowej jest buforowanie wejścia / wyjścia blokowego. Oznacza to, że każda jednostka zewnętrznego urządzenia pamięci jest odczytana przede wszystkim w niektórych buforze głównej pamięci, zwana systemem UNIX, a już stamtąd, całkowicie lub częściowo (w zależności od typu wymiany) jest kopiowany do odpowiedniej przestrzeni użytkownika.

Zasady organizacji tradycyjnego mechanizmu buforującego są po pierwsze, fakt, że kopia zawartości bloku jest utrzymywana w buforze systemowym, dopóki nie będzie konieczne zastąpienie jej z powodu braku buforów (stosuje się odmiana algorytmu Lru zorganizować politykę substytucyjną. Po drugie, podczas nagrywania dowolnego bloku pamięci zewnętrznej, rzeczywiście wykonywana jest tylko aktualizacja (lub formacja i napełnianie) buforu pamięci podręcznej. Rzeczywista wymiana z urządzeniem jest wykonywana przy napychaniu bufora ze względu na substytucję jego zawartości, lub podczas wykonywania specjalnego połączenia systemu synchronizacji (lub FSYNC), wspierane specjalnie dla gwałtownego pchania do pamięci zewnętrznej zaktualizowanego bufory pamięci podręcznej.

Ten tradycyjny schemat buforowania obejmował sprzeczność z opracowaną w nowoczesnych wersjach narzędzi do zarządzania pamięcią UNIX i, zwłaszcza z mechanizmem wyświetlania w segmentach pamięci wirtualnej. W związku z tym nowy schemat buforowania pojawił się w systemie V Uwolnienie 4, podczas gdy stosowany równolegle ze starym schematem.

Istotą nowego schematu jest to, że na poziomie jądra, mechanizm wyświetlania w segmentach pamięci wirtualnej jest faktycznie odtwarzany. Po pierwsze, przypominamy, że jądro UNIX naprawdę działa we własnej pamięci wirtualnej. Ta pamięć ma bardziej złożoną, ale zasadniczo taką samą strukturę jak wirtualna pamięć użytkownika. Innymi słowy, pamięć wirtualna jądra to strona segmentowa, a wraz z wirtualną pamięcią procesów użytkownika jest obsługiwane przez ogólny podsystem zarządzania pamięcią wirtualnej. Z tego, po drugie, po drugie, że prawie każda funkcja dostarczana przez jądro dla użytkowników może być wyposażona w jedno składniki jądra dla innych komponentów. W szczególności dotyczy to również możliwości wyświetlania plików do segmentów pamięci wirtualnej.

Nowy schemat buforowania w systemie jądrowym UNIX opiera się głównie na fakcie, że dla organizacji buforowania nie można robić prawie nic specjalnego. Gdy jeden z procesów użytkownika otwiera plik, który nie otwiera się do tego czasu, jądro tworzy nowy segment i łączy plik do tego segmentu. Po tym (niezależnie od tego, czy proces użytkownika będzie współpracować z plikiem w trybie tradycyjnym przy użyciu połączeń systemowych odczytu i zapisu, lub podłączyć plik do segmentu pamięci wirtualnej) na poziomie jądra, praca zostanie wykonana z jądrową Segment, do którego plik jest podłączony do jądra poziomu. Główną ideą nowego podejścia jest to, że luka jest wyeliminowana między zarządzaniem pamięcią wirtualnej a buforowaniem w całym systemie (byłoby to zrobione dawno temu, ponieważ było oczywiste, że główny buforowanie w systemie operacyjnym powinno wytwarzaj wirtualny komponent zarządzania pamięcią).

Dlaczego nie można porzucić ze starego mechanizmu buforującego? Rzeczy jest to, że nowy schemat zakłada obecność pewnego ciągłego adresowania wewnątrz obiektu pamięci zewnętrznej (musi istnieć izomorfizm między wyświetlanymi i wyświetlonymi obiektami). Jednak podczas organizowania systemów plików UNIX jest dość trudno dystrybuować pamięć zewnętrzną, która jest szczególnie związana z węzłami I. Dlatego niektóre z zewnętrznych bloków pamięci należy uznać za wyizolowanych i okazuje się być bardziej opłacalne, aby użyć starego schematu buforowania (choć, prawdopodobnie w wersjach jutra UNIX i będzie w stanie całkowicie przełączyć się na ujednolicony nowy schemat) .

5. 2 Wezwania systemowe do wejścia / wyjścia

W celu uzyskania dostępu (tj. Aby uzyskać kolejną implementację operacji we / wy) do pliku dowolnego rodzaju (w tym plików specjalnych), proces użytkownika musi wykonać wstępne połączenie z plikiem za pomocą jednego z otwartych połączeń systemowych, tworzy, Dup lub rura.

System Call Force Open (pathname, MODE) Dalej:

kontynuowano spójność parametrów wejściowych (głównie związane z flagami trybu dostępu do plików);

istnieje miejsce dla deskryptora pliku w obszarze systemu procesu (region U-region);

w regionie całym systemie wyróżnia się lub znajduje się wolne miejsce Aby pomieścić deskryptor systemu pliku (struktura plików);

wyszukiwanie w archiwum systemu plików obiektu o nazwie "pathname" i jest tworzony lub wykryty przez deskryptor pliku poziomu systemu plików (VNODE w zakresie systemów UNIX V 4);

vNODE jest skonfigurowany z wcześniej utworzonym plikiem pliku.

Otwarte i tworzenie połączeń systemowych (prawie) są funkcjonalnie równoważne. Każdy istniejący plik można otworzyć za pomocą połączenia systemu CREAT, a każdy nowy plik można utworzyć za pomocą otwartego połączenia systemu. Ważne jest jednak, aby podkreślić, że w przypadku jego naturalnego użycia (do utworzenia pliku), to połączenie systemu tworzy nowy element odpowiedniego katalogu (zgodnie z określoną wartością ścieżki), a także tworzy i odpowiednio inicjuje nowy I -węzeł.

Wreszcie, połączenie systemu DUP (duplikat - kopia) prowadzi już do formacji nowego deskryptora otwórz plik. Ten konkretny wezwanie systemowe UNIX jest wyłącznie do celów redukcji we / wy). Jego wykonywaniem jest to, że nowy deskryptor otwarty zawierający nowo utworzony deskryptor plików (integer), ale odnosi się do już istniejącej struktury systemu pliku i zawierającym te same znaki i flagi, które odpowiadają temu samemu plikowi otwartego przykładu.

Inne ważne wyzwania systemowe są wywołania systemów odczytu i zapisu. Wywołanie odczytu systemu jest wykonywane w następujący sposób:

w urządzeniu tabeli plików znajduje się deskryptor określonego pliku i jest ustalany, czy odwołanie z tego procesu jest prawnie ten plik w określonym trybie;

w niektórych (krótkich) czasach blokowanie synchronizacji na VNode tego pliku jest ustawione (zawartość deskryptora nie powinna zmieniać się w krytycznych momentach operacji odczytu);

rzeczywiste odczyt jest wykonywane za pomocą starego lub nowego mechanizmu buforującego, po którym dane są kopiowane, aby stać się dostępne w przestrzeni adresowej użytkownika.

Operacja nagrywania jest wykonywana w ten sam sposób, ale zmienia zawartość bufora bilardowego bufora.

Close System Call prowadzi do faktu, że kierowca nie powiedzie się z odpowiednim procesem użytkownika i (w przypadku ostatniego czasu zamykania) Ustawia "Driver jest bezpłatny".

Wreszcie, na specjalne pliki są obsługiwane przez innego "specjalnego" połączenia systemowego IOCTL. Jest to jedyny wyzwanie systemowe, które jest dostarczane dla specjalnych plików i nie jest dostarczane dla innych odmian plików. W rzeczywistości połączenie systemu IOCTL umożliwia losowe rozszerzenie interfejsu dowolnego sterownika. Parametry IOctl zawierają kod operacyjny i wskaźnik do niektórych obszaru pamięci użytkownika. Cała interpretacja kodu operacji i odpowiednich określonych parametrów prowadzi się przez kierowcę.

Oczywiście, ponieważ kierowcy mają głównie zarządzanie urządzeniami zewnętrznymi, kod programu kierowcy musi zawierać odpowiednie środki do przetworzenia przerywania urządzenia. Wywołanie indywidualnego programu obsługi przerwania w kierowcy pochodzi z jądra systemu operacyjnego. Podobnie, wejście "limitowe" można ogłosić w kierowcy, do którego jądro jest narysowane, gdy sterownik czasu zamówienia zamówienia (taka tymczasowa kontrola jest konieczna podczas sterowania nie jest zbyt inteligentnymi urządzeniami).

Ogólny diagram organizacji kierowcy jest pokazany na rysunku 3.5. Jak pokazuje ten rysunek, z punktu widzenia interfejsów i kontroli w całej systemie znajdują się dwa typy sterowników - symboliczne i bloki. Z punktu widzenia organizacji wewnętrznej, alokowano kolejny typ sterowników - sterowniki strumieniowe (strumieniowe). Jednak przez jego zewnętrzny interfejs, strumieni kierowcy nie różnią się od symbolizacji.

6. Interfejsy i punkty wejściowe kierowcy

6. 1 sterowniki blokowe

Sterowniki blokowe mają na celu utrzymanie urządzeń zewnętrznych z konstrukcją blokową (dyski magnetyczne, taśmy itp.) I różnią się od innych przez fakt, że są one opracowywane i wykonane przy użyciu buforowania systemu. Innymi słowy, takie kierowcy zawsze pracują za pośrednictwem basenu bufora systemowego. Jak widać na rysunku 3.5, wszelkie odwołanie do sterownika blokowego do odczytu lub pisania zawsze przechodzi przez wstępne przetwarzanie, co jest próbą znalezienia kopii żądanego bloku w basenie bufora.

W przypadku, gdy kopia wymaganego bloku nie znajduje się w basenie bufora lub jeśli z jakiegokolwiek powodu musisz zastąpić zawartość niektórych zaktualizowanych buforów, rdzeń UNIX OS odnosi się do procedury strategii odpowiedniego sterownika blokowego. Strategia zapewnia standardowy interfejs między rdzeniem a kierowcą. Używając podprogramów bibliotecznych do pisania sterowników, procedura strategii może organizować kolejki wymiany z urządzeniem, na przykład, aby zoptymalizować ruch głowic magnetycznych na dysku. Wszystkie wymiany wykonywane przez napęd blokowy są wykonywane z pamięcią bufora. Spisowanie wymaganych informacji w pamięci odpowiedniego procesu użytkownika jest wykonane przez programy jądra, menedżerowie zarządzania buforem

6. 2 Sterowniki symboliczne

Symboliczne sterowniki są przeznaczone głównie do utrzymywania urządzeń, wymiany, z którymi są wykonane przeważają, lub wiersze znaków zmiennych. Typowy przykład urządzenia znaków jest prostą drukarką, która zajmuje jeden znak na jedną wymianę.

Symboliczne sterowniki nie używają buforowania systemu. Skierują bezpośrednio dane z pamięci procesu użytkownika podczas wykonywania operacji nagrywania lub w pamięci procesu użytkownika podczas wykonywania operacji odczytu przy użyciu własnego bufora.

Należy zauważyć, że możliwe jest dostarczenie interfejsu znakowego dla urządzenia blokowego. W takim przypadku sterownik blokowy wykorzystuje dodatkowe funkcje procedury strategii, która umożliwia wymianę bez użycia buforowania systemu. Dla sterownika z blokami i symbolicznymi interfejsami, dwa specjalne pliki, blok i symbol są uruchamiane w systemie plików. Każda krążenie, kierowca otrzymuje informacje o tym, jaki jest używany tryb.

6. 3 sterowniki strumieniowe

Głównym celem mechanizmu strumieniowego (strumieni) jest zwiększenie poziomu modułowości i elastyczności sterowników z kompleksową wewnętrzną logiką (przede wszystkim odnosi się do opracowanego wykonania kierowców protokoły sieciowe.). Specyfika takich kierowców jest to, że większość kodu programu nie zależy od funkcji urządzenia sprzętowego. Ponadto często jest korzystne łączenie części kodu programu inaczej.

Wszystko to doprowadziło do wyglądu architektury strumieniowej sterowników, które są dwukierunkowym modułami przetwarzania przenośników. Na początku przenośnika (bliżej procesu użytkownika) znajduje się nagłówek strumienia, do którego stosuje się pierwsze użycie inicjatywy użytkownika. Na końcu przenośnika (bliżej urządzenia) jest regularny sterownik urządzenia. W interwale można umieścić dowolną liczbę modułów przetwarzania, z których każdy jest wydawany zgodnie z obowiązkowym interfejsem strumieniowym.

7. Zespoły i narzędzia

Dzięki interaktywnej pracy w środowisku UNIX OS użyj różnych narzędzi lub zewnętrznych poleceń językowych powłoki. Wiele z tych narzędzi nie jest mniej złożonymi programami niż sam interpreter polecenia (i przy okazji, sam interpreter polecenia Shell jest jedną z narzędzi, które można wywołać z linii poleceń).

7. 1 Organizacja poleceń w UNIX

Do tworzenia nowa drużyna Wystarczy postępować zgodnie z zasadami programowania w języku C. Każdy prawidłowo urządzony program SI rozpoczyna wykonanie z głównej funkcji. Ten funkcja "Semi-System" ma standardowy interfejs, który jest podstawą organizacji poleceń, które można wywołać w środowisku powłoki. Polecenia zewnętrzne są wykonywane przez tłumacz powłoki za pomocą wideokolowego wiązki połączenia i jednej z opcji EXEC. Parametry systemu Exec zawiera zestaw strun tekstowych. Ten zestaw ciągów tekstowych jest przesyłany do wejścia głównej funkcji rozpoczętego programu.

Dokładnie, główna cecha otrzymuje dwa parametry - Argc (liczba przenoszonych strun tekstowych) i Argv (wskaźnik do tablicy wskaźników do ciągów tekstowych). Program zastosowania do jego użycia jako polecenie powłoki musi mieć precyzyjnie zdefiniowany interfejs zewnętrzny (parametry są zwykle wprowadzane z terminala) i muszą sterować i prawidłowo zdemontować parametry wejściowe.

Ponadto, aby dopasować się do stylu powłoki, taki program nie może zastąpić plików odpowiadających standardowym wejściu, standardowym wyjściu i standardowym wyjściom błędu. Następnie polecenie może normalnie przekierować wejście / wyjście i może być zawarty w przenośnikach.

7. 2 I / O Organizacja przekierowania i przenośnika

Jak widać z ostatniego zdania poprzedniego punktu, aby zapewnić możliwości przekierowania I / O i organizacji przenośnika, podczas programowania poleceń nie musi robić nic specjalnego. Wystarczy nie dotknąć trzech początkowego deskryptora plików i prawidłowo współpracować z tymi plikami, a mianowicie, aby wyświetlić plik za pomocą deskryptora Stdout, wprowadź dane z pliku STDIN i wyświetlanie komunikatów o błędach do pliku stderRROR.

7. 3 Wbudowane, biblioteki i niestandardowe polecenia

Wbudowane polecenia są częścią kodu programu Tłumacznika poleceń. Są one wykonywane jako podprogramy tłumacza i nie można ich zastąpić ani przedefiniować. Składnia i semantyka poleceń wbudowanych są zdefiniowane w odpowiednim języku poleceń.

Zespoły biblioteki stanowią część systemowej oprogramowanie. Jest to zestaw wykonanych programów (Narzędzia) dostarczane z systemem operacyjnym. Większość z tych programów (takich jak VI, Emacs, GREP, znajdź, itp.) Jest niezwykle przydatne w praktyce, ale ich uwagę jest poza tym kursem (o redakcji VI i Emacs oraz Utility Integrity Utwórz pliki oprogramowania. Grube książki).

Polecenie użytkownika to każdy wykonany program, zorganizowany zgodnie z wymogami określonymi w ten sposób, każdy użytkownik UNIX OS może nielikować rozszerzyć repertuar zewnętrznych poleceń języka poleceń (na przykład, możesz napisać własny tłumacz poleceń).

7. 4 Programowanie w języku poleceń

Wszelkie z wymienionych języków powłoki w zasadzie można wykorzystać jako język programowania. Wśród użytkowników UNIX jest wielu ludzi, którzy piszą o dość poważnych programach Shell. W celu programowania lepiej jest używać języków programowania (Si, C ++, Pascal itp.), A nie języki poleceń.


8. Interfejs graficzny mediów

Chociaż wielu profesjonalnych programistów pracujących w systemie OS UNIX, dzisiaj woli korzysta z tradycyjnej interakcji linii z systemem, szeroko rozpowszechnione stosunkowo niedrogie zaciski graficzne z wysokiej jakością wysokiej rozdzielczości doprowadziło do faktu, że we wszystkich nowoczesnych wersjach UNIX, graficzne interfejsy użytkownika z systemem są obsługiwane. A użytkownicy są dostarczane narzędziom narzędzi do opracowania interfejsów graficznych z ich programami. Z punktu widzenia użytkownika końcowego narzędzia interfejsu graficznego obsługiwane w różnych wersjach systemu OS UNIX oraz w innych systemach (na przykład MS Windows lub Windows NT), o tym samym w ich stylu.

Najpierw we wszystkich przypadkach obsługiwany jest wielokolorowy tryb pracy z ekranem zaciskiem. W dowolnym momencie użytkownik może utworzyć nowe okno i kojarzyć go z żądanym programem, który działa z tym oknem jako oddzielny terminal. Okna można przesuwać, zmienić ich rozmiar, tymczasowo zamknij itp.

Po drugie, we wszystkich nowoczesnych odmianach graficznego interfejsu, sterowanie myszą jest obsługiwane. W przypadku UNIX często okazuje się, że zwykła klawiatura terminalu używa tylko podczas przełączania na tradycyjny interfejs linii (choć w większości przypadków co najmniej jeden z okienków zacisków działa jeden z tłumaczy rodziny Shell).

Po trzecie, takie rozprzestrzenianie się stylu pracy "mysz" jest możliwe dzięki zastosowaniu mediów interfejsu na podstawie ikon (ikon) i menu. W większości przypadków program działający w niektórych okna oferuje użytkownikowi wybrać dowolną funkcję, która wykonała ją, wyświetlając zestaw symbolicznych obrazów możliwych funkcji w zestawie symbolicznych obrazów (piktogramów) lub przez dostarczanie menu wielopoziomowe. W każdym przypadku, aby uzyskać dalszy wybór, okazuje się wystarczająco kontrolując kursor odpowiedniego okna za pomocą myszy.

Wreszcie, nowoczesne interfejsy graficzne mają "przyjaźń w odniesieniu do użytkownika", zapewniając możliwość natychmiastowej uzyskania interaktywnej wskazówki na każdą okazję. (Prawdopodobnie byłoby bardziej poprawne, aby powiedzieć, że dobry styl programowania przy użyciu interfejsów graficznych jest stylem, w którym takie wskazówki są faktycznie dostarczane.)

Po przeniesieniu wszystkich tych wspólnych właściwości nowoczesnych narzędzi graficznych interfejsów może wystąpić naturalne pytanie: jeśli w dziedzinie interfejsów graficznych może być takie mundury w zakresie interfejsów graficznych w środowisku UNIX? Odpowiedź jest dość prosta. Tak, użytkownik końcowy w każdym dzisiejszym systemie zajmował się tym samym zestawem możliwości interfejsu, ale w różnych systemach, możliwości te są osiągane na różne sposoby. Jak zwykle, zaletą UNIX OS jest obecnością znormalizowanych technologii, które umożliwiają tworzenie aplikacji mobilnych z interfejsami graficznymi.

8. Zasady ochrony

Ponieważ UNIX OS, ponieważ jego pochodzenie zostało pomyślane jako system operacyjny wieloosobowy, problem autoryzacji dostępu różnych użytkowników do plików plików systemowych było zawsze istotne. W ramach autoryzacji dostępu jest działania systemu, które umożliwiają lub nie zezwalają na dostęp do tego pliku do tego pliku w zależności od praw dostępu użytkownika i ograniczeń dostępu zainstalowanych dla pliku. Schemat autoryzacji dostępu stosowany w UNIX jest tak prosty i wygodny, a jednocześnie tak potężny, który stał się rzeczywistym standardem nowoczesnych systemów operacyjnych (nie żądanie systemów z ochroną wielopoziomowej).

8.1 Identyfikatory użytkownika i Grupa użytkowników

Dzięki każdym procesie wykonywalnym UNIX jest powiązany z rzeczywistym identyfikatorem użytkownika, bieżącym identyfikatorem użytkownika i zapisanym identyfikatorem użytkownika (User Identyfikator użytkownika) współpracownikami z systemem operacyjnym UNIX (efektywny identyfikator użytkownika). Wszystkie te identyfikatory są zainstalowane za pomocą połączenia Setuid System, które mogą być wykonywane tylko w trybie Superuser. Podobnie, każdy proces jest powiązany z trzema identyfikatorami grupy użytkowników - Identyfikator REAL Group, efektywnym identyfikatorem grupy i zapisanym identyfikatorem grupy. Te identyfikatory są ustawiane przez SetGID Propileged System Call.

Gdy dziennik użytkownika w systemie logowania sprawdza, czy użytkownik jest zarejestrowany w systemie i wie właściwe hasło (Jeśli jest zainstalowany), tworzy nowy proces i wprowadza powłokę wymaganą dla tego użytkownika. Ale przedtem Logowanie ustawia identyfikatory użytkownika i grupy dla nowo utworzonego procesu przy użyciu informacji przechowywanych w plikach / etc / passwd i / etc / grupa. Po procesie identyfikatorów użytkowników i grupy są związane z procesem, ograniczenia zaczynają działać do dostępu do plików. Proces może uzyskać dostęp do pliku lub wykonania go (jeśli plik zawiera program wykonawczy) tylko wtedy, gdy plik ograniczenia dostępu może to zrobić. Identyfikatory związane z procesem są przesyłane do procesów tworzonych przez nich, rozprzestrzeniającymi te same ograniczenia. Jednak w niektórych przypadkach proces może zmienić swoje prawa przy użyciu połączeń systemowych Setuid i Setgid, a czasami system może automatycznie zmienić dostęp do procesu.

Rozważmy na przykład następująca sytuacja. Do pliku / etc / passwd jest zabroniony przez wpis, z wyjątkiem superużytkownika (Superuser może pisać do dowolnego pliku). Ten plik, między innymi zawiera hasła użytkownika, a każdy użytkownik może zmienić hasło. Dostępny program specjalny / bin / passwd zmieniające hasła. Jednak użytkownik nie może tego zrobić nawet z tym programem, ponieważ wpis do pliku / etc / passwd jest zabroniony. W systemie UNIX problem ten jest dozwolony w następujący sposób. Po wykonaniu pliku można wskazać, że gdy zostanie uruchomiony, Identyfikatory użytkownika i / lub Grupa muszą być zainstalowane. Jeśli użytkownik żąda wykonywania takiego programu (przy użyciu połączenia systemu EXEC), identyfikator użytkownika jest ustawiony na odpowiedni proces odpowiadający identyfikatorowi właściciela pliku wykonywalnego i / lub identyfikatora grupy tego właściciela . W szczególności, gdy rozpoczyna się program / bin / passwd, proces otrzyma identyfikator superużytkownika, a program będzie mógł nagrywać do pliku / etc / passwd.

I dla identyfikatora użytkownika, a dla identyfikatora grupy rzeczywisty identyfikator jest prawdziwy identyfikator, a identyfikator operacyjny jest identyfikatorem bieżącego wykonania. Jeśli bieżący identyfikator użytkownika odpowiada superużytkownikowi, to ten identyfikator i identyfikator grupy można zresetować do dowolnej wartości Setuid i Setgid System Calls. Jeśli bieżący identyfikator użytkownika jest inny od identyfikatora Superusera, a następnie wykonanie połączeń systemowych Setuid i SetGID prowadzi do wymiany bieżącego identyfikatora za pomocą odpowiedniego identyfikatora (użytkownika lub grupy).

8.2 Ochrona plików.

Tak jak zostanie zaakceptowany w systemie operacyjnym wieloosobowym, UNIX obsługuje jednolity mechanizm sterowania dostępem do plików i katalogów systemu plików. Każdy proces może uzyskać dostęp do niektórych plików w tym i tylko wtedy, gdy prawa dostępu opisane w pliku odpowiadają możliwościom tego procesu.

Ochrona plików z nieautoryzowanego dostępu do systemu UNIX opiera się na trzech faktach. Po pierwsze, z dowolnym procesem, który tworzy plik (lub katalog) jest powiązany z unikalnym identyfikatorem użytkownika (UID - identyfikator użytkownika), który w przyszłości można interpretować jako identyfikator właściciela nowo utworzonego pliku. Po drugie, przy każdym procesie próbującym uzyskać dostęp do pliku, powiązana jest para identyfikatorów - bieżący identyfikator użytkownika i jego identyfikatory grupowe. Po trzecie, każdy plik zdecydowanie odpowiada swoim deskryptorem - i-węzła.

Każdy I-Węzeł używany w systemie plików zawsze definiuje jeden i tylko jeden plik. Węzeł I-Węzeł zawiera wiele różnych informacji (większość z nich jest dostępna dla użytkowników za pośrednictwem systemu Call i FSSTAT), a wśród tych informacji jest częścią, z której należy do tego pliku do tego pliku, który można ocenić dysznicę Dostęp do tego procesu w żądanym trybie.

Przepisy ogólne są takie same dla wszystkich istniejących opcji systemowych: I-węzła Informacje obejmują UID i GID bieżącego właściciela pliku (natychmiast po utworzeniu pliku, identyfikatory jego bieżącego właściciela są ustawione przez odpowiedni identyfikator bieżącego twórcy, ale W przyszłości może on zmienić wyzwania systemowe chown i systemu CHGRP). Ponadto i-węzeł pliku przechowuje skalę, w której należy zauważyć, że użytkownik może zrobić z plikiem - jego właścicielem, co może zrobić z użytkownikami wprowadzającą tę samą grupę użytkowników jako właściciela, a co może zrobić z innymi użytkownikami plików. Niewielkie szczegóły realizacji w różnych wersjach systemu różnią się.

8.3 Perspektywa OS Wspieranie UNIX środa

MicroiCier jest minimalną częścią pręta systemu operacyjnego, który służy jako podstawa rozszerzeń modułowych i przenośnych. Najwyraźniej większość systemów operacyjnych nowej generacji będzie miała mikrontę. Istnieje jednak wiele różnych opinii o tym, jak zorganizować usługi systemu operacyjnego w odniesieniu do Mikronem: Jak zaprojektować sterowniki urządzeń, aby osiągnąć największą wydajność, ale zapisują funkcje sterowników, jak najbardziej niezależnie od sprzętu. Powinien wykonywać operacje, które nie są związane z jądrem w przestrzeni jądra lub w przestrzeni użytkownika; Czy warto utrzymać programy Dostępne podsystemy (na przykład UNIX) lub lepiej odrzucić wszystko i zacząć od podstaw.

W szerokym wykorzystaniu mikrokerii firma wprowadziła dalej, w systemie operacyjnym, którego użyto Microicera Mach. Mały uprzywilejowany rdzeń tego systemu operacyjnego, wokół którego znajdowały się podsystemy przeprowadzone w trybie użytkownika, teoretycznie musiały zapewnić bezprecedensową elastyczność i modułowość systemu. Ale w praktyce ta korzyść była nieco osłabiona przez obecność monolitycznego serwera, który implementuje system operacyjny UNIX BSD 4.3, który następnie wybrał powłokę Mach Microkernel. Jednak wsparcie na Mach umożliwiło włączenie narzędzi do przesyłania wiadomości i szeregu funkcji serwisowych obiektów, na podstawie którego udało Ci się utworzyć elegancki interfejs użytkownika końcowego z grafiką konfiguracji sieci, administracji systemowej i rozwoju oprogramowania.

Następnym systemem operacyjnym Microeer był Microsoft Windows NT, w którym kluczową zaletą stosowania Microkernel był nie tylko modułowość, ale także tolerancja. (Należy pamiętać, że nie ma jednomyślnej opinii na temat tego, czy powinien ona właściwie atrybutować nt do mikronicznych systemów operacyjnych.) NT został wbudowany w taki sposób, że może być stosowany w systemach pojedynczych i wieloprocesorowych opartych na procesorach Intel, MIPS i Alpha (i tych, którzy przyjdź po nich). Ponieważ NT programy napisane do systemów DOS, Windows, OS / 2 oraz kompatybilne z standardami POSIX, Microsoft wykorzystał mikronomię, aby utworzyć mikronomię, aby utworzyć mikronomię do tworzenia wspólna struktura NT, nie powtarzając żadnego z istniejących systemów operacyjnych. Każdy system operacyjny jest emulowany jako oddzielny moduł lub podsystem.

Później architektury Mikronuclearu systemów operacyjnych zostały ogłoszone przez Novell / USL, Open Software Foundation (OSF), IBM, Apple i Inni. Jeden z głównych konkurentów NT w dziedzinie Micronuclear OS jest Mach 3.0, system utworzony na Uniwersytecie Carnegie Melon, który zarówno IBM, jak i OSF przyjmowali w celu doprowadzenia do gatunków komercyjnych. (Dalej jako podstawa NIGHTSTEP, a Mach 2.5 wykorzystuje Mach 2.5, ale także uważnie wygląda na Mach 3.0). Inny zawodnik jest systemami Chorus Systems Chorus Systems MicroKers 3.0, wybrany USL jako podstawę wdrażania nowych wdrożeń OS UNIX. Niektórzy mikrokernel będzie używany w Springs Sun Springos, obiektowym następcą Solaris OS (chyba że Sun przyniesie pracę na Springos do końca). Trend w kierunku przejścia z systemów monolitycznych do mikroerrycznych jest oczywisty (proces ten nie jest prosty: IBM wykonał krok do tyłu i odmówił przejścia do technologii Micronucleus). Nawiasem mówiąc, nie jest to nie aktualności dla systemów oprogramowania QNX i firm, które już produkowały mikroerealne systemy operacyjne, które odnoszą sukcesy od kilku lat. QNX OS jest na żądanie na rynku rynku w czasie rzeczywistym, a Unisys CTOS jest popularne w dziedzinie bankowości. W obu systemach, modułowość nieodłączona w Micronucleus OS została pomyślnie użyta.


Wniosek

Główne różnice w UNIX z innego systemu operacyjnego

UNIX składa się z jądra ze sterownikami zawartymi w nim i z narzędzi (zewnętrznych do programu podstawowego). Jeśli chcesz zmienić konfigurację (dodać urządzenie, zmień port lub przerwij), rdzeń jest przebudowany (nadszewka) z obiektów obiektów lub (np. W FreeBSD) ze źródła. To nie jest całkowicie prawdziwe. Niektóre parametry rozwiązują ogień bez przebudowy. Istnieją również ładowane moduły jądra.

W przeciwieństwie do UNIX, "Windows (jeśli nie jest określony, co oznacza 3.11, 95 i NT) i OS / 2 podczas ładowania faktycznie do załadowczych sterowników. W tym samym czasie kompaktowe kompaktowe zbiorowe jądro i ponowne wykorzystanie całkowitego kodu jest rzędem wielkości niższa niż UNIX. Ponadto, z konfiguracją jądra UNIX System jądra UNIX jest skonfigurowany bez zmiany (konieczne jest zmianę tylko części wyjściowej BIOS) można zarejestrować w ROM i wykonać _NE_obo_ . Kodeks kodu jest szczególnie ważny, ponieważ rdzeń i kierowcy nigdy nie pozostawiają fizycznej pamięci operacyjnej, nie upuszczaj się na dysku.

UNIX jest najbardziej multi-platformą. WindowsNT próbuje go naśladować, ale do tej pory jest zły - po awarie MIPS i PC, W "NT pozostał tylko na dwóch platformach - tradycyjnej I * 86 i Dec Alpha. Przenośność programów z jednej wersji UNIX jest ograniczony. Program napisany Nexo, nie biorąc pod uwagę różnice w implementacjach UNIX, dzięki czemu nieuzasadnione założenia "zmiennej całkowitej powinny zajmować cztery bajty", może wymagać poważnej zmiany. Ale nadal jest wiele zamówień łatwiej niż, Na przykład Perrest z OS / 2 na NT.

Zakres UNIX.

Unix jest używany zarówno jako serwer, jak i stacja robocza. W nominacji serwerów MSNT konkuruje z nim, Novell NetWare., IBM OS / 2 Warp Connect, DEC VMS i systemy operacyjne mainframe. Każdy system ma swój własny zakres, w którym jest lepszy niż inne.

WindowsNT - dla administratorów, którzy wolą wygodny interfejs. Ekonomiczne zasoby wydatkowe i wysoką wydajność.

NetWare - dla sieci, których potrzebujesz wysoka wydajność Usługi plików i drukarki i inne usługi nie są takie ważne. Główną wadą - na serwerze NetWare trudno jest uruchomić aplikacje.

OS / 2 jest dobry, gdzie potrzebujesz "łatwy" serwera aplikacji. Zasoby wymagają mniej niż NT, w zarządzaniu elastycznymi (chociaż w ustawieniu może i trudniejsze), a wielozadaniowość jest bardzo dobra. Upoważnienie i rozgraniczenie praw dostępu nie są realizowane na poziomie systemu operacyjnego, co jest bardziej niż wypłacane na poziomie aplikacji aplikacji. (Jednak często pozostały system operacyjny robią to samo). Wiele stacji Fotonet i Bbs są wykonane na bazie OS / 2.

VMS jest potężnym, bez gorszym od UNIX "AM (i pod wieloma względami i lepszy) serwer aplikacji, ale tylko dla platform Vax i Alpha Dec.

Mainframe - aby utrzymać bardzo dużą liczbę użytkowników (około kilku tysięcy). Ale dzieło tych użytkowników jest zwykle organizowane jako interakcja serwera klienta, ale w formie terminala hosta. Terminal w tej pary jest raczej klientem, ale serwer (świat Internetu, N3 na rok 1996. roku). Korzyści z mainframów należy przypisać większym bezpieczeństwem i odporności na awarie, a cena odpowiadająca tym cechom.

Unix jest dobry dla wykwalifikowanego (lub który chce być taki) Administrator, ponieważ Wymaga, aby wiedza o zasadach działania występowania procesów w nim. Prawdziwa multitasking i sztywna rozdzielenie pamięci zapewniają wysoką niezawodność systemu, chociaż NetWare jest gorszy w wydajności i usługach drukowanych plików UNIX.

Niewystarczająca elastyczność zapewnienia uprawnień dostępu do użytkowników do plików w porównaniu z WindowsNT utrudnia zorganizowanie danych _a_eurovna_Filene_system_ dane_nignę (dokładniej do plików), co moim zdaniem jest rekompensowane przez prostotę wdrażania, a zatem mniejsze wymagania dotyczące sprzętu. Jednak aplikacje, takie jak SQL Server rozwiązać problem dostępu grupowego do tych sił, dzięki czemu zdolność UNIX do zabronienia dostępu do _Fyle_ do konkretnego użytkownika moim zdaniem jest wyraźnie nadmierna.

Prawie wszystkie protokoły, na których Internet opiera się na Uniks, w szczególności stos protokołu TCP / IP na Uniwersytecie w Berkeley.

UNIX Bezpieczeństwo z właściwą administracją (a kiedy to nie jest?), Ani nie gorsza od Novell, ani WindowsNT.

Ważną własnością UNIX, która przynosi go do mainframek, jest jego wielokolorcjonalności, wielu użytkowników może jednocześnie uruchamiać programy na jednej maszynie UNIX. Jeśli nie musisz używać grafiki, możesz wykonywać tanie terminale tekstowe (specjalistyczne lub na podstawie taniego komputera) podłączone wzdłuż wolnych linii. Tylko VMS konkuruje z nim. Graficzne terminale X można stosować, gdy procesy działające na różnych maszynach są obecne na jednym ekranie.

W nominacji stacji roboczych z UNIX konkurował MS Windows *, IBM OS / 2, Macintosh i Acorn RISC-OS.

Windows - dla tych, którzy doceniają kompatybilność większą wydajność; Dla tych, którzy są gotowi kupić dużą liczbę pamięci, przestrzeni dyskowej i Megaherca; Dla tych, którzy kochają nie powiązani z istotą, kliknij myszą nad przyciskami w oknie. Prawda, prędzej czy później będzie musiała również zbadać zasady systemu i protokołów, ale wtedy będzie za późno - dokonuje wyboru. Kluczowy zaletą systemu Windows Musimy również uznać możliwość kradzieży grupy oprogramowania.

OS / 2 - dla Miłośników OS / 2. :-) Chociaż niektóre informacje OS / 2 współdziałają lepiej dzięki mainframe i sieci IBM.

Macintosh - do grafik, publikacji i dzieł muzycznych, a także dla tych, którzy lubią jasny, piękny interfejs i nie chce (nie mogą) zrozumieć szczegółów funkcjonowania systemu.

RISC-OS, zszyty w ROM, pozwala na nie marnowanie czasu na instalacji systemu operacyjnego i przywracanie go po awariach. Ponadto prawie wszystkie programy pod nim bardzo ekonomicznie spędzają zasoby, dzięki czemu nie potrzebują połyka i pracy bardzo szybko.

UNIX Funkcje zarówno na PC, jak i na silnych stacjach roboczych z procesorami RISC, naprawdę potężny CAD jest napisany w UNIX i systemy geoinformacji. Dzięki skalowalności UNIX ze względu na jego wieloplatforma zamówienie wielkości przekracza inny system operacyjny, zgodnie z niektórymi autorami.


Bibliografia

1. Tutorial Kuznetsova S.D. "System operacyjny UNIX 2003;

2. Poliakow a.d. "UNIX 5-TH EDITION na X86 lub nie zapomnij o historii";

3. Karpov D.YU. "UNIX" 2005;

4. Fedorchuk A.v. "Umiejętność pracy UNIX", 2006

5. Materiały witryny http://www.citforum.ru/perating_systems/1-16;

Ministerstwo Edukacji I Nauki Federacji Rosyjskiej Federalnej Agencji Osoby Edukacyjnej Instytucja Edukacyjna Wyżej Edukacja Profesjonalna Taganrog State Radio Engineering University of Dyscyplina

Wprowadzenie

Co to jest Unix?

Gdzie zdobyć darmowy UNIX?

Jakie są główne różnice między UNIX z innego systemu operacyjnego?

Dlaczego UNIX?

Podstawowe koncepcje UNIX

System plików

Tłumacz Comdium.

Podręczniki - człowiek.

Wprowadzenie

Napisz OS UNIX OS jest niezwykle trudny. Po pierwsze, ponieważ wiele rzeczy jest napisane o tym systemie. Po drugie, ponieważ pomysły i rozwiązania Uniksa miały ogromny wpływ na rozwój całego współczesnego systemu operacyjnego, a wiele z tych pomysłów jest już opisanych w tej książce. Po trzecie, ponieważ Unix nie jest jednym z nich, ale cała rodzina systemów, i nie zawsze jest możliwe "śledzić" ich krewnych w między sobie i opisać wszystkie systemy operacyjne, które są po prostu niemożliwe do opisania tej rodziny. Niemniej jednak, w żaden sposób nie mają zastosowania do kompletności, staramy się podać szybki przegląd "Świata UNIX" w tych obszarach, które wydają się dla nas interesujące do celów naszego szkolenia.

Narodziny OS UNIX odnosi się do końca lat 60., a ta historia obejmowała już "legendy", która czasami opowiadała na szczegółach tego wydarzenia. UNIX urodził się w Centrum Badawczym Laboratorium Bell (Bell Labs), która jest częścią AT & T Corporation. Początkowo projekt inicjatywy dla komputera PDP-7 (następnie - dla PDP-11) był systemem plików, albo gra komputerowa, czy system przygotowania tekstu, czy drugi i trzeci. Ważne jest jednak, że od samego początku projekt, który okazał się w końcu w systemie operacyjnym. oprogramowanie Zbiorowe użytkowanie. Autorem pierwszej wersji UNIX jest Ken Thompson, ale w dyskusji na temat projektu, a później duży zespół pracowników (D. Ritchchi, B. Kerigan, R. Pike i inni uczestniczyli w jego realizacji. Naszym zdaniem kilka szczęśliwych okoliczności narodzin Unix ustalił sukces tego systemu przez wiele lat przed sobą.

Dla większości pracowników zespołu, w którym urodził się Unix, ten system operacyjny był "trzecim systemem". Istnieje opinia (patrz, na przykład), że programista system osiągnie wysokie kwalifikacje tylko wtedy, gdy trzeci projekt zostanie spełniony: pierwszy projekt jest nadal "student", w drugim deweloperze, próbując dołączyć wszystko, co zawiodło w pierwszym, aw W końcu okazuje się zbyt dużych i tylko trzeci niezbędną równowagę pragnień i możliwości. Wiadomo, że przed narodzinami UNIX zespół Bell Labs uczestniczył (wraz z szeregiem innych firm) w rozwoju multicle. MultiCS End Product (Bell Labs nie uczestniczył w ostatnich etapach rozwoju) nosi wszystkie oznaki "drugiego systemu" i nie otrzymane rozpowszechnione. Należy jednak zauważyć, że w tym projekcie należy jednak zauważyć, że wiele zasadniczych pomysłów i decyzji, a niektóre koncepcje, które wielu urodzonych w Uniksie, w rzeczywistości ma swoje źródło projektu.

UNIX był systemem, który został zrobiony "dla siebie i dla swoich przyjaciół". Przed Uniksem nie było zadania uchwycenia rynku i konkurencji z żadnymi produktami. Sami deweloperowcy UNIX OS byli także użytkownikami, a sami ocenili zgodność systemu do ich potrzeb. Bez presji warunków rynkowych, taka ocena może być niezwykle obiektywna.

UNIX OS był systemem, który jest wykonany przez programistów i programistów. Określiła tę łaskę i koncepcyjną lekkość systemu - z jednej strony, a z drugiej strony potrzeba zrozumienia systemu dla użytkownika UNIX i poczucia profesjonalnej odpowiedzialności za opracowywanie programisty oprogramowania do UNIX. I żadne późniejsze próby wykonania "UNIX dla czajników" nie mogło zapisać systemu UNIX z tej godności.

W latach 1972-73. Ken Thompson i Dennis Ritchi napisał nową wersję UNIX. Szczególnie w tym celu D. Ritchch stworzył język programowania C, reprezentujący, który nie jest już konieczny. Ponad 90% kodu SNAX jest napisany w tym języku, a język stał się integralną częścią systemu operacyjnego. Fakt, że główna część systemu operacyjnego jest napisana w języku wysokiego poziomu, zapewnia możliwość ponownego skompilowania jej do kodów o dowolnej platformie sprzętowej i jest okolicznością, która określiła szeroką dystrybucję UNIX.

Podczas tworzenia UNIX ustawodawstwo antymonopolowe USA nie dały AT & T Corporation możliwość wprowadzenia rynku produktów oprogramowania. Dlatego Unix był niekomercyjny i swobodnie dystrybuowany, przede wszystkim - na uniwersytetach. Kontynuował rozwój i był aktywnie prowadzony na Uniwersytecie w Kalifornii w Berkeley. Jednocześnie stworzono dystrybucję oprogramowania Uniwersytetu w Berkeley, która była zaangażowana w rozwój oddzielnego oddziału OS - BSD UNIX. Przez całą kolejną historię główna gałąź UNIX i BSD UNIX rozwinęła się równolegle, wielokrotnie wzbogacając się wzajemnie.

Ponieważ UNIX jest dystrybuowany, stało się rosnącym zainteresowaniem firmami handlowymi, które zaczęły tworzyć własne wersje handlowe tego systemu operacyjnego. Z czasem stał się komercyjną i "główną" oddział UNIX z AT & T, spółka zależna Laboratorium systemu UNIX została stworzona na swoją promocję. BSD UNIX oddział z kolei rozgałęzionym do komercyjnego BSD i bezpłatnego BSD. Różne komercyjne i swobodnie rozproszone systemy podobne do UNIX zostały zbudowane na podstawie jądra AT & T UNIX, ale obejmowały również właściwości związane z BSD UNIX, a także oryginalne właściwości. Pomimo ogólnego źródła, różnice między członkami rodziny UNIX zostały zgromadzone i ostatecznie doprowadziły do \u200b\u200btransferu aplikacji z jednego systemu operacyjnego Unix, stały się niezwykle trudne. W inicjatywie użytkowników UNIX standaryzacja API UNIX została przeniesiona. Ruch ten był wspierany przez Międzynarodową Organizację Standardów ISO i doprowadziło do standardu POSIX (przenośne wykonywanie interfejsu systemu pracy), która jest obecnie rozwijająca i jest najbardziej autorytatywnym standardem dla systemu operacyjnego. Jednak projektowanie specyfikacji POSIX jako oficjalny standard jest dość powolny proces i nie może zaspokoić potrzeby producentów oprogramowania, które doprowadziły do \u200b\u200bpojawienia się alternatywnych standardów przemysłowych.

Wraz z przejściem AT & T UNIX do firmy Nowell nazwa tego systemu operacyjnego zmieniła się na UnXware, a prawa do marki UNIX przeniósł się do konsorcjum X / Otwórz. Ta konsorcjum (obecnie otwarta grupa) opracowała własną specyfikację systemu (szersza niż POSIX), znana jako specyfikacja pojedynczej UNIX. Ostatnio wydano drugą edycję tego standardu, znacznie lepiej uzgodnione z POSIX.

Wreszcie, wielu producentów własnych wersji UNIX utworzyło otwarte konsorcjum fundamentowe oprogramowania, które wydało wersję OSN UNIX - OSF / 1, wykonane na podstawie Macher Microker. OSF wydał również specyfikację systemu OSF / 1, na podstawie której firmy członkowskie OSF zaczęły tworzyć własne systemy UNIX. Wśród takich systemów: Sunos Sun Microsystems, AIX iBM., Firma HP / UX Hewlett-Packard, Cyfrowa firma Unix Compaq i inne.

Początkowo Systemy UNIX tych firm były w dużej mierze oparte na BSD UNIX, ale teraz większość nowoczesnych systemów przemysłowych UNIX opiera się na systemie użytkowania (licencji) AT & T System V Uwolnienie 4 (S5R4) jądra (S5R4), chociaż niektóre Właściwości BSD UNIX są dziedziczone. Nie bierzemy odpowiedzialności za porównanie systemów komercyjnych UNIX, ponieważ okresowo pojawiające się w porównaniu do drukowania tego rodzaju często reprezentuje całkowicie przeciwne wyniki.

Nowell sprzedał Santa Crous Operations UNIX, który wyprodukował własny produkt UNIX - SCO Open Server.. SCO Open Server był oparty na więcej wczesna wersja Kernel (system V wydanie 3), ale był znacznie debugowany i wyróżniający się wysoką stabilnością. Santa Crown Operations zintegrowała swój produkt za pomocą AT & T UNIX i zwolniony Otwórz UNIX 8, ale następnie sprzedał UNIX Caldera, który jest właścicielem "klasycznego" systemu OS UNIX (na koniec 2001 r.).

Spółka Sun Microsystems rozpoczęła swoje przedstawicielstwo w świecie systemu UNIX SUNOS stworzony na podstawie jądra BSD. Następnie zastąpiony system Solaris oparty na S5R4. Obecnie rozpowszechniana jest wersja 8 tego systemu operacyjnego (jest również v.9 beta). Solaris działa na platformie SPARC (procesory RISC produkowane zgodnie ze specyfikacjami Słońca) i Intel-Pentium.

Hewlett-Packard oferuje HP-UX OS. V.11 na platformie PA-RISC. HP-UX opiera się na S5R4, ale zawiera wiele właściwości, "wybitne" jego pochodzenie z BSD UNIX. Oczywiście HP-UX będzie dostępny na platformie Intel-Itanium.

IBM Firmy z AIX OS, ostatnią wersją wersji jest 5l (zostanie również omówiony przed nami). IBM nie zadeklarował AIX "rodowodu", jest głównie oryginalny rozwój, ale pierwszymi wersjami były oznaki pochodzenia z FreeBSD UNIX. Jednak teraz AIX jest bardziej jak S5R4. Początkowo AIX był dostępny na platformie Intel-Pentium, ale później (zgodnie z zasadami IBM ogólną) przestała być wspierana na tej platformie. Obecnie AIX działa na serwerach IBM RS / 6000 i inne platformy obliczeniowe oparte na procesorach PowerPC (w tym na Superkomputerach IBM).

Digital Unix OS firmy były jedyną przemysłową realizacją systemu OSF / 1. Digital Unix obsługiwany na serwerach Alpha RISC od Dec. Kiedy w 1998 r. Dec został wchłaniany przez Compaq, a serwery Alpha, a Cyfrowy Uniks przybył do Compaq. Compaq ma zamiar przywrócić obecność na rynku alfa serwera iw związku z tym intensywnie rozwija dla nich system operacyjny. Aktualna nazwa tego systemu operacyjnego jest Tru64 UNIX (aktualna wersja - 5.1a), nadal jest oparta na jądrze OSF / 1 i niesie wiele znaków BSD UNIX.

Pomimo faktu, że większość komercyjnych systemów UNIX opiera się na jednym rdzeniu i spełnia wymagania Posix, każdy z nich ma własny dialekt API, a różnice między dialekami gromadzą się. Prowadzi to do faktu, że transfer zastosowań przemysłowych z jednego systemu UNIX jest utrudniony do innego i wymaga co najmniej rekompilowania i często - i regulacji kodu źródłowego. Próba przezwyciężenia "przerwy" i wykonania pojedynczego systemu systemu UNIX w 1998 r. Przez sojusz SCO, IBM i sekwencji. Firmy te były zjednoczone w projekcie Monterey, aby utworzyć pojedynczy system oparty na OS na podstawie UNIXSwave, którego w tym czasie był SCO, IBM AIX i sekwencyjnego DYNIX OS. (Sekwana firma zajmuje wiodącą pozycję w produkcji komputera NUMA architektury - asymetryczny wieloprocesor - i dynix jest UNIX dla takich komputerów). Monterey miał pracować na 32-bitowej platformie Intel Pentium, 64-bitowej platformie PowerPC i na nowej 64-bitowej platformie Intel-Itanium. Prawie wszyscy liderzy w produkcji oprogramowania sprzętu i pośredniego ogłoszono o wsparciu projektu. Nawet firmy z Klonów Narodowych Unix (z wyjątkiem Sun Microsystems) platformy Intel. Będą wspierać tylko Monterey. Praca nad projektem została poproszona, najwyraźniej pomyślnie. Monterey był jednym z pierwszych, którzy udowodnili swoje wyniki na Intel-Itanium (wraz z Windows NT i Linux), a jedynym, który nie uciekł do emulacji 32-bitowej architektury Intel-Pentium. Jednak na ostatnim etapie projektu wystąpiło śmiertelne wydarzenie na ostatnim etapie projektu: SCO sprzedał swoją komorę UNIX. Wcześniej kolejny stał się częścią IBM. "Heir" wszystkich właściwości Montery OS był IBM Aix V.5L OS. Jednak nie wszystko. Platforma Intel-Pentium nie jest kierunkiem strategicznym dla IBM, a na tej platformie AIX nie jest dostępny. A ponieważ pozostali przywódcy branży komputerowej nie są oddzielone (lub nie w pełni udostępniane) taką pozycją IBM, idea wspólnego systemu systemu operacyjnego nie została zrealizowana.

Krótkie informacje o rozwoju systemu systemu UNIX

UNIX OS pojawił się pod koniec lat 60-tych, jako system operacyjny dla MINI-Computer PDP-7. Kenneth Thomson i Dennis Ritchi zaakceptowali aktywny udział w rozwoju.

Funkcje systemu UNIX OS: Tryb multiplayer, nowa architektura systemu plików itp.

W 1973 r. Większość rdzenia operacyjnego została przepisana w nowym języku C.

Od 1974 r. Uniks został dystrybuowany na Uniwersytetach USA w kategoriach źródłowych.

Wersje UNIX.

Od samego początku rozkładu UNIX, różne wersje systemu operacyjnego zaczęły pojawiać się w amerykańskich uniwersytetach.

Aby zamówić, AT & T w 1982 r. Połączył kilka wersji do jednej zwanej wariantu systemu operacyjnego - system III. W 1983 r. Wydano wersję handlową - system V. W 1993 r., AT & T sprzedał swoje prawa do firmy UNIX Novell, który kolejny konsorcjum X / Open i Santa Cruz (SCO).

Druga linia UNIX - BSD jest rozwijana w California University (Berkeley). Istnieją bezpłatne wersje FreeBSD, OpenBSD.

Rodzina oprogramowania OSF / 1 - Open Software Foundation obejmuje konsorcjum IBM, DEC i Hewlett Packard. Liczba tej rodziny obejmuje - HP-UX, AIX, Digital Unix.

Darmowe wersje rodziny Unix

Jest duża liczba bezpłatne wersje. UNIX.

FreeBSD, NetBSD, OpenBSD - Warianty opracowane na podstawie BSD OS.

Najpopularniejszą rodziną darmowych systemów UNIX jest system rodzinny. Linux.. Pierwsza wersja Linux została opracowana przez Linus Torvalds w 1991 roku. Obecnie istnieje kilka opcji. Linux: Czerwony kapelusz, mandrake, slackware, suse, debian.

Ogólne funkcje systemów UNIX

Różne opcje UNIX mają szereg wspólnych funkcji:

Przetwarzanie wielokrotra w trybie rozdzielania czasu na podstawie przemieszczenia wielozadaniowości;

Obsługa trybu wieloosobowego;

Korzystanie z mechanizmów pamięci wirtualnej i wymiany;

Hierarchiczny system plików;

Zjednoczenie operacji we / wy opartych na zaawansowanym użyciu pliku koncepcyjnego;

Tolerancja systemu;

Dostępność narzędzi interakcji sieciowych.

Zalety systemów UNIX

W przypadku liczby zalet rodziny Unix obejmuje:



Ruchliwość;

Skuteczna realizacja wielozadaniowości;

Otwartość;

Dostępność i ścisłe przestrzeganie standardów;

System pojedynczych plików;

Potężny język poleceń;

Obecność znacznej liczby produktów oprogramowania;

Wdrożenie stosu protokołu TCP / IP;

Umiejętność pracy jako serwer lub stacja robocza.

Serwery oparte na UNIX

Serwer jest komputerem przetwarzający inne komputery w sieci i zapewniając własne zasoby do przechowywania, przetwarzania i przesyłania danych. Serwer UNIX może wykonać następujące role:

Serwer plików;

Serwer internetowy;

Serwer poczty elektronicznej;

Serwer rejestracji zdalnej (uwierzytelnianie);

Serwery pomocnicze usługi sieciowe (DNS, DHCP);

Serwer dostępu do Internetu Internet

Zarządzanie komputerem działa UNIX

Podczas pracy z systemem UNIX w trybie serwera, jako reguła używana jest tryb dostęp zdalny Za pomocą niektórych programów terminali.

Sesja pracy zaczyna się od wpisu nazwy rejestracyjnej i hasła dostępu.

Często, aby rozwiązać zadania zarządzania serwerem, są ograniczone do trybu pracy. W takim przypadku używany jest do sterowania wejściem specjalnych poleceń do wiersza poleceń w specjalnym formacie. Linia poleceń ma specjalne zaproszenie, na przykład:

Ogólny widok zespołu:

  1. -Bash-2.05b $ Command [Opcje] [Parametry]

Na przykład połączenie certyfikatu OS ma formularz:

  1. -Bash-2.05b $ Man [Keys] [Topic]
  2. Aby zadzwonić do użycia polecenia MAN, ENTER
  3. -Bash-2.05b $ Man Man

Interpretacja linii poleceń

Przy wejściu do poleceń stosuje się następujące umowy:

Pierwsze słowo na linii poleceń jest nazwa zespołu;

Pozostałe słowa są argumentami.

Wśród argumentów są przydzielane klucze (opcje) - wstępnie zdefiniowane dla każdego polecenia słowa (symbole) zaczynające się od jednego (krótkiego formatu) lub pary myślników (długi format). Na przykład:

Bash-2.05b $ TAR -C -F Arch.tar * .C

Bash-2.05b $ TAR - -Create - -File \u003d Arch.tar * .C

Przy określaniu opcji można one łączone. Na przykład następujące polecenia są równe:

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

Bash-2.05b $ ls -l -a

Bash-2.05b $ ls -al

Inne argumenty wskazują obiekty, w których wykonane są operacje.

Zmienna skorupa

Podczas pracy w systemie istnieje sposób na przeniesienie parametrów do programu, z wyjątkiem korzystania z kluczy powłoki poleceń - stosowanie zmiennych środowiskowych. Aby określić zmienną środowiskową, użyj polecenia Ustaw. Format zespołu:

Bash-2.05b $ set_name_name \u003d wartość

Usuwanie zmiennej środowiskowej jest wykonywane przez nieuzasadnione polecenie.

Aby odnieść się do wartości zmiennej, oznaczenie jest używane $ _name_name, na przykład polecenie:

Bash-2.05b $ echo $ ścieżka

Czy wartość zmiennej ścieżki.

Dzwon.

Są ci, którzy przeczytali tę wiadomość przed tobą.
Subskrybuj odbieranie artykułów świeżych.
E-mail
Nazwa
Nazwisko
Jak chcesz przeczytać dzwonek
Bez spamu