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

Автор: Пользователь скрыл имя, 23 Ноября 2015 в 14:17, реферат

Краткое описание

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

Файлы: 1 файл

REFERAT.docx

— 332.44 Кб (Скачать)

     Революционерами не рождаются.  Революции  не  планируются.  Революциями

нельзя управлять.

     Революции случаются...

 

  1. Популярные дистрибутивы linux на 2014 год

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

 

  1. Linux Mint
  2. Ubuntu
  3. Debian
  4. Fedora
  5. Mageia

 

Также популярными мобильными операционными системами являются Android и iOS, только iOS имеет ядро не Linux, а XNU, но об этом расскажу поподробнее в своё время.

 

    1. Ubuntu

Ubuntu - операционная система, основанная на Debian GNU/Linux. Основным разработчиком и спонсором является компания Canonical. В настоящее время проект активно развивается и поддерживается свободным сообществом.

Её первый выпуск состоялся 20.10.2004, последняя версия – 23.04.2015. Имеет интерфейс Unity.  
По утверждениям Canonical, Ubuntu используется примерно 20 миллионами пользователей. Он является 4-м в списке самых популярных дистрибутивов Linux для веб-серверов. По версии DistroWatch.com (на 2014 год) занимает 2-е место по популярности для десктопов.

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

Версии LTS, выпускаемые раз в 2 года, поддерживаются в течение 5 лет — как серверные, так и десктопные варианты. (До версии 12.04 LTS срок поддержки для десктопных LTS-версий составлял 3 года.) На другие дистрибутивы LTS семейства ubuntu действует полная поддержка в 3 года, а для основы системы (ядро, Xorg и прочие компоненты) — 5 лет.

Ubuntu поставляется с подборкой программного обеспечения для серверов и рабочих станций. Она устанавливается на настольные персональные компьютеры c помощью LiveCD (версия Desktop), LiveUSB или текстового установщика (версия Alternate, предоставлялась до версии Ubuntu 12.04.2). В версии LiveDVD присутствуют несколько бóльшие возможности — начиная от установки не только в графическом, но и в текстовом режимах, загрузки в режиме восстановления системы и заканчивая полной локализацией и бóльшим количеством пакетов на диске. Есть версии для официально поддерживаемых архитектур, таких как i386, amd64, ARM. Кроме того, с 2013 года начата разработка специальной версии Ubuntu для смартфонов на архитектуре ARM и x86.

Ubuntu ориентирована на удобство и простоту использования. Она включает широко распространённое использование утилиты sudo, которая позволяет пользователям выполнять администраторские задачи, не запуская потенциально опасную сессиюсуперпользователя.

Ubuntu, кроме того, имеет развитую интернационализацию, обеспечивающую максимальную доступность для представителей разных языковых групп. С версии 5.04 кодировкой по умолчанию является UTF-8.

Ubuntu для работы рекомендуется от 512 мегабайт RAM и, при установке на жёсткий диск, от пяти гигабайт свободного пространства, а предельно минимальные требования гораздо ниже.

Ubuntu (до версии 11.04) была основана на системе рабочего стола GNOME, которая разработана, чтобы обеспечить свободный, простой и интуитивный интерфейс, предлагая полный диапазон современных настольных приложений. Помимо тех приложений, которые включены в GNOME, Ubuntu выходит с дополнительным программным обеспечением, включая LibreOffice (OpenOffice.org до версии 11.04), web-браузер Mozilla Firefox.

Говорить можно ещё много, но лично от себя хочу добавить – если вы собираетесь переходить с Windows на Linux – советую Ubuntu, это как бы «Linux для чайников», позволяет поближе познакомиться с особенностями систем Linux. 

    1. Debian

 — операционная система, состоящая из свободного ПО с открытым исходным кодом. В настоящее время Debian GNU/Linux — один из самых популярных и важных дистрибутивов GNU/Linux, в первичной форме оказавший значительное влияние на развитие этого типа ОС в целом. Также существуют проекты на основе других ядер: Debian GNU/Hurd, Debian GNU/kFreeBSD и Debian GNU/kNetBSD. Debian может использоваться в качестве операционной системы как для серверов, так и для рабочих станций. Релизы Debian проиллюстрированы на рисунке 2.

