Какие продукты являются операционными системами

Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 24 марта 2020; проверки требуют 28 правок.

Это список известных операционных систем. Операционные системы могут быть классифицированы по базовой технологии (UNIX-подобные, пост-UNIX/потомки UΝΙΧ), типу лицензии (проприетарная или открытая), развивается ли в настоящее время (устаревшие или современные), по назначению (универсальные, ОС встроенных систем, ОС PDA, ОС реального времени, для рабочих станций или серверов), а также по множеству других признаков.

Проприетарные[править | править код]

Ранние[править | править код]

  • CTSS (The Compatible TimeShare System, разработанная в MIT — Массачусетском технологическом институте).
  • Incompatible Timesharing System (The Incompatible Timeshare System, разработанная в MIT для серверов DEC 10 / 20).
  • THE (разработана Эдсгером Дейкстрой и другими).
  • MULTICS (проект Bell Labs, GE, и MIT).
  • Master programme, разработанная LEO computer, Leo III в 1962 году.
  • Business Operating System (BOS) — кросс-платформенная, основанная на командной строке.
  • Sinclair Micro и QX, и подобные.
  • TRS-DOS, ROM OS (улучшенный интерпретатор Microsoft BASIC с поддержкой файловой системы).
  • FLEX от Technical Systems Consultants для микрокомпьютеров, построенных на Motorola 6800 и 6809: SWTPC, Tano, Smoke Signal Broadcasting, Gimix и других.
  • HDOS — Heath DOS, для микрокомпьютеров.
  • Cray Operating System для суперкомпьютеров Cray Research.

Acorn[править | править код]

  • Arthur
  • ARX
  • MOS (на BBC Micro и BBC Master)
  • RISC OS
  • RISCiX

Операционные системы, разработанные в СССР[править | править код]

  • Демос (операционная система)
  • ОС Мир
  • ОС ЕС
  • ОС ФЕЛИКС
  • ОС Немига
  • ОС ДВК
  • ФОБОС (операционная система)
  • РАФОС (операционная система)

Atari ST[править | править код]

  • TOS
  • MultiTOS
  • MiNT
  • EmuTOS

Apple[править | править код]

  • A/UX
  • Apple Darwin
  • Apple DOS
  • GS/OS
  • Mac OS
  • Mac OS 8
  • Mac OS 9
  • Mac OS X
    • 10.0 Cheetah
    • 10.1 Puma
    • 10.2 Jaguar
    • 10.3 Panther
    • 10.4 Tiger
    • 10.5 Leopard
    • 10.6 Snow Leopard
  • OS X
    • 10.7 Lion
    • 10.8 Mountain Lion
    • 10.9 Mavericks
    • 10.10 Yosemite
    • 10.11 El Capitan
  • macOS
    • 10.12 Sierra
    • 10.13 High Sierra
    • 10.14 Mojave
    • 10.15 Catalina
  • iOS
  • ProDOS
  • SOS

Корпорация Be[править | править код]

  • BeOS
  • BeIA
  • Zeta

Control Data Corporation[править | править код]

  • CDC KRONOS
  • CDC NOS
  • CDC SCOPE

DEC/Compaq/HP[править | править код]

  • AiS
  • OS-8
  • ITS (для PDP-6 и PDP-10)
  • TOPS-10 (для PDP-10)
  • TOPS-20 (для PDP-10)
  • WAITS
  • TENEX (от BBN)
  • RSTS/E (работала на нескольких типах машин, в основном PDP-11)
  • RSX-11 (многопользовательская многозадачная ОС для PDP-11)
  • RT-11 (однопользовательская для PDP-11)
  • RTE-II (система реального времени для HP-2000/2100 и ДОС РВ для М-6000/7000, СМ-1)
  • RTE-IV (система реального времени для СМ-2M, наследница RTE-II)
  • RTE-6 (система реального времени для СОУ-6, наследница RTE-IV)
  • VMS (от DEC для серии компьютеров VAX, позднее переименована в OpenVMS)
  • HP-UX от HP
  • NonStop OS[en] — разработана компанией Tandem Computers, впоследствии приобретённой фирмой Compaq
  • OSF/1 (от DEC; дважды переименована, сначала в Digital UNIX, затем в Tru64 UNIX)

