Файл в системе unix представляет собой множество символов с произвольным доступом. В файле могут содержаться любые данные, помешенные туда пользователем, и файл не имеет никакой иной структуры, кроме той, какую создаст в нем пользователь.
Операционная система unix и полной мере отвечает требованиям технологии клиент-сервер. Эта универсальная модель служит основой построения любых сколь угодно сложных систем, в том числе и сетевых. Разработчики субд, коммуникационных систем, систем электронной почты, банковских систем и т. Д. Во всем мире широко используют технологию клиент-сервер. Для построения программных систем, работающих по принципам модели «клиент-сервер», в unix существуют следующие механизмы:
· Сигналы;
· Семафоры;
· Программные каналы;
· Очереди сообщений;
· Сегменты разделяемой памяти;
· Вызовы удаленных процедур.
Многие из этих механизмов нам уже знакомы, поэтому рассмотрим их вкратце.
Если рассматривать выполнение процесса на виртуальном компьютере, который предоставляется каждому пользователю, то в такой системе должна существовать система прерываний, отвечающая стандартным требованиям:
· Обработка исключительных ситуаций;
· Средства обработки внешних и внутренних прерываний;
· Средства управления системой прерываний (маскирование и демаскирование).
Всем этим требованиям в unix отвечает механизм сигналов, который позволяет не только воспринимать и обрабатывать сигналы, но и порождать их и посылать на другие машины (процессы). Сигналы могут быть синхронными, когда инициатор сигнала — сам процесс, и асинхронными, когда инициатор сигнала — интерактивный пользователь, сидящий за терминалом.
Linux— это современная unix-подобная операционная система для персональных компьютеров и рабочих станций, удовлетворяющая стандарту posix.
Как известно, linux— это свободно распространяемая версия unix-систем, которая первоначально разрабатывалась линусом торвальдсом (torvalds@kruuna.helsinki.fi) в университете хельсинки (финляндия). Он предложил разрабатывать ее совместно и выдвинул условие, согласно которому исходные коды являются открытыми, любой может их использовать и изменять, но при этом обязан оставить открытым и свой код, внесенный в тот или иной модуль системы. Все компоненты системы, включая исходные тексты, распространяются с лицензией на свободное копирование и установку для неограниченного числа пользователей. Таким образом, система linux была создана с помощью многих программистов и энтузиастов unix - систем, общающихся между собой через интернет. Изначально система linux создавалась как «самодельная» unix -подобная реализация для машин типа ibm pc с процессором i80386. Однако вскоре linux стала настолько популярна и ее поддержало такое большое число компаний, что в настоящее время имеются реализации этой операционной системы практически для всех типов процессоров и компьютеров на их основе. На базе linux создаются и встроенные системы, и суперкомпьютеры. Система поддерживает кластеризацию и большинство современных интерфейсов и технологий.
Linux— это полноценная многозадачная многопользовательская операционная система (точно так же, как и все другие версии unix). Это означает, что одновременно много пользователей могут работать на одной машине, параллельно выполняя множество программ.
Система linux достаточно хорошо совместима с рядом стандартов для unix (насколько можно говорить о стандартизации unix) на уровне исходных текстов, включая ieee posix.1, system v и bsd. Она и создавалась с расчетом на такую совместимость, большинство свободно распространяемых через интернет программ для unix может быть откомпилировано для linux практически без особых изменений. Кроме того, все исходные тексты для linux, включая ядро, драйверы устройств, библиотеки, пользовательские программы и инструментальные средства распространяются свободно.
Linux поддерживает различные типы файловых систем для хранения данных. Некоторые файловые системы, такие как ext2fs, были созданы специально для linux. Поддерживаются также другие типы файловых систем, например minix-1 и xenix. Кроме того, реализована система управления файлами на основе fat, позволяющая непосредственно обращаться к файлам, находящимся в разделах с этой файловой системой. Поддерживается также файловая система iso 9660 cd-rom для работы с дисками cd-rom. Имеются системы управления файлами и на томах с hpfs и ntfs, правда, они работают только на чтение файлов. Созданы варианты системы управления файлами и для доступа к fat32; эта файловая система в операционной системе linux называется vfat.
Как и в классических unix -системах, linux имеет макроядро, которое содержит уже известные нам три подсистемы.