Операционная система

Материал из Циклопедии
Перейти к навигации Перейти к поиску
Операционные системы. Основы программирования // Winderton (19 мар. 2017 г.) [13:43]
02 — Что такое операционная система? / Компьютерная азбука // IT-KAMASUTRA (24 авг. 2023 г.) [14:21]
02 — Что такое операционная система? / Компьютерная азбука // IT-KAMASUTRA (24 авг. 2023 г.) [14:21]

Операционная система, ОС (англ. operating system, OS) — программное обеспечение, которое отвечает за контроль и управление компьютерным оборудованием и основными системными операциями.

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

Для аппаратных функций, таких как ввод и вывод и выделение памяти, операционная система действует как посредник между программами и компьютерным оборудованием[1][2], хотя код приложения обычно выполняется непосредственно аппаратным обеспечением и часто выполняет системные вызовы функции ОС или прерывается ею. Операционные системы можно найти на многих устройствах, содержащих компьютер — от сотовых телефонов и игровых консолей до веб-серверов и суперкомпьютеров.

Примеры современных операционных систем[править]

Microsoft Windows[править]

Microsoft Windows — это семейство частных операционных систем. Это самая распространенная операционная система для персональных компьютеров. Она появилась в 1981 году как дополнение к операционной системе MS-DOS для IBM-совместимых персональных компьютеров. Впервые опубликована в 1985 году.

Начиная с Windows XP, все современные версии основаны на ядре Windows NT.

Windows также используется на серверах, поддерживающих такие приложения, как веб-серверы и серверы баз данных.

Unix и Unix-подобные операционные системы[править]

Кен Томпсон написал язык программирования B, в значительной степени основанный на BCPL, который он использовал для написания Unix, основываясь на своем опыте работы в проекте MULTICS. Он был заменен на C, и со временем Unix превратился в большое, сложное семейство взаимосвязанных операционных систем, которые повлияли на все современные операционные системы.

Название «UNIX» является товарным знаком Open Group. Термин «Unix-подобные» используется для обозначения длинного списка операционных систем, которые похожи на исходную Unix, но не лицензированы Open Group.

Некоторые варианты Unix, такие как HP-UX от Hewlett-Packard и AIX от IBM, предназначены для использования только на оборудовании производителя. Другие, такие как Solaris от Sun Microsystems, могут работать на различных аппаратных платформах, включая серверы x86 и ПК. Текущая Mac OS X от Apple имеет гибридное ядро, основанное на варианте BSD, производном от NeXTSTEP, Mach и FreeBSD.

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

BSD и потомки[править]

Подмножество семейства Unix — это семейство Berkeley Software Distribution, которое включает FreeBSD, NetBSD и OpenBSD. Эти операционные системы чаще всего находятся на веб-серверах, хотя они также могут работать как операционная система персонального компьютера.

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

BSD имеет свои корни в Unix. В 1974 году Калифорнийский университет в Беркли установил свои первые системы Unix. Со временем студенты и преподаватели университета начали добавлять новые программы, такие как текстовые редакторы, чтобы облегчить свою работу. Когда в 1978 году Университет Беркли получил новый компьютер VAX с установленной Unix, студенты изменили Unix еще больше, чтобы воспользоваться преимуществами аппаратных возможностей компьютера. Агентство перспективных оборонных исследований (DARPA) Министерства обороны США выразило заинтересованность и решило профинансировать проект. Многие школы, корпорации и правительственные организации обратили свое внимание на версию Berxley для Unix вместо той, что официально распространялась AT&T. Стив Джобс после ухода из Apple в 1985 году основал NeXT Inc, компанию, которая производила компьютеры под управлением модифицированной BSD под названием NeXTSTEP. Одна из этих машин была использована Тимом Бернерсом-Ли в качестве первого веб-сервера для создания Всемирной паутины.

Mac OS X[править]

Mac OS X — линейка графических операционных систем, частично находящихся в частной собственности, которые разрабатываются, продвигаются и продаются Apple. Последняя версия этой ОС установлена ​​на всех компьютерах Macintosh. Mac OS X является преемником оригинальной Mac OS, которая была основной операционной системой Apple с 1984 года. В отличие от своего предшественника, Mac OS X — это UNIX, построенная на технологии, разработанной NeXT во второй половине 1980-х годов и до начала 1997 года, когда компания была приобретена Apple.

Операционная система была впервые выпущена в 1999 году как Mac OS X Server 1.0, а затем в марте 2001 года была выпущена версия для ПК (Mac OS X 10.0).