IBM[править | править код]

  • IBSYS
  • OS/2
    • OS/2 v1.0 — выпущена в декабре 1987 года. Одна из первых операционных систем с поддержкой многозадачного режима процессора 80286.
    • OS/2 v1.10SE — выпущена в октябре 1988 года. SE = Standard Edition.
    • OS/2 v1.10EE — 1989 год.
    • OS/2 v1.20 — 1989 год. Редакции SE и EE. Улучшенный Presentation Manager.
    • OS/2 v1.30 — 1991 год. Также редакции SE и EE.
    • OS/2 v2.00 — весна 1992 года. Первая версия OS/2, которой для работы необходим процессор 80386 с его защищённым режимом.
    • OS/2 v2.10 — май 1993 года.
    • OS/2 v2.11 — конец 1993 года. Не содержит подсистемы Win-OS/2 и устанавливается поверх Windows 3.1. Стоит дешевле других версий OS/2.
    • OS/2 v3.0 «Warp» и «Warp Connect» — октябрь 1994 года.
    • OS/2 v4.0 «Merlin» — сентябрь 1996 года.
    • OS/2 Warp 4.5 Server for E-business «Aurora» — апрель 1999 года. Дальнейшие обновления получили имена CP1 и CP2 (Convenience Package) и базировались на Aurora.
    • eComStation
  • AIX — Unix-подобная ОС
    • AIX/RT
    • AIX/6000
    • AIX PC
    • AIX/ESA
    • AIX/370
    • AIX 5L
  • DYNIX — Unix-подобная ОС, разработана компанией Sequent Computer Systems, которая позже была поглощена IBM
  • OS/400
  • VM
  • DOS/360
  • DOS/VSE
  • OS/360 — первая ОС для архитектуры System 360
  • MFT — позднее переименована в OS/VS1
  • MVT — позднее переименована в OS/VS2
  • SVS
  • MVS — разновидность MVT
  • Transaction Processing Facility
  • ALCS
  • OS/390
    • z/OS — следующая версия после IBM OS/390
  • z/VM — разновидность VM
  • z/VSE — разновидность VSE
  • Basic Operating System — первая ОС для архитектуры System 360
  • PC DOS — OEM-версия MS-DOS, впоследствии дорабатывалась самостоятельно.
  • ОС ЕС, СВМ, МВС, PTS-DOS,ДОС ЕС, МОС ЕС, One Track System, АДОС, Альфа-ДОС, МДОС 1810, МДОС ПОИСК, Нейрон-ДОС1, Янус, С4ДОС, — IBM-совместимые операционные системы (клоны) советского производства

ICT/ICL[править | править код]

  • GEORGE
  • VME
  • DME
  • TME

Microsoft[править | править код]

  • MSX-DOS
  • MS-DOS
  • Xenix — лицензированная версия Unix; продана SCO в 1990-х
  • Microsoft Windows
    • Windows 1.0
    • Windows 3.0 — первая версия, имевшая коммерческий успех
    • Windows 3.1 — выпущена 18 марта 1992 года
    • Windows for Workgroups 3.11
  • Windows 9x — версии Windows 4.x, новое семейство, сохранявшее преемственность с Windows 3.x
    • Windows 95 (версия Windows 4.00.950)
    • Windows 98 (версия Windows 4.10.1998)
    • Windows Me (версия Windows 4.90.3000)
  • Windows NT — ОС, разрабатываемая в Microsoft с 1988 года командой во главе с Дэвидом Катлером под рабочим названием OS/2 Version 3.
    • Windows NT 3.1 — первая версия Windows NT, выпущена 27 июля 1993
    • Windows NT 3.5 (варианты поставки: Workstation — для рабочих станций и Server — для серверов)
      • Windows NT 3.51 — отлаженная версия Windows NT 3.5
    • Windows NT 4.0 (варианты поставки: Workstation — для рабочих станций и Server — для серверов)
    • Windows 2000 (версия Windows NT 5.0, варианты поставки: Professional — для рабочих станций, Server, Advanced Server и Datacenter Server — для серверов)
    • Windows XP (версия Windows NT 5.1 — внутренне основана на ядре Windows 2000); варианты поставки: Home, Professional, Tablet PC Edition, Media Center Edition, Embedded
      • Windows Server 2003 (версия Windows NT 5.2) — вариант Windows XP для работы на серверах
      • Windows Compute Cluster Server 2003 — вариант Windows XP для работы в кластерных системах
      • Windows XP Embedded — вариант Windows XP для встраиваемых систем
    • Windows Vista (версия Windows NT 6.0)
      • Windows Server 2008 (версия Windows NT 6.0) — вариант Windows Vista для работы на серверах
      • Windows HPC Server 2008 — замена Windows Compute Cluster Server 2003 для кластерных систем
      • Windows Home Server
      • Windows Vista for Embedded Systems — вариант Windows Vista для встраиваемых систем
    • Windows 7 (версия Windows NT 6.1)
      • Windows Server 2008 R2 (версия Windows NT 6.1) — вариант Windows 7 для работы на серверах
    • Windows 8 (версия Windows NT 6.2) — имеются версии на планшетные компьютеры и на персональные компьютеры.
    • Windows Server 2012 — серверная ОС от Microsoft. Поддержка драйверов Windows 8. Полная совместимость с Windows Server 2008, Windows Server 2008 R2.
    • Windows 8.1 (версия Windows NT 6.3) — ОС от Microsoft. Отличается обновлённым ядром, повышенным быстродействием, стабильностью и безопасностью.
    • Windows 10 (версия Windows NT 10.0) — ОС от Microsoft. Особенностью является то, что эта операционная система едина для компьютеров, планшетов и смартфонов.
  • Windows CE (compact edition — компактная редакция) — операционная система реального времени для встраиваемых систем, мобильных телефонов, наладонных компьютеров и даже роботов.
    • Windows Mobile, Pocket PC — версии Windows CE для мобильных телефонов и планшетных компьютеров.
    • Windows Embedded — версии Windows CE для встраиваемых систем, включая роботов.

