Первые разработчики UNIX способствовали 
внедрению принципов модульного 
программирования и повторного использования в инженерную практику.
        
UNIX предоставлял возможность использования 
протоколов TCP/IP 
на сравнительно недорогих компьютерах, 
что привело к быстрому росту Интернета. 
Это, в свою очередь, способствовало быстрому 
обнаружению нескольких крупных уязвимостей 
в системе безопасности, архитектуре и 
системных утилитах UNIX.
Со временем 
ведущие разработчики UNIX разработали 
культурные нормы разработки программного 
обеспечения, которые стали столь 
же важны, как и сам UNIX. 
Стандарты.
         
Большое количество разных вариантов 
системы UNIX привело к необходимости 
стандартизовать её средства, чтобы 
упростить переносимость приложений 
и избавить пользователя от 
необходимости изучать особенности 
каждой разновидности UNIX.
         
С этой целью ещё в 1980 
была создана пользовательская группа /usr/group. 
Самые первые стандарты были разработаны 
в 1984—1985 гг.
        
Одним из самых первых стандартов 
стала спецификация System V Interface Definition 
(SVID), выпущенная UNIX System Laboratories (USL) одновременно 
с UNIX 
System V Release 4. 
Этот документ, однако, не стал официальным.
        
Наряду с версиями UNIX System V 
существовало направление UNIX BSD. 
Для того, чтобы обеспечить совместимость System V 
и BSD, были созданы рабочие 
группы POSIX (Portable Operating 
System Interface for UNIX). Существует много 
стандартов POSIX, однако наиболее известным 
является стандарт POSIX 
1003.1-1988, определяющий программный интерфейс 
приложений 
(API, Application Programming Interface). Он используется 
не только в UNIX, но и в других операционных 
системах.В 1990 он был принят институтом IEEE 
как IEEE 1003.1-1990, а позднее — ISO/IEC 9945.
     
В настоящее время наиболее 
важными являются следующие стандарты:
  - POSIX 1003.2-1992, 
  определяющий поведение утилит, в том 
  числе командного интерпретатора;
- POSIX 1003.1b-1993, 
  дополняющий POSIX 1003.1-1988, — определяет поддержку 
  систем реального времени;
- POSIX 1003.1c-1995, 
  дополняющий POSIX 1003.1-1988, — определяет нити 
  (threads), известные также как pthreads.
      
Все стандарты POSIX объединены 
в документе IEEE 1003.
     
В начале 1990-х годов The Open Group 
предложила другой, похожий на POSIX стандарт — Common API Specification, или Spec 1170. Стандарт 
приобрёл большую популярность, чем POSIX, 
поскольку был доступен бесплатно, в то 
время как IEEE требовало немалую плату 
за доступ к своему стандарту.
       
В 1998 
году были начаты 
работы по объединению данных стандартов. 
Благодаря этому в настоящее время данные 
стандарты почти идентичны. Совместный 
стандарт называется Single UNIX Specification Version 
3 и доступен бесплатно в интернете.[4]
       
В целях совместимости, несколько 
создателей UNIX-систем предложили 
использовать ELF — 
формат систем SVR4 для двоичных и объектных файлов. 
Единый формат полностью  обеспечивает 
соответствие двоичных файлов в рамках 
одной компьютерной архитектуры.
        
Структура каталогов некоторых 
систем, в частности, GNU/Linux, 
определена в стандарте Filesystem Hierarchy Standard. Однако, во многих отношениях 
этот тип стандарта является спорным, 
и он, даже внутри сообщества GNU/Linux, далеко 
не универсален.
Стандартные 
команды ОС UNIX.
  - Создание 
  и навигация по файлам и каталогам: ls, mv, rm, cp, ln, cd, pwd, mkdir, rmdir, find, du, df;
- Просмотр 
  и редактирование файлов: touch, 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, chown, ps, su, w, who, df, mount, umount;
- Коммуникации: mail, telnet, ftp, finger, 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
        
Ниже приведён список 60 команд 
из раздела 1 первой версии UNIX:
  - ar, as
