2 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Nix системы. Операционная система. Unix-подобная операционная система

Nix системы. Операционная система. Unix-подобная операционная система

Сегодня мы публикуем перевод первой статьи из серии материалов, посвящённых реализации epoll в ядре Linux 3.16.1*. Автор исходит из предположения о том, что читатели знакомы с API и с использованием epoll . Он уделяет основное внимание реализации подсистемы epoll в ядре Linux, а не особенностям её применения. Если вы не знаете о том, как пользоваться epoll — автор рекомендует сначала почитать документацию. Это значительно облегчит понимание деталей реализации этого механизма.

* — Linux 3.16.1 достаточно старое ядро, но информация работы с epoll актуальна и сегодня (прим. переводчика).

Новости

Стандарт UNIX

Стандарт действительно появился, но не основанный ни на чем AT & T. Сегодня торговая марка UNIX принадлежит The Open Group . То же самое можно сказать и о Единой спецификации UNIX. Любая операционная система, использующая UNIX, должна была быть сертифицирована The Open Group и соответствовать Единой спецификации UNIX.

Как проиллюстрировано The Open Group:

Для тех, кто заинтересован в посещении ссылки на изображение, вот она.

POSIX, как упоминалось ранее, представляет собой семейство стандартов, определенных Институтом инженеров по электротехнике и электронике (IEEE). Они служат для уточнения и унификации интерфейсов прикладного программирования, предоставляемых UNIX-подобными операционными системами.

Это делает это так, когда вы пишете программу, основанную на стандартах POSIX, переносимость и функциональность упрощаются среди большого семейства производных UNIX, таких как Linux и Mac OS. Использование API или кода, не стандартизированного как часть POSIX для UNIX-подобных операционных систем, усложнит переносимость на другие UNIX-подобные системы.

Что такое программы, системы и подсистемы UNIX?

Команды UNIX выполняются в интерфейсе командной строки, предоставляемом оболочкой. Эта оболочка является программой, которая будет читать введенные команды и либо выполнять их самостоятельно, либо передавать их ядру.

«Ядро ядра» — это то, вокруг чего построены системы UNIX, которые управляют системой и другими процессами. Это ядро ​​операционной системы UNIX, которое напрямую взаимодействует с базовым оборудованием для предоставления набора стандартных сервисов. Подсистемы ядра могут включать управление процессами, управление файлами, управление памятью, управление сетью и другие.

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

Когда дело доходит до функций UNIX, вот список нескольких выдающихся:

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

Отображает содержимое указанного файла

Unix команда cat имеет три функциональные способности в контексте текстового файла:

  • Отображение содержимого файла
  • Объединение копий
  • Создание новых файлов
Читать еще:  Управление вызовами андроид. Управление звонками и смс на андроид. Программой могут пользоваться

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

В следующем примере стандартный вывод cat перенаправляется с помощью оператора перенаправления вывода (который представлен угловой скобкой, направленной вправо > ) в файл somefile2 :

Создание и копирование содержимого файлов с помощью cat

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

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

Отличительные особенности UNIX:

  1. Простое конфигурирование системы путем использования простых, обычно текстовых, файлов.
  2. Широкое использование командной строки.
  3. Использование конвейеров.

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

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

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

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

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

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

Linux


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 не имеет географического центра разработки и определенной организации, которая владела бы системой. Сама система и программы для нее — результат работы огромных сообществ, тысяч проектов. Присоединиться к проекту или создать свой может каждый!

Вывод

Таким образом у нас поучилась цепочка: UNIX -> UNIX-подобная ОС -> Linux.

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

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

Слои совместимости

Некоторые операционные системы, отличные от Unix, предоставляют уровень совместимости, подобный Unix , с различной степенью функциональности, подобной Unix.

  • IBM г / OS «s UNIX System Services является достаточно полным, чтобы быть сертифицированы в качестве товарного знака UNIX.
  • Cygwin и MSYS предоставляют среду GNU поверх пользовательского APIMicrosoft Windows , достаточную для компиляции и запуска наиболее распространенного программного обеспечения с открытым исходным кодом.
  • MKS Toolkit и UWIN всесторонние средства взаимодействия , которые позволяют портирование программ Unix в Windows.
  • В системах типа Windows NT есть подсистема средыPOSIX .
  • Подсистема для Unix-приложений (ранее Interix ) предоставляет Unix-подобные функции в качестве подсистемыWindows NT ( больше не поддерживается ).
  • Windows , Subsystem для Linux обеспечивает Linux -совместимый интерфейс ядра , разработанный Microsoft и не содержащий код Linux, с Ubuntu пользовательского режима двоичных файлов , работающих поверх него.
Читать еще:  USB работает только после перезагрузк?.

Другие средства взаимодействия Windows и Unix включают:

  • Вышеупомянутые пакеты Windows можно использовать с различными X-серверами для Windows.
  • Hummingbird Connectivity предоставляет несколько способов для компьютеров Windows подключаться к машинам Unix и Linux, от эмуляторов терминала до X-клиентов и серверов и т. Д.
  • Наборы ресурсов Windows для версий Windows NT включают оболочку Bourne Shell , некоторые инструменты командной строки и версию Perl.
  • Оболочка Hamilton C — это версия csh, написанная специально для Windows.

2012: 462 из 500 крупнейших суперкомпьютеров работают на Linux

Tоп-500, список самых мощных суперкомпьютеров мира, обновляющийся дважды в год, стабильно демонстрирует превосходство Linux в области высокопроизводительных систем. Согласно последнему рейтингу, на июнь 2012 г. 462 из 500 самых быстрых компьютеров планеты работают под Linux.

