Открыть сервисСервис

Стивен Борн

Стивен Борн (англ. Stephen Bourne; род. 7 января 1944, Лондон, Великобритания) — британский учёный в области информатики, математик и инженер, наиболее известный как создатель командной оболочки Bourne shell (sh) для операционной системы Unix. Его работа оказала значительное влияние на развитие операционных систем, языков программирования и стандартизацию интерфейсов командной строки.

Биография

Стивен Борн родился в Лондоне в 1944 году. Получил степень бакалавра по математике в Тринити-колледже Кембриджского университета. В 1969 году защитил докторскую диссертацию (PhD) по математике в Кембриджском университете, посвящённую теории распределения простых чисел. После окончания университета работал в Кембриджской компьютерной лаборатории, где занимался разработкой алгоритмов и системного программного обеспечения.

В 1970-х годах Борн присоединился к исследовательскому центру Bell Labs (США), где в то время создавалась операционная система Unix. В Bell Labs он работал в группе, возглавляемой Кеном Томпсоном и Деннисом Ритчи. Именно в этот период Борн разработал командную оболочку Bourne shell, которая стала стандартной оболочкой Unix вплоть до появления более современных альтернатив.

После работы в Bell Labs Борн занимал должности в ряде крупных технологических компаний, включая Sun Microsystems, где он возглавлял разработку системного программного обеспечения, и Cisco Systems, где работал над сетевыми протоколами и операционными системами. В 2000-х годах он вернулся к академической деятельности, читая лекции по информатике в Кембриджском университете.

Командная оболочка Bourne shell (sh)

История создания

К началу 1970-х годов в Unix уже существовала командная оболочка, написанная Кеном Томпсоном (Thompson shell), но она имела ограниченные возможности, особенно в области управления процессами и написания сценариев. В 1976 году Стивен Борн начал разработку новой оболочки, которая должна была стать более мощной и удобной для программирования.

Bourne shell была впервые представлена в 1977 году в составе Unix Version 7 (V7). Она быстро стала стандартной оболочкой Unix, вытеснив Thompson shell. Основной причиной успеха стало введение встроенных конструкций для управления потоком выполнения (циклы, условные операторы) и возможность использования переменных окружения.

Ключевые особенности

  • Синтаксис: Bourne shell использует синтаксис, основанный на языке программирования Algol 68, с которым Борн был знаком. В частности, управляющие конструкции (if, for, while, case) имеют чётко определённую структуру с ключевыми словами (then, else, fi, esac).
  • Переменные: В оболочке введены переменные, которые могут быть как локальными, так и глобальными (экспортируемыми). Переменные окружения (например, PATH, HOME) стали стандартом для настройки среды пользователя.
  • Управление процессами: Bourne shell поддерживает запуск фоновых процессов, перенаправление ввода-вывода, конвейеры (pipes) и обработку сигналов.
  • Сценарии (скрипты): Оболочка позволяет писать сложные сценарии с использованием циклов, условных операторов, функций и подстановки команд. Это сделало её мощным инструментом для автоматизации задач администрирования.
  • Переносимость: Bourne shell была написана на языке C и могла быть легко портирована на различные аппаратные платформы, что способствовало распространению Unix.

Влияние и наследие

Bourne shell стала основой для многих последующих командных оболочек. Наиболее известные из них:

  • Bash (Bourne Again SHell) — создана в 1989 году Брайаном Фоксом как свободная замена Bourne shell. Bash полностью совместима с синтаксисом sh, но добавляет множество расширений (история команд, автодополнение, массивы, арифметические вычисления).
  • KornShell (ksh) — разработана Дэвидом Корном в 1983 году, также основана на синтаксисе Bourne shell, но включает элементы из C shell (csh).
  • Z shell (zsh) — современная оболочка, совместимая с sh и bash, с расширенными возможностями настройки.

Стандарт POSIX (Portable Operating System Interface) определяет минимальные требования к командной оболочке, основанные на Bourne shell. Таким образом, любая современная Unix-подобная система (Linux, macOS, BSD) включает оболочку, совместимую с sh.

Другие достижения

Разработка языков программирования

Стивен Борн участвовал в создании языка программирования Algol 68, который оказал влияние на синтаксис Bourne shell. Он также работал над языком BCPL (Basic Combined Programming Language), предшественником C, и внёс вклад в разработку компиляторов.

Вклад в теорию алгоритмов

В 1970-х годах Борн опубликовал несколько работ по алгоритмам сортировки и поиска. В частности, он разработал алгоритм Bourne sort, который является модификацией быстрой сортировки (quicksort) с улучшенной производительностью на некоторых типах данных.

Работа в Sun Microsystems

В 1980-х годах Борн перешёл в Sun Microsystems, где возглавил разработку операционной системы SunOS (позже Solaris). Он также участвовал в создании сетевой файловой системы NFS (Network File System) и системы управления окнами OpenWindows.

Деятельность в Cisco Systems

В 1990-х годах Борн работал в Cisco Systems, где занимался разработкой операционной системы IOS (Internetwork Operating System) для маршрутизаторов. Он внёс вклад в стандартизацию протоколов TCP/IP и маршрутизации.

Признание и награды

  • В 1999 году Стивен Борн был удостоен премии IEEE Computer Society Charles Babbage Award за вклад в развитие операционных систем и языков программирования.
  • В 2005 году он стал членом Association for Computing Machinery (ACM) за выдающиеся достижения в области информатики.
  • В 2014 году журнал Computerworld включил Борна в список «50 самых влиятельных людей в истории информатики».

Интересные факты

  • Стивен Борн является автором книги «The Unix System» (1983), которая долгое время считалась одним из лучших учебников по операционной системе Unix.
  • Он активно выступает за открытые стандарты и свободное распространение программного обеспечения. В 1990-х годах он участвовал в создании организации Open Group, которая занимается стандартизацией Unix.
  • Несмотря на широкую известность Bourne shell, сам Борн в интервью неоднократно отмечал, что считает своим главным достижением разработку алгоритмов и языков программирования, а не оболочки.

Источники

  • Bourne, S. R. (1983). The Unix System. Addison-Wesley.
  • Ritchie, D. M. (1979). The Evolution of the Unix Time-sharing System. Bell Labs Technical Journal.
  • IEEE Computer Society. (1999). Charles Babbage Award: Stephen R. Bourne.
  • ACM. (2005). ACM Fellows: Stephen R. Bourne.
  • Computerworld. (2014). 50 Most Influential People in Computer History.
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru