Отдельные характерные особенности операционных систем
К изучению операционных систем можно подходить с различных сторон, прежде всего в зависимости от преследуемой цели. Ниже мы рассмотрим ряд таких систем и их семейств, обращая внимание на отдельные характерные черты каждой.
Введение
Отметим, что как, пожалуй, и все прочие базовые понятия информатики (файл, процесс, 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.
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