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

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

Рубрика Программирование, компьютеры и кибернетика
Вид лабораторная работа
Язык русский
Дата добавления 18.04.2014
Размер файла 2,8 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

НЕКОММЕРЧЕСКОЕ АКЦИОНЕРНОЕ ОБЩЕСТВО

АЛМАТИНСКИЙ УНИВЕРСИТЕТ ЭНЕРГЕТИКИ И СВЯЗИ

Факультет радиотехники и связи

Кафедра АЭС

Отчет по лабораторным работам

по дисциплине «Организация операционных систем»

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

Выполнил: студент гр. СИБ-12-02

Кайрболатулы Р.

Проверила: доцент Актаева А.У.

Алматы 2014

Содержание

1. Цель работы

2. Ход работы

3. Контрольные вопросы

1. Цель работы

Лабораторная работа

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

Цель: изучить: Краткую историю ОС семейства UNIX, и их структуру.

Более чем за четверть века существования операционная система UNIX из экспериментальной разработки исследовательской лаборатории превратилась в одну из ведущих многопользовательских ОС. К настоящему времени создано несколько десятков различных клонов ОС UNIX: AIX, BSD, HP / UX, Ultrix, SINIX, SVR 4, SunOS, Solaris, LINUX и многие другие. ОС семейства UNIX широко используются в различных областях с повышенными требованиями к надежности функционирования системы. По своей идеологии ОС семейства UNIX достаточно полно обеспечивают безопасность системы при помощи стандартных механизмов защиты. Достаточно отметить, что значительная часть реализаций ОС UNIX либо сертифицирована по классу безопасности С2 (или более высокому), либо совместима с ним. unix многопользовательский операционный

2. Ход работы

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

Режим Обычный предназначен для создания и быстрой и простой настройки новой виртуальной машины. Режим Выборочный предназначен для создания и детальной настройки новой виртуальной машины.

Появится окно, где нужно выбрать совместимое оборудование виртуальной машины: аппаратные функции, необходимые для нее. Дальше выбираем способ установки гостевой ОС. Установим Alt Linux 6.0 с использованием образа диска (iso).

Далее выбираем размер жесткого диска виртуальной машины, а также в каком виде у нас будет хранится операционная система. Размер жесткого диска я выбрал 20гб, так как это были рекомендуемые требования.

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

В последствие появляется главное меню ОС Linux

Выбираем пункт «Установка» и начнется процесс установки.

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

Как только загрузка будет завершена, выходит окно с вводом пользователя и пароля.

Рабочий стол выглядит, как показано ниже на рисунке

Далее студент может ознакомиться с интерфейсом и интересующие его программами, касающиеся безопасности и пользовательским интерфейсом.

Command man

Команда man - универсальный справочник

Команды cd - смены текущей директории и ls - просмотра состава директории.

Команда cat и создание файла.

Простейшие команды для работы с файлами - cp, rm, mkdir, mv.

Command rm

Command cp

Перенаправление вывода

Перенаправление ввода

Система Midnight Commander - mc. Встроенный mc редактор и редактор joe. Пользователь и группа. Команды chown и chgrp. Права доступа к файлу.

Система Midnight Commander - mc. Встроенный mc редактор и редактор joe

Наверное, вы уже убедились в том, что работа в UNIX исключительно на уровне командного интерпретатора и встроенных редакторов далека от уже привычных для нас удобств. Но не все так плохо. Существуют разнообразные пакеты, облегчающие задачу пользователя в UNIX. К таким пакетам следует отнести Midnight Commander - аналог программ Norton Commander для DOS и FAR дляWindows 9x и NT - со своим встроенным редактором, запускаемый командой mc, и экранный редактор joe. Информацию о них можно найти в UNIX Manual. Большими возможностями обладают многофункциональные текстовые редакторы, например, emacs3.

Войдите в mc и попробуйте перемещаться по директориям, создавать и редактировать файлы.

Пользователь и группа. Команды chown и chgrp. Права доступа к файлу.

Команда ls с опциями -al.

3. Контрольные вопросы

1. Краткая история ОС семейства UNIX, и их структура.

