Главная страница
Навигация по странице:

  • 22. Типы UNIX

  • 23. Особенности BSD. Особенности System 5

  • ос и с. ОСиС. 1. Классификация программного обеспечения


    Скачать 2.7 Mb.
    Название1. Классификация программного обеспечения
    Анкорос и с
    Дата11.12.2022
    Размер2.7 Mb.
    Формат файлаdoc
    Имя файлаОСиС.doc
    ТипДокументы
    #839260
    страница10 из 29
    1   ...   6   7   8   9   10   11   12   13   ...   29
    20. Историческое развитие ОС


    1. Эволюция ОС




      1. Первый период (1945 -1955)


    Известно, что компьютер был изобретен английским математиком Чарльзом Бэбиджем в конце восемнадцатого века. Его "аналитическая машина" так и не смогла но-настоящему заработать, потому что технологии того времени не удовлетворяли требованиям по изготовлению деталей точной механики, которые были необходимы для вычислительной техники. Известно также, что этот компьютер не имел операционной системы.

    Некоторый прогресс в создании цифровых вычислительных машин произошел после второй мировой войны. В середине 40-х были созданы первые ламповые вычислительные устройства. В то время одна и та же группа людей участвовала и в проектировании, и в эксплуатации, и в программировании вычислительной машины. Это была скорее научно-исследовательская работа в области вычислительной техники, а не использование компьютеров в качестве инструмента решения каких-либо практических задач из других прикладных областей. Программирование осуществлялось исключительно на машинном языке. Об операционных системах не было и речи, все задачи организации вычислительного процесса решались вручную каждым программистом с пульта управления. Не было никакого другого системного программного обеспечения, кроме библиотек математических и служебных подпрограмм.


      1. Второй период (1955 - 1965)


    С середины 50-х годов начался новый период в развитии вычислительной техники, связанный с появлением новой технической базы - полупроводниковых элементов. Компьютеры второго поколения стали более надежными, теперь они смогли непрерывно работать настолько долго, чтобы на них можно было возложить выполнение действительно практически важных задач. Именно в этот период произошло разделение персонала на программистов и операторов, эксплуатационщиков и разработчиков вычислительных машин.

    В эти годы появились первые алгоритмические языки, а следовательно и первые системные программы - компиляторы. Стоимость процессорного времени возросла, что потребовало уменьшения непроизводительных затрат времени между запусками программ. Появились первые системы пакетной обработки, которые просто автоматизировали запуск одной программ за другой и тем самым увеличивали коэффициент загрузки процессора. Системы пакетной обработки явились прообразом современных операционных систем, они стали первыми системными программами, предназначенными для управления вычислительным процессом. В ходе реализации систем пакетной обработки был разработан формализованный язык управления заданиями, с помощью которого программист сообщал системе и оператору, какую работу он хочет выполнить на вычислительной машине. Совокупность нескольких заданий, как правило в виде колоды перфокарт, получила название пакета заданий.


      1. Третий период (1965 - 1980)


    Следующий важный период развития вычислительных машин относится к 1965-1980 годам. В это время в технической базе произошел переход от отдельных полупроводниковых элементов типа транзисторов к интегральным микросхемам, что дало гораздо большие возможности новому, третьему поколению компьютеров.
    Для этого периода характерно также создание семейств программно-совместимых машин. Первым семейством программно-совместимых машин, построенных на интегральных микросхемах, явилась серия машин IBM/360. Построенное в начале 60-х годов это семейство значительно превосходило машины второго поколения по критерию цена/произ-водительность. Вскоре идея программно-совместимых машин стала общепризнанной.

    Программная совместимость требовала и совместимости операционных систем. Такие операционные системы должны были бы работать и на больших, и на малых вычислительных системах, с большим и с малым количеством разнообразной периферии, в коммерческой области и в области научных исследований. Операционные системы, построенные с намерением удовлетворить всем этим противоречивым требованиям, оказались чрезвычайно сложными "монстрами". Они состояли из многих миллионов ассемблерных строк, написанных тысячами программистов, и содержали тысячи ошибок, вызывающих нескончаемый поток исправлений. В каждой новой версии операционной системы исправлялись одни ошибки и вносились другие.

    Однако, несмотря на необозримые размеры и множество проблем, OS/360 и другие ей подобные операционные системы машин третьего поколения действительно удовлетворяли большинству требований потребителей. Важнейшим достижением ОС данного поколения явилась реализация мультипрограммирования. Мультипрограммирование - это способ организации вычислительного процесса, при котором на одном процессоре попеременно выполняются несколько программ. Пока одна программа выполняет операцию ввода-вывода, процессор не простаивает, как это происходило при последовательном выполнении программ (однопрограммный режим), а выполняет другую программу (многопрог­раммный режим). При этом каждая программа загружается в свой участок оперативной памяти, называемый разделом.

    Другое нововведение - спулинг (spooling). Спулинг в то время определялся как способ организации вычислительного процесса, в соответствии с которым задания считывались с перфокарт на диск в том темпе, в котором они появлялись в помещении вычислительного центра, а затем, когда очередное задание завершалось, новое задание с диска загружалось в освободившийся раздел.

    Наряду с мультипрограммной реализацией систем пакетной обработки появился новый тип ОС - системы разделения времени. Вариант мультипрограммирования, применяемый в системах разделения времени, нацелен на создание для каждого отдельного пользователя иллюзии единоличного использования вычислительной машины.


      1. Четвертый период (1980 - настоящее время)


    Следующий период в эволюции операционных систем связан с появлением больших интегральных схем (БИС). В эти годы произошло резкое возрастание степени интеграции и удешевление микросхем. Компьютер стал доступен отдельному человеку, и наступила эра персональных компьютеров. С точки зрения архитектуры персональные компьютеры ничем не отличались от класса миникомпьютеров типа PDP-11, но вот цена у них существенно отличалась. Если миникомпьютер дал возможность иметь собственную вычислительную машину отделу предприятия или университету, то персональный компьютер сделал это возможным для отдельного человека.

    Компьютеры стали широко использоваться неспециалистами, что потребовало разработки "дружественного" программного обеспечения, это положило конец кастовости программистов.

    На рынке операционных систем доминировали две системы: MS-DOS и UNIX. Однопрограммная однопользовательская ОС MS-DOS широко использовалась для компьютеров, построенных на базе микропроцессоров Intel 8088, а затем 80286, 80386 и 80486. Мультипрограммная многопользовательская ОС UNIX доминировала в среде "не-интеловских” компьютеров, особенно построенных на базе высокопроизводительных RISC-процессоров.

    В середине 80-х стали бурно развиваться сети персональных компьютеров, работающие под управлением сетевых или распределенных ОС.

    В сетевых ОС пользователи должны быть осведомлены о наличии других компьютеров и должны делать логический вход в другой компьютер, чтобы воспользоваться его ресурсами, преимущественно файлами. Каждая машина в сети выполняет свою собственную локальную операционную систему, отличающуюся от ОС автономного компьютера наличием дополнительных средств, позволяющих компьютеру работать в сети. Сетевая ОС не имеет фундаментальных отличий от ОС однопроцессорного компьютера. Она обязательно содержит программную поддержку для сетевых интерфейсных устройств (драйвер сетевого адаптера), а также средства для удаленного входа в другие компьютеры сети и средства доступа к удаленным файлам, однако эти дополнения существенно не меняют структуру самой операционной системы.


    1. История создания и развития ОС


    Первоначально прототипы современных ОС создавались как средство, освобождающее операторов ЭВМ второго поколения от рутинных работ по установке лент и колод перфокарт на соответствующие ВУ, загрузке программ для исполнения, обработке ошибок при чтении данных и сбоях процессора, составлению очередности прохождения отдельных заданий, перемотке лент и т.д. Ко второй половине 80-х годов на мировом рынке ПЭВМ утвердились три группы ОС, ориентированные на вполне определенные классы ПЭВМ: · Простейшие ОС для 8-разрядных ПЭВМ с ОЗУ емкостью 50…150 К и внешней памятью на гибких магнитных дисках. В группу простейших ОС попадают операционные системы ОС ДВК, МИКРОС и МикроДОС; наиболее популярной ОС этой группы была система СР/М-80. Эти системы были рассчитаны на обслуживание одного пользователя, причем в каждый момент в памяти ПЭВМ может находиться только одна прикладная программа. Сервис, предоставляемый пользователю ПЭВМ системами этой группы, был минимален. ОС этой группы можно характеризовать предельной простотой процедур обращения к ядру системы, а также достаточной гибкостью работы с устройствами внешней памяти. · Инструментальные однопользовательские ОС для 16-разрядных ПЭВМ с ОЗУ емкостью 256…1024 К (файлы размещаются как на гибких дисках, так и на дисках типа "Винчестер"). В группу инструментальных однопользовательских ОС попадают операционные системы РАФОС-2 (с модификациями), МИКРОС-86, АДОС для ПЭВМ "Искра 1030/1130", ДОС для ПЭВМ ЕС-1840/1841. Наиболее популярной ОС этой группы стала система MS-DOS. · Мобильные инструментальные ОС для 32-разрядных ПЭВМ с ОЗУ емкостью более 1 Мбайта. К этой группе относятся операционные системы UNIX, XENIX, ИНМОС, ДЕМОС, МНОС, СР/М-68К. Стандарт СР/М Операционные системы типа DOS Стандарт MSX Операционные системы, основанные на графическом интерфейсе Пи - система Операционные системы семейства UNIX ОС создавались как средство, освобождающее операторов ЭВМ второго поколения от рутинных работ по установке лент и колод перфокарт на соответствующие ВУ, загрузке программ для исполнения, обработке ошибок при чтении данных и сбоях процессора, составлению очередности прохождения отдельных заданий, перемотке лент и т.д. Ко второй половине 80-х годов на мировом рынке ПЭВМ утвердились три группы ОС, ориентированные на вполне определенные классы ПЭВМ: · Простейшие ОС для 8-разрядных ПЭВМ с ОЗУ емкостью 50…150 К и внешней памятью на гибких магнитных дисках. В группу простейших ОС попадают операционные системы ОС ДВК, МИКРОС и МикроДОС; наиболее популярной ОС этой группы была система СР/М-80. Эти системы были рассчитаны на обслуживание одного пользователя, причем в каждый момент в памяти ПЭВМ может находиться только одна прикладная программа. Сервис, предоставляемый пользователю ПЭВМ системами этой группы, был минимален. ОС этой группы можно характеризовать предельной простотой процедур обращения к ядру системы, а также достаточной гибкостью работы с устройствами внешней памяти. · Инструментальные однопользовательские ОС для 16-разрядных ПЭВМ с ОЗУ емкостью 256…1024 К (файлы размещаются как на гибких дисках, так и на дисках типа "Винчестер"). В группу инструментальных однопользовательских ОС попадают операционные системы РАФОС-2 (с модификациями), МИКРОС-86, АДОС для ПЭВМ "Искра 1030/1130", ДОС для ПЭВМ ЕС-1840/1841. Наиболее популярной ОС этой группы стала система MS-DOS. · Мобильные инструментальные ОС для 32-разрядных ПЭВМ с ОЗУ емкостью более 1 Мбайта. К этой группе относятся операционные системы UNIX, XENIX, ИНМОС, ДЕМОС, МНОС, СР/М-68К. 


      1. Стандарт СР/М


    Начало созданию операционных систем для микроЭВМ положила ОС СР/М. Она была разработана в 1974 году, после чего была установлена на многих 8-разрядных машинах. В рамках этой операционной системы было создано программное обеспечение значительного объема, включающее трансляторы с языков Бейсик, Паскаль, Си, Фортран, Кобол, Лисп, Ада и многих других, текстовые и табличные процессоры, системы управления базами данных, графические пакеты, символьные отладчики и другие проблемно ориентированные программы. Успех системы в значительной степени был обусловлен ее предельной простотой и компактностью, возможностью быстрой настройки на различные конфигурации ПЭВМ. Первая версия системы занимала всего 4 К, что было весьма важно в условиях ограниченности объемов памяти ПЭВМ того времени.


      1. Операционные системы типа DOS


    ОС типа DOS стала доминирующей с появлением 16-разрядных ПЭВМ, использующих 16-разрядные микропроцессоры типа 8088 и 8086. С точки зрения долголетия ни одна операционная система для микрокомпьютеров не может даже приблизиться к DOS. С момента появления в 1981 году DOS распространилась настолько широко, что завоевала право считаться самой популярной в мире ОС. Несмотря на некоторые свои недостатки и на то, что большая ее часть основывается на разработках 70-х годов, DOS продолжает существовать и распространяться и поныне. Хорошо это или плохо, она, вероятно, будет доминировать на рынке операционных систем в течение ближайшего времени. В настоящее время для DOS разработан огромный фонд программного обеспечения. Имеются трансляторы для практически всех популярных языков высокого уровня, включая Бейсик, Паскаль, Фортран, Си, Модула-2, Лисп, Лого, АПЛ, Форт, Ада, Кобол, ПЛ-1, Пролог, Смолток и др.; причем для большинства языков существует несколько вариантов трансляторов. Имеются инструментальные средства для разработки программ в машинных кодах - ассемблеры, символьные отладчики и др. Эти инструментальные средства сопровождаются редакторами, компоновщиками и другими сервисными системами, необходимыми для разработки сложных программ. Кроме системного программного обеспечения для DOS создано множество прикладных программ.


      1. Стандарт MSX


    Этот стандарт определял не только ОС, но и характеристики аппаратных средств для школьных ПЭВМ. Согласно стандарту MSX машина должна была иметь оперативную память объемом не менее 16 К, постоянную память объемом 32 К с встроенным интерпретатором языка Бейсик, цветной графический дисплей с разрешающей способностью 256х192 точек и 16 цветами, трехканальный звуковой генератор на 8 октав, параллельный порт для подключения принтера и контроллер для управления внешним накопителем, подключаемым снаружи. Операционная система такой машины должна была обладать следующими свойствами: требуемая память - не более 16 К, совместимость с СР/М на уровне системных вызовов, совместимость с DOS по форматам файлов на внешних накопителях на основе гибких магнитных дисков, поддержка трансляторов языков Бейсик, Си, Фортран и Лисп. Таким образом, эта операционная система, получившая название MSX-DOS, учитывала необходимость поддержки обширного программного обеспечения, разработанного для СР/М, и одновременно ориентировалась на новые в то время разработки, связанные с DOS.


      1. Операционные системы, основанные на графическом интерфейсе


    Помимо широко распространенных машин, проектируемых в соответствии со сложившимися стандартами, часто создаются машины, в которых особо выделяется какое-либо свойство. Так, наибольшее внимание в начале и середине 80-х годов привлекли своими графическими возможностями машины Macintosh и Amiga. В первой из них дисплей был монохромным, во второй - цветным, но обе отличались высокой разрешающей способностью и скоростью вывода графической информации на дисплей. Операционные системы для этих машин были спроектированы так, чтобы максимально использовать возможности работы с графикой. В них используется многооконный интерфейс и манипулятор "мышь". Для выбора той или иной операции или рабочего объекта на экран выводится несколько условных графических символов (пиктограмм), среди которых пользователь делает выбор с помощью "мыши".


      1. Пи-Система


    В начальный период развития персональных компьютеров была создана операционная система USCD p-system. Основу этой системы составляла так называемая П-машина - программа, эмулирующая гипотетическую универсальную вычислительную машину. П-машина имитирует работу процессора, памяти и внешних устройств, выполняя специальные команды, называемые П-кодом. Программные компоненты Пи-системы (в том числе компиляторы) составлены на П-коде, прикладные программы также компилируются в П-код. Таким образом, главной отличительной чертой системы являлась минимальная зависимость от особенностей аппаратуры ПЭВМ. Именно это обеспечило переносимость Пи-системы на различные типы машин. Компактность П-кода и удобно реализованный механизм подкачки позволял выполнять сравнительно большие программы на ПЭВМ , имеющих небольшую оперативную память. Однако принципиальной особенностью данной системы являлся преимущественно интерпретационный режим исполнения прикладных программ, что влекло интенсивные обмены информацией между оперативной памятью и внешними накопителями. В результате происходило существенное замедление работы.


      1. Операционные системы семейства UNIX


    Система UNIX приобрела популярность в связи с ее успешным использованием на мини-ЭВМ. Этот успех послужил толчком к тому, чтобы создать подобную систему и для персональных компьютеров. Как правило, различные версии ОС, относящихся к этому семейству, имеют свои названия, но в основных чертах повторяют особенности UNIX. UNIX - операционная система, которая позволяет осуществить выполнение работ в многопользовательском и многозадачном режиме. Поначалу она предназначалась для больших ЭВМ, чтобы заменить MULTICS. UNIX является очень мощным средством в руках программиста, но требует очень большого объёма ОЗУ и пространства диска. Несмотря на попытки стандартизировать эту операционную систему, существует большое количество различных его версий, главным образом потому, что она была распространена в виде программы на языке Си, которую пользователи стали модифицировать для своих собственных нужд. Главной отличительной чертой этой системы является ее модульность и обширный набор системных программ, которые позволяли создать благоприятную обстановку для пользователей-программистов. Система UNIX органически сочетается с языком Си, на котором написано более 90% ее собственных модулей. Командный язык системы практически совпадает с языком Си, что позволяло очень легко комбинировать различные программы при создании больших прикладных систем. UNIX имеет "оболочку", с которой пользователь непосредственно взаимодействует, и "ядро", которое, собственно, и управляет действиями компьютера. Компьютер выводит в качестве приглашения для ввода команд долларовый знак. Из-за продолжительности пользования этой операционной системы количество команд весьма велико. В добавление к командам по управлению файлами, которые присутствуют в любой операционной системе, UNIX имеет, по крайней мере, один текстовый редактор, а также форматер текста и компилятор языка Си, что позволяет, по мере надобности, модифицировать "оболочку". От UNIX многие другие операционные системы переняли такие функции, как переназначение, канал и фильтр; однако UNIX имеет несомненно преимущество в том, что она с самого начала разрабатывалась как многопользовательская и многозадачная операционная система. Имена файлов могут иметь 14 знаков, причём в именах файлов различаются заглавные и строчные буквы. Первоначальный набор команд операционной системы расширился до 143 в версии 7.0; в версии System III добавилась ещё 71 команда, ещё 25 - в Berkeley 4.1 и следующие 114 в Berkeley 4.2. Из-за такого обилия команд UNIX не относится к самым удобным для пользователя языкам. Работа облегчается, если применять графический пользовательский интерфейс, но поскольку такое количество команд и без того занимает значительный объём памяти, этот интерфейс требует ещё большего объёма памяти и пространства диска.
    21. ОС UNIX
    Операционная система UNIX - многопользовательская, сетевая операционная система, предназначенная для использования на любых моделях компьютеров, как в качестве сервера сети, так и в качестве персональной рабочей станции.

    ОС UNIX создана в 1969 году. С тех пор ОС UNIX является самой популярной ОС для любых моделей компьютеров от простейщих персональных ЭВМ до суперкомпьютеров.

    Существуют версии ОС UNIX (SCO UnixWare, Digital UNIX, Interactive UNIX, ...), а также множество, как клонов (SUN Solaris, IRIX, IBM AIX, ...). Кроме того существуют некоммерческие клоны ОС UNIX (Linux, FreeBSD).

    Основные черты ОС UNIX:


    • масштабируемость (при увеличении колличества CPU - увеличение производительности практически линейно);

    • переносимость (приложения переносимы на уровне исходных текстов между различными версиями ОС UNIX);

    • кросс-платформенность (версии ОС UNIX существуют практически для всех современных архитектур);

    • открытость (для получения системой торговой UNIX выполняется набор тестов на соответствие стандартам открытых систем).


    Основные сервисы ОС UNIX


    • Приложений




      • СУБД

      • Прикладные задачи




    • Файловый




      • NFS (Network File System)

      • FTP (File Transfer Protocol)

      • NCPFS (Эмуляция сервера Novell NetWare)

      • SMBFS (Сервис совместимый с Microsoft Windows NT, 95, WfWG, IBM LAN (Warp) Server)

      • UUCP (Unix to Unix Copy)




    • Печать

    • InterNet, IntraNet




      • E-Mail

      • R-Services

      • DNS (Domen Name Service)

      • Router (Маршрутизация)

      • WWW (World Wide Web)


    Существует два основных интерфейса пользователя ОС UNIX: текстовый или интерфейс командной строки (пользователь "общается" со специальной программой - SHELL) и графический (X-Windows)
    Текстовый режим работы доступен на любых типах терминала, при работе Telnetом, и на консоли. Текстовый режим является основным для привилегированных пользователей ОС UNIX. Графический режим работы доступен на специальных X-терминалах, при помощи программ эмуляции X-терминала и на консоли. В настоящее время - это основной режим работы пользователей ОС UNIX.

    Основные Shellы:


    • SH - стандартный интерпретатор командных строк.

    • CSH - интерпретатор командных строк, обладающий С-подобным синтаксисом.

    • KSH (KornShell) - стандартный интерпретатор командных строк и язык программирования.

    • BASH - SH подобный интерпретатор командных строк, имеющий некоторые черты CSH. Распространен на Linux системах. Удобный интерфейс пользователя.


    Пример организации файловой системы ОС UNIX.
    /

    |-- boot (stand) - ядро ОС UNIX и программа загрузки ОС.

    |-- bin - выполняемые модули общего назначения.

    |-- lib - статические и разделяемые библиотеки.

    |-- sbin - выполняемые модули для администратора системы.

    |-- usr

    | |-- bin - выполняемые модули для пользователей.

    | |-- lib - статические и разделяемые библиотеки.

    | |-- man (share/man(cat)) - документация.

    | |-- local

    | |-- bin - выполняемые модули, специфичные для конкретной UNIX системы.

    | |-- lib - статические и разделяемые библиотеки.

    |-- mnt - монтированые файловые системы (floppy, CDROM, NFS...).

    |-- home - домашние каталоги пользователей.

    |-- etc - файлы конфигурации и выполняемые модули,

    | предназначенные для настройки системы.

    Режимы доступа к файлам ОС UNIX

    Для каждого файла ОС UNIX установлены три категории доступа:


    • OWNER (владелец файла),

    • GROUP (группа которой принадлежит владелец файла) и

    • OTHER (все остальные пользователи).



    Для каждой категории установлены три режима доступа:


    • R - право на чтение файла

    • W - право на запись, создание и модификацию файла

    • X - право на выполнение файла (для каталога права поиска (просмотра) в каталоге).


    По умолчанию:


    • не выполняемые файлы создаются с режимом доступа -rw-r--r-- (чтение и запись для владельца, чтение для остальных);

    • выполняемые файлы создаются с режимом доступа -rwxr-xr-x (чтение, запись и выполнение для владельца, чтение и выполнение для остальных);

    • каталоги создаются с режимом доступа -rwxr-xr-x (чтение, запись и поиск для владельца, чтение и поиск остальных);


    22. Типы UNIX
    UNIX имеет долгую и интересную историю. Начавшись как несерьезный и почти "игрушечный" проект молодых исследователей, UNIX стал многомиллионной индустрией, включив в свою орбиту университеты, многонациональные корпорации, правительства и международные организации стандартизации.

    UNIX зародился в лаборатории Bell Labs фирмы AT&T более 20 лет назад. В то время Bell Labs занималась разработкой многопользовательской системы разделения времени MULTICS (Multiplexed Information and Computing Service) совместно с MIT и General Electric, но эта система потерпела неудачу, отчасти из-за слишком амбициозных целей, не соответствовавших уровню компьютеров того времени, а отчасти и из-за того, что она разрабатывалась на языке PL/1, а компилятор PL/1 задерживался и вообще плохо работал после своего запоздалого появления. Поэтому Bell Labs вообще отказалась от участия в проекте MULTICS, что дало возможность одному из ее исследователей, Кену Томпсону, заняться поисковой работой в направлении улучшения операционной среды Bell Labs. Томпсон, а также сотрудник Bell Labs Денис Ритчи и некоторые другие разрабатывали новую файловую систему, многие черты которой вели свое происхождение от MULTICS. Для проверки новой файловой системы Томпсон написал ядро ОС и некоторые программы для компьютера GE-645, который работал под управлением мультипрограммной системы разделения времени GECOS. У Кена Томпсона была написанная им еще во времена работы над MULTICS игра "Space Travel" - "Космическое путешествие". Он запускал ее на компьютере GE-645, но она работала на нем не очень хорошо из-за невысокой эффективности разделения времени. Кроме этого, машинное время GE-645 стоило слишком дорого. В результате Томпсон и Ритчи решили перенести игру на стоящую в углу без дела машину PDP-7 фирмы DEC, имеющую 4096 18-битных слов, телетайп и хороший графический дисплей. Но у PDP-7 было неважное программное обеспечение, и, закончив перенос игры, Томпсон решил реализовать на PDP-7 ту файловую систему, над который он работал на GE-645. Из этой работы и возникла первая версия UNIX, хотя она и не имела в то время никакого названия. Но она уже включала характерную для UNIX файловую систему, основанную на индексных дескрипторах inode, имела подсистему управления процессами и памятью, а также позволяла двум пользователям работать в режиме разделения времени. Система была написана на ассемблере. Имя UNIX (Uniplex Information and Computing Services) было дано ей еще одним сотрудником Bell Labs, Брайаном Керниганом, который первоначально назвал ее UNICS, подчеркивая ее отличие от многопользовательской MULTICS. Вскоре UNICS начали называть UNIX.

    Первыми пользователями UNIX'а стали сотрудники отдела патентов Bell Labs, которые нашли ее удобной средой для создания текстов.

    Большое влияние на судьбу UNIX оказала перепись ее на языке высокого уровня С, разработанного Денисом Ритчи специально для этих целей. Это произошло в 1973 году, UNIX насчитывал к этому времени уже 25 инсталляций, и в Bell Labs была создана специальная группа поддержки UNIX.

    Широкое распространение UNIX получил с 1974 года, после описания этой системы Томпсоном и Ритчи в компьютерном журнале CACM. UNIX получил широкое распространение в университетах, так как для них он поставлялся бесплатно вместе с исходными кодами на С. Широкое распространение эффективных C-компиляторов сделало UNIX уникальной для того времени ОС из-за возможности переноса на различные компьютеры. Университеты внесли значительный вклад в улучшение UNIX и дальнейшую его популяризацию. Еще одним шагом на пути получения признания UNIX как стандартизованной среды стала разработка Денисом Ритчи библиотеки ввода-вывода stdio. Благодаря использованию этой библиотеки для компилятора С, программы для UNIX стали легко переносимыми.




    Рис. 5.1. История развития UNIX

    Широкое распространение UNIX породило проблему несовместимости его многочисленных версий. Очевидно, что для пользователя весьма неприятен тот факт, что пакет, купленный для одной версии UNIX, отказывается работать на другой версии UNIX. Периодически делались и делаются попытки стандартизации UNIX, но они пока имели ограниченный успех. Процесс сближения различных версий UNIX и их расхождения носит циклический характер. Перед лицом новой угрозы со стороны какой-либо другой операционной системы различные производители UNIX-версий сближают свои продукты, но затем конкурентная борьба вынуждает их делать оригинальные улучшения и версии снова расходятся. В этом процессе есть и положительная сторона - появление новых идей и средств, улучшающих как UNIX, так и многие другие операционные системы, перенявшие у него за долгие годы его существования много полезного.

    На рисунке 5.1 показана упрощенная картина развития UNIX, которая учитывает преемственность различных версий и влияние на них принимаемых стандартов. Наибольшее распространение получили две весьма несовместимые линии версий UNIX: линия AT&T - UNIX System V, и линия университета Berkeley-BSD. Многие фирмы на основе этих версий разработали и поддерживают свои версии UNIX: SunOS и Solaris фирмы Sun Microsystems, UX фирмы Hewlett-Packard, XENIX фирмы Microsoft, AIX фирмы IBM, UnixWare фирмы Novell (проданный теперь компании SCO), и список этот можно еще долго продолжать.

    Наибольшее влияние на унификацию версий UNIX оказали такие стандарты как SVID фирмы AT&T, POSIX, созданный под эгидой IEEE, и XPG4 консорциума X/Open. В этих стандартах сформулированы требования к интерфейсу между приложениями и ОС, что дает возможность приложениям успешно работать под управлением различных версий UNIX.

    Независимо от версии, общими для UNIX чертами являются:


    • многопользовательский режим со средствами защиты данных от несанкционированного доступа,

    • реализация мультипрограммной обработки в режиме разделения времени, основанная на использовании алгоритмов вытесняющей многозадачности (preemptive multitasking),

    • использование механизмов виртуальной памяти и свопинга для повышения уровня мультипрограммирования,

    • унификация операций ввода-вывода на основе расширенного использования понятия "файл",

    • иерархическая файловая система, образующая единое дерево каталогов независимо от количества физических устройств, используемых для размещения файлов,

    • переносимость системы за счет написания ее основной части на языке C,

    • разнообразные средства взаимодействия процессов, в том числе и через сеть,

    • кэширование диска для уменьшения среднего времени доступа к файлам.


    Далее мы подробно остановимся на основных концепциях версии UNIX System V Release 4, которая вобрала в себя лучшие черты линий UNIX System V и UNIX BSD.

    Версия UNIX System V Release 4 - это незаконченная коммерческая версия операционной системы, т.к. в ее кодах отсутствуют многие системные утилиты, необходимые для успешной эксплуатации ОС, например утилиты администрирования или менеджер графического интерфейса. Версия SVR4 является скорее стандартной реализацией кода ядра, вобравшая в себя наиболее популярные и эффективные решения из различных версий ядра UNIX, такие как виртуальная файловая система VFS, отображаемые в память файлы и т.п. Код SVR4 (частично доработанный) лег в основу многих современных коммерческих версий UNIX, таких как HP-UX, Solaris, AIX и т.д.
    23. Особенности BSD. Особенности System 5
    История BSD
    Исходные тексты из AT&T, где и разрабатывалась основная версия, были переданы университету в городе Беркли в Калифорнии. Там шла разработка с 1975 по 1993 год группой Computer Systems Research Group, и позже (начало 90-х) была создана компания BSDI, распространяющая свою версию UNIX под именем BSD/386 - Berkeley Software Distribution of UNIX для платформы PC. В AT&T возмутились и подали в суд за то, что в BSD использовались их исходные тексты, хотя многие говорили, что от кодов AT&T UNIX в BSD если что-то и осталось, то это не играет никакой значимой роли (AT&T несла убытки, так как распространяла свой AT&T UNIX, используя в нём разработки университета в Беркли, а BSD стала прямым конкурентом этой системы). Как бы то ни было, был затеян судебный процесс, то есть свободно распространяемой системы для Интернета (например, для интернет-серверов) не осталоcь.

    Примерно в это же время (1991 год) ещё никому не известный студент финского университета в городе Хельсинки Линус Торвальдс объявляет в одной их групп новостей о начале разработки UNIX-like OS с открытыми исходными текстами на базе Minix - ОС, которую создал профессор Линуса и которая была интересна только хакерам, любителям во всём разобраться. Линус пишет ядро Linux (назвал, конечно, в честь себя, любимого) и выкладывает исходные тексты на в группы новостей для обсуждения и обнаружения ошибок. В том числе и вследствие сложившейся ситуации с BSD, Линус получил широкую поддержку и очень много людей стало заниматься разработкой новой перспективной и, главное, свободно распространяемой ОС.

    Собственно судебный процесс по делу BSD завершился тем, что из BSD изымаются все исходные коды AT&T UNIX. По этому поводу некоторые говорили, что от BSD отрезали значительный кусок, но если бы так было на самом деле, наверное ни Yahoo, ни Hotmail, ни Xoom, ни Apache и другие не использовали бы FreeBSD - прямого потомка BSD. На самом деле исходных кодов от AT&T UNIX в BSD оставалось менее 10%. Так вот, после завершения дела проект BSD разделился на 2 (1995 год): FreeBSD и NetBSD (от которой позже - 1996 год - отделился проект OpenBSD) которые теперь не имеют никакого отношения к университету в Беркли, так как их разработчики разбросаны по всему миру, а UNIX теперь - торговая марка The Open Group. Разделение произошло потому, что эти 3 проекта преследуют разные цели, хотя все они разрабатываются по модели Open Source (открытые исходные коды) и распростряняются бесплатно:

    • девиз NetBSD - "конечно на этом работает NetBSD!" Про эту ОС говорят, что если у устройства есть процессор и немного места на накопителе, то NetBSD, скорее всего, можно установить. Все платформы перечислять не буду, назову одну из самых экзотических- Amiga;

    • OpenBSD работает на немного меньшем числе платформ, но основное преимущество этой системы - её защищённость и встроенные средства криптографии;

    • FreeBSD (можете зайти также на русскую страницу) работает на PC (i386 и совместимые) и системах на процессоре Compaq/Digital Alpha. В качестве эксперимента FreeBSD портируется на другие платформы, такие как MIPS R4000 и Sun Sparc; основной задачей этой ОС является работа в сети и на рабочих станциях.

    1   ...   6   7   8   9   10   11   12   13   ...   29


    написать администратору сайта