Операционная система UNIX

Автор работы: Пользователь скрыл имя, 19 Января 2014 в 18:12, реферат

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

Термин Unix и не вполне эквивалентный ему UNIX используется в разных значениях. Начнем со второго из терминов, как более простого. В двух словах, UNIX (именно в такой форме) - зарегистрированная торговая марка, первоначально принадлежавшая корпорации AT&T, сменившая за свою долгую жизнь много хозяев и ныне являющаяся собственностью организации под названием Open Group. Право на использование имени UNIX достигается путем своего рода "проверки на вшивость" - прохождения тестов соответствия спецификациям некоей эталонной ОС (Single Unix Standard - что в данном случае можно перевести как Единственный Стандарт на Unix).

Содержание

Что такое Unix?
Где взять бесплатный Unix?

Основная часть. (Описание Unix).
1. Основные понятия Unix.
2. Файловая система.
2.1. Типы файлов.
3. Командный интерпретатор.
4. Ядро ОС UNIX.
4.1. Общая организация традиционного ядра ОС UNIX;
4.2. Основные функции ядра;
4.3. Принципы взаимодействия с ядром;
4.4. Принципы обработки прерываний.
5. Управление вводом/выводом.
5. 1. Принципы системной буферизации ввода/вывода;
5. 2. Системные вызовы для управления вводом/выводом.
6. Интерфейсы и входные точки драйверов.
6. 1. Блочные драйверы;
6. 2. Символьные драйверы;
6. 3. Потоковые драйверы.
7. Команды и утилиты.
7. 1. Организация команды в ОС UNIX;
7. 2. Перенаправление ввода/вывода и организация конвейера;
7. 3. Встроенные, библиотечные и пользовательские команды;
7. 4. Программирование на командном языке.
8. Средства графического интерфейса пользователей.
8.1. Идентификаторы пользователя и группы пользователей;
8.2. Защита файлов;
8.3. Перспективные ОС, поддерживающие среду ОС UNIX.

Заключение.
Основные отличия Unix от других OS.
Области применения Unix.

Прикрепленные файлы: 1 файл

доклад Крайновой К.В. СГС-411.docx

— 86.89 Кб (Скачать документ)

 


                 Московский Государственный Университет Путей Сообщения

           (МИИТ)


                     Кафедра «Строительные конструкции, здания и сооружения»

 

                                                    РЕФЕРАТ

                 по дисциплине 

«Информационные технологии в проектировании и строительстве 

                               зданий и сооружений»

 

                                          на тему:

           «Операционная система  UNIX»

                                           

                   

 

 

 

 

Выполнила студент  

гр. СГС – 411                                                                              Крайнова К.В.

 

Проверила

ст. преподаватель Коршунова И.С.

 

 

 

 

                                                                               

 

 

Москва 2012

СОДЕРЖАНИЕ

Введение.

Что такое Unix?

Где взять бесплатный Unix?

 

Основная часть. (Описание Unix).

1. Основные понятия Unix.

2. Файловая система.

2.1. Типы файлов.

3. Командный интерпретатор.

4. Ядро ОС UNIX.

4.1. Общая организация традиционного ядра ОС UNIX;

4.2. Основные функции ядра;

4.3. Принципы взаимодействия с ядром;

4.4. Принципы обработки прерываний.

5. Управление вводом/выводом.

5. 1. Принципы системной буферизации ввода/вывода;

5. 2. Системные вызовы для управления вводом/выводом.

6. Интерфейсы и входные  точки драйверов.

6. 1. Блочные драйверы;

6. 2. Символьные драйверы;

6. 3. Потоковые драйверы.

7. Команды и утилиты.

7. 1. Организация команды в ОС UNIX;

7. 2. Перенаправление ввода/вывода и организация конвейера;

7. 3. Встроенные, библиотечные и пользовательские команды;

7. 4. Программирование на командном языке.

8. Средства графического  интерфейса пользователей.

8.1. Идентификаторы пользователя и группы пользователей;

8.2. Защита файлов;

8.3. Перспективные ОС, поддерживающие среду ОС UNIX.

 

Заключение.

Основные отличия Unix от других OS.

Области применения Unix.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Введение.

Что такое Unix?

Термин Unix и не вполне эквивалентный ему UNIX используется в разных значениях. Начнем со второго из терминов, как более простого. В двух словах, UNIX (именно в такой форме) - зарегистрированная торговая марка, первоначально принадлежавшая корпорации AT&T, сменившая за свою долгую жизнь много хозяев и ныне являющаяся собственностью организации под названием Open Group. Право на использование имени UNIX достигается путем своего рода "проверки на вшивость" - прохождения тестов соответствия спецификациям некоей эталонной ОС (Single Unix Standard - что в данном случае можно перевести как Единственный Стандарт на Unix). Процедура эта не только сложна, но и очень недешева, и потому ей подверглись лишь несколько операционных систем из ныне здравствующих, и все они являются проприетарными, то есть представляют собой собственность неких корпораций.