Начать все же стоит не с описания системы, а с истории - с зарождения UNIX (см. http://www.bell-labs.com/history). Дело было в конце 60-х, когда вся патриотическая общественность Соединенных Штатов была решительно настроена догнать и перегнать СССР в области вычислительной техники. С этой целью государственные и военные структуры США вкладывали немалые деньги в наукоемкие проекты: разработку новых вычислительных систем, средств хранения и передачи данных.

Star Trek. Разработкой такой системы занималась тогда исследовательская лаборатория Bell Labs, подразделение американской телефонной корпорации AT&T. Средства "холодной войны" позволили привлекать к этому делу людей весьма сведущих, в том числе из такого солидного научного центра, как Массачусетский технологический институт (MIT).

Небольшая группа исследователей, главным образом Кен Томпсон (Ken Thompson) и Деннис Ричи (Dennis Ritchie), продолжала искать новые пути. Изредка они составляли проекты исследований, которые в Bell Labs поддерживали, за исключением того, что вычислительную машину на эти проекты не выделяли.

Активно участвующий в работе группы Брайан Керниган (Brian Kernigan) придумал системе имя - UNIX. Имя получилось звучное - United States of America или United Kingdom) .

2. Принципы проективной системы UNIX

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

Принцип информационной открытости ( И ) соблюдается в UNIX по максимуму. Все, что можно документировать, документируется. Если к какому-то средству документации нет или она недостаточно толковая, такое средство выпадает из системы, им практически невозможно пользоваться. Документация ведется не только на средства ( утилиты, системные и библиотечные вызовы), но и на структуру системных файлов, работу с устройствами и многое другое. Подробнее об информационном наполнении UNIX рассказано в лекции 6. Большинство программных продуктов для UNIX и основательная часть базовых дистрибутивов UNIX -подобных систем распространяется в исходных текстах. Это означает, что любому квалифицированному пользователю доступна полная информация о внутреннем устройстве инструмента, которым он пользуется, и любой может исправить или улучшить его по своему усмотрению.

Принцип минимизации затрат ( З ) последовательно реализован в интерфейсе командной строки. В соответствии с этим принципом пользователь всякий раз решает некую мыслительную задачу, с тем чтобы быстро реализовать ее решение на выбранном им командном языке (чаще всего это shell, но для иных задач полезнее sed или awk, а для задач побольше - perl,python, tcl, ruby и т. п.); при этом дальнейшее использование этого решения можно целиком доверить компьютеру (написать сценарий ). Как следует из З, такие решения не всегда можно воспринять "с первого взгляда", их надо "читать", с другой стороны, читать их приходится несравненно реже, чем последовательно писать ( прямое построение проекта). В системных текстовых редакторах, о которых речь пойдет в лекциях 15 и 16, принцип З выдержан наиболее последовательно. Большинстводемонов и утилит UNIX пользуется для настройки своей работы текстовыми файлами, т. е. управляется проектами.

Принцип умопостижимости контекста ( У ) включает правило, которому очень тяжело следовать: "7+-2" (см. главу 2). Добавляя в систему из семи элементов еще пять, мы перегружаем контекст. По-хорошему, после этого требуется реструктуризация перегруженного уровня системы, а это может повлечь за собой изменение структуры всей системы (что есть, в сущности, балансировка Б-дерева). Поэтому однотипных частей обычно набирается до дюжины, прежде чем разработчики решаются всерьез заняться реструктуризацией. В UNIX редко встречаются перегруженные неструктурированные инструментарии: если человек создает какой-либо предмет для того, чтобы им пользоваться, он делает его удобным.

3. Магическое число семь плюс или минус два

Джордж Миллер во время своей работы в Bell Laboratories провел ряд экспериментов, целью которых был анализ памяти операторов. В результате опытов он обнаружил, что кратковременная память человека способна запоминать в среднем девять двоичных чисел, восемь десятичных чисел, семь букв алфавита и пять односложных слов -- то есть человек способен одновременно помнить 7 ± 2 элементов.