Победителем Tоп-500 по производительности на этот раз стала Sequoia — система IBM BlueGene/Q, установленная в Ливерморской национальной лаборатории им. Лоуренса, США. Вычислительный кластер из из 98 034 узлов использует Compute Node Linux — сборку Linux для суперкомпьютеров серии Cray, а также Red Hat Enterprise Linux для обработки ввода-вывода.

В тесте Linpack с использованием 1 572 864 ядер Sequoia показала скорость в 16,32 Пфлопс. Суперкомпьютер Ливерморской лаборатории способен обрабатывать 16,32 квадриллиона операций с плавающей точкой в секунду. Sequoia также поставила рекорд по энергосбережению: потребляемая ею мощность составляет всего 7,9 мегаватт.

Sequoia потеснила с первого места лидера октября 2011 года, K Сomputer от японской компании Fujitsu. Суперкомпьютер, установленный в институте RIKEN Advanced Institute for Computational Science в г. Кобе, Япония, в 2011 г. стал первой системой, перешагнувшей рубеж быстродействия в 10 Пфлопс. В качестве ОС японский вычислительный гигант использует адаптированную сборку Linux.

По статистике Топ-500, адаптированные сборки Linux применяются на подавляющем большинстве суперкомпьютеров (414 систем). Определённую популярность имеют и коммерческие дистрибутивы открытой ОС: SUSE Linux Enterprise Server 9 применяется на 11 системах, SUSE Linux Enterprise Server 10 — на 8, а Cray Linux — на 7.

Среди других ОС позиции распределились следующим образом: 25 суперкомпьютеров из 500 используют ОС семейства Unix, среди которых наибольшую популярность имеет AIX — закрытая Unix-подобная ОС, разработанная IBM (22 системы). Наименее популярными оказались BSD и OpenSolaris, каждая из которых применяется только на одной системе.

Ситуация, таким образом, обернулась в диаметрально противоположную сторону по сравнению со статистикой десятилетней давности, когда 99,4 % суперкомпьютеров работали под управлением Unix. Linux, начавший своё восхождение к вершине Tjg-500 в 2003 г., когда под ним работали 184 суперкомпьютера из 500, в настоящее время прочно занял положение наиболее предпочтительной ОС для высокопроизводительных компьютерных систем.

Что касается Windows, то продукту Microsoft отдали предпочтение инженеры всего 2 систем, что является шагом назад по сравнению даже с прошлым годом, когда Windows-суперкомпьютеров было 4. Под управлением Windows HPC 2008 работает китайский суперкомпьютер Magic Cube, занявший 94-е место по производительности. Второй компьютер под этой ОС — австралийский CSIRO GPU Cluster — расположился в Tоп-500 под номером 156.

Читать еще:  Перенос Системы на SSD Диск

Небольшие по размеру фирмы с одной стороны, нуждаются в качественном мониторинге своей инфраструктуры (особенно в свете повсеместной виртуализации ), с другой стороны, для них финансово тяжело закупать новое оборудование. Также часто встречаются проблемы с серверной/аппаратной: зачастую стоит 1-3 tower-сервера рядом с пользовательскими рабочими местами или в небольшой нише/чулане.

Проще использовать уже готовую сборку(дистрибутив), который достаточно залить на microSD-карту и вставить в распространенный одноплатный компьютер (beaglebone, семейства raspberry pi и orange pi, asus tinker board). Кроме того, такое оборудование стоит недорого и может быть установлено в любом месте.

braindebug 28 ноября 2019 в 23:53

Стандарт UNIX

Стандарт действительно появился, но не основанный ни на чем AT & T. Сегодня торговая марка UNIX принадлежит The Open Group . То же самое можно сказать и о Единой спецификации UNIX. Любая операционная система, использующая UNIX, должна была быть сертифицирована The Open Group и соответствовать Единой спецификации UNIX.

Как проиллюстрировано The Open Group:

Для тех, кто заинтересован в посещении ссылки на изображение, вот она.

POSIX, как упоминалось ранее, представляет собой семейство стандартов, определенных Институтом инженеров по электротехнике и электронике (IEEE). Они служат для уточнения и унификации интерфейсов прикладного программирования, предоставляемых UNIX-подобными операционными системами.

Это делает это так, когда вы пишете программу, основанную на стандартах POSIX, переносимость и функциональность упрощаются среди большого семейства производных UNIX, таких как Linux и Mac OS. Использование API или кода, не стандартизированного как часть POSIX для UNIX-подобных операционных систем, усложнит переносимость на другие UNIX-подобные системы.

Что такое программы, системы и подсистемы UNIX?

Команды UNIX выполняются в интерфейсе командной строки, предоставляемом оболочкой. Эта оболочка является программой, которая будет читать введенные команды и либо выполнять их самостоятельно, либо передавать их ядру.

«Ядро ядра» — это то, вокруг чего построены системы UNIX, которые управляют системой и другими процессами. Это ядро ​​операционной системы UNIX, которое напрямую взаимодействует с базовым оборудованием для предоставления набора стандартных сервисов. Подсистемы ядра могут включать управление процессами, управление файлами, управление памятью, управление сетью и другие.

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

Когда дело доходит до функций UNIX, вот список нескольких выдающихся:

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

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

Я создал для вас небольшой справочник команд unix, которые обязан знать каждый разработчик, администратор, или обычный пользователь *unix-овых систем. Этот справочник покрывает все аспекты реального пользования операционной системой, и содержит: unix команды для копирования, создания, удаления и фильтра файлов.

Subscribe to Блог php программиста: статьи по PHP, JavaScript, MySql

Get the latest posts delivered right to your inbox

Ссылка на основную публикацию
Статьи c упоминанием слов:
Adblock
detector