Unix сервер что это

Чем Linux отличается от UNIX, и что такое UNIX-подобная ОС?

UNIX (не стоит путать с определением «UNIX-подобная операционная система») — семейство операционных систем (Mac OS X, GNU/Linux).
Первая система была разработана в 1969 в Bell Laboratories, бывшей американской корпорации.

UNIX-подобная ОС

UNIX-подобная ОС (иногда используют сокращение *nix) — система, образованная под влиянием UNIX.

Слово UNIX используется как знак соответствия и как торговая марка.

Консорциум The Open Group обладает торговой маркой «UNIX», но наиболее известен как сертифицирующий орган для торговой марки UNIX. Недавно на The Open Group был пролит свет в связи с публикацией спецификации «Single UNIX Specification», стандартов которым должна удовлетворять ОС чтобы гордо называться Unix.

Вот здесь вы можете взглянуть на генеалогическое древо UNIX-подобных операционных систем.

Linux

Unix сервер что это. image loader. Unix сервер что это фото. Unix сервер что это-image loader. картинка Unix сервер что это. картинка image loader
Linux — общее название UNIX-пободных операционных систем, которые разработаны в рамках проекта GNU (проект по разработке СПО). Linux работает на огромном множестве архитектур процессора, начиная от ARM заканчивая Intel x86.

Наиболее известными и распространенными дистрибутивами являются Arch Linux, CentOS, Debian. Также существует много «отечественных», российских дистрибутивов — ALT Linux, ASPLinux и другие.

Возникает довольно много споров об именовании GNU/Linux.
Сторонники «open source» используют термин «Linux», а сторонники «free software» — «GNU/Linux». Я предпочитаю первый вариант. Иногда для удобства представления термина GNU/Linux используют написания «GNU+Linux», «GNU-Linux», «GNU Linux».

В отличие от коммерческих систем (MS Windows, Mac OS X) Linux не имеет географического центра разработки и определенной организации, которая владела бы системой. Сама система и программы для нее — результат работы огромных сообществ, тысяч проектов. Присоединиться к проекту или создать свой может каждый!

Вывод

Подводя итог, я могу сказать, что отличия между Linux и UNIX очевидны. UNIX — намного более широкое понятие, фундамент для построения и сертификации всех UNIX-подобных систем, а Linux — частный случай UNIX.

Источник

Что такое UNIX и зачем он нужен

Операционная система, которая изменила мир, хотя в ней почти никто не работал

В 1970-х годах в мире появился UNIX — операционная система, из которой растут ноги у большинства современных операционок. Для своего времени это был технологический прорыв, а заложенные там принципы мы используем до сих пор. В этой статье — что же там было такого революционного.

👍 Статья расширяет кругозор и помогает лучше понять информатику, но не имеет прикладной ценности. Если вам нужно что-то прикладное — прочитайте про размеры элементов в CSS.

Однозадачные компьютеры

Когда компьютеры только начали появляться, то работали они примерно так:

Получается, что они работали в однозадачном режиме: работает только одна программа, а для запуска второй нужно остановить первую. По этому принципу до сих пор работают контроллеры в ваших микроволновках и холодильниках, а также контроллеры типа Arduino.

Сначала такой подход всех устраивал, потом стало неудобно.

Многозадачные компьютеры

Чтобы компьютер работал более эффективно, программисты написали код, который управляет работой всего компьютера — операционную систему.

Первые операционные системы были псевдомногозадачными. Это значит, что они не запускали одновременно несколько программ, а в цикле по очереди брали по одной команде из каждой программы и выполняли их. Так как переключение между командами из разных программ происходит быстро, то создаётся впечатление, что они работают одновременно.

Потом эту проблему тоже решили, и компьютер мог выполнять несколько программ действительно одновременно, чтобы они не мешали друг другу. Так появились многозадачные операционные системы.

Но в то время домашних компьютеров не было, а желающих поработать за университетским компьютером было много, поэтому все работали по очереди. Например, один лаборант работал на нём с часу до двух, второй — с двух до трёх, а научный руководитель работал за компьютером с трёх до шести.