- b, bas, bcd, boot
- cat, chdir, check, chmod, chown, cmp, cp
- date, db, dbppt, dc, df, dsw, dtf, du
- ed
- find, for, form
- hup
- lbppt, ld, ln, ls
- mail, mesg, mkdir, mkfs, mount, mv
- nm
- od
- pr
- rew, rkd, rkf, rkl, rm, rmdir, roff
- sdate, sh, stat, strip, su, sum
- tap, tm, tty, type
- un
- wc, who, write
3 
Сети Петри.
        
Сети Петри — математический аппарат для моделирования динамических дискретных 
систем. Впервые описаны Карлом Петри в 1962 году.
       
Сеть Петри представляет собой двудольный ориентированный 
граф, состоящий 
из вершин двух типов — позиций и переходов, 
соединённых между собой дугами. Вершины 
одного типа не могут быть соединены непосредственно. 
В позициях могут размещаться метки (маркеры), 
способные перемещаться по сети.
       
Событием называют срабатывание перехода, 
при котором метки из входных позиций 
этого перехода перемещаются в выходные 
позиции. События происходят мгновенно, 
либо разновременно, при выполнении некоторых 
условий.
Виды сетей 
Петри.
         
Некоторые виды сетей Петри:
  - Временная 
  сеть Петри — переходы обладают весом, 
  определяющим продолжительность срабатывания 
  (задержку).
- Стохастическая 
  сеть Петри — задержки являются случайными 
  величинами.
- Функциональная 
  сеть Петри — задержки определяются как 
  функции некоторых аргументов, например, 
  количества меток в каких-либо позициях, 
  состояния некоторых переходов.
- Цветная сеть 
  Петри — метки могут быть различных типов, 
  обозначаемых цветами, тип метки может 
  быть использован как аргумент в функциональных 
  сетях.
- Ингибиторная 
  сеть Петри — возможны ингибиторные дуги, 
  запрещающие срабатывания перехода, если 
  во входной позиции, связанной с переходом 
  ингибиторной дугой, находится метка.
- Иерархическая 
  сеть — содержит не мгновенные переходы, 
  в которые вложены другие, возможно, также 
  иерархические, сети. Срабатывание такого 
  перехода характеризует выполнение полного 
  жизненного цикла вложенной сети.
- WF-сети
Анализ сетей 
Петри.
          
Основными свойствами сети Петри являются:
  - ограниченность — 
  число меток в любой позиции сети не может 
  превысить некоторого значения K;
- безопасность — 
  частный случай ограниченности, K=1;
- сохраняемость — 
  постоянство загрузки ресурсов, 
  постоянна. Где Ni — число 
  маркеров в i-той позиции, Ai — 
  весовой коэффициент;
- достижимость — 
  возможность перехода сети из одного заданного 
  состояния (характеризуемого распределением 
  меток) в другое;
- живость — 
  возможность срабатывания любого перехода 
  при функционировании моделируемого объекта.
        
В основе исследования перечисленных 
свойств лежит анализ достижимости. 
 
Литература.
  - Робачевкий 
  А. М., Немнюгин С. А., Стесик О. Л. Операционная 
  система UNIX. — 2-е изд. — СПб.: БХВ-Петербург, 2010. — 656 с. — ISBN 978-5-94157-538-1 УДК 681.3.06 ББК 32.973.26-018.2
- Роберт Шимонски 
  Освой самостоятельно Unix. 10 минут на урок 
  = Sams Teach Yourself Unix in 10 Minutes. — М.: «Вильямс», 
  2006. — С. 272. — ISBN 
  0-672-32764-3
- Эрик C. Реймонд 
  Искусство программирования для Unix = Art 
  of Unix Programming. — М.: «Вильямс», 
  2005. — С. 544. — ISBN 
  0-13-142901-9
- Роббинс А. 
  Unix. Справочник. Пер. с англ. 4-е издание.. 
  — "КУДИЦ-ПРЕСС", 2007. — С. 864. — ISBN 5-91136-031-4
- http://www.flickr.com/photos/7699742@N05/