В числе корпораций, заслуживших  право на имя UNIX потом разработчиков/тестировщиков, можно назвать следующие:

Sun с ее SunOS (более известной в миру под именем Solaris);

IBM, разработавшая систему AIX;

Hewlett-Packard -владелец системы HP-UX;

IRIX -операционка компании SGI.

Кроме этого, собственно имя UNIX применяется к системам:

True64 Unix, разработанная фирмой DEC, с ликвидацией коей перешедшая к Compaq, а ныне, вместе с последней, ставшая собственностью той же Hewlett-Packard;

UnixWare -собственность компании SCO (продукту слияния фирм Caldera и Santa Cruz Operation).

 

Будучи проприетарными, все эти системы продаются за немалые (даже по американским масштабам) деньги. Однако это - не главное препятствие к распространению собственно UNIX'ов. Ибо общей их особенностью является привязка к определенным аппаратным платформам: AIX работает на серверах и рабочих станциях IBM с процессорами Power, HP-UX - на собственных машинах HP-PA (Precission Architecture), IRIX - на графических станциях от SGI, несущих процессорыMIPS,True64 Unix - предназначена для процессоров Alpha. Лишь UnixWare ориентирована на "демократическую" платформуPC, а Solaris существует в вариантах для двух архитектур - собственной, Sparc, и все той же PC. Что, однако, не сильно поспособствовало их распространенности - вследствие относительно слабой поддержки новой PC-периферии.

Таким образом, UNIX - это понятие в первую очередь юридическое. А вот за термином Unix закрепилась технологическая трактовка. Так в обиходе IT-индустрии называют все семейство операционных систем, либо происходящих от "первозданной"UNIX компании AT&T, либо воспроизводящих ее функции "с чистого листа", в том числе свободные ОС, такие, как Linux, FreeBSD и другие BSD, никакой проверке на соответствие Single Unix Standard никогда не подвергавшиеся. И потому их часто называют Unix-подобными.

Широко распространен  также близкий по смыслу термин "POSIX-совместимые  системы", которым объединяется семейство  ОС, соответствующих одноименному набору стандартов. Сами по себе стандарты POSIX (Portable Operation System Interface based on uniX) разрабатывались на основе практики, принятой вUnix-системах, и потому последние все являются по определению POSIX-совместимыми. Однако это - не вполне синонимы: на совместимость со стандартами POSIX, претендуют операционки, связанные с Unix лишь косвенно (QNX, Syllable), или несвязанные вообще (вплоть до Windows NT/2000/XP).

Чтобы прояснить вопрос взаимоотношений UNIX, Unix и POSIX, придется немного углубиться в историю. Собственно, история этого вопроса подробно рассмотрена в соответствующей главе книги "Свободный Unix: Linux, FreeBSD и другие" (в ближайшее время выходит в издательстве БХВ-Петербург) и в статьях по истории Linux и BSD-систем.

Операционная система  Unix (точнее, ее первый вариант) была разработана сотрудниками Bell Labs (подразделения компании AT&T) в 1969-1971 годах. Первые ее авторы - Кен Томпсон и Деннис Ричи, - делали это исключительно для собственных целей, в частности, для того, чтобы можно было развлекаться любимой игрой StarTravel. И по ряду юридических причин сама компания не могла использовать ее как коммерческий продукт. Однако практическое применение Unix нашлось довольно быстро. Во-первых, она использовалась в Bell Labs для подготовки разного рода технической (в том числе патентной) документации. А во-вторых, на Unix базировалась коммуникационная система UUCP (Unix to Unix Copy Programm -программа копирования из Unix в Unix).

Другая сфера применения Unix в 70-х - начале 80-х годов прошлого века, оказалась совсем необычной. А именно, в исходных текстах она распространялась среди научных учреждений, ведущих работы в области Computer Science. Целью такого распространения (оно не было вполне свободным в нынешнем понимании, но фактически оказывалось весьма либеральным) были: образование и исследования в вышеуказанной области знаний.

Наибольшую известность  получила система BSD Unix, созданная в Университете Беркли, Калифорния. Которая, постепенно освобождаясь от проприетарного кода первозданной Unix, в конце концов, после драматических перипетий (подробно описанных здесь), дала начало современным свободным BSD-системам - FreeBSD, NetBSD и другим.

