Unix что это такое
Рождение и развитие Unix
Томпсон (сидит) и Ритчи работают на PDP-11, 1972 год.
Период 1968-69 гг. был очень неопределенным для Bell Labs: проект операционной системы с разделением времени Multics (Multiplexed Information and Computing Service), разрабатываемой с 1964 года для дорогой 36-битной ЭВМ GE-645, не имел четких перспектив и целей, а лишь разрастался в размерах и сложности, всё ясней был виден его предполагаемый провал. В конце концов, American Telephone & Telegraph вышла из проекта, в который за пять лет были вложены миллионы долларов.
Однако, некоторые из инженеров, работавших над Multics — Кен Томпсон, Деннис Ритчи, Малкольм Дуглас Макилрой, Джозеф Оссанна, — ощущали необходимость в продолжении работы над подобным проектом, и не хотели терять успевшую сформироваться уютную рабочую атмосферу. Поэтому в 1969 году они начали искать альтернативу Multics: Оссанна, Томпсон, Ритчи пытались протолкнуть покупку машины средней мощности, для которой группа обещала написать операционную систему. Заказ на предлагаемые ЭВМ DEC PDP-10 и Sigma 7 так и не был сделан, и хотя несколько раз ситуация выходила на грань получения нужного оборудования, было вполне очевидно, что команда просит слишком крупную сумму для проекта с расплывчатым планом, тем более, что после провала Multics операционные системы стали не настолько привлекательной сферой. Поэтому Томпсон (в основном это была его задумка), Кэнэдэй и Ритчи (привнесший идею файлов-устройств) разработали на обычных черных учебных досках и бумаге устройство файловой системы, которая позже стала сердцем Unix.
Начало работы
Томпсон написал для Multics симуляцию производительности предлагаемой файловой системы и страничного поведения программ, начал реализацию новой операционной системы для GE-645. Он разработал ассемблер для машины и рудиментарное системное ядро, способное лишь выводить приветственное сообщение. Сложность оборудования делала заметным достижение Томпсона, но как только выяснилось, что ввиду выхода из проекта Multics 645-ая серия в Bell Labs будет продолжать работать от силы несколько месяцев, работа была прекращена.
Также в 1969 году Томпсон написал игру Space Travel для Multics, пока ещё имел к ней доступ, а потом переписал её на Фортране для GECOS, операционной системы машин GE-635. Игра содержала всего лишь симуляцию движения основных тел Солнечной системы, среди которых игроку предлагалось провести корабль и приземлиться на планетах и их лунах. Игра в версии для GECOS имела два основных недостатка: высокая цена вычислительного времени ($75 за игру) и подтормаживания графики. Поискав, Кен нашел немного использовавшийся PDP-7 с отличным экраном, ранее машину купили как терминал Graphic-II для проекта анализа цепей.
Ритчи и Томпсон переписали Space Travel для запуска на этой ЭВМ. Работа над маленькой игрой была куда более важной, чем может показаться: поскольку они проигнорировали существующее программное обеспечение, приходилось писать пакет для обработки чисел с плавающей запятой, спецификации графических символов и систему отладки самостоятельно. Всё это было написано на GECOS на кросс-ассемблере для PDP-7, и процесс переноса ассемблерного кода на перфокартах использовался в дальнейшем для реализации уже файловой системы, проект которой уже был разработан.
Летом 1969 года жена Кена уехала к его родителям, чтобы показать новорожденного сына, и Томпсон с головой ушел в работу. Вместе с файловой системой новой операционной системы появился маленький набор пользовательских программ: копирование, печать, удаление, редактирование и, конечно же, интерпретатор команд, командный процессор. После доработки ассемблера отпала необходимость писать на GECOS и переносить файлы перфолентой. Хотя название Unix как отсылка к Miltics появилось только в 1970 году как шутка Брайана Кернигана на тему того, что новая система поддерживала лишь пользователя Томпсона, и поэтому должна носить название Un-multiplexed Information and Computing Service, операционная система уже родилась и жила.
Файловая система Unix для PDP-7 имела линейный массив индексных дескрипторов, каждый из которых описывал файл, директории (особый файл, содержащий имена и ассоциированный индекс), особые файлы, описывающие устройства. Вызовы файловой системы тоже не слишком отличаются от сегодняшних: read, write, open, creat, close. Отличие было в том, что единицей ввода-вывода в PDP-7 было машинное слово, а не байт. Примитивная по сегодняшним меркам операционная система предоставляла более удобную среду разработки, чем существовавшие аналоги. Всё очевиднее становилось, что изначально устаревшая PDP-7, накладывающая множество раздражающих ограничений на работу новой операционной системы, не сможет удовлетворить нужды для дальнейшего развития, как и вся серия машин PDP-7, а разрешать закупку нового оборудования руководство вряд ли решится.
Оссанна, до конца его дней увлекавшийся текстовым процессингом, предложил схитрить и попросить у начальства новейший микрокомпьютер компании DEC — PDP-11 — для создания инструментов редактирования и форматирования текста. А факт того, что для создания этих инструментов потребуется написать операционную систему, шел почти что как сноска. Запрашиваемая сумма была куда меньше, чем ранее — всего 65 тыс. долларов.
Предыдущие расплывчатые предложения встречались с неодобрением, это же было слишком узко́. Не сразу, но начальство клюнуло, уже в мае 1970 года благодаря усилиям Макмахона был произведен заказ на PDP-11. Машина прибыла в конце лета, но продукт был настолько новым, что накопительный диск пришлось ждать до декабря. Всё это время Томпсон, Ритчи и остальные продолжали работать над Unix на PDP-7. В это время новенький PDP-11 три месяца обсчитывал ходы шахматного коня на доске 6×8.
Лишь после установки накопителя PDP-11 всё усложняющаяся операционная система была переписана на новую машину. У версии Unix для PDP-11 не имелось особых преимуществ относительно версии для PDP-7. К примеру, всё так же не было многозадачности: лишь одна пользовательская программа могла находиться в ядре. Размеры системы были невелики: 24 килобайта ОЗУ (16 килобайт для операционной системы и 8 килобайт для пользовательских программ), диск с тысячей блоков (512 килобайт). Файлы были ограничены размером в 64 килобайта.
Затем была переписана программа roff, текстовый процессор, написанный Осанной. Впервые Unix испытали вне Bell Labs при работе в патентном отделе AT&T, где требовалось редактировать и форматировать заявки на патенты. Unix-система имела преимущества над испытываемой в это же время в патентном отделе коммерческой системой редактирования текста: во-первых, Unix имела поддержку 37-ой модели терминалов Teletype, печатавшей все требующиеся математические символы, во-вторых, в roff быстро добавили возможность нумеровать страницы, чем конкурент не обладал.
Во время второго полугодия 1971 года группа осуществляла поддержку трех машинисток и пыталась продолжать работу в свободное время. Unix получила хорошую репутацию за поддержку интересных функций на скромном оборудовании, и система была принята к использованию в патентном отделе AT&T, что давало возможность группе убедить руководство заказать ещё одну машину, другую модель PDP-11 — PDP-11/45, ещё более мощную, чем уже купленная.
В ранние годы Unix постоянно изменялась и эволюционировала, поэтому не было смысла выпускать версии или релизы, хотя периодически происходили издания программисткого руководства, и первые системы Unix носили названия этих изданий. Первое издание датируется ноябрем 1971 года.
Языки программирования высокого уровня
Каждая программа для Unix в версии PDP-7 писалась на очень слабом ассемблере — к примеру, не было макрокоманд. Первым интересным языком был TMG Макклура, реализованный Макилроем. Потом Томпсон решил, что нельзя предлагать компьютерную систему без Фортрана, поэтому он начал писать Фортран в TMG, но намерение реализовать его продлилось неделю. То, что он сделал, было компилятором для нового языка B. Новый язык испытал сильное влияние BCPL, вкуса Томпсона к спартанскому синтаксису и скромные размеры места для компилятора, который производил простой и медленный, но исполняемый код, что сделало жизнь программистов легче. Позже кросс-компилятор PDP-7 для PDP-11 был написан на B, и постепенно компилятор для PDP-7 был транслитерирован из TMG в B. С прибытием PDP-11 почти сразу же на ней был настроен B. Ещё до прибытия накопителя для новой машины на PDP-11 был написан калькулятор.
Над переписыванием операционной системы на B не особо задумывались, даже ассемблер для новой ЭВМ переписывался на ассемблере, поскольку интерпретируемый код был слишком медленным. Также стояла проблема несоответствия ориентированного на машинное слово B и PDP-11 с байтовой адресацией.
Поэтому в 1971 году была начата работа над тем, что стало языком C. Всем прекрасна известна связь BCPL → B → C, и нет смысла повторять её, стоит лишь отметить, что в 1973 году ядро операционной системы было переписано на C, и Unix приобрел черты своих современных версий. Было ещё множество внешних изменений, и внутреннее строение системы стало более рациональным и простым. Успех попытки подтвердил, что C является полезным и практически универсальным инструментом для системного программирования, а не игрушкой для простых приложений. Сегодня лишь самые важные программы Unix-подобных систем пишутся на ассемблере, почти все утилиты и приложения написаны на C.
Дальнейшее развитие
Годами Unix оставалась лишь исследовательским проектом Bell Labs, но в 1973 году авторы представили систему на симпозиуме Ассоциации по вычислительной технике, и запросы на предоставление копий посыпались сразу же. Это ставило AT&T в крайне неудобное положение: ещё в 1956 году монополист связи был ограничен от продажи продуктов и услуг, не связанных напрямую с телефонами и телекоммуникациями, и поэтому Unix не могла продаваться. Именно этим мы обязаны выпуску исходных кодов ранних версий практически всем желающим без поддержки, рекламы и исправлений.
И такая политика дала свои плоды: поклонники операционной системы уже тогда начали общаться и собираться вместе для обмена опытом, исправлениями и багфиксами, новыми инструментами и улучшениями системы. К популярности Unix в конечном счете привели не только простота, элегантность её устройства, востребованность и портируемость, но и формирование сплоченного комьюнити Usenix. Сообщества формировались не только в США, но и в Австралии (в университете Нового Южного Уэльса и Сиднейском университете), и все они обменивались магнитными лентами с новыми программами и исправлениями для системы. К середине 70-х годов именно это окружение сформировало современные традиции сообщества open-source.
Однако, чем популярнее становилась Unix, тем пристальнее юристы AT&T следили за несколько фривольным поведением лицензиатов. К примеру, Джон Лайонс, преподающий в университете Нового Южного Уэльса, в 1977 году опубликовал одну из самых известных книг всех времен «Комментарии к операционной системе Unix», включавшую и листинг исходных кодов ОС. Условия лицензирования Unix допускали обмен исходниками, поэтому вначале книга Лайона продавалась только лицензиатам. В 1979 году AT&T ужесточила наказание за использование книги в учебных классах, и нет ничего удивительного в том, что книга стихийно начала копироваться самиздатом, порой, фотокопии фотокопий имели практически нечитабельное состояние.
Юристы AT&T следили и за жизнью в Bell Labs. К примеру, между изданием шестого издания Unix в 1975 году и седьмого в 1979 Томпсон собрал из внешних и внутренних источников Bell Labs десятки важных исправлений для системы, которые собирался вбросить в пользовательскую базу. Юристы компании запретили ему это делать, поскольку это было бы формой поддержки. Но корректоры ошибок всё равно стали доступны: Лоу Кацу, основателю и презиенту Usenix, однажды позвонили и сообщили, что если он в 2 часа дня посетит определенное место на Маунтайн авеню (где и находится Bell Labs), то он найдет кое-что интересное. Кац последовал указаниям и нашел магнитную ленту с исправлениями, которые немедленно попали в руки бесчисленного числа пользователей.
80-е. Ответвления
После разрушения монополии Bell System компания AT&T более не была связана путами соглашения 1956 года. Одновременно с этим развивались многочисленные ответвления Unix, в первую очередь версия университета Беркли, которая была тщательно вычищена от кода AT&T, чтобы сделать её свободно распространяемой. После суда в 1992 году AT&T против университета Беркли законный статус Unix-клонов был подтвержден.
Если бы исходные коды Unix не были бы доступны общественности, Линус Торвальдс, как он сам говорит, вряд ли бы создал Linux, который в начале 90-х был написан с нуля. Сегодня именно Linux и семейство BSD несут крест отошедшей на задний план Unix и управляют всем: от мобильных телефонов до суперкомпьютеров.
Unix что это такое
Система UNIX имеет 4 основных компонента:
Ядро контролирует доступ к компьютеру, управляет памятью компьютера, обслуживает файловую систему и распределяет ресурсы компьютера среди пользователей. На рис. 1 приведено функциональное представление ядра.
Shell
Этот раздел знакомит вас со многими программами и инструментальными средствами системы UNIX, которые вы будете использовать достаточно часто.
Внешний круг системы UNIX образуют программы и инструментальные средства системы, разделенные на категории функционально. Эти функции включают:
Как выполнять команды
Чтобы ваш запрос был понятен системе UNIX вы должны ввести каждую команду в корректном формате или синтаксисе командной строки. Этот синтаксис определяет порядок, в котором вы вводите компоненты командной строки. И вы должны расположить все составные части командной строки в требуемом синтаксисом порядке, иначе shell не сможет интерпретировать ваш запрос.
Пример синтаксиса командной строки:
Файловая система
Файловая система является краеугольным камнем операционной системы UNIX. Она обеспечивает логический метод организации, восстановления и управления информацией. Файловая система имеет иерархическую структуру.
Обыкновенные файлы
Обыкновенные файлы являются набором символов. Обыкновенные файлы используются для хранения любой информации. Они могут содержать тексты для писем или отчетов, коды программ, которые вы написали, либо команды для запуска ваших программ. Однажды создав обыкновенный файл вы можете добавить нужный материал в него, удалить материал из него, либо удалить файл целиком.
Справочники
Справочники являются супер-файлами, которые могут содержать файлы или другие справочники. Обычно файлы, содержащиеся в них, устанавливают отношения каким-либо способом. Например, справочник, названный sales может хранить файлы, содержащие цифры ежемесячных продаж, названные jan, feb, mar, и т.д. Вы можете создать каталоги, добавить или удалить файлы из них или удалить каталоги.
Все справочники, которые вы создаете, будут размещены в вашем собственном справочнике. Этот справочник назначается вам системой во время входа в систему. Никто кроме привилегированных пользователей не может читать или записывать файлы в этот справочник без вашего разрешения и вы определяете структуру этого справочника.
Специальные файлы
Специальные файлы соответствуют физическим устройствам, таким как терминал, дисковое устройство, магнитная лента или канал связи. Ситема читает и записывает из/в специальные файлы также как и в обыкновенные файлы. Однако запросы системы на чтение и запись не приводят в действие нормальный механизм доступа к файлу. Вместо этого они активизируют драйвер устройства, связанный с файлом, приводя, возможно, в действие головки диска или магнитной ленты.
Расположение системы
Некоторые операционные системы требуют от вас определить тип файла и использовать его определенным способом. От этого будет зависеть то, как будут файлы сохраняться, т.к. файлы могут быть последовательными, двоичными или произвольной выборки
Для системы UNIX все файлы одинаковы. Это делает файловую структуру UNIX легкой в использовании. Например, вам нет необходимости указывать требования к памяти для ваших файлов, т.к. система автоматически это сделает для вас. Или если вам или написанной вами программе необходим доступ к определенному устройству (например, принтеру) вы указываете устройство также как любой из ваших файлов. В системе UNIX существует только один интерейс для всего вашего ввода и вывода для вас; это упрощает ваше взаимодействие с системой.
Справочник root содержит несколько важных системных справочников:
Unix Что Это за Операционная Система:(100)% Ответ
Компьютерная операционная система – UNIX что это?
Здравствуйте, уважаемые друзья и гости блога Pribylwm.ru! Давайте сегодня узнаем с Вами, про операционную систему Unix что это такое вообще и для чего она нужна? Поехали …
Операционная система – это программа, которая контролирует все остальные части компьютерной системы, как аппаратное, так и программное обеспечение. Он распределяет ресурсы компьютера и планирует задачи. Это позволяет Вам использовать возможности, предоставляемые системой. Каждому компьютеру требуется операционная система.
UNIX что это такое?
Торговая марка UNIX, ранее принадлежавшая AT&T, а затем перешедшая к UNIX Systems Laboratories (USL), дочерней компании AT&T, перешла к Novell, когда она приобрела USL. После непродолжительного периода переговоров с конкурирующими поставщиками Unix, а именно с Sun Microsystems, Santa Cruz Operation, International Business Machines и Hewlett-Packard, Novell предоставила эксклюзивные лицензионные права на товарный знак UNIX компании X/Open Co. Ltd., компании Open Systems. Агент по брендингу отраслевых стандартов, базирующийся в Соединенном Королевстве.
Полезная информация для пользователей: Если у Вас возникают вопросы по ОС Unix, ответы на них Вы всегда сможете получить вот по этому адресу: https://unixhow.com, естественно онлайн!
История UNIX
Разработан исследователями, которым требовался набор вычислительных инструментов, чтобы помочь им в своих проектах и их сотрудникам. Разрешил группе людей, работающих вместе над проектом, обмениваться выбранными данными и программами.
С 1984 г. по настоящее время: Калифорнийский университет в Беркли вносит значительные усовершенствования, создает стандартное распределение Беркли (BSD).
С 1984 года по настоящее время: многие функции Berkeley включены в новую версию AT&T: System V
Сегодня популярны две разновидности: AT&T System V и стандартное распределение Беркли.
Ведется работа по разработке спецификации переносимой операционной системы на основе UNIX (комитет IEEE POSIX).
Философия UNIX
Почему именно UNIX?
Независимость от оборудования
Продуктивная среда для разработки программного обеспечения
Распределенная обработка и многозадачность
Компоненты UNIX
Примеры функций, выполняемых ядром:
Вам не нужно ничего знать о ядре, чтобы использовать систему UNIX. Эти данные предоставлены только для Вашего сведения.
Оболочка
Каждая оболочка также включает собственный язык программирования. Командные файлы, называемые « сценариями оболочки », используются для выполнения ряда задач.
Утилиты
Выполнять универсальные функции
Модульность: отдельные функции могут быть сгруппированы для выполнения более сложных задач.
System V против BSD
AT&T распространяет System V для своих компьютеров. System V также является основой для нескольких коммерческих реализаций, включая:
BSD Калифорнийского университета в Беркли претерпел значительные изменения и усовершенствования в университетской среде.
BSD доступен непосредственно из UCB и в ряде коммерческих версий, включая: Sun, Apollo, DEC Ultrix, Gould UTX/32.
Система V и BSD содержат большой набор общих команд. Однако некоторые из этих команд поддерживают разные параметры и имеют разное поведение по умолчанию и форматы вывода. пример: ls, stty, mail, grep
В каждой версии также есть свои уникальные утилиты. Некоторые очень распространенные задачи, такие как просмотр файла, выполняются совершенно разными утилитами: System V использует «pg», тогда как BSD использует «more».
Также Вам может быть интересно узнать, что такое «синий экран смерти» и как с ним бороться? Тогда, смотрите, я об этом писал здесь.
Ну, вот рассказал Вам об операционной системе Unix что это такое вообще и для чего она нужна. Все, что знал на данный момент времени. Если Вы обладаете более расширенной информацией, то делитесь ей в своих комментариях ниже. Буду рад! Всем удачи и благополучия! До новых встреч!
Что такое UNIX?
Тремя наиболее популярными операционными системами в мире являются Windows, Mac и Linux. Эти три операционные системы получают всю прессу, две из которых больше, чем вторая, и, вероятно, единственные, о которых вы слышали.
Что если я скажу вам, что две из трех самых популярных операционных систем на самом деле вобрали в себя основные принципы чего-то, называемого UNIX? Эти принципы являются основными понятиями системы с разделением времени, позволяющей нескольким пользователям одновременно получать доступ к одному мэйнфрейму.
Разработанная в 1970 году и разработанная как небольшая гибкая система, используемая исключительно программистами, UNIX быстро стала ведущей операционной системой для рабочих станций. Но сколько вы действительно знаете о UNIX?
UNIX и UNIX-подобные операционные системы — самые мощные и популярные многопользовательские и многозадачные операционные системы на рынке. Несколько лет UNIX разрабатывался для разных машин, включая современные системы POSIX, такие как Linux, его многочисленные варианты и Mac OS. Трудно поверить, что что-то такое могущественное может иметь такое скромное начало.
Разработанная в Bell Telephone Laboratories, или Bell Labs, несколькими программистами, UNIX была написана на языке программирования Си. Это позволило установить его практически на любом компьютере с компилятором Си. Одно это дало UNIX естественную мобильность, гибкость и позволяло использовать ее в качестве довольно мощного варианта в качестве операционной системы.
Помимо того, что Bell Labs была недорогой, она распространяла операционную систему в ее исходной языковой форме, что позволяло любому, кто в нее попал, модифицировать и настраивать ее для своих собственных целей. Это породило десятки различных версий UNIX на протяжении десятилетия, работающих на разных сайтах.
Bell Labs в конечном итоге распалась в 1984 году. Тем не менее, они начали продавать UNIX в попытке определить стандартную версию системы. Они разработали то, что многие считали слишком ограничительным, одним из них был Ричард Столлман, ответственный за проект GNU. Проект GNU является основой Linux, которую мы знаем сегодня, поскольку он состоит из ядра Linux, а не ядра UNIX.
Тем не менее, Linux был вдохновлен MINIX, которая была UNIX-подобной операционной системой, созданной для образовательных целей. Это привело к эффекту домино для большинства операционных систем, доступных сегодня. GNU / Linux является производной от UNIX, и, в свою очередь, многие современные операционные системы, включая Android, Chrome OS, Steam OS и огромное количество встроенных операционных систем для устройств, основаны на Linux.
Стандарт UNIX
Как проиллюстрировано The Open Group:
Для тех, кто заинтересован в посещении ссылки на изображение, вот она.
POSIX, как упоминалось ранее, представляет собой семейство стандартов, определенных Институтом инженеров по электротехнике и электронике (IEEE). Они служат для уточнения и унификации интерфейсов прикладного программирования, предоставляемых UNIX-подобными операционными системами.
Это делает это так, когда вы пишете программу, основанную на стандартах POSIX, переносимость и функциональность упрощаются среди большого семейства производных UNIX, таких как Linux и Mac OS. Использование API или кода, не стандартизированного как часть POSIX для UNIX-подобных операционных систем, усложнит переносимость на другие UNIX-подобные системы.
Что такое программы, системы и подсистемы UNIX?
Команды UNIX выполняются в интерфейсе командной строки, предоставляемом оболочкой. Эта оболочка является программой, которая будет читать введенные команды и либо выполнять их самостоятельно, либо передавать их ядру.
«Ядро ядра» — это то, вокруг чего построены системы UNIX, которые управляют системой и другими процессами. Это ядро операционной системы UNIX, которое напрямую взаимодействует с базовым оборудованием для предоставления набора стандартных сервисов. Подсистемы ядра могут включать управление процессами, управление файлами, управление памятью, управление сетью и другие.
Программы UNIX предназначены для разработки нескольких основных принципов, в том числе таких требований, как единственная цель, совместимость и работа со стандартизованным текстовым интерфейсом.
Когда дело доходит до функций UNIX, вот список нескольких выдающихся:
Почему UNIX имеет значение
Помимо Windows и систем на базе Windows, большинство операционных систем, которые вы увидите, имеют философию, основанную на UNIX. Если вы посмотрите на терминал Mac OS X или файловую систему, вы заметите поразительное сходство с Linux. Оба из которых полностью отличаются от Windows. Это потому, что Linux и Mac OS являются UNIX-подобными системами.
Понимание этого поможет вам также понять, насколько важен и был UNIX. Одной из основных философий UNIX, используемых сегодня, является создание небольших модульных утилит, позволяющих выполнять особые задачи с исключительным уровнем эффективности. Знание терминала Mac OS также познакомит вас с терминалом Linux и наоборот. Это UNIX в двух словах.
UNIX-подобные системы полагаются на единую файловую систему для взаимодействия программ друг с другом. Windows-подобные системы полагаются на DOS. Это причина того, что только Windows-подобные системы имеют буквы дисков. Все остальные операционные системы имеют его так, что каждый файл в системе является частью единой иерархии каталогов. Опять же, все благодаря философии UNIX.
UNIX можно увидеть в архитектуре операционных систем, таких как BSD, Linux и Mac OS, полностью задуманной. Можно сказать, что без UNIX не было бы Mac OS, и вполне возможно, что то же самое можно сказать и о ее конкурентах, включая Windows.
Мы явно гиперболичны здесь. Тем не менее, вам придется признать, что UNIX сыграл важную роль в разработке каждой операционной системы, используемой сегодня. Если это не иллюстрирует важность UNIX и его философии, я не уверен, что будет.