Mediatek[править | править код]

  • MtkOS — операционная система для мобильных телефонов на MTK (ARM) процессорах

Novell[править | править код]

  • NetWare — сетевая ОС
    • NetWare 3.x, в том числе Netware v3.12
    • NetWare 4.x
    • NetWare 5.x
    • NetWare 6.x
  • Novell DOS (см.: Клоны MS-DOS)
  • UnixWare — разработана на основе UNIX System V, в 1995 году Novell продала права на дальнейшую разработку компании Santa Cruz Operation[en].
  • openSUSE — дистрибутив свободной операционной системы Linux, разработчиком которого является корпорация Novell, Inc.
  • Open Enterprise Server — сетевая ОС, включает в себя Novell NetWare, openSUSE и набор сетевых служб.
Читайте также:  В каких продуктах витамины и микроэлементы

Strawberry Development Group[править | править код]

  • EROS
  • CapROS

Sun Microsystems[править | править код]

  • SunOS — Unix-подобная ОС, основана на реализации BSD Unix
    • SunOS 4.x — (Solaris 1.x)
  • Solaris — Unix-подобная ОС, основана на реализации UNIX System V Release 4 + наработки из SunOS
    • SunOS 5.x — (Solaris 2.x, 7.x и более поздние)
    • OpenSolaris — SunOS 5.11

Другие Unix-подобные и POSIX-совместимые[править | править код]

  • TAILS
  • Whonix
  • Aegis/OS (Apollo Computer)
  • CLIX от Intergraph
  • Cromix (Unix-emulating OS from Cromemco)
  • Coherent (Эмулирующая Unix ОС от Mark Williams Co. для персональных компьютеров)
  • DNIX
  • DYNIX — Unix-подобная ОС, разработана компанией Sequent Computer Systems, которая позже была поглощена IBM
  • Idris
  • IRIX от SGI
  • NeXTStep — своё развитие получила в ОС Mac OS X после объединения компаний NeXT и Apple
  • OPENSTEP
  • OS-9 — Unix-подобная RTOS, эмулирующая Unix от Microware для процессора Motorola 6809
    • OS-9/68k (Эмулирующая Unix от Microware для процессора Motorola 680×0; создана из OS-9)
    • OS-9000 (портативная эмуляция Unix от Microware; одна из реализаций предназначена для Intel x86)
  • QNX (POSIX, микроядерная операционная система; используется, в основном, во встроенных системах реального времени)
  • Rhapsody
  • RiscOS
  • SCO UNIX (от Santa Cruz Operation, куплена компанией Caldera, позже переименованной в SCO)
  • System V (реализация AT&T Unix, ‘SVr4’ 4й релиз). Фактически последний «чистый» UNIX. Всё остальное обычно называют UNIX-подобным.
  • UNIflex (Эмулирующая Unix ОС от TSC для DMA-совместимых, Motorola 6809 с расширенной адресацией; например, SWTPC, GIMIX, …)
  • Ultrix (первая версия Unix для VAX и PDP-11 от DEC, основана на BSD)
  • Unicos (Unix для суперкомпьютеров Cray Research Inc.)
  • Venix

Свободные[править | править код]

