Реферат: Операционная система Unix

Федеральноеагентство по образованию

Ростовская-на-Донугосударственная академия

Сельскохозяйственногомашиностроения

Кафедра: «Информационныхи управляющих систем»

Контрольнаяработа

пооперационным системам

на тему:

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

Студентки заочного факультета ИС

Группы ЗИС 3–1

Руководитель:

кандидат технических наук доцент

 

 

 

 

 

 

 

 

 

г. Ростов-на-Дону

2008-09 уч.г.


Содержание

 

Введение

1. История создания,назначение

2. Функциональныехарактеристики

3. Особенности архитектурыОС UNIX

4. Способы управленияпроцессами и ресурсами

5. Условия эксплуатации

6. Достоинства инедостатки ОС UNIX

Заключение

Список использованнойлитературы


Введение

UNIX появилась в 1969 году.За 30 с лишним лет система стала довольно популярной и получила распространениена машинах с различной мощностью обработки, от микропроцессоров до больших ЭВМ,обеспечивая на них общие условия выполнения программ. Система делится на двечасти. Одну часть составляют программы и сервисные функции – это делаетоперационную среду UNIX такой популярной; данная часть ОС легко доступнапользователям, она включает такие программы, как командный процессор, обменсообщениями, пакеты обработки текстов и системы обработки исходных текстовпрограмм. Другая часть включает в себя собственно операционную систему,поддерживающую эти программы и функции.

UNIX – традиционносетевая операционная система.


1. Историясоздания, назначение

 

UNIX зародился влаборатории Bell Labs фирмы AT&T более 30 лет назад. В то время Bell Labs занималасьразработкой многопользовательской системы разделения времени MULTICS(Multiplexed Information and Computing Service) совместно с MIT и GeneralElectric, но эта система потерпела неудачу. Bell Labs отказалась от участия впроекте MULTICS, что дало возможность одному из ее исследователей, КенуТомпсону, заняться поисковой работой в направлении улучшения операционной средыBell Labs. Томпсон, а также сотрудник Bell Labs Денис Ритчи и некоторые другиеразрабатывали новую файловую систему, многие черты которой вели своепроисхождение от MULTICS. Для проверки новой файловой системы Томпсон написалядро ОС и некоторые программы для компьютера GE-645, который работал подуправлением мультипрограммной системы разделения времени GECOS. У Кена Томпсонабыла написанная им еще во времена работы над MULTICS игра «SpaceTravel» — «Космическое путешествие». Он запускал ее накомпьютере GE-645, но она работала на нем не очень хорошо из-за невысокойэффективности разделения времени. Кроме этого, машинное время GE-645 стоилослишком дорого. В результате Томпсон и Ритчи решили перенести игру на машинуPDP-7 фирмы DEC, имеющую 4096 18-битных слов, телетайп и хороший графическийдисплей. Но у PDP-7 было неважное программное обеспечение, и, закончив переносигры, Томпсон решил реализовать на PDP-7 ту файловую систему, над который онработал на GE-645. Из этой работы и возникла первая версия UNIX. Уже тогда она включалахарактерную для современной UNIX файловую систему, основанную на индексныхдескрипторах inode, имела подсистему управления процессами и памятью, а такжепозволяла двум пользователям работать в режиме разделения времени. Система быланаписана на ассемблере. Имя UNIX (Uniplex Information and Computing Services)было дано ей одним сотрудником Bell Labs, Брайаном Керниганом,

Первыми пользователямиUNIX'а стали сотрудники отдела патентов Bell Labs, которые нашли ее удобнойсредой для создания текстов. Большое влияние на судьбу UNIX оказала перепись еена языке высокого уровня С, разработанного Денисом Ритчи специально для этихцелей. Это произошло в 1973 году, UNIX насчитывал к этому времени уже 25инсталляций, и в Bell Labs была создана специальная группа поддержки UNIX.

