Альтернативные операционные системы Linux, UNIX

Мацкевич Илона Викторовна, 6 от



Министерство сельского хозяйства и продовольствия Республики Беларусь

Белорусский государственный аграрный технический университет









Кафедра вычислительной техники











Реферат на тему:

«Альтернативные операционные системы Linux, UNIX»











Выполнила: студентка 1 курса ФТС гр. 6 от                              Мацкевич И. В.

Руководитель:                                                                                Цубанова И. А.













Минск, 2009






	Содержание

	Введение	3

	Основная часть	3

	UNIX	3

	Linux	3

	Заключение	3

	Литература	3

	Приложение 1.	3

	Приложение 2	3






Введение

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

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

Существуют версии UNIX для многих систем, начиная от персонального компьютера, до суперкомпьютеров, таких как Cray Y-MP. Большинство версий UNIX для персональных компьютеров достаточно дороги и сложны. К моменту написания этой книги одномашинная версия AT&T's System V для 386 стоила US$1500.

Linux - свободно распространяемая версия UNIX, первоначально была разработана Линусом Торвальдсом в Университете Хельсинки (Финляндия). Linux был создан с помощью многих UNIX-программистов и энтузиастов из Internet, тех, кто имеет достаточно навыков и способностей развивать систему. Ядро Linux не использует коды AT&T или какого-либо другого частного источника, и большинство программ Linux разработаны в рамках проекта GNU из Free Software Foundation в Cambridge, Massachusetts. Но в него внесли лепту также программисты всего мира.





Основная часть

UNIX

UNIX зародился в лаборатории Bell Labs фирмы AT&T более 20 лет назад (в 1965 г.). В то время Bell Labs занималась разработкой многопользовательской системы разделения времени MULTICS (Multiplexed Information and Computing Service) совместно с MIT и General Electric. Эта ОС задумывалась как многопользовательская, многозадачная, с иерархической файловой системой (multi-user, multi-processor, multi-level), однако эта система потерпела неудачу, отчасти из-за слишком амбициозных целей, не соответствовавших уровню компьютеров того времени, а отчасти и из-за того, что она разрабатывалась на языке PL/1, а компилятор PL/1 задерживался и вообще плохо работал после своего запоздалого появления. Поэтому Bell Labs вообще отказалась от участия в проекте MULTICS (1969 г.), что дало возможность одному из ее исследователей, Кену Томпсону, заняться поисковой работой в направлении улучшения операционной среды 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 было дано ей еще одним сотрудником Bell Labs, Брайаном Керниганом, который первоначально назвал ее UNICS (Uniplex Information and Computing Services - одно-функциональный информационный и вычислительный сервис), подчеркивая ее отличие от многопользовательской MULTICS. Вскоре UNICS начали называть UNIX.

Годом рождения UNIX считается 1970 год. Именно от первого января 1970 года отсчитывается системное время в *nix. Первыми пользователями UNIX'а стали сотрудники отдела патентов Bell Labs, которые нашли ее удобной средой для создания текстов.

1971 год. ОС Unix перенесена на PDP-11/20 с 16 Kb оперативной памятии 512 Kb дискового пространства. Эта версия стала первой редакцией ОС (First Edition). В ней уже были реализованы такие утилиты, как roff и ed, системные вызовы fork() и другие. В этом же году ОС находит себе первое практическое применение в патентном бюро Bell Laboratories. Создается группа программистов для дальнейшего развития ОС Unix. Программисты всего мира начинают обращать внимание на молодую ОС. Их привлекают принципы, закладываемые в нее разработчиками:

удобство для разработки и программирования; 

простой пользовательский интерфейс; 

простые средства и утилиты, которые можно легко и гибко комбинировать, для получения необходимого результата; 

развитая файловая система; 

простота и унифицированность доступа к устройствам; 

многозадачность и поддержка работы с большим количеством пользователей; 

независимость от аппаратной платформы и прозрачность для пользователя.

В 1972 году появляется вторая версия Unix (Second Edition). Она устанавливается на 10 машин. В 1973 году выходит третья редакция Unix. Она уже включает концепцию потоков (pipe). Устанавливается на 16 систем. В этом же году выходит четвертая редакция Unix. Код переписан на C - языке программирования высокого уровня. Этот язык разработали Томпсон и Ритчи как развитие языка B, созданного ранее Томпсоном. Это резко улучшило переносимость системы на любые аппаратные платформы и во многом предопределило дальнейший успех ОС. Количество установок перешагивает за отметку 30. Этот этап оказал большое влияние на судьбу UNIX, и в Bell Labs была создана специальная группа поддержки этой системы. 

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