Таким образом, кратковременная память -- «кошелёк», в который можно «положить» одновременно семь «монет». Причём память не пытается анализировать смысл информации, важны лишь внешние, физические характеристики, то есть не важно, какие «монеты» находятся в «кошельке» -- доллар или цент, главное чтобы их было семь. Если количество элементов больше семи (в крайнем случае, девяти), то мозг разбивает элементы на группы таким образом, чтобы количество запоминаемых элементов было от 5 до 9.

Неожиданно, аналогичное правило было обнаружено для муравьёв: они способны запоминать и передавать сообщения длиной до 7 бит

4. Системные вызовы и библиотека libc.

libc: ISO 8859.1, , YP функции, функции кодирования, некоторые базовые теневые программы (по умолчанию не добавлены), ..., старые программы для совместимости с libcompact (по умолчанию не запущены), сообщения об ошибках на английском, французском и немецком, bsd 4.4lite-совместимые программы работы с экраном в libcourses, bsd-совместимые программы в libbsd, программы работы с экраном в libtermcap, поддержка баз данных в libdbm, математика в libm, точка запуска программ в crt0.o (entry to execute programs in crt0.o ??? (-авторский знак)), байт sex-информации в libeee (??? объясните мне, лучше, что это такое, вместо того, чтобы ржать - автор), профилирование пространства пользователя в libgmon.

Автор надеется, что кто-нибудь из разработчиков libc напишет эту главу как положено. Все, что автор может на данный момент сказать, это то, что исполняемый формат a.out собираются поменять на elf (executable and lincable format - исполняемый и собираемый формат), что подразумевает изменения и в разделяемых библиотеках. В настоящий момент поддерживаются оба формата.

Большая часть libc находится под лицензией GNU (Library GNU Public License). Хотя попадаются и специальные исключения, например crt0.o. Для коммерческого использования это означает запрет на статически линкуемые программы. Динамически линкуемые программы, однако, тоже являются специальными исключениями.

5.Понятие логина и пароля

Логин - это не считающаяся секретной записи очерёдности знаков применяемых в информационно-коммуникационной системе для представления личности пользователя и информация о нем.

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

7. Команда cat и создание файла.Простейшие команды для работы с файлами - cp, rm, mkdir, mv. История редактирования файлов - ed, vi. Права доступа к файлу

Убедитесь, что вы находитесь в своей домашней директории, и создайте с помощью команды cat новый текстовый файл. Просмотрите его содержимое.

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

Для создания новой поддиректории используется команда mkdir (сокращение от make directory). В простейшем виде командавыглядит следующим образом:

mkdir имя_директории

где имя_директории - полное или относительное имя создаваемой директории. У команды mkdir имеется набор опций, описание которых можно просмотреть с помощью утилиты man .

История редактирования файлов - ed, vi

Полученные знания уже позволяют нам достаточно свободно оперировать файлами. Но что нам делать, если потребуется изменить содержимое файла, отредактировать его?

Когда появились первые варианты операционной системы UNIX, устройства ввода и отображения информации существенно отличались от существующих сегодня. На клавиатурах присутствовали только алфавитно-цифровые клавиши (не было даже клавиш курсоров), а дисплеи не предполагали экранного редактирования. Поэтому первый редактор операционной системы UNIX - редактор ed - требовал от пользователя строгого указания того, что и как будет редактироваться с помощью специальных команд. Так, например, для замены первого сочетания символов "ra" на "ru" в одиннадцатой строке редактируемого файла потребовалось бы ввести команду

11 s/ra/ru

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

9. Перенаправление ввода и вывода.

В системе по-умолчанию всегда открыты три "файла" -- stdin (клавиатура), stdout (экран) и stderr (вывод сообщений об ошибках на экран). Эти, и любые другие открытые файлы, могут быть перенапрвлены. В данном случае, термин "перенаправление" означает получить вывод из файла, команды, программы, сценария или даже отдельного блока в сценарии (см. Пример 3-1 иПример 3-2) и передать его на вход в другой файл, команду, программу или сценарий.

С каждым открытым файлом связан дескриптор файла. [1] Дескрипторы файлов stdin, stdout и stderr -- 0, 1 и 2, соответственно. При открытии дополнительных файлов, дескрипторы с 3 по 9 остаются незанятыми. Иногда дополнительные дескрипторы могут сослужить неплохую службу, временно сохраняя в себе ссылку на stdin, stdout или stderr. [2] Это упрощает возврат дескрипторов в нормальное состояние после сложных манипуляций с перенаправлением и перестановками

