Архитектура Unix - Unix architecture

А Unix архитектура это компьютер Операционная система Архитектура системы который воплощает Философия Unix. Он может соответствовать таким стандартам, как Единая спецификация UNIX (SUS) или аналогичный POSIX IEEE стандарт. Ни один опубликованный стандарт не описывает все компьютерные операционные системы с архитектурой Unix - отчасти это наследие Войны Unix.

Описание

Есть много систем, которые Unix-подобный в их архитектуре. Среди них выделяются GNU / Linux раздачи. Различия между Unix и Unix-подобными системами были предметом жарких юридические баталии, и владельцы бренда UNIX, Открытая группа, возразите против «Unix-подобных» и аналогичных условий.

О различиях между архитектурами UNIX под брендом SUS и другими подобными архитектурами см. Unix-подобный.

Ядро

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

Каждая из подсистем имеет некоторые особенности:

  • Параллелизм: Поскольку Unix - это многопроцессорная ОС, многие процессы выполняются одновременно, чтобы улучшить производительность системы.[оспаривается ]
  • Виртуальная память (ВМ): Подсистема управления памятью реализует концепцию виртуальной памяти, и пользователям не нужно беспокоиться о размере исполняемой программы и размере ОЗУ.[оспаривается ]
  • Пейджинг: Это метод минимизации внутренней и внешней фрагментации физической памяти.
  • Виртуальная файловая система (VFS): VFS - это файловая система, которая помогает пользователю скрыть различные сложности файловых систем. Пользователь может использовать одни и те же стандартные вызовы, связанные с файловой системой, для доступа к разным файловым системам.

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

Функции

Некоторые ключевые особенности концепции архитектуры Unix:

  • Системы Unix используют централизованную операционную систему ядро который управляет системой и процессами.
  • Все программное обеспечение, не являющееся ядром, организовано в отдельные процессы, управляемые ядром.
  • Системы Unix имеют приоритетную многозадачность: несколько процессов могут выполняться одновременно или в течение небольших отрезков времени и почти одновременно, и любой процесс может быть прерван и выведен из исполнения ядром. Это известно как нить управление.
  • Файлы хранятся на диске в иерархическом файловая система, с одним верхним расположением по всей системе (корень или "/"), под которым находятся файлы и каталоги, подкаталоги, подкаталоги и т. д.
  • За некоторыми исключениями, устройства и некоторые типы связи между процессами управляются и отображаются как файлы или псевдо-файлы в иерархии файловой системы. Это известно как все это файл. Однако Линус Торвальдс заявляет, что это неточно и может быть лучше перефразировано как «все является потоком байтов».[1]

Операционная система UNIX поддерживает следующие функции и возможности:

  • Многозадачность и многопользовательская
  • Интерфейс программирования
  • Использование файлов как абстракций устройств и других объектов
  • Встроенная сеть (TCP / IP в стандартной комплектации)
  • Постоянные системные сервисные процессы, называемые «демонами» и управляемые init или inet.

Критика

Справочник Unix-Haters описывает некоторые из этих конструктивных особенностей как отказы с точки зрения пользователя. Однако, хотя некоторая информация довольно устарела и не может быть применена к современным Unix или Unix-подобным операционным системам, таким как Linux, Эрик С. Раймонд обнаружил, что некоторые проблемы все еще преобладают, в то время как другие были решены. Рэймонд заключает, что не все концепции, лежащие в основе Unix, можно считать нефункциональными, даже несмотря на то, что целью книги, возможно, было изобразить Unix как неполноценный, не поощряя обсуждения с разработчиками для фактического устранения проблем.[2]

Смотрите также

Рекомендации

  1. ^ Торвальдс, Линус. "signalfd v2 - ядро ​​signalfd".
  2. ^ Раймонд, Эрик С. "Справочник ненавистника Unix, пересмотренный".