Unix-подобные[править | править код]

  • BSD (Berkeley Software Distribution, реализация Unix для DEC VAX) и её вариации: 386BSD, DesktopBSD, DragonFly BSD, FreeBSD, MidnightBSD, NetBSD, OpenBSD, PC-BSD, TrianceOS, TrueBSD,
  • GNU/Hurd (ОС, реализованная как набор серверов, работающих на микроядре Mach): Hurd/L4 (ОС, реализованная как набор серверов, работающих на микроядре L4)
  • Linux: Linux (наиболее популярное свободное Unix-подобное ядро), Cosmoe (основана на ядре Linux и использует много кода AtheOS, подобна BeOS), Объединённое ядро Linux, Ubuntu, Debian.
  • OpenSolaris (проект по открытию кодов Solaris): AuroraUX, BeleniX, Jaris, MilaX, marTux, Nexenta OS, NexentaStor, OpenIndiana, OpenSolaris for System z, OSUNIX, Polaris, SchilliX, StormOS.
  • Plan 9 (распределённая ОС, разработана Bell Labs): Plan B (распределённая ОС, произошедшая от Plan 9), Off++ (распределённая ОС, произошедшая от Plan 9), Inferno (ОС на основе виртуальной машины, произошла от Plan 9)
  • SSS-PC (разработана в Токийском Университете)
  • Minix (учебная ОС от Эндрю Таненбаума)

не-Unix-подобные[править | править код]

  • ReactOS[1] — это современная, свободная и открытая операционная система, основанная на лучших принципах архитектуры Windows NT (такие продукты компании Microsoft, как Windows XP, Windows 7, Windows Server 2012 построены на архитектуре Windows NT). Система была разработана с нуля, и таким образом не основана на Linux и не имеет ничего общего с архитектурой UNIX.
  • FreeDOS
  • Haiku

Авторские/внутренние, не-UNIX и другие[править | править код]

  • A2 — ОС, созданная в рамках проекта «Oberon — операционная система и компилятор» (Оберон (операционная система))
  • AROS (AROS Research Operating System), свободная портируемая (в том числе для процессорной линейки x86) операционная система, идейный потомок AmigaOS
  • AtheOS
  • Chrome OS
  • CP/M (Control Program/Monitor)
    • CP/M-80 (CP/M для Intel 8080/8085 и Zilog Z80 от Digital Research))
    • CP/M-86 (CP/M для Intel 8088/86 от Digital Research)
    • MP/M-80 (многопрограммная версия CP/M-80 от Digital Research)
    • MP/M-86 (многопрограммная версия CP/M-86 от Digital Research)
    • МикроДОС (создана в СССР на основе CP/M 2.2)
  • UCSD P-System (портативная среда программирования/операционная система/виртуальная машина, разработана студентами университетов Калифорнии в Сан-Диего; управляется профессором Ken Bowles, написана на языке Паскаль)
  • FLEX9 — от TSC для Motorola 6809, наследница FLEX, работавшей на Motorola 6800.
  • JavaOS — основным компонентом является Java VM.
  • SSB-DOS — от TSC для Smoke Signal Broadcasting, разновидность FLEX.
  • DESQView многозадачная надстройка над MS-DOS для запуска MS-DOS приложений в режиме вытесняющей многозадачности с API кооперативной многозадачности, 1985 год. Текстовый интерфейс. Последняя версия 2.70.
  • DV/X — развитие DESQView, заимствовавшее интерфейс и протокол X Window System.
  • GEOS
  • NewOS open source
  • Оберон (операционная система), разработана ETH-Zurich (Никлаусом Виртом и другими) для рабочих станций Ceres и Chameleon. См. также Оберон (язык программирования).
  • osFree — open-source-вариант OS/2.
  • TripOS, 1978
  • VisiOn (первый графический пользовательский интерфейс для PC, коммерческого успеха не имел.)
  • VME от International Computers Limited (ICL)
  • MorphOS (на микроядре Quark, с поддержкой API AmigaOS 3.1)
  • NetWare (от Novell)
  • Pick (лицензирована и переименована)
  • Primos от Prime Computer (иногда пишется PR1MOS или PR1ME)
  • OSD/XC от Fujitsu-Siemens (BS2000 портирована для эмуляции на Sun платформы SPARC)
  • OS-IV от Fujitsu (базируется на ранней MVS от IBM)
  • MSP от Fujitsu (наследник OS-IV)
  • Haiku — свободный клон BeOS
  • SkyOS — коммерческая ОС для PC.
  • Syllable (развивается на базе AtheOS)
  • TinyOS
  • TSX-32 многозадачная 32-битная операционная система для DOS-приложений, частично заимствовавшая идеи OS/2, DESQView и операционных систем фирмы DEC. ~1993 год. Отличалась самой быстрой реализацией файловой системы FAT16 из известных.
  • eyeOS

