Какво е UNIX: разработка, функции и приложение на операционната система

Официалната дефиниция на Unix е в областта на регистрираната търговска марка The Open Group, семейството на компютърни операционни системи и инструменти. За да приложите търговската марка на Unix, продавачът на операционна система трябва да заплати такса за лиценз и годишни роялти. Официално лицензираните Unix операционни системи включват Apple, Oracle, AIX, IRIX (SGI) и Hewlett-Packard.

История на UNIX

За да се обясни какво е Unix, е необходимо да се започне с историята на развитието. През 1960-те години General Electric и Bell Labs от Mass Tech се опитват да разработят интерактивна система Multics, която ще позволи на множество потребители да имат достъп до мейнфрейм едновременно. Разочарован от резултата, Bell Labs напусна проекта, но компютърните експерти Кен Томпсън и Денис Ричи решиха да продължат работата, завършила с развитието на Unix.


Томпсън и Ричи бяха ръководени от екип от изследователи за разработване на йерархична файлова система, интерпретатор на команден ред, някои програми за малки офиси и концепции за процесите и файлове на устройствата. Луната Томпсън пусна самостоятелна операционна система с асемблер, редактор и обвивка, наречена YEW-nihks, базирана на по-ранна версия на Multics. "Unix" беше много по-малък и представляваше една единствена задача. Преди 1973 г. той е написан на асемблер, но четвъртото издание на Unix е пренаписано на C. Тогава това е революционно, защото операционната система се смята за твърде трудна за писане на език на високо ниво. Това повиши преносимосттаUnix-системи към други компютърни платформи. В началото на 80-те години Unix стана популярен в академичната общност, след което търговските стартиращи фирми като Solaris Technologies и Sequent започнаха да го прилагат в по-широк мащаб.


В края на 90-те години мрежата от програмисти разработи съвместно Linux дистрибуции и Berkeley Software Distribution (BSD), което доведе до увеличаване на популярността на Unix-подобни системи. Днес най-модерните компютърни и мобилни устройства използват Unix операционна система. Модерният Unix и единният UNIX спецификация са собственост на Open Group. Последната версия на стандарта за сертифициране UNIX V7 стана четвъртата версия, издадена през 2013 г.

Характеристики на концепциите на ОС

За да разберем какво е Unix, трябва да разгледаме неговата уникалност в пакета от концепции на операционната система. Най-важното е, че използва обикновен текст, когато съхранява данни, йерархични файлови системи и някои видове интерфейси между процесорите (IPC). Потребителите на Unix могат да свързват софтуерни инструменти и малки програми заедно чрез интерпретатора на командния ред. Това е програма на потребителско ниво. Разработчиците могат да пишат своя собствена обвивка и да добавят нови команди, без да променят самата обвивка, тъй като използва езика за интерактивни команди, както и за скриптове. Концепциите на Unix са влиятелни по редица причини. Системата Unix се превърна в движеща сила за развитието на Интернет и трансформацията на компютрите в мрежов инструмент. Той разглежда всички типове файлове като прости байтови масиви, които представят опростен файлов модел в сравнение с други операционни системи.системи.
Unix популяризира йерархична файлова система с произволно вградени поддиректории. По-рано операционните системи могат да разделят устройството за съхранение на секции с фиксиран брой нива. Разработчиците на тази система заслужават признание за въвеждането на модулност и възможността за многократна употреба в практиките за разработване на софтуер и за популяризиране на софтуерни инструменти. Те също така създадоха набор от културни правила за разработка на софтуер и развиха философията на Unix, която имаше влияние върху IT общността.

Архитектура на операционната система UNIX