В дальнейшем история развития UNIX стала весьма разнообразной. Начавшаяся с университетов, где первоначально в основном использовалась данная ОС, популярность побудила к созданию различного рода клонов. Bell Laboratories на протяжении ряда лет поддерживала линию основной версии UNIX, периодически выпуская новые ее редакции вплоть до Version 10. В 1976 году была выпущена Version 6, которая бесплатно распространялась в университетах и послужила, тем самым, основным толчком к росту популярности ОС. На основе этой версии, а так же в последующем Version 7, было построено немало новых систем.

В 1978 году университетом города Беркли, штат Калифорния, была выпущена операционная система BSD (Berkley Software Distribution) Unix, названная 1BSD, которая была построена на базе кода AT&T, лицензия на который была приобретена у AT&T годом ранее. Эта ОС послужила началом для наиболее длинной, существующей по сей день, ветви развития операционных систем семейства UNIX, называемых BSD системами. С выходом в свет Version 7, на ее основе разрабатывается 3BSD для машин VAX, которая поддерживала виртуальную память и страничное замещение.

В 1980 году, при финансовой поддержке Министерства Обороны США и по их же инициативе, начаты работы по внедрению стека протоколов TCP/IP. Работы завершились в 1981 году выпуском 4.1BSD. Дальнейшее продолжение работы над BSD UNIX велось уже с акцентом на поддержку сетевых технологий. Версия 4.2BSD, выпущенная в 1983 году, уже имела поддержку технологии Ethernet и могла интегрироваться в сеть ARPANET, предтеча сегодняшнего Интернета.

Благодаря столь большим результатам и доступности, 4.2BSD стала наиболее популярной в исследовательских и научных учреждениях. Кроме того, эффективность и функциональность этой системы послужила основой для разработки операционных систем SunOS компании Sun Microsystems и Ultrix, предшественника OSF/1. На базе последующей версии 4.3BSD Reno создаются ОС Net/2 и вслед за ней, с распространением процессоров Intel 80386, BSD/386 и 386BSD. BSD/386 стала основой для существующей сейчас коммерческой ОС BSDI, а 386BSD явилась одной из компонент при создании целого семейства ОС: FreeBSD, NetBSD и OpenBSD.

Кульминационным моментом развития системы стал 1993 год, когда была выпущена версия 4.4BSD. В связи с тем, что BSD содержала код AT&T, а цены на лицензионное использование этого кода неизменно росли, было принято, можно сказать историческое, решение убрать код AT&T, что и было с успехом проделано.

Выпуск Version 7 в 1979 году послужил вторым, после Version 6, толчком к созданию великого множества клонов ОС UNIX. Параллельно с Version 7 Bell Laboratories принимает активное участие в разработке спецификации System III, для чего была создана специальная группа USG (UNIX Support Group - группа поддержки UNIX), одной из задач которой была коммерческая раскрутка UNIX. System III была выпущена в 1982 году и, поскольку эта спецификация была создана для распространения за пределами Bell Laboratories, в отличие от редакций предназначенных для внутреннего использования, послужила основой для создания спецификации System V в 1983 году, которая, в свою очередь оказала большое влияние на развитие современных систем.

Забавно отметить такой факт - популярность Version 7 оказалась настолько высока, что молодая компания Microsoft, едва успев выпустить более-менее рабочую версию своей операционной системы MS DOS 2.0 для компьютеров IBM PC, хватается за разработку собственной версии UNIX - Xenix. При этом делаются рекламные заявления о том, что именно эта ОС является стратегическим курсом компании, поскольку UNIX - будущее операционных систем. Проект сначала был заморожен, потом закрыт, его код в последствии был продан компании Santa Cruz Operation и послужил одной из компонент при разработке ОС SCO Unix.

К 1987 спецификация System V была значительно переработана и обогащена дополнительными возможностями. Выходит версия System V Release 3 (SVR3). Успех SVR3 побудил компанию Sun Microsystems заключить в 1988 соглашение с AT&T о дальнейшем совместном развитии System V. Возникновение альянса двух крупных компаний не могло остаться незамеченным для конкурентов. DEC, IBM и Hewlett-Packard создают альтернативную организацию, получившую название OSF (Open Software Foundation - объединение открытого программного обеспечения), главной целью которой являлась разработка независимой от AT&T и Sun операционной системы. Результатом стал выход операционной системы OSF/1. Вряд ли эта ОС привнесла что-то новое в мир UNIX, это был больше политический шаг, однако ряд коммерческих ОС связывает себя именно с OSF/1.