10. Команда man - универсальный справочник.

По ходу изучения операционной системы UNIX вам часто будет требоваться информация о том, что делает та или иная команда или системный вызов, какие у них параметры и опции, для чего предназначены некоторые системные файлы, и каков их формат и т.д. Мы постарались, по мере возможности, занести для большинства используемых в курсе команд и системных вызовов их описания в наш гипертекст, куда вы можете попасть по соответствующим ссылкам (как, например, здесь для команды pwd), однако иногда для полной информации мы отсылаем вас к UNIX Manual - руководству по операционной системе UNIX. К счастью, большинство информации в UNIX Manual доступно для пользователей в интерактивном режиме с помощью утилиты man. Особенно повезло тем пользователям, которые работают в системе ASPLinux, поскольку в ней многие описания переведены на русский язык (правда, встречаются опечатки)!

Пользоваться утилитой man достаточно просто - наберите команду

man имя,

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

Пролистать страницу полученного описания, если оно все не поместилось на экране, можно нажав клавишу <пробел>. Для прокрутки одной строки воспользуйтесь клавишей <Enter>. Вернуться на страницу назад позволит одновременное нажатие клавиш <Ctrl> и <b>. Выйти из режима просмотра информации можно нажатием клавиши <q>.

Иногда имена команд интерпретатора и системных вызовов или какие-либо еще имена совпадают. Тогда для правильного выбора интересующей вас информации необходимо задать утилите man категорию, к которой относится интересующая вас информация (номер раздела). Деление информации по категориям может слегка отличаться от одной версии UNIX к другой. В Linux, например, принято следующее разделение:

1. Исполняемые файлы или команды интерпретатора.

2. Системные вызовы.

3. Библиотечные функции.

4. Специальные файлы (обычно файлы устройств) - что это такое, вы узнаете на семинарах 13-14.

5. Формат системных файлов и принятые соглашения.

6. Игры (обычно отсутствуют).

7. Макропакеты и утилиты - такие как сам man.

8. Команды системного администратора.

9. Подпрограммы ядра (нестандартный раздел).

Если вы знаете раздел, к которому относится информация, то утилиту man можно вызвать в Linux с дополнительным параметром

man номер_раздела имя.

В других операционных системах этот вызов может выглядеть иначе. Для получения точной информации о разбиении на разделы, форме указания номера раздела и дополнительных возможностях утилиты man наберите команду

man man

Жаль, что даже в ASPLinux эта информация пока на английском языке

11. Система Midnight Commander - mc. Встроенный mc редактор и редактор joe. Пользователь и группа. Команды chown и chgrp.

Наверное, вы уже убедились в том, что работа в UNIX исключительно на уровне командного интерпретатора и встроенных редакторов далека от уже привычных для вас удобств. Но не все обстоит так плохо. Существует разнообразные пакеты, облегчающие жизнь пользователя в UNIX. К таким пакетам следует отнести Midnight Commander - аналог программ Norton Commander для DOS и FAR для Windows 9x и NT - со своим встроенным редактором, запускаемый командой mc, и экранный редактор joe. Информацию о них вы можете найти в UNIX Manual. Более удобно пользоваться многофункциональным текстовым редактором, например, emacs.

Войдите в mc и попробуйте в нем походить по директориям, посоздавать и поредактировать файлы.

12. Команда ls с опциями -al. Использование команд chmod и umask.

Посмотреть подробную информацию о файлах в некоторой директории, включая имена хозяина, группы хозяев и права доступа, можно с помощью уже известной нам команды ls с опциями -al. В выдаче этой команды третья колонка слева содержит имена пользователей хозяев файлов, а четвертая колонка слева - имена групп хозяев файла. Самая левая колонка содержит типы файлов и права доступа к ним. Тип файла определяет первый символ в наборе символов. Если это символ 'd' - то тип файла - директория, если там стоит символ '-', то это - регулярный файл. Следующие три символа определяют права доступа для хозяина файла, следующие три - для пользователей, входящих в группу хозяев файла, и последние три - для всех остальных пользователей. Наличие символа (r, w или x), соответствующего праву, для некоторой категории пользователей означает, что данная категория пользователей обладает этим правом.