Unix Architecture е компютърна операционна система, която въплъщава философията на Unix. Той следва стандарти като Единична UNIX спецификация (SUS) или еквивалентен IEEE POSIX стандарт. Подробно разглеждане на това какво UNIX е в семейството на операционните системи започва с обяснение на структурната структура, която се състои от три части: ядра, черупки и програми. Някои ключови характеристики на концепцията за Unix архитектура използват ядрото на централизирана операционна система, която управлява действията на системата и процесите. Всички неосновни програми са организирани в отделни процеси, контролирани от ядрото, което е център на операционната система, разпределя програмите за време и памет на Unix, обработва хранилището на файловете в отговор на системни повиквания.
Unix-системите имат огромно многозадачност - няколко процеса могат да се изпълняват едновременно или за малки интервали от време и почти едновременно, ивсеки процес може да бъде прекъснат от ядрото и да бъде премахнат от неговото изпълнение. Файловете се съхраняват на диск в йерархична файлова система, с едно горно местоположение в системата (root, или "/"), с файлове, директории и поддиректории. С някои изключения устройството и някои видове комуникация между процесите се управляват и показват като файлове или псевдофайлове в йерархията на файловата система. Операционната система UNIX поддържа следните функции и функции:
  • Многозадачен и многопотребителски интерфейс.
  • Интерфейс за програмиране.
  • Използване на файлове като абстракции на устройства и други обекти.
  • Вградена мрежа (TCP /IP стандарт).
  • Процеси на постоянни системни услуги, наречени "демони" и управлявани от init или inet.
  • Файлове и процеси

    В UNIX всичко е файл или процес. Процесът е изпълнима програма, идентифицирана с уникален PID идентификатор на процеса. Unix файлът е набор от данни. Те се създават от потребители, използващи текстови редактори и компилатори. Примери за файлове:
  • документ (доклад, резюме и др.);
  • текстът на програмата е написан на някакъв език за програмиране на високо ниво;
  • инструкции, разбираеми директно на машината и неясни за средния потребител, например набор от двоични цифри;
  • директория, съдържаща информация за нейното съдържание, която може да бъде смес от други директории (поддиректории) и обикновени файлове.
  • Всички Unix файлове са организирани в структурата на директориите. Файловата система е организирана в йерархична структура, подобна наобърнато дърво Горната част на йерархията традиционно се нарича root, написана като skew ("/").

    Текстовите файлове могат да се показват на екрана и да се редактират. За UNIX има няколко програми за редактиране на текст, най-забележителните са vi и Emacs. Много потребители използват pico, обикновен текстов редактор, който идва с програмата Pine. Например, за да покажете съдържанието на даден файл, въведете "$ pico" и след това името на файла, който искате да създадете.
    Функциите за редактиране на Pico се извикват чрез едновременно натискане на клавиши, например Ctrl и R. Pico изрязват и поставят функция:
  • Премества се до желаната линия от текст и натиснете "^ K". Цялата линия трябва да изчезне.
  • Преминете към края на текста и натиснете "^ U". Това ще вмъкне нов ред в текста.
  • Писането на думи в текста се извършва с "^ W".
  • За да запазите работата без излизане, въведете "^ O".
  • Въведете "^ X" за изход. Ако има някакви непроменени данни, потребителят ще бъде подканен да направи това преди излизане.
  • Pico няма много допълнителни функции, които други редактори, като vi и Emacs, са лесни за използване и със сигурност подходящи за редактиране на малки файлове.

    Unix-подобни системи

    Те включват операционни системи, които се държат като Unix системи и предоставят подобни услуги, но не са лицензирани от The Open Group. Те обикновено се наричат ​​Unix-подобни. Това са различни дистрибуции на Linux. Например, Red Hat Enterprise Linux, Ubuntu и CentOS и няколко потомци на операционната системаСемейство за софтуерно разпространение на Unix в Бъркли. Няма ясна дефиниция на "Unix", но терминът се отнася до операционна система, която се държи като Unix. Това може да се отнася до неговия свободен и отворен код. Някои разработчици твърдят, че има три вида. Генетично подобни системи са свързани с оригиналната база данни на Bell Labs, по-късно AT & amp; T, например с BSD, която е използвана от изследователи от Калифорнийския университет в края на 70-те и началото на 80-те години. Търговските марки и подобни маркови системи отговарят на Unix Unix спецификацията. Функционални системи като Unix, Linux и Minix се държат приблизително, както е посочено в спецификацията. Например, те трябва да имат програма, която управлява сесиите за влизане и командните подкани. Патентованите Unix операционни системи и подобни варианти работят на широк кръг от цифрови архитектури и често се използват на уеб сървъри, мейнфрейм компютри и суперкомпютри. През последните години смартфоните, таблетите и персоналните компютри с Unix версии или варианти стават все по-популярни.

    Ключови компоненти

    Unix собствените системи и техните варианти се характеризират с няколко основни компонента:
  • Ядрото е основната контролна програма за операционната система, която управлява паметта, системните повиквания и другите ниски функции, общи за повечето приложения и Предоставя драйвери за управление на хардуера.
  • Shell Shell е интерактивна програма, която осигурява интерфейс между потребителя и ядрото. Черупката интерпретира команди, въведени от потребителя илипредоставена от скрипта на обвивката и предава техните ядра за изпълнение. Черупките са достъпни за използване в Unix-подобни операционни системи, съдържащи sh (Bourne shell), bash (shell Bourne-again), csh (черупка C), tcsh (shell TENEX C), ksh (shell korn) и zsh (shell Z).
  • Файловата система използва йерархичната структура на директории с главната директория ("/") в горната част. Файловата система е монтирана от главната директория на всяка система в /N, където домашната директория за всеки потребител се намира в /N /u /, а файловете, свързани със софтуера, в /N /soft. За да определите кои монтирани файлови системи в Unix или Unix-подобна система, използвайте mount-командата. Повечето от тях включват инструменти и библиотеки за писане, компилиране и дебъгване на програми на C, C ++ и Fortran.
  • Unix и Unix-подобните команди включват голямо ядро ​​на стандартна помощна програма за редактиране, писане, компилиране и управление на приложения, обработка, манипулиране на потребителската среда и получаване на информация за системата и нейните потребители. Командите позволяват аргументи, известни като опции за промяна на поведението им по подразбиране. Потребителите въвеждат данните в командния ред и след това черупката изпълнява интерпретацията и прехвърля своите ядра за изпълнение.
  • В Unix, потребителят има възможност да използва команден ред (по-голям контрол и гъвкавост) или графичен интерфейс (по-прост).

    Присвояване на аргументи на обвивката

    Потребителят взаимодейства с UNIX чрез специална програма, наречена shell, искащата команда и предава OS за изпълнение следадминистрация. Те се състоят от две части: името на командата и аргументите. Някои аргументи, наречени опции, обикновено се въвеждат с "-" характер, променят поведението на командата по определен начин, докато други аргументи сочат към обекти, като имена на файлове, компютри и потребители. В следния пример: $ ls -l myfile "ls" е името на командата, а "-l" и "myfile" са аргументи. "-L" е опция, която променя поведението на командата "ls". Не всички команди изискват параметри или аргументи. Много от тях имат разузнавателна информация по подразбиране, когато нищо не е посочено. Unix системната обвивка се предлага в два основни варианта: черупката на Bourne, sh и черупката C, csh. От тях се извличат други популярни черупки, като ksh, bash, tcsh. Всяка обвивка използва специфичен символ или низ от символи, за да поиска от потребителя команда, наречена покана по подразбиране за bash, символа $. Освен ако не е посочено друго, те ще работят еднакво добре с повечето други черупки. Тъй като UNIX поддържа множество потребители едновременно, трябва да се идентифицирате в системата, преди да започнете да я използвате. Този процес се нарича logon. Когато потребителят се свърже с компютър, той или тя ще бъде помолен да предостави две части от информацията за вход - името за влизане, което е идентифицирано в него, и паролата, която увеличава вероятността, че потребителят действително принадлежи, е това, което той или тя извиква.

    Основни команди на UNIX

    Черупката на tcsh има някои функции, които помагат на потребителя да въвежда команди. За да завършите името на файла, въведете част от името на командата,файл или директория. След като натиснете [Tab], черупката tcsh автоматично завършва част от името. Ако открие повече от едно име, то започва с писма, създадени от потребителя, ще издаде звуков сигнал, като предложи още няколко букви, преди отново да натиснете клавиша Tab. Черупката съхранява списъка с команди, които въвеждате. Ако искате да повторите командата, използвайте клавишите със стрелки, за да превъртате нагоре и надолу по списъка или да въведете история за списъка с предишни команди. Примери за големи команди на UNIX включват следното:
  • ls: списък на файловете.
  • ls -l: показва списък с файлове в дълъг формат.
  • cd: превключете на директорията над текущата.
  • cp filename1 filename2: копира файла, името на файла.
  • chmod: промяна на правата за четене, писане и изпълнение на файлове;
  • mkdir: създава директория.

    Приложение за терминали

    Това приложение работи, когато потребител изпраща команди директно на компютър, който връща резултата директно на потребителя. Има междинна програма за това, известна като терминал или команден ред. Това, което потребителят записва, се предава на терминала, който изчислява кои команди да се изпълняват, и дава команда за изпълнение. На английски език терминалът се нарича черупка, защото покрива операционната система, за да скрие част от нейната сложност и опрости взаимодействието с нея. Терминалът е програма, която може да изпълнява други програми, вместо да извършва самите изчисления. Най-популярният Unix терминал се нарича Bash - от Bourne Again Shell, защото той идва от предишната версия, написана от Stephen Burn.Bash е терминалът по подразбиране в повечето модерни реализации на Unix и в повечето пакети, които предоставят инструменти, подобни на Unix за Windows. Използването на bash или друг терминал понякога е по-удобно за програмиране. Екипите са кратки, често само с няколко символа, имената им често са загадъчни и заключението им е текстови низове, а не нещо визуално, като графики. От друга страна, с помощта на няколко клавиша терминалът ви позволява да комбинирате съществуващите инструменти в мощни конвейери и да обработвате големи обеми данни автоматично. Тази автоматизация не само прави работата по-продуктивна, но и увеличава възпроизводимостта на операциите, защото ви позволява да повтаряте идентично процесите с няколко прости команди. В допълнение, командният ред често е най-лесният начин за взаимодействие с отдалечени компютри и суперкомпютри. Представянето на терминала е практически необходимо за използването на различни специализирани инструменти и ресурси, включително високопроизводителни компютърни системи. Клъстерите и облачните изчислителни системи стават все по-популярни за анализа на научните данни, а способността за взаимодействие с тях става необходимо умение. Потребителят може да използва уменията, които ще придобие в командния ред, за да реши широк кръг от научни въпроси и изчислителни задачи.

    Създаване на нови директории

    Сега, когато потребителят има обща представа за файловата система и как да се справя с нея, можете да започнете да създавате свои собствени файлове и директории и да контролиратетях. Каталозите се създават с помощта на mkdir и се премахват с помощта на rmdir. Например, за да създадете две нови директории, напишете: $ mkdir test2. Сега, за да изтриете втората директория, която току-що създаде: $ rmdir test2. В този случай rmdir ще изтрие само празни директории. Ако директорията съдържа файлове, потребителят трябва първо да ги изтрие, преди да използва rmdir. В допълнение, той може рекурсивно да премахне директорията и нейното съдържание, като използва подходящата опция с командата rm. Ако искате да копирате някои от съществуващите файлове от останалата част на файловата система в тестовата директория, използвайте командата cp. Преди да продължат напред, те се преместват в новия "тестов" каталог, който току-що е бил създаден. Потребителят ще използва тази област за експериментите, като така свежда до минимум потенциалното увреждане на други файлове в домашната директория:
  • $ cd test;
  • $ pwd;
  • /home /xxxxx /test.
  • Сега можете да копирате някои файлове в тестовата директория, използвайки cp:
  • $ cp /etc /motd. $ Cp /etc /hosts;
  • $ cp /etc /group. $ Ls.
  • Трите команди по-горе cp копират съществуващи файлове от директорията /etc в текущата директория (последвано от символа "."). Сега изтрийте файла с rm:
  • $ rm група;
  • $ ls;
  • хостове motd.
  • След това преместете един от файловете с mv:
  • $ mv motd;
  • $ ls.
  • Тъй като cp, mv rm може да унищожи данните, те предлагат интерактивна опция, която пита потребителя преди да продължи. Това се извиква с опцията -i. Обикновено системният администратор конфигурира профила да използва тази опция по подразбиране.За cp и mv се нуждаете от два аргумента: текущото местоположение и дестинацията на файла, който искате да копирате или преместите. Дестинацията може да бъде различен файл или директория.

    Ползите от интернет лидер

    Никой тип операционна система не може да предложи универсални отговори на всички изисквания на потребителите. Става дума за избор и вземане на информирани решения. Въпреки това Unix има толкова много предимства, че е станал най-търсената операционна система. Общи предимства на Unix:
  • Гъвкави и могат да бъдат инсталирани на много видове компютри, включително мейнфрейм, суперкомпютри и микрокомпютри.
  • Стабилен и не пропада толкова често, колкото Win, така че изисква по-малко администриране и поддръжка.
  • Има повече вградена сигурност и разрешения, отколкото Win.
  • Притежава много повече изчислителна мощност от Win.
  • е лидер в интернет услугите. Около 90% от потребителите на интернет използват Unix операционни системи с Apache - най-широко използвания уеб сървър в света, който е безплатен.
  • Софтуерните актуализации от Microsoft често изискват от потребителя да закупи нов хардуер или софтуер. Не е като Unix.
  • По принцип, безплатни или евтини операционни системи от семейството на Unix от типа на отворения код, като Linux и BSD, с тяхната гъвкавост и контрол, са много привлекателни за начинаещите компютърни майстори.
  • Много отнай-умните програмисти разработват модерен софтуер безплатно за бързо разрастващ се трафик с отворен код. "
  • Unix също вдъхновява нови подходи към разработката на софтуер, като например решаване на проблеми чрез комбиниране на по-прости инструменти, вместо да се създават големи монолитни приложения.
  • Напоследък Unix е имал спад в използването, главно поради прехода от платформи RISC към x86-базирани алтернативи, които могат да се справят с много натоварвания на Unix с по-висока производителност на по-ниска цена. Експертите прогнозират, че много организации ще продължат да използват Unix за критични среди, но ще намалят зависимостта си от системата чрез стратегии за модернизиране и консолидиране на ИТ. Независимо от това, Unix все още е най-добрата система за много приложения, като например софтуер за приложения за вертикално мащабиране и функции за сигурност, както е видно от многобройни ревюта на Unix. Очаква се в бъдеще продажбите на сървъри да спаднат, но програмите във финансовия, държавния и телекомуникационния сектор ще продължат да стимулират използването на Unix.

    Свързани публикации