Основные характеристики
Переносимость;
Многозадачность;
Поддержка одновременной работы многих пользователей;
Поддержка асинхронных процессов;
Иерархическая файловая система;
Поддержка независимых от устройств операций ввода-вывода (через специальные файлы устройств);
Стандартный интерфейс для программ и пользователей;
Встроенные средства учета использования системы.
Стандартные команды
Создание и навигация по файлам и каталогам: touch, ls, mv, rm, cp, ln, pwd, cd, mkdir, rmdir, find, du;
Просмотр и редактирование файлов: nano, more, less, ed, ex, vi, emacs;
Обработка текста: echo, cat, grep, sort, uniq, sed, awk, tee, head, tail, cut, tr, split, printf;
Сравнение файлов: comm, cmp, diff, patch;
Разнообразные утилиты командного интерпретатора: yes, test, xargs, expr;
Системное администрирование: chmod, chgrp, chown, ps, su, w, who, df, mount, umount;
Коммуникации: mail, telnet, ftp, finger, rsh, ssh;
Командные оболочки: sh, bash, csh, ksh, tcsh, zsh;
Работа с исходным кодом и объектным кодом: cc, gcc, ld, nm, yacc, bison, lex, flex, ar, ranlib,make;
Сжатие и архивация: compress, uncompress, gzip, gunzip, tar;
Работа с двоичными файлами: od, strings.
Выполнение процессов
Процесс может выполняться в одном из двух состояний – пользовательском или системном.
В пользовательскомсостоянии процесс выполняет пользовательскую программу и имеет доступ к пользовательскому сегменту данных.
В системномсостоянии процесс выполняет программы ядра и имеет доступ к системному сегменту данных.
В UNIХ-системах каждому процессу выделяется квант времени. Чем меньше отведенное процессу время, тем выше его приоритет. Все системные процессы имеют более высокие приоритеты по сравнению с пользовательскими и поэтому обслуживаются в первую очередь.
ОС UNIX обеспечивает стандартные программы с использованием системных вызовов для:
настройки параметров конфигурации системы;
перекомпоновки ядра и добавления новых драйверов устройств;
создания и удаления учетных записей пользователей;
создания и подключения физических файловых систем;
установки параметров контроля доступа к файлам.
Для решения этих задач системное ПО часто использует системные вызовы.
Отличия ос unix от других операционных систем
Unix состоит из ядра с включенными в него драйверами и утилит. Ядро Unix без переделки может быть записано в ПЗУ и выполняться не загружаясь в ОЗУ. Компактность кода очень важна, т.к. ядро и драйверы никогда не покидают физическую оперативную память. У Windows компактность собранного ядра и повторное использование общего кода ниже, чем у Unix.
Unix - самая многоплатформенная ОС. WindowsNT пытается подражать ей, но плохо удается, т. к. WNT остались всего на двух платформах - i*86 и DEC Alpha. Переносимость программ с одной версии Unix на другую ограничена. Программа, не учитывающая различий в реализациях Unix, должна занимать 4 байта, что может потребовать серьезной переделки. Но это легче, чем перенести с ОС/2 на NT.