Ключевым этапом в развитии ветви System V стал 1989 год, год выхода System V Release 4 (SVR4). Важным шагом было решение об объединении возможностей различных UNIX подобных ОС: BSD, SunOS и System V "под одной крышей". Приобретя тем самым новое качество и устранив внутренние противоречия к версии System V Release 4.2, ветвь продолжает доброе существование и по сей день, представляя собой целое облако операционных систем различных производителей.

В 1992 году компания AT&T потеряла интерес к дальнейшей поддержке UNIX систем и успешно перепродала все структуры данного проекта преуспевающей тогда компании Novell. На базе System V Novell разработала собственную систему, получившую название UnixWare. Большого распространения она не получила в силу того, что в то время сама же Novell эффективно торговала другим своим продуктом Novell NetWare и продвижение UnixWare, в первую очередь, означало бы вытеснение NetWare. Так и не доведя дело до сколь-нибудь достойного завершения, Novell решает, в свою очередь, избавится от UnixWare и перепродает его компании Santa Cruz Operation, которая в то время занимала достаточно твердую, пусть и не высокую позицию с собственным продуктом SCO UNIX.

Широкое распространение UNIX породило проблему несовместимости его многочисленных версий. Очевидно, что для пользователя весьма неприятен тот факт, что пакет, купленный для одной версии UNIX, отказывается работать на другой версии UNIX. Периодически делались и делаются попытки стандартизации UNIX, но они пока имели ограниченный успех. Процесс сближения различных версий UNIX и их расхождения носит циклический характер. Перед лицом новой угрозы со стороны какой-либо другой операционной системы различные производители UNIX-версий сближают свои продукты, но затем конкурентная борьба вынуждает их делать оригинальные улучшения и версии снова расходятся. В этом процессе есть и положительная сторона - появление новых идей и средств, улучшающих как 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 подобных ОС является Linux. Именно поэтому часто говорят, что Linux это не совсем UNIX.



Linux

История Linux началась с создания профессором Хельсинского университета Эндрю Танненбаумом программы Minix, демонстрирующей различные возможности UNIX. Студент факультета вычислительной техники того же университета, Линус Торвальдс, решил на ее основе разработать эффективную версию UNIX для платформы IBM PC, которую он назвал Linux. Первоначально Linux создавался Линусом Торвальдсом как хобби. Небольшая тестовая программа превратилась в пакет эмуляции терминала. Постепенно эмулятор терминала обрастал наворотами. Был написан драйвер для дисковода. Линус сделал свою файловую систему совместимой с системой Minix, для того, чтобы она могла читать файлы, созданные программой эмуляции терминала. Программа росла, эмулятор терминала превращался в нечто гораздо большее. Так или иначе, в итоге возникло ядро, содержащее все основные компоненты Unix - переключение задач, файловую систему и драйверы устройств. Другими словами, на свет появилась операционная система Linux Version 0.02, в которой уже успешно работали bash, gcc, gnu-make, gnu-sed, compress и т.д. Исходные коды Линус еженедельно выкладывал в интернете, предлагая фанатам Minix и всем желающим участвовать в его проекте по созданию бесплатной операционной системы. Программисты со всего мира вносили изменения в исходные коды, писали свои дополнения к уже существующим, быстрыми темпами развивая Linux. Лидером и координатором проекта был Линус. В 1991 году была опубликована версия 0.1. В первую неделю января 1992 появилась версия 0.12, которая включала в себя подкачку (в Minix кстати её не было). Добавление подкачки сразу вывело Linux вперед. Люди стали переходить от Minix к Linux. Именно в январе пользоваться Linux стали не только те 5, 10, 20 человек, с кем Линус переписывался и кого знал по именам, но и сотни неизвестных ему людей. Получив большое распространение в Интернет и доработанная многими энтузиастами эта ОС доросла к 1994 году до версии 1.0, к этому моменту в нее был интегрирован TCP/IP стек, базирующийся на 4.3BSD. Позже ядро операционной системы и ее архитектура были серьезно переработаны поближе к спецификации System V Release 4.2, а так же с целью максимально возможного соответствия стандарту POSIX, что послужило выпуску версии 2.0.