Debian имеет наибольшее среди всех дистрибутивов хранилище пакетов — готовых к использованию программ и библиотек, — и если даже не по их числу, то по числу поддерживаемых архитектур: начиная с ARM, используемой вовстраиваемых устройствах, наиболее популярных x86 и PowerPC, новых 64-разрядных AMD, и заканчивая IBM S/390, используемой в мейнфреймах. Для работы с хранилищем разработаны разные средства, самое популярное из которых — Advanced Packaging Tool (APT).

Debian стал основой целого ряда дистрибутивов. Самые известные из них (в алфавитном порядке) — Knoppix, Linux Mint, Maemo, MEPIS, SteamOS, Ubuntu.

Название «Debian» составлено из имён основателя проекта Яна Мёрдока (IanMurdock) и его подруги (впоследствии — жены, ныне — бывшей) Дебры Линн (Debra Lynn).

Первый выпуск системы состоялся 16.08.1993, последняя версия – 5.09.2015. 
Имеет интерфейс GNOME, KDE, Xfce, LXDE, MATE, Cinnamon.

Создание Debian было начато в августе 1993 года Яном Мёрдоком. Он руководствовался желанием создать дистрибутив, процесс рождения которого будет, с одной стороны, открытым и свободным в духе GNU/Linux, и одновременно исключительно тщательным и добросовестным. Сначала над проектом работала небольшая сплочённая группа хакеров мира свободного ПО, которая постепенно разрасталась, став большим организованным сообществом разработчиков и пользователей.

Debian отличается широким спектром возможностей. В текущую стабильную версию включено свыше тридцати семи тысячпакетов программ для десяти архитектур на основе ядра Linux (от Intel/AMD 32-bit/64-bit, широко применяемых в персональных компьютерах, до ARM, обычно используемых во встраиваемых системах и мейнфреймах IBM System z) и также двух архитектур на основе ядра FreeBSD (kfreebsd-i386 and kfreebsd-amd64) .

Отличительными чертами Debian являются: система управления пакетами Advanced Packaging Tool (APT), жёсткая политика по отношению к пакетам, репозитории с огромным их количеством, а также высокое качество выпускаемых версий. Это сделало возможным простое обновление между версиями, а также автоматическую установку и удаление пакетов. Именно в Дебиане впервые был введён как единый стандарт механизм выбора предпочтительного ПО среди нескольких вариантов — Alternatives.

При стандартной установке Debian используется среда рабочего стола GNOME, куда включён набор популярных программ, таких как LibreOffice, Iceweasel (модификация Firefox), почтовая программа Evolution, программы для записи CD/DVD, проигрыватели музыки и видео, программы для просмотра и редактирования изображений и программы для просмотра документов в формате PDF. Также есть образы Live-CD, собранные с KDE, Xfce и LXDE. Установочные диски — в количестве пяти (Lenny) или восьми (Squeeze) DVD или более тридцати CD — содержат все доступные и не обязательно необходимые для стандартной установки пакеты. Для метода установки по сети используется CD, который меньше обычного установочного CD/DVD. Он содержит только то, что необходимо для запуска установщика и скачивания пакетов, выбранных в процессе установки посредством APT. Образы CD/DVD можно свободно скачать через BitTorrent, jigdo или купить у одного из поставщиков компакт-дисков Debian. Также возможна установка с USB-накопителя. Существуют специальные наборы программ Debian Pure Blend, ориентированные на группы пользователей с различным практическим опытом и интересами:Debian Junior для детей от 1 до 99, Debian-Edu для школ, Debian Science с группировкой по наукам, Debian-Med для практического и научного использования в сфере здравоохранения и другие.