При этом мощности компьютеров уже хватало на то, чтобы с ним мог работать второй пользователь, не замедляя работу первого. А вот операционных систем, которые бы так умели, — не было. И здесь появляется UNIX.

UNIX — многопользовательская операционная система

Создатели UNIX Кен Томпсон и Деннис Ритчи (который потом напишет язык C) решили проблему так:

Со стороны пользователя кажется, что весь сервер в его распоряжении, но на самом деле сервером могут пользоваться одновременно десятки человек и не знать о том, что сервер выполняет что-то ещё. Сейчас это звучит обычно и примитивно, но для того времени это был прорыв.

Операционную систему, которая умеет всё это делать, назвали UNIX — сокращение от Uniplexed Information and Computing Service (единый информационно-вычислительный сервис). Изначально это называлось UNICS, но потом последние две буквы превратились в одну.

Что нового появилось в UNIX, чего до неё не было

Вот что впервые появилось именно в UNIX — и в виде идей, и в виде готового кода:

Файловая система с любой глубиной вложенности. Мы сейчас привыкли к папкам, в которых можно создавать другие папки, а в них третьи и так почти до бесконечности. Но до UNIX глубина вложенности была ограничена — нельзя было создать, например, папку внутри другой папки.

Модель работы с файлами. Пользователю раньше нужно было самому предусмотреть формат, размер и физическое размещение файлов на диске. В UNIX это всё взяла на себя операционная система.

Работа с программами напрямую. До UNIX настройку работы всех программ можно было сделать только в командной строке: запустил → компьютер что-то посчитал → показал результат. Если нужно изменить параметры, то это надо было делать через командную строку. В новой системе можно было менять настройки программ прямо внутри них — именно так и устроены сейчас все программы.

Вывод всего как текста. Раньше компьютеры работали с битами и выводили битовые последовательности. Их нужно было отдельно разбивать на нужные фрагменты или использовать встроенные программы для перевода битов в байты, а из них — в текст.

В UNIX единица вывода — это не бит, а байт. А в байт как раз умещается символ текста, а значит, с ним можно работать как с текстом: искать, склеивать с другими, отправлять в файл и так далее.

Регулярные выражения стали использоваться не только в профессиональных задачах, но и как основа для обработки вывода программ.

Язык C. Этот язык появился в UNIX как замена языка B. Но B был интерпретируемым языком (как Python), и для запуска программ нужен был его интерпретатор. Язык C — компилируемый, а значит, готовые программы можно запускать на любом совместимом компьютере, даже если на нём нет компилятора C.

Протокол TCP/IP. До UNIX этот протокол не был популярен, и компьютеры связывались друг с другом по более старому протоколу, который не имел столько возможностей. Теперь благодаря этой операционной системе весь мир пользуется интернетом, построенным на протоколе TCP/IP. Справедливости ради, этот протокол появился не в первой поставке UNIX.

Как работают в UNIX

Для управления этой системой почти всегда используется командная строка. Есть, конечно, и графический интерфейс для некоторых систем и задач, но штука в том, что UNIX заточен на работу в серверах. А у серверов чаще всего нет ни клавиатуры, ни монитора — только сетевые соединения, через которые пользователи и соединяются с сервером, чтобы им управлять.

Как UNIX стал стандартом

С середины 1970-х годов идёт довольно мутная история, в которой компания
AT&T долго и небезуспешно пытается заработать на UNIX, а американские университеты и инженеры-любители делают свою открытую версию. Идёт конкуренция между стандартами, инструментами, поставками и протоколами.

Конкуренция выливается в то, что у UNIX появляется множество более совершенных потомков. Их мы называем Unix-подобными системами.

Можно сказать, что Unix-подобность — это такой набор правил, условностей и стандартов, которых должны придерживаться новые операционки, чтобы сохранять преемственность и некоторую совместимость. То есть такой ГОСТ для операционных систем. Операционка может быть и без ГОСТа, но с ним лучше.

Где сегодня используется UNIX

В чистом виде UNIX сейчас используется только на серверах и оборудовании связи. Всё дело в том, что для домашнего использования эта система подходит слабо: у неё нет встроенного графического интерфейса и все операции и программы нужно настраивать вручную.

