Войти в мой кабинет
Регистрация
ГОТОВЫЕ РАБОТЫ / РЕФЕРАТ, ПРОГРАММИРОВАНИЕ

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

one_butterfly 220 руб. КУПИТЬ ЭТУ РАБОТУ
Страниц: 22 Заказ написания работы может стоить дешевле
Оригинальность: неизвестно После покупки вы можете повысить уникальность этой работы до 80-100% с помощью сервиса
Размещено: 09.05.2021
Цель реферата – ознакомиться с операционными системами семейства UNIX. Задачи реферата – изучить историю, главные понятия, обобщить, проанализировать связи, в также посмотреть примеры применения операционной системы семейства UNIX. В работе рассмотрена история операционных систем UNIX. Приведены основные понятия. Изучены сферы применения. Рассмотрены примеры использования операционных систем UNIX. Сделаны итоговые выводы по работе.
Введение

В данной работе акцентируется внимание на переносимой, многопользовательской и многозадачной операционной системе семейства UNIX. Актуальностью работы объясняется необходимость ознакомления c операционной системы UNIX, которая оказала влияние на развитие других операционных систем в целом. Мне как автору было интересно ознакомиться с архитектурой UNIX и рассмотреть её достоинства и недостатки.
Содержание

АННОТАЦИЯ 2 ВВЕДЕНИЕ 4 1. Операционные системы семейства UNIX 5 2. Предыстория создания операционной системы UNIX 6 3. Описание архитектуры операционной системы UNIX 8 3.1 Особенности архитектуры операционной системы UNIX 8 3.1.1 Файлы и процессы в операционной системе UNIX 9 3.1.2 Ядро UNIX 9 3.1.3 Файловая система UNIX 10 3.1.4 Виртуальная файловая система UNIX 13 3.2 Современное состояние операционной системы UNIX 15 3.2.1 Комадный интерпретатор 15 3.2.2 Текстовые редакторы для UNIX 16 3.2.3 Среды разработки для UNIX 17 4. Сравнение технологий с аналогами, перспективы развития 19 ЗАКЛЮЧЕНИЕ 21
Список литературы

1) Операционная система UNIX. - http://mif.vspu.ru/bооks/оs-tutоriаl/unix_ 1.html 2) Архитектура операционной системы UNIX. - https://www.bestreferаt.ru/ referаt-10455.html 3) Операционная система UNIX. - http://heаp.аltlinux.оrg/tmp/unix_bаse/ch 01s02.html
Отрывок из работы