После описания системыТомпсоном и Ритчи в компьютерном журнале CACM в 1974 г. UNIX получил широкое распространение. ОС стала востребована в университетах, так как для нихона поставлялась бесплатно вместе с исходными кодами на С. Широкоераспространение эффективных C-компиляторов сделало UNIX уникальной для тоговремени ОС из-за возможности переноса на различные компьютеры. Университетывнесли значительный вклад в улучшение UNIX и дальнейшую его популяризацию. Ещеодним шагом на пути к признанию UNIX, как стандартизованной среды сталаразработка Денисом Ритчи библиотеки ввода-вывода stdio. Благодаря использованиюэтой библиотеки для компилятора С, программы для UNIX стали легко переносимыми.

ОС UNIX являетсяинтерактивной операционной системой, это традиционно сетевая операционнаясистема.

 

2.Функциональные характеристики

 

К основным функциям ядраОС UNIX принято относить следующие:

1)        Инициализациясистемы — функция запуска и раскрутки. Ядро системы обеспечивает средствораскрутки (bootstrap), которое обеспечивает загрузку полного ядра в памятькомпьютера и запускает ядро.

2)        Управлениепроцессами и нитями — функция создания, завершения и отслеживания существующихпроцессов и нитей («процессов», выполняемых на общей виртуальнойпамяти). Поскольку ОС UNIX является мультипроцессной операционной системой,ядро обеспечивает разделение между запущенными процессами времени процессора(или процессоров в мультипроцессорных системах) и других ресурсов компьютерадля создания внешнего ощущения того, что процессы реально выполняются впараллель.

3)        Управлениепамятью — функция отображения практически неограниченной виртуальной памятипроцессов в физическую оперативную память компьютера, которая имеетограниченные размеры. Соответствующий компонент ядра обеспечивает разделяемоеиспользование одних и тех же областей оперативной памяти несколькими процессамис использованием внешней памяти.

4)        Управлениефайлами — функция, реализующая абстракцию файловой системы, — иерархиикаталогов и файлов. Файловые системы ОС UNIX поддерживают несколько типовфайлов. Некоторые файлы могут содержать данные в формате ASCII, другие будутсоответствовать внешним устройствам. В файловой системе хранятся объектныефайлы, выполняемые файлы и т.д. Файлы обычно хранятся на устройствах внешнейпамяти; доступ к ним обеспечивается средствами ядра. В мире UNIX существуетнесколько типов организации файловых систем. Современные варианты ОС UNIXодновременно поддерживают большинство типов файловых систем.

5)        Коммуникационныесредства — функция, обеспечивающая возможности обмена данными между процессами,выполняющимися внутри одного компьютера (IPC — Inter-Process Communications),между процессами, выполняющимися в разных узлах локальной или глобальной сетипередачи данных, а также между процессами и драйверами внешних устройств.

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


3.Особенности архитектуры ОС UNIX

 

Архитектура ОС UNIX –многоуровневая (рис.1). На нижнем уровне, непосредственно над оборудованием,работает ядро операционной системы. Функции ядра доступны через интерфейссистемных вызовов, образующих второй уровень. На следующем уровне работаюткомандные интерпретаторы, команды и утилиты системного администрирования,коммуникационные драйверы и протоколы, — все то, что обычно относят ксистемному программному обеспечению. Наконец, внешний уровень образуютприкладные программы пользователя, сетевые и другие коммуникационные службы,СУБД и утилиты.

4. Способыуправления процессами и ресурсами

Файлы и процессы,являются центральными понятиями модели операционной системы UNIX. Рисунок 1.2представляет блок-схему ядра системы, отражающую состав модулей, из которыхсостоит ядро, и их взаимосвязи друг с другом. Слева изображена файловаяподсистема, а справа подсистема управления процессами – две главные компонентыядра.


точка пересечения

Библиотеки

  Уровень пользователя

Уровень ядра

/>


Уровень ядра

технические средства (аппаратура)

  аппаратуры

Рисунок.1.2 Блок-схемаядра операционной системы