Одним из наиболее важных результатов  работы университетских хакеров  оказалось (1983 год) внедрение в Unix поддержки протокола TCP/IP, на котором основывалась тогдашняя сеть ARPANET (и который стал основой основ современного Интернета). Это стало препосылкой к доминированию Unix во всех сферах, связанных со Всемирной Сетью. И это оказалось следующим практическим применением этого семейства операционок- к тому времени о единой Unix говорить уже не приходилось. Потому что она, как было сказано ранее, обособились две ее ветки - происходящая от первозданной UNIX (со временем она получила имя System V). С другой же стороны, System V легла в основу тех разнообразных проприетарных UNIX'ов, которые, собственно, и имели юридическое право претендовать на это имя.

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

Именно на стандарты POSIX опирался Линус Торвальдс, создавая "с нуля" (то есть не используя ранее существовавшего кода) свою операционную систему - Linux. А та, быстро и успешно освоив традиционные сферы применения Unix-систем (разработка софта, коммуникации, Интернет), со временем открыла для них и новую- настольные пользовательские платформы общего назначения. Что и обеспечило ее популярность в народе - популярность, превосходящую таковую всех прочих Unix-систем, вместе взятых, как проприетарных, так и свободных.

Далее речь пойдет о работе в Unix-системах в самом широком  смысле этого слова, без учета  всякого рода торговых марок и  прочих юридических заморочек. Хотя основные примеры, относящиеся к приемам работы, будут взяты из области свободных их реализаций -Linux, в меньшей степени FreeBSD, и еще в меньшей - из прочих BSD-систем.

 

Где взять бесплатный Unix?

FreeBSD База -www.freebsd.org;

Обратиться можно на www.sco.com

 

Основная часть. (ОписаниеUnix).

1. Основные понятия Unix

Unix базируется на двух основных понятиях: "процесс" и "файл". Процессы являют собой динамическую сторону системы, это субьекты; а файлы - статическую, это обьекты действия процессов. Почти весь интерфейс взаимодействия процессов с ядром и друг с другом выглядит как запись/чтение файлов. Хотя надо добавить такие вещи, как сигналы, разделяемая память и семафоры.

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

 

2. Файловая  система

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

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

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

 

2.1 Типы файлов

Файлы бывают следующих типов:

обычный файл прямого доступа;

директория (файл, содержащий имена и идентефикаторы других файлов);

символьный линк (строка с именем другого файла);

блочное устройство (диск или  магнитная лента);

последовательное устройство (терминалы, последовательные и параллельные порты; диски и магнитные ленты  тоже имеют интерфейс последовательного  устройства)

поименованный канал.

 

Специальные файлы, предназначенные  для работы с устройствами как правило сосредоточены в директории "/dev". Вот некоторые из них (в номинации FreeBSD):

tty* - терминалы,в т.ч.: ttyv<цифра> - виртуальная консоль;

ttyd<цифра>- DialIn терминал (обычно последовательный порт);

cuaa<цифра>- DialOut линия

ttyp<цифра>- сетевой псевдо-терминал;

tty - терминал, с которым ассоциирована задача;

wd* - жесткие диски и их подразделы, в т.ч.: wd<цифра> - жесткий диск;

wd<цифра>s<цифра>- партиция этого диска (именуемая здесь "slice");

wd<цифра>s<цифра><буква>- раздел партиции;

fd<цифра>[<буква>]- floppy-диск;

rwd*, rfd* - то же самое, что wd* и fd*, но с последовательным доступом;

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

В отличие от DOS, в котором полное имя файла выглядит как "диск:\путь\имя", и RISC-OS, в которой оно выглядит "-файловая_система-диск:$.путь.имя" (что вообще говоря имеет свои преимущества), Unix использует прозрачную нотацию в виде"/путь/имя". Корень отсчитывается от раздела, с которого было загружено ядро Unix. Если необходимо использовать другой раздел (а на загрузочном разделе как правило находится только самое необходимое для загрузки), используется команда `mount /dev/файл_раздела директория`. При этом файлы и поддиректории, ранее находившиеся в этой директории, становятся недоступными, пока раздел не будет размонтирован (естественно, все нормальные люди используют для монтирования разделов пустые директории). Производить монтирование и размонтирование имеет право только супервизор.

При запуске каждый процесс  может расчитывать, что для него уже открыты три файла, которые ему известны как стандартный ввод stdin по дескриптору 0; стандартный выводstdout по дескриптору 1; и стандартный вывод stderr по дескриптору 2. При регистрации в системе, когда пользователь вводит имя и пароль, а ему запускается shell, все трое направлены на /dev/tty; позже любой из них может быть перенаправлен в любой файл.

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