Вызовите команду ls -al для своей домашней директории и проанализируйте ее выдачу. Хозяин файла может изменять права доступа к нему, пользуясь командой chmod.

Создайте новый файл и посмотрите на права доступа к нему, установленные системой при его создании. Чем руководствуется операционная система при выставлении этих прав? Для этого она использует маску создания файлов для программы, которая файл создает. Изначально для программы-оболочки она имеет некоторое значение по умолчанию. Изменить текущее значение маски для программы-оболочки или посмотреть его можно с помощью команды umask. Если вы хотите изменить его для Midnight Commander, необходимо выйти из mc, выполнить команду umask и запустить mc снова. Маска создания файлов не сохраняется между сеансами работы в системе. При новом входе в систему значение маски снова будет установлено по умолчанию.

13. Системные вызовы getuid и getgid.

Узнать идентификатор пользователя, запустившего программу на исполнение, - UID и идентификатор группы, к которой он относится, - GID можно с помощью системных вызовов getuid()и getgid(), применив их внутри этой программы.

14. Компиляция программ на языке C в UNIX и запуск их на счет

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

gcc имя_исходного_файла.

Если программа была написана без ошибок, то компилятор создаст исполняемый файл с именем a.out. Изменить имя создаваемого исполняемого файла можно, задав его с помощью опции-o :

gcc имя_исходного_файла -o имя_исполняемого_файла.

Компилятор gcc имеет несколько сотен возможных опций. Получить информацию о них вы можете в UNIX Manual.

"Узнайте у своего системного администратора", как называется компилятор для вашей операционной системы и какие опции он имеет.

Запустить программу на исполнение можно, набрав имя исполняемого файла и нажав клавишу <Enter>.

Размещено на Allbest.ru


Подобные документы

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

    реферат [28,1 K], добавлен 05.04.2010

  • История развития ОС UNIX, ее достоинства. Управление компьютером под управлением UNIX. Интерпретация командной строки и структура файловой системы. Команды управления процессами. Средства системного администрирования и учетные записи пользователей.

    презентация [78,1 K], добавлен 12.05.2014

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

    презентация [6,1 K], добавлен 23.10.2013

  • Сущность и принцип работы операционной системы, правила и преимущества ее использования. Возможности различных операционных систем, их сильные и слабые стороны. Сравнительная характеристика систем Unix и Windows NT, их потенциал и выполняемые задачи.

    реферат [10,5 K], добавлен 09.10.2009

  • История развития и отличительные признаки UNIX-системы. Основы информационной безопасности и особенности настройки исследуемой операционной системы, ее достоинства, недостатки и базовые права доступа. Общая характеристика безопасности ядра UNIX.

    реферат [599,5 K], добавлен 18.09.2013

  • Описание файловой системы Unix. Работа основных команд ls, cmp, comm, их ключей. Разработка программного продукта, работающего в среде Windows и представляющего собой эмулятора командного процессора операционной системы Unix. Выбор средств реализации.

    курсовая работа [183,0 K], добавлен 29.04.2015

  • Основные структуры процессов в операционной системе Unix. Возможные состояния процесса в Unix и способы перехода между ними. Планирование и выполнение процессов. Различия между родительским и дочерним процессом. Ожидание завершения и выполнения процесса.

    курсовая работа [673,0 K], добавлен 24.02.2012

  • Особенности и свойства операционной системы UNIX, ее история, файловая структура, функции и отличия от других. Архитектура ядра системы. Понятия диспетчеризации, прерываний, системного времени (таймера), кеша. Проблема построения многопроцессорных систем.

    курсовая работа [35,6 K], добавлен 10.05.2011

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

    методичка [36,4 K], добавлен 02.12.2009

  • Unix - полноценная, изначально многопользовательская, многозадачная и многотерминальная операционная система. Особенности архитектуры Unix, ее два кита - файлы и процессы. Ядро операционной системы, ее файловая система, работа устройств, драйверы.

    реферат [1,0 M], добавлен 22.03.2016

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.