МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
ТЕМА 4. СЕТЕВЫЕ ОПЕРАЦИОННЫЕ СИСТЕМЫ UNIX
Цель темы: дать классификацию современных сетевых операционных систем и раскрыть принципы функционирования операционных систем семейства UNIX.
В результате изучения темы обучающиеся должны усвоить:
особенности и возможности современных сетевых операционных систем;
историю возникновения и развития семейства операционных систем UNIX;
особенности архитектуры и основные дистрибутивы операционной системы Linux;
многопользовательский и многотерминальный механизм работы операционных систем UNIX;
назначение и возможности логической и физической файловых систем в UNIX;
типы файлов в UNIX, их назначение, свойства и права доступа к ним;
основные сетевые службы, реализуемые на платформе UNIX.
|
Оглавление
4.1. Классификация операционных систем
Все современные сетевые операционные системы по функциональному назначению в сети можно разделить на два больших класса: операционные системы для рабочих станций, на которых устанавливаются клиентские модули сетевых служб, и операционные системы для компьютеров-серверов, на которых устанавливаются серверные модули сетевых служб.
Серверные операционные системы обычно оптимизируются для выполнения задачи одновременной обработки большого количества запросов, поступающих от клиентов, поэтому менее эффективны для выполнения функции клиентской операционной системы.
Многие современные серверные операционные системы имеют корни от UNIX-систем.
Несмотря на многообразие сетевых операционных систем, реальными конкурентами на российском рынке серверных решений для локальных сетей в настоящее время являются операционные системы семейства Windows от Microsoft и различные представители семейства UNIX-систем.
4.1.1. Сетевые операционные системы Windows
Компания Microsoft, разрабатывавшая ранее операционные системы для персональных компьютеров, следуя за бурным развитием мощностей персональных компьютеров, перешла от простой DOS с монолитным ядром к серьезным серверным операционным системам Windows NT, построенным с использованием принципов микроядерной архитектуры.
Первая успешная серверная операционная система этой фирмы – Windows NT 4.0 в конце 1990-х гг. отобрала большую часть рынка у фактическиx монополистов того времени в серверной продукции для локальных сетей компании Novell.
В линии операционных систем Windows 2000, которая является наследником Windows NT (поэтому все ОС этой линии имеют логотип «На основе технологии NT»), появилось четыре продукта для различных категорий потребителей:
Windows 2000 Professional предназначена для рабочих станций, работающих в сети. Разработана для замены Windows 95/98 в качестве стандартной платформы для деловых приложений. Русифицирована;
Windows 2000 Server – базовый сервер для деловых приложений. Имеет универсальные средства, необходимые для доменной организации сети на базе Active Directory, и размещения файловых служб, серверов печати и приложений, коммуникационных и web-серверов в масштабах подразделения. Поддерживает до 4 Гбайт физической оперативной памяти и до 4 процессоров. Первый русифицированный вариант серверной операционной системы;
Windows 2000 Advanced Server – более мощный сервер среднего уровня, имеющий дополнительные средства для поддержания высокой надежности и масштабируемости, необходимых для предприятия или крупного подразделения. Имеет возможности балансировки сетевой нагрузки и кластеризации. Поддерживает до 8 Гбайт физической оперативной памяти и до 8-ми процессоров. Русифицированной версии нет;
Windows 2000 Datacenter Server – самая мощная и функционально полная серверная система для крупных корпоративных решений. Поддерживает до 64 Гбайт физической оперативной памяти и до 32 процессоров. Русифицированной версии нет.
Операционная система Windows 2000 Server, кроме компонентов, имеющихся в Windows 2000 Professional, содержит следующие основные дополнительные средства:
Active Directory – службу каталогов, позволяющую централизованно хранить информацию обо всех объектах сети (пользователях, компьютерах, общих каталогах, принтерах и т. д.);
Dynamic DNS (DDNS) – службу динамических доменных имен, позволяющую компьютерам автоматически регистрировать и обновлять имена рабочих станций (хостов) и их IP-адреса на DNS-сервере;
групповые политики – наборы конфигурационных параметров, которые могут назначаться в домене или организационной единице (подразделению) Active Directory;
распределенную файловую систему(Distributed File System, DFS) – обеспечивает возможность разделения файловой структуры между несколькими серверами;
службу терминалов – позволяет удаленно выполнять приложения на серверах, либо администрировать их;
WWW-сервер (в составе служб Internet Information Services, IIS) – Интернет-сервер, позволяющий реализовать в сети службы FTP и HTTP;
аутентификацию Kerberos – протокол безопасности, используемый в распределенных средах для аутентификации пользователей;
сервер сертификатов с открытыми ключами – позволяет использовать аутентификацию пользователей с применением открытых ключей по протоколу SSL/TLS (Secure Sockets Layer/ transport Layer Security), обеспечивающих защиту данных, передаваемых через Интернет;
Многопротокольную маршрутизацию – позволяет использовать сервер в качестве маршрутизатора сети;
служба DHCP (Dynamic Host Configuration Protocol) – реализует протокол динамической конфигурации рабочей станции (хоста);
службы качества обслуживания (Quality of Service, QoS) – позволяют совместимым с QoS приложениям резервировать полосу пропускания и менять приоритет передаваемых данных.
Следующим этапом в развитии операционных систем Windows стало появление Windows ХР – для рабочих станций и Windows 2003 Server – базового сервера для локальных сетей, который так же, как предшественник – Windows 2000 Server, имеет локализованную для России версию.
Семейство операционных систем UNIX более разнообразно. На принципах UNIX построены как коммерческие операционные системы, так и большое число открытых систем, которые не только бесплатно распространяются, но и имеют открытые исходные коды всех программных модулей.
4.1.2. История семейства операционных систем UNIX
История операционных систем UNIX началась в 1969 г. в одном из подразделений AT&T Bell Laboratories, когда на "малоиспользуемой" машине DEC PDP-7 Кен Томпсон (Ken Thompson), Деннис Ричи (Dennis Ritchie) и другие (прежде в течение 1965-1969 гг. занимавшиеся созданием операционной системой Multics) начали работу над операционной системой, названной ими первоначально Unics (UNiplexed Information and Computing System).
В течение первых 10 лет развитие UNIX происходило, в основном, в Bell Labs. Соответствующие начальные версии назывались "Version n" (Vn) и предназначались для ЭВМ DEC PDP-11 (16-битовая) и VAX (32-битовая).
Версии Vn разрабатывались группой Computer Research Group (CRG) в Bell Labs. Поддержкой занималась другая группа, Unix System Group (USG). Разработкой также занималась группа Programmer's WorkBench (PWB), привнесшая систему управления исходным кодом sccs, именованные каналы и ряд других идей. В 1983 г. эти группы были объединены в одну, Unix System Development Lab.
Наиболее существенные версии и события в истории UNIX:
1971: V1. Первая версия UNIX Time-Sharing System на ассемблере для PDP-11/20. Она включала файловую систему, системный вызов fork() для порождения процессов, утилиты типа cat, ed, roff. Использовалась для обработки текстов при подготовке патентов. Системный вызов pipe() и поддержка программных каналов появилась в V2.
1973: V4. Версия, переписанная на языке C, что сделало UNIX легко переносимой на другие платформы. Язык C создавался для разработки операционной системы UNIX.
1975: V6. Первая версия UNIX, широко распространенная за пределами Bell Labs, в частности, в университетах. С этого времени начинается появление множества других версий и UNIX становится популярной операционной системой. На базе этой версии в Калифорнийском университете в Беркли (UCB) создавалась 1.xBSD (для PDP-11).
1978: версия 2.xBSD (Berkeley Systems Development) для PDP-11, созданная группой Computer Systems Research Group (CSRG) в Беркли. В ней появились поддержка сети DARPA, первая реализация стека протоколов TCP/IP и командный интерпретатор csh. В дальнейших версиях (до 1980) появились: поддержка виртуальной памяти, termcap, curses, редактор vi.
1979: V7. "Последняя настоящая UNIX", которая включала компилятор языка C, командный интерпретатор sh, систему uucp, была перенесена на 32-разрядный VAX, при этом размер ядра составлял всего около 40 Кбайт!
1981: 4.1BSD – возможности: управление заданиями, автоматическое конфигурирование ядра.
System III - первый коммерческий UNIX от AT&T, в котором осуществлена реализация именованных каналов (FIFO).
1983: 4.2BSD: полная поддержка TCP/IP, сокетов, Ethernet. Применена файловая система UFS с поддержкой длинных имен файлов и символьных связей.
System V от AT&T: поддержка основных утилит и средств BSD, добавлен пакет средств межпроцессного взаимодействия (IPC).
1984: первые попытки стандартизации – создание Free Software Foundation (FSF) и начало проекта GNU – создание свободно распространяемой UNIX-подобной ОС и соответствующих утилит.
1985: появление архитектуры микроядра Mach. Появление ОС Minix.
1986: появление операционных систем AIX (IBM) и A/UX (Apple).
1987: появление ОС IRIX (SVR 3.0).
1990: появление ОС Solaris (SunOS 4.1.4).
1991: появление ОС Linux (на базе Minix).
1993: появление ОС FreeBSD.
1995: появление ОС OpenBSD и NetBSD.
1999: появление ОС Mac OS X и проекта Darwin (Mach 4+ FreeBSD 3.1).
Современные версии ОС UNIX
Итак, в настоящее время (июнь 2006 г.) мы имеем на платформе Intel x86 следующие основные версии UNIX:
FreeBSD 6.1;
OpenBSD 3.9;
NetBSD 2.1;
Linux 2.4, 2.6 в виде множества различных дистрибутивов;
Solaris 10;
SCO OpenServer 6 и UnixWare 7.1.3.
На других платформах (основные версии):
Linux 2.6.x (практически все платформы);
NetBSD 2. 1 (практически все платформы);
Mac OS X 10. 4 (PowerPC);
AIX 5L v5.2 (PowerPC);
Solaris 9, 10 (SPARC);
HP-UX 11i v2(PA-RISC, IA-64);
Tru 64 Unix V.5.1 (Alpha);
IRIX 6.5.2 7 (MIPS).
Хотя изначально UNIX являлся операционной системой для больших ЭВМ, принципы, заложенные в него, оказались со временем применимы к персональным компьютерам. С увеличением ресурсов персональных компьютеров стала очевидна ограниченность операционных систем, традиционно используемых для настольных компьютеров. В то же время UNIX никогда не привязывался к каким-то конкретным ограничениям, и поэтому его идеология пришла на помощь в той ситуации, когда пользователи наткнулись на преграды, выстроенные создателями "простеньких ОС" для "слабеньких компьютеров".
4.1.3. Архитектура и дистрибутивы Linux
Архитектура всех операционных систем UNIX – многоуровневая. На нижнем уровне, непосредственно над оборудованием, работает ядро операционной системы. Функции ядра доступны через интерфейс системных вызовов, образующих второй уровень. На следующем уровне работают командные интерпретаторы, команды и утилиты системного администрирования, коммуникационные драйверы и протоколы, – все то, что обычно относят к системному программному обеспечению. Наконец, внешний уровень образуют прикладные программы пользователя, сетевые и другие коммуникационные службы, СУБД и утилиты.
Linux – это UNIX операционная система, которая была создана Линусом Торвальдсом (Linus Torvalds). В начале для него создание данной ОС являлось исключительно хобби. Над созданием Linux он начал работать будучи студентом Университета Хельсинки (Финляндия). Он написал "с нуля" ядро операционной системы семейства UNIX. Причиной тому послужило впечатление, которое на него произвела ОС Minix, распространявшаяся вместе с книгой Энди Таненбаума. Проблема Minix заключалась в том, что пользоваться ей могли только люди, купившие эту книгу. Линус же решил написать свободную версию Minix. При этом под словом "свободную" подразумевается не только бесплатное распространение этой ОС, но и доступность исходных текстов, а также возможность их изменять и распространять. Правила обращения со свободным программным обеспечением описаны в общедоступой лицензии GPL (General Public License).
Такая модель лицензирования оказалась крайне выигрышной для Linux. В результате все желающие могли принять участие в разработке этой операционной системы. На сегодняшний день несколько тысяч разработчиков трудятся над Linux. А объединяет их усилия Сеть.
Первая версия Linux (за номером 0.02) была выпущена Линусом Торвальдсом в 1991 г. Версию 1.0 он создавал еще 3 года и в 1994 г. вышел Linux 1.0. На сегодняшний момент последняя версия Linux имеет номер 2.6 (она была выпущена в 2004 году), а разработки непрерывно продолжаются.
Надо сказать, что версии Linux считаются по версиям "сердца" данной операционной системы – его ядра. В ядро встроено все самое необходимое для функционирования данной операционной системы. Ядра Linux имеют трехступенчатую систему нумерации версий – N, X, Y. Если X четное, то значит, данное ядро представляет собой стабильную версию (стабильные версии 2.0, 2.2, 2.4, 2.6). В этом случае при увеличении числа Y просто устраняются ошибки. Новые возможности не добавляются. Если X нечетное – это означает, что данное ядро из линейки разрабатываемых ядер, экспериментальных. С увеличением числа Y в ядрах появляются новые возможности. Когда разрабатываемое ядро доходит по стабильности до уровня готового продукта оно "замораживается" и превращается в стабильное N. X+1. 0.
Официальным символом операционной системы Linux является пингвин (рис. 1).
Рис. 1. Логотип Linix
ОС Linux обладает множеством замечательных свойств UNIX, среди которых многозадачность, многопоточность, эффективная работа с виртуальной памятью, обширные сетевые возможности.
ОС Linux привлекает своей "всеядностью". Она работает на большом числе различных аппаратных платформ и может использоваться как операционная система сервера, настольного компьютера или даже ноутбука. И в любой ситуации она сохраняет все родовые признаки UNIX.
Для Linux сушествует огромное количество разнообразного программного обеспечения. Из-за специфики операционной системы Linux большая часть этого программного обеспечения распространяется под свободной лицензией, но существуют и коммерческие продукты. Характерной особенностью всех ОС семейства UNIX является достаточно легкая переносимость приложений с платформы на платформу на уровне исходных текстов.
В настоящий момент по различным оценкам Linux используют более 10 млн человек. Произвести более точный учет невозможно, т. к. Linux является свободной ОС и для его использования не надо нигде регистрироваться.
Система Linux, как и все UNIX-системы, построена по микроядерной архитектуре и состоит из ядра операционной системы, разработку которого курирует сам Линус Торвальдс (www.kernel.org), и прочих программ, которые обеспечивают решение пользовательских задач.
Комплекты, объединяющие в себе ядро, набор программ и утилит, а также программу-инсталлятор, называются дистрибутивами.
Наиболее популярными являются дистрибутивы RedHat (www.redhat.com), Slackware (www.slackware.com), Debian GNU/Linux (www.debian.org), Caldera Openlinux (www.calderasystems.com). Лидирующее место занимают дистрибутивы RedHat, от которых произошли некоторые известные родственные дистрибутивы, такие как Mandrake, Suse и др.
Обычно дистрибутивы содержат все необходимое программное обеспечение для организации как сервера, так и рабочей станции.
Русскоязычные пользователи предпочитают русские дистрибутивы, среди которых можно выделить три основных Red Hat совместимых дистрибутива – Red Hat Linux Cyrillic Edition, Linux Mandrake Russian Edition (ALT Linux) (www.altlinux.ru) и ASP Linux (www.asplinux.ru), имеющие русифицированную инсталляционную программу и русификацию "из коробки". Использование русского дистрибутива дает возможность избежать довольно утомительной для новичка процедуры русификации консоли и системы XWindow.
Под Linux реализован графический оконный интерфейс – система XWindow. Очень популярным бесплатным X-сервером является система XFree86 (www.xfree86.org). Этот сервер поддерживает большое количество различных видеокарт. Есть несколько оконных менеджеров, среди которых в последнее время особой популярностью пользуются GNOME (www.gnome.org) и KDE (www.kde.org).
В качестве стандартной системы верстки текста в Linux принята система TeX, являющаяся стандартом de facto для издательской деятельности, особенно в области научных публикаций.
Также под Linux работают такие офисные пакеты, как коммерческий Applixware (linux.applixware.com) и StarOffice (www.sun.com/staroffice), который имеет свободный вариант под называнием OpenOffice. Эти офисные пакеты поддерживают формат файлов MS Office. Возлагаются большие надежды на бурно развивающийся офисный пакет KOffice (koffice.kde.org).
Сетевые средства Linux с трудом поддаются краткому описанию. В двух словах можно сказать просто, что там есть все. И при этом на любой вкус. Это вполне естественно, что операционная система, рожденная в Сети, отлично приспособлена для работы с ней.
Настолько же богат и мир серверного программного обеспечения для Linux. Под OC Linux работает популярный Web-server Apache (www.apache.org), на базе которого работает около половины всех Web-узлов. Этот сервер оказывается эффективным решением для узлов различной степени сложности. Существуют системы для организации FTP-серверов, почтовых серверов, DNS, шлюзов, firewall и т. д.
Существует большое количество СУБД, работающих под Linux. Среди них такие бесплатные SQL-серверы, как MySQL (www.mysql.org), PostgreSQL (www.postgresql.org), mSQL (www.hughes.com.au) и другие. В рамках ОС Linux легко решаются задачи интеграции баз данных с web.
Игровой мир Linux также достаточно разнообразен. Передовые производители игр стали всерьез рассматривать Linux как игровую платформу. Многие игры либо сразу выходят с версиями под Linux и Windows либо быстро переносятся на Linux. Linux поддерживает довольно большой список популярных мультимедиа устройств: звуковых плат, TV/FM - тюнеров, 3D ускорителей.
При выборе аппаратного обеспечения для Linux необходимо убедиться в том, что оно поддерживается операционной системой. Список поддерживаемого «железа» довольно обширен, но не безграничен. В нем вряд ли можно найти какие-то малопопулярные или нестандартные изделия, а также устройства, которые изначально предназначены для работы исключительно в среде OС Windows, таких как некоторые модели софт-модемов (3COM, Motorola), принтеров и сканеров. Поэтому перед покупкой какого-либо устройства рекомендуется посетить соответствующие сайты (www.linmodems.org – софт-модемы, www.linuxprinting.org – поддержка печати в Linux, www.sane-project.org – поддержка сканеров) и убедиться, что это устройство будет поддерживаться. К сожалению, не так много производителей аппаратного обеспечения поставляют драйверы для Linux. А энтузиасты пишут драйверы в основном для популярных систем.
Следует отметить, что Linux является довольно "отзывчивой" на установку дополнительной оперативной памяти. То есть при установке дополнительной памяти производительность системы меняется более существенно, чем в других операционных системах. На тему места на жестком диске Linux опять-таки предъявляет требования в диапазоне от 60Mb до бесконечности. Иными словами, эти требования очень различные в зависимости от потребностей.
Linux неплохо уживается с другими операционными системами. Стандартный загрузчик Linux – LiLo (Linux Loader) позволяет иметь на одном компьютере несколько операционных систем. Кроме того, поддерживаются работа с такими файловыми системами, как FAT16 (с длинными именами), HPFS, NTFS, FAT32, HFS. Поддерживается файловая система CD-ROM. ОС Linux может быть установлена на уже существующий раздел DOS. Для этого предназначена специальная файловая система UMSDOS.
Для Linux существуют эмуляторы, позволяющие запускать приложения других операционных систем. Наиболее популярными являются dosemu (www.dosemu.org) для эмуляции DOS и wine (www.winehq.com) для эмуляции Windows. Кроме того, последнее время пользуется заслуженной популярностью коммерческое программное обеспечение vmware (www.vmware.com). Этот продукт позволяет инсталлировать и использовать разнообразные операционные системы в рамках виртуальной машины (vm), основанной, например, на Linux. Другими словами, операционную систему Windows можно запустить просто в окошке Linux.
В Сети можно найти обширную информацию по различным разделам ОС Linux. Среди зарубежных серверов выделяются такие, как www.linux.org, www.linux.com, www.li.org, www.freshmeat.net, www.slashdot.org, www.linuxtoday.com, www.linuxdoc.org и прочие. Среди русскоязычных информационных серверов основное место занимают www.linux.org.ru, www.linux.ru.net а также молодой, но интенсивно развивающийся сервер www.linux.ru. Также различным аспектам работы с ОС Linux посвящено множество листов рассылки и групп новостей.
4.2. Программные средства человеко-машинного интерфейса в UNIX
В операционных системах UNIX реализована вытесняющая многозадачность на основе процессов, работающих в изолированных адресных пространствах в виртуальной памяти. При этом поддерживается одновременная работа многих пользователей. Пользовательские процессы могут запускаться как в фоновом, так и в интерактивном режиме с использованием различных терминалов (виртуальных консолей).
4.2.1. Пользователи и группы
UNIX – многопользовательская операционная система. Многопользовательская модель позволяет решить ряд задач, весьма актуальных и для современных персональных компьютеров, и для серверов, работающих в локальных и глобальных сетях, и вообще в любых системах, одновременно выполняющих разные задачи, за которые отвечают разные люди.
Процедура регистрации в системе для UNIX обязательна: работать в системе, не зарегистрировавшись под тем или иным именем пользователя, просто невозможно. Для каждого пользователя определена сфера его полномочий в системе: программы, которые он может запускать, файлы, которые он имеет право просматривать, изменять, удалять. При попытке сделать что-то, выходящее за рамки полномочий, пользователь получит сообщение об ошибке.
Каждый пользователь обязательно принадлежит к одной или нескольким группам. Все команды выполняются от имени определенного пользователя, принадлежащего в момент выполнения к определенной группе.
В многопользовательских системах необходимо обеспечивать защиту объектов (файлов, процессов), принадлежащих одному пользователю, от всех остальных. ОС UNIX предлагает базовые средства защиты и совместного использования файлов на основе отслеживания пользователя и группы, владеющих файлом, трех уровней доступа (для пользователя-владельца, для пользователей группы-владельца, и для всех остальных пользователей) и трех базовых прав доступа к файлам (на чтение, на запись и на выполнение). Базовые средства защиты процессов основаны на отслеживании принадлежности процессов пользователям.
Для отслеживания владельцев процессов и файлов используются числовые идентификаторы. Идентификатор пользователя и группы - целое число (обычно) в диапазоне от 0 до 65535. Присвоение уникального идентификатора пользователя выполняется при заведении системным администратором нового регистрационного имени. Значения идентификатора пользователя и группы – не просто числа, которые идентифицируют пользователя, – они определяют владельцев файлов и процессов.
Среди пользователей системы выделяется один пользователь – системный администратор или суперпользователь, обладающий всей полнотой прав на использование и конфигурирование системы. Это – пользователь с идентификатором 0 и регистрационным именем root.
При представлении информации человеку удобнее использовать вместо соответствующих идентификаторов символьные имена – регистрационное имя пользователя и имя группы. Соответствие идентификаторов и символьных имен, а также другая информация о пользователях и группах в системе (учетные записи), как и большинство другой информации о конфигурации системы UNIX, по традиции представлена в виде текстовых файлов. Эти файлы – /etc/passwd, /etc/group и /etc/shadow.
|