На Debian основано множество дистрибутивов, в том числе Ubuntu, MEPIS, Dreamlinux, Damn Small Linux, Xandros, Knoppix,Linspire, aptosid, Kanotix, Parsix, LinEx, Linux Mint и другие.

Рисунок 2-Релизы

Приведу интересные факты:

    1. NASA использует систему Debian на рабочих местах космонавтов МКС.
    2. NASA использовало систему Debian в экспериментах на шаттле Колумбия.
    3. Все версии Debian названы в честь персонажей мультфильма «История игрушек».

Что хочу добавить от себя – лично мне нравится Debian. Все операции с мобильными устройствами (перепрошивки, обновления, восстановление) делаю из под Debian. Системы Android и Debian имеют одно ядро – Linux, что значительно облегчает и расширяет «круг общения» компьютера и смартфона/планшета по сравнению с «Виндой».

Ну и отдельно я хочу рассказать про мобильные операционные системы Android и iOS. 

    1. Android

Android — операционная система для смартфонов, планшетных компьютеров, электронных книг, цифровых проигрывателей, наручных часов,игровых приставок, нетбуков, смартбуков, очков Google, телевизоров и других устройств. В будущем планируется поддержка автомобилей и бытовых роботов. Основана на ядре Linux и собственной реализации виртуальной машины Java отGoogle. Изначально разрабатывалась компанией Android Inc., которую затем купила Google. Впоследствии Google инициировала создание альянса Open Handset Alliance (OHA), который сейчас занимается поддержкой и дальнейшим развитием платформы. Android позволяет создавать Java-приложения, управляющие устройством через разработанные Google библиотеки. Android Native Development Kit позволяет портировать (но не отлаживать) библиотеки и компоненты приложений, написанные на Си и других языках.

В 86 % смартфонов, проданных во втором квартале 2014 года, была установлена операционная система Android. При этом за весь 2014 год было продано более 1 миллиарда Android-устройств.

Тип ядра - монолитное модифицированное ядро Linux.

Первый выпуск состоялся 23.09.2008, последняя версия – 21.03.2015 (5.1.1 Lollipop), помимо неё есть последняя тестовая версия – 17.08.2015 (6.0 Marshmallow). Обновления версий показаны на рисунке 3

Рисунок 3-Версии Android

Я не хочу ничего писать про историю и прочее, просто хочу высказать своё мнение по этой системе. Я ещё НИКОГДА НЕ ВСТРЕЧАЛ таких нестабильных систем. Когда я впервые познакомился с этой системой, я был в восторге, большой планшет с сенсорным экраном, все дела. Но когда я начал копать глубже… Я был очень огорчён и расстроен. Кривой, нестабильный Linux. Более менее стабильно работает вариант прошивки Android – MIUI. Разрабатывается компанией Xiaomi Tech. Прошивка представляет собой сильно изменённый пользовательский интерфейс, в котором отсутствует меню приложений и совмещает самые удачные решения Android и iOS. За это Apple подала в суд на Xiaomi Tech. Официальных магазинов Xiaomi нет, устройства продаются через посредников, что сильно увеличивает риск покупки подделки.

Таким образом, хотите стабильности – от Android вы её, увы, не получите. Но она есть (и её много) у системы iOS, про которую я расскажу далее. 

    1. iOS

iOS (до 24 июня 2010 года — iPhone OS) — операционная система для смартфонов, электронных планшетов и носимых проигрывателей, разрабатываемая и выпускаемая американской компаниейApple. Была выпущена в 2007 году; первоначально — для iPhone и iPod touch, позже — для таких устройств, как iPad и Apple TV. В отличие от Windows Phone (Microsoft) и Android (Google), выпускается только для устройств, производимых фирмой Apple.

В iOS используется ядро XNU, основанное на микроядре Mach и содержащее программный код, разработанный компанией Apple, а также код из ОС NeXTSTEP и FreeBSD. Ядро iOS почти идентично ядру настольной операционной системы Apple OS X. Начиная с самой первой версии, iOS работает только на планшетных компьютерах и смартфонах с процессорами архитектуры ARM.

