Отдельные характерные особенности операционных систем

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

Введение

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

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

FreeDOS

Свободная система FreeDOS берет свое начало как попытка воссоздать интерфейсы прикладного программирования (англ. application programming interface, далее: API) собственнической (англ. proprietary) системы MS-DOS, о завершении продаж и поддержки которой было объявлено в  г. Первый выпуск системы состоялся в  г.

Система MS-DOS, в свою очередь, возникла ( г.) как попытка создать на 16-битных аппаратных платформах на основе процессоров Intel 8086 (8088) окружение, подобное (включая и API — для облегчения переноса существующих приложений на новую систему) реализуемому крайне популярной в 70-х гг. (и используемой во встраиваемых решениях вплоть до начала XXI в.) системой CP/M.

Разработанная исходно для MS-DOS файловая система FAT нашла широкое применение в бытовых вычислительных устройствах (в частности, аудио- и видеотехнике) и была стандартизована как Ecma 107.

Система не предполагает использования функций аппаратного управления доступа к устройствам и памяти (блока англ. input-output and memory management unit, далее IOMMU), а значит не предоставляет и соответствующих функций выполняемым под ее управлением программам. (Так, например, любая программа может — вследствие ошибки или намеренно — обращаться к областям памяти, выделенным любой другой программе.) На практике, программы для данного семейства систем зачастую обращаются к устройствам (включая видеоподсистему, клавиатуру, реже — накопители и файловые системы) «напрямую», минуя системные функции.

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

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

Пример: информация об использовании памяти FreeDOS.
C:\> MEM /full 
Segment        Total           Name           Type
-------  ----------------  ------------  -------------
  0000      1,024    (1K)                interrupt vector table
  0040        768    (1K)                BIOS data area
  0070      8,416    (8K)  IO            system data
  027e      4,112    (4K)  DOS           system data
  0280        192    (0K)    FILES       FILES=16 (3 in this block)
  028d        480    (0K)    FILES       FILES=16 (8 in this block)
  02ac      1,328    (1K)    LASTDRV     LASTDRIVE=O
  0300      2,048    (2K)    STACKS      data area
  0380        272    (0K)  MEM           environment
  0392     55,248   (54K)  MEM           program
  1110    584,416  (571K)                free
  9fc0    185,840  (181K)                reserved
  cd1f        112    (0K)                free
  cd27      3,008    (3K)  COMMAND       program
  cde4        144    (0K)                free
  cdee        912    (1K)  FDAPM         program
  ce28        192    (0K)                free
  ce35     26,144   (26K)  RTSPKT        program
  d498     75,360   (74K)                free
  e6ff      4,096    (4K)  COMMAND       environment

Memory Type         Total      Used       Free
----------------  --------   --------   --------
Conventional          639K        14K       625K
Upper                 108K        34K        74K
Reserved              277K       277K         0K
Extended (XMS)    260,992K       436K   260,556K
----------------  --------   --------   --------
Total memory      262,016K       761K   261,255K

Total under 1 MB      747K        48K       699K

Total Expanded (EMS)                8,576K (8,781,824 bytes)
Free Expanded (EMS)                 8,192K (8,388,608 bytes)

Largest executable program size       625K (639,680 bytes)
Largest free upper memory block        74K ( 75,376 bytes)
FreeDOS is resident in the high memory area.
C:\> 

NetBSD

Система NetBSD является потомком собственнической AT&T Unix, лицензии на которую компания-собственник предоставляла университетам на льготных условиях, что и обусловило ее широкое распространение (включая вариант Berkley Software Distribution, BSD, в то время разрабатываемый в университете Калифорнии в Беркли) в образовательной среде.

Обратная связь

Связаться с автором можно через канал #sdf на IRC-сервере irc.sdf.org, или по электронной почте, ivan at siamics dot net.