Зато если нужна гарантированная надёжность, производительность и масштабируемость, особенно при сетевых нагрузках, — используют UNIX или производные от неё. Про них сейчас тоже расскажем.

UNIX-подобные системы

На основе оригинальных версий Юникса появилось много разных операционных систем: BSD, Solaris, HP-UX и даже MacOS, который сделан на основе BSD версии 4.4. Идеи, которые были заложены 50 лет назад, оказались настолько рабочими, что применяются до сих пор.

А ещё есть Linux и его производные — RedHat, Calculate, Ubuntu и ещё сотня дистрибутивов. Многие думают, что Линукс — это развитие Юникса, но на самом деле это полностью самостоятельное и независимое от него семейство операционных систем, хотя и слова похожие. Про Линукс обязательно расскажем в следующей статье.

Источник

Сервера на платформе Unix

Unix сервер что это. . Unix сервер что это фото. Unix сервер что это-. картинка Unix сервер что это. картинка

В последнее время Unix-решения постепенно начали сдавать свои позиции на рынке серверов. Система, славящаяся своей стабильностью и хорошо зарекомендовавшая себя за годы успешной службы, медленно, но неуклонно вытесняется новыми перспективными решениями на базе Windows и Linux.

Почему популярность Unix–решений на рынке серверов падает? Есть несколько причин. Во–первых, постоянная эволюция как Windows, так и Linux–серверов. Невозможно не обратить внимание на то, что по сравнению с совсем недавним прошлым платформа Windows сейчас выглядит гораздо более зрело. Притом стоит заметить, что Unix занимал свое место на рынке серверов почти 40 лет, в то время как Windows и Linux являются относительными новичками в мире серверов. Однако предоставление бесплатных услуг одной компанией и мощные постоянные финансовые вливания другой вместе оказались достаточной силой, чтобы занять достойное место на рынке.

Растущая популярность Windows ощутимо повлияла на продажи Unix, лишив его существенной доли рынка в последние несколько лет. С конца 2005 года Unix больше не является поставщиком серверов № 1 на рынке, как показывают исследования IDC. Растущая тенденция лишь подтверждает долгосрочные прогнозы аналитиков относительно перспектив Unix–решений. Все чаще рост потребностей корпоративных потребителей приводит к замене Unix–сервера на решения, основанные на Microsoft Windows Server.

Кроме того, произошли заметные изменения в технических характеристиках серверов. Долгое время «железные» Unix сервера, работающие на SPARCs, Power или Intel Itanium были платформой, которую выбирали для работы крупные корпорации. Хотя компании IBM и Sun продолжали работу над усовершенствованием своих центральных процессоров, архитектура x86 заметно выросла, особенно с появлением 64–разрядных процессоров, например, Opteron от AMD. IDC отмечает, что во втором квартале 2006г. поставки серверов x86 выросли на 13.7%, из которых почти 80% — именно 64–разрядные процессоры. А серверы, основанные на Intel Itaniumи представляющие собой отдельную категорию как серверы способные работать на разных операционных системах насчитали в целом 740 млн. что составляет порядка 36.4% от общего объема продаж.