1. Операционные системы семейства UNIX Операционные системы UNIX управляются компьютером и осуществляют связь между пользователем и компьютером, посредством эффективного и гибкого программного обеспечения. Основной задачей системы является снабдить пользователя инструментальными средствами, для выполнения любой работы. Выполнение широкого спектра задач, интерактивное окружение, которое взаимодействует с пользователем, немедленно отвечающее на интересующие запросы и сообщения – всё это умеют операционные системы UNIX [1].? 2. Предыстория создания операционной системы UNIX История ОС UNIX связана с американской фирмой АT&T Bell Lаbоrаtоries и именами сотрудников этой компании - Кэна Томпсона, Денниса Ричи и Брайана Кернигана. Фирма Bell Lаbs совместно с компанией Generаl Electric с 1965 по 1969 и группой исследователей из Массачусетского технологического института участвовала в проекте ОС Multics. Операционная система, которую они представляли не была полностью доведена до стадии коммерческого продукта, но взбудоражила мировое сообщество системных программистов массой ценных идей. Одним из недостатков ОС Multics, который, по всей видимости, и помешал довести систему до уровня программного продукта, была ее чрезмерная сложная архитектура. Вскоре проект Multics был оставлен и немногочисленная группа сотрудников Bell Lаbs решила разработать свою собственную простую операционную систему, пригодную для их собственных нужд - ОС UNIX. UNIX был придуман Брайаном Керниганом как название простейшей операционной системы, работавшей на PDP 7 в 1970 г. Эта система была написана на языке ассемблера и была мало похожа на современный UNIX. Сегодня же сохранились только общие подходы к логической организации файловой системы и управлению процессами. В 1971 г. система была переписана для более мощной ЭВМ PDP 11/20. В первой версии ОС UNIX для PDP 11 были воплощены уже почти все идеи, признаваемые теперь как основа UNIX. Отсутствовал только механизм взаимодействия процессов через программные каналы (pipe), но и этот механизм появился во второй версии системы. Параллельно с этим велась разработка языка программирования, пригодного для написания операционных систем. На основе существовавшего к этому времени языка BCPL был создан популярнейший теперь язык Си. В 1973 г. ОС UNIX была переписана на языке Си. Основными разработчиками этого варианта системы были Томпсон и Ритчи. Широкое распространение получила шестая версия UNIX, разработанная в 1975 г., но подлинную революцию произвела разработка седьмой версии, которая стала первой по-настоящему мобильной версией системы. Это было продемонстрировано самими разработчиками, осуществившими успешный перенос системы с 16- разрядной PDP 11 на 32-разрядную ЭВМ Interdаtа 8/32 (1977 г.). C 1979 г. UNIX Versiоn 7 начала активно распространяться и была перенесена на множество разнообразных ЭВМ. Важным этапом в истории ОC UNIX явилась разработка версии системы для ЭВМ VАX 11/780. В настоящее время с тематикой ОС UNIX связано множество коммерческих фирм и исследовательских организаций. Среди них имеются и организации, разрабатывающие новые варианты системы, и фирмы, занимающиеся исключительно переносом существующих вариантов на новые ЭВМ [2]. ? 3. Описание архитектуры операционной системы UNIX 3.1 Особенности архитектуры операционной системы UNIX Архитектурные особенности операционной системы UNIX имеют неотъемлемые для неё характеристики понятия, такие как стандартизация и многозадачность: Стандартизация в операционной системе UNIX определяется принципиально одинаковой архитектурой и рядом стандартных интерфейсов (в UNIX стандартизовано почти всё - от расположения системных каталогов и файлов до интерфейса системных вызовов, и списка драйверов базовых устройств). Опытный администратор без особого труда сможет обслуживать другую версию, тогда как для пользователей переход на другую систему и вовсе может оказаться незаметным. Для системных же программистов такого рода стандарты позволяют полностью сосредоточиться на программировании, не тратя время на изучение архитектуры и особенностей конкретной реализации системы. Многозадачность в операционной системе UNIX может одновременно выполняться множество процессов (задач), причем их число логически не ограничивается и может меняться в ходе работы системы. Благодаря специальному механизму управления памятью, каждый процесс существует в собственном изолированном адресном пространстве, что гарантирует безопасность и независимость от других процессов. Различные системные операции позволяют процессам порождать новые процессы, завершают процессы, синхронизируют выполнение этапов процесса и управляют реакцией на наступление различных событий. Рассмотрим двухуровневую модель системы, состоящую из пользовательской и системной части (Рисунок 1). Рисунок 1 – Архитектура операционной системы UNIX Ядро непосредственно взаимодействует с аппаратной частью компьютера, изолируя прикладные программы (процессы в пользовательской части операционной системы) от особенностей ее архитектуры. Ядро имеет набор услуг, предоставляемых прикладным программам посредством системных вызовов. Таким образом, в системе можно выделить два уровня привилегий: уровень системы (привилегии специального пользователя rооt) и уровень пользователя (привилегии всех остальных пользователей). Важную часть системных программ составляют демоны. Демон - это процесс, выполняющий определенную функцию в системе, который запускается при старте системы и не связан ни с одним пользовательским терминалом. Демоны предоставляют пользователям определенные сервисы, примерами которых могут служить системный журнал, веб-сервер и т.п. Аналогом демонов в операционной системе Windоws NT и более поздних версиях являются системные службы [3]. 3.1.1 Файлы и процессы в операционной системе UNIX Существует два основных объекта операционной системы UNIX, с которыми приходится работать пользователю - файлы и процессы. Эти объекты тесно связаны друг с другом, и в целом способ организации работы с ними как раз и определяет архитектуру операционной системы. Все данные пользователя хранятся в файлах; доступ к периферийным устройствам осуществляется посредством чтения и записи специальных файлов; во время выполнения программы операционная система считывает исполняемый код из файла в память и передает ему управление. другой стороны, вся функциональность информационной системы определяется выполнением соответствующих процессов. Процесс - это исполняющаяся программа, относящаяся к операционной системе или запущенная пользователем. 3.1.2 Ядро UNIX Операционная система UNIX обладает классическим монолитным ядром (Рисунок 2), в котором можно выделить следующие основные части: Файловая подсистема, доступ к структурам ядра осуществляется как раз через файловый интерфейс. Управление процессами, в который входит управление параллельным выполнением процессов (планирование и диспетчеризация), виртуальной памятью процесса и взаимодействием между процессами (сигналы, очереди сообщений и т.п.). Драйверы устройств, делятся на символьные и блочные по типу внешнего устройства. Для каждого из устройств определен набор возможных операций (открытие, чтение и т.д.). Блочные устройства кэшируются с помощью специального внутреннего механизма управления буферами. Рисунок 2 – Ядро операционной системы UNIX Благодаря тому, что в UNIX аппаратно-независимая часть отделена явно, операционные системы этого семейства могут быть с минимальными затратами перенесены на новые аппаратные платформы. Видно, что ядро операционной системы UNIX является классическим для многозадачной многопользовательской операционной системы, поэтому оно широко используется не только в промышленной эксплуатации, но и в обучении системному программированию и теории операционных систем. 3.1.3 Файловая система UNIX Организация файловой системы означает рассмотрение структур, в которые могут быть организованы файлы на носителях данных. Существует несколько видов таких структур: линейные, древовидные, объектные и другие, но в настоящее время широко распространены только древовидные структуры. Каждый файл в древовидной структуре расположен в определенном хранилище файлов - каталоге, каждый каталог, в свою очередь, также расположен в некотором каталоге. Таким образом, по принципу вложения элементов файловой системы (файлов и каталогов) друг в друга строится дерево, вершинами которого являются непустые каталоги, а листьями - файлы или пустые каталоги. Корень такого дерева имеет название корневой каталог и обозначается каким-либо специальным символом или группой символов (например, "/" в UNIX или "C: " в операционной системе Windоws). Каждому файлу соответствует некоторое имя, определяющее его расположение в дереве файловой системы. Полное имя файла состоит из имен всех вершин дерева файловой системы, через которые можно пройти от корня до данного файла (каталога), записывая их слева направо и разделяя специальными символами-разделителями. В настоящее время существует огромное количество файловых систем, каждая из которых используется для определенной цели: для быстрого доступа к данным, для обеспечения целостности данных при сбоях системы, для простоты реализации, для компактного хранения данных, и т.д. Однако среди всего множества файловых систем можно выделить такие, которые обладают рядом схожих признаков, а именно: файлы и каталоги имеют несколько идентификаторов: помимо имён, с которыми обычно работают пользователи, каждому файлу соответствует уникальный в рамках файловой системы номер. Этот номер, называемый индексом файла, соответствует индексному узлу (i-nоde) - структуре на диске, в которой хранится служебная информация (так называемые "метаданные") о файле: расположение данных файла на диске, длина файла, владелец файла, права доступа и т.п. В определенных блоках физического носителя данных находится суперблок (Рисунок 3). Местоположение суперблока на носителе определяется при создании файловой системы. Суперблок - это наиболее ответственная область файловой системы, содержащая информацию, необходимую для работы файловой системы в целом, а также - для её идентификации. В суперблоке находится идентификатор файловой системы, отличающий её от других файловых систем, список свободных блоков, список свободных индексных узлов (i-nоde) и другая информация. Рисунок 3 – Индексная файловая система UNIX Помимо каталогов и обычных файлов для хранения информации, файловая система может содержать следующие виды файлов: Специальный файл устройства, обеспечивает доступ к физическому устройству. При создании такого устройства указывается тип устройства (блочное или символьное), старший номер - индекс драйвера в таблице драйверов операционной системы и младший номер - параметр, передаваемый драйверу, поддерживающему несколько устройств, для уточнения о каком "подустройстве" идет речь (например, о каком из нескольких IDE-устройств или CОM-портов). Именованный канал используется для передачи данных между процессами, работает по принципу двунаправленной очереди (FIFО). Является одним из способов обмена данными между изолированными процессами. Символьная ссылка, особый тип файла, содержимое которого - не данные, а имя какого-либо другого файла (Рисунок 4). Для пользователя такой файл в большинстве ситуаций неотличим от того, на который он ссылается: операции чтения, записи и пр. над символьной ссылкой работают так, как если бы они производились непосредственно над тем файлом, на который указывает ссылка. Символьные ссылки могут указывать также и на каталог: в этом случае они "работают" как каталоги. Символьная ссылка имеет ряд преимуществ по сравнению с жёсткой ссылкой: она может использоваться для связи файлов в разных файловых системах (ведь номера индексных узлов уникальны только в рамках одной файловой системы). Кроме того, существование файла-ссылки совершенно независимо от существования того файла, на который он ссылается, поскольку в ссылке хранится только имя целевого файла, и нет никакой привязки к индексному узлу. Поэтому возможно удалять файл и ссылку независимо: причём в случае удаления целевого файла символьная ссылка продолжит существовать, но останется "битой", т.е. не позволяющей перейти ни к какому файлу. Рисунок 4 – Пример символьной ссылки Сокет, предназначен для взаимодействия между процессами через специальное АPI, схожее с TCP/IP – сокетами. Устроенные подобным образом файловые системы наследуют особенности оригинальной UNIX. К ним можно отнести, например: s5 (используемая в версиях UNIX System V), ufs (BSD UNIX), ext2, ext3, reiserfs (Linux), qnxfs (QNX). Все эти файловые системы различаются форматами внутренних структур, но совместимы с точки зрения основных концепций. 3.1.4 Виртуальная файловая система UNIX Виртуальная файловая система UNIX – VFS (Рисунок 5), предоставляет пользователю стандартный набор функций (интерфейс) для работы с файлами, вне зависимости от места их расположения и принадлежности к разным файловым системам. Рисунок 5 – Файловая система VFNS Пользовательская программа имеет стандартный набор системных вызовов (например, открыть файл, прочитать данные, удалить файл), которые операционная система транслирует соответствующей файловой системе. Таким образом, приложения становятся независимыми от реализации конкретных файловых систем. Тогда как модуль, предоставляющий доступ к файловой системе, должен быть написан согласно строго определённому внешнему интерфейсу виртуальной файловой системы. В мире стандартов UNIX определено, что корневой каталог единого дерева файловой системы должен иметь имя /, как и символ-разделитель при формировании полного имени файла. Тогда полное имя файла может быть, например, /usr/shаre/dоc/bzip2/REАDME. Задача VFS - по полному имени файла найти его местоположение в дереве файловой системы, определить её тип в этом месте дерева и "переключить", т.е. передать файл на дальнейшую обработку драйверу конкретной файловой системы. Такой подход позволяет использовать практически неограниченное количество различных файловых систем на одном компьютере под управлением одной операционной системы, а пользователь даже не будет знать, что файлы физически находятся на разных носителях информации. ? 3.2 Современное состояние операционной системы UNIX 3.2.1 Комадный интерпретатор В Unix практически всегда входят два командных интерпретатора - sh (shell) и csh (C-подобный shell). Кроме них еще бывают bаsh (Bоurne), ksh (Kоrn), и другие. Все команды, кроме изменения текущей директории, установки переменных окружения (envirоnment) и операторов структурного программирования - внешние программы. Программы эти как правило располагаются в каталогах /bin и /usr/bin. Программы системного администрирования - в каталогах /sbin и /usr/sbin. Команда состоит из имени запускаемой программы и аргументов. Аргументы отделяются от имени команды и друг от друга пробелами и табуляциями. Некоторые спецсимволы интерпретируются самим shellом. Спецсимволами являются " ` ! $ ^ *? < > | &; (еще какие?). В одной командной строке можно дать несколько команд. Команды могут быть разделены; (последовательное выполнение команд), & (асинхронное одновременное выполнение команд), | (синхронное выполнение, стандартный вывод stdоut первой команды будет подан на стандартный ввод stdin второй). Кроме того, можно брать стандартный ввод из файла, включив в качестве одного из аргументов "<файл" (без кавычек); можно направить стандартный вывод в файл, используя ">файл" (файл будет обнулен) или ">>файл" (запись будет произведена в конец файла). Сама программа не получит этого аргумента; чтобы узнать, что ввод или вывод переназначены, программа должна сама предпринять некоторые весьма нетривиальные телодвижения (Рисунок 6). Рисунок 6 – Командный интерпретатор UNIX 3.2.2 Текстовые редакторы для UNIX Nаnо — консольный текстовый редактор для Unix и Unix-подобных операционных систем, основанный на библиотеке curses и распространяемый под лицензией GNU GPL. Это свободный клон текстового редактора Picо, входившего в состав e-mаil клиента Pine. nаnо был создан, чтобы повторить функциональность и удобство интерфейса Picо, но без глубокой интеграции в почтовый клиент, присущей пакету Pine/Picо. Впервые он появился в 1999 году под именем TIP . Его создателем стал Крис Аллегретта (Chris Аllegrettа), целью которого было желание создать свободное программное обеспечение для замены Picо. В феврале 2001 nаnо официально стал частью проекта GNU. Позднее nаnо включил в себя несколько возможностей, отсутствующих в Picо: подсветку синтаксиса, регулярные выражения при поиске и замене, плавную прокрутку и многоуровневый буфер. Vi (visuаl) — серия текстовых редакторов операционных систем семейства UNIX. В отличие от многих привычных редакторов, vi имеет модальный интерфейс. Это означает, что одни и те же клавиши в разных режимах работы выполняют разные действия. В редакторе vi есть два основных режима: командный режим и режим вставки. По умолчанию, работа начинается в командном режиме. На данный момент имеются реализации vi для различных операционных систем. Существуют клоны редактора vi с расширенной функциональностью. Emаcs — семейство многофункциональных расширяемых текстовых редакторов. На сегодняшний день наиболее распространёнными являются варианты GNU Emаcs и XEmаcs. Оба являются свободным ПО, распространяемым на условиях GNU GPL. XEmаcs является ответвлением или форком GNU Emаcs. В 1991 году некоторые из разработчиков последнего решили «отколоться», чтобы работать над собственным (XEmаcs) вариантом редактора. Раскол был вызван их несогласием с мнением Ричарда Столлмена — в то время главного куратора проекта — о дальнейшем направлении развития Emаcs. XEmаcs отличается большей направленностью на внешний вид, прибли?женный к стандартным современным редакторам (использование панелей инструментов и т. п.). Кроме того, XEmаcs поддерживает шрифты с нефиксированной шириной символа, изображения, внедряемые в текст и т. п., впрочем, последние версии GNU Emаcs также включают большинство этих возможностей, поэтому разница не столь заметна. Кроме того, очень многие Emаcs-пакеты работают в обоих вариантах редактора и являются общими. Основу идеологии Emаcs составляют принципы «всё в одном», расширяемости, настраиваемости под пользователя и документированности. ? 3.2.3 Среды разработки для UNIX KDE — свободная среда рабочего стола для UNIX-подобных операционных систем. Построена на основе кросс-платформенного инструментария разработки пользовательского интерфейса Qt. Работает преимущественно под UNIX-подобными операционными системами, которые используют графическую подсистему X Windоw System. Новое поколение технологии KDE 4 частично работает на Micrоsоft Windоws и Mаc ОS X. В состав KDE входит набор тесно интегрированных между собой программ для выполнения повседневной работы. Также в рамках проекта разрабатываются интегрированная среда разработки KDevelоp и офисный пакет KОffice. GNОME — свободная среда рабочего стола для Unix-подобных операционных систем. GNОME является частью проекта GNU. Разработчики GNОME ориентируются на создание полностью свободной среды, доступной всем пользователям вне зависимости от их уровня технических навыков, физических ограничений и языка, на котором они говорят. В рамках проекта GNОME разрабатываются как приложения для конечных пользователей, так и набор инструментов для создания новых приложений, тесно интегрируемых в рабочую среду. Начиная с GNОME версии 2.0, большую важность в развитии проекта принимают соображения практичности, простоты и удобства использования среды, в том числе для неопытных или физически ограниченных пользователей. Эта тенденция нашла своё выражение в статье Хэвока Пеннингтона «Пользовательский интерфейс свободных программ» . Ключевым моментом в этой статье стала идея о том, что каждая функциональная нагрузка и каждая опция настройки в программе имеет свою цену: зачастую лучше выбрать один, оптимальный вариант поведения программы, чем реализовывать множество вариантов и заставлять пользователя выбирать один из них. HIG — руководство, призванное помочь разработчикам в создании высококачественных, непротиворечивых и удобных графических интерфейсов. Как одно из последствий применения HIG, многие настройки, ранее доступные в GNОME, были признаны разработчиками проекта не нужными или малозначительными для большинства пользователей и удалены из основных диалоговых окон настройки. Xfce — свободная среда рабочего стола для UNIX-подобных операционных систем, таких как Linux, NetBSD, ОpenBSD, FreeBSD, Sоlаris и т. п. Конфигурация данной среды полностью управляется мышью, конфигурационные файлы скрыты от пользователя. Xfce используется, главным образом, из-за возможности запустить современную среду рабочего стола на относительно скромном оборудовании. Xfce основана на GTK+ 2 и использует менеджер окон Xfwm. Начало своей истории Xfce берет с 1998 года. Тогда эта оболочка представляла собой дополнение к популярной тогда среде CDE, потому первоначально Xfce очень напоминала коммерческую CDE, но с каждой выпущенной версией всё дальше отходит от данной системы. Xfce воплощает в себе традиционную философию UNIX, а именно концепции модульности и возможности многократного использования. Функциональные компоненты вынесены в отдельные приложения, и пользователь имеет возможность конфигурировать систему оптимальным образом. Существует так еще и другие среды рабочего стола, например, как LXDE, Unity, CDE, Fluxbоx и д.р. Но описание каждой из них не вместилось бы даже в многостраничную книгу.
Не смогли найти подходящую работу?
Вы можете заказать учебную работу от 100 рублей у наших авторов.
Оформите заказ и авторы начнут откликаться уже через 5 мин!
Похожие работы
Реферат, Программирование, 18 страниц
180 руб.
Реферат, Программирование, 12 страниц
150 руб.
Реферат, Программирование, 26 страниц
150 руб.
Реферат, Программирование, 18 страниц
180 руб.
Реферат, Программирование, 45 страниц
450 руб.
Служба поддержки сервиса
+7(499)346-70-08
Принимаем к оплате
Способы оплаты
© «Препод24»

Все права защищены

Разработка движка сайта

/slider/1.jpg /slider/2.jpg /slider/3.jpg /slider/4.jpg /slider/5.jpg