Обращения к операционнойсистеме выглядят так же, как обычные вызовы функций в программах на языке Си, ибиблиотеки устанавливают соответствие между этими вызовами функций иэлементарными системными операциями. При этом программы на ассемблере могутобращаться к операционной системе непосредственно, без использования библиотекисистемных вызовов. Программы часто обращаются к другим библиотекам, таким какбиблиотека стандартных подпрограмм ввода-вывода, достигая тем самым болееполного использования системных услуг. Для этого во время компиляции библиотекисвязываются с программами и частично включаются в программу пользователя. Совокупностьобращений к операционной системе разделена на те обращения, которыевзаимодействуют с подсистемой управления файлами, и те, которые взаимодействуютс подсистемой управления процессами. Файловая подсистема управляет файлами,размещает записи файлов, управляет свободным пространством, доступом к файлам ипоиском данных для пользователей. Процессы взаимодействуют с подсистемойуправления файлами, используя при этом совокупность специальных обращений коперационной системе, таких как open (для того, чтобы открыть файл на чтениеили запись),close, read, write, stat (запросить атрибуты файла), chown(изменить запись с информацией о владельце файла) и chmod (изменить правадоступа к файлу).

Подсистема управленияфайлами обращается к данным, которые хранятся в файле, используя буферныймеханизм, управляющий потоком данных между ядром и устройствами внешней памяти.Буферный механизм, взаимодействуя с драйверами устройств ввода-вывода блоками,инициирует передачу данных к ядру и обратно. Драйверы устройств являются такимимодулями в составе ядра, которые управляют работой периферийных устройств.Устройства ввода-вывода блоками относятся программы пользователя к типузапоминающих устройств с произвольной выборкой; их драйверы построены такимобразом, что все остальные компоненты системы воспринимают эти устройства какзапоминающие устройства с произвольной выборкой. Например, драйверзапоминающего устройства на магнитной ленте позволяет ядру системы восприниматьэто устройство как запоминающее устройство с произвольной выборкой. Подсистемауправления файлами также непосредственно взаимодействует с драйверами устройств«неструктурированного» ввода-вывода, без вмешательства буферногомеханизма. К устройствам неструктурированного ввода-вывода, иногда именуемымустройствами посимвольного ввода-вывода (текстовыми), относятся устройства,отличные от устройств ввода-вывода блоками.

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