Возможно, еще более значительным фактором является усовершенствование blade — серверов: привлекательность формы, способность подключать несколько «лезвий» к одному источнику питания и возможность их «горячей» замены (без выключения электропитания) в кластерах. Продажа «лезвий» в 2005 году выросла на 49.3% в сравнении с предыдущим годом, а в текущем году их продажи доходят до 37.1% (639 млн. долл. При этом IBM имеет долю 39.5%, HP же существенно сократил разрыв и занял второе место, получив 38.9%.

Просмотры: (475)

Добавить комментарий Отменить ответ

Для отправки комментария вам необходимо авторизоваться.

Источник

Национальная библиотека им. Н. Э. Баумана
Bauman National Library

Персональные инструменты

UNIX — семейство переносимых, многозадачных и многопользовательских операционных систем.

Идеи, заложенные в основу UNIX, оказали огромное влияние на развитие компьютерных операционных систем. В настоящее время UNIX-системы признаны одними из самых исторически важных ОС.

Содержание

Обзор

Первая система UNIX была разработана в подразделении Bell Labs компании AT&T. С тех пор было создано большое количество различных UNIX-систем. Юридически право называться «UNIX» имеют лишь те операционные системы, которые прошли сертификацию на соответствие стандарту Single UNIX Specification. Остальные же, хотя и используют сходные концепции и технологии, называются UNIX-подобными операционными системами.

Особенности

Основное отличие UNIX-подобных систем от других операционных систем заключается в том, что это изначально многопользовательские многозадачные системы. То есть в один и тот же момент времени сразу множество людей может выполнять множество вычислительных задач (процессов). Даже популярную во всём мире систему Microsoft Windows нельзя назвать полноценной многопользовательской системой, так как кроме как на некоторых серверных версиях, в один и тот же момент за одним компьютером с Windows может работать только один человек. В Unix может работать сразу много людей, при этом каждый из них может выполнять множество различных вычислительных процессов, которые будут использовать ресурсы именно этого компьютера.

Вторая колоссальная заслуга Unix в её мультиплатформенности. Ядро системы написано таким образом, что его легко можно приспособить практически под любой микропроцессор, а не только под популярное семейство i-386 (i-686).

UNIX имеет и другие характерные особенности:

Применение

В настоящее время UNIX-системы распространены в основном среди серверов, а также как встроенные системы для различного оборудования. Среди ОС для рабочих станций и домашнего применения UNIX и UNIX-подобные ОС занимают после Microsoft Windows второе (OS X), третье (GNU/Linux) и многие последующие места.

История

Предшественники

В 1957 году в Bell Labs была начата работа по созданию операционной системы для внутренних нужд. Под руководством Виктора Высотского была создана система BESYS. Впоследствии он возглавил проект Multics, а затем стал главой информационного подразделения Bell Labs.

В 1964 году появились компьютеры третьего поколения, для которых возможности BESYS уже не подходили. Высотский и его коллеги приняли решение не разрабатывать новую собственную операционную систему, а подключиться к Multics — совместному проекту General Electric и MIT. Телекоммуникационный гигант AT&T, в состав которого входила Bell Labs, оказал проекту существенную поддержку, но в 1969 году вышел из него, поскольку проект не приносил финансовых выгод.

Первые UNIX-системы

История операционной системы UNIX началась в 1969 году в одном из подразделений AT&T Bell Laboratories, когда на «малоиспользуемой» машине DEC PDP-7 Кен Томпсон, Деннис Ричи и другие, прежде занимавшиеся созданием ОС Multics, начали работу над операционной системой, названной ими первоначально Unics (UNiplexed Information and Computing System). В течение первых 10 лет развитие UNIX происходило, в основном, в Bell Labs. Соответствующие начальные версии назывались «Version n» (Vn) и предназначались для ЭВМ DEC PDP-11 (16-битовая) и VAX (32-битовая).

Версии Vn разрабатывались группой Computer Research Group (CRG) в Bell Labs. Поддержкой занималась другая группа, Unix System Group (USG). Разработкой также занималась группа Programmer’s WorkBench (PWB), привнесшая систему управления исходным кодом sccs, именованные каналы и ряд других идей. В 1983 году эти группы были объединены в одну, Unix System Development Lab.

Хронология основных событий в истории ОС UNIX

Основные характеристики

ОС UNIX имеет следующие основные характеристики:

Архитектура ОС UNIX

Основные функции ядра

Основные функции ядра UNIX (которое может быть монолитным или модульным) включают:

Системные вызовы

Системные вызовы обеспечивают:

Системные вызовы преобразуют процесс, работающий в режиме пользователя, в защищенный процесс, работающий в режиме ядра. Это позволяет процессу вызывать защищенные процедуры ядра для выполнения системных функций.

Системные вызовы обеспечивают программный интерфейс для доступа к процедурам ядра. Они обеспечивают управление системными ресурсами, такими как память, пространство на дисках и периферийные устройства. Системные вызовы оформлены в виде библиотеки времени выполнения. Многие системные вызовы доступны через командный интерпретатор.

Пользовательские процессы и процессы ядра

Пользовательские процессы образуют следующие два уровня и:

Пользовательский процесс работает в режиме ядра, когда начинает выполнять код ядра через системный вызов.

Обмен данными между пространством ядра и пользовательским пространством

Поскольку пользовательские процессы и ядро не имеют общего адресного пространства памяти, необходим механизм передачи данных между ними. При выполнении системного вызова, аргументы вызова и соответствующий идентификатор процедуры ядра передаются из пользовательского пространства в пространство ядра. Идентификатор процедуры ядра передается либо через аппаратный регистр процессора, либо через стек. Аргументы системного вызова передаются через пользовательскую область вызывающего процесса.

Пользовательская область процесса содержит информацию о процессе, необходимую ядру:

Пользовательский процесс не может обращаться к пространству ядра, но ядро может обращаться к пространству процесса.

Системное программное обеспечение

ОС UNIX обеспечивает ряд стандартных системных программ для решения задач администрирования, переконфигурирования и поддержки файловой системы, в частности:

Для решения этих задач системное ПО (работающее в пользовательском режиме) часто использует системные вызовы.

Пользователи и группы

UNIX — многопользовательская операционная система. Пользователи, занимающиеся общими задачами, могут объединяться в группы. Каждый пользователь обязательно принадлежит к одной или нескольким группам. Все команды выполняются от имени определенного пользователя, принадлежащего в момент выполнения к определенной группе.

В многопользовательских системах необходимо обеспечивать защиту объектов (файлов, процессов), принадлежащих одному пользователю, от всех остальных. ОС UNIX предлагает базовые средства защиты и совместного использования файлов на основе отслеживания пользователя и группы, владеющих файлом, трех уровней доступа (для пользователя-владельца, для пользователей группы-владельца, и для всех остальных пользователей) и трех базовых прав доступа к файлам (на чтение, на запись и на выполнение). Базовые средства защиты процессов основаны на отслеживании принадлежности процессов пользователям.

Интересные факты

UNIX-время

UNIX-время — система описания моментов во времени, принятая в UNIX и других POSIX-совместимых операционных системах. Определяется как количество секунд, прошедших с полуночи (00:00:00 UTC) 1 января 1970 года (четверг); время с этого момента называют «эрой UNIX».

UNIX-время представлено целым числом, которое увеличивается с каждой прошедшей секундой без необходимости вычислений для определения года, месяца, дня, часа или минуты для удобства восприятия человеком. Современное UNIX-время согласуется с UTC — отсчет происходит в секундах СИ. Временной промежуток одного дня почти всегда разбит на 86400 секунд, но при объявлении високосных секунд составляет 86401 секунду. Такие секунды, согласно Всемирному времени, сохраняют длительность дней синхронизированной со временем оборота планеты. В UNIX-времени соответствующие номера секунд повторяются, то есть високосные секунды не учитываются.

В момент времени 00:00:00 UTC 1 января 1970 года (четверг) UNIX-время равно нулю. Начиная с этого времени, число возрастает на определённое количество в день. Каждый день число, представляющее Unix-время вычисляется описанным образом в UTC (00:00:00Z), и увеличивается ровно на 1 в секунду, начиная с полночи. Следовательно, 16-09-2004 17:55:43.54, 64543.54 секунд с полуночи, из примера выше, будет представлено в UNIX-времени числом 1095292800 + 64543.54 = 1095357343.54. Для дат, предшествующих началу отсчета, число также возрастает, т.е. с течением времени приближается к нулю.

Используемую целочисленную систему удобно использовать для сравнения и хранения дат (дата и время в этом формате занимают всего 4 или 8 байт). При необходимости обращения к элементам дат (день, месяц, год) секунды можно преобразовать в любой подходящий формат (и наоборот).

В программах для хранения UNIX-времени используется целочисленный знаковый тип. 32-битные числа со знаком могут ссылаться на моменты времени от пятницы 13 декабря 1901 года 20:45:52 до вторника 19 января 2038 года 03:14:07 включительно.

19 января 2038 года в 03:14:08 по всемирному времени значение переменной типа time_t, отсчитывающей число секунд, прошедших с 1 января 1970 года, достигнет 231, что может привести к ошибочной интерпретации этого числа как отрицательного. Возможное решение данной проблемы состоит в использовании для хранения времени не 32-битной, а 64-битной переменной (что и делается во всех современных 64-битных операционных системах), этого хватит на 292 млрд лет.

Проблема Apple iOS как UNIX-системы

У 64-битных iOS устройств от Apple существует проблема как UNIX системы. Если перевести время на устройстве с 64-битным процессором под управлением iOS на час ночи первого января 1970 года и перезагрузить устройство, будучи в часовом поясе от UTC +1:30 и больше, то после перезагрузки устройства оно не будет включаться, всё время будет светиться «белое яблоко». Происходит это из-за разницы в часовых поясах, то есть: если перевести время на 1:00 1 января 1970 года в часовом поясе UTC +1:30 или больше, то счётчик UNIX-time уходит в минус, так как отсчёт ведётся от UTC времени, что система понять не в состоянии, вследствие чего счётчик зависает. Устройство даже не восстанавливается через DFU, но у проблемы есть три решения другими способами. Первый способ: просто оставить включенным устройство и ждать пока счётчик UNIX-time уйдёт в плюс (пока не доказано, что данный способ работает). Второй способ: ждать пока аккумулятор телефона сядет полностью и счётчик сам сбросится на нулевое состояние. Третий способ: разобрать устройство и отключить аккумулятор на некоторое время, затем собрать устройство, счётчик так же сбросится на ноль и устройство будет работать.

Источник

Unix сервер что это

Ищите на Allbiz! Холодильники Атлант. Соединяем покупателей и продавцов

Размещение сквозной ссылки

Unix сервер что это. . Unix сервер что это фото. Unix сервер что это-. картинка Unix сервер что это. картинка

Что такое Unix (для начинающих)

Этот файл еще долго будет находиться в состоянии «under construction». 🙂

Какие бывают Unix’ы и на каких машинах они запускаются?

Этот список не претендует на полноту, ибо кроме перечисленных есть еще множество менее распространенных Unix’ов и Unix-подобных систем, не говоря уже о древних Unix’ах для устаревших машин.

Условно можно выделить семейства System V и Berkeley. System V (читается «System Five») имеет несколько вариантов, последний по моим сведениям System V Release 4. Университет Berkeley славен не только разработкой BSD, но и большинства протоколов Internet. Впрочем, многие Unix’ы сочетают свойства обеих систем.

Где взять бесплатный Unix?

Каковы основные отличия Unix от других OS?

Unix состоит из ядра с включенными в него драйверами и из утилит (внешних по отношению к ядру программ). Если надо изменить конфигурацию (добавить устройство, изменить порт или прерывание), то ядро пересобирают (перелинковывают) из обьектных модулей или (напр., во FreeBSD) из исходников. /* Это не совсем верно. Некоторые параметры можно поправить без пересборки. Существуют также loadable kernel modules. */

В противоположность Unix’у Windows (если не уточняется, какая, то имеются в виду 3.11, 95 и NT) и OS/2 при загрузке фактически на ходу прилинковывают драйверы. При этом компактность собранного ядра и повторное использование общего кода на порядок ниже, чем у Unix. Кроме того, при неизменной конфигурации системы ядро Unix без переделки (потребуется изменить только стартовую часть BIOS) может быть записан в ПЗУ и выполняться _не_загружаясь_ в ОЗУ. Компактность кода особенно важна, т.к. ядро и драйверы никогда не покидают физическую оперативную память, не свопятся на диск.

Unix хорош для квалифицированного (или желающего стать таковым) администратора, т.к. требует знания принципов функционирования происходящих в нем процессов. Реальная многозадачность и жесткое разделение памяти обеспечивают высокую надежность функционирования системы, хотя в производительности файл- и принт-сервисов Unix’ы уступают Netware.

Недостаточная гибкость предоставления прав доступа пользователей к файлам по сравнению с WindowsNT затрудняет организацию _на_уровне_файловой_системы_ группового доступа к данным (точнее, к файлам), что на мой взгляд компенсируется простотой реализации, а значит меньшими требованиями к аппаратуре. Впрочем, такие приложения, как SQL-сервер решают проблему группового доступа к данным своими силами, так что отсутствующая в Unix возможность запретить доступ к _файлу_ конкретному пользователю на мой взгляд является явно избыточной.

Практически все протоколы, на которых основан Internet, были разработаны под Unix, в частности стек протоколов TCP/IP придуман в университете Berkeley.

Защищенность Unix при правильном администрировании (а когда это не так?) ни в чем не уступает ни Novell, ни WindowsNT.

Важным свойством Unix, которое приближает его к мэйнфреймам, является его многотерминальность, много пользователей могут одновременно запускать программы на одной Unix-машине. Если не требуется использовать графику, можно обойтись дешевыми текстовыми терминалами (специализированными или на базе дешевых PC), подключенными по медленным линиям. В этом с ним конкурирует только VMS. Можно использовать и графические X-терминалы, когда на одном экране присутствуют окна процессов, выполняющихся на разных машинах.

Unix функционирует как на PC, так и на мощных рабочих станциях с RISC-процессорами, под Unix написаны действительно мощные САПР и геоинформационные системы. Своей масштабируемостью Unix из-за его многоплатформенности на порядок превосходит любую другую операционную систему из известных мне.

Основные понятия Unix

Каждый файл (но не директория) может быть известен под несколькими именами, но обязательно лежащими на одном разделе. Все ссылки на файл равноправны; файл стирается, когда удаляется последняя ссылка на файл. Если файл открыт (для чтения и/или записи), то число ссылок на него увеличивается еще на единицу; так многие программы, открывающие временный файл, сразу удаляют его, чтобы при аварийном завершении, когда операционная система закрывает открытые процессом файлы, этот временный файл был удален операционной системой.

Есть еще одна интересная особенность файловой системы: если после создания файла запись в него шла не подряд, а с большими интервалами, то для этих интервалов место на диске не выделяется. Таким образом суммарный обьем файлов в разделе может быть больше обьема раздела, а при удалении такого файла освобождается меньше места, чем его размер.

В отличие от DOS, в котором полное имя файла выглядит как «диск:\путь\имя», и RISC-OS, в которой оно выглядит «-файловая_система-диск:$.путь.имя» (что вообще говоря имеет свои преимущества), Unix использует прозрачную нотацию в виде «/путь/имя». Корень отсчитывается от раздела, с которого было загружено ядро Unix. Если мы собираемся использовать другой раздел (а на загрузочном разделе как правило находится только самое необходимое для загрузки), используется команда `mount /dev/файл_раздела директория`. При этом файлы и поддиректории, ранее находившиеся в этой директории, становятся недоступными, пока не раздел не будет размонтирован (естественно, все нормальные люди используют для монтирования разделов пустые директории). Производить монтирование и размонтирование имеет право только супервизор.

При запуске каждый процесс может расчитывать, что для него уже открыты три файла, которые ему известны как стандартный ввод stdin по дескриптору 0; стандартный вывод stdout по дескриптору 1; и стандартный вывод stderr по дескриптору 2. При регистрации в системе, когда пользователь вводит имя и пароль, а ему запускается shell, все трое направлены на /dev/tty; позже любой из них может быть перенаправлен в любой файл.

В одной командной строке можно дать несколько команд. Команды могут быть разделены ; (последовательное выполнение команд), & (асинхронное одновременное выполнение команд), | (синхронное выполнение, стандартный вывод stdout первой команды будет подан на стандартный ввод stdin второй).

Кроме того, можно брать стандартный ввод из файла, включив в качестве одного из аргументов » файл» (файл будет обнулен) или «>>файл» (запись будет произведена в конец файла). Сама программа не получит этого аргумента; чтобы узнать, что ввод или вывод переназначены, программа должна сама предпринять некоторые весьма нетривиальные телодвижения.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *