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

Linux – это современная POSIX-совместимая и UNIX-подобная операционная система для персональных компьютеров и рабочих станций.

Linux – это свободно распространяемая версия UNIX, которая пер­воначально была разработана Линусом Торвальдсом (Linus Torvalds) в университете Хельсинки (Финляндия). Все компоненты сис­темы, включая исходные тексты, распространяются с лицензией на свободное копирование и установку для неограниченного числа пользователей.

Linux был создан с помощью многих UNIX-программистов и энтузиастов из Ин­тернета. К данному проекту добровольно подключились те, кто имеет достаточно навыков и способностей развивать систему. Большинство программ Linux разра­ботано в рамках проекта GNU из Free Software Foundation в Кембридже, Масса­чусетс. Но в него внесли лепту также программисты всего мира.

Изначально Linux создавался как «самодельная» UNIX-подобная реализация для ПК типа IBM PC с процессором i80386. Однако Linux стал настолько популя­рен и его поддерживает такое большое число компаний, что в настоящее время имеется реализация этой ОС практически для всех типов процессоров и компьютеров на их основе. На базе ОС Linux создаются и встроенные системы, и суперкомпьютеры. Система поддерживает кластеризацию и большинство со­временных интерфейсов и технологий.

Linux поддерживает большинство свойств, присущих другим реализациям UNIX, плюс ряд тех, которых больше нигде нет. Linux – это полноценная многозадачная многопользовательская операционная система (точно так же, как и все другие версии UNIX). Это означает, что одно­временно много пользователей могут работать на одной машине, одновременно выполняя много программ. Linux поддерживает различные типы файловых систем для хранения данных. Некоторые файловые системы, такие как файловая система ext2fs, были созданы специально для Linux. Поддерживаются также другие типы файловых систем, например Minix-1 и Xenix. Реализована также система управления файлами на основе FAT, позволяющая непосредственно обращаться к файлам, находящим­ся в разделах с этой файловой системой. Поддерживается и файловая система ISO 9660 CD-ROM для работы с дисками CD-ROM. Имеются системы управле­ния файлами и на томах с HPFS и NTFS, правда, они работают только на чте­ние файлов. Созданы варианты системы управления файлами и для доступа к FAT32.

В отличие от старых версий UNIX, в которых задачи выгружались во внешнюю память на магнитных дисках целиком, ядро Linux поддерживает загрузку только нужных страниц. Т.е. с диска в память загружаются те сегменты программы, которые действительно используются. Возможно использование одной страницы, физи­чески один раз загруженной в память, несколькими выполняемыми программами, т.е. реентерабельность кода, присущая всем UNIX-системам, сохранилась. В настоящее время имеются ядра для этой системы, оптимизированные для ра­боты с процессорами Intel и AMD последнего поколения, хотя основные архи­тектурные особенности защищенного режима работы изменились мало.

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

5.3. Семейство операционных систем OS/2 Warp
компании IBM

Семейство 32-разрядных ОС для IBM-совместимых компьютеров начало свою историю с появления первой OS/2 v 2.0 в 1992 году. Все ОС в своем назва­нии имеют слово Warp, что переводится с английского как «основа».

OS/2 Warp 4.0 практически представляет собой OS/2 Warp 3.0 (вышедшую еще в 1994 г.) с несколько улучшенными параметрами для DOS-задач, обновленны­ми элементами объектно-ориентированного интерфейса, и включает в себя:

• вытесняющую многозадачность (preemptive multitasking) и поддержку DOS-и Windows- (Win32s) приложений;

• по-настоящему интуитивно понятный и действительно удобный объектный пользовательский интерфейс;

• поддержку и встроенную разработку на языке Java;

• поддержку шрифтов True Type (TTF);

• управление голосом без предварительной подготовки (технология Voice Type);

• полную поддержку глобальных сетей Интернет и технологии intranet;

• средства построения одноранговых сетей и клиентские части для IBM LAN Server, Windows, Lantastic, Novell Netware 4.1 (в том числе поддержку служ­бы каталогов);

• систему удаленного доступа через модемные соединения;

• Mobile File System для поддержки мобильных пользователей;

• стандарт автораспознавания аппаратных устройств Plug-and-Play (но без столь навязчивого механизма, который реализован в Windows);

• набор офисных приложений (базы данных, электронные таблицы, текстовый процессор, генератор отчетов, деловая графика, встроенная система приема/передачи факсимильных сообщений, информационный менеджер);

• полную MultiMedia поддержку, включая работу с видеокамерой, расширен­ную систему помощи WarpGuide.

Эта ОС является удобной и надежной средой при работе с базами данных, работе в сетях.

OS/2 Warp предлагает единый интерфейс для программирования прикладных программ (API), совместимый с рядом операционных систем, что позволяет сни­зить стоимость разработок.

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

Модуль реализации механизмов виртуальной памяти в ядре OS/2 поддерживает большие, постраничные, разбросанные адресные пространства, составленные из объектов памяти. Каждый объект памяти управляется так называемым пейдже­ром – задачей вне ядра, обеспечивающей резервное хранение страниц объекта памяти. Ядро управляет защитой памяти и ее распределе­нием на основе объектов памяти абстрактным образом, вне зависимости от ка­ких-либо конкретных аппаратных средств трансляции процессорных адресов. Каждое задание имеет свое собственное адресное про­странство или отображение. Ядро ОС назначает объекты памяти, которые задание отобразило на диапазон адресов внутри адресного пространства.

Для поддержки операций ввода/вывода и доступа к внешним устройствам ядро ОС обеспечивает доступ к ресурсам ввода/вывода, таким как устройства с отображае­мой памятью, порты ввода/вывода и каналы прямого доступа к памяти (DMA), а также возможность отражать прерывания на драйверы устройств, исполняемые в поль­зовательском пространстве.