Unix-архитектура
Эта статья нуждается в дополнительных цитатах для проверки . ( июль 2008 г. ) |
Архитектура Unix , компьютерной операционной системы — это архитектура воплощающая философию Unix . Он может соответствовать таким стандартам, как Единая спецификация UNIX (SUS) или аналогичный POSIX IEEE стандарт . Ни один опубликованный стандарт не описывает все компьютерные операционные системы с архитектурой Unix — отчасти это является наследием Unix-войн .
Описание
[ редактировать ]Существует множество систем, схожих по своей архитектуре с Unix . Среди них следует выделить дистрибутивы Linux . Различия между Unix и Unix-подобными системами были предметом ожесточенных юридических баталий , а владельцы бренда UNIX, The Open Group , возражают против «Unix-подобных» и подобных терминов.
О различиях между архитектурами UNIX под брендом SUS и другими подобными архитектурами см. Unix-like .
Ядро
[ редактировать ]Ядро Unix — ядро или ключевые компоненты операционной системы — состоит из множества подсистем ядра, таких как управление процессами , планирование , управление файлами, управление устройствами, управление сетью , управление памятью и обработка прерываний от аппаратных устройств.
Каждая из подсистем имеет некоторые особенности:
- Параллелизм . Поскольку Unix является многопроцессорной ОС, многие процессы выполняются одновременно для повышения производительности системы. [ оспаривается – обсуждаем ]
- Виртуальная память (ВМ). Подсистема управления памятью реализует концепцию виртуальной памяти, и пользователям не нужно беспокоиться о размере исполняемой программы и объеме оперативной памяти. [ оспаривается – обсуждаем ]
- Пейджинг : это метод минимизации внутренней и внешней фрагментации физической памяти.
- Виртуальная файловая система (VFS): VFS — это файловая система, используемая, чтобы помочь пользователю скрыть различные сложности файловых систем. Пользователь может использовать одни и те же стандартные вызовы, связанные с файловой системой, для доступа к различным файловым системам.
Ядро предоставляет эти и другие базовые службы: обработку прерываний и ловушек, разделение пользовательского и системного пространства, системные вызовы , планирование , обработку таймеров и часов, управление файловыми дескрипторами .
Функции
[ редактировать ]Некоторые ключевые особенности концепции архитектуры Unix:
- Системы Unix используют централизованное ядро операционной системы , которое управляет деятельностью системы и процессов.
- Все программное обеспечение, не являющееся ядром, организовано в отдельные процессы, управляемые ядром.
- Системы Unix обладают вытесняющей многозадачностью: несколько процессов могут выполняться одновременно или в течение небольших промежутков времени и почти одновременно, и любой процесс может быть прерван и выведен из выполнения ядром. Это известно как управление потоками .
- Файлы хранятся на диске в иерархической файловой системе с единым верхним расположением во всей системе (корневой каталог или «/»), а под ним находятся как файлы, так и каталоги, подкаталоги, подподкаталоги и т. д.
- За некоторыми исключениями, устройства и некоторые типы связи между процессами управляются и отображаются как файлы или псевдофайлы в иерархии файловой системы. Это известно как все является файлом . Однако Линус Торвальдс утверждает, что это неточно и его лучше перефразировать как «все представляет собой поток байтов». [1]
Операционная система UNIX поддерживает следующие функции и возможности:
- Многозадачность и многопользовательский режим
- Интерфейс программирования
- Использование файлов как абстракций устройств и других объектов.
- Встроенная сетевая поддержка (TCP/IP входит в стандартную комплектацию)
- Постоянные процессы системных служб, называемые «демонами» и управляемые init или inet.
Критика
[ редактировать ]В справочнике UNIX-HATERS некоторые из этих конструктивных особенностей рассматриваются как недостатки с точки зрения пользователя. Однако, хотя некоторая информация весьма устарела и не может быть применена к современным Unix-системам или Unix-подобным операционным системам, таким как Linux , Эрик С. Рэймонд обнаружил, что некоторые проблемы все еще сохраняются, а другие уже решены. Рэймонд заключает, что не все концепции, лежащие в основе Unix, можно считать нефункциональными, хотя цель книги, возможно, заключалась в том, чтобы изобразить Unix как неполноценную систему, не поощряя обсуждения с разработчиками для фактического устранения проблем. [2]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Торвальдс, Линус. «signalfd v2 — ядро signalfd» .
- ^ Рэймонд, Эрик С. «Справочник ненавистника Unix, пересмотренный вариант» .