«Домашние» OS[править | править код]

  • KolibriOS (проект основан на MenuetOS и помещается на одну дискету)
  • LainOS — проект основан на FreeBSD. Навеян GUI Navi из Serial Experiments Lain
  • MenuetOS (помещается на одну дискету)
  • Miraculix
  • Panalix
  • Syllable (почти полностью совместима с POSIX)
  • Trion Operating System
  • Visopsys (визуальная операционная система)
  • UzhOS
  • XSKernel[2] — проект ядра операционной системы под кодовым названием XSystem.
  • FOS[3] — микроядерная операционная система.
  • ExeOS (проект операционной системы, основанной на микроядерной архитектуре)
  • SymbOS — многозадачная графическая ОС для Amstrad CPC, Amstrad PCW и MSX.
  • FlopOS — open-source OS, написанная на чистом ассемблере (помещается на одну дискету).

Для мобильных устройств[править | править код]

Актуальные[править | править код]

  • Android
  • IOS
  • Tizen
  • Sailfish OS
  • BlackBerry OS
  • Fire OS

Неактуальные[править | править код]

  • Firefox OS
  • Maemo
  • MeeGo
  • Symbian OS
  • Windows Mobile/ Windows Phone
  • Ubuntu Touch
  • Palm OS
  • Яндекс.Кит
  • Access Linux Platform
  • Asha Platform
  • Bada
  • Open webOS — в настоящее время используется компанией LG в умных телевизорах.
  • LiMo Platform
  • Openmoko
  • Qtopia (Qt Extended)

Прикладные системы[править | править код]

Маршрутизаторы[править | править код]

  • DogOS
  • от Cisco
  • IOS от Cisco
  • Cisco PIX от Cisco
  • freesco — бесплатная и свободная замена коммерческим роутерам (в частности, от Cisco]), поддерживающая до 10 Ethernet/ARCnet/Token Ring/Arlan-сетевых карт и до 10 модемов.
  • Huawei VRP от Huawei
  • IOS XR от Cisco на основе QNX
  • JUNOS от Juniper Networks
  • LinkBuilder от 3Com
  • MikroTik RouterOS от MikroTik
  • RapidOS от Riverstone Networks
  • ScreenOS от Juniper Networks
  • SeOS от Ericsson
  • SROS от Alcatel-Lucent
  • ZyNOS от ZyXEL

Для микроконтроллеров, встраиваемые и ОС реального времени[править | править код]

  • AMX OS KADAK
  • Contiki (поддерживается Atmel AVR)
  • eCos
  • FreeRTOS
  • Integrity
  • ITRON
  • LynxOS
  • Montavista Linux
  • Nucleus
  • QNX
  • OS-9 — от Microware
  • OS-9000 — от Microware
  • OSA[4] — для микроконтроллеров PIC (Microchip) и AVR (Atmel)
  • OSE от ENEA
  • OSEK
  • RDOS
  • RTEMS — первоначальная разработка велась по заказу МО США, сейчас свободная (GPL-like лицензия).
  • RTOS
  • ThreadX
  • TRON OS разработчик — Ken Sakamura
  • uC/OS-II для микроконтроллеров
  • uOS разработчик — Сергей Вакуленко
  • scmRTOS[5] — для микроконтроллеров
  • μClinux
  • VxWorks
  • Snake OS
  • Salvo[6] — для микроконтроллеров

Операционные системы, пригодные для установки на оборудовании со слабыми техническими характеристиками[править | править код]

  • Contiki

Contiki (англ. Contiki — Контики) — компактная, свободная, переносимая, многозадачная операционная система для встраиваемых систем и ПК, в частности разрабатываемая для использования в устройствах с ограниченными ресурсами (в основном память), 8-битные компьютерах для встраиваемых систем на микроконтроллерах. Contiki спроектирована для встраиваемых систем с ограниченным объёмом памяти. При конфигурации по умолчанию Contiki использует 2 килобайта ОЗУ и 40 килобайт ПЗУ. ОС состоит из ядра, которое управляется событиями, программы во время исполнения загружаются и выгружаются динамически. Процессы используют облегчённую потоковую модель — протопотоки, которые обеспечивают линейный потоковый стиль инициализации ядра. Данная ОС выполняется на разнообразных платформах и архитектурах начиная от TI MSP430 и Atmel AVR, и заканчивая разнообразным парком старых ПК. При этом объём занимаемого места находится в пределах нескольких килобайт, использование памяти легко настраивается и может быть снижено до десятков байт. Полностью установленная система, с полным графическим интерфейсом пользователя будет занимать приблизительно 30 килобайт оперативной памяти. В отличие от KolibriOS, написана на языке С а не полностью на ассемблере, что упрощает её модификацию. Позиционируется разработчиками как система, пригодная для использования в оборудовании «для Интернета вещей» (букв. «Contiki: The Open Source OS for the Internet of Things[7]»).

