Введение в администрирование UNIX/Введение в Юникс: различия между версиями
Содержимое удалено Содержимое добавлено
Onix GCI (обсуждение | вклад) →Управление процессами: 2 картинки. |
Onix GCI (обсуждение | вклад) →Основные концепции операционных систем: оформление. |
||
Строка 67:
{{-}}
[[Файл:Small-lect1-06.png|left|300px|Презентация 1-06: виртуальная машина]]
Чтобы успешно решать свои задачи, ныне пользователь или программист может обойтись без досконального знания аппаратного устройства компьютера и может даже не знать системы команд процессора (для программистов существует множество библитек и высокоуровневых фукций).
Строка 79:
В результате реальная машина, способная выполнять элементарные действия, определенные её набором команд, превращается в виртуальную машину, выполняющую набор более мощных функций. Виртуальная машина также управляется командами, но более высокого уровня: создание и удаление файлов, установка сетевых соединений и т.п.. В свою очередь, эти команды также могут быть объединены в виртуальную машину с более высоким уровнем абстракции, например графический пользовательский интерфейс, который оперирует объектами.{{-}}
[[Файл:Small-lect1-07.png|right|300px|Презентация 1-07: управлнение ресурсами]]
Операционная система не только предоставляет пользователям и программистам удобный интерфейс к аппаратным средствам компьютера, но и является механизмом, распределяющим ресурсы компьютера.
Строка 104:
[[Файл:Small-lect1-09.png|right|300px|Презентация 1-09: монолитное ядро]]
Большинство операционных систем использует монолитное ядро, которое компонуется как одна программа, работающая в привилегированном режиме и использующая быстрые переходы с одной процедуры на другую, не требующие переключения из привилегированного режима в пользовательский и наоборот (хоть этот процесс и происходит с аппаратной поддержкой, он занимает значительное время). Такое ядро делится на основные компоненты и модули, реализующие дополнительную функциональность – например, работу со специфическими внешними устройствами и файловыми системами (см. Рисунок 1.5, «Структура монолитного ядра операционной системы»). Переход из пользовательского режима в режим ядра осуществляется через системные вызовы – интерфейс ядра операционноый системы.
Строка 113:
[[Файл:Small-lect1-10.png|left|300px|Презентация 1-10: микроядро]]
Альтернативой является построение операционной системы на базе микроядра, работающего также в привилегированном режиме и выполняющего только минимум функций по управлению аппаратурой. Тогда как функции операционной системы более высокого уровня выполняют специализированные компоненты – серверы, работающие в пользовательском режиме. Управление и обмен данными при этом осуществляется через передачу сообщений, доставка которых является одной из основных функций микроядра (см. Рисунок 1.6, «Структура операционной системы с микроядром»).
Строка 129:
Рассмотрим основные этапы развития операционных систем от момента их появления до текущего состояния.
С середины 50-х годов началось бурное развитие вычислительной техники, связанное с появлением полупроводниковых элементов. Вместе с этим заметный прогресс наблюдался в автоматизации программирования и организации вычислений, в эти годы появились первые алгоритмические языки (Алгол, Фортран, Кобол). Для организации эффективного совместного использования трансляторов, библиотечных программ и загрузчиков в штат многих вычислительных комплексов были введены операторы – но как быстро они не работали, они не могли состязаться в производительности с работой компьютера. Для решения этой проблемы были разработаны системы пакетной обработки, которые автоматизировали последовательность действий оператора. Оператор составлял пакет заданий, которые в дальнейшем без его участия запускались на выполнение специальной программой – монитором.
В 1965–1975 годах появилось следующее поколение компьютеров: стала возможна реализация сложных компьютерных архитектур (например, IBM/360) и практически всех основных механизмов, присущих современным операционным системам: многозадачность, поддержка многотерминального многопользовательского режима работы, виртуальная память, файловые системы, разганичение доступа и сетевая работа. Но такие системы всё ещё были очень редки и чрезвычайно дороги.
Строка 139:
Одним из главных достижений стал переход к мультипрограммированию – способ организации вычислительного процесса, при котором в памяти копьютера одновременно находится несколько программ, попеременно выполняющихся на одном процессоре. Для того, чтобы у пользователя оставалось ощущение непосредственного взаимодействия с компьютером, был разработан такой вариант мультипрограммирования, как системы разделения времени. Каждый пользователь работает за своим терминалом (подробнее терминалы рассматриваются в разделе «Терминал»), тогда как все процессы работают псевдопараллельно (как было показано выше, в разделе «Обзор компьютерных систем»).
В середине 1970-х годов наряду с мэйнфреймами получили широкое распространение мини-компьютеры (слово «мини-» сейчас может показаться смешным, такие компьютеры занимали объём в несколько шкафов), такие как PDP-11. Архитектура таких компьютеров была заметно упрощена по сравнению с мэйнфреймами (что значительно снижало стоимость с миллионов до сотен тысяч долларов), что сказалось на операционных системах для этих компьютеров – они были лишены части функций, например многопользовательского режима работы.
Строка 147:
Многие появившиеся впоследствии операционные системы позаимствовали некоторые ключевые идеи UNIX: переносимость на основе языка C, иерархическую файловую систему, интерфейс командной строки.
В начале 1980-х годов в рамках экспериментальной сети ARPANET впервые появился рабочий вариант стека протоколов TCP/IP. Переход на TCP/IP был ускорен ещё и тем, что его первая реализация была создана в рамках BSD UNIX (Berkley Software Distribution – академической версии UNIX, созданной в университете Беркли). Новая глобальная сеть, получившая название Интернет, стала средой для развития информационных технологий, создания всевозможных сообществ разработчиков и развития открытых систем.
Строка 153:
В этот период появляется множество коммерческих версий операционной системы UNIX: SunOS (в дальнейшем, Solaris), HP-UX, Irix, AIX и многие другие. Разнообразие версий породило проблему их несовместимости, которую периодически пытались решать различные организации. В результате были приняты стандарты POSIX (Portable Operation System Interface based on uniX – интерфейс для переносимых операционных систем, основанных на UNIX), включающие формальное описание программного интерфейса операционной системы, описание командной оболочки, безопасности и т.п..
Ещё одно знаменательное событие начала 1980-х годов – появление персональных компьютеров. С точки зрения архитектуры они мало отличались от мини-компьютеров и рабочих станций, но стоимость их была значительно ниже. Это позволило персональным компьютерам распространиться повсеместно, и это в значительной степени изменило современные информационные технологии.
Строка 161:
В первую очередь благодаря низкой стоимости аппаратного и программного обеспечения, персональные компьютеры начали вытеснять прежде распространенные рабочие станции и мэйнфреймы. На домашних и офисных компьютерах повсеместно распространились операционные системы компании Microsoft, тогда как нишу серверов заняли наследники UNIX: коммерческие версии UNIX и открытые, свободно распространяемые Linux и операционные системы из семейства BSD, созданные и поддерживаемыми энтузиастами по всему миру.
В начале 21-го века широкое распространение получили встраиваемые и мобильные устройства. Благодаря развитию вычислительных систем, такие устройства, как мобильные телефоны или домашние бытовые приборы, обрели возможности, сравнимые с персональными компьютерами. В настоящее время в этой области существует множество операционных систем, среди которых всё большую роль начинают играть открытые операционные системы, наследующие архитектуру и принципы работы UNIX.
Строка 170:
Операционные системы являются неотъемлимой частью информационно-вычислительных комплексов, которые выполняют определённые функции и могут быть по этому признаку разделены на некоторые классы.
:Основной особенностью таких систем является сторого регламентированное время отклика на внешние события. :Другим важным параметром является одновременная обработка – даже если одновременно происходит несколько событий, реакция системы на них не должна запаздывать. Компьютеры для управления самолетами, ядерными реакторами и подобными сложными системами работают под управлением часто специализированных операционных систем реального времени.
Строка 189 ⟶ 190 :
:Операционные системы мягкого времени могут использоваться в мобильных и коммуникационных системах – там, где цена опаздания не так велика. В настоящее время многие многозадачные операционные системы разделения времени модифицируются для того, чтобы соответствовать требованием мягкого реального времени. Среди примеров можно выделить варианты Windows NT и специфические версии ядра Linux.
==== Встраиваемые системы ====
==== Операционные системы для супер-компьютеров ====
==== Операционные системы для серверов ====
:Примерами таких систем могут служить: банковские системы, веб-серверы и серверы баз данных, файловые серверы масштаба предприятия, многопользовательские терминальные серверы и т.п. Традиционно этот класс систем обслуживается коммерческими операционными системами – различными версиями UNIX, операционными системами от компаний IBM, Nowell, а затем и Microsoft. Сейчас все большую популярность в этом классе систем завоёвывают открытые и свободные операционные системы, базирующиеся на UNIX.
:Современные персональные компьютеры обладают высокой производительностью и богатыми мультимедийными возможностями. Для операционных систем этого класса важны удобный пользовательский интерфейс и поддержка широкого набора устройств для персональных компьютеров. Самыми распространёнными операционными системами в этом классе являются продукты компании Micrososft, также на персональных компьютерах Apple используется операционная система MacOS (с версии 10 она также основывается на UNIX). ==== Исследовательские операционные системы ====
=== Резюме ===
|