Введение
В данной курсовой работе дается общий обзор операционной системы UNIX. Прежде всего, рассматривается история системы, а также причины ее популярности в настоящее время.
Все пользователи ОС UNIX так или иначе наверняка работают с файлами. В данной работе рассматривается древовидная файловая структура UNIX.
Затем следует описание структуры ядра данной операционной системы, модели безопасности, вводятся понятия диспетчеризации, прерываний, системного времени (таймера), кеша, а также рассматривается проблема построения многопроцессорных систем.
Операционная система UNIX - это многопользовательская система с разделением времени. Сеанс в этой системе всегда начинается с авторизации. Причем, это правило универсально и не зависит от того, где именно (к примеру, на рабочей станции / интернет - сервере) запускается версия UNIX. В этом и заключается одно из ключевых отличий UNIX от других операционных систем. Одно из, но не единственное.UNIX находится на вершине самых популярных в мире операционных систем благодаря тому, что ее сопровождает и распространяет большое число компаний. Существуют версии UNIX для многих систем, начиная от персонального компьютера, до суперкомпьютеров, таких как Cray Y-MP.
Цель курсовой работы состоит в изучении общей структуры системы, выделении и развитии ее ключевых особенностей и свойств, понимание которых позволит сложить комплексное впечатление о системе UNIX.
Задачи:- раскрыть понятие операционной системы, ее функции и отличия от других;
- рассмотреть архитектуру ядра системы;- ознакомиться с классической моделью безопасности UNIX и UNIX – like ОС;
- рассмотреть технические особенности построения многопроцессорных систем на базе рассматриваемой системы;
Определение
UNIX(читаетсяю́никс) — семейство переносимых,многозадачныхимногопользовательскихоперационных систем.
История
Система Multics. В 1965 году компания Bell Telephone Laboratories, объединив собственные труды с фирмой General Electric и проектом MAC Массачусетского научно-технического ВУЗа, обратилась к исследованию новейшей операционной системы, получившей имя Multics. Перед системой Multics были поставлены разнообразные цели, среди которых - обеспечить одновременный доступ к ресурсам ЭВМ множества пользователей, обеспечить необходимую скорость вычислений и хранение данных и дать возможность пользователям при необходимости коллективно использовать данные. Многие создатели, позднее участвовавшие в разработке ранних версий системы UNIX, приняли участие в работе над системой Multics в организации Bell Laboratories. В попытке усовершенствовать среду программирования, Кен Томпсон, Дэннис Риччи и некоторые другие сотрудники Исследовательского центра по информатике создали на бумаге проект файловой системы, который позднее получил развитие в ранних версиях UNIX.
Позднее, Томпсон получил доступ к малоиспользуемой машине под названием PDP – 7, что позволило ему изучить ее и выполнить свой проект системы, включавший в себя начальную версию файловой системы, систему обеспечения управления процессами и скудный набор утилит. Новая система получила название UNIX (аналогия с Multics). Придумал это название еще один сотрудник Исследовательского центра – Брайн Керниган.
Для работы в реальном проекте (обработка текстов) в 1971 году система была перенесена на машину PDP – 11.
В 1973 году система была переписана с использованием языка С, имеющего возможность генерировать машинный код, объявлять типы о определять структуру данных. Популярность системы быстро росла и уже к 1977 году количество машин, работавших под ее управлением, приближалось к 500.
UNIX оказалась простой и понятной для большинства разработчиков, благодаря чему начали развиваться самостоятельные направления системы. В течение 1977 – 82 годов фирма BellLab., объединив несколько наиболее удачных вариантов, выпустила UNIX версии 3. С 1983 года начала распространяться версия 5.
Причины популярности системы UNIX
Популярность и востребованность системы во многом объясняются следующими особенностями:
· Система написана на языке высокого уровня, благодаря чему ее легко читать, понимать, изменять и переносить на другие машины. Первый вариант системы на Си имел на 20-40 % больший объем и работал медленнее по сравнению с вариантом на ассемблере, однако преимущества использования языка высокого уровня намного перевешивают недостатки.
· Наличие довольно простого пользовательского интерфейса, в котором имеется возможность предоставлять все необходимые пользователю услуги.
· Наличие элементарных средств, позволяющих создавать сложные программы из более простых.
· Наличие иерархической файловой системы, легкой в сопровождении и эффективной в работе.
· Обеспечение согласования форматов в файлах, работа с последовательным потоком байтов, благодаря чему облегчается чтение прикладных программ.
· Наличие простого, последовательного интерфейса с периферийными устройствами.
· Система является многопользовательской, многозадачной; каждый пользователь может одновременно выполнять несколько процессов.
Последовательность и простота вообще являлись и являются характерными для систем UNIX и UNIX – like.
Структура системы
Система UNIX не монолитна. Операционная система взаимодействует с аппаратурой непосредственно, обеспечивая обслуживание программ и их независимость от деталей аппаратной конфигурации. Если представить систему состоящей из пластов, в ней можно выделить системное ядро, изолированное от пользовательских программ. Поскольку прикладные программы не зависят от аппаратного устройства исполняющей их машины, то они могут быть перенесены из одной системы в другую (учитывая, что в этих программах не предусмотрена работа с некоторым точно определенным оборудованием).
Программы, подобные командному процессору shell, взаимодействуют с ядром при помощи хорошо определенного набора обращений к операционной системе. Обращения к операционной системе понуждают ядро к выполнению различных операций, которых требует вызывающая программа, и обеспечивают обмен данными между ядром и программой. Другие прикладные программы располагаются выше указанных программ, на верхнем уровне.
Многие прикладные программы, редакторы, программные пакеты и т.п. со временем становятся синонимичны понятию “система UNIX”. Однако, следует иметь ввиду, что все они пользуются ресурсами программ нижнего уровня и, в конечном счете, ядра. Т.е. в каноническом, наиболее правильном варианте понимания, к словам “система UNIX” относится именно ядро.
Первоначальная загрузка
Для того, чтобы перевести систему из неактивное состояние в активное, администратор выполняет процедуру "начальной загрузки". На разных машинах эта процедура имеет свои особенности, однако во всех случаях она реализует одну и ту же цель: загрузить копию операционной системы в основную память машины и запустить ее на исполнение.
В системе UNIX процедура начальной загрузки заканчивается считыванием с диска в память блока начальной загрузки (нулевого блока). Программа, содержащаяся в этом блоке, загружает из файловой системы ядро ОС (например, из файла с именем "/unix" или с другим именем, указанным администратором). После загрузки ядра системы в память, ядро запускается на выполнение.
Файловая система UNIX
Рассмотрим ключевые особенности данной системы, в первую очередь полезные для общего понимания UNIX/
Итак, файлы характеризуются:
· Иерархической структурой,
· согласованной обработкой массивов данных,
· возможностью создания и удаления файлов,
· динамическим расширением файлов,
· защитой информации в файлах,
· трактовкой периферийных устройств как файлов.
Файловая система представляет собой дерево, с единственной основой – корнем (root), обозначающимся как “/”.
Каждая вершина в древовидной структуре файловой системы, кроме листьев, является каталогом файлов, а файлы, соответствующие дочерним вершинам, являются либо каталогами, либо обычными файлами, либо файлами устройств.
Каталоги похожи на обычные файлы в том смысле, что система представляет информацию в каталоге набором байтов, но эта информация включает в себя имена файлов в каталоге в объявленном формате.
Права доступа
Права доступа определяются установкой трех остальных флагов (битов разрешения) на файлах для 3 – х действий: чтение, запись, выполнение. (rwe) Делается эта установка для 3 – х разных случаев: для владельца файла, для общего пользования и для прочих случаев.
Устройства
Для пользователя система UNIX трактует устройства так, как если бы они были файлами. Устройства, для которых назначены специальные файлы устройств, становятся вершинами в структуре файловой системы. Обращение программ к устройствам имеет тот же самый синтаксис, что и обращение к обычным файлам; семантика операций чтения и записи по отношению к устройствам в большой степени совпадает с семантикой операций чтения и записи обычных файлов. Способ защиты устройств совпадает со способом защиты обычных файлов.
Процессы
Программой называется исполняемый файл, а процессом называется последовательность операций программы или часть программы при ее выполнении. В системе UNIX может одновременно выполняться множество процессов (эту особенность иногда называют мультипрограммированием или многозадачным режимом), при чем их число логически не ограничивается, и множество частей программы (такой как copy) может одновременно находиться в системе. Различные системные операции позволяют процессам порождать новые процессы, завершают процессы, синхронизируют выполнение этапов процесса и управляют реакцией на наступление различных событий. Благодаря различным обращениям к операционной системе, процессы выполняются независимо друг от друга.
Возможный набор состояний процесса содержится в следующем перечне:
1. Процесс выполняется в режиме задачи.
2. Процесс выполняется в режиме ядра.