Первый выпуск – 29.06.2007, последняя – 2.10.2015 (iOS 9.0.2). Семейство OC – Unix. Тип ядра – XNU (X is Not Unix – Икс, это не Юникс). Сами себе противоречат что ли? Разберёмся в этом поподробнее.

 

      1. Что общего у Linux и iOS?

Естественно, в двух больших системах всегда найдутся общие концепции. Например, сложно избежать использования базовых алгоритмов и структур данных. Таких, как списки, массивы, деревья. Но я хочу рассказать не об этом. 
iOS является объектно-ориентированной штукой. Где-то ниже Objective-C (а скоро мы сможем говорить уже и о Swift) залегают огромные пласты не-объектного кода, и под ними — Unix (а точнее BSD) система. И на том уровне у Linux и у iOS много общего. Но я и не об этом. 
Давайте сравним основные структуры ядра Linux с объектно-ориентированной частью iOS. 
В обеих системах присутствует некоторое количество фундаментальных структур. Например, в iOS это будут:

 

    1. Строки (NSSrting);
    2. Массивы (NSArray);
    3. Коллекции (NSSet);
    4. Словари (NSDictionary);
    5. Представление числовых примитивов (NSNumber);
    6. Скаляры (NSRange).

Все эти типы данных реализованы как классы. Легко заметить, что тут нет нескольких фундаментальных структур: связных списков (linked lists) и бинарных деревьев (binary tree). Нет их по той простой причине, что они уже инкапсулированы в другие типы данных. Так, NSArray можно использовать вместо связного списка, а NSDictionary вместо бинарного дерева, не особенно заботясь о внутренней их реализации. 
Хорошо. А какие же основные типы мы можем найти в ядре Linux? Тут ситуация выглядит с точностью до наоборот. Сложно выделить какие-либо стандартные для ядра типы данных. Наибольшие претенденты на это звание: 
Двойной связный список, определенный в файле include/linux/list.h; 
Красно-черные деревья, определенные в файле include/linux/rbtree.h; 
Радиксные деревья (radix tree), определенные в файле include/linux/radix-tree.h; 
Битовые массивы (bit arrays), определенные в файле include/linux/bitmap.h; 
Ну а также семафоры и спинлоки, которые не присутствуют в iOS в явном виде — то есть, их не нужно алоцировать, они скрыты в методах. 
Нет никакого требования использовать именно эти реализации. Если вы чем-то недовольны, то можете написать свою реализацию чего угодно. Ее, правда, могут не принять модераторы, если вы попробуете загрузить свой пэтч. Во всяком случае, его не примут модераторы, если не будет очень веской причины реализовывать это самому вместо использования уже написанных структур. 
Итак, на первый взгляд мы имеем два ортогональных подхода к построению системы. iOS предлагает достаточно чистый объектно-ориентированный подход, и Apple старается как только может скрыть внутренности объектов от конечного программиста. Ядро Linux, напротив, определяет очень базовые примитивы, оставляя программиста разбираться с ними. Грубо говоря, iOS это блочное строительство, а ядро Linux предоставляет в ваше распоряжение иногда кирпичи, а иногда просто глину и печь для обжига. Однако и цели программирования в двух системах совершенно различные: никто не ожидает от разработчика ядра создания пользовательского интерфейса, равно как никто и не ждет от программиста в iOS написания поддержки чипа и шины данных. 
Мораль сей басни такова. Ни для кого не новость, что ядро Linux во многих отношениях адаптировало объектно-ориентированную парадигму. Тем не менее, модераторы ядра не позволяют разработчикам усложнять его (ядро), и поддерживают инфраструктуру на уровне простейших примитивов. Философия тут заключается в том, чтобы “keep it simple” — позволь разработчику самому сварить свой суп из сырой грудинки, не предлагай ему супный набор или куриный порошок.

Информация о работе Операционные системы семейства UNIX