Читайте также:  Какие продукты можно есть после операции на желчном пузыре камни

  • FreeDOS

FreeDOS — бесплатная операционная система, совместимая с MS-DOS. Пригодна для поддержания работы программ, предназначенных для работы с ОС MS-DOS.

  • LongLife OS

LongLife OS — бесплатная операционная система, совместимая с Microsoft Windows. Разработанная с нуля на основе Wine, имеет поддержку работы программ, предназначенных для работы с ОС Microsoft Windows.

  • KolibriOS

KolibriOS (рус. Коли́бриОС) — операционная система для PC, полностью написанная на ассемблере fasm. Нетребовательна к ресурсам, мала по объёму на диске.

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

  • Хронология операционных систем
  • Список дистрибутивов Linux
  • Аппаратная платформа компьютера

Примечания[править | править код]

Литература[править | править код]

  • Вильям Столлингс. Операционные системы = Operating Systems: Internals and Design Principles. — М.: Вильямс, 2004. — 848 с. — ISBN 0-13-031999-6.

Ссылки[править | править код]

  • Операционные системы в каталоге ссылок Open Directory Project (dmoz)

Источник

Запрос «OS» перенаправляется сюда; см. также другие значения.

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

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

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

В большинстве вычислительных систем операционная система является основной, наиболее важной (а иногда и единственной) частью системного программного обеспечения. С 1990-х годов наиболее распространёнными операционными системами являются системы семейства Windows, Unix и UNIX-подобные системы.

История[править | править код]

Предшественником операционных систем следует считать служебные программы (загрузчики и мониторы), а также библиотеки часто используемых подпрограмм, начавшие разрабатываться с появлением универсальных компьютеров 1-го поколения (конец 1940-х годов). Служебные программы минимизировали физические манипуляции оператора с оборудованием, а библиотеки позволяли избежать многократного программирования одних и тех же действий (осуществления операций ввода-вывода, вычисления математических функций и т. п.).

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

Пакетный режим[править | править код]

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

Разделение времени и многозадачность[править | править код]

Уже пакетный режим в своём развитом варианте требует разделения процессорного времени между выполнением нескольких программ.

Необходимость в разделении времени (многозадачности, мультипрограммировании) проявилась ещё сильнее при распространении в качестве устройств ввода-вывода телетайпов (а позднее, терминалов с электронно-лучевыми дисплеями) (1960-е годы). Поскольку скорость клавиатурного ввода (и даже чтения с экрана) данных оператором много ниже, чем скорость обработки этих данных компьютером, использование компьютера в «монопольном» режиме (с одним оператором) могло привести к простою дорогостоящих вычислительных ресурсов.

Разделение времени позволило создать «многопользовательские» системы, в которых один (как правило) центральный процессор и блок оперативной памяти соединялся с многочисленными терминалами. При этом часть задач (таких как ввод или редактирование данных оператором) могла исполняться в режиме диалога, а другие задачи (такие как массивные вычисления) — в пакетном режиме.

Разделение полномочий[править | править код]

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

Реализация разделения полномочий в операционных системах была поддержана разработчиками процессоров, предложивших архитектуры с двумя режимами работы процессора — «реальным» (в котором исполняемой программе доступно всё адресное пространство компьютера) и «защищённым» (в котором доступность адресного пространства ограничена диапазоном, выделенным при запуске программы на исполнение).

Масштаб реального времени[править | править код]

Применение универсальных компьютеров для управления производственными процессами потребовало реализации «масштаба реального времени» («реального времени») — синхронизации исполнения программ с внешними физическими процессами.

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

Файловые системы и структуры[править | править код]

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

Файловая система — способ хранения данных на внешних запоминающих устройствах.

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

Основные функции:

  • Исполнение запросов программ (ввод и вывод данных, запуск и остановка других программ, выделение и освобождение дополнительной памяти и др.).
  • Загрузка программ в оперативную память и их выполнение.
  • Стандартизованный доступ к периферийным устройствам (устройства ввода-вывода).
  • Управление оперативной памятью (распределение между процессами, организация виртуальной памяти).
  • Управление доступом к данным на энергонезависимых носителях (таких как жёсткий диск, оптические диски и др.), организованным в той или иной файловой системе.
  • Обеспечение пользовательского интерфейса.
  • Сохранение информации об ошибках системы.