Примерами обращений коперационной системе, используемых при управлении процессами, могут служитьfork (создание нового процесса), exec (наложение образа программы навыполняемый процесс), exit (завершение выполнения процесса), wait(синхронизация продолжения выполнения основного процесса с моментом выхода изпорожденного процесса), brk (управление размером памяти, выделенной процессу) иsignal (управление реакцией процесса на возникновение экстраординарных событий.

Модуль распределенияпамяти контролирует выделение памяти процессам. Если в какой-то момент системаиспытывает недостаток в физической памяти для запуска всех процессов, ядропересылает процессы между основной и внешней памятью с тем, чтобы все процессыимели возможность выполняться. Существует два способа управления распределениемпамяти: выгрузка (подкачка) и замещение страниц. Программу подкачки иногданазывают планировщиком, т.к. она «планирует» выделение памятипроцессам и оказывает влияние на работу планировщика центрального процессора. «Планировщик»планирует очередность выполнения процессов до тех пор, пока они добровольно неосвободят центральный процессор, дождавшись выделения какого-либо ресурса, илипока ядро системы не выгрузит их после того, как их время выполнения превыситзаранее определенный квант времени. Планировщик выбирает на выполнение готовыйк запуску процесс с наивысшим приоритетом; выполнение предыдущего процесса(приостановленного) будет продолжено тогда, когда его приоритет будет наивысшимсреди приоритетов всех готовых к запуску процессов. Существует несколько формвзаимодействия процессов между собой, от асинхронного обмена сигналами особытиях до синхронного обмена сообщениями.

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

 

5. Условияэксплуатации

 

UNIX — многопользовательская операционная система. Пользователи, занимающиеся общимизадачами, могут объединяться в группы. Каждый пользователь обязательно принадлежитк одной или нескольким группам. Все команды выполняются от имени определенногопользователя, принадлежащего в момент выполнения к определенной группе.

В многопользовательскихсистемах необходимо обеспечивать защиту объектов (файлов, процессов), принадлежащиходному пользователю, от всех остальных. ОС UNIX предлагает базовые средствазащиты и совместного использования файлов на основе отслеживания пользователя игруппы, владеющих файлом, трех уровней доступа (для пользователя-владельца, дляпользователей группы-владельца, и для всех остальных пользователей) и трехбазовых прав доступа к файлам (на чтение, на запись и на выполнение). Базовыесредства защиты процессов основаны на отслеживании принадлежности процессовпользователям.

Для отслеживания владельцевпроцессов и файлов используются числовые идентификаторы. Идентификаторпользователя и группы — целое число (обычно) в диапазоне от 0 до 65535.Присвоение уникального идентификатора пользователя выполняется при заведениисистемным администратором нового регистрационного имени. Значенияидентификатора пользователя и группы — не просто числа, которые идентифицируютпользователя, — они определяют владельцев файлов и процессов. Средипользователей системы выделяется один пользователь — системный администраторили суперпользователь, обладающий всей полнотой прав на использование иконфигурирование системы. Это пользователь с идентификатором 0 ирегистрационным именем root.

При представленииинформации человеку удобнее использовать вместо соответствующих идентификаторовсимвольные имена — регистрационное имя пользователя и имя группы. Соответствиеидентификаторов и символьных имен, а также другая информация о пользователях игруппах в системе (учетные записи), как и большинство другой информации оконфигурации системы UNIX, по традиции, представлена в виде текстовых файлов.Эти файлы — /etc/passwd, /etc/group и /etc/shadow.

 

6. Достоинстваи недостатки

 

Широкое распространениеUNIX породило проблему несовместимости его многочисленных версий. Дляпользователя весьма неприятен тот факт, что пакет, купленный для одной версииUNIX, отказывается работать на другой версии UNIX. Периодически делались иделаются попытки стандартизации UNIX, но они пока имеют ограниченный успех.Процесс сближения различных версий UNIX и их расхождения носит циклическийхарактер. Перед лицом новой угрозы со стороны какой-либо другой операционнойсистемы различные производители UNIX-версий сближают свои продукты, но затемконкурентная борьба вынуждает их делать оригинальные улучшения и версии сноварасходятся. В этом процессе есть и положительная сторона — появление новых идейи средств, улучшающих как UNIX, так и многие другие операционные системы,перенявшие у него за долгие годы его существования много полезного. Наибольшеераспространение получили две несовместимые линии версий UNIX: линия AT&T — UNIX System V, и линия университета Berkeley-BSD. Многие фирмы на основе этихверсий разработали и поддерживают свои версии UNIX: SunOS и Solaris фирмы SunMicrosystems, UX фирмы Hewlett-Packard, XENIX фирмы Microsoft, AIX фирмы IBM,UnixWare фирмы Novell (проданный теперь компании SCO), и список этот можно ещедолго продолжать.

Наибольшее влияние наунификацию версий UNIX оказали такие стандарты как SVID фирмы AT&T, POSIX,созданный под эгидой IEEE, и XPG4 консорциума X/Open. В этих стандартахсформулированы требования к интерфейсу между приложениями и ОС, что даетвозможность приложениям успешно работать под управлением различных версий UNIX.

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


Заключение

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

Можно выделить нескольковетвей ОС UNIX, различающихся не только реализацией, но временами интерфейсамии семантикой (хотя, по мере развития процесса стандартизации, эти различиястановятся все менее значительными). Сегодня популярен новый свободнораспространяемый вариант ОС UNIX, называемый FreeBSD. Ведутся работы над болееразвитыми версиями BSDNet.


Списокиспользованной литературы

1.   История иобщая характеристика семейства операционных систем UNIX www.osys.ru/

2.   Эбен М.,Таймэн Б. «FreeBSD. Энциклопедия пользователя» — К: ООО «ТИД «ДС», 2002.

3.   КерниганБ.В., Пайк Р. «UNIX — универсальная среда программирования» — М.: Финансы истатистика, 1992.

4.   С.Д.Кузнецов, «Операционная система UNIX» — статья в Интернете.

еще рефераты
Еще работы по информатике, программированию