Сегодня Linux - одна из самых популярных и стабильных операционных систем, работающая на компьютерах практически любой архитектуры. Linux, как и его старший брат - Unix, идеально подходит как для сервера сети, так и для домашнего использования. Linux очень неприхотливая операционная система - она может работать на 386-м компьютере, да ещё и в качестве DNS - сервера. Linux очень экономно работает с оперативной памятью: по мере необходимости в память загружаются только нужные участки кода. Проблема компьютерных вирусов Linux не тревожит: без прав администратора (root) никакой вирус не сможет нанести ущерб системе. С точки зрения сетевой безопасности у Linux всё как нельзя лучше - архитектура системы очень хорошо подходит для работы в сети. А наличие исходных кодов позволяет очень гибко настроить операционную систему под свои нужды, также устранить ошибку в системе самостоятельно, не дожидаясь заплаток или выхода новых версий. Сервер под управлением Linux может работать без перезагрузки годами, пока не потребуется апгрейд оборудования или перекомпиляция ядра.

Главное преимущество Linux перед другими операционными системами - высокая надёжность и безопасность, открытость исходного кода, богатые инструменты для разработки, и, наконец, бесплатность... Каждый может распространять, скачивать из интернета, продавать, модифицировать Linux - это только поощряется.

Linux прекрасно подходит для программистов, имея в своём составе компиляторы для самых популярных языков программирования: C, C++, Ассемблер, Perl, Python, Tcl/TK, Java, Fortran, Ada, Forth и другие, а также огромное количество программ для программиста. Также можно приобрести отдельно и другие компиляторы популярных языков, например, Паскаль. Многие фирмы переносят своё программное обеспечение для программиста в ОС Linux (Например, Borland jBuilder, Kylix и др.)

Кроме того, Linux имеет хорошие мультимедийные возможности, благодаря оболочкам XWindow - KDE, Gnome и прочих. Любую оболочку можно настроить на ваш вкус. Под Linux имеются видео и аудио проигрыватели, графические программы для просмотра и для работы с графикой и много других возможностей... Уже сейчас многие производители переносят свои игровые программы именно в Linux.

Немаловажно отметить, что разрабатываемая многочисленными энтузиастами по всему миру ОС Linux, не являет собой однородной завершенной системы. Однородным в Linux является только ядро, поскольку поддерживается до сих пор единственным человеком, ее родоначальником, Линусом Торвальдсом. Поэтому версия самой ОС определяется только по версии ее ядра. В связи с высокой разнородностью в среде Linux существует понятие дистрибьюции этот термин обозначает подготовку и выпуск неким объединением установочной версии ОС Linux на базе какой-то версии ядра. Сколько существует дистрибьюций Linux, столько существует и различных его вариантов, отличающихся способом установки, конфигурации, структурой организации дерева каталогов, размещением конфигурационных файлов, набором программных компонент и библиотек, коллекцией дополнительных программных пакетов, их названиями, комплектом сопроводительной документации и т.д. Наиболее известными на данном этапе являются следующие дистрибьюции: Debian, RedHat, Slackware, Mandrake . Столь большое количество дистрибьюций системы есть следствие ее большой популярности, которая очень положительно влияет на развитие самой ОС.




Заключение

Свободно распространяемые ОС вплотную приблизились к коммерческим  Linux по удобству сервиса. Мало кто может соперничать с Linux и FreeBSD на рынке серверов Internet и серверов доступа нижнего уровня. Основным недостатком Linux и FreeBSD остаются разобщенность усилий






Литература

Роббинс А. Unix. Справочник. Пер. с англ. 4-е издание.. — "КУДИЦ-ПРЕСС", 2007. — С. 864. — ISBN 5-91136-031-4 

Роберт Шимонски Освой самостоятельно Unix. 10 минут на урок = Sams Teach Yourself Unix in 10 Minutes. — М.: «Вильямс», 2006. — С. 272. — ISBN 0-672-32764-3

Эви Немет, Гарт Снайдер, Трент Хейн. Руководство администратора Linux. Установка и настройка = Linux Administration Handbook. — 2-е изд. — М.: Вильямс, 2007. — 1072 с. — ISBN 0-13-148004-9






Приложение 1.



 Возможный вид списка файлов и директорий в корневом каталоге Unix/Linux. 





 Просмотр атрибутов файлов с помощью команды ls в Unix/Linux. 































Приложение 2





2