OS/360 использовалась на большинстве компьютеров IBM начиная с 1966, включая те компьютеры, которые помогали NASA отправить человека на Луну.

Дополнительные функции:

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

Понятие[править | править код]

Существуют две группы определений операционной системы: «набор программ, управляющих оборудованием» и «набор программ, управляющих другими программами». Обе они имеют свой точный технический смысл, который связан с вопросом, в каких случаях требуется операционная система.

Есть приложения вычислительной техники, для которых операционные системы излишни. Например, встроенные микрокомпьютеры, содержащиеся во многих бытовых приборах, автомобилях (иногда по десятку в каждом), простейших сотовых телефонах, постоянно исполняют лишь одну программу, запускающуюся по включении. Многие простые игровые приставки — также представляющие собой специализированные микрокомпьютеры — могут обходиться без операционной системы, запуская при включении программу, записанную на вставленном в устройство «картридже» или компакт-диске.

Операционные системы нужны:

  • если нужен универсальный механизм сохранения данных;
  • для предоставления системным библиотекам часто используемых подпрограмм;
  • для распределения полномочий;
  • необходима возможность имитации «одновременного» исполнения нескольких программ на одном компьютере;
  • для управления процессами выполнения отдельных программ.

Таким образом, современные универсальные операционные системы можно охарактеризовать, прежде всего, как:

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

Многозадачность и распределение полномочий требуют определённой иерархии привилегий компонентов в самой операционной системе. В составе операционной системы различают три группы компонентов:

  • ядро, содержащее планировщик; драйверы устройств, непосредственно управляющие оборудованием; сетевая подсистема, файловая система;
  • системные библиотеки;
  • оболочка с утилитами.
Читайте также:  Определите какие блага относятся к естественным и к экономическим продуктами

Большинство программ, как системных (входящих в операционную систему), так и прикладных, исполняются в непривилегированном («пользовательском») режиме работы процессора и получают доступ к оборудованию (и, при необходимости, к другим ресурсам ядра, а также ресурсам иных программ) только посредством системных вызовов. Ядро исполняется в привилегированном режиме: именно в этом смысле говорят, что система (точнее, её ядро) управляет оборудованием.

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

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

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

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

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

Объекты ядра ОС:

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

Существующие операционные системы[править | править код]

UNIX, стандартизация операционных систем и POSIX[править | править код]

К концу 1960-х годов отраслью и научно-образовательным сообществом был создан целый ряд операционных систем, реализующих все или часть очерченных выше функций. К ним относятся Atlas (Манчестерский университет), CTTS (англ.)русск. и ITS (англ.)русск. (Массачусетский технологический институт, MIT), THE (Эйндховенский технологический университет), RS4000 (Университет Орхуса) и др. (всего эксплуатировалось более сотни различных ОС).

Наиболее развитые операционные системы, такие как OS/360 (IBM), SCOPE (CDC) и завершённый уже в 1970-х годах Multics (MIT и Bell Labs), предусматривали возможность исполнения на многопроцессорных компьютерах.

Эклектичный характер разработки операционных систем привёл к нарастанию кризисных явлений, прежде всего, связанных с чрезмерными сложностью и размерами создаваемых систем. Системы были плохо масштабируемыми (более простые не могли использовать все возможности крупных вычислительных систем; более развитые неоптимально исполнялись на малых или не могли исполняться на них вовсе) и полностью несовместимыми между собой, их разработка и совершенствование затягивались.

Задуманная и реализованная в 1969 году Кеном Томпсоном при участии нескольких коллег (включая Денниса Ритчи и Брайана Кернигана), операционная система UNIX (первоначально UNICS, что обыгрывало название Multics) вобрала в себя многие черты более ранних систем, но обладала целым рядом свойств, отличающих её от большинства предшественниц:

  • простая метафорика (два ключевых понятия: вычислительный процесс и файл);
  • компонентная архитектура: принцип «одна программа — одна функция» плюс мощные средства связывания различных программ для решения возникающих задач («оболочка»);
  • минимизация ядра (кода, выполняющегося в «реальном» (привилегированном) режиме процессора) и количества системных вызовов;
  • независимость от аппаратной архитектуры и реализация на машиннонезависимом языке программирования (язык программирования Си стал побочным продуктом разработки UNIX);
  • унификация файлов.

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

В конце 1970-х годов сотрудники Калифорнийского университета в Беркли внесли ряд усовершенствований в исходные коды UNIX, включая работу с протоколами TCP/IP. Их разработка стала известна под именем BSD (Berkeley Software Distribution).