Plan 9[править]

В свое время Кен Томпсон, Деннис Ричи и Дуглас Макилрой из Bell Labs разработали язык программирования C для создания операционной системы Unix. Последующие разработки программистов Bell Labs включают Plan 9 и Inferno, операционные системы для современных распределенных вычислительных сред. Plan 9 теперь выпускается под общественной лицензией Lucent. Inferno продавалась компанией Vita Nuova Holdings и выпускалась под лицензиями GPL и MIT.

Linux и GNU[править]

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

Проект GNU — это массовое сотрудничество программистов, стремящихся создать полностью бесплатную и открытую операционную систему, похожую на Unix, но с полностью оригинальным исходным кодом. Проект был начат в 1983 году Ричардом Столлманом и отвечает за многие части большинства вариантов Linux. По этой причине Linux часто называют GNU/Linux.

Тысячи программ практически для любой операционной системы распространяются в соответствии с условиями Стандартной общественной лицензии GNU, лицензии, созданной Ричардом Столменом для проекта GNU.

Google Chrome OS

Chrome OS — операционная система, созданная Google на основе ядра Linux. Целевая аудитория Chrome — это пользователи компьютеров, которые большую часть времени проводят в Интернете. Технически это единственный веб-браузер, использующий интернет-приложения для выполнения таких задач, как обработка текста и просмотр мультимедиа.

Другие[править]

Старые операционные системы, все еще используемые на нишевых рынках, включают OS/2 от IBM и Microsoft; Mac OS, предшественник современной Mac OS X; BeOS; XTS-300. Некоторые из них, в первую очередь RISC OS, MorphOS и AmigaOS 4, продолжают развиваться как узкие платформы для сообществ энтузиастов и специализированных приложений. OpenVMS, первоначально разработанная DEC, все еще находится в стадии активной разработки в Hewlett-Packard.

Ряд других операционных систем используется почти исключительно в академических кругах, при обучении операционным системам и для исследования концепций разработки операционных систем. Типичным примером системы, выполняющей обе роли, является MINIX, в то время как, например, Singularity используется исключительно для исследований.

Компоненты[править]

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

Пользовательский интерфейс[править]

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

Двумя наиболее распространенными формами пользовательского интерфейса исторически были интерфейс командной строки, где компьютерные команды необходимо вводить построчно, и графический пользовательский интерфейс, где есть визуальная среда (чаще всего из окон, кнопок и значков).

Ядро[править]

 → Ядро операционной системы

Ядро связывает прикладное программное обеспечение и компьютерное оборудование.

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

Сеть[править]

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

Функции[править]

Выполнение программ

Операционная система — это интерфейс между пользователем и оборудованием. Таким образом, пользователь взаимодействует с оборудованием, абстрагируясь от функций управления оборудованием. Выполнение программ — один из вариантов этого взаимодействия. Во время выполнения ядро ​​выполняет программный код, выделяя ему необходимый объем оперативной памяти и других ресурсов и выделяя приоритет выполнения (в многозадачных системах). В процессе работы программа использует доступные ей интерфейсы для взаимодействия с пользователем и системой.

См. также[править]

Источники[править]

  1. Stallings Operating Systems, Internals and Design Principles. — Pearson: Prentice Hall, 2005.
  2. Dhotre I.A. Operating Systems.. — Technical Publications, 2009.
 
Ядро

Гибридное Микро Модульное Монолитное Нано Экзо Драйвер Пространство пользователя Область пользователя

Управление
процессами

Режимы (супервизора реальный защищённый) • Прерывание Кольца защиты Переключение контекста Многозадачность (вытесняющая кооперативная мультипрограммирование) • Процесс Управление процессом Планировщик задач Многопоточность

Управление
памятью

Защита памяти Сегментная адресация памяти Страничная память Менеджер виртуальной памяти Ошибка сегментации Общая ошибка защиты

Прочее

Загрузчик ОСAPIVFSКомпьютерная сетьGUIГолосовой интерфейсСлой аппаратных абстракций (HAL)

 
Для серверов
или рабочих станций
Unix-подобные

AIX • BSD • GNU • HP-UX • Linux • OS X • Minix • Plan 9 • QNX • SCO OpenServer • Solaris • Tru64

Не Unix-подобные

A2 • AROS • FreeDOS • Haiku • KolibriOS • OS/2 • osFree • ReactOS • Syllable Desktop • Windows

Встраиваемые

BlackBerry OS • iOS • PSP OS • Symbian OS • Windows (Embedded, Mobile, Phone)

Другие

Multics