Задачу разработать независимую (от авторских прав Bell Labs) реализацию той же архитектуры поставил и Ричард Столлман, основатель проекта GNU.

Благодаря конкурентности реализаций архитектура UNIX стала вначале фактическим отраслевым стандартом, а затем обрела статус и стандарта юридического — ISO/IEC 9945[1] (POSIX).

Только системы, отвечающие спецификации Single UNIX Specification, имеют право носить имя UNIX. К таким системам относятся AIX, HP-UX, IRIX, Mac OS X, SCO OpenServer, Solaris, Tru64 и z/OS.

Операционные системы, следующие стандарту POSIX или опирающиеся на него, называют «POSIX-совместимыми» (чаще встречается словоупотребление «UNIX-подобные» или «семейство UNIX», но оно противоречит статусу торгового знака «UNIX», принадлежащего консорциуму The Open Group и зарезервированному для обозначения только операционных систем, строго следующих стандарту). Сертификация на совместимость со стандартом платная, из-за чего некоторые системы не проходили этот процесс, однако считаются POSIX-совместимыми по существу.

К UNIX-подобным относятся операционные системы, основанные на последней версии UNIX, выпущенной Bell Labs (System V), на разработках университета Беркли (FreeBSD, OpenBSD, NetBSD), на основе Solaris (OpenSolaris, BeleniX, Nexenta OS), а также Linux, разработанная в части утилит и библиотек проектом GNU и в части ядра — сообществом, возглавляемым Линусом Торвальдсом.

Стандартизация операционных систем преследует цель упрощения замены самой системы или оборудования при развитии вычислительной системы или сети и упрощении переноса прикладного программного обеспечения (строгое следование стандарту предполагает полную совместимость программ на уровне исходного текста; из-за профилирования стандарта и его развития некоторые изменения бывают всё же необходимы, но перенос программы между POSIX-совместимыми системами обходится на порядки дешевле, чем между альтернативными), а также преемственность опыта пользователей.

Самым заметным эффектом существования этого стандарта стало эффективное разворачивание Интернета в 1990-х годах.

Пост-UNIX-архитектуры[править | править код]

Коллектив, создавший UNIX, развил концепцию унификации объектов операционной системы, включив в исходную концепцию UNIX «устройство — это тоже файл» также и процессы, и любые другие системные, сетевые и прикладные сервисы, создав новую концепцию: «что угодно — это файл». Эта концепция стала одним из основных принципов системы Plan 9 (название было позаимствовано из фантастического триллера «План 9 из открытого космоса» Эдварда Вуда-младшего), призванной преодолеть принципиальные недостатки дизайна UNIX и сменившей «рабочую лошадку» UNIX System V на компьютерах сети Bell Labs в 1992 году.

Кроме реализации всех объектов системы в виде файлов и размещения их на едином и персональном для каждого терминала вычислительной сети пространстве (namespace), были пересмотрены другие архитектурные решения UNIX. Например, в Plan 9 отсутствует понятие «суперпользователь», и, соответственно, исключаются любые нарушения режима безопасности, связанные с нелегальным получением прав суперпользователя в системе. Для представления (хранения, обмена) информации Роб Пайк и Кен Томпсон разработали универсальную кодировку UTF-8, на сегодняшний день ставшую стандартом де-факто. Для доступа к файлам используется единый универсальный протокол 9P, по сети работающий поверх сетевого протокола (TCP или UDP). Таким образом, для прикладного ПО сети не существует — доступ к локальным и к удалённым файлам единообразен. 9P — байт-ориентированный протокол, в отличие от других подобных протоколов, являющихся блок-ориентированными. Это также результат работы концепции: доступ побайтно — к унифицированным файлам, а не поблочно — к разнообразным и сильно изменяющимся с развитием технологий устройствам. Для контроля доступа к объектам не требуется иных решений, кроме уже существующего в операционной системе контроля доступа к файлам. Новая концепция системы хранения избавила администратора системы от изнурительного труда по сопровождению архивов и предвосхитила современные системы управления версиями файлов.

Операционные системы, созданные на базе или идеях UNIX, такие как всё семейство BSD и системы Linux, постепенно перенимают новые идеи из Bell Labs. Возможно, эти новые идеи ждёт большое будущее и признание ИТ-разработчиков.

Новые концепции были использованы Робом Пайком в Inferno.

На основе Plan 9 в Испании разрабатываются системы Off++ и Plan B, носящие экспериментальный характер.

К попыткам создать пост-UNIX-архитектуру